:root{--ink:#22221f;--ink-2:#55544e;--ink-3:#6e6d67;--line:#c9c7bf;--soft:#e2e0d9;--fill:#ecebe6;--bg:#f4f3ef;--white:#fff;--dark:#2f3e38;--brand:#1f4a3f;--brand-ink:#f3f6f2;--brand-ink-2:#cfe3d8;--brand-ink-3:#a9d3be;--brand-gold:#c09f5f;--pass-bg:#ddebe2;--pass-fg:#245239;--warn-bg:#f6ead5;--warn-fg:#7a4806;--block-bg:#f6dcd7;--block-fg:#8e2a1e;--info-bg:#dde6f0;--info-fg:#1f4468;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px}a{color:var(--ink)}h1{margin:0;font-size:26px}h2{margin:0;font-size:18px}.shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--brand);width:220px;height:100vh;color:var(--brand-ink-2);flex-direction:column;flex-shrink:0;gap:24px;padding:24px 16px;display:flex;overflow-y:auto}.sidebar.collapsed{align-items:center;width:60px;padding:24px 8px}.sidebar .brand{border-radius:6px;flex-direction:column;gap:8px;padding:0 4px;text-decoration:none;display:flex}.sidebar .brand:hover{opacity:.85}.sidebar .brand:focus-visible{outline:2px solid var(--brand-gold);outline-offset:4px}.sidebar .brand img{width:168px;height:auto;display:block}.sidebar .brand .mark{width:27px;height:32px;overflow:hidden}.sidebar .brand .mark img{width:auto;max-width:none;height:32px}.sidebar .brand span{letter-spacing:1.5px;text-transform:uppercase;color:var(--brand-ink-3);font-size:11px;font-weight:700;display:block}.rail-toggle{min-height:28px;color:var(--brand-ink-3);background:0 0;border-color:#0000;justify-content:flex-start;gap:6px;padding:0 8px;font-size:12px;font-weight:500}.rail-toggle:hover{color:var(--brand-ink);background:#f3f6f214;border-color:#0000}.sidebar.collapsed .rail-toggle{justify-content:center;width:32px;padding:0}.nav{flex-direction:column;gap:4px;display:flex}.nav a{min-height:40px;color:var(--brand-ink-2);border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:0 12px;text-decoration:none;display:flex;position:relative}.nav a:hover{color:var(--brand-ink);background:#f3f6f20f}.sidebar.collapsed .nav a{justify-content:center;width:40px;height:40px;min-height:40px;padding:0}.sidebar.collapsed .nav .count{text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--brand);margin:0;padding:0 5px;font-size:10px;line-height:18px;position:absolute;top:-6px;right:-8px}.nav a.on{color:var(--brand-ink);box-shadow:inset 3px 0 0 var(--brand-gold);background:#f3f6f21f;font-weight:600}.nav .count{background:var(--brand-gold);color:var(--brand);border-radius:999px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700}.note-box{color:var(--brand-ink-3);border:1px dashed #cfe3d859;border-radius:6px;margin-top:auto;padding:12px;font-size:12px;line-height:1.5}.note-box strong{color:var(--brand-ink-2)}main.content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}header.page{border-bottom:1px solid var(--soft);justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 40px 20px;display:flex}header.page .crumb{color:var(--ink-3);margin-bottom:6px;font-size:12px}header.page .sub{color:var(--ink-2);margin-top:6px;font-size:14px}header.page .actions{align-items:center;gap:12px;display:flex}.body{flex-direction:column;gap:20px;padding:24px 40px;display:flex}.row{gap:16px;display:flex}.card{background:var(--white);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:16px;padding:20px;display:flex}.card.tight{gap:6px;padding:16px}.stat-label{color:var(--ink-2);font-size:12px;font-weight:600}.stat-value{font-size:22px;font-weight:700;font-family:var(--mono)}.stat-note{color:var(--ink-3);font-size:12px;line-height:1.4}.badge{white-space:nowrap;background:var(--fill);color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.pass{background:var(--pass-bg);color:var(--pass-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.block{background:var(--block-bg);color:var(--block-fg)}.badge.info{background:var(--info-bg);color:var(--info-fg)}button,.btn{min-height:40px;font:inherit;cursor:pointer;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}button.primary,.btn.primary{background:var(--dark);border-color:var(--dark);color:#fff}button.danger,.btn.danger{color:#fff;background:#8e2a1e;border-color:#8e2a1e}button:disabled{opacity:.45;cursor:not-allowed}button.icon{width:32px;height:32px;min-height:32px;padding:0}button.icon.on-pass{background:var(--pass-bg);color:var(--pass-fg);border-color:#9cc3ab}button.icon.on-block{background:var(--block-bg);color:var(--block-fg);border-color:#d9a097}button.link{background:0 0;border:0;min-height:0;padding:0;font-weight:600;text-decoration:underline}label.field,div.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}select,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=month],textarea{font:inherit;border:1px solid var(--line);background:var(--white);height:40px;color:var(--ink);border-radius:6px;padding:0 12px;font-size:14px}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%2355544e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:36px}select:disabled{cursor:default;opacity:.6}textarea{resize:vertical;height:auto;padding:10px 12px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 8px;font-size:12px}td{border-bottom:1px solid var(--soft);vertical-align:middle;padding:8px}td.num,th.num{text-align:right;font-family:var(--mono)}th.num{font-family:inherit}tr.current td{background:#eef2f7}.muted{color:var(--ink-3)}.mono{font-family:var(--mono)}.banner{border-radius:8px;align-items:flex-start;gap:12px;padding:12px 16px;line-height:1.5;display:flex}.banner.warn{color:#5e3805;background:#fbf4e7;border:1px solid #e6cfa6}.banner.pass{background:var(--pass-bg);color:#1c4230;border:1px solid #9cc3ab}.banner.block{background:var(--block-bg);color:var(--block-fg);border:1px solid #d9a097}.banner.info{background:var(--info-bg);color:var(--info-fg);border:1px solid #a9bdd3}.stepper{align-items:center;gap:12px;display:flex}.stepper .dot{border:1px solid var(--line);background:var(--white);width:24px;height:24px;color:var(--ink-3);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.stepper .step.done .dot{background:var(--dark);border-color:var(--dark);color:#fff}.stepper .step.on .dot{border:2px solid var(--dark);color:var(--ink)}.stepper .step{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.stepper .step.on,.stepper .step.done{color:var(--ink)}.stepper .bar{background:var(--line);width:48px;height:1px}main.content:has(.split){height:100vh;overflow:hidden}.split{flex:1;min-height:0;display:flex}.doc-pane{border-right:1px solid var(--line);background:#e7e6e0;flex-direction:column;flex:1;min-width:0;display:flex}.doc-bar{border-bottom:1px solid var(--line);background:var(--white);flex-direction:column;gap:8px;padding:10px 16px;font-size:13px;display:flex}.doc-bar .btn.icon{width:32px;height:32px;min-height:32px;padding:0}.doc-scroll{flex:1;position:relative;overflow:auto}.doc-page{background:var(--white);margin:24px auto;transition:opacity .16s,filter .16s;position:relative;box-shadow:0 1px 4px #00000026}.doc-page img{width:100%;display:block}.doc-box{--mark:31 68 104;border:1px solid rgb(var(--mark) / 45%);background:rgb(var(--mark) / 6%);border-radius:2px;display:block;position:absolute}.doc-box.record{--mark:47 125 91}.doc-box.new{--mark:194 122 18}.doc-box.comment{--mark:46 111 176}.doc-box.label{background:0 0;border-style:dotted}.doc-box:hover{border-color:rgb(var(--mark));background:rgb(var(--mark) / 12%)}.doc-box.on{border:2px solid rgb(var(--mark));background:rgb(var(--mark) / 16%);animation:.7s ease-out box-flash}.doc-box.on.label{background:rgb(var(--mark) / 8%);border-style:dashed;border-width:1px;animation:none}@keyframes box-flash{0%{box-shadow:0 0 0 5px rgb(var(--mark) / 40%)}to{box-shadow:0 0 0 0 rgb(var(--mark) / 0%)}}.doc-tag{--mark:31 68 104;background:rgb(var(--mark));color:#fff;white-space:nowrap;pointer-events:none;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;position:absolute;transform:translateY(-50%)}.doc-tag.record{--mark:47 125 91}.doc-tag.new{--mark:194 122 18}.doc-tag.comment{--mark:46 111 176}.doc-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;display:flex}.doc-legend span{align-items:center;gap:5px;display:inline-flex}.doc-legend .swatch{--mark:31 68 104;border:1px solid rgb(var(--mark));background:rgb(var(--mark) / 16%);border-radius:2px;width:11px;height:11px}.doc-legend .swatch.record{--mark:47 125 91}.doc-legend .swatch.new{--mark:194 122 18}.doc-legend .swatch.comment{--mark:46 111 176}.doc-legend .swatch.label{border-style:dotted;border-color:var(--ink-3);background:0 0}.tabs{border-bottom:1px solid var(--line);background:var(--white);scrollbar-width:none;gap:2px;padding:0 12px;display:flex;overflow-x:auto}.tabs a{white-space:nowrap;min-height:44px;color:var(--ink-2);flex-shrink:0;align-items:center;gap:6px;padding:0 10px;text-decoration:none;display:inline-flex}.tabs a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--dark);font-weight:700}.tabs .count{background:var(--fill);border-radius:999px;padding:0 6px;font-size:12px}.section-head{border-top:1px solid var(--line);border-bottom:1px solid var(--soft);background:#f7f6f2;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.section-head .meta{color:var(--ink-3);font-size:12px;font-weight:400}.section-head .right{margin-left:auto}.review-scroll{flex:1;padding:0 20px 20px;overflow:auto}.footer-bar{border-top:1px solid var(--line);background:var(--white);align-items:center;gap:12px;padding:14px 20px;display:flex}.footer-bar button,.footer-bar .btn{white-space:nowrap}.progress{background:var(--fill);border-radius:3px;width:260px;height:6px;overflow:hidden}.progress span{background:var(--dark);height:6px;display:block}.grid-table{overflow:auto}.actions-cell{justify-content:flex-end;gap:6px;display:flex}.dropzone{border:2px dashed var(--line);text-align:center;background:#fafaf8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:200px;display:flex}.steps-list{flex-direction:column;display:flex}.steps-list .step{border-bottom:1px solid var(--soft);gap:16px;padding:16px 0;display:flex}.steps-list .step:last-child{border-bottom:0}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dialog::backdrop{background:#22221f73}.facts{color:var(--ink-3);flex-wrap:wrap;gap:8px 24px;font-size:13px;display:flex}.facts strong{color:var(--ink)}.comment-dot{background:var(--info-fg);vertical-align:middle;border-radius:999px;width:6px;height:6px;margin-right:6px;display:inline-block}.doc-box.deal,.doc-tag.deal,.doc-legend .swatch.deal{--mark:118 78 150}.doc-box.unused,.doc-tag.unused,.doc-legend .swatch.unused{--mark:110 109 103}.doc-box.unused,.doc-legend .swatch.unused{border-style:dashed;border-width:1.5px;border-color:rgb(var(--mark) / 75%);background:0 0}.doc-box.unused.control,.doc-tag.unused.control,.doc-legend .swatch.unused.control{--mark:0 122 135}.doc-box.unused.derived,.doc-tag.unused.derived,.doc-legend .swatch.unused.derived{--mark:96 108 128}.doc-box.unused.context,.doc-tag.unused.context,.doc-legend .swatch.unused.context{--mark:168 108 42}.doc-box.unused.context,.doc-legend .swatch.unused.context{background:rgb(var(--mark) / 12%)}.doc-box.unused.twice,.doc-tag.unused.twice,.doc-legend .swatch.unused.twice{--mark:150 148 140}.doc-box.unused.label{border-style:dotted;border-width:1px}.doc-tag{transition:opacity .18s}.doc-tag.moving{opacity:0}.toast{z-index:50;background:var(--brand);max-width:420px;color:var(--brand-ink);border-radius:8px;align-items:center;gap:10px;padding:12px 12px 12px 16px;font-size:14px;line-height:1.4;animation:.25s ease-out toast-in;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 8px 24px #14211d38}.toast.leaving{animation:.35s ease-in forwards toast-out}.toast-close{width:28px;min-height:28px;color:var(--brand-ink-3);background:0 0;border-color:#0000;justify-content:center;padding:0}.toast-close:hover{color:var(--brand-ink);background:#f3f6f21a}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}.reveal{position:relative}.reveal-skeleton{z-index:1;background:var(--white);flex-direction:column;gap:14px;padding:44px 4px 8px;display:flex;position:absolute;inset:0}.skeleton-row{gap:24px;display:flex}.skeleton-bar{background:linear-gradient(90deg, var(--fill) 25%, var(--soft) 40%, var(--fill) 60%);background-size:300% 100%;border-radius:4px;height:14px;animation:1.2s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.reveal.revealed td.fresh{animation:2.8s ease-out fresh-fade}@keyframes fresh-fade{0%,30%{background:#c09f5f52}to{background:0 0}}@media (prefers-reduced-motion:reduce){.toast,.toast.leaving,.skeleton-bar,.reveal.revealed td.fresh{animation:none}}.todo{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.todo.warn{background:var(--warn-bg);border-color:#e3c99a}.todo.info{background:var(--fill)}.todo>strong{margin-bottom:6px}.todo-item{border-top:1px solid #00000012;align-items:center;gap:12px;padding:10px 0;display:flex}.todo-item>svg{flex:none;align-self:flex-start;margin-top:3px}.todo-item .btn{white-space:nowrap;flex:none}.profile{margin-top:auto;position:relative}.profile-button{text-align:left;width:100%;min-height:52px;color:var(--brand-ink-2);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:flex-start;gap:10px;padding:8px}.profile-button:hover,.profile-button[aria-expanded=true]{color:var(--brand-ink);background:#f3f6f214;border-color:#f3f6f21f}.profile.collapsed .profile-button{justify-content:center;width:44px;min-height:44px;padding:6px}.profile-who{flex-direction:column;flex:1;min-width:0;display:flex}.profile-name{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.profile-email{color:var(--brand-ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.avatar{object-fit:cover;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 0 0 2px #c09f5f8c}.avatar.initials{background:var(--brand-gold);color:var(--brand);letter-spacing:.5px;font-weight:700}.profile-menu{z-index:60;background:var(--white);width:260px;color:var(--ink);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:8px;animation:.15s ease-out menu-in;display:flex;position:fixed;box-shadow:0 12px 32px #14211d3d}.profile-menu .profile-email{color:var(--ink-3)}.profile-head{border-bottom:1px solid var(--soft);align-items:center;gap:12px;margin-bottom:4px;padding:8px 8px 12px;display:flex}.profile-head .badge{margin-top:4px}.profile-item{min-height:40px;color:var(--ink);border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.profile-item:hover{background:var(--fill)}.profile-signout{justify-content:center;gap:8px;min-height:40px;margin-top:4px;font-weight:600}@keyframes menu-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.profile-menu{animation:none}}.help-jump{flex-wrap:wrap;gap:8px;display:flex}.help-jump a{border:1px solid var(--line);background:var(--white);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none}.help-jump a:hover{border-color:var(--brand);color:var(--brand)}.help-section{gap:0;scroll-margin-top:16px}.help-section h2{margin-bottom:8px}.faq{border-top:1px solid var(--soft)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:10px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";background:var(--fill);width:24px;height:24px;color:var(--ink-2);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.faq[open] summary:after{content:"−";background:var(--brand);color:var(--brand-ink)}.faq summary:hover{color:var(--brand)}.faq-answer{color:var(--ink-2);padding:0 40px 16px 0;line-height:1.6}.faq-answer p{margin:0 0 8px}.faq-answer ul{margin:0 0 8px;padding-left:20px}.or-line{color:var(--ink-3);align-items:center;gap:12px;font-size:12px;display:flex}.or-line:before,.or-line:after{content:"";background:var(--soft);flex:1;height:1px}
