:root{
  --bg:#10141a;--surface-low:#1c2026;--surface-mid:#262a31;--surface-high:#31353c;
  --surface-bright:#353940;--electric:#00ff9d;--electric-dim:#00e38b;
  --cyber:#306998;--cyber-light:#97cbff;--on-bg:#dfe2eb;--on-surface:#b9cbbc;
  --muted:#6b7280;--outline:#3b4a3f;--danger:#ff6b6b;--danger-bg:rgba(255,107,107,0.08);
  --warning:#fbbf24;--warning-bg:rgba(251,191,36,0.08);--info:#97cbff;
  --info-bg:rgba(151,203,255,0.06);--purple:#c084fc;
  /* compat aliases for JS */--grn:var(--electric);--red:var(--danger);--org:var(--warning);
  --blu:var(--cyber-light);--pur:var(--purple);--gry:var(--muted);--fg:var(--on-bg);
  --card:var(--surface-low);--cardh:var(--surface-mid);--bd:var(--outline);
  --grnd:rgba(0,255,157,0.1);--redd:var(--danger-bg);
}
[data-theme=light]{
  --bg:#f5f5f0;--surface-low:#ffffff;--surface-mid:#f0ede8;--surface-high:#e5e2dc;
  --surface-bright:#d9d6d0;--electric:#059669;--electric-dim:#047857;
  --cyber:#2563eb;--cyber-light:#3b82f6;--on-bg:#1a1d23;--on-surface:#4a5568;
  --muted:#9ca3af;--outline:#d1d5db;--danger:#dc2626;--danger-bg:rgba(220,38,38,0.06);
  --warning:#d97706;--warning-bg:rgba(217,119,6,0.06);--info:#2563eb;
  --info-bg:rgba(37,99,235,0.05);--purple:#7c3aed;
  --grn:var(--electric);--red:var(--danger);--org:var(--warning);
  --blu:var(--cyber-light);--pur:var(--purple);--gry:var(--muted);--fg:var(--on-bg);
  --card:var(--surface-low);--cardh:var(--surface-mid);--bd:var(--outline);
  --grnd:rgba(5,150,105,0.08);--redd:var(--danger-bg);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--on-bg);font-family:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
-webkit-font-smoothing:antialiased;min-height:100vh;padding:40px 24px 100px;line-height:1.5}
.wrap{max-width:720px;margin:0 auto}
h1{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;position:relative;z-index:25}
details.sec summary.sech{cursor:pointer;user-select:none}
details.sec summary.sech::-webkit-details-marker{color:var(--muted)}
details.sec[open] summary.sech{margin-bottom:10px}
.date{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);margin-bottom:28px;letter-spacing:.02em;text-transform:capitalize}
.btns{display:flex;gap:8px}
button{font-family:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--outline);
background:var(--surface-low);color:var(--on-bg);padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s ease}
button:hover{background:var(--surface-mid);border-color:var(--electric)}
button.pri{background:var(--electric);color:#10141a;border:none;font-weight:600}
button.pri:hover{background:var(--electric-dim)}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--electric);outline-offset:2px}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.hr{border:none;border-top:1px solid var(--outline);margin:32px 0}
.stat{background:var(--surface-low);border:none;border-radius:10px;padding:14px 18px;min-width:80px;cursor:pointer;transition:all .15s ease}
.stat:hover{background:var(--surface-mid);transform:translateY(-1px)}
.stat .n{font-size:1.5rem;font-weight:700;line-height:1;font-family:'JetBrains Mono',monospace}
.stat .l{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:6px;font-weight:500}
.stat.hoy .n{color:var(--danger)} .stat.q .n{color:var(--warning)} .stat.inbox .n{color:var(--cyber-light)}
.sec{margin-bottom:28px}
.sech{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;
text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}
.sech .c{margin-left:auto;font-size:11px;color:var(--muted);font-weight:400}
.sech .arrow{font-size:10px;transition:transform .15s ease;display:inline-block}
.sec[open] .sech .arrow{transform:rotate(90deg)}
.sec.hoy .sech{color:var(--danger)} .sec.h1-14 .sech{color:var(--warning)} .sec.h15-30 .sech{color:var(--cyber-light)}
.sec.h30 .sech{color:var(--purple)} .sec.sinf .sech{color:var(--muted)} .sec.inboxs .sech{color:var(--cyber-light)}
.sec.hoy{background:var(--danger-bg);border-radius:12px;padding:16px;margin-inline:-16px}
.zone-label{font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;
color:var(--muted);opacity:.5;margin:32px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--outline);text-align:center}
.row{display:flex;align-items:center;gap:10px;background:var(--surface-low);border:none;
border-radius:8px;padding:10px 14px;margin-bottom:4px;flex-wrap:wrap;row-gap:8px;transition:background .12s ease}
.row:hover{background:var(--surface-mid)}
.row input[type=checkbox]{width:18px;height:18px;accent-color:var(--electric);cursor:pointer;flex-shrink:0;order:0}
.row .t{flex:1 1 60%;font-size:14px;min-width:0;overflow-wrap:anywhere;cursor:text;order:1}
.row .meta{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);white-space:nowrap;order:2}
.row .meta.pj{color:var(--electric)}
.row .x{order:4;opacity:.4;padding:4px 8px;border:none;background:none;color:var(--muted);font-size:15px;transition:all .12s ease}
.row .x:hover{opacity:1;color:var(--danger)}
.datechip{order:3;margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;
padding:3px 8px;border-radius:12px;border:1px solid var(--outline);background:transparent;color:var(--muted);opacity:.7;transition:all .12s ease}
.datechip:hover{opacity:1;border-color:var(--electric)}
.datechip.set{color:var(--warning);border-color:rgba(251,191,36,.3)}
.datechip.od{color:var(--danger);border-color:rgba(255,107,107,.4);font-weight:600;opacity:1}
.tedit{flex:1 1 100%;order:1;min-width:0;background:var(--bg);border:1px solid var(--electric);color:var(--on-bg);
padding:7px 10px;border-radius:6px;font-size:14px;font-family:inherit}
@media(min-width:560px){.row .t{flex:1 1 auto}}
.add{display:flex;gap:6px;margin-top:10px;padding-bottom:28px;flex-wrap:wrap}
.add textarea,.add input[type=text]{flex:1;min-width:140px;background:var(--bg);border:1px solid var(--outline);
color:var(--on-bg);padding:10px 14px;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .15s ease;
resize:none;overflow:hidden;line-height:1.5}
.add textarea{min-height:42px;max-height:200px}
.add input[type=date]{background:var(--bg);border:1px solid var(--outline);color:var(--on-bg);
padding:9px 10px;border-radius:6px;font-size:13px;font-family:'JetBrains Mono',monospace}
.add textarea:focus,.add input:focus{outline:none;border-color:var(--electric)}
.cap-hint{width:100%;font-size:11px;color:var(--muted);margin-top:4px;opacity:0;max-height:0;overflow:hidden;transition:opacity .2s ease,max-height .2s ease}
.cap-hint.show{opacity:1;max-height:20px}
.cap-preview{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.cap-chip{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--surface-mid,#1c2026);color:var(--electric);font-weight:500}
.cap-history{margin-top:8px}
.cap-history .ch-item{font-size:11px;color:var(--muted);padding:2px 0;display:flex;gap:6px;align-items:center;opacity:.7}
.cap-history .ch-item:first-child{opacity:1}
.ch-time{font-family:JetBrains Mono,monospace;font-size:10px;min-width:40px}
.ch-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.undo-btn{background:none;border:1px solid var(--outline);color:var(--on-bg);padding:2px 8px;border-radius:4px;font-size:11px;margin-left:8px;cursor:pointer}
.undo-btn:hover{border-color:var(--electric);color:var(--electric)}
.ac-wrap{position:relative}
.ac-list{position:absolute;bottom:100%;left:0;right:0;background:var(--card);border:1px solid var(--outline);border-radius:10px;max-height:200px;overflow-y:auto;display:none;z-index:100;margin-bottom:6px;box-shadow:0 -4px 16px rgba(0,0,0,.3)}
.ac-list.show{display:block}
.ac-item{padding:12px 14px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--outline);display:flex;align-items:center;gap:8px;min-height:44px}
.ac-item:last-child{border-bottom:none}
.ac-item:hover,.ac-item.active{background:var(--surface-mid,#1c2026);color:var(--electric)}
.ac-item .ac-name{flex:1;font-weight:600}
.ac-item .ac-slug{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted);padding:2px 8px;background:var(--bg);border-radius:6px}
.note-modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px}
.note-modal.show{display:flex}
.note-modal-inner{background:var(--card);border:1px solid var(--outline);border-radius:12px;max-width:720px;width:100%;max-height:85vh;overflow-y:auto;position:relative;padding:24px}
.note-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px}
.note-modal-close:hover{color:var(--on-bg);background:var(--outline)}
.note-modal .note-body{font-size:14px;line-height:1.6}
#inbox-zone{margin-bottom:32px}
.ibrow{flex-wrap:wrap;row-gap:6px}
.ibrow .t{flex:1 1 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibrow .pbtns{display:flex;gap:4px;flex-wrap:wrap;order:3;margin-left:auto}
.ibrow .pbtns button{padding:5px 10px;font-size:10px;border-radius:8px;opacity:.6;font-weight:500}
.ibrow .pbtns button:hover{opacity:1}
.ilink{color:var(--cyber-light);text-decoration:none;border-bottom:1px dashed var(--cyber-light);word-break:break-all;font-size:13px;transition:opacity .12s ease}
.ilink:hover{border-bottom-style:solid;opacity:.8}
.proj{background:var(--surface-low);border:none;border-radius:8px;padding:14px 16px;margin-bottom:6px;transition:background .12s ease}
.proj:hover{background:var(--surface-mid)}
.proj .ph{display:flex;justify-content:space-between;gap:8px;cursor:pointer;user-select:none}
.proj .ph:hover{opacity:.8}
.proj .pt{font-weight:600;font-size:14px} .proj .ps{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);margin-left:8px}
.proj .pn{font-size:12px;color:var(--muted);margin-top:4px}
.ptasks{font-size:13px}
.empty{color:var(--muted);font-size:13px;padding:8px 2px}
.empty.win{color:var(--electric)}
.note{margin-bottom:8px;padding:12px 14px;background:var(--surface-low);border:none;border-radius:8px;transition:background .12s ease}
.note:hover{background:var(--surface-mid)}
.note a{color:var(--on-bg);font-size:14px;font-weight:600;text-decoration:none}
.note a:hover{color:var(--electric)}
.note-tag-new{background:var(--cyber);color:#fff;font-size:10px;padding:2px 6px;border-radius:4px}
.note-tag-read{background:var(--muted);color:#fff;font-size:10px;padding:2px 6px;border-radius:4px}
.note-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;font-size:14px;
text-decoration:none;opacity:.5;flex-shrink:0;order:1;border-radius:4px;transition:.15s}
.note-link:hover{opacity:1}
/* ── Note side panel ── */
.note-panel{position:fixed;top:0;right:0;width:520px;height:100vh;background:var(--bg);
border-left:1px solid var(--outline);z-index:1000;transform:translateX(100%);
transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.4)}
.note-panel.open{transform:translateX(0)}
.note-panel.fullscreen{width:100vw}
.note-panel-hdr{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--outline);flex-shrink:0;background:var(--bg);position:relative;z-index:20}
.note-panel-hdr .np-title{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px;background:transparent;border:none;border-bottom:1px dashed var(--outline);color:var(--on-bg);outline:none;transition:border-color .2s}
.note-panel-hdr .np-title:focus{border-bottom-color:var(--electric)}
.note-panel-hdr .np-title::placeholder{color:var(--muted)}
.note-panel-hdr button{background:none;border:1px solid var(--outline);color:var(--on-bg);padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer}
.note-panel-hdr button:hover{border-color:var(--electric);color:var(--electric)}
.note-panel-hdr .np-save{background:var(--electric);color:#10141a;border:none;font-weight:600}
.note-panel-hdr .np-save:hover{background:var(--electric-dim)}
.note-panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;position:relative}
.note-panel-body .EasyMDEContainer{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}
.note-panel-body .EasyMDEContainer .CodeMirror{flex:1;min-height:0;border:none;border-radius:0}
.note-panel-body .CodeMirror-scroll{padding:8px 12px}
.note-panel-body .editor-toolbar{flex:0 0 auto;position:relative!important;top:auto!important;z-index:7;border:none;border-bottom:1px solid var(--outline);background:var(--surface-low);padding:4px 8px;border-radius:0}
/* Preview (botón ojo): el .editor-preview-full es hijo de .CodeMirror y
   EasyMDE ya lo posiciona absolute cubriéndolo. NO tocar posición/offsets
   (un top> 0 dejaría ver el editor debajo) — solo color/padding del tema. */
.note-panel-body .editor-preview,.note-panel-body .editor-preview-full{background:var(--bg);color:var(--on-bg);padding:16px 18px}
.note-panel-body .editor-preview img,.note-panel-body .editor-preview-full img,.note-panel-body .CodeMirror img{max-width:100%;max-height:60vh;height:auto;border-radius:6px;object-fit:contain}
.note-panel-body .editor-preview h1,.note-panel-body .editor-preview h2,.note-panel-body .editor-preview h3,.note-panel-body .editor-preview p,.note-panel-body .editor-preview ul,.note-panel-body .editor-preview ol{margin-left:0}
.note-panel-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;display:none}
.note-panel-overlay.show{display:block}
@media(max-width:600px){.note-panel{width:100vw}}
.datemenu{position:fixed;z-index:50;background:var(--surface-low);border:1px solid var(--outline);border-radius:10px;
padding:6px;box-shadow:0 16px 48px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:2px;min-width:160px}
.datemenu button{text-align:left;background:none;border:none;padding:8px 12px;border-radius:6px;font-size:13px}
.datemenu button:hover{background:var(--surface-mid);border:none}
.datemenu .rmd{color:var(--danger)}
.datemenu label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:4px 8px}
.datemenu input[type=date]{flex:1;background:var(--bg);border:1px solid var(--outline);color:var(--on-bg);
border-radius:6px;padding:5px;font-size:12px;font-family:'JetBrains Mono',monospace}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);
background:var(--electric);color:#10141a;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;
transition:transform .3s ease;z-index:9999}
.toast.show{transform:translateX(-50%) translateY(0)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--surface-high);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}
@media(pointer:coarse){
  .row input[type=checkbox]{width:24px;height:24px}
  .row .x{opacity:.6;padding:10px 12px;font-size:18px}
  .datechip{padding:6px 10px;opacity:.8}
  .ibrow .pbtns button{padding:8px 12px}
  button{padding:10px 14px}
  .add textarea{padding:12px 14px;min-height:48px}
}
