.workspace-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 22px;background:#e9eef3;border-bottom:1px solid #c8d2dd;color:#20364c;font-size:13px}
.appnav button[hidden]{display:none!important}
.workspace-bar[hidden],.app-panel[hidden],.auth-overlay[hidden]{display:none!important}
.workspace-bar label{display:flex;align-items:center;gap:7px;font-weight:600}
.workspace-bar select{max-width:260px;min-width:150px;padding:7px 10px;border:1px solid #bac9d5;border-radius:5px;background:white;color:#172f45;font:inherit}
.workspace-bar #workspaceStatus{margin-left:auto;max-width:310px;color:#49657c;line-height:1.3}
.workspace-bar #workspaceStatus.app-error{color:#aa3029}
.app-panel{max-width:1480px;margin:0 auto;padding:24px 24px 100px;color:#172f45}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}
.panel-heading h2{font-size:24px;margin:0 0 4px;font-weight:650}
.panel-heading p{margin:0;color:#61768a}
.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.app-card{background:white;border:1px solid #d8e1e9;border-radius:8px;padding:20px;margin-bottom:15px;box-shadow:0 1px 2px #15334b0a}
.app-grid .app-card{margin-bottom:0}
.app-card.wide{grid-column:1/-1}
.app-card h3{margin:0 0 14px;font-size:18px;color:#1a344d}
.app-card h4{margin:0 0 8px}
.app-card p{line-height:1.5}
.app-card label,.account-dialog label,.auth-card label{display:block;margin:10px 0;font-weight:600;font-size:14px}
.auth-card label{color:#29475e}
.app-card input,.app-card textarea,.app-card select,.account-dialog input,.account-dialog select,.auth-card input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 11px;border:1px solid #b9c9d5;border-radius:5px;background:white;color:#183148;font:inherit;font-weight:400}
.app-card textarea{resize:vertical;min-height:110px}
.app-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.document-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:7px}
.document-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;background:#f2f6f9;border-radius:4px}
.document-list a{color:#1a5c86;overflow-wrap:anywhere}
.analysis-result{background:#f1f6fa;border-left:3px solid #297aaa;padding:15px;margin-top:14px}
.intake-flow{display:grid;gap:15px}
.intake-card{margin:0}
.intake-heading,.intake-heading>div,.intake-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.intake-heading>div{justify-content:flex-start}
.intake-heading h3{margin:0}
.intake-step{font-family:"IBM Plex Mono",monospace;background:#173b56;color:#fff;border-radius:4px;padding:5px 8px;font-size:13px}
.intake-upload{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-top:12px}
.intake-upload label{min-width:270px;flex:1;max-width:560px}
.intake-upload .app-actions{margin:10px 0}
.intake-review-head{border-top:1px solid #dce5eb;padding-top:17px;margin-top:17px}
.intake-review-head h4{margin:0;font-size:17px}
.intake-review-head span{font-size:13px;color:#61768a}
.passport-group{border-bottom:1px solid #e1e8ed;padding:12px 0}
.passport-group h5{font-size:15px;margin:0 0 5px;color:#24516e}
.passport-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px}
.passport-grid label{margin:4px 0;font-weight:500}
.passport-grid label.is-empty{color:#718394}
.intake-warnings{color:#8a4d1b;font-size:14px;line-height:1.45;margin-top:12px}
.intake-warnings p{margin:4px 0}
.tz-issues{display:grid;gap:11px;margin-top:16px}
.tz-issue{border:1px solid #d6e0e8;background:#f8fafc;padding:12px;border-radius:6px}
.tz-issue-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tz-issue-head strong{font-size:14px}
.tz-issue-head button{font-size:13px}
.tz-issue-grid{display:grid;grid-template-columns:minmax(200px,1.5fr) 150px minmax(220px,1.5fr);gap:10px}
.tz-issue label{margin:8px 0}
.tz-issue small{display:block;color:#637b8c;line-height:1.4}
.calc-variants .card-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.calc-variants .card-h h2{margin:0}
.variant-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}
.variant-card{text-align:left;display:flex;flex-direction:column;gap:6px;border:1px solid #c8d6e2;background:#f8fafc;border-radius:6px;padding:13px;color:#1c3850;cursor:pointer;font:inherit}
.variant-card.active{border-color:#e47e43;background:#fff4ec}
.variant-card span{font-size:12px;color:#63798a}
.works-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.scope-text{white-space:pre-wrap}
.works-table-wrap{overflow:auto}.works-table{width:100%;border-collapse:collapse;font-size:14px}
.works-table th,.works-table td{padding:10px;border-bottom:1px solid #e0e7ed;text-align:left;vertical-align:top}
.works-table th:nth-child(n+2),.works-table td:nth-child(n+2){white-space:nowrap}
.works-table small{display:block;color:#77899a;margin-top:2px}
.works-table input{min-width:105px;padding:7px 8px!important;margin:0!important;font-size:13px}
.works-table .work-norm{min-width:75px;width:90px}
.works-table .work-source{min-width:165px}
.auth-overlay{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:22px;background:#122c42}
.auth-card{width:min(100%,420px);background:#fff;border-radius:10px;padding:32px;box-shadow:0 24px 60px #071e31aa}
.auth-card h1{font-size:25px;margin:25px 0 6px;color:#142f45}
.auth-card p{line-height:1.45;color:#5a7184}
.auth-brand{font-size:15px;font-weight:700;letter-spacing:.05em;color:#193d5b}
.auth-brand span{color:#e17735}
.auth-card .btn{width:100%;margin-top:13px;padding:11px}
input[type=file]::file-selector-button{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:7px 10px;margin-right:10px;font:inherit;font-weight:500;cursor:pointer}
input[type=file]::file-selector-button:hover{border-color:var(--acc)}
#authError{min-height:1.4em;color:#a92c25;margin-bottom:0}
.account-dialog{width:min(92vw,520px);max-height:86vh;overflow:auto;border:1px solid #ccd7df;border-radius:10px;padding:25px;color:#1b364d;box-shadow:0 25px 80px #071c2a77}
.account-dialog::backdrop{background:#11253699}
.account-dialog h2{margin:0}.account-dialog h3{margin-top:23px}
.account-dialog details{border-top:1px solid #d9e2e9;border-bottom:1px solid #d9e2e9;padding:12px 0}
.account-dialog summary{cursor:pointer;font-weight:600}
.account-close{float:right;border:0;background:none;color:#1b364d;font-size:24px;cursor:pointer}
#userList{max-height:140px;overflow:auto;border-top:1px solid #dce4eb;margin-top:12px}
#userList p{margin:0;padding:6px 0;border-bottom:1px solid #e9edf1}
#accountMessage{min-height:1.2em;color:#205c78}
@media(max-width:980px){.passport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tz-issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-grid{grid-template-columns:1fr}.app-card.wide{grid-column:auto}.workspace-bar{padding:10px}.workspace-bar label{width:100%;justify-content:space-between}.workspace-bar select{flex:1;max-width:none}.workspace-bar #workspaceStatus{margin-left:0;max-width:none}.app-panel{padding:17px 12px 90px}.panel-heading{display:block}.panel-heading .btn{margin-top:12px}.intake-upload{display:block}.intake-heading{align-items:flex-start}.intake-review-head{display:block}.passport-grid,.tz-issue-grid{grid-template-columns:1fr}.calc-variants .card-h{display:block}.calc-variants .card-h .btn{margin-top:10px}}
