:root{color-scheme:dark;--bg:#0b121b;--bg-deep:#08101a;--panel:#111c28;--panel-raised:#162331;--surface-lit:#182839;--line:#263646;--line-strong:#3a5266;--line-input:#5d7790;--text:#edf3f7;--text-2:#c3d0db;--muted:#97aabd;--faint:#8296a9;--teal:#8ae0ce;--teal-strong:#b0f1e3;--teal-ink:#0c2928;--teal-dim:#153c39;--teal-line:#35655f;--amber:#f4c77c;--amber-dim:#352c1d;--amber-line:#654e2d;--red:#ffabab;--red-dim:#372124;--red-line:#6a3f43;--info:#9cc8ff;--info-dim:#1a2b3c;--info-line:#395068;--radius:16px;--r-sm:10px;--r-md:14px;--r-lg:20px;--bar-h:65px;--font-ui:Inter,"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:"Iowan Old Style","Sitka Heading","Sitka Text",Charter,"Bitstream Charter","Charis SIL",Cambria,Georgia,serif;font-family:var(--font-ui);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[aria-busy=true] button:disabled{cursor:progress}button,input,select,textarea{border:1px solid var(--line);border-radius:9px;min-height:44px}button{background:var(--panel-raised);color:var(--text);padding:10px 16px;font-weight:550}button:hover{border-color:#5e8396}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}input,select,textarea{background:var(--bg);color:var(--text);padding:10px 12px;min-width:0;width:100%;border-color:var(--line-input)}input::placeholder{color:#758c9f}textarea{min-height:100px;resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,37px);line-height:1.15;letter-spacing:-1.2px;font-weight:600;margin-bottom:12px}body:not(.observatory-active) h1{font-family:var(--font-display);letter-spacing:-.02em}h2{font-size:17px;letter-spacing:-.3px;font-weight:600;margin-bottom:15px}h3{font-size:15px;font-weight:600;margin-bottom:8px}p{color:var(--muted);margin-bottom:14px}small{font-size:12px}button.primary,.button.primary{background:var(--teal);border-color:var(--teal);color:var(--teal-ink);font-weight:650}button.quiet,.button.quiet{background:transparent;border-color:transparent;color:var(--teal);padding-left:4px;padding-right:4px;font-weight:600}button.quiet:hover,.button.quiet:hover{border-color:transparent;text-decoration:underline;text-underline-offset:3px}button.primary:hover,.button.primary:hover{background:#b0f1e3}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;min-height:44px;border:1px solid var(--line);border-radius:9px;gap:8px;font-size:14px}.button:hover{text-decoration:none}.text-button{border-color:transparent;background:transparent;color:var(--muted)}.icon-button{font-size:25px;width:44px;padding:0}.skip-link{position:fixed;left:12px;top:-80px;padding:12px;background:var(--teal);color:var(--bg);z-index:20}.skip-link:focus{top:12px}[hidden]{display:none!important}.app-shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100dvh}.sidebar{border-right:1px solid var(--line);padding:28px 16px 22px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:#0e1722;overflow-y:auto;scrollbar-width:thin}.brand{display:flex;align-items:center;gap:13px;color:var(--text);padding:0 12px;font-size:22px;font-weight:600;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;font-weight:550;letter-spacing:.2px;color:var(--muted);margin-top:1px}.brand-mark{border:1px solid #39595e;border-radius:12px;width:40px;height:43px;display:flex;align-items:center;justify-content:center;font-size:31px;font-weight:400;letter-spacing:-3px}.brand-mark span{color:var(--teal)}.nav-caption{color:#6f8599;font-size:10px;font-weight:600;letter-spacing:1.8px;margin:48px 16px 14px}.navigation{display:flex;flex-direction:column;gap:2px;margin-top:34px}.navigation a{display:flex;align-items:center;gap:12px;min-height:42px;padding:9px 14px;border-radius:10px;color:var(--muted);font-weight:500}.navigation a:hover{background:#142430;text-decoration:none;color:var(--text)}.navigation a[aria-current=page]{background:var(--teal-dim);color:var(--teal);box-shadow:inset 3px 0 0 var(--teal)}.nav-icon{width:22px;text-align:center;font-size:19px;line-height:1}.sidebar-bottom{margin-top:auto;padding:25px 11px 0;display:flex;align-items:flex-start;gap:10px;color:#b4c2cf;font-size:12px}.sidebar-bottom small{display:block;color:#6f8599;font-size:10px;margin-top:3px}.privacy-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:6px}.workspace{min-width:0}.topbar{height:80px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:11px;color:var(--muted);letter-spacing:.8px;display:flex;align-items:center;gap:16px}.breadcrumb #page-label{font-size:12px;letter-spacing:.2px;color:var(--text)}.separator{color:#435567}.account{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);min-width:0}.account #user-label{max-width:180px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}main{padding:36px 42px 28px;max-width:1480px;margin:0 auto;min-height:calc(100dvh - 140px)}main:focus{outline:none}.page-footer{border-top:1px solid var(--line);padding:20px 42px;color:#6f8599;font-size:10px;letter-spacing:.3px;display:flex;justify-content:space-between;gap:10px}.eyebrow{color:var(--teal);font-size:10px;letter-spacing:2px;font-weight:650;margin-bottom:15px;text-transform:uppercase}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:28px}.page-heading p{max-width:640px;margin-bottom:0;font-size:14px}.page-heading .heading-actions{flex-shrink:0;display:flex;gap:8px}.quiet-label{font-size:11px;color:var(--muted)}.source-note{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:#6f8599;margin-top:18px;overflow-wrap:anywhere}.source-note span+span::before{content:"·";margin-right:8px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:25px}.summary-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--panel);display:flex;flex-direction:column;gap:12px;min-height:116px}.summary-card strong{font-size:29px;font-weight:500;line-height:1;letter-spacing:-1px}.summary-card span{color:var(--muted);font-size:11px}.summary-card.attention strong{color:var(--amber)}.summary-card a{font-size:11px}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:22px;min-width:0}.panel{padding:23px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel-head h2{margin:0}.panel-head .button{padding:5px 10px;font-size:11px}.count{font-size:11px;color:var(--muted);font-weight:400;margin-left:7px}.rows{margin:0;padding:0;list-style:none}.rows>li+li{border-top:1px solid var(--line)}.item-row{display:flex;gap:14px;padding:15px 0;align-items:flex-start;min-width:0}.item-row:first-child{padding-top:2px}.item-main{min-width:0;flex:1}.item-title{display:block;min-height:30px;color:var(--text);font-size:14px;font-weight:500;overflow-wrap:anywhere}.item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11px;color:var(--muted);margin-top:3px}.item-meta .dot::before{content:"·";margin-right:10px;color:#51687a}.item-marker{width:10px;height:10px;border:1px solid #6e869a;border-radius:3px;margin-top:7px;flex-shrink:0}.item-marker.done{border-color:var(--teal);background:var(--teal-dim)}.item-action{padding:6px 10px;min-width:44px;flex-shrink:0;font-size:12px}.badge{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid #365347;background:#173329;color:#b2dfc9;border-radius:6px;font-size:9px;letter-spacing:.45px;font-weight:650;max-width:100%;overflow-wrap:anywhere}.badge.neutral{border-color:#395068;background:#1a2b3c;color:#b4cde4}.badge.warning{border-color:#654e2d;background:#352c1d;color:var(--amber)}.badge.danger{border-color:#6a3f43;background:#372124;color:var(--red)}.provider-strip{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:15px 18px;border-radius:12px;background:#101c25;margin-bottom:24px}.provider-strip p{margin:0;font-size:11px}.provider-strip strong{color:var(--text);font-weight:500}.empty-state{border:1px dashed #344658;border-radius:11px;padding:28px 19px;text-align:center}.empty-state h3{font-weight:500;font-size:14px}.empty-state p{margin:0 auto;max-width:340px;font-size:12px}.empty-state .button{margin-top:16px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.filters button{background:transparent;color:var(--muted);font-size:12px}.filters button[aria-pressed=true]{background:var(--teal-dim);color:var(--teal);border-color:#35655f}.filters select{width:auto;max-width:100%;font-size:12px}.filters .search{flex:1;min-width:140px}.task-list .item-row{padding:19px 0}.task-list .item-title{font-size:15px}.task-list .item-meta{margin-top:5px}.notice{margin:20px 42px 0;padding:14px 18px;background:#14382e;border:1px solid #386654;border-radius:10px;color:#c3eed7;font-size:13px;overflow-wrap:anywhere}.notice.error{background:#382026;border-color:#69424b;color:#ffbdc6}.inline-warning{background:#30291d;border:1px solid #584a2e;border-radius:10px;color:#e4c999;padding:13px 16px;font-size:12px;margin-bottom:22px}.loading-state{min-height:45vh;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column}.loading-state h1{font-size:24px;letter-spacing:-.6px;margin:23px 0 9px}.loading-state p{font-size:13px}.spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-panel{max-width:560px;margin:8vh auto 10vh;text-align:center;padding:42px 34px;background:var(--panel);border:1px solid var(--line);border-radius:22px}.login-symbol{display:flex;width:58px;height:58px;border:1px solid #35564f;border-radius:18px;align-items:center;justify-content:center;margin:0 auto 26px;color:var(--teal);font-size:31px;background:#122f2d}.login-panel h1{font-size:31px;letter-spacing:-1px}.login-panel>p{font-size:14px;max-width:385px;margin:16px auto 28px}.login-panel .button{width:100%;max-width:330px;min-height:50px}.login-footnote{font-size:11px!important;margin-top:24px!important;margin-bottom:0!important;line-height:1.75}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr);gap:22px}.definition-list{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px 16px;margin:0;font-size:13px}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;overflow-wrap:anywhere}.definition-list dd code{font-family:ui-monospace,monospace;font-size:11px}.form-stack{display:grid;gap:17px}.form-field{display:grid;gap:7px}.form-field>span{font-size:13px;font-weight:550;color:var(--text-2)}.form-field small{color:var(--muted);font-size:12px}.form-inline{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-status{font-size:12px;margin:0;overflow-wrap:anywhere}.form-status.error{color:var(--red)}.form-status.success{color:var(--teal)}.form-footer{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.graph-description{font-size:12px;margin-bottom:18px}.graph{position:relative}.graph-lanes{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}.graph-lane{min-width:0}.graph-lane h3{font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:500;margin-bottom:16px;text-transform:uppercase}.graph-nodes{display:grid;gap:13px}.graph-node{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;background:#162632;border:1px solid #3a5566;border-radius:11px;padding:13px;min-height:83px;min-width:0;gap:8px}.graph-node:hover{background:#1e3541;border-color:var(--teal)}.graph-node strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.graph-node small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.graph-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.graph-svg path{fill:none;stroke:#4e737b;stroke-width:1.4}.graph-svg circle{fill:var(--teal)}.graph-relations{margin-top:24px;border-top:1px solid var(--line);padding-top:15px}.graph-relations summary{min-height:44px;cursor:pointer;color:var(--muted);font-size:12px;display:flex;align-items:center}.edge-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}.edge-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:11px}.edge-list button{font-size:11px;min-height:44px;padding:7px 11px;background:#12202b;text-align:left;overflow-wrap:anywhere;max-width:100%}.edge-label{font-size:10px;color:#7f9da7}.graph-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}.project-card{background:#13212c;border:1px solid var(--line);border-radius:12px;padding:19px;min-width:0}.project-card h3{overflow-wrap:anywhere}.project-card h3 a{color:var(--text)}progress{width:100%;height:6px;accent-color:var(--teal);display:block;margin:15px 0 8px;border:0}progress::-webkit-progress-bar{background:#263c49;border-radius:5px}progress::-webkit-progress-value{background:var(--teal);border-radius:5px}.project-progress{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.system-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}.system-card h3{font-size:13px;margin-bottom:11px}.system-card p{font-size:12px;margin:12px 0 0;overflow-wrap:anywhere}.system-card code{font-size:10px;color:#b7ced6;overflow-wrap:anywhere}.section-gap{margin-top:24px}.trace-code{font-family:ui-monospace,monospace;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.trace-list .item-marker{border-radius:50%;background:#234a45;border-color:#639a8d}.trace-list .item-row{padding:17px 0}.timeline-date{font-size:11px;color:var(--muted);min-width:80px}.back-link{display:inline-flex;min-height:44px;align-items:center;font-size:12px;margin-bottom:20px}.event-day{font-size:11px;color:var(--teal);min-width:70px;padding-top:4px}.calendar-groups{display:grid;gap:20px}dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:24px;background:var(--panel);color:var(--text);border:1px solid #3b5263;border-radius:17px;overflow:auto}dialog::backdrop{background:rgba(3,9,16,.78);backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-head h2{margin:0;overflow-wrap:anywhere}.dialog-actions{margin-top:23px;display:flex;gap:10px}.status-strip{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,monospace;font-size:11px;overflow-wrap:anywhere}.full-span{grid-column:1/-1}
@media(min-width:1450px){main{padding-top:44px}.topbar,main,.page-footer{padding-left:55px;padding-right:55px}.notice{margin-left:55px;margin-right:55px}}
@media(max-width:1100px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:25px 12px}.brand{gap:10px;font-size:20px;padding:0 9px}.topbar{padding:0 26px}main{padding:29px 26px}.page-footer{padding:20px 26px}.notice{margin-left:26px;margin-right:26px}.content-grid,.detail-grid{grid-template-columns:1fr}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-lanes{gap:25px}.summary-card{padding:16px}.summary-card strong{font-size:26px}.summary-grid{gap:10px}.panel{padding:20px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{height:auto;position:static;padding:0;border:0;background:transparent}.brand,.nav-caption,.sidebar-bottom{display:none}.topbar{height:63px;padding:0 20px}.breadcrumb #page-label{font-size:12px}.desktop-only{display:none}.account{gap:2px}.account #user-label{max-width:125px;font-size:10px}.account button{padding:8px 10px;font-size:11px}main{padding:27px 20px 22px;min-height:calc(100dvh - 190px)}.page-footer{padding:17px 20px 103px;align-items:flex-start;font-size:9px}.page-footer span:last-child{text-align:right;max-width:160px}.notice{margin:15px 20px 0;font-size:12px;padding:12px 14px}.page-heading{gap:14px;flex-wrap:wrap;margin-bottom:24px}.page-heading .heading-actions{margin-left:auto}.page-heading p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:12px}h1{font-size:29px;letter-spacing:-.8px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:20px}.summary-card{min-height:101px;padding:17px;gap:12px}.summary-card strong{font-size:28px}.content-grid,.stack{gap:18px}.panel{padding:19px 16px;border-radius:14px}.panel-head h2{font-size:15px}.panel-head .button{font-size:10px}.provider-strip{padding:13px 15px;gap:10px;flex-wrap:wrap}.provider-strip p{font-size:10px}.item-row{gap:11px}.item-title{font-size:13px}.item-meta{font-size:10px}.item-action{padding:6px 9px;font-size:11px}.filters{gap:7px}.filters button{padding:8px 12px;font-size:11px}.filters .search{flex-basis:100%}.filters select{flex:1}.system-grid{grid-template-columns:1fr 1fr;gap:11px}.system-card{padding:15px 12px}.system-card h3{font-size:12px}.system-card p{font-size:10px}.graph-lanes{grid-template-columns:1fr;gap:24px}.graph-lane h3{margin-bottom:10px}.graph-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.graph-node{padding:12px;min-height:80px}.graph-svg{display:none}.graph-relations{margin-top:18px}.graph-relations summary{font-size:11px}.project-cards{grid-template-columns:1fr}.definition-list{grid-template-columns:100px minmax(0,1fr);font-size:12px;gap:12px}.detail-grid{gap:18px}.login-panel{margin:5vh auto 7vh;padding:33px 20px}.login-panel h1{font-size:29px}.login-panel>p{font-size:13px}.login-footnote{font-size:10px!important}.event-day{min-width:55px;font-size:10px}.timeline-date{font-size:10px;min-width:62px}.form-inline{grid-template-columns:1fr}.dialog-head{align-items:flex-start}dialog{padding:20px}.empty-state{padding:24px 13px}.empty-state p{font-size:11px}}
h1,h2,h3,p{overflow-wrap:anywhere}.page-heading>div{min-width:0}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.spinner{animation:none;border-color:var(--teal)}}
/* Gestión stays within Personal. Observatory styles and layout are unchanged. */
.gestion-page textarea { width:100%; min-height:100px; resize:vertical; box-sizing:border-box; background:#111c29; color:#edf4fa; border:1px solid #435467; border-radius:8px; padding:12px; font:inherit; }
.gestion-page input[type="checkbox"] { width:22px; height:22px; accent-color:#64dbcc; }
.gestion-page .panel { margin-bottom:20px; }
.gestion-artifact { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.65; max-height:65vh; overflow:auto; padding:16px; border:1px solid #435467; border-radius:8px; }
.gestion-page .form-stack button { min-height:44px; }
@media (max-width:640px) { .gestion-page .content-grid { grid-template-columns:1fr; } .gestion-page .definition-list dd { overflow-wrap:anywhere; } }
@media (max-width:640px) { body.gestion-active .navigation { grid-template-columns:repeat(7,minmax(0,1fr)); } body.gestion-active .navigation a { min-width:0; padding-inline:2px; font-size:10px; } }


/* AgentOS Studio 04.0 — real read-only aggregation. */
.studio-real{display:grid;gap:1.25rem;max-width:1440px;margin:0 auto;padding-bottom:2rem}.studio-real-hero{position:relative;overflow:hidden;border:1px solid #22495a;background:linear-gradient(135deg,#0e2830 0%,#10212a 62%,#0d1720 100%);border-radius:24px;padding:1.6rem;box-shadow:0 24px 60px #02080d55}.studio-real-hero:after{content:"";position:absolute;right:-5%;top:-70%;width:38rem;height:38rem;background:radial-gradient(circle,#2de0bd26 0%,transparent 68%);pointer-events:none}.studio-real-kicker{display:flex;align-items:center;gap:.55rem;font:700 .72rem/1.2 ui-monospace,monospace;letter-spacing:.13em;color:#9ee6d7}.studio-live-dot{color:#35e7bc;text-shadow:0 0 16px #35e7bc}.studio-real-hero h1{font-size:clamp(2rem,4vw,3.7rem);margin:.6rem 0 .35rem;letter-spacing:-.04em}.studio-real-hero>p{max-width:48rem;color:#aebdc8;margin:0}.studio-real-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:1.3rem}.studio-metric{border:1px solid #2d4654;background:#102631c7;border-radius:16px;padding:.9rem 1rem;display:grid;gap:.2rem}.studio-metric strong{font-size:1.75rem;color:#f2f7f5}.studio-metric span{font-size:.8rem;color:#9eb2bd}.studio-metric.active{border-color:#2aa78c}.studio-metric.warning{border-color:#b78a3d;background:#302919aa}.studio-real-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;position:relative;z-index:1}.studio-real-section,.studio-real-card{border:1px solid #203d49;background:#0c1b23e6;border-radius:20px;padding:1rem}.studio-real-section-head,.studio-real-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.studio-real-section-head h2,.studio-real-card h2{margin:.15rem 0 .8rem}.studio-source{font:600 .66rem/1.2 ui-monospace,monospace;color:#76a798;border:1px solid #24473f;border-radius:999px;padding:.25rem .5rem;white-space:nowrap}.studio-real-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.studio-project-card{min-width:0;border:1px solid #284d55;background:linear-gradient(160deg,#112a31,#0d2028);border-radius:18px;padding:1rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.studio-project-card:hover{transform:translateY(-3px);border-color:#40bca4;box-shadow:0 14px 30px #0006}.studio-project-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.studio-project-count{font:700 .72rem ui-monospace,monospace;color:#7fb6a8}.studio-project-card h3{font-size:1.06rem;margin:.75rem 0 .25rem}.studio-project-objective{min-height:2.4em;color:#9fb1ba;font-size:.84rem}.studio-project-next{border-top:1px solid #203b45;margin-top:.75rem;padding-top:.7rem;display:grid;gap:.2rem}.studio-project-next strong{font-size:.84rem}.studio-mini-label{font:700 .62rem ui-monospace,monospace;letter-spacing:.08em;color:#6f9f92;text-transform:uppercase}.studio-inline-link,.studio-more{display:inline-block;margin-top:.75rem;color:#77dec8;text-decoration:none;font-weight:700;font-size:.8rem}.studio-real-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.studio-real-list{list-style:none;padding:0;margin:0;display:grid;gap:.1rem}.studio-agenda-row,.studio-activity-row{display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #19333d}.studio-agenda-row:last-child,.studio-activity-row:last-child{border-bottom:0}.studio-agenda-kind{font:700 .62rem ui-monospace,monospace;color:#77dec8;min-width:4.8rem;padding-top:.12rem}.studio-agenda-row div,.studio-activity-row div{display:grid;gap:.12rem}.studio-agenda-row span:last-child,.studio-activity-row span:last-child{color:#8399a4;font-size:.75rem}.studio-activity-dot{width:.48rem;height:.48rem;border-radius:50%;background:#45d5b5;margin-top:.3rem;box-shadow:0 0 10px #45d5b588}.studio-agent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.studio-agent-chip{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid #203f49;border-radius:12px;padding:.55rem .65rem;background:#10232b}.studio-agent-chip strong{font-size:.78rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.studio-control-card .definition-list{margin-top:.25rem}.studio-real-footnote{color:#667d88;font-size:.75rem;text-align:center}.navigation [data-view="studio"]{border-color:#1f4a45}.navigation [data-view="studio"][aria-current="page"]{background:#174a42;color:#d8fff5}.studio-real .empty-state{min-height:7rem}
@media(max-width:900px){.studio-real-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-real-grid{grid-template-columns:1fr}}@media(max-width:560px){.studio-real-hero{padding:1.1rem;border-radius:18px}.studio-real-metrics{grid-template-columns:1fr 1fr}.studio-real-actions .button{flex:1 1 42%}.studio-real-grid{gap:.65rem}.studio-real-projects{grid-template-columns:1fr}.studio-agent-grid{grid-template-columns:1fr}}
.item-edit{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:9px;align-items:center}
@media(max-width:720px){.item-edit{grid-template-columns:minmax(0,1fr) 96px}.item-edit button{grid-column:1/-1}}
/* AgentOS Office (appended to styles.css). Pixel art scales with integer-like crispness. */
.office-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:20px;align-items:start}
.office-main{display:grid;gap:14px;min-width:0}
.office-stage{position:relative;width:100%;aspect-ratio:384/256;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#101a24}
.office-canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}
.office-tags{position:absolute;inset:0;pointer-events:none}
.office-tag{position:absolute;transform:translate(-50%,0);pointer-events:auto;min-height:0;padding:2px 7px;border-radius:7px;font-size:11px;line-height:1.35;white-space:nowrap;background:rgba(9,15,23,.82);border:1px solid #3c5568;color:var(--text)}
.office-tag:hover,.office-tag:focus-visible{border-color:var(--teal);color:var(--teal)}
.office-tag.blueprint{color:#9cc8ff;border-style:dashed;background:rgba(9,15,23,.66)}
.office-tag.offline{color:var(--red)}
.office-zone{position:absolute;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(230,240,248,.62);text-shadow:0 1px 0 #000}
.office-hud{display:grid;gap:14px}
.office-hud .panel{padding:16px 18px}
.office-floors{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.office-floor{font-size:12px;color:var(--muted);padding:5px 9px;border:1px solid var(--line);border-radius:8px}
.office-floor.doing{color:var(--text);border-color:#35655f;background:var(--teal-dim)}
.office-floor.next{border-style:dashed;color:#b9c8d6}
.office-floor.done{color:var(--teal)}
.office-alerts,.office-missions{margin:0;padding-left:16px;display:grid;gap:7px;font-size:12px}
.office-alert small{display:block;color:var(--muted)}
.office-alert.red{color:var(--red)}.office-alert.amber{color:var(--amber)}.office-alert.grey{color:var(--muted)}
.office-card p{margin-bottom:8px;font-size:13px}
.office-skills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.office-skill{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.office-skill.on{color:var(--teal);border-color:#35655f}
.office-skill.off{color:var(--red)}
.office-legend{font-size:12px;color:var(--muted)}
.office-legend summary{cursor:pointer;min-height:36px;display:flex;align-items:center}
.office-legend ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}
.office-legend strong{color:var(--text);font-weight:500}
.office-console.locked{opacity:.75;border-style:dashed}
.office-hud progress{margin:4px 0}
.office-hint{font-size:12px;margin:0}
.office-team{display:grid;gap:6px}
.office-roster summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;color:var(--teal)}
.office-roster[open] summary{margin-bottom:6px}
.office-member{min-height:44px;text-align:left;font-size:12px;padding:8px 12px}
.office-member.blueprint{color:#9cc8ff;border-style:dashed}
.office-member.offline{color:var(--red)}
.office-tag-short{display:none}
.office-stage{container-type:inline-size}
@media(max-width:900px){.office-layout{grid-template-columns:1fr}}
@container (max-width:780px){.office-tag-full{display:none}.office-tag-short{display:inline}.office-zone{display:none}}
@container (max-width:540px){.office-tag{font-size:8px;padding:0 4px;border-radius:5px}.office-tag-level{display:none}}
.office-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.office-spot{position:absolute;transform:translate(-50%,0);min-height:0;padding:1px 7px;border-radius:7px;font-size:10px;line-height:1.35;background:rgba(32,74,70,.82);border:1px solid #4f9a8c;color:#d4f7ee;pointer-events:auto}
.office-spot:hover,.office-spot:focus-visible{border-color:var(--teal);color:var(--teal)}
.office-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.office-metric{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;background:#101c25}
.office-metric strong{font-size:20px;font-weight:500;line-height:1.1;color:var(--text)}
.office-metric span{font-size:11px;color:var(--muted)}
@container (max-width:540px){.office-spot{font-size:8px;padding:0 4px}}
/* AgentOS Office v1.5 · the office that grows: floors, Almacén, Taller, Hoy, Sala, Logros. */
.office-stage{aspect-ratio:384/352}
.office-floorbar{display:flex;flex-wrap:wrap;gap:6px}
.office-floor-tab{min-height:36px;padding:6px 12px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:#101c25;color:var(--muted)}
.office-floor-tab.current{color:var(--text);border-color:#35655f;background:var(--teal-dim)}
.office-floor-tab.locked{border-style:dashed}
.office-quick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.office-quick-button{min-height:44px;padding:6px 4px;font-size:12px;border-radius:12px;border:1px solid #2d4a58;background:#12212c;color:var(--text)}
.office-quick-button:hover,.office-quick-button:focus-visible{border-color:var(--teal);color:var(--teal)}
.office-celebrate{display:none}
/* A logro or a new level is an event: a toast that stays visible over sheets and scroll, then fades. */
.office-celebrate.show{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;position:fixed;z-index:31;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);width:max-content;max-width:min(620px,calc(100% - 24px));margin:0;padding:12px 16px;border-radius:14px;border:1px solid #6c5a1f;background:linear-gradient(90deg,#3a2f0c,#1d2a1d);color:#ffe9a6;box-shadow:0 16px 40px #000c;animation:office-toast-in .35s ease-out,office-toast-out .5s ease-in 10s forwards}
.office-celebrate.show{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px;row-gap:2px}
.office-celebrate.show>strong{grid-column:1;grid-row:1}
.office-celebrate.show>span{grid-column:1;grid-row:2;font-size:13px}
.office-celebrate.show>button{grid-row:1/span 2}
@keyframes office-toast-in{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes office-toast-out{to{opacity:0;visibility:hidden}}
.office-celebrate.show strong{font-size:15px}
.office-detail.open .panel{border-color:#35655f}
.office-close{min-height:36px;padding:4px 12px;font-size:12px}
.office-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.office-section h3{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text)}
.office-section summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--teal)}
.office-chips{display:flex;flex-wrap:wrap;gap:6px}
.office-chip{min-height:32px;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:#101c25;color:var(--muted)}
.office-chip.on{color:var(--teal);border-color:#35655f}
.office-mini{min-height:36px;padding:4px 10px;font-size:12px;border-radius:10px}
.office-segment{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.office-segment [aria-pressed="true"]{background:var(--teal-dim);border-color:var(--teal);color:var(--text)}
.office-meta{display:grid;gap:2px;margin:8px 0}
.office-field{display:grid;gap:4px;margin:8px 0;font-size:12px;color:var(--muted)}
.office-field input,.office-field select,.office-field textarea,.office-card textarea,.office-row input,.office-row select,.office-list-row input{width:100%;min-height:40px;border-radius:10px;border:1px solid #3c5568;background:#0f1923;color:var(--text);padding:8px 10px}
.office-card textarea{resize:vertical}
.office-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-items:end}
.office-list-rows{display:grid;gap:6px;margin-bottom:6px}
.office-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.office-counter{display:block;text-align:right;color:var(--muted)}
.office-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.office-skill-card{display:grid;gap:4px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);border-left:4px solid var(--skill,#3c5568);background:#101c25;color:var(--text);min-height:44px}
.office-skill-card small{color:var(--muted);font-size:12px;line-height:1.4}
.office-skill-icon{font-size:18px;line-height:1}
.office-skill-meta{font-size:11px;color:var(--teal)}
.office-tool{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#101c25}
.office-tool small{color:var(--muted)}
.office-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;padding:8px 12px;border-radius:10px;background:var(--teal-dim);border:1px solid #35655f}
.office-steps{margin:0;padding-left:20px;display:grid;gap:4px;font-size:13px}
.office-goals{display:grid;gap:8px}
.office-goal{display:grid;gap:4px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#101c25;color:var(--text);min-height:44px}
.office-goal small,.office-score small{color:var(--muted)}
.office-goal progress,.office-score progress{width:100%}
.office-score{display:grid;gap:3px;margin:8px 0}
.office-agenda{margin:6px 0 10px;padding-left:20px;display:grid;gap:4px;font-size:13px}
.office-warning{color:var(--amber)}
.office-suggest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:6px 0;border-bottom:1px dashed var(--line)}
.office-suggest p{margin:0;font-size:13px}
.office-level{display:grid;gap:2px;margin-bottom:8px}
.office-level strong{font-size:18px}
.office-checklist{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:4px;font-size:13px;color:var(--muted)}
.office-checklist .done{color:var(--teal)}
.office-award{display:grid;gap:2px;padding:10px 12px;border-radius:12px;border:1px dashed var(--line);color:var(--muted)}
.office-award.earned{border-style:solid;border-color:#6c5a1f;background:#1c1a0f;color:#ffe9a6}
.office-floor-button{display:block;width:100%;min-height:44px;margin:6px 0;text-align:left;border-radius:12px}
.office-floor-button.locked{border-style:dashed;color:var(--muted)}
.office-activity{margin:0;padding-left:16px;display:grid;gap:5px;font-size:12px;color:var(--muted)}
.office-spark{width:100%;height:32px;display:block}
.office-spark path{fill:none;stroke:var(--teal);stroke-width:1.6}
.office-link{min-height:0;padding:0;border:0;background:none;color:var(--amber);text-align:left;text-decoration:underline;font-size:12px}
@media(max-width:720px){
  .office-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
  .office-detail.open{position:fixed;left:0;right:0;bottom:0;z-index:30;max-height:78vh;overflow:auto;padding:0 max(10px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:var(--bg);border-top:1px solid #35655f;border-radius:18px 18px 0 0;box-shadow:0 -18px 40px #000a}
  .office-detail.open .panel{border:0;padding:14px 4px}
  .office-cards{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.office-celebrate.show{animation:office-toast-out .5s linear 10s forwards}}
.office-strip{display:flex;flex-wrap:wrap;gap:6px}
.office-strip button{min-height:36px;padding:5px 12px;border-radius:999px;font-size:12px;background:#12212c;border-color:#2d4a58}
.office-strip .level{border-color:#6c5a1f;color:#ffe9a6}
.office-strip .attention{border-color:#654e2d;color:var(--amber)}
.office-section small,.office-card>small{display:block;margin-top:4px}
.office-score.losing strong{color:var(--amber)}
.office-score.winning strong{color:var(--text)}
.office-backdrop{display:none}
.office-first-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:13px}
.office-first-steps .done{color:var(--teal)}
.office-link-step{min-height:36px;padding:4px 10px;border-radius:10px;font-size:12px;text-align:left;background:#12212c}
@media(max-width:720px){.office-backdrop.show{display:block;position:fixed;inset:0;z-index:29;background:rgba(3,9,16,.62)}}
/* AgentOS Office v1.6 · the office P6 arranges and talks to: rooms, looks, pie menu, chat, sprites, SEC quarantine, receipt shelf. */
.office-quick{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}
.office-edit-toggle.on{background:var(--teal-dim);border-color:var(--teal);color:var(--teal)}
.office-zone{pointer-events:auto;min-height:0;padding:0 3px;border:0;border-radius:4px;background:rgba(9,15,23,.35);font-size:9px;line-height:1.5;letter-spacing:1.2px;text-transform:uppercase;color:rgba(230,240,248,.78);text-shadow:0 1px 0 #000;cursor:pointer}
.office-zone:hover,.office-zone:focus-visible{background:rgba(21,60,57,.92);color:var(--teal)}
.office-tags.editing .office-tag,.office-tags.editing .office-spot{pointer-events:none;opacity:.5}
.office-tags.editing .office-zone{background:rgba(21,60,57,.92);color:var(--teal);outline:1px dashed rgba(138,224,206,.7)}
.office-editbar{display:none}
.office-editbar.show{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:absolute;left:8px;right:8px;top:8px;z-index:3;padding:8px 10px;border-radius:12px;background:rgba(9,15,23,.92);border:1px solid #35655f;font-size:12px;color:var(--text)}
.office-editbar span{flex:1 1 200px;min-width:0}
.office-say{display:none}
.office-say.show{display:block;position:absolute;z-index:2;transform:translate(-50%,-100%);width:max-content;max-width:min(260px,70%);padding:6px 9px;border-radius:10px;background:#fff1e8;color:#1d2b53;font-size:11px;line-height:1.35;border:2px solid #1d2b53;box-shadow:0 3px 0 rgba(0,0,0,.35);pointer-events:none;animation:office-pop .18s ease-out}
.office-say.show::after{content:"";position:absolute;left:50%;bottom:-10px;margin-left:-5px;border:5px solid transparent;border-top-color:#1d2b53}
.office-pie-layer{position:absolute;inset:0;z-index:4;background:rgba(3,9,16,.3)}
.office-pie{position:absolute;width:0;height:0}
.office-pie-center,.office-pie-item{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}
.office-pie-center{left:0;top:0;width:80px;height:80px;min-height:0;padding:4px;border-radius:50%;background:#0f1923;border:2px solid var(--teal);color:var(--text);font-size:11px;line-height:1.1;box-shadow:0 6px 18px #000a}
.office-pie-center small{font-size:9px;color:var(--teal)}
.office-pie-name{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.office-pie-item{width:60px;height:60px;min-height:0;padding:2px;border-radius:50%;background:#12212c;border:1px solid #3c6a76;color:var(--text);font-size:9px;line-height:1.05;box-shadow:0 4px 12px #0009;animation:office-pie-in .16s ease-out both}
.office-pie-item:hover,.office-pie-item:focus-visible{background:var(--teal-dim);border-color:var(--teal);color:var(--teal);outline:none}
.office-pie-icon{font-size:17px;line-height:1}
.office-pie-label{max-width:56px}
@keyframes office-pie-in{from{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes office-pop{from{opacity:0;transform:translate(-50%,-85%)}to{opacity:1;transform:translate(-50%,-100%)}}
.office-portrait,.office-msg-face,.office-look-preview,.office-decor-thumb,.office-slip-art,.office-sprite-small,.office-sprite-big,.office-sprite-grid,.office-receipt-8bit{image-rendering:pixelated;image-rendering:crisp-edges}
.office-agent-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.office-agent-id{display:grid;gap:1px;min-width:0}
.office-agent-id small{color:var(--muted)}
.office-tabs{position:sticky;top:0;z-index:1;background:var(--panel);padding:6px 0}
.office-voice{font-size:12px}
.office-chat-log{display:grid;gap:8px;max-height:min(46vh,420px);overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:#0d1620;margin:8px 0;align-content:start}
.office-msg{display:flex;gap:6px;align-items:flex-end;max-width:92%}
.office-msg.user{margin-left:auto;flex-direction:row-reverse}
.office-msg-body{padding:8px 11px;border-radius:12px;background:#162331;border:1px solid var(--line);min-width:0}
.office-msg-body p{margin:0;color:var(--text);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.office-msg-body small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.office-msg.user .office-msg-body{background:var(--teal-dim);border-color:#35655f}
.office-msg.system .office-msg-body{background:#352c1d;border-color:#654e2d}
.office-msg.system .office-msg-body p{color:var(--amber)}
.office-msg-face{height:26px;width:auto;flex:none}
.office-dots{display:inline-flex;gap:3px;padding:4px 0}
.office-dots i{width:6px;height:6px;background:var(--muted);animation:office-blink 1s infinite steps(2)}
.office-dots i:nth-child(2){animation-delay:.2s}.office-dots i:nth-child(3){animation-delay:.4s}
@keyframes office-blink{50%{opacity:.25}}
.office-chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.office-chat-input textarea{min-height:56px}
.office-chat-status{display:block;color:var(--muted);margin:2px 0 6px}
.office-chat-empty{font-size:12px;margin:0}
.office-proposal{margin-top:8px;padding:8px 10px;border-radius:10px;border:1px dashed #6c5a1f;background:#1c1a0f;display:grid;gap:4px}
.office-proposal strong{color:#ffe9a6;font-size:12px}
.office-action-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:8px 0}
.office-tool-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.office-tool-list li{display:grid;gap:2px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);font-size:12px}
.office-tool-list li small{color:var(--muted)}
.office-notes{display:grid;gap:8px;margin:6px 0}
.office-note{display:grid;gap:2px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#101c25}
.office-note.failure{border-left:3px solid var(--red)}
.office-note.lesson{border-left:3px solid var(--teal)}
.office-note.promoted{opacity:.78}
.office-note small{color:var(--muted)}
.office-look{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.office-look-preview{width:64px;height:128px;border-radius:12px;background:repeating-conic-gradient(#1b2633 0% 25%,#223040 0% 50%) 50%/16px 16px;border:1px solid var(--line)}
.office-chars{display:flex;flex-wrap:wrap;gap:8px}
.office-char{min-height:56px;padding:4px 10px;background:#101c25}
.office-char[aria-pressed="true"],.office-swatch[aria-pressed="true"],.office-floor-swatch[aria-pressed="true"]{border-color:var(--teal);outline:2px solid var(--teal);outline-offset:1px}
.office-swatches{display:flex;flex-wrap:wrap;gap:6px}
.office-swatch{width:36px;height:36px;min-height:0;padding:0;border-radius:9px;border:1px solid #ffffff33;background:#0f1923}
.office-sprite-work{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}
.office-sprite-grid{width:min(192px,48vw);height:auto;aspect-ratio:1/2;border:1px solid #3c5568;border-radius:6px;touch-action:none;cursor:crosshair}
.office-sprite-side{display:grid;gap:8px}
.office-sprite-previews{display:flex;align-items:flex-end;gap:10px;padding:8px;border-radius:10px;background:#0d1620;width:max-content}
.office-sprite-small{width:16px;height:32px}
.office-sprite-big{width:48px;height:96px}
.office-palette{display:grid;grid-template-columns:repeat(4,36px);gap:6px}
.office-room-list,.office-import-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.office-room-card,.office-import-card{display:grid;gap:3px;text-align:left;padding:10px 12px;border-radius:12px;background:#101c25;min-height:44px}
.office-room-card small,.office-import-card small{color:var(--muted)}
.office-room-note{color:var(--text)}
.office-people{display:flex;flex-wrap:wrap;gap:8px}
.office-person{display:flex;align-items:center;gap:6px;min-height:48px;padding:4px 10px;background:#101c25}
.office-floors-pick{display:flex;flex-wrap:wrap;gap:6px}
.office-floor-swatch{min-height:40px;padding:4px 10px;font-size:12px;border-radius:10px;color:#fff;text-shadow:0 1px 0 #000}
.floor-madera{background:#6b4a2b}.floor-verde{background:#2f5d3a}.floor-damero{background:linear-gradient(45deg,#3a3f48 25%,#545b66 25% 50%,#3a3f48 50% 75%,#545b66 75%) 0 0/12px 12px}
.floor-baldosa{background:#4a5563}.floor-arena{background:#8a6c44}.floor-azul{background:#2d4f86}.floor-rosa{background:#7a3d5a}.floor-noche{background:#141a33}
.office-decor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.office-decor{display:grid;justify-items:center;gap:4px;min-height:84px;padding:8px 4px;font-size:11px;background:#101c25}
.office-decor-thumb{height:40px;width:auto}
.office-decor-one{display:flex;justify-content:center;padding:10px}
.office-decor-one .office-decor-thumb{height:72px}
.office-badge{display:inline-flex;align-items:center;width:max-content;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid}
.office-badge.low{color:var(--teal);border-color:#35655f;background:var(--teal-dim)}
.office-badge.medium{color:var(--amber);border-color:#654e2d;background:#352c1d}
.office-badge.high{color:var(--red);border-color:#6a3f43;background:#372124}
.office-review-head{display:grid;gap:4px;margin-bottom:6px}
.office-review-head small{color:var(--muted);overflow-wrap:anywhere}
.office-findings{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.office-finding{display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px;font-size:12px}
.office-finding small{display:block;color:var(--muted);overflow-wrap:anywhere}
.office-finding.high>span{color:var(--red)}.office-finding.medium>span{color:var(--amber)}
.office-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;border:1px solid #6a3f43;background:#372124;font-size:12px}
.office-mini.danger{background:#5a2730;border-color:#a04652;color:#ffd5da}
.office-shelves{display:grid;gap:14px}
.office-shelf{display:grid;gap:4px}
.office-shelf-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:baseline}
.office-shelf-head strong{text-transform:capitalize}
.office-shelf-head small{color:var(--muted)}
.office-shelf-row{display:flex;flex-wrap:wrap;gap:8px;padding:8px 8px 4px;border-radius:10px 10px 0 0;background:linear-gradient(#1a2733,#14202b)}
.office-shelf-plank{height:8px;border-radius:0 0 6px 6px;background:linear-gradient(#8a6238,#6b4a2b);box-shadow:0 3px 0 #3a2a1a}
.office-slip{display:grid;justify-items:center;gap:2px;min-height:0;padding:4px 4px 2px;border:0;background:transparent;font-size:10px;color:var(--text)}
.office-slip:hover,.office-slip:focus-visible{background:#1e3541}
.office-slip.nophoto{color:var(--muted)}
.office-slip-art{width:40px;height:52px}
.office-receipt-photo{margin:0 0 8px;display:flex;justify-content:center;min-height:120px;align-items:center;border-radius:12px;background:#0d1620;border:1px solid var(--line);overflow:hidden}
.office-receipt-photo img{max-width:100%;max-height:60vh;display:block}
.office-receipt-8bit{width:min(240px,70vw);height:auto}
.office-receipt-data{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:8px 0;font-size:13px}
.office-receipt-data dt{color:var(--muted)}
.office-receipt-data dd{margin:0;overflow-wrap:anywhere}
@media(max-width:720px){.office-look{grid-template-columns:1fr}.office-pie-item{width:56px;height:56px}.office-room-list,.office-import-list,.office-action-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.office-pie-item,.office-say.show{animation:none}.office-dots i{animation:none}}
/* ---- v1.7: la oficina que dirige (Tu turno, planes de CHIEF, obras, visitantes) ---- */
.office-page .page-heading .heading-actions{align-items:center;flex-wrap:wrap}
.office-page .heading-actions .office-strip button{min-height:40px}
.office-turn{display:grid;gap:12px;border-color:#2f4f5b}
.office-turn .panel-head{margin-bottom:0}
.office-turn-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.office-turn-item{border:1px solid var(--line);border-left:4px solid #4b6070;border-radius:12px;background:#101c25;overflow:hidden}
.office-turn-item.red{border-left-color:#ff5d6c;background:#24151a}
.office-turn-item.amber{border-left-color:var(--amber)}
.office-turn-item.blue{border-left-color:#5aa9ff}
.office-turn-item.green{border-left-color:#4fd18b}
.office-turn-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:52px;margin:0;padding:8px 12px;border:0;border-radius:0;background:transparent;color:var(--text);text-align:left;text-decoration:none}
button.office-turn-row:hover,a.office-turn-row:hover{background:#15283a;text-decoration:none}
button.office-turn-row:hover .office-turn-go,a.office-turn-row:hover .office-turn-go{border-color:var(--teal)}
.office-turn-icon{font-size:18px;text-align:center}
.office-turn-text{display:grid;gap:1px;min-width:0}
.office-turn-text strong{font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.office-turn-text small{color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.office-turn-go{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #2d4a58;border-radius:999px;font-size:12px;color:var(--teal);white-space:nowrap}
.office-turn-chevron{font-size:16px;line-height:1}
.office-turn-more{justify-self:start;margin-top:6px;min-height:40px;padding:6px 2px;border:0;background:transparent;color:var(--teal)}
.office-turn-empty p{margin:0 0 4px;color:var(--text)}
.office-plan-bar{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.office-plan-bar textarea{min-height:64px}
.office-plan-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.office-plan-row small{color:var(--muted)}
.office-floorline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.office-zoom{display:none;min-height:40px;padding:6px 12px;border-radius:999px;font-size:12px;background:#12212c;border-color:#2d4a58}
.office-stage-wrap{position:relative;border-radius:14px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.office-stage-wrap.zoomed .office-stage{width:200%;max-width:none}
.office-tag-lamp{margin-right:4px;font-size:9px;vertical-align:1px}
.office-tag-lamp.green{color:#4fd18b}.office-tag-lamp.blue{color:#5aa9ff}.office-tag-lamp.amber{color:#f2b84b}.office-tag-lamp.red{color:#ff5d6c}.office-tag-lamp.grey{color:#8a97a8}
.office-tag.visitor{transform:translate(-50%,0);border-style:dashed;border-color:#8a7a44;color:#ffe9a6;background:rgba(30,24,10,.82)}
.office-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.office-way{display:grid;gap:8px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:#101c25}
.office-way.recommended{border-color:#35655f;box-shadow:inset 0 0 0 1px #35655f;background:#0f2324}
.office-way p{margin:0;color:var(--text)}
.office-way-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.office-way-steps{margin:0;padding-left:18px;color:var(--muted);font-size:13px;display:grid;gap:3px}
.office-way-badges{display:flex;flex-wrap:wrap;gap:6px}
.office-way small{color:var(--muted)}
.office-plan-goal{padding:10px 12px;border-radius:12px;background:#0e1822;border:1px solid var(--line)}
.office-plan-goal p{margin:2px 0 0;color:var(--text)}
.office-plan-goal small{color:var(--muted)}
.office-plan-questions{border:1px solid #654e2d;border-radius:12px;padding:12px;background:#221d14}
.office-plan-facts{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:3px}
.office-plan-list{display:grid;gap:8px}
.office-plan-card{display:grid;gap:3px;text-align:left;justify-items:start;padding:10px 12px;border-radius:12px;background:#12212c}
.office-plan-card small{color:var(--muted)}
.office-plan-card.proposed{border-color:#654e2d}
.office-thinking{display:grid;gap:10px;justify-items:start}
.office-wo{white-space:pre-wrap;overflow-wrap:anywhere;max-height:380px;overflow:auto;margin:0;padding:12px;border-radius:10px;background:#0b141d;border:1px solid var(--line);font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d6e2ea;user-select:text}
.office-wo-box{display:grid;gap:8px}
.office-wo-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.office-wo-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--muted)}
.office-release{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0 0 6px;font-size:13px}
.office-release dt{color:var(--muted)}
.office-release dd{margin:0;overflow-wrap:anywhere}
.office-canary-progress{display:grid;gap:2px}
.office-canary-progress progress{margin:4px 0}
.office-canary-group h4{margin:12px 0 6px;font-size:13px;color:var(--muted);font-weight:600;letter-spacing:.2px}
.office-cases{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.office-case{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#101c25}
.office-case.pass{border-color:#35655f}
.office-case.fail{border-color:#6a3f43;background:#1f1518}
.office-case.blocked{opacity:.7;border-style:dashed}
.office-case-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start}
.office-case-n{font-weight:700;color:var(--muted);white-space:nowrap}
.office-case small{color:var(--muted)}
.office-case-status.pass{color:var(--teal)}.office-case-status.fail{color:var(--red)}.office-case-status.pending{color:var(--muted)}
.office-case-blocked{color:var(--amber)!important}
.office-case-note{color:#ffd0d0!important}
.office-case-actions{display:flex;flex-wrap:wrap;gap:6px}
.office-case-fail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.office-canary-summary{display:grid;gap:8px;margin-top:10px}
.office-canary-summary h4{margin:0}
.office-roadmap summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--muted)}
.office-error{color:var(--red)}
.office-ok{color:var(--teal)}
@media(max-width:720px){
  .office-zoom{display:inline-flex;flex-shrink:0}
  .office-floorline{flex-wrap:nowrap}
  .office-floorline .office-floorbar{flex-wrap:nowrap;overflow-x:auto;min-width:0;flex:1;scrollbar-width:none;padding-bottom:2px}
  .office-floorline .office-floorbar::-webkit-scrollbar{display:none}
  .office-floorline .office-floorbar button{flex-shrink:0}
  .office-turn{padding:16px 14px}
  .office-turn-row{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px 10px}
  .office-turn-go{padding:0;border:0;font-size:12px}
  .office-turn-go-label{display:none}
  .office-turn-chevron{font-size:24px;color:var(--teal)}
  .office-page .page-heading .heading-actions{margin-left:0;width:100%}
  .office-case-fail{grid-template-columns:1fr}
}
.office-warn{color:var(--amber)}
.task-status-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-width:0}
.task-status-controls button{min-height:44px;white-space:normal}
.office-request-state{padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}
.office-card>.office-way-badges{margin-bottom:8px}
.office-plan-goal{margin-bottom:12px}
.office-plan-questions{margin:4px 0 12px}
.office-ways{margin:4px 0 4px}
/* v1.7: grids sized by their container, never by a long line of text (no sideways page on phones) */
.office-main{grid-template-columns:minmax(0,1fr)}
.office-turn-box,.office-turn,.office-turn-body,.office-turn-row{min-width:0}
.office-turn,.office-turn-list,.office-plan-bar{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){.office-layout{grid-template-columns:minmax(0,1fr)}}
.finance-cfo main{max-width:1040px;margin:auto;padding:24px;overflow-wrap:anywhere}
.finance-cfo .panel{padding:20px;margin:16px 0}
.finance-cfo img{display:block;max-width:100%;height:auto;background:#fff;color:#111;margin:16px 0}
.finance-cfo label{display:grid;gap:8px;margin:12px 0}
.finance-cfo details{margin:16px 0}
/* Mi semana uses the Office's real state, with space for decisions instead of a map. */
/* UI 2026-11 «De objetivo a acción»: shared navigation, Mi semana, Gastos and methods.
   Tokens live in :root. Colour carries state, never decoration: mint = recorded or
   current, amber = needs your review, coral = error. No web fonts, images or CDN. */

/* ---- Navigation: grouped sidebar; on phones four destinations and «Más» ---- */
.nav-group{margin:22px 14px 6px;color:var(--faint);font-size:12px;font-weight:600;letter-spacing:.1px}
.navigation>.nav-group:first-child{margin-top:0}
.nav-more{display:none}
.nav-more-panel,.nav-slot{display:contents}
@media(max-width:720px){
  html{scroll-padding-bottom:calc(var(--bar-h) + 16px)}
  .navigation{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;flex-direction:row;align-items:stretch;gap:2px;margin:0;height:auto;padding:6px 6px max(6px,env(safe-area-inset-bottom,0px));background:#101c28;border-top:1px solid #344553;box-shadow:0 -8px 24px #060e1780}
  .navigation>a,.navigation>.nav-more{flex:1 1 0;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 2px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:var(--muted);font-size:11px;font-weight:550;line-height:1.1;text-align:center}
  .navigation>a span:last-child,.navigation>.nav-more span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .navigation .nav-icon{width:auto;font-size:19px}
  .navigation>a[aria-current=page]{background:var(--teal-dim);color:var(--teal);box-shadow:none}
  .navigation>.nav-group{display:none}
  .navigation>.nav-more{display:flex}
  .navigation>.nav-more[aria-expanded=true]{background:var(--panel-raised);color:var(--text)}
  .navigation:has(.nav-more-panel [aria-current=page])>.nav-more{color:var(--teal)}
  .nav-more-panel{display:none}
  .navigation[data-more=open]::before{content:"";position:fixed;inset:0 0 var(--bar-h) 0;background:#030910a6}
  .navigation[data-more=open] .nav-more-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;position:fixed;left:8px;right:8px;bottom:calc(var(--bar-h) + 8px);z-index:12;max-height:calc(100dvh - var(--bar-h) - 72px);overflow:auto;padding:12px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:#101c28;box-shadow:0 -12px 40px #000a}
  .nav-more-panel .nav-group{grid-column:1/-1;margin:8px 4px 0}
  .nav-more-panel .nav-group:first-of-type{margin-top:4px}
  .nav-more-panel a{min-height:58px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 4px;border-radius:12px;background:var(--panel);font-size:12px;text-align:center}
  .nav-more-panel a[aria-current=page]{box-shadow:inset 0 0 0 1px var(--teal-line)}
}
@media(max-width:380px){.navigation>a,.navigation>.nav-more{font-size:10px;letter-spacing:-.1px}}

/* ---- Mi semana ---- */
.office-week-active>.page-heading,.office-week-active .office-hud,.office-week-active .office-main>:not(.office-detail){display:none}
.office-week-active .office-layout{display:block}
.office-week-active .office-detail{display:none}
.office-week-active .office-detail.open{display:block;position:fixed;top:7vh;right:max(24px,calc((100vw - 860px)/2));bottom:auto;left:max(24px,calc((100vw - 860px)/2));z-index:30;max-height:86vh;overflow:auto;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:0 24px 90px #000a;scrollbar-gutter:stable}
.office-week-active .office-detail.open .panel{margin:0;padding:28px;border:0;background:transparent}
.office-week-active .office-detail.open h2:focus{outline:none}
.office-week-active .office-detail.open h2:focus-visible{outline:3px solid var(--teal);outline-offset:6px;border-radius:4px}
.office-week-active .office-detail .office-close,.office-week-active .office-detail .office-mini{min-height:44px}
.office-week-active .office-backdrop.show{display:block;position:fixed;inset:0;z-index:29;background:#030910b8}
body:has(.office-week-active .office-detail.open) #notice:not([hidden]){position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:40;width:min(620px,calc(100vw - 32px));margin:0;box-shadow:0 12px 40px #000a}
.office-week{max-width:1120px;margin:0 auto;min-width:0;font-size:15px}
.office-week button,.office-week a.button{min-height:44px}
.office-week-header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:2px 0 26px}
.office-week-heading{min-width:0;max-width:740px}
.office-week-kicker{margin:0 0 8px;color:var(--teal);font-size:14px;font-weight:600}
.office-week-heading h1{font-size:clamp(40px,4.2vw,56px);line-height:1.02;font-weight:600;margin:0 0 14px}
.office-week-heading h1:focus{outline:none}
.office-week-intro{max-width:62ch;margin:0 0 16px;font-size:15px;line-height:1.65;color:var(--text-2)}
.office-week-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex-shrink:0}
.week-tally{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:var(--muted);font-size:13px}
.week-dots{display:inline-flex;flex-wrap:wrap;gap:6px}
.week-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-input)}
.week-dot.is-open{border-color:var(--teal)}
.week-dot.is-done{border-color:var(--teal);background:var(--teal)}
.week-dot.is-missed{border-color:var(--amber);background:linear-gradient(135deg,transparent 42%,var(--amber) 42% 58%,transparent 58%)}
.week-tally-text{color:var(--text);font-weight:600}
.week-stale{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 14px;padding:12px 16px;border:1px solid var(--info-line);border-radius:var(--r-md);background:var(--info-dim)}
.week-stale.is-error{border-color:var(--amber-line);background:var(--amber-dim)}
.week-stale p{margin:0;color:var(--text);max-width:70ch}
.office-week-status{margin:0 0 14px;padding:12px 16px;border-left:3px solid var(--info);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--info-dim);color:var(--text);font-size:14px;line-height:1.55}
.office-week-status.is-success{border-left-color:var(--teal);background:var(--teal-dim)}
.office-week-status.is-warning{border-left-color:var(--amber);background:var(--amber-dim)}
.office-week-status:empty{display:none}
.office-week-status:focus{outline:none}
.office-week-status:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
/* The one lit surface of the page: what to do now and why. */
.week-now{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label actions" "title actions" "reason actions";align-items:center;gap:6px 28px;margin:0 0 40px;padding:24px 28px 24px 30px;border:1px solid #2c4559;border-radius:var(--r-lg);background:var(--surface-lit);box-shadow:inset 4px 0 0 var(--teal)}
.week-now.is-warning,.week-now.is-blocked{box-shadow:inset 4px 0 0 var(--amber)}
.week-now-label{grid-area:label;margin:0;color:var(--teal);font-size:13px;font-weight:650}
.week-now.is-warning .week-now-label,.week-now.is-blocked .week-now-label{color:var(--amber)}
.week-now-title{grid-area:title;margin:0;font-family:var(--font-display);font-size:clamp(22px,2.3vw,29px);line-height:1.2;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.week-now-reason{grid-area:reason;margin:0;max-width:66ch;color:var(--text-2)}
.week-now-actions{grid-area:actions;display:flex;gap:8px;justify-self:end}
.week-now-actions .button{min-width:180px;font-size:15px}
.week-now.is-new{animation:week-now-in .8s ease-out}
@keyframes week-now-in{from{transform:translateY(4px);border-color:var(--teal)}to{transform:none;border-color:#2c4559}}
/* The thread: each station is a real step of the cycle, lit as it is done. */
.week-thread{list-style:none;margin:0;padding:0}
.week-station{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:22px;padding-bottom:44px}
.week-station:last-child{padding-bottom:8px}
.week-station:not(:last-child)::before{content:"";position:absolute;left:19px;top:46px;bottom:4px;width:2px;border-radius:2px;background:var(--line-strong)}
.week-station[data-state=done]:not(:last-child)::before{background:var(--teal-line)}
.week-node{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--line-input);border-radius:50%;background:var(--bg);color:var(--muted);font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}
.week-station[data-state=done] .week-node{border-color:var(--teal);background:var(--teal);color:var(--teal-ink)}
.week-station[data-state=done] .week-node span{display:none}
.week-station[data-state=done] .week-node::after{content:"✓";font-size:18px;line-height:1}
.week-station[data-state=progress] .week-node{border-color:var(--teal);color:var(--teal)}
.week-station[data-state=current] .week-node{border-color:var(--teal);color:var(--teal);box-shadow:0 0 0 6px #8ae0ce24}
.week-station[data-state=warning] .week-node,.week-station[data-state=blocked] .week-node{border-color:var(--amber);color:var(--amber);box-shadow:0 0 0 6px #f4c77c1f}
.week-station-body{min-width:0;padding-top:6px}
.week-station-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px}
.week-station-head h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em}
.week-station-state{color:var(--muted);font-size:13px;font-weight:600}
.week-station[data-state=current] .week-station-state,.week-station[data-state=progress] .week-station-state,.week-station[data-state=done] .week-station-state{color:var(--teal)}
.week-station[data-state=warning] .week-station-state,.week-station[data-state=blocked] .week-station-state{color:var(--amber)}
.week-station[data-state=pending] .week-station-head h2{color:var(--text-2)}
.week-lead{margin:0 0 14px;max-width:68ch;color:var(--text-2)}
.week-fineprint{display:block;max-width:68ch;margin-top:12px;color:var(--muted);font-size:13px;line-height:1.6}
.week-note{margin:0 0 14px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:14px;line-height:1.55}
.week-note.is-warning,.week-note.is-blocked{border-color:var(--amber-line);background:var(--amber-dim)}
.week-note.is-done{border-color:var(--teal-line);background:var(--teal-dim)}
.week-note.is-pending{color:var(--text-2)}
.week-hint{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin:12px 0 0;color:var(--muted);font-size:13px}
.week-hint-link{min-height:44px;padding:8px 2px;border:0;background:transparent;color:var(--teal);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.week-hint-link:hover{color:var(--teal-strong)}
.week-goals{list-style:none;display:grid;gap:8px;margin:0 0 6px;padding:0}
.week-goals li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.week-goals li.week-goal-more{padding:4px 16px;border:0;background:transparent;color:var(--muted)}
.week-goal-title{color:var(--text);font-weight:600;overflow-wrap:anywhere}
.week-goal-horizon{color:var(--muted)}
.office-week-direction-links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:6px}
.office-week-direction{margin-bottom:16px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.office-week-direction>.week-note{margin:0}
.office-week-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px 20px}
.office-week .office-field{margin:0;gap:8px;color:var(--text-2);font-size:13px}
.office-week .office-field>span{font-weight:600}
.office-week input,.office-week select{min-height:48px;font-size:15px;border-color:var(--line-input);background:var(--bg-deep)}
.office-week-form[data-state=uncertain] input:disabled,.office-week-form[data-state=uncertain] select:disabled{border-style:dashed;border-color:var(--amber);color:var(--text);opacity:1}
.office-week-form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.office-week-form-footer small{max-width:60ch;color:var(--muted);line-height:1.6}
.office-week-form[data-state=uncertain] .office-week-form-footer small{color:var(--amber)}
.office-week-commitments{display:grid;gap:10px}
.office-week-commitments:focus{outline:none}
.office-week-commitment{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.office-week-commitment.is-done{border-color:var(--teal-line)}
.office-week-commitment.is-dropped{opacity:.7}
.office-week-commitment[data-week-fresh]{animation:week-fresh 1.8s ease-out}
@keyframes week-fresh{from{border-color:var(--teal);background:var(--teal-dim)}to{border-color:var(--line);background:var(--panel)}}
.office-week-commitment-copy{min-width:0;flex:1}
.office-week-goal-name{margin:0 0 4px;color:var(--teal);font-size:13px}
.office-week-commitment h3{margin:0 0 8px;font-size:17px;line-height:1.45;font-weight:550;overflow-wrap:anywhere}
.office-week-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0}
.office-week-state{display:inline-flex;align-items:center;gap:7px;color:var(--text-2);font-size:13px}
.office-week-state::before{content:"";width:10px;height:10px;border:2px solid var(--line-input);border-radius:50%}
.office-week-state.is-open::before{border-color:var(--teal)}
.office-week-state.is-done{color:var(--teal)}
.office-week-state.is-done::before{border-color:var(--teal);background:var(--teal)}
.office-week-state.is-missed{color:var(--amber)}
.office-week-state.is-missed::before{border-color:var(--amber)}
.office-week-tag{display:inline-flex;align-items:center;padding:2px 9px;border:1px solid var(--teal-line);border-radius:999px;color:var(--teal);font-size:12px;font-weight:600}
.office-week-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:440px}
.office-week-row-actions .button{padding:9px 13px;font-size:13px}
.office-week-row-actions [aria-pressed="true"]{border-color:var(--teal-line);background:var(--teal-dim);color:var(--teal);opacity:1;cursor:default}
.office-week-empty{padding:4px 0 8px;color:var(--muted)}
.office-week-empty p{max-width:62ch;margin:0 0 14px}
.office-week-empty h3{margin:0 0 8px;color:var(--text);font-size:18px}
.week-metas{list-style:none;counter-reset:meta;display:grid;gap:8px;margin:0 0 14px;padding:0}
.week-metas li{counter-increment:meta;display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 12px;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.week-metas li::before{content:counter(meta);grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--panel-raised);color:var(--muted);font-size:13px;font-weight:650}
.week-metas li.is-closed::before{background:var(--teal-dim);color:var(--teal)}
.week-meta-title{color:var(--text);font-weight:550;overflow-wrap:anywhere}
.week-meta-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--muted)}
.week-station-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.week-callout{padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.week-callout.is-error{border-color:var(--red-line);background:var(--red-dim)}
.week-callout p{color:var(--text)}
/* Methods: index cards with the skill's own colour on the spine, as on the desks. */
.office-week-methods-section{margin-top:52px;padding-top:36px;border-top:1px solid var(--line)}
.office-week-methods-section:focus{outline:none}
.office-week-methods-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 32px;margin-bottom:18px}
.office-week-methods-head h2{margin:0;font-family:var(--font-display);font-size:29px;font-weight:600;letter-spacing:-.01em}
.office-week-methods-head p{max-width:58ch;margin:0;color:var(--text-2)}
.office-week-methods-section>.week-note{margin-bottom:16px}
.office-week-methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.office-week-method{--skill:#3c5568;position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px 18px 18px 23px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);overflow:hidden}
.office-week-method::before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--skill)}
.office-week-method-head{display:flex;align-items:center;gap:10px}
.office-week-method-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:var(--panel-raised);color:var(--skill);font-size:17px}
.office-week-method h3{margin:0;font-size:18px;line-height:1.25;font-weight:600}
.office-week-method-what{margin:0;color:var(--text-2);font-size:14px;line-height:1.6}
.office-week-method-when{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.office-week-method .office-steps{gap:6px;margin:2px 0 0;padding-left:20px;color:var(--text-2);font-size:13px;line-height:1.55}
.office-week-method-foot{display:grid;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.office-week-method-status{margin:0;color:var(--muted);font-size:13px;font-weight:650}
.office-week-method.is-equipped .office-week-method-status{color:var(--teal)}
.office-week-method.is-equipped .office-week-method-status::before{content:"✓ "}
.office-week-method-effect{color:var(--muted);font-size:12px;line-height:1.5}
.office-week-method>.week-note{margin:0;font-size:13px}
.office-week-method-actions{display:flex;flex-wrap:wrap;gap:8px}
.office-week-method-actions .button{padding:9px 12px;font-size:13px}
.office-week-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:40px 0 6px;padding-top:22px;border-top:1px solid var(--line)}
.office-week-footer small{max-width:62ch;color:var(--muted);line-height:1.7}
@media(max-width:1180px){.office-week-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
  .office-week-header{flex-direction:column;align-items:stretch;gap:18px}
  .office-week-tools{justify-content:flex-start}
  .office-week-commitment{flex-direction:column;align-items:stretch;gap:12px}
  .office-week-row-actions{justify-content:flex-start;max-width:none}
}
@media(max-width:720px){
  .office-week-header{gap:14px;padding:0 0 22px}
  .office-week-kicker{margin-bottom:6px;font-size:13px}
  .office-week-heading h1{margin-bottom:10px;font-size:38px}
  .office-week-intro{margin-bottom:14px;font-size:14px;line-height:1.6}
  .office-week-tools{gap:6px}
  .office-week-tools .button{padding:8px 12px;font-size:13px}
  .week-now{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "title" "reason" "actions";gap:8px;margin-bottom:30px;padding:18px 18px 18px 20px}
  .week-now-actions{justify-self:stretch;margin-top:6px}
  .week-now-actions .button{flex:1;min-width:0}
  .week-station{grid-template-columns:32px minmax(0,1fr);column-gap:14px;padding-bottom:34px}
  .week-node{width:32px;height:32px;font-size:14px}
  .week-station:not(:last-child)::before{left:15px;top:38px}
  .week-station-body{padding-top:3px}
  .week-station-head h2{font-size:19px}
  .office-week-direction{padding:16px}
  .office-week-form{grid-template-columns:minmax(0,1fr);gap:14px}
  .office-week-form-footer{flex-direction:column;align-items:stretch;gap:12px}
  .office-week-commitment{padding:14px}
  .office-week-methods-section{margin-top:40px;padding-top:28px}
  .office-week-methods-head h2{font-size:25px}
  .office-week-methods{grid-template-columns:minmax(0,1fr);gap:12px}
  .office-week-footer{flex-direction:column;align-items:flex-start;gap:14px}
  .office-week-active .office-detail.open{top:auto;right:0;bottom:0;left:0;max-height:92vh;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));border-radius:var(--r-lg) var(--r-lg) 0 0}
  .office-week-active .office-detail.open .panel{padding:20px 4px}
}

/* ---- Gastos: the same form and receipts, clearer states ---- */
.finance-page{max-width:1120px;margin:0 auto;font-size:15px}
.finance-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:22px;align-items:start}
.finance-main,.finance-aside,.finance-reports{display:grid;gap:16px;min-width:0}
.finance-page .panel-head h2{font-size:19px}
.finance-page>.page-heading .eyebrow{display:none}
#expense-entry-form{gap:18px}
#expense-entry-form input,#expense-entry-form select{min-height:48px;font-size:15px;background:var(--bg-deep)}
.expense-amount input{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}
#expense-entry-form[data-state=uncertain] input:disabled,#expense-entry-form[data-state=uncertain] select:disabled{border-style:dashed;border-color:var(--amber);color:var(--text);opacity:1}
#expense-entry-form[data-state=busy] input:disabled,#expense-entry-form[data-state=busy] select:disabled{opacity:.75}
.expense-note{color:var(--muted);font-size:13px;line-height:1.6}
.expense-actions{justify-content:space-between;gap:12px 16px}
.expense-actions button.primary{min-width:190px;min-height:48px}
#expense-entry-form .form-status{flex:1 1 280px;margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-raised);color:var(--text-2);font-size:14px;line-height:1.5}
#expense-entry-form .form-status:empty{flex-basis:0;padding:0;border:0;background:none}
#expense-entry-form .form-status.pending{border-color:var(--info-line);background:var(--info-dim);color:var(--text)}
#expense-entry-form .form-status.success{border-color:var(--teal-line);background:var(--teal-dim);color:var(--teal)}
#expense-entry-form .form-status.warning{border-color:var(--amber-line);background:var(--amber-dim);color:var(--amber)}
#expense-entry-form .form-status.error{border-color:var(--red-line);background:var(--red-dim);color:var(--red)}
.expense-receipt-slot:empty{display:none}
/* A receipt is a ticket: perforated top edge, only what the ledger confirmed. */
.expense-receipt{display:grid;gap:12px;padding:18px 20px 16px;border:1px solid var(--teal-line);border-top:2px dashed var(--teal);border-radius:4px 4px var(--r-md) var(--r-md);background:var(--bg-deep)}
.expense-receipt-title{display:flex;align-items:center;gap:10px;margin:0;color:var(--teal);font-size:15px;font-weight:650}
.expense-receipt-title::before{content:"✓";display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:var(--teal-ink);font-size:14px}
.expense-receipt-data{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0;font-size:14px}
.expense-receipt-data dt{color:var(--muted)}
.expense-receipt-data dd{margin:0;color:var(--text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.expense-receipt a{justify-self:start;font-weight:600}
.expense-receipt small{color:var(--muted);font-size:12px;line-height:1.5}
.finance-totals{display:grid;gap:12px}
.finance-total{display:grid;gap:4px}
.finance-total-currency{margin:0;color:var(--muted);font-size:12px;font-weight:650}
.finance-total-line{display:flex;flex-wrap:wrap;gap:2px 16px;margin:0;color:var(--text-2);font-variant-numeric:tabular-nums}
.finance-total-item strong{color:var(--text);font-size:17px;font-weight:600}
.finance-empty{margin:0}
.finance-movements .filters{margin-bottom:12px}
.movements .movement{align-items:center}
.movement-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.movement-amount{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:900px){.finance-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){
  .expense-actions{flex-direction:column;align-items:stretch}
  #expense-entry-form .form-status{flex:none}
  .expense-actions button{width:100%}
  .movements .movement{flex-wrap:wrap}
  .movement-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%}
}
@media(prefers-reduced-motion:reduce){.week-now.is-new,.office-week-commitment[data-week-fresh]{animation:none}}

/* Fixed vector geometry across system fonts; labels remain the accessible name. */
.nav-icon svg{display:block;width:20px;height:20px;overflow:visible}

/* Laptop: status first, capture and explicit single action, advanced tools folded. */
.desktop-connection{border:1px solid var(--line);border-left:4px solid #d3a85e;border-radius:14px;padding:20px 24px;background:var(--surface,#171e22)}
.desktop-connection[data-state=online]{border-left-color:#53b995}
.desktop-connection strong{font-size:18px}.desktop-connection p{margin:8px 0;line-height:1.6}.desktop-connection small{opacity:.72}
.desktop-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;align-items:start}
.desktop-main,.desktop-side{min-width:0}.desktop-control-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.desktop-control-bar p{flex:1;min-width:200px;font-size:12px;line-height:1.6}
.desktop-empty{min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px dashed var(--line);border-radius:12px;padding:24px}
.desktop-empty p{font-size:13px;opacity:.7}.desktop-steps{padding-left:20px;line-height:1.9;font-size:13px}.desktop-advanced{border-top:1px solid var(--line);padding-top:16px;min-width:0}.desktop-advanced summary{cursor:pointer;padding:8px 0 16px}.desktop-advanced[open]>.panel{margin:12px 0}
.desktop-page button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.desktop-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.desktop-connection{padding:16px}.desktop-empty{min-height:180px}.desktop-control-bar{align-items:stretch;flex-direction:column}}

/* Conversational memory (Notas) */
.memory-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.memory-actions{display:flex;gap:8px;flex-wrap:wrap}
.memory-actions button{min-height:44px}
.memory-hint,.memory-when{color:var(--muted,#97aabd);font-size:.85rem}
.memory-history{margin-top:12px}
.memory-history summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.memory-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.memory-line{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline}
.memory-speaker{font-weight:600}
.memory-footnote{color:var(--muted,#97aabd);font-size:.85rem;margin-top:12px}
@media (max-width:560px){.memory-line{grid-template-columns:1fr}.memory-actions{width:100%}}

.desktop-remote{border-color:var(--teal-line);background:linear-gradient(115deg,var(--teal-dim),var(--panel) 65%);box-shadow:inset 4px 0 0 var(--teal)}
.desktop-remote>.stack{gap:15px}.desktop-remote p{margin:0;max-width:80ch}.desktop-remote small{color:var(--text-2)}
.desktop-remote .button{justify-self:start;min-height:44px}
.desktop-remote-setup{border-top:1px solid var(--line);padding-top:4px;min-width:0}
.desktop-remote-setup summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;padding:10px 0;color:var(--teal)}
@media(max-width:720px){.desktop-remote .button{justify-self:stretch;text-align:center}}
