:root{color-scheme:light;--canvas:#f5f5f2;--surface:#fff;--sidebar:#ededE8;--ink:#242821;--muted:#5d6459;--line:#d6dad1;--accent:#315d48;--accent-bg:#e4eee7;--danger:#9e352b;--danger-bg:#faeae6;--warn:#855214;--warn-bg:#faf0d8;--radius:7px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;color:var(--ink);background:var(--canvas);accent-color:var(--accent)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);min-height:36px;padding:7px 11px;transition:background-color 150ms ease}button:hover{background:var(--accent-bg)}button.primary{color:#fff;background:var(--accent);border-color:var(--accent)}button.primary:hover{background:#224532}button:disabled{opacity:.5;cursor:not-allowed}button.quiet{background:transparent;border-color:transparent}button.danger{color:var(--danger)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:3px}input,select,textarea{width:100%;min-height:38px;border:1px solid #959e91;border-radius:var(--radius);padding:8px 10px;background:var(--surface);color:var(--ink)}textarea{resize:vertical;min-height:100px;line-height:1.6}label{display:grid;gap:6px;font-size:13px;font-weight:600}input[type=checkbox]{width:18px;min-height:18px;height:18px;flex:none}h1,h2,h3,p{margin:0}h1{font-size:22px;letter-spacing:-.025em;font-weight:650;line-height:1.3}h2{font-size:18px;line-height:1.4}h3{font-size:15px}small,.muted{color:var(--muted)}small{font-size:12px}p+ p{margin-top:10px}ul{padding-left:20px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:grid;gap:16px}.flow>*+*{margin-top:12px}.mono{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 7px;border-radius:4px;background:var(--sidebar);font-weight:500;max-width:100%;overflow-wrap:anywhere}.badge.good{color:var(--accent);background:var(--accent-bg)}.badge.high,.error{color:var(--danger);background:var(--danger-bg)}.badge.medium,.warning{color:var(--warn);background:var(--warn-bg)}.badge.low{background:var(--sidebar)}.error,.warning,.info{padding:12px;border-radius:var(--radius);font-size:13px;overflow-wrap:anywhere}.info{background:var(--accent-bg);color:var(--accent)}.hidden{display:none!important}.skip{position:fixed;top:-80px;left:16px;z-index:10;background:var(--surface);padding:12px}.skip:focus{top:10px}#notice:not(:empty){position:fixed;bottom:42px;left:50%;transform:translateX(-50%);max-width:min(580px,92vw);background:var(--ink);color:white;padding:12px 18px;border-radius:var(--radius);z-index:9}#app{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.topbar{height:58px;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:16px}.mark{display:grid;place-items:center;width:30px;height:34px;background:var(--accent);color:white;border-radius:4px;font-size:18px}.workspace{min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{background:var(--sidebar);display:flex;flex-direction:column;gap:16px;padding:20px 14px;min-height:0;border-right:1px solid var(--line)}.sidebar .nav{display:flex;gap:4px}.nav button{flex:1;font-size:13px}.nav button.active{background:var(--surface);border-color:var(--line);font-weight:650}.catalog{overflow:auto;min-height:0;flex:1}.catalog button{display:block;text-align:left;width:100%;margin-bottom:6px;background:transparent;border-color:transparent;padding:10px}.catalog button.active{background:var(--surface);border-color:var(--line)}.catalog strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.catalog small{display:block;margin-top:5px}.sidebar-foot{padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.main{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;min-width:0}.context{padding:18px 22px 12px;display:flex;gap:12px;justify-content:space-between;align-items:start}.context p{font-size:12px;color:var(--muted);margin-bottom:5px}.context select{width:auto;max-width:150px;min-height:36px;font-size:13px}.passport-strip{margin:0 22px 16px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px}.passport-strip .summary{font-size:14px;max-width:95ch}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fact{border-left:2px solid var(--line);padding-left:10px;min-width:0}.fact span{display:block;color:var(--muted);font-size:11px}.fact strong{display:block;font-size:12px;font-weight:550;overflow-wrap:anywhere}.panels{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:0;min-height:0;border-top:1px solid var(--line)}.panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}.panel.inspector{border-left:1px solid var(--line);background:#fafbf8}.tabs{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--line);min-height:45px;align-items:stretch;overflow-x:auto;flex-shrink:0}.tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);font-size:13px;white-space:nowrap;padding:9px 10px}.tabs button.active{border-bottom:2px solid var(--accent);color:var(--ink);font-weight:600}.content{padding:20px;overflow:auto;min-height:0;flex:1;overflow-wrap:anywhere}.inspector .content{padding:18px}.footer{height:28px;padding:5px 22px;font-size:11px;background:var(--surface);border-top:1px solid var(--line);color:var(--muted)}.empty{display:grid;place-content:center;justify-items:start;gap:14px;min-height:240px;max-width:500px;margin:auto}.empty p{color:var(--muted);line-height:1.7}.center-empty{grid-column:1/-1;padding:40px;overflow:auto}.form{max-width:560px;display:grid;gap:16px}.form .actions{display:flex;gap:10px}.form .error:empty{display:none}.dropzone{border:1.5px dashed #8d9d89;background:var(--canvas);padding:24px 18px;border-radius:var(--radius);display:grid;justify-items:center;text-align:center;gap:10px}.dropzone.over{background:var(--accent-bg);border-color:var(--accent)}.dropzone strong{font-size:16px}.queue-row,.file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}.queue-row select{font-size:12px;min-height:32px;padding:5px;margin-top:6px}.file-type{font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:4px;padding:5px;color:var(--muted);min-width:40px;text-align:center}.file-row strong,.queue-row strong{font-size:13px;overflow-wrap:anywhere}.section-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px}.section-title:first-child{margin-top:0}.compact-action{font-size:12px;padding:4px 7px;min-height:30px}.separator{border:0;border-top:1px solid var(--line);margin:16px 0}.document{max-width:76ch;margin:auto}.source-block{padding:12px 0;border-bottom:1px solid var(--line);white-space:pre-wrap;font-size:14px;line-height:1.7}.source-block small{display:block;margin-bottom:5px}.source-block.highlight{background:var(--warn-bg);padding:12px;border-radius:4px;outline:2px solid #a78339}.finding{padding:16px 0;border-bottom:1px solid var(--line)}.finding:first-child{padding-top:0}.finding h3{margin:10px 0 8px}.finding p{font-size:13px;line-height:1.65}.finding textarea{font-size:13px;margin:10px 0;min-height:120px}.finding .source-link{background:var(--surface);color:var(--accent);font-size:12px;text-align:left;padding:5px 8px;margin:6px 4px 0 0;min-height:30px}.step-line{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.step{border:1px solid var(--line);padding:8px;border-radius:5px;font-size:12px}.step.done{border-color:#8fa48e;background:var(--accent-bg)}.step.running{border-color:var(--accent)}.history-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.history-row small{display:block;margin-bottom:3px}.risk-card{padding:14px 0;border-bottom:1px solid var(--line)}.risk-card h3{margin:8px 0}.risk-card p{font-size:13px}.details-field{padding:14px 0;border-bottom:1px solid var(--line)}.details-field h3{font-size:13px;color:var(--muted);margin-bottom:6px}.details-field p{font-size:14px;white-space:pre-wrap}.version{padding:14px 0;border-bottom:1px solid var(--line)}.login-page{grid-row:1/-1;display:grid;grid-template-columns:1.1fr 1fr;min-height:100dvh}.login-story{background:var(--sidebar);padding:clamp(32px,6vw,100px);display:flex;flex-direction:column;justify-content:center;gap:28px}.login-story h1{font-size:clamp(32px,4vw,56px);max-width:10ch;line-height:1.08;letter-spacing:-.04em}.login-story p{max-width:39ch;color:var(--muted);font-size:16px}.login-story .steps{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:24px;font-size:13px}.login-box{display:grid;place-content:center;padding:28px;background:var(--surface)}.login-box .form{width:min(360px,80vw)}.login-box h2{font-size:25px;margin-bottom:6px}.login-note{font-size:12px;max-width:40ch;color:var(--muted)}.settings{max-width:650px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison>div{min-width:0}.comparison pre{white-space:pre-wrap;font:inherit;font-size:13px;max-height:420px;overflow:auto}.empty-mark{font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}progress{width:100%;height:8px}
@media(max-width:1150px){.workspace{grid-template-columns:190px minmax(0,1fr)}.panels{grid-template-columns:minmax(0,1fr) 310px}.context,.content{padding:14px}.passport-strip{margin:0 14px 12px}.facts{gap:8px}.context{flex-wrap:wrap}.brand{font-size:14px}}
@media(max-width:900px){#app{height:auto;min-height:100dvh}.workspace{grid-template-columns:1fr}.sidebar{padding:12px;display:grid;grid-template-columns:1fr 1fr;border-right:0}.catalog{grid-column:1/-1;display:flex;max-height:130px;gap:8px}.catalog button{min-width:170px;max-width:240px;margin:0}.sidebar-foot{display:none}.main{min-height:650px}.panels{min-height:480px}.context{align-items:center}.topbar{padding:12px;height:auto;flex-wrap:wrap}.content{max-height:650px}.footer{height:auto;min-height:28px}.center-empty{min-height:450px}}
@media(max-width:620px){:root{font-size:16px}.login-page{grid-template-columns:1fr}.login-story{padding:28px;gap:18px}.login-story h1{font-size:36px;max-width:none}.login-story .steps{display:none}.login-box{padding:28px 20px}.login-box .form{width:100%;max-width:400px}.topbar .brand{font-size:15px}.panels{display:flex;flex-direction:column}.panel.inspector{border-left:0;border-top:1px solid var(--line)}.panel .content{max-height:65dvh}.facts{grid-template-columns:1fr 1fr}.passport-strip{padding:12px}.context h1{font-size:19px}.context .row{width:100%}.context select{flex:1}.comparison{grid-template-columns:1fr}input,select,textarea{font-size:16px}button{min-height:44px}.compact-action{min-height:36px}.sidebar{gap:8px}.tabs button{font-size:13px;min-height:44px}.footer{padding:8px 14px}.login-story .brand{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.main{grid-template-columns:minmax(0,1fr)}
.installation-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;max-width:100%}
#notice{pointer-events:none}
.main:not(.quick-main){grid-template-rows:auto minmax(0,1fr)}
.passport-compact{margin:12px 0 0}
.error:empty{display:none}
.passport-row{display:grid;grid-template-columns:135px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.passport-row dt{font-size:13px;font-weight:600;color:var(--muted)}
.passport-row dd{margin:0;min-width:0;font-size:14px;line-height:1.45}
.passport-row dd p{white-space:pre-wrap}
.passport-evidence{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:3px}
.passport-evidence small{font-size:11px}
.source-link{max-width:100%;text-align:start;overflow-wrap:anywhere;font-size:12px;color:var(--accent)}
.passport-evidence .source-link{min-height:28px;padding:2px 5px;border-color:transparent;background:transparent}
.contract-text .source-block{border:0;padding:0;margin-block:12px;line-height:1.65}
.contract-text .source-block.highlight{padding:10px;background:var(--warn-bg)}
.contract-text .clause-heading{font-weight:650;margin-top:22px}
.contract-text mark{background:#ead9a8;color:var(--ink)}
@media(max-width:620px){.passport-row{grid-template-columns:1fr;gap:4px;padding:10px 0}.passport-evidence .source-link{min-height:36px}}
a.compact-action{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;padding:4px 7px;min-height:30px}
a.compact-action:hover{background:var(--accent-bg)}
.summary-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--canvas);padding:14px;margin-top:14px}
.summary-panel textarea{font-size:13px;min-height:230px;background:var(--surface)}
.summary-panel p{font-size:13px;line-height:1.6}
@media(max-width:900px){.sidebar .row button{white-space:nowrap}}
.warning .row,.error .row,.info .row{margin-top:8px}
@media(max-width:1100px){.tabs{flex-wrap:wrap;overflow-x:visible}.tabs button{padding:9px 8px}}
.contract-text .source-block{padding-left:calc(var(--indent,0) * 20px)}
.contract-text .clause-heading{font-weight:650;font-size:15px;padding-top:18px}
.clause-table{width:100%;border-collapse:collapse;font-size:13px;white-space:normal}
.clause-table td{border:1px solid var(--line);padding:6px 8px;vertical-align:top}
.clause-table-block{padding-left:0;overflow-x:auto}
.panels.single-panel{grid-template-columns:minmax(0,1fr)}
.panels.has-inspector{grid-template-columns:minmax(0,1fr) minmax(320px,38%)}
.panels.has-inspector.wide-inspector{grid-template-columns:minmax(0,1fr) 50%}
.inspector-size{white-space:nowrap}
@media(max-width:1000px){.inspector-size{display:none}.panels.has-inspector.wide-inspector{grid-template-columns:minmax(0,1fr)}}
.inspector>.tabs{align-items:center;justify-content:space-between;flex-wrap:nowrap}
.inspector>.tabs span{font-size:13px;min-width:0}
.inspector>.tabs button{flex:none;border:1px solid var(--line);border-radius:var(--radius);margin:4px 0}
.single-panel>.panel>.content{padding-inline:clamp(16px,3vw,36px)}
.findings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-block:1px solid var(--line)}
.findings-toolbar .active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.finding{padding:12px 0}
.finding-disclosure>summary{cursor:pointer;min-height:36px;padding:4px 0;list-style-position:outside;margin-left:18px}
.finding-heading{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;max-width:100%}
.finding-heading strong{font-size:14px;font-weight:600}
.finding-heading>small{font-size:12px}
.finding-disclosure[open]>summary{margin-bottom:10px}
.finding-body{padding:4px 0 8px 18px;max-width:90ch}
.finding-body .flow{max-width:72ch}
.finding-body textarea{margin:0;min-height:100px}
.finding-sources{margin-left:18px}
.finding-sources .source-link{margin-block:2px}
.analysis-limitations summary,.legal-catalogue>summary{color:var(--warn)}
details>summary{cursor:pointer;padding-block:5px;min-height:32px}
.clause-comparison{margin-top:8px}
.clause-comparison>summary{font-size:13px;color:var(--accent)}
.clause-comparison .comparison{margin-top:10px}
.diff-text{white-space:pre-wrap;line-height:1.7;font-size:15px;padding-top:8px}
.diff-text del{background:var(--danger-bg);color:var(--danger);text-decoration:line-through}
.diff-text ins{background:var(--accent-bg);color:var(--accent);text-decoration:underline}
.legal-status{display:block;color:var(--warn)}
.contract-text .source-block{font-size:16px}
.contract-text .clause-heading{font-size:16px}
.quick-privacy{margin:0 22px 12px;font-size:12px;color:var(--muted)}
.quick-privacy details>summary{min-height:26px;padding-block:2px}
.quick-privacy details p{max-width:90ch;margin-top:5px}
.quick-main .dropzone{padding:18px}
.quick-main .dropzone small{max-width:54ch}
.legal-references{border-left:2px solid var(--line);padding-left:12px}
.legal-reference{margin-top:10px;font-size:13px}
.legal-reference small{display:block;margin-top:3px}
.legal-reference blockquote{margin:8px 0;white-space:pre-wrap;font-size:13px}
.legal-catalogue>.flow{margin-top:12px}
.risk-next{flex-basis:100%;display:grid;gap:3px;font-size:12px;padding:8px 0}
.risk-next span{white-space:pre-wrap}
@media(max-width:1100px){.tabs{flex-wrap:nowrap;overflow-x:auto}.panels.has-inspector{grid-template-columns:minmax(0,1fr) minmax(300px,38%)}.quick-privacy{margin-inline:14px}}
@media(max-width:1000px){.panels.has-inspector{grid-template-columns:minmax(0,1fr)}.panel.inspector:not(.hidden){position:fixed;inset:16px;z-index:20;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 0 0 100vmax rgb(36 40 33 / .5);background:var(--surface)}.inspector .content{max-height:none!important}.source-modal-open{overflow:hidden}.source-modal-open #app{overflow:hidden}}
@media(max-width:620px){.topbar{gap:6px}.topbar .row{gap:4px}.topbar small{display:none}.sidebar{padding:8px 12px}.sidebar>button{font-size:13px}.context{gap:8px;padding-block:12px}.context .row{width:auto}.quick-main .context{align-items:center}.quick-main .context h1{font-size:18px}.quick-main .context .row{gap:4px}.quick-main .content{padding:12px}.quick-main .dropzone{padding:12px;gap:8px}.quick-main .dropzone strong{font-size:15px}.quick-main .dropzone p{font-size:13px}.quick-main .flow>h2{font-size:16px}.quick-privacy{font-size:12px;margin-bottom:8px}.quick-privacy>p{line-height:1.4}.quick-privacy summary{min-height:32px!important}.finding-disclosure>summary{min-height:44px}.finding-heading strong{font-size:15px}.finding-body{padding-left:0}.finding-sources{margin-left:0}.source-link,.finding .source-link,.passport-evidence .source-link,.compact-action,a.compact-action{min-height:44px}.findings-toolbar{gap:8px}.findings-toolbar .row{gap:5px}.findings-toolbar button{font-size:12px}.panel.inspector:not(.hidden){inset:8px}.inspector>.tabs button{min-height:44px}.comparison{grid-template-columns:1fr}.source-modal-open .panel .content{max-height:none}}

.organization-form{gap:12px;max-inline-size:650px}
.organization-form :is(button,summary){min-block-size:44px}
.organization-form :is(p,a){overflow-wrap:anywhere}

/* Public introduction: existing brand, readable benefits, direct access to sign-in. */
.login-page{grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr)}
.login-story{padding:clamp(28px,4vw,64px);gap:24px;min-width:0}
.login-story h1{font-size:clamp(30px,3.1vw,46px);max-width:25ch;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.promo-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.promo-signin{display:none}
.promo-intro{display:grid;gap:16px}
.login-story .promo-audience{max-width:54ch;line-height:1.55}
.promo-benefits{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.promo-benefits li{border-inline-start:2px solid var(--accent);padding-inline-start:16px;display:grid;gap:4px}
.promo-benefits strong{font-size:16px;font-weight:650}
.promo-benefits span{font-size:14px;line-height:1.5;max-width:61ch;color:var(--muted)}
.promo-foot{border-block-start:1px solid var(--line);padding-block-start:16px}
.login-story .promo-foot p{max-width:65ch;font-size:13px;line-height:1.5}
.login-story .promo-formats{color:var(--ink);font-weight:600}
.promo-foot p+p{margin-block-start:6px}
.login-story .promo-disclaimer{margin-block-start:12px;font-size:12px}
.promo-foot .row{margin-block-start:8px;gap:16px}
.login-box{min-width:0}
.login-box .form{width:100%;max-width:360px}
.login-box :is(button,input){min-height:44px}
@media(max-width:1000px){
  .login-page{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}
  .login-story{padding:28px;gap:20px}
  .login-story h1{font-size:32px}
  .login-box{padding:28px 24px}
}
@media(max-width:740px){
  .promo-signin{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
  .promo-header .brand{font-size:14px;gap:8px}
  .login-page{grid-template-columns:minmax(0,1fr)}
  .login-story{padding:24px;gap:20px}
  .login-story h1{font-size:32px;max-width:22ch}
  .login-story .promo-audience{font-size:15px}
  .promo-benefits{gap:12px}
  .promo-benefits span{font-size:14px}
  .login-box{padding:28px 24px;place-content:initial;justify-items:center}
.login-box .form{max-width:400px}
}

/* Shared controls: compact with a mouse, generous on phones and touch tablets. */
:root{--control-font:14px;--control-height:38px;--control-pad:8px 10px;--control-gap:8px;--icon-size:20px;--menu-shadow:0 8px 24px #24282124}
:is(button,.compact-action,.tabs button,.nav button,.context select,.queue-row select,.finding .source-link){font-size:var(--control-font);min-height:var(--control-height)}
button{padding:var(--control-pad);max-width:100%;white-space:nowrap}
select{font-size:var(--control-font);min-height:var(--control-height)}
summary,.clause-comparison>summary{font-size:var(--control-font)}
.source-link,.finding .source-link{white-space:normal;overflow-wrap:anywhere;text-align:left}
.catalog button{white-space:normal}
.catalog strong{font-size:var(--control-font)}
.catalog-create{display:flex;flex-wrap:wrap;gap:var(--control-gap)}
.catalog-create button{flex:auto}
.decision-actions{display:flex;flex-wrap:wrap;gap:var(--control-gap);align-items:center}
.ui-icon{width:var(--icon-size);height:var(--icon-size);flex:none;vertical-align:middle}
.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-height);min-width:var(--control-height);padding:8px}
.control-tooltip{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;width:max-content;max-width:220px;padding:6px 8px;background:var(--ink);color:var(--surface);border-radius:var(--radius);font-size:12px;line-height:1.4;white-space:normal;z-index:60;display:none;pointer-events:none}
:is(.icon-button,.control-menu>summary):is(:hover,:focus-visible)>.control-tooltip{display:block}
.topbar{position:relative;z-index:10}
.topbar .brand{min-width:0;margin-inline-end:auto}
.topbar a.brand{min-height:44px;color:var(--ink);text-decoration:none;border-radius:var(--radius)}
.topbar a.brand:hover{color:var(--accent)}
.topbar .brand .mark{flex:none}
.mobile-nav,.mobile-back,.drawer-heading,.drawer-backdrop{display:none}
.control-menu{position:relative;margin:0;min-width:0}
.control-menu>summary{display:flex;gap:6px;align-items:center;justify-content:center;cursor:pointer;list-style:none;min-height:var(--control-height);min-width:var(--control-height);padding:var(--control-pad);border-radius:var(--radius);font-size:var(--control-font);white-space:nowrap}
.control-menu>summary::-webkit-details-marker{display:none}
.control-menu>summary:hover,.control-menu[open]>summary{background:var(--accent-bg)}
.menu-popover{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;width:260px;max-width:calc(100vw - 24px);padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--menu-shadow);z-index:50}
.menu-popover :is(button,a){display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px;text-align:left;white-space:normal;font-size:var(--control-font);border-radius:var(--radius)}
.menu-popover a:hover{background:var(--accent-bg)}
.menu-popover hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.menu-account{font-size:var(--control-font);font-weight:600;padding:8px 10px;overflow-wrap:anywhere}
.nested-menu>summary{justify-content:flex-start}
.nested-menu>.menu-popover{position:static;width:100%;max-width:none;box-shadow:none;border:0;border-inline-start:2px solid var(--line);border-radius:0;margin-top:4px}
.workspace-tabs{overflow:visible;position:relative;z-index:4;flex-wrap:wrap;gap:0}
.workspace-tabs .sections-menu>summary{border-radius:0}
.workspace-tabs .sections-menu>summary[aria-current=page]{border-bottom:2px solid var(--accent);font-weight:600;color:var(--ink)}
.active-subsection{display:block;font-size:12px;line-height:1.2;color:var(--accent)}
.contract-context{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.contract-heading{min-width:0;overflow-wrap:anywhere}
.contract-heading h1{max-width:100%;overflow-wrap:anywhere}
.contract-organization{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:14px}
.contract-organization>span{min-width:0;overflow-wrap:anywhere}
.context-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.context-actions select{width:120px;max-width:100%}
@media(min-width:621px){
  .sections-menu{display:contents}
  .sections-menu>summary{display:none}
  .sections-menu>.menu-popover{position:static;display:flex;align-items:stretch;gap:0;width:auto;max-width:none;padding:0;border:0;border-radius:0;box-shadow:none}
  .sections-menu>.menu-popover button{width:auto;min-height:var(--control-height);white-space:nowrap;padding:9px 10px;border-radius:0}
}
@media(pointer:coarse),(max-width:900px){
  :root{--control-height:44px}
  :is(input,select,textarea){font-size:16px;min-height:44px}
  :is(.context select,.queue-row select){min-height:44px;font-size:16px}
  :is(button,.compact-action,.tabs button,.nav button,.finding .source-link){min-height:44px;min-width:44px}
  :is(.content,.quick-privacy) details>summary{min-height:44px;padding-block:10px}
  .quick-privacy summary{min-height:44px!important}
}
@media(max-width:900px){
  .topbar{height:auto;min-height:60px;padding:8px 12px;gap:8px;flex-wrap:nowrap}
  .topbar .brand{font-size:14px;gap:8px}
  .topbar .brand .mark{width:24px;height:28px}
  .mobile-nav,.mobile-back{display:inline-flex;align-items:center}
  .mobile-back{padding-inline:0;color:var(--accent)}
  .workspace{display:block}
  #catalog-drawer{display:none}
  #catalog-drawer.is-open{display:flex;position:fixed;inset:0 auto 0 0;width:min(360px,calc(100vw - 24px));height:100dvh;padding:16px;gap:12px;z-index:40;overflow:auto;border-right:1px solid var(--line)}
  .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .drawer-open{overflow:hidden}
  .drawer-open .drawer-backdrop{display:block;position:fixed;inset:0;background:#24282166;z-index:35}
  #catalog-drawer .catalog{display:block;max-height:none;overflow:auto;flex:1}
  #catalog-drawer .catalog button{min-width:0;max-width:none;margin-bottom:8px}
  #catalog-drawer .sidebar-foot{display:block}
  .contract-context{grid-template-columns:minmax(0,1fr);gap:8px}
  .context-actions{width:100%}
  .context-actions select{flex:1;max-width:160px}
  .context-actions button{flex:none}
  .quick-main>.context{flex-wrap:wrap}
  .quick-main>.context>.row{width:auto}
  .main{min-height:calc(100dvh - 88px)}
  .context{padding:12px 14px}
  .content{padding:16px}
}
@media(max-width:620px){
  .workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(64px,.8fr);padding:0 8px;align-items:stretch}
  .workspace-tabs>button{padding:9px 4px;font-size:14px;min-width:0}
  .workspace-tabs .sections-menu>summary{height:100%;padding:8px 4px;gap:2px;font-size:14px}
  .workspace-tabs .sections-menu>summary>.ui-icon{width:16px;height:16px}
  .workspace-tabs .menu-popover{width:220px}
  .context-actions select{min-width:80px;max-width:none;width:80px}
  .context-actions button{padding-inline:10px}
  .contract-organization{font-size:14px}
  .contract-organization>span{flex:1 1 160px}
  .contract-organization button{padding-inline:0}
  .decision-actions{align-items:stretch;flex-direction:column}
  .decision-actions button{text-align:center}
}
