:root{--color-bg:#fff;--color-text:#000;--color-accent:#00c;--color-border:#ccc;--color-muted:#666;--font-display:"Antonio", sans-serif;--font-body:"Source Serif 4", Georgia, serif;--font-mono:"Space Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);font-size:1rem;font-weight:400;line-height:1.7}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0000cc47}.brand-logo{object-fit:contain;width:9rem;height:auto;display:block}.brand-logo-small{width:7rem}.eyebrow{color:var(--color-muted);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:600;line-height:1.2}.button-row{flex-wrap:wrap;gap:.65rem;display:flex}.button{background:var(--color-accent);border:1px solid var(--color-accent);color:#fff;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-items:center;min-height:42px;padding:.65rem 1rem;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:#009;text-decoration:none}.button:disabled{cursor:wait;opacity:.5}.button-secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.button-secondary:hover{background:#f3f3f3}.text-button{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;padding:.35rem 0;font-size:.68rem}.auth-page{background:#fff;grid-template-columns:minmax(360px,46%) minmax(0,54%);align-items:stretch;min-height:100vh;padding:0;display:grid}.auth-brand-story{color:#fff;background:#000;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,4rem);display:flex}.auth-brand-story h2{letter-spacing:.06em;margin-bottom:1.2rem;font-size:clamp(2.6rem,5vw,4.5rem)}.auth-brand-story div:nth-child(2)>p{color:#aaa;max-width:390px;font-size:1.08rem;line-height:1.55}.auth-brand-story>p{color:#888;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.auth-panel{background:#fff;align-self:center;width:100%;max-width:600px;padding:clamp(2rem,7vw,5rem)}.auth-panel>.brand-logo{display:none}.auth-copy{border-bottom:1px solid var(--color-border);margin:2.6rem 0 1.8rem;padding-bottom:1.8rem}.auth-copy h1{letter-spacing:.06em;text-transform:uppercase;margin:.45rem 0 .8rem;font-size:clamp(2.2rem,5vw,3.2rem)}.auth-description{color:var(--color-muted);font-size:1.05rem;line-height:1.5}.auth-form{gap:.7rem;display:grid}.auth-form label,.field>span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:400}.auth-form input,.field input,.field select,.field textarea,.list-toolbar input,.list-toolbar select{color:var(--color-text);background:#fff;border:1px solid #aaa;border-radius:0;width:100%;min-height:44px;padding:.6rem .75rem}.auth-form .button{width:100%;margin-top:.5rem}.password-field{display:flex}.password-field input{border-right:0}.password-field button{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#fff;border:1px solid #aaa;border-left:0;padding:0 .8rem;font-size:.65rem}.form-error{color:#a20c21;font-size:.9rem;line-height:1.35}.form-message{background:#edf5ee;border-left:3px solid #2c6b3f;padding:.8rem;font-size:.9rem;line-height:1.4}.auth-loading{color:var(--color-muted);align-items:center;gap:.75rem;display:flex}.auth-loading span,.spinner{border:2px solid #ddd;border-top-color:var(--color-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite os-spin;display:inline-block}@keyframes os-spin{to{transform:rotate(360deg)}}.os-layout{background:#fff;min-height:100vh}.os-rail{color:#fff;z-index:20;background:#000;flex-direction:column;width:198px;padding:1.5rem .9rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0}.rail-header{border-bottom:1px solid #404040;margin-bottom:1.4rem;padding:0 .45rem 1.4rem}.rail-header p{color:#999;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin-top:.55rem;font-size:.62rem}.os-rail nav{flex-direction:column;gap:.08rem;display:flex;overflow-y:auto}.os-rail nav a{color:#8f8f8f;font-family:var(--font-mono);letter-spacing:.1em;border-left:3px solid #0000;padding:.55rem .5rem;font-size:.62rem;text-decoration:none}.os-rail nav a:hover{color:#fff}.os-rail nav a.active{border-left-color:var(--color-accent);color:#fff;background:#111}.rail-account{border-top:1px solid #404040;margin-top:auto;padding:1rem .45rem 0}.rail-account p{color:#999;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.rail-account button{color:#fff;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;margin-top:.4rem;padding:0;font-size:.62rem}.mobile-bar{display:none}.os-main{min-height:100vh;margin-left:198px;padding:2rem clamp(2rem,3vw,3.5rem) 4rem}.page-header{border-bottom:2px solid #000;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.page-header h1{letter-spacing:.05em;text-transform:uppercase;max-width:900px;margin:.28rem 0 .4rem;font-size:clamp(2rem,3vw,2.75rem)}.page-header>div:first-child>p:last-child{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;max-width:760px;font-size:.65rem;line-height:1.5}.subnav{border-bottom:1px solid var(--color-border);gap:1.6rem;margin-bottom:1.6rem;display:flex;overflow-x:auto}.subnav button{color:var(--color-muted);font-family:var(--font-mono);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:.5rem 0 .7rem;font-size:.62rem}.subnav button.active{border-bottom-color:var(--color-accent);color:var(--color-text)}.detail-tabs{gap:1rem}.back-link{color:var(--color-muted);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;margin-bottom:1rem;padding:0;font-size:.65rem}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.os-section,.record-detail{background:#fff;border:1px solid #000;padding:1.25rem}.section-heading{border-bottom:1px solid #e0e0dc;justify-content:space-between;align-items:center;margin-bottom:.4rem;padding-bottom:.9rem;display:flex}.section-heading h2{letter-spacing:.06em;text-transform:uppercase;margin-top:.25rem;font-size:1.05rem}.section-heading>span{font-family:var(--font-display);background:#efefeb;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.65rem;display:flex}.record-list,.activity-list{flex-direction:column;display:flex}.task-row,.summary-row{border-bottom:1px solid #eee;align-items:flex-start;gap:.8rem;padding:.85rem 0;display:flex}.task-row:last-child,.summary-row:last-child{border:0}.task-row h3,.summary-row h3,.activity-list h3{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:1rem}.task-row p,.summary-row p,.activity-list p{color:var(--color-muted);font-size:.8rem;line-height:1.35}.complete-button{background:#fff;border:1px solid #888;border-radius:50%;flex:none;width:20px;height:20px;margin-top:.15rem;padding:0}.complete-button:hover{background:var(--color-accent);border-color:var(--color-accent)}.complete-mark{color:#357147;font-family:var(--font-display);width:20px}.summary-row.linked{color:inherit;text-decoration:none}.status-pill{color:#444;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#ededeb;flex:none;padding:.22rem .38rem;font-size:.58rem;display:inline-block}.status-pill.urgent{color:#9a1025;background:#f8e5e8}.activity-list article{gap:.75rem;padding:.7rem 0;display:flex}.activity-list article>span{background:var(--color-accent);border-radius:50%;flex:none;width:7px;height:7px;margin-top:.45rem}.activity-list.full article{border-bottom:1px solid #eee;padding:1rem 0}.section-empty{color:var(--color-muted);padding:1rem 0;font-size:.9rem}.state-panel,.deferred-state,.deferred-inline{background:#fff;border:1px solid #000;flex-direction:column;justify-content:center;align-items:flex-start;min-height:260px;padding:clamp(1.5rem,4vw,3rem);display:flex}.state-panel h2,.deferred-state h2,.deferred-inline h2{letter-spacing:0;text-transform:uppercase;margin:.35rem 0 .6rem;font-size:1.5rem}.state-panel>p,.deferred-state>p,.deferred-inline>p{color:var(--color-muted);max-width:660px;line-height:1.5}.state-panel .button{margin-top:1rem}.deferred-state{border-top:4px solid var(--color-accent);min-height:420px}.deferred-state p:last-child{border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1.5rem}.list-toolbar{gap:.7rem;margin-bottom:1rem;display:flex}.list-toolbar input{max-width:460px}.list-toolbar select{max-width:240px}.data-table-wrap{background:#fff;border:1px solid #000;overflow-x:auto}.data-table th{color:#555;font-family:var(--font-mono);background:#f2f2fc;font-size:.58rem}.data-table td{vertical-align:middle;font-size:.88rem}.data-table td:first-child{min-width:220px}.data-table td a{color:inherit;flex-direction:column;text-decoration:none;display:flex}.data-table td a strong{font-weight:600}.data-table td a span{color:var(--color-muted);font-size:.75rem}.data-table tr:hover td{background:#fafafa}.record-detail{min-height:360px}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.overview-grid>div{border-bottom:1px solid #eee;min-height:100px;padding:1rem}.overview-grid>div.wide{grid-column:1/-1}.overview-grid p{color:var(--color-muted);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem;font-size:.6rem}.overview-grid strong,.overview-grid a{font-size:.95rem;font-weight:500;line-height:1.4}.related-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.related-grid article{border:1px solid #ddd;padding:1rem}.related-grid a{color:inherit;flex-direction:column;text-decoration:none;display:flex}.related-grid span{color:var(--color-muted);font-size:.8rem}.task-table{background:#fff;border:1px solid #000}.task-table>article{border-bottom:1px solid #e2e2de;align-items:flex-start;gap:.9rem;padding:1rem 1.2rem;display:flex}.task-table>article:last-child{border:0}.task-table>article.completed{opacity:.58}.task-table>article.completed h2{text-decoration:line-through}.task-content{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.task-content h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:1.05rem}.task-content p,.task-meta time{color:var(--color-muted);font-size:.78rem}.task-meta{flex:none;align-items:center;gap:.8rem;display:flex}.modal-backdrop{z-index:50;background:#000000a6;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;width:min(680px,100%);min-height:100vh;padding:2rem;box-shadow:-12px 0 40px #0000002e}.modal>header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.3rem;display:flex}.modal h2{letter-spacing:-.01em;text-transform:uppercase;margin:.3rem 0;font-size:2rem}.modal header p:last-child{color:var(--color-muted);font-size:.9rem;line-height:1.4}.icon-button{background:0 0;border:1px solid #aaa;width:38px;height:38px;font-size:1.4rem;line-height:1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{flex-direction:column;gap:.35rem;display:flex}.field-full{grid-column:1/-1}.field textarea{resize:vertical;min-height:110px}.modal-actions{border-top:1px solid #ddd;justify-content:flex-end;gap:.7rem;margin-top:1.4rem;padding-top:1rem;display:flex}.modal-form>.field{margin-bottom:1rem}@media (width<=1050px){.dashboard-grid{grid-template-columns:1fr}.overview-grid,.related-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start}}@media (width<=760px){html{font-size:16px}.mobile-bar{color:#fff;z-index:30;background:#111;justify-content:space-between;align-items:center;height:58px;padding:0 1rem;display:flex;position:sticky;top:0}.menu-button{color:#fff;background:0 0;border:1px solid #666;padding:.42rem .65rem;font-size:.62rem}.os-rail{width:min(300px,88vw);padding-top:1.5rem;transition:transform .18s;transform:translate(-100%)}.os-rail.is-open{transform:translate(0)}.os-main{margin-left:0;padding:1.25rem 1rem 3rem}.page-header{gap:1rem;margin-bottom:1.3rem;padding-bottom:1.2rem}.page-header h1{font-size:2.35rem}.page-header .button-row,.page-header .button{width:100%}.subnav{gap:1.2rem}.list-toolbar{flex-direction:column}.list-toolbar input,.list-toolbar select{max-width:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table thead{display:none}.data-table tr{border-bottom:1px solid #ccc;padding:.8rem}.data-table td{border:0;padding:.2rem 0}.data-table td:not(:first-child){color:var(--color-muted);font-size:.75rem}.overview-grid,.related-grid,.form-grid{grid-template-columns:1fr}.overview-grid>div.wide,.field-full{grid-column:auto}.task-content{flex-direction:column;align-items:flex-start}.task-meta{flex-wrap:wrap}.modal{padding:1.3rem 1rem}.auth-page{padding:0;display:block}.auth-brand-story{display:none}.auth-panel{box-shadow:none;min-height:100vh;padding:2rem 1.25rem}.auth-panel>.brand-logo{width:7rem;margin-bottom:2rem;display:block}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-weight:600;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.65rem}h3{font-size:1.2rem}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-border);font-family:var(--font-body);padding:.75rem 1rem;font-size:1rem}th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.85rem;font-weight:600}
