:root{--ivory:#f7f4ef;--ivory-dark:#ede8e1;--ivory-deep:#e2dcd4;--white:#fdfaf7;--charcoal:#2c2825;--charcoal-mid:#3d3733;--warm-gray:#8a7e78;--border:#d8d0c6;--border-strong:#c4b9ab;--accent:#b89f7a;--accent-dark:#a08860;--accent-light:#d4c4a8;--accent-soft:#ede4d6;--ok:#5f7a5a;--ok-soft:#e4e9df;--bad:#9a4b3c;--bad-soft:#efe0db;--warn:#9a7b2e;--warn-soft:#f0e8d5;--info:#5c6e7a;--info-soft:#e1e6e9;--hold:#6e6478;--hold-soft:#e7e3eb;--on-dark:hsla(38,33%,95%,.65);--on-dark-muted:hsla(38,33%,95%,.45);--on-dark-strong:#f7f4ef;--rule-on-dark:hsla(33,19%,81%,.12);--ff-serif:"Cormorant Garamond","Songti TC","Noto Serif TC",Georgia,serif;--ff-sans:"Montserrat","PingFang TC","Noto Sans TC","Helvetica Neue",sans-serif;--mono:"SF Mono","Menlo","Consolas","Liberation Mono",monospace;--ease-firm:cubic-bezier(0.77,0,0.18,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:var(--ff-sans);font-weight:400;background:var(--ivory);color:var(--charcoal);font-size:13px;line-height:1.7;letter-spacing:.01em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}::selection{background:var(--accent-light);color:var(--charcoal)}.eyebrow{font-family:var(--ff-sans);font-size:10px;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:16px}.eyebrow:before{content:"";display:block;width:32px;height:1px;background:var(--accent);flex-shrink:0}.label{font-family:var(--ff-sans);font-size:10px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--warm-gray)}.card-title .count,.display,.page-title,.pdeck-highlight-count,.pdeck-stat-value,.present-count,.stat-number{font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.display{font-family:var(--ff-serif);font-weight:300;line-height:1.1;color:var(--charcoal)}.display em{font-style:italic;color:var(--accent)}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--charcoal);color:var(--on-dark);padding:36px 0 24px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar,.sidebar-brand{display:flex;flex-direction:column}.sidebar-brand{padding:0 28px 10px;gap:10px}.sidebar-brand img{width:96px;height:auto;display:block;filter:brightness(0) invert(1);opacity:.92}.sidebar-brand .app-name{font-family:var(--ff-serif);font-size:26px;font-weight:300;line-height:1;color:var(--on-dark-strong);letter-spacing:.01em}.sidebar-brand small{display:block;font-family:var(--ff-sans);font-size:9px;font-weight:500;color:var(--accent-light);letter-spacing:.32em;text-transform:uppercase}.sidebar-search{margin-top:26px;padding:0 28px}.sidebar-search input{width:100%;font-family:var(--ff-sans);font-size:12px;padding:9px 0;border:none;border-bottom:1px solid hsla(33,19%,81%,.18);background:transparent;color:var(--on-dark-strong);transition:border-color .3s ease}.sidebar-search input:focus{outline:none;border-bottom-color:var(--accent)}.sidebar-search input::placeholder{color:var(--on-dark-muted);letter-spacing:.04em}.sidebar-nav{margin-top:28px;display:flex;flex-direction:column;gap:2px}.sidebar-nav a{position:relative;padding:10px 28px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark);display:flex;align-items:center;justify-content:space-between;transition:color .3s ease,background .3s ease}.sidebar-nav a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .3s ease}.sidebar-nav a:hover{color:var(--on-dark-strong);background:hsla(36,30%,60%,.06)}.sidebar-nav a.active{color:var(--on-dark-strong);background:hsla(36,30%,60%,.08)}.sidebar-nav a.active:before{transform:scaleY(1)}.sidebar-section{margin:22px 28px 6px;padding-top:18px;font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase}.sidebar-foot,.sidebar-section{border-top:1px solid var(--rule-on-dark);color:var(--on-dark-muted)}.sidebar-foot{margin-top:auto;padding:18px 28px 0;font-size:11px;letter-spacing:.02em}.sidebar-foot .who{color:var(--on-dark-strong);font-weight:500}.sidebar-foot .btn{border-color:hsla(33,19%,81%,.25);color:var(--on-dark)}.sidebar-foot .btn:hover{color:var(--charcoal)}.search-page-form{display:flex;gap:10px;max-width:560px;align-items:flex-end}.search-page-form input{flex:1 1;font-family:var(--ff-sans);font-size:14px;padding:9px 0;border:none;border-bottom:1px solid var(--border-strong);background:transparent;color:var(--charcoal)}.search-page-form input:focus{outline:none;border-bottom-color:var(--accent)}.chip.archived-chip{background:var(--ivory-deep);color:var(--warm-gray);border:1px dashed var(--border-strong)}.notif-bell-wrap{position:fixed;top:22px;right:32px;z-index:60}.notif-bell-btn{position:relative;width:36px;height:36px;border:1px solid hsla(36,30%,60%,.4);background:var(--ivory);color:var(--accent-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s ease,color .3s ease}.notif-bell-btn:hover{border-color:var(--accent);color:var(--charcoal)}.notif-badge{position:absolute;top:-6px;right:-6px;background:var(--accent);color:var(--charcoal);font-size:9.5px;font-weight:600;letter-spacing:.04em;line-height:1;padding:3px 5px;min-width:16px;text-align:center}.notif-dropdown{position:absolute;top:44px;right:0;width:360px;max-height:440px;overflow-y:auto;background:var(--ivory-dark);border:1px solid var(--border);box-shadow:0 20px 60px rgba(44,40,37,.12)}.notif-dropdown-head{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);padding:14px 16px}.notif-dropdown-head,.notif-item{border-bottom:1px solid var(--border)}.notif-item{display:block;padding:11px 16px;color:var(--charcoal)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--ivory-deep)}.notif-item-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}.notif-item-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-empty{padding:24px 16px;text-align:center;color:var(--warm-gray);font-size:12px}.main{flex:1 1;min-width:0;padding:72px 56px 110px;max-width:1400px}.page-head{display:flex;align-items:baseline;gap:18px;margin-bottom:34px;flex-wrap:wrap}.page-title{font-family:var(--ff-serif);font-size:38px;font-weight:300;line-height:1.05;letter-spacing:.005em;color:var(--charcoal)}.page-title em{font-style:italic;color:var(--accent)}.page-sub{font-size:10px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--warm-gray)}.page-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card{background:var(--ivory-dark)}.card-title{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);padding:16px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px}.card-title:before{content:"";display:block;width:22px;height:1px;background:var(--accent);flex-shrink:0}.card-title .count{margin-left:auto;font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--charcoal);line-height:1}.card-body{padding:18px 20px}.tkey{font-size:10.5px;letter-spacing:.18em}.btn,.tkey{font-weight:600;text-transform:uppercase;color:var(--accent-dark);white-space:nowrap}.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:8px;border:1px solid hsla(36,30%,60%,.45);background:transparent;padding:10px 20px;font-size:10px;letter-spacing:.22em;line-height:1.2;transition:color .45s var(--ease-firm),border-color .3s ease}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);transform:translateX(-101%);transition:transform .45s var(--ease-firm)}.btn:hover:not(:disabled){color:var(--charcoal);border-color:var(--accent)}.btn:hover:not(:disabled):before{transform:translateX(0)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--charcoal)}.btn-primary:before{background:var(--ivory)}.btn-approve,.btn-primary:hover:not(:disabled){color:var(--charcoal)}.btn-approve{background:var(--accent);border-color:var(--accent)}.btn-approve:before{background:var(--ivory)}.btn-danger{color:var(--bad);border-color:rgba(154,75,60,.4)}.btn-danger:before{background:var(--bad-soft)}.btn-danger:hover:not(:disabled){color:var(--bad);border-color:var(--bad)}.btn-sm{padding:7px 14px;font-size:9.5px;letter-spacing:.2em}.btn:disabled{opacity:.45;cursor:not-allowed}.chip{display:inline-block;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;white-space:nowrap;border:1px solid transparent;line-height:1.3}.chip.status-backlog{background:var(--ivory-deep);color:var(--charcoal-mid)}.chip.status-todo{background:transparent;color:var(--charcoal);border-color:var(--border-strong)}.chip.status-in_progress{background:var(--info-soft);color:var(--info)}.chip.status-needs_info{background:var(--warn-soft);color:var(--warn)}.chip.status-blocked{background:var(--bad-soft);color:var(--bad)}.chip.status-in_review{background:var(--hold-soft);color:var(--hold)}.chip.status-done{background:var(--ok-soft);color:var(--ok)}.chip.status-cancelled{background:var(--ivory-deep);color:var(--warm-gray);text-decoration:line-through}.chip.result-pass,.chip.tone-ok{background:var(--ok-soft);color:var(--ok)}.chip.result-fail,.chip.tone-bad{background:var(--bad-soft);color:var(--bad)}.chip.result-blocked,.chip.result-stuck,.chip.tone-warn{background:var(--warn-soft);color:var(--warn)}.chip.result-not_run,.chip.tone-muted{background:var(--ivory-deep);color:var(--warm-gray)}.chip.tone-accent{background:var(--accent-soft);color:var(--accent-dark)}.chip.tone-info{background:var(--info-soft);color:var(--info)}.chip.tone-hold{background:var(--hold-soft);color:var(--hold)}.chip.tone-outline{background:transparent;color:var(--charcoal-mid);border-color:var(--border-strong)}.prio{font-size:10px;font-weight:600;letter-spacing:.12em}.prio-P0{color:var(--bad)}.prio-P1{color:var(--warn)}.prio-P2{color:var(--charcoal-mid)}.prio-P3{color:var(--warm-gray)}.actor-agent{color:var(--info);font-weight:500}.actor-human{color:var(--charcoal);font-weight:500}.actor-system{color:var(--warm-gray);font-style:italic}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px;gap:2px}.dash-grid .span-2{grid-column:span 2}.row-list{list-style:none}.row-list li{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--border);transition:background .3s ease}.row-list li:last-child{border-bottom:none}.row-list .title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-list .meta{font-size:10.5px;color:var(--warm-gray);letter-spacing:.08em;white-space:nowrap}.row-list li:hover{background:hsla(36,30%,60%,.06)}.empty{padding:30px 20px;text-align:center;color:var(--warm-gray);font-family:var(--ff-serif);font-size:16px;font-weight:300;font-style:italic}.status-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:2px;gap:2px;background:var(--ivory)}.status-cell{background:var(--ivory-dark);padding:14px 16px}.status-cell .comp{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal)}.status-cell .kv{display:flex;justify-content:space-between;font-size:12px;color:var(--charcoal-mid);margin-top:5px}.status-ok{color:var(--ok);font-weight:600}.status-bad{color:var(--bad);font-weight:600}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);grid-gap:2px;gap:2px;align-items:start;overflow-x:auto;padding-bottom:20px}.kcol{background:var(--ivory-dark);min-height:140px}.kcol-head{padding:12px 14px;font-size:9.5px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.kcol-body{padding:2px;display:flex;flex-direction:column;gap:2px;min-height:60px}.kcol.drag-over{outline:1px solid var(--accent);outline-offset:-1px}.kcol-archive-btn{font-family:var(--ff-sans);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border:1px solid hsla(36,30%,60%,.4);background:transparent;color:var(--accent-dark)}.kcol-archive-btn:hover:not(:disabled){border-color:var(--accent);color:var(--charcoal)}.kcol-archive-btn:disabled{opacity:.4;cursor:default}.kcard{background:var(--ivory);padding:12px 14px;cursor:-webkit-grab;cursor:grab;transition:transform .3s ease,box-shadow .3s ease}.kcard:hover{box-shadow:0 12px 30px rgba(44,40,37,.08);transform:translateY(-2px)}.kcard.dragging{opacity:.4}.kcard .kcard-top{display:flex;justify-content:space-between;margin-bottom:5px}.kcard .kcard-title{font-size:13px;line-height:1.5}.proj-chip{display:inline-block;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:1px 6px}.kcard .kcard-foot{display:flex;gap:10px;margin-top:10px;font-size:10.5px;color:var(--warm-gray);align-items:center;letter-spacing:.04em}.task-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:2px;gap:2px;align-items:start}.task-col{display:flex;flex-direction:column;gap:2px}.task-head-key{font-size:10.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.markdown-body{padding:20px 22px;font-size:13.5px;line-height:1.8;color:var(--charcoal-mid)}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-family:var(--ff-serif);font-weight:300;color:var(--charcoal);margin:22px 0 8px;padding-bottom:6px;line-height:1.2}.markdown-body h1{font-size:26px}.markdown-body h2{font-size:21px;border-bottom:1px solid var(--border)}.markdown-body h3{font-size:17px}.markdown-body h1:first-child,.markdown-body h2:first-child{margin-top:0}.markdown-body p{margin:6px 0}.markdown-body ol,.markdown-body ul{padding-left:22px;margin:8px 0}.markdown-body li{margin:4px 0}.markdown-body input[type=checkbox]{accent-color:var(--accent);margin-right:6px}.markdown-body code{font-family:var(--mono);font-size:12px;background:var(--ivory-deep);padding:1px 5px}.markdown-body pre{background:var(--charcoal);color:var(--on-dark-strong);padding:14px 16px;overflow-x:auto;margin:12px 0;font-size:12px}.markdown-body pre code{background:none;color:inherit;padding:0}.markdown-body blockquote{border-left:1px solid var(--accent);padding-left:14px;color:var(--warm-gray);margin:10px 0;font-family:var(--ff-serif);font-size:16px;font-style:italic}.markdown-body table{border-collapse:collapse;margin:12px 0;width:100%}.markdown-body td,.markdown-body th{border-bottom:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.markdown-body th{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray)}.markdown-body a{border-bottom:1px solid hsla(36,30%,60%,.4)}.markdown-body a,.markdown-body h2.acceptance{color:var(--accent-dark)}.comment-item{border-bottom:1px solid var(--border);padding:14px 20px}.comment-item:last-child{border-bottom:none}.comment-item .markdown-body{padding:4px 0 0}.comment-head{display:flex;gap:12px;align-items:baseline;margin-bottom:2px;font-size:12px}.comment-kind{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:2px 6px}.kind-comment{background:var(--ivory-deep);color:var(--charcoal-mid)}.kind-progress{background:var(--info-soft);color:var(--info)}.kind-question{background:var(--warn-soft);color:var(--warn)}.kind-answer{background:var(--ok-soft);color:var(--ok)}.kind-review{background:var(--hold-soft);color:var(--hold)}.timeline{list-style:none;padding:8px 0}.timeline li{position:relative;padding:7px 20px 7px 40px;font-size:12px;color:var(--charcoal-mid)}.timeline li:before{content:"";position:absolute;left:20px;top:15px;width:5px;height:5px;background:var(--border-strong)}.timeline li.ev-claimed:before,.timeline li.ev-lease_renewed:before{background:var(--info)}.timeline li.ev-review_approved:before{background:var(--ok)}.timeline li.ev-released:before,.timeline li.ev-review_rejected:before{background:var(--bad)}.timeline li.ev-question_asked:before{background:var(--warn)}.timeline li.ev-submitted_for_review:before{background:var(--hold)}.timeline li:after{content:"";position:absolute;left:22px;top:22px;bottom:-7px;width:1px;background:var(--border)}.timeline li:last-child:after{display:none}.timeline .ts{font-size:10px;letter-spacing:.12em;color:var(--warm-gray);display:block;margin-top:1px}.meta-table{width:100%;font-size:13px;border-collapse:collapse}.meta-table th{text-align:left;font-weight:500;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray);padding:9px 20px;width:42%;vertical-align:top}.meta-table td{padding:9px 20px 9px 0}.meta-table tr{border-bottom:1px solid var(--border)}.meta-table tr:last-child{border-bottom:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-gray);padding:12px 16px;border-bottom:1px solid var(--border-strong);white-space:nowrap}.data-table td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:hsla(36,30%,60%,.06)}.data-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:0;gap:0;background:var(--ivory-dark)}.stat{padding:22px 20px 18px;border-right:1px solid var(--border)}.stat:last-child{border-right:none}.stat-number{font-family:var(--ff-serif);font-size:40px;font-weight:300;line-height:1;color:var(--accent)}.stat-number.muted{color:var(--charcoal)}.stat-number.bad{color:var(--bad)}.stat-label{margin-top:8px;font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-gray)}.hairline{width:32px;height:1px;background:var(--accent);margin:14px 0}.form-grid{display:grid;grid-gap:22px;gap:22px;max-width:760px}.field label{display:block;font-size:10px;font-weight:500;letter-spacing:.25em;color:var(--warm-gray);margin-bottom:7px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:none;border-bottom:1px solid var(--border-strong);background:var(--white);padding:9px 10px;font-size:13.5px;color:var(--charcoal);transition:border-color .3s ease}.field select{padding-right:28px}.field textarea{border:1px solid var(--border);font-family:var(--mono);font-size:12.5px;line-height:1.6;min-height:220px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px}.field-hint{font-size:11.5px;color:var(--warm-gray);margin-top:5px}.form-error{border-left:2px solid var(--bad)}.form-error,.form-ok{background:var(--ivory-deep);color:var(--charcoal);padding:10px 14px;font-size:13px}.form-ok{border-left:2px solid var(--accent)}.inline-input{border:none;border-bottom:1px solid var(--border-strong);background:var(--white);padding:7px 10px;font-size:13px;color:var(--charcoal)}.inline-input:focus{outline:none;border-bottom-color:var(--accent)}.inline-textarea{border:1px solid var(--border);background:var(--white);padding:9px 10px;min-height:84px;font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--charcoal);width:100%}.inline-textarea:focus{outline:none;border-color:var(--accent)}.cal-controls{display:flex;align-items:center;gap:14px;margin-bottom:18px}.cal-month{font-family:var(--ff-serif);font-size:22px;font-weight:300}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;background:var(--ivory)}.cal-cell{background:var(--ivory-dark);min-height:108px;padding:8px 9px}.cal-cell.other-month{background:var(--ivory-deep);opacity:.7}.cal-cell.today{outline:1px solid var(--accent);outline-offset:-1px}.cal-date{font-size:10px;letter-spacing:.15em;color:var(--warm-gray);margin-bottom:5px}.cal-item{display:block;font-size:11px;padding:2px 6px;margin-bottom:2px;background:var(--info-soft);color:var(--info);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-item.due{background:var(--bad-soft);color:var(--bad)}.cal-dow{background:transparent;text-align:center;font-size:9.5px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--warm-gray);padding:8px 0}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--charcoal);color:var(--on-dark)}.login-card{width:400px;padding:52px 44px 44px;background:hsla(0,0%,100%,.03);border:1px solid var(--rule-on-dark)}.login-card img{width:120px;height:auto;display:block;margin-bottom:26px;filter:brightness(0) invert(1);opacity:.92}.login-card h1{font-family:var(--ff-serif);font-size:36px;font-weight:300;color:var(--on-dark-strong);line-height:1;margin-bottom:8px}.login-card h1 em{font-style:italic;color:var(--accent)}.login-card .tagline{font-size:9.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-light);margin-bottom:34px}.login-card .field label{color:var(--on-dark-muted)}.login-card .field input{background:transparent;color:var(--on-dark-strong);border-bottom-color:hsla(33,19%,81%,.25)}.login-card .field input:focus{border-bottom-color:var(--accent)}.login-card .btn{border-color:hsla(36,30%,60%,.5);color:var(--accent-light)}.login-card .btn-primary,.login-card .btn:hover:not(:disabled){color:var(--charcoal)}.login-card .form-error{background:hsla(0,0%,100%,.04);color:var(--on-dark)}.toast{position:fixed;bottom:28px;right:32px;background:var(--charcoal);color:var(--on-dark-strong);border-left:2px solid var(--accent);padding:12px 20px;font-size:12.5px;letter-spacing:.02em;box-shadow:0 20px 60px rgba(44,40,37,.25);animation:toast-in .4s var(--ease-firm);z-index:50}.toast.error{border-left-color:var(--bad)}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.agents-table-wrap,.cal-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:900px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;padding:18px 0 10px}.sidebar-nav{flex-direction:row;flex-wrap:wrap;margin-top:10px;gap:0}.sidebar-nav a{padding:8px 14px}.sidebar-nav a:before{top:auto;bottom:0;left:14px;right:14px;width:auto;height:1px;transform:scaleX(0);transform-origin:left}.sidebar-nav a.active:before{transform:scaleX(1)}.sidebar-foot,.sidebar-section{display:none}.main{padding:24px 16px 60px}.page-title{font-size:30px}.dash-grid{grid-template-columns:1fr}.dash-grid .span-2{grid-column:span 1}.task-layout{grid-template-columns:1fr}.login-card{width:auto;max-width:calc(100% - 32px);padding:36px 24px}}@media (max-width:768px){.cal-grid{min-width:560px}}@media (max-width:600px){body.present-mode .main{padding:24px 16px 60px}.present-title{font-size:30px}}body.present-mode .sidebar{display:none}body.present-mode .main{max-width:1080px;margin:0 auto;padding:48px 48px 96px}.present-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap}.present-eyebrow{font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.present-title{font-family:var(--ff-serif);font-size:52px;font-weight:300;line-height:1.05;margin:0}.present-tabs{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.present-tab{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;border:1px solid hsla(36,30%,60%,.4);text-decoration:none;color:var(--accent-dark);transition:all .3s ease}.present-tab.active{background:var(--charcoal);color:var(--on-dark-strong);border-color:var(--charcoal)}.present-tab:hover{border-color:var(--accent);color:var(--charcoal)}.present-exit{margin-left:14px;color:var(--warm-gray);text-decoration:none;border-bottom:1px solid var(--border-strong)}.pdeck-scope-toggle,.present-exit{font-size:10px;letter-spacing:.2em;text-transform:uppercase}.pdeck-scope-toggle{display:flex;gap:2px;font-weight:600}.pdeck-scope-toggle a{padding:7px 12px;border:1px solid hsla(36,30%,60%,.4);color:var(--accent-dark)}.pdeck-scope-toggle a.active{background:var(--charcoal);color:var(--on-dark-strong);border-color:var(--charcoal)}.pdeck-slide{display:none}.pdeck-slide.pdeck-slide-active{display:block;min-height:56vh;padding-bottom:24px}.pdeck-nav{position:-webkit-sticky;position:sticky;bottom:0;gap:16px;padding:16px 4px;margin-top:8px;background:var(--ivory);border-top:1px solid var(--border)}.pdeck-arrow,.pdeck-nav{display:flex;align-items:center}.pdeck-arrow{width:34px;height:34px;border:1px solid hsla(36,30%,60%,.45);background:transparent;color:var(--accent-dark);font-size:15px;justify-content:center;transition:all .3s ease}.pdeck-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--charcoal)}.pdeck-arrow:disabled{opacity:.3;cursor:default}.pdeck-dots{display:flex;gap:6px;align-items:center}.pdeck-dot{width:6px;height:6px;background:var(--border-strong);border:none;padding:0;transition:all .3s ease}.pdeck-dot.active{background:var(--accent);width:22px}.pdeck-count{font-size:10px;letter-spacing:.2em;color:var(--warm-gray);margin-left:auto;white-space:nowrap}.pdeck-summary-week{font-family:var(--ff-serif);font-size:20px;font-weight:300;color:var(--charcoal-mid);margin-top:8px}.pdeck-stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:2px;gap:2px;margin-top:36px}.pdeck-stat{background:var(--ivory-dark);padding:20px 18px 16px;border-top:2px solid var(--border-strong)}.pdeck-stat.tone-done{border-top-color:var(--ok)}.pdeck-stat.tone-review{border-top-color:var(--hold)}.pdeck-stat.tone-input{border-top-color:var(--warn)}.pdeck-stat.tone-progress{border-top-color:var(--info)}.pdeck-stat.tone-next{border-top-color:var(--accent)}.pdeck-stat-value{font-family:var(--ff-serif);font-size:46px;font-weight:300;line-height:1;color:var(--charcoal)}.pdeck-stat-label{font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-gray);margin-top:10px}.pdeck-stat-caption{font-family:var(--ff-serif);font-size:13.5px;color:var(--warm-gray);font-style:italic;margin-top:3px}.pdeck-highlights{margin-top:40px}.pdeck-highlights-head{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px}.pdeck-highlights-list{display:flex;flex-direction:column;gap:8px;list-style:none}.pdeck-highlights-list li{display:flex;align-items:center;gap:10px}.pdeck-highlight-name{font-size:14px;color:var(--charcoal)}.pdeck-highlight-count{font-family:var(--ff-serif);font-size:18px;font-weight:300;color:var(--accent);margin-left:auto}.pdeck-summary-hint{margin-top:44px;font-size:11px;letter-spacing:.06em;color:var(--warm-gray)}@media (max-width:900px){.pdeck-stats{grid-template-columns:repeat(2,1fr)}}.present-section{margin-bottom:48px}.present-section-head{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--charcoal);padding-bottom:10px;margin-bottom:18px}.present-section-head h2{font-size:30px;margin:0}.present-count,.present-section-head h2{font-family:var(--ff-serif);font-weight:300}.present-count{font-size:22px;color:var(--accent)}.present-hint{font-size:11px;letter-spacing:.04em;color:var(--warm-gray);margin-left:auto}.present-empty{color:var(--warm-gray);font-family:var(--ff-serif);font-size:16px;font-style:italic;padding:10px 0 2px}.present-project-groups{display:flex;flex-direction:column;gap:26px}.present-project-group{page-break-inside:avoid;break-inside:avoid}.present-project-head{display:flex;align-items:baseline;gap:8px;border-left:2px solid;padding-left:10px;margin-bottom:10px}.present-project-name{font-size:12px;letter-spacing:.04em;color:var(--charcoal-mid)}.present-project-count{font-size:11px;letter-spacing:.1em;color:var(--warm-gray);margin-left:auto}.present-list{display:flex;flex-direction:column;gap:2px}.present-card{background:var(--ivory-dark);padding:16px 20px;border-left:2px solid var(--border-strong)}.tone-done .present-card{border-left-color:var(--ok)}.tone-review .present-card{border-left-color:var(--hold)}.tone-input .present-card{border-left-color:var(--warn)}.tone-progress .present-card{border-left-color:var(--info)}.tone-next .present-card{border-left-color:var(--accent)}.present-card-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.present-key{flex-shrink:0;text-decoration:none}.present-card-title{font-family:var(--ff-serif);font-size:20px;font-weight:400}.present-card-meta{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.present-due{font-size:10.5px;letter-spacing:.1em;color:var(--charcoal-mid)}.present-blocked{margin:8px 0 0;font-size:13px;color:var(--bad)}.present-verify{margin-top:10px}.present-verify summary{cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dark);-webkit-user-select:none;-moz-user-select:none;user-select:none}.present-verify[open] summary{margin-bottom:8px}.present-verify .markdown-body{font-size:14.5px;background:var(--ivory);padding:12px 16px}.present-noverify{margin:8px 0 0;font-size:12px;color:var(--warm-gray);font-style:italic;font-family:var(--ff-serif);font-size:14px}@media print{body.present-mode .present-verify{open:true}.pdeck-nav,.pdeck-scope-toggle,.present-tabs{display:none}.pdeck-slide{display:block!important;min-height:0;page-break-after:always}}.steps-table td{font-size:13px}.steps-table .step-no{font-family:var(--ff-serif);font-size:18px;font-weight:300;color:var(--accent);width:36px}.steps-table .step-inputs{font-family:var(--mono);font-size:12px;color:var(--charcoal-mid);white-space:pre-wrap}.steps-table .step-actual .markdown-body{padding:0;font-size:13px}.steps-table .step-note{font-size:12px;color:var(--warm-gray);margin-top:4px}.muted{color:var(--warm-gray)}.gate-ok{padding:14px 20px;font-family:var(--ff-serif);font-size:17px;font-weight:300;color:var(--ok)}.blockers{list-style:none;padding:6px 0}.blockers li{padding:8px 20px 8px 44px;position:relative;font-size:13px;border-bottom:1px solid var(--border)}.blockers li:last-child{border-bottom:none}.blockers li:before{content:"—";position:absolute;left:20px;color:var(--bad)}.note{font-family:var(--ff-serif);font-size:15px;font-weight:300;font-style:italic;color:var(--warm-gray);padding:12px 20px;line-height:1.5}.matrix td.cell{text-align:center}.matrix .cell-pass{background:var(--ok-soft)}.matrix .cell-fail{background:var(--bad-soft)}.matrix .cell-blocked{background:var(--warn-soft)}.matrix .cell-needs_recheck{background:var(--accent-soft)}.matrix .cell-not_run{background:transparent}.matrix .cell a{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.qa-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:2px;gap:2px;align-items:start}.qa-col{display:flex;flex-direction:column;gap:2px}@media (max-width:1100px){.qa-grid{grid-template-columns:1fr}}.filter-row{gap:2px;margin-bottom:2px}.action-row,.filter-row{display:flex;flex-wrap:wrap}.action-row{gap:10px;align-items:center}.action-block{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-top:1px solid var(--border)}.action-block:first-child{border-top:none}.step-editor{display:grid;grid-template-columns:28px 2fr 1.4fr 2fr 28px;grid-gap:2px;gap:2px;align-items:start}.step-editor .step-no{font-family:var(--ff-serif);font-size:18px;font-weight:300;color:var(--accent);padding-top:6px}.step-editor textarea{min-height:54px}.step-editor .remove{border:none;background:transparent;color:var(--warm-gray);font-size:16px;padding-top:4px}.step-editor .remove:hover{color:var(--bad)}.step-editor-head{display:grid;grid-template-columns:28px 2fr 1.4fr 2fr 28px;grid-gap:2px;gap:2px}.step-editor-head span{font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-gray)}.check-row{display:flex;gap:18px;flex-wrap:wrap}.check-row label{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--charcoal);letter-spacing:0;text-transform:none;font-weight:400}.assignment-card{background:var(--ivory-dark)}.assignment-head{display:flex;align-items:baseline;gap:14px;padding:18px 20px 12px;flex-wrap:wrap}.assignment-title{font-family:var(--ff-serif);font-size:22px;font-weight:300}.assignment-meta{font-size:10.5px;letter-spacing:.12em;color:var(--warm-gray);text-transform:uppercase}.assignment-body{padding:0 20px 20px;display:flex;flex-direction:column;gap:14px}.evidence-list{list-style:none}.evidence-list li{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.evidence-list li:last-child{border-bottom:none}.evidence-list .evidence-body{width:100%}.evidence-list .evidence-body .markdown-body{padding:6px 0 0;font-size:12.5px}details.folded>summary{cursor:pointer;list-style:none;padding:14px 20px;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-dark);border-top:1px solid var(--border)}details.folded>summary::-webkit-details-marker{display:none}details.folded>summary:before{content:"+";margin-right:10px;font-weight:400}details.folded[open]>summary:before{content:"–"}.evidence-list .evidence-thumb{width:100%;margin-top:6px}.evidence-list .evidence-thumb img,.evidence-list .evidence-thumb video{display:block;max-width:100%;max-height:360px;border:1px solid var(--border);background:#fff}.file-pick{font-size:12.5px;padding:6px 0}.file-pick-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12.5px}.file-pick-list li{display:flex;gap:8px;align-items:baseline}.link-btn{background:none;border:none;cursor:pointer;color:var(--accent-dark);font-size:14px;line-height:1;padding:0 4px}.review-product{display:flex;flex-direction:column;gap:2px;margin-bottom:24px}.review-product-title{font-family:var(--ff-serif);font-weight:400;font-size:26px;letter-spacing:.01em;margin:18px 0 6px;display:flex;align-items:baseline;gap:10px}.review-feature{display:flex;flex-direction:column;gap:2px}.review-feature-head{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--charcoal);color:var(--ivory);font-size:14px}.review-feature-head .tkey{color:inherit}.review-expectation{padding:10px 20px;background:var(--ivory-dark);font-size:13.5px}.review-replaces{border-top:1px solid var(--border)}.review-replaces summary{padding:10px 20px;font-size:12.5px;cursor:pointer;color:var(--warm-gray)}