/* Honestadomo agenda: apariencia clara predeterminada + modo oscuro instantáneo */
:root{color-scheme:light;--bg:#fff;--canvas:#fff;--text:#262a2c;--muted:#797e83;--sidebar:#e6e5e0;--sidebar-text:#242628;--sidebar-active:#d1d0ca;--sidebar-border:#cbc9c4;--border:#e6e8e9;--surface:#f6f7f7;--field:#fff;--accent:#24282d;--accent-text:#fff;--focus:#af8542;--warning-bg:#fff8e7;--warning-ink:#836522;--shadow:0 20px 80px #0002;--red-bg:#fce9e9;--red-line:#c73946;--red-text:#992630;--green-bg:#e3f4e8;--green-line:#259557;--green-text:#166338}
:root[data-theme=dark]{color-scheme:dark;--bg:#15181d;--canvas:#1e2229;--text:#f0f1f3;--muted:#a4a9b1;--sidebar:#d5d4d0;--sidebar-text:#242628;--sidebar-active:#bcbab5;--sidebar-border:#b5b4af;--border:#343a43;--surface:#252a32;--field:#22272f;--accent:#eff0f2;--accent-text:#1c2026;--focus:#d4b57e;--warning-bg:#3f3523;--warning-ink:#ffe3a0;--shadow:0 22px 100px #0009;--red-bg:#49272c;--red-line:#ed6571;--red-text:#ffd7db;--green-bg:#203d2e;--green-line:#65c78a;--green-text:#c7f9d6}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}p{color:var(--muted);line-height:1.55}a{color:var(--text)}[hidden]{display:none!important}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Barra lateral piedra: clara también en modo oscuro para preservar el contraste del logo negro. */
aside.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--sidebar);color:var(--sidebar-text);padding:23px 16px 16px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--sidebar-border);z-index:1;overflow-y:auto}
.sidebar-top,.side-bottom{min-width:0}.brand-logo{min-height:100px;display:grid;place-items:center;padding:6px 3px 0}.brand-logo img{width:138px;height:95px;object-fit:contain;display:block;filter:drop-shadow(0 7px 8px #26262623)}.brand-subtitle{font-size:10px;letter-spacing:2.1px;text-align:center;font-weight:750;color:#71736f;margin-bottom:26px}.side-nav{display:grid;gap:4px}.nav{display:block;width:100%;background:transparent;border:0;color:var(--sidebar-text);padding:12px 11px;text-align:left;border-radius:9px;margin:0;font-weight:530;transition:background .15s}.nav:hover{background:#d8d7d2}.nav.active{background:var(--sidebar-active);color:#171a1d;font-weight:750}.side-divider{height:1px;background:var(--sidebar-border);margin:18px 0 10px}.theme-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:750;color:#666964;margin:4px 0 9px}.theme-select{display:block;width:100%;padding:10px 12px;border:1px solid #bdbdb7;border-radius:9px;background:#f8f8f6;color:#22262a;cursor:pointer;margin:0}.nav-utility{font-size:12px;padding:10px 11px}.bottom{font-size:10px;color:#747570;margin-top:13px}#identity{color:#595e5c;font-size:12px;font-weight:650;margin:9px 2px 4px;overflow-wrap:anywhere}
main{margin-left:232px;padding:38px clamp(18px,3vw,46px) 60px;max-width:1700px;min-height:100vh;background:var(--bg)}header{display:flex;align-items:center;justify-content:space-between;gap:14px}h1{font-size:clamp(24px,2.5vw,31px);letter-spacing:-1px;margin:5px 0;font-weight:750}h2{letter-spacing:-.45px}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:700}.primary{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent);border-radius:9px;padding:11px 17px;font-weight:650}.primary:hover{filter:brightness(.93)}.notice{background:var(--warning-bg);border:1px solid var(--border);border-radius:10px;padding:13px 17px;color:var(--warning-ink);font-size:12px;margin:24px 0;overflow-wrap:anywhere}.notice.bad{background:var(--red-bg);color:var(--red-text)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card,.panel{background:var(--canvas);border:1px solid var(--border);border-radius:13px;padding:20px;box-shadow:0 3px 13px #00000004}.card strong{font-size:27px;display:block;margin-top:10px;letter-spacing:-.8px}.card span{color:var(--muted);font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 17px;flex-wrap:wrap}.toolbar button,.ghost{background:var(--canvas);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text)}.toolbar select{padding:10px 12px;background:var(--field);color:var(--text);border:1px solid var(--border);border-radius:8px}.week-scroll{overflow-x:auto;border-radius:10px}.calendar{min-width:780px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--canvas)}.weekday,.day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px}.weekday{font-size:11px;color:var(--muted);text-align:center;background:var(--surface);font-weight:650}.day{min-height:300px}.day button.num{border:0;background:transparent;border-radius:50%;width:29px;height:29px;color:var(--text)}.day.today button.num{background:var(--accent);color:var(--accent-text)}.day.empty{background:var(--surface)}.event{display:block;border:0;border-left:4px solid var(--red-line);background:var(--red-bg);color:var(--red-text);padding:9px 7px;margin-top:8px;font-size:11px;line-height:1.45;text-align:left;width:100%;border-radius:5px;overflow-wrap:anywhere}.event.is-pending{background:var(--red-bg);border-color:var(--red-line);color:var(--red-text)}.event.is-complete{background:var(--green-bg);border-color:var(--green-line);color:var(--green-text)}.event.cancelled{background:var(--surface);border-color:var(--muted);color:var(--muted);opacity:.7;text-decoration:line-through}
.muted{font-size:12px;color:var(--muted)}.pill{font-size:11px;border-radius:20px;padding:5px 10px;background:var(--warning-bg);color:var(--warning-ink)}.member{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--border)}.member div.info{flex:1}.member small{display:block;color:var(--muted);margin-top:5px}.avatar{height:40px;width:40px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:700;flex-shrink:0}section[hidden]{display:none}
dialog{background:var(--canvas);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:26px;width:470px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}dialog::backdrop{background:#080b0ec2}label{display:block;font-size:13px;margin-top:14px}input,select,textarea{width:100%;padding:10px;background:var(--field);color:var(--text);border:1px solid var(--border);border-radius:8px;margin-top:6px}.row{display:flex;gap:12px}.row>*{flex:1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.emptymsg{padding:35px;text-align:center;color:var(--muted)}.item{padding:17px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:15px}.item small{display:block;color:var(--muted);margin-top:6px}.item.is-pending{border-left:3px solid var(--red-line);padding-left:12px}.item.is-complete{border-left:3px solid var(--green-line);padding-left:12px}.state-text{font-size:12px;font-weight:700;display:inline-block;margin-top:6px}.state-text.is-pending{color:var(--red-text)}.state-text.is-complete{color:var(--green-text)}
.access{max-width:520px;margin:7vh auto;padding:20px}.access .panel{padding:30px}.access-brand{display:grid;place-items:center;padding:5px}.access-brand img{display:block;width:120px;height:82px;object-fit:contain}.access h1{text-align:center}.access p{text-align:center}form>button{margin-top:18px}#accesserror,#passworderror,#closingerror{color:var(--red-text)}#inviteresult{overflow-wrap:anywhere}details{margin-top:25px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.panel form{max-width:480px}
.closing-modal{width:min(720px,95vw)}.closing-heading{display:flex;gap:15px;align-items:flex-start}.closing-heading h2{margin:3px 0 8px}.closing-bell{display:grid;place-items:center;flex:0 0 40px;height:40px;background:var(--red-bg);color:var(--red-text);border-radius:12px;font-size:24px}.closing-items{display:grid;gap:12px;margin-top:18px}.closing-entry{padding:16px;border:1px solid var(--border);border-left:4px solid var(--red-line);border-radius:12px;background:var(--surface)}.closing-entry strong{display:block}.closing-entry .muted{display:block;margin:5px 0 10px}.closing-entry .closing-buttons{display:flex;flex-wrap:wrap;gap:8px}.closing-entry .closing-buttons button{padding:8px 12px;border-radius:8px}.closing-entry .complete-btn{background:var(--green-line);color:#07140e;border:none}.closing-entry .delete-btn{color:var(--red-text);border-color:var(--red-line)}.closing-reschedule{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.closing-reschedule .row{flex-wrap:wrap}.closing-reschedule .actions{justify-content:flex-start;margin-top:10px}.closing-entry button:disabled{opacity:.6;cursor:wait}.completion-switch{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--green-bg);border:1px solid var(--green-line);border-radius:10px;color:var(--green-text);font-weight:650}.completion-switch input{width:auto;margin:0;min-height:19px;min-width:19px;accent-color:#27985c}
@media(max-width:850px){aside.sidebar{position:relative;width:100%;height:auto;padding:13px 16px;display:block}.sidebar-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand-logo{min-height:0;padding:0}.brand-logo img{height:47px;width:70px}.brand-subtitle{margin:0 10px 0 0;font-size:9px}.side-nav{display:flex;gap:2px;flex-wrap:wrap}.nav{width:auto;padding:9px;margin:0}.side-bottom{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px}.theme-label{margin:0}.theme-select{width:123px;padding:7px}.side-divider,.bottom{display:none}.nav-utility{font-size:11px}#identity{margin:0 8px}main{margin-left:0;padding:20px}.day{min-height:100px;padding:5px}.cards{gap:8px}.card{padding:13px}.card strong{font-size:20px}h1{font-size:25px}header{align-items:start}.event{font-size:10px;padding:5px}.member{flex-wrap:wrap}}
@media(max-width:540px){.sidebar-top{justify-content:space-between}.brand-logo img{width:72px}.brand-subtitle{display:none}.side-nav{gap:0}.nav{font-size:11px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:9px}.card span{font-size:10px}.card strong{font-size:18px}header{flex-wrap:wrap}.row{flex-wrap:wrap}}

/* Identidad final: imagen 3D original de Honestadomo, sin monograma ni letras inventadas. */
.brand-logo{min-height:162px;padding:0 8px 5px;align-items:center}
.brand-logo img{width:172px;max-width:100%;height:auto;max-height:165px;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 3px 5px #10111422)}
.brand-subtitle{margin-bottom:20px}
.access-brand img{width:160px;max-width:100%;height:auto;max-height:170px;object-fit:contain}
.mobile-scroll-hint{display:none}
.week-scroll{scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent;overscroll-behavior-inline:contain}
.week-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
/* Escritorio panorámico 16:9: los siete días y las próximas citas se aprovechan mejor. */
@media(min-width:1200px){
  main{max-width:none;margin-left:232px;padding:28px clamp(30px,3vw,54px) 46px}
  .calendar{min-width:0}
  .day{min-height:215px}
  .card{padding:16px 19px}
  .toolbar{margin:24px 0 14px}
  .notice{margin:20px 0}
  .brand-logo{min-height:165px}
}
/* Portátiles y tabletas en horizontal. */
@media(min-width:851px) and (max-width:1199px){
  aside.sidebar{width:205px;padding-inline:12px}
  .brand-logo img{width:155px}
  main{margin-left:205px;padding:25px 22px 45px}
  .card{padding:14px}
  .calendar{min-width:770px}
  .day{min-height:185px}
}
/* Tabletas verticales: el menú pasa arriba; selector accesible. */
@media(max-width:850px){
  aside.sidebar{position:relative;inset:auto;width:100%;padding:12px 18px;height:auto;overflow:visible}
  .sidebar-top{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
  .brand-logo{min-height:0;padding:0 4px;width:auto}
  .brand-logo img{width:88px;max-height:88px;height:auto}
  .brand-subtitle{font-size:10px;margin:0 12px 0 0}
  .side-nav{display:flex;flex:1;justify-content:flex-end;gap:3px}
  .nav{width:auto;padding:9px 11px;white-space:nowrap}
  .side-bottom{margin-top:9px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .theme-select{width:145px}
  main{margin-left:0;max-width:none;padding:22px 24px 40px;min-height:0}
  .calendar{min-width:770px}
  .day{min-height:190px}
  .mobile-scroll-hint{display:block;color:var(--muted);font-size:12px;margin:2px 0 9px}
  .week-scroll{scroll-snap-type:x proximity}
  .week-scroll .day{scroll-snap-align:start}
  .card{padding:14px}
}
/* Móviles: no se estira la agenda a 16:9 ni se recorta la interfaz. */
@media(max-width:600px){
  aside.sidebar{padding:12px 13px}
  .sidebar-top{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:8px}
  .brand-logo img{width:75px;max-height:75px}
  .brand-subtitle{display:block;text-align:left;margin:0;font-size:9px;letter-spacing:1.2px}
  .side-nav{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap;gap:4px}
  .nav{font-size:12px;padding:10px}
  .side-bottom{gap:7px;margin-top:6px}
  .theme-label{font-size:10px}
  .theme-select{width:135px;padding:9px 10px}
  #identity{margin:0;font-size:11px}
  .nav-utility{padding:8px}
  main{padding:20px 14px 30px}
  header{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}
  header>div{flex:1 1 190px;min-width:0}
  h1{font-size:25px}
  header p{font-size:13px;margin:5px 0}
  .primary{padding:10px 12px;font-size:13px}
  .notice{margin:15px 0;padding:11px 12px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .card{padding:12px}
  .card:last-child{grid-column:1/-1}
  .card strong{font-size:19px}
  .toolbar{display:flex;align-items:stretch;flex-direction:column;margin:19px 0 10px;gap:10px}
  .toolbar>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
  .toolbar select{width:100%;margin:0}
  .toolbar button{margin:0;padding:9px}
  .calendar{min-width:784px}
  .day{min-height:165px;padding:7px}
  .event{font-size:11px;line-height:1.35}
  .item{align-items:center;gap:8px}
  .item .ghost{padding:8px;font-size:12px;white-space:nowrap}
  .panel{padding:14px}
  dialog{max-width:calc(100vw - 18px);max-height:92dvh;padding:16px}
  .closing-modal{width:min(720px,calc(100vw - 18px))}
  .closing-entry{padding:12px}
  .row{flex-direction:column;gap:2px}
  .access{margin:3vh auto;padding:14px}
}
@media(max-width:360px){
  .brand-subtitle{display:none}
  .sidebar-top{display:flex;flex-wrap:wrap}
  .side-nav{width:100%;justify-content:space-between}
  .theme-select{width:115px}
}

/* Extensiones modulares: apartados opcionales, sin cambiar el calendario original. */
.module-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:10px 0 20px}
.module-heading h2{margin:0 0 5px}
.module-heading p{margin:0}
.module-section h2{margin-top:9px}
.module-section>.panel{margin-top:15px}
.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));gap:14px}
.record-card{min-height:110px;overflow-wrap:anywhere}
.record-card h3{margin:0;font-size:17px}
.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.record-head button{flex-shrink:0}
.record-detail{font-size:12px;margin:7px 0 0;overflow-wrap:anywhere}
.settings-card{margin:15px 0}
.module-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:11px}
.module-switch{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}
.module-switch input{width:22px;height:22px;margin:0;accent-color:var(--green-line);flex-shrink:0}
.module-switch-info{display:grid;gap:4px}
.module-switch-info strong{font-size:13px}
.module-switch-info .muted{font-size:11px}
.setting-status{color:var(--green-text);font-size:12px;margin-top:10px;min-height:1.2em}
.task-list-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 12px;border-bottom:1px solid var(--border);border-left:4px solid var(--red-line);margin-bottom:7px;background:var(--red-bg);border-radius:7px}
.task-list-row.task-done{border-left-color:var(--green-line);background:var(--green-bg)}
.task-list-row small{display:block;margin-top:5px;opacity:.8;font-size:11px}
.task-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.optional-fields{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin-top:12px}
.optional-fields summary{cursor:pointer;font-weight:650}
.optional-fields p{margin:9px 0 0}
@media(max-width:600px){.records-grid{grid-template-columns:1fr}.module-heading .primary{width:100%}.task-list-row{align-items:flex-start;flex-direction:column}.module-options{grid-template-columns:1fr}}

.archive-list{margin-top:12px}.archived-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--border);padding:10px 0;font-size:13px;overflow-wrap:anywhere}
