:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f7f5ef;--surface:#fffefa;--surface-strong:#fff;--ink:#1d252c;--muted:#69727d;--line:#ded9cd;--line-strong:#c7c0b2;--teal:#0f766e;--teal-strong:#0b5f59;--danger:#b42318;--danger-soft:#fff1ef;--shadow:0 22px 60px #1d252c24}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#f0ece3;flex-direction:column;gap:18px;padding:22px;display:flex}.brand-block,.profile-panel,.panel-heading,.topbar,.topbar-actions,.month-controls,.modal-header,.modal-actions,.settings-actions,.sidebar-footer{align-items:center;display:flex}.brand-block{justify-content:space-between;gap:12px}.brand-identity{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:#2f3438;border:1px solid #2f3438;border-radius:8px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:750}h1,h2,h3{letter-spacing:0;margin:0}h1{font-size:22px;line-height:1.1}h2{text-transform:capitalize;font-size:clamp(24px,3vw,36px);line-height:1}h3{font-size:22px;line-height:1.15}.profile-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;padding:12px}.profile-avatar{color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.profile-panel strong,.friend-row strong{font-size:14px;display:block}.profile-panel span,.friend-row small{color:var(--muted);font-size:12px;display:block}.friend-panel{flex-direction:column;gap:10px;display:flex}.availability-panel{gap:10px;display:grid}.panel-heading{justify-content:space-between}.panel-heading span{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:750;display:inline-flex}.friend-list,.availability-list{gap:8px;display:grid}.empty-copy{border:1px dashed var(--line-strong);color:var(--muted);border-radius:8px;margin:0;padding:12px;font-size:13px;line-height:1.35}.friend-row{grid-template-columns:auto minmax(0,1fr) 34px;align-items:center;gap:6px;display:grid}.friend-row>label+button{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:9px;display:flex}.friend-row.active>label+button{border-color:var(--line);background:var(--surface)}.friend-dot{cursor:pointer;border-radius:999px;flex:none;width:11px;height:36px;position:relative;overflow:hidden}.friend-dot input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.availability-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:3px;padding:10px;display:grid}.availability-row strong{font-size:13px}.availability-row span{color:var(--muted);font-size:12px;font-weight:700}.calendar-workspace{grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;padding:20px;display:grid}.sidebar-footer{margin-top:auto}.topbar{justify-content:space-between;gap:16px}.topbar-actions,.month-controls{gap:8px}.icon-button,.text-button,.primary-button,.secondary-button,.danger-button,.sidebar-footer{border:1px solid var(--line);background:var(--surface-strong);min-height:38px;color:var(--ink);border-radius:8px}.icon-button{place-items:center;width:38px;padding:0;display:inline-grid}.icon-button.subtle{width:34px;min-height:34px;color:var(--muted);background:0 0;border-color:#0000}.icon-button.elevated{box-shadow:0 10px 24px #1d252c1a}.notification-button{position:relative}.notification-count{border:2px solid var(--surface);background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:850;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.text-button,.primary-button,.secondary-button,.danger-button,.sidebar-footer{justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:750;display:inline-flex}.primary-button{border-color:var(--teal-strong);background:var(--teal);color:#fff}.secondary-button{background:#f8fafc}.danger-button{background:var(--danger-soft);color:var(--danger);border-color:#f1b8b2}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}.full-width{width:100%}.weekday-row{color:var(--muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));font-size:12px;font-weight:800;display:grid}.calendar-grid{border:1px solid var(--line-strong);background:var(--line);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(96px,auto);gap:1px;min-height:0;display:grid;overflow:visible}.day-cell{background:var(--surface);min-width:0;min-height:96px;padding:8px;container-type:inline-size}.day-cell.outside-month{color:#9a9183;background:#f2eee5}.day-header{justify-content:flex-end;min-height:24px;display:flex}.day-header span{border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:780;display:grid}.day-cell.today .day-header span{color:#fff;background:#22272d}.event-stack{gap:4px;margin-top:4px;display:grid}.event-slab{color:#fff;letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:5px;width:100%;min-height:22px;padding:4px .5px;font-size:clamp(8px,10cqi,12px);font-weight:820;line-height:1.15;overflow:hidden}.modal-backdrop{z-index:20;background:#1a1d2157;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--surface-strong);width:min(480px,100%);max-height:min(720px,92dvh);box-shadow:var(--shadow);border-radius:8px;padding:20px;overflow:auto}.modal-card.wide{width:min(640px,100%)}.modal-header{justify-content:space-between;gap:16px;margin-bottom:18px}.event-details{gap:12px;margin:0;display:grid}.event-details div{border-top:1px solid var(--line);padding-top:12px}.event-details dt{color:var(--muted);font-size:12px;font-weight:750}.event-details dd{margin:4px 0 0;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px}.settings-section{border-top:1px solid var(--line);gap:12px;padding:16px 0;display:grid}.settings-section:first-of-type{border-top:0;padding-top:0}.settings-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-section-heading.align-end{justify-content:flex-end}.settings-section-heading strong{font-size:14px;display:block}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-grid label,.settings-grid .color-field,.source-panel label,.auth-form label,.webcal-actions label{color:var(--muted);gap:7px;font-size:12px;font-weight:750;display:grid}.settings-grid input,.settings-grid select,.source-panel input,.auth-form input,.webcal-actions input{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--ink);border-radius:8px;padding:0 10px}.settings-grid input[type=color]{cursor:pointer;justify-self:start;width:44px;min-width:44px;padding:4px}.onboarding-actions{grid-template-columns:minmax(112px,.45fr) minmax(0,1fr);gap:10px;display:grid}.source-panel{gap:12px;margin-top:16px;display:grid}.settings-source{border-top:1px solid var(--line);padding-top:16px}.file-input{border:1px solid var(--line);min-height:44px;color:var(--teal-strong);background:#eef6f5;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 14px;font-size:14px;font-weight:800;display:flex;position:relative;overflow:hidden}.file-input input{cursor:pointer;opacity:0;position:absolute;inset:0}.webcal-actions{gap:10px;display:grid}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row.compact{justify-content:flex-end;gap:6px}.settings-actions{flex-wrap:wrap;gap:10px;margin:20px 0}.settings-actions.compact{margin:0}.danger-panel{background:var(--danger-soft);color:var(--danger);border:1px solid #f1b8b2;border-radius:8px;gap:14px;padding:14px;display:grid}.danger-panel p{margin:0;font-size:14px;font-weight:750;line-height:1.4}.danger-panel label{gap:7px;font-size:12px;font-weight:800;display:grid}.danger-panel input{min-width:0;min-height:40px;color:var(--ink);border:1px solid #f1b8b2;border-radius:8px;padding:0 10px}.onboarding-form,.auth-form{gap:14px;display:grid}.auth-screen{background:linear-gradient(135deg, #0f766e14, transparent 42%), var(--canvas);place-items:center;min-height:100dvh;padding:18px;display:grid}.auth-panel{border:1px solid var(--line);background:var(--surface-strong);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:22px;display:grid}.mode-toggle{border:1px solid var(--line);background:#eef1f4;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;display:grid;overflow:hidden}.mode-toggle button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:800}.mode-toggle button.active{color:var(--ink);background:#fff;box-shadow:0 6px 14px #1d252c1a}.google-button{border:1px solid var(--line);background:var(--surface-strong);min-height:42px;color:var(--ink);border-radius:8px;grid-template-columns:24px minmax(0,1fr) 24px;place-items:center;gap:10px;padding:0 13px;font-weight:800;display:grid}.google-mark{border:1px solid var(--line-strong);color:#1a73e8;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;font-weight:850;line-height:1;display:grid}.auth-divider{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.auth-divider:before,.auth-divider:after{background:var(--line);content:"";flex:1;height:1px}.auth-form label span{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;display:grid}.auth-form label span svg{color:var(--muted)}.social-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.social-search label{color:var(--muted);gap:7px;font-size:12px;font-weight:750;display:grid}.social-search input{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--ink);border-radius:8px;padding:0 10px}.social-list{gap:8px;display:grid}.social-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.social-row strong,.social-row small{display:block}.social-row strong{font-size:14px}.social-row small{color:var(--muted);font-size:12px}.auth-secondary-actions{justify-content:center;display:flex}.link-button{color:var(--teal-strong);background:0 0;border:0;padding:0;font-size:13px;font-weight:800}.link-button.align-left{text-align:left;justify-self:start}.status-line{border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.status-line.success{color:#067647;background:#ecfdf3}.status-line.error{background:var(--danger-soft);color:var(--danger)}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.friend-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.calendar-workspace{padding:10px 4px}.sidebar{padding:14px}.topbar{flex-direction:column;align-items:flex-start}.calendar-grid{grid-auto-rows:minmax(86px,auto)}.day-cell{min-height:86px;padding:5px}.event-slab{min-height:20px}.friend-list,.settings-grid,.social-search{grid-template-columns:1fr}.social-row{grid-template-columns:auto minmax(0,1fr)}.social-row>.button-row,.social-row>button{grid-column:1/-1}.social-row>button{width:100%}.onboarding-actions{grid-template-columns:1fr}}@media (max-width:440px){.topbar-actions{justify-content:space-between;width:100%}.month-controls,.text-button{flex:1}.calendar-workspace{padding:8px 2px}.calendar-grid{grid-auto-rows:minmax(76px,auto)}}.availability-row{cursor:pointer;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s}.availability-row:hover{background:#f7fbfa;border-color:#0f766e52}.availability-row.selected{box-shadow:inset 3px 0 0 var(--teal), 0 0 0 3px #0f766e1a;background:linear-gradient(135deg,#0f766e1a,#0f766e0a);border-color:#0f766e94}.availability-row:focus-visible{border-color:#0f766eb8;outline:none;box-shadow:0 0 0 4px #0f766e21}.day-cell{transition:background-color .16s,box-shadow .16s,outline-color .16s}.day-cell.availability-selected{background:linear-gradient(135deg, #0f766e17, #fffefaf5), var(--surface);position:relative;box-shadow:inset 0 0 0 2px #0f766e7a,inset 0 0 0 999px #0f766e06}.day-cell.availability-selected .day-header span{background:var(--teal);color:#fff}.day-cell.availability-selected.today .day-header span{background:var(--teal-strong)}.settings-grid input,.settings-grid select,.source-panel input,.auth-form input,.webcal-actions input,.social-search input,.danger-panel input{transition:border-color .16s,box-shadow .16s,background-color .16s}.settings-grid input:focus,.settings-grid select:focus,.source-panel input:focus,.auth-form input:focus,.webcal-actions input:focus,.social-search input:focus,.danger-panel input:focus{background:var(--surface-strong);border-color:#0f766eb8;outline:none;box-shadow:0 0 0 4px #0f766e21}.auth-form label span button[aria-label=Mostrar\ contraseña],.auth-form label span button[aria-label=Ocultar\ contraseña]{border-radius:999px;transition:background-color .16s,color .16s,transform .16s,opacity .16s}.auth-form label span button[aria-label=Mostrar\ contraseña]:hover:not(:disabled),.auth-form label span button[aria-label=Ocultar\ contraseña]:hover:not(:disabled){color:var(--teal-strong)!important;background:#0f766e14!important}.auth-form label span button[aria-label=Mostrar\ contraseña]:active:not(:disabled),.auth-form label span button[aria-label=Ocultar\ contraseña]:active:not(:disabled){transform:translateY(-50%)scale(.94)!important}.auth-form label span button[aria-label=Mostrar\ contraseña]:focus-visible,.auth-form label span button[aria-label=Ocultar\ contraseña]:focus-visible{outline:none;box-shadow:0 0 0 3px #0f766e2e}@media (prefers-reduced-motion:reduce){.availability-row,.day-cell,.settings-grid input,.settings-grid select,.source-panel input,.auth-form input,.webcal-actions input,.social-search input,.danger-panel input,.auth-form label span button[aria-label=Mostrar\ contraseña],.auth-form label span button[aria-label=Ocultar\ contraseña]{transition:none}}
