:root{--navy:#1B2B4B;--navy-l:#2A3F6B;--navy-ll:#3D5A94;--bg:#F0F3F8;--card:#FFFFFF;--ink:#1B2B4B;--muted:#5A6680;--faint:#9AA3B8;--line:#E2E8F0;--line-2:#EEF1F7;--corp:#0E7C86;--corp-bg:#E2F0F1;--corp-d:#0A5D64;--int:#6B4EBA;--int-bg:#EDE8F8;--int-d:#4E3490;--green:#1A8A5A;--green-bg:#E3F4EC;--warn:#B96E22;--warn-bg:#FBF0E1;--red:#C0392B;--red-bg:#FBEDEB;--f:var(--font-jakarta,"Plus Jakarta Sans",system-ui,sans-serif);--mono:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);--r:8px;--r-lg:12px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--f);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.topnav{background:#0f2d5e;color:#fff;padding:12px 16px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,.18)}.crumb,.topnav{display:flex;align-items:center}.crumb{font-size:12px;color:rgba(255,255,255,.45);gap:6px}.screen{padding:28px 24px 60px;max-width:1100px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-head h1{font-size:20px;font-weight:700;color:var(--ink)}.page-head p{font-size:13px;color:var(--muted);margin-top:2px}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));grid-gap:16px;gap:16px}.ev-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;transition:box-shadow .15s,border-color .15s;overflow:hidden;display:flex;flex-direction:column}.ev-card:hover{border-color:#B0BFDA;box-shadow:0 4px 16px rgba(27,43,75,.1)}.ev-card .ec-top{padding:16px 18px 12px;flex:1 1;display:flex;flex-direction:column}.ev-card .ec-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;display:inline-block}.badge.corp{color:var(--corp-d);background:var(--corp-bg)}.badge.int{color:#1B5FA8;background:rgba(27,95,168,.12);border:1px solid rgba(27,95,168,.3)}.ev-card h2{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:8px}.ev-card .ec-meta{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.ev-card .ec-foot{padding:11px 18px;border-top:1px solid var(--line-2);background:#FAFBFD;display:flex;align-items:center;justify-content:space-between}.ev-card .ec-foot span{font-size:12px;font-weight:600;color:var(--navy-ll)}.ec-del{font-size:11px;color:var(--faint);cursor:pointer;padding:3px 6px;border-radius:5px}.ec-del:hover{color:var(--red);background:var(--red-bg)}.new-card{background:transparent;border:1.5px dashed var(--line);border-radius:var(--r-lg);padding:20px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:130px;transition:border-color .15s,background .15s}.new-card:hover{border-color:var(--navy-ll);background:rgba(61,90,148,.04)}.new-card .plus{width:34px;height:34px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--muted);font-weight:300}.new-card span{font-size:13px;color:var(--muted);font-weight:500}.modal-bg{position:fixed;inset:0;background:rgba(20,30,55,.5);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}.modal-bg.open{display:flex}.modal{background:var(--card);border-radius:var(--r-lg);padding:26px;width:100%;max-width:390px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-height:calc(100dvh - 40px);overflow-y:auto}.modal h3{font-size:16px;font-weight:700;margin-bottom:18px;color:var(--ink)}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.field input{width:100%;border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;font-family:var(--f);font-size:14px;color:var(--ink)}.field input:focus{outline:none;border-color:var(--navy-ll);box-shadow:0 0 0 3px rgba(61,90,148,.1)}.modal-footer{display:flex;gap:10px;margin-top:20px;justify-content:flex-end;position:-webkit-sticky;position:sticky;bottom:-26px;background:var(--card);padding:14px 0}.btn{font-family:var(--f);font-weight:600;font-size:13px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 16px;border-radius:var(--r);cursor:pointer;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--navy-ll);color:var(--navy)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.primary:hover{background:var(--navy-l)}.btn.sm{padding:6px 12px;font-size:12px}.ev-header{background:#2C4F82;margin:0;padding:16px 24px 0}.ev-header-title{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.ev-header-title h1{font-size:20px;font-weight:700;color:#fff}.ev-badges{display:flex;gap:6px;flex-shrink:0}.ev-badge{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:20px}.ev-badge.corp{color:#5BC4CE;background:rgba(91,196,206,.18)}.ev-badge.int{color:#C4AAEE;background:rgba(196,170,238,.18)}.tabs{display:flex;gap:0;overflow-x:auto}.tab-btn{font-family:var(--f);font-weight:600;font-size:13px;background:transparent;border:none;border-bottom:3px solid transparent;color:rgba(255,255,255,.45);padding:10px 18px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s;flex-shrink:0;border-radius:4px 4px 0 0}.tab-btn:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.07)}.tab-btn.active{color:#fff;border-bottom-color:#4ADE80;border-bottom-width:4px;background:rgba(255,255,255,.12);font-weight:700}.group-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;display:flex;align-items:center;gap:8px}.group-label:after{content:"";flex:1 1;height:1px;background:var(--line)}.sbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:14px;overflow:hidden}.sbox-head{padding:13px 18px;justify-content:space-between;border-bottom:1px solid var(--line-2)}.sbox-head,.sbox-head h3{display:flex;align-items:center}.sbox-head h3{font-size:13px;font-weight:700;gap:8px;color:var(--ink)}.pill{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--corp-d);background:var(--corp-bg);padding:2px 7px;border-radius:20px}.sbox-body{padding:14px 18px}.glink-toggle{font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:5px;margin-bottom:8px;width:-moz-fit-content;width:fit-content;padding:4px 0}.glink-toggle:hover{color:var(--navy)}.glink-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:9px 12px;background:var(--green-bg);border:1px solid #b8e0cc;border-radius:var(--r)}.glink-input{flex:1 1;border:1px solid var(--line);border-radius:6px;padding:6px 9px;font-size:12px;font-family:var(--f);background:#fff;color:var(--ink)}.glink-input:focus{outline:none;border-color:var(--green)}.glink-open{font-size:11px;font-weight:700;color:var(--green);white-space:nowrap;text-decoration:none}.glink-open:hover{text-decoration:underline}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}thead th.num{text-align:right}tbody td{padding:2px 3px;border-bottom:1px solid var(--line-2);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#F7F9FC}td input,td select{width:100%;border:1px solid transparent;background:transparent;padding:6px 8px;border-radius:6px;font-family:var(--f);font-size:13px;color:var(--ink)}td input:hover,td select:hover{border-color:var(--line)}td input:focus,td select:focus{outline:none;border-color:var(--navy-ll);background:#fff;box-shadow:0 0 0 3px rgba(61,90,148,.1)}td.num input{text-align:right;font-family:var(--mono)}td.center{text-align:center}.cell-m{font-family:var(--mono);text-align:right;padding-right:8px;color:var(--muted);white-space:nowrap;font-size:12px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--navy);cursor:pointer}.rm{border:none;background:transparent;color:var(--faint);cursor:pointer;font-size:15px;padding:5px 7px;border-radius:5px;line-height:1}.rm:hover{color:var(--red);background:var(--red-bg)}.add-row{margin-top:8px;font-size:12px;font-weight:600;color:var(--navy-ll);background:rgba(61,90,148,.05);border:1px dashed rgba(61,90,148,.2);border-radius:var(--r);padding:7px 14px;cursor:pointer;width:100%;font-family:var(--f)}.add-row:hover{background:rgba(61,90,148,.1)}.empty-r{color:var(--faint);font-size:12px;font-style:italic;padding:12px 4px}.note{display:flex;gap:9px;padding:10px 13px;border-radius:var(--r);font-size:12px;margin-bottom:12px}.note.warn{background:var(--warn-bg);border-left:3px solid var(--warn);color:#7A4E1C}.note.info{background:var(--corp-bg);border-left:3px solid var(--corp);color:var(--corp-d)}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.res-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;gap:11px}.res-card,.res-ico{display:flex;align-items:center}.res-ico{width:34px;height:34px;border-radius:7px;background:var(--green-bg);justify-content:center;font-size:16px;flex-shrink:0}.res-lbl{font-size:11px;color:var(--muted);margin-bottom:2px;font-weight:500}.res-url{font-size:11px;color:var(--green);text-decoration:none;word-break:break-all;font-weight:600}.res-url:hover{text-decoration:underline}.res-empty{font-size:11px;color:var(--faint);font-style:italic}.cost-cfg{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}.fsm{display:flex;flex-direction:column;gap:3px}.fsm label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fsm input,.fsm select{border:1px solid var(--line);border-radius:var(--r);padding:7px 10px;font-family:var(--f);font-size:13px;background:#fff;color:var(--ink)}.fsm input{width:78px;font-family:var(--mono);text-align:right}.totals{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-top:14px;max-width:400px;margin-left:auto}.trow{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid var(--line-2)}.trow:last-child{border-bottom:none}.trow .lbl{color:var(--muted);display:flex;align-items:center;gap:6px}.sw{width:8px;height:8px;border-radius:2px;flex-shrink:0;display:inline-block}.trow .v{font-family:var(--mono);font-weight:500;font-size:12px}.trow.grand{padding-top:9px;margin-top:4px;border-top:2px solid var(--ink);border-bottom:none}.trow.grand .lbl{font-weight:700;color:var(--ink);font-size:14px}.trow.grand .v{font-weight:700;color:var(--navy);font-size:14px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2)}.save-st{font-family:var(--mono);font-size:11px;color:var(--green);margin-left:auto}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--corp);border-radius:50%;animation:spin .7s linear infinite;margin:3rem auto}@keyframes spin{to{transform:rotate(1turn)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a56c4,#2563eb 50%,#1d4ed8)}.login-card{border-radius:16px;padding:2.5rem 2rem;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}.btn-google,.login-card{background:#fff;width:100%}.btn-google{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;font-weight:500;color:#1e293b;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 3px rgba(0,0,0,.08);font-family:var(--f)}.btn-google:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px rgba(0,0,0,.1)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.login-hint{margin-top:1rem;font-size:12px;color:#94a3b8}.alert{padding:.6rem .85rem;border-radius:var(--r);font-size:13px;margin-bottom:1rem}.alert-error{background:rgba(192,57,43,.1);color:var(--red);border:1px solid rgba(192,57,43,.3)}::placeholder{color:var(--faint);opacity:1}input[type=month]{color:var(--ink);color-scheme:light}.ev-meta-bar{gap:20px;flex-wrap:wrap;margin-bottom:14px}.ev-meta-bar,.ev-meta-item{display:flex;align-items:center}.ev-meta-item{gap:8px}.ev-meta-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.5);white-space:nowrap}.ev-meta-input{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--r);padding:5px 10px;font-family:var(--f);font-size:13px;color:#fff}.ev-meta-input:focus{outline:none;border-color:rgba(91,196,206,.6);background:rgba(255,255,255,.18)}.ev-meta-input option{background:var(--navy);color:#fff}.agenda-list{display:flex;flex-direction:column;gap:6px}.agenda-bloque{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--r);background:#fff;border:1px solid var(--line);transition:box-shadow .15s,border-color .15s}.agenda-bloque:hover{box-shadow:0 2px 8px rgba(27,43,75,.08)}.agenda-bloque.drag-over{border-color:#4ADE80;border-width:2px;background:#f0fdf4}.agenda-bloque.especial{background:var(--line-2);border-color:transparent}.agenda-bloque.tipobreak{background:#FBF5E8}.agenda-bloque.tipoalmuerzo{background:#EAF6F0}.agenda-bloque.tipocena{background:#F0EAF8}.ab-time{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding-top:2px}.ab-h{font-size:13px;font-weight:700;color:var(--navy);font-family:var(--mono)}.ab-h.muted{color:var(--muted);font-weight:400}.ab-sep{font-size:9px;color:var(--faint)}.ab-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:5px}.ab-main-row{align-items:center}.ab-main-row,.ab-sub-row{display:flex;gap:8px}.ab-especial-row{display:flex;align-items:center;gap:10px}.ab-tipo-chip{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.ab-tipo-sel{font-size:11px;padding:3px 6px;border:1px solid var(--line);border-radius:4px;color:var(--corp-d);background:var(--corp-bg);font-family:var(--f)}.ab-titulo{flex:1 1;border:none;border-bottom:1px solid var(--line);background:transparent;font-size:14px;font-weight:600;color:var(--ink);font-family:var(--f);padding:2px 0}.ab-titulo:focus{outline:none;border-color:var(--corp)}.ab-resp{flex:1 1}.ab-notas,.ab-resp{border:none;background:transparent;font-size:12px;color:var(--muted);font-family:var(--f)}.ab-notas{flex:2 1}.ab-dur{display:flex;align-items:center}.ab-dur-sel{font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:var(--line-2);font-family:var(--f);color:var(--muted)}.ab-actions{display:flex;align-items:center;gap:2px}@media (max-width:600px){.events-grid{grid-template-columns:1fr}.ev-header{padding:18px 16px 0}.screen{padding:20px 16px 60px}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}