/* Cost Cloud visual language; drawing-specific layout and semantic surfaces. */
:root {
  color-scheme: light;
  --nav: #262d28;
  --nav-hover: #354039;
  --nav-ink: #f2f4ee;
  --nav-muted: #c3cec0;
  --paper: #fffefa;
  --canvas: #eff0ec;
  --desk: #dfe4da;
  --file-surface: #f0f3e9;
  --ink: #242d25;
  --text: var(--ink);
  --secondary: #5d685f;
  --line: #d9ded5;
  --annotation: #b64a0b;
  --annotation-soft: #f8ecdf;
  --selection: #e8eee2;
  --warning: #865a16;
  --warning-surface: #fff3df;
  --error: #b2342b;
  --radius: 8px;
  --files-width: 276px;
  background: var(--canvas);
  color: var(--ink);
}
body {font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif; background:var(--canvas); color:var(--ink); font-size:16px; -webkit-font-smoothing:antialiased}
button,input,select,textarea {font-family:inherit}
input,select,textarea {background:#f7f8f3; border-color:#c6cebf; border-radius:8px; min-height:44px; font-size:16px}
button:disabled {cursor:default; opacity:.48}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label:focus-visible {outline:3px solid #d88948; outline-offset:3px}
button,a { -webkit-tap-highlight-color:transparent }
.button {min-height:44px; border-radius:8px; font-size:16px; padding:9px 15px; gap:8px; line-height:1.35; font-weight:500}
.button:hover {filter:none; background:var(--file-surface); border-color:#adbba6}
.primary,.button.primary {background:var(--annotation); border-color:var(--annotation); color:#fffaf3}
.primary:hover,.button.primary:hover {background:#9e3e08; border-color:#9e3e08}
.text-button {color:var(--annotation); min-height:40px; font-size:15px}
.icon-button {width:40px; height:40px; border-radius:8px}
.app-header {height:72px; padding:0; gap:0; display:grid; grid-template-columns:var(--files-width) minmax(0,1fr) auto; background:var(--paper); border-bottom:1px solid var(--line)}
.brand {height:72px; padding:0 22px; background:var(--nav); color:var(--nav-ink); font-size:22px; letter-spacing:.01em}
.brand small {font-size:14px; line-height:1.5; margin-top:2px; color:var(--nav-muted); letter-spacing:0; font-weight:400}
.brand-mark {width:38px; height:40px; background:var(--annotation); font-size:25px; border-radius:10px}
.app-header nav {align-items:center; gap:8px; padding:0 24px}
.nav-button {display:flex; align-items:center; gap:9px; font-size:16px; min-height:44px; border:0; border-radius:8px; padding:10px 16px; white-space:nowrap; background:transparent; color:var(--secondary)}
.nav-button svg {width:20px; height:20px; flex:none}
.nav-button.active {background:var(--annotation-soft); color:#98400f; font-weight:650}
.nav-button:hover {background:var(--file-surface)}
.identity {padding:0 24px; gap:16px; font-size:14px}
.identity #user-name {border-left:1px solid var(--line); padding-left:16px}
.workspace {height:calc(100dvh - 72px); min-height:480px; padding:16px; gap:16px; grid-template-columns:var(--files-width) minmax(0,1fr) 342px}
.files-panel {background:var(--nav); color:var(--nav-ink); border:0; border-radius:12px; padding:18px 16px 14px; gap:12px; overflow:hidden}
.panel-heading {gap:4px; flex-wrap:wrap}
.panel-heading h2 {font-size:17px; font-weight:650; flex:1; line-height:1.5}
.files-panel .text-button,.files-panel .icon-button {color:var(--nav-muted)}
.files-panel .text-button:hover,.files-panel .icon-button:hover {background:var(--nav-hover); color:white}
.files-panel #project-select {color:var(--nav-ink); background:#354039; border-color:#566151; min-height:46px; width:100%; font-weight:550}
.files-panel #project-select option {background:var(--paper); color:var(--ink)}
.files-panel .upload-zone {grid-template-columns:28px minmax(0,1fr); gap:4px 10px; padding:13px 12px; min-height:92px; border:1px dashed #75816c; background:#303a31; border-radius:9px}
.files-panel .upload-zone:hover,.files-panel .upload-zone.drag-over {background:#3c4739; border-color:#e19b62}
.files-panel .upload-zone .upload-symbol {color:#efb487; font-size:28px}
.files-panel .upload-zone strong {color:var(--nav-ink); font-size:16px; font-weight:550}
.files-panel .upload-zone>span:last-of-type {font-size:14px; color:var(--nav-muted); line-height:1.6}
.files-panel .file-count {font-size:14px; color:var(--nav-muted); align-items:center; margin:0}
.files-panel .file-count .text-button {margin-left:auto}
.files-panel .file-tools {gap:4px}
.files-panel .file-tools input {background:#354039; color:var(--nav-ink); border-color:#576250; font-size:16px}
.files-panel .file-tools input::placeholder {color:var(--nav-muted); opacity:1}
.files-panel .tree-controls {gap:2px; justify-content:space-between; flex-wrap:nowrap}
.files-panel .tree-controls button {font-size:14px; padding-inline:2px; min-height:40px; color:var(--nav-muted)}
.files-panel .tree-controls #tree-select-toggle {color:#efb487}
.files-panel .tree-package {border-color:#485141; padding-top:4px}
.files-panel .tree-folder>summary::before,.files-panel .tree-package>summary::before {color:#bbc8af}
.files-panel .tree-label strong {font-size:16px; line-height:1.6}
.files-panel .tree-chinese {color:#d1ddc8; font-size:16px}
.files-panel .tree-counts,.files-panel .tree-attachment>span:last-child {color:var(--nav-muted); font-size:14px}
.files-panel .tree-children {border-color:#56624d}
.files-panel .tree-file-row {padding:3px 0; border-radius:8px}
.files-panel .tree-file-row:hover {background:#303c32}
.files-panel .tree-file-row .file-item {padding:11px 8px; border:0; border-radius:8px; color:var(--nav-ink)}
.files-panel .tree-file-row .file-item.selected {background:var(--selection); color:var(--ink); box-shadow:inset 3px 0 var(--annotation)}
.files-panel .file-item.selected .tree-chinese {color:#81400f}
.files-panel .file-item.selected .tree-counts {color:#56634e}
.files-panel .tree-name-edit {color:var(--nav-muted); min-width:30px; margin:2px 0; border-radius:6px}
.files-panel .tree-name-edit:hover {background:var(--nav-hover); color:#efb487}
.files-panel .tree-check input {accent-color:#e29458}
.files-panel .tree-file-row:has(.tree-check input:checked) {background:#48523e}
.files-panel .tree-selection-bar {background:#3c4737; border-color:#69785c; color:var(--nav-ink); padding:12px; border-radius:9px}
.files-panel .tree-selection-bar>span {color:var(--nav-muted)}
.files-panel .tree-selection-bar .text-button {color:#f0bb93}
.files-panel .tree-selection-bar .button {font-size:16px}
.files-panel .file-list {scrollbar-color:#75816b transparent; margin-inline:-6px; padding-inline:6px}
.files-panel .file-footer {color:var(--nav-muted); border-top:1px solid #485141; padding-top:12px; font-size:14px}
.files-panel .quiet-empty {color:var(--nav-muted); font-size:16px}
.files-panel .upload-state {color:#f0bb93; line-height:1.7}
.work-panel,.details-panel {border:1px solid var(--line); border-radius:12px; background:var(--paper); overflow:hidden; min-height:0}
.project-bar {background:var(--paper); padding:16px 20px 12px; gap:12px}
.project-title h1 {font-size:24px; line-height:1.4; font-weight:650; letter-spacing:-.015em}
.project-bar .text-button {font-size:14px; padding-inline:4px; white-space:nowrap}
#save-state {font-size:14px; color:var(--secondary)}
#save-state.dirty {color:var(--warning); font-weight:600}
.workflow-bar {background:var(--paper); padding:10px 20px 14px; border-top:0; border-bottom:1px solid var(--line); gap:10px}
.language-pair {gap:10px}
.language-pair label {font-size:14px; gap:8px}
.language-pair select {min-height:40px; font-size:15px; background:#f2f4ec; padding:7px 10px}
.workflow-actions {gap:8px; flex-wrap:wrap; align-items:center}
.workflow-actions>.button,.workflow-more>summary {font-size:15px; min-height:42px; padding:9px 12px}
.workflow-more[open] summary {background:var(--selection); border-color:#a6b39d}
.workflow-menu-body {border-color:var(--line); background:var(--paper); border-radius:10px; padding:8px; box-shadow:0 8px 24px #252d241a}
.workflow-menu-body .button:hover {background:var(--selection)}
.menu-section-label {font-size:14px; color:var(--secondary)}
.drawing-toolbar {background:#eef2e7; padding:10px 14px; gap:8px; border-bottom:1px solid #d7dfce; align-items:center}
.segmented {border:0; background:#dde5d5; border-radius:8px; padding:3px}
.segmented button {min-height:36px; padding:6px 13px; font-size:15px; color:#52604b; border-radius:6px; line-height:1.4}
.segmented button[aria-pressed=true] {color:#98400f; background:var(--paper); box-shadow:0 1px 3px #25301e17; font-weight:650}
.tool-button {font-size:14px; min-height:38px; background:transparent; border-color:transparent; color:#46553d; padding:7px 9px}
.tool-button:hover,.tool-button[aria-pressed=true] {background:#dce6d2; border-color:#c0ceb3}
.drawing-tools {gap:4px}
.drawing-tools select {font-size:14px; min-height:38px; background:var(--paper)}
.drawing-tools .icon-button {background:transparent; border-color:transparent; color:#46553d; width:34px; height:38px; font-size:20px}
.drawing-tools .icon-button:hover {background:#dce6d2}
.drawing-stage {background:var(--desk)}
.drawing-footer {background:#eef1e8; color:#53614d; padding:10px 14px; font-size:14px; border-top:1px solid var(--line)}
.readonly-map-note {background:#fff1d8; border-top-color:#e6c795; color:#7b521b; font-size:14px; padding:8px 14px}
.drawing-empty h2 {font-size:25px; letter-spacing:-.02em; color:var(--ink)}
.drawing-empty p {font-size:16px; line-height:1.8; color:var(--secondary); max-width:380px; margin:12px auto 20px}
.drawing-empty .empty-mark {color:#82927a}
.details-panel {border-left:1px solid var(--line)}
.detail-tabs {padding:0 16px; gap:20px; min-height:62px; background:var(--paper); border-bottom:1px solid var(--line)}
.detail-tabs>button {font-size:16px; color:var(--secondary); min-height:60px; border-bottom-width:3px}
.detail-tabs>button[aria-selected=true] {color:#9e450e; border-bottom-color:var(--annotation); font-weight:650}
.detail-tabs span {background:#edf1e6; color:#526448; padding:1px 5px; border-radius:4px; font-size:14px}
.text-search {padding:16px 16px 12px; gap:12px; background:var(--paper)}
.filter-check {font-size:14px; line-height:1.6; gap:8px}
.filter-check input {width:18px; height:18px; min-height:18px; accent-color:var(--annotation)}
.text-list {padding-inline:10px}
.text-row {padding:13px 10px; border:1px solid transparent; border-radius:8px; gap:6px; border-bottom-color:#e7ebe2}
.text-row:hover {background:#f3f6ec}
.text-row.selected {background:var(--selection); border-color:#bfceb3; box-shadow:inset 3px 0 var(--annotation)}
.text-row .source {color:#53644a; font-size:16px; line-height:1.65}
.text-row .target {color:var(--ink); font-size:16px; line-height:1.65}
.text-row .untranslated {font-size:14px; color:#8a5b18; line-height:1.6}
.list-more {font-size:16px; color:#91400e; min-height:44px; border:1px solid var(--line); margin:10px 0; background:#f3f6ed}
.text-editor {background:#f1f4eb; border-top:1px solid #d1dcc7; padding:16px; gap:12px}
.editor-heading {margin-bottom:12px; align-items:baseline}
.editor-heading h2 {font-size:18px}
.editor-heading span {font-size:14px; color:var(--secondary)}
.text-editor label {font-size:16px; gap:7px; color:#425039}
.text-editor textarea,.text-editor input {background:var(--paper); border-color:#becdb2; font-size:16px}
.text-editor textarea[readonly] {background:#e6ecde; color:#4e5e45}
.editor-grid {gap:12px}
.editor-grid input {width:100%}
.editor-actions {margin-top:16px; gap:10px}
.editor-actions .button {min-height:44px; font-size:15px}
.field-note {font-size:14px; line-height:1.7; color:var(--secondary)}
.issue-actions {padding:16px 16px 8px; gap:8px}
.issue-actions .button {padding-inline:10px; font-size:15px}
.issue-meaning {font-size:14px; padding:0 16px 12px; color:var(--secondary); line-height:1.8}
.issues-list {padding:12px 16px}
.issue-item {border-left-color:#c08a42; background:var(--warning-surface); border-radius:7px; font-size:16px; line-height:1.8; padding:14px}
.issue-item strong {font-size:14px; color:#835712}
.job-banner {background:#e9efe2; padding:12px 20px; font-size:16px; color:#3c5532; border-bottom:1px solid #ccd9c0; line-height:1.65}
.job-banner.failed,.material-banner {background:var(--warning-surface); color:#76511e; border-color:#e5cea6}
.material-banner {padding:12px 20px; font-size:16px; line-height:1.65}
.job-banner .button,.material-banner .button {min-height:40px; font-size:15px}
.admin-page {max-width:1220px; padding:36px 32px 48px; margin:auto}
.admin-title p {color:#8b470f; font-size:14px; margin-bottom:5px}
.admin-title h1 {font-size:28px; line-height:1.4; letter-spacing:-.02em}
.service-overview {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:24px 0; background:#e5ebdd; border:1px solid #d1dcc7; border-radius:12px; padding:20px 0}
.service-overview section {padding:0 24px; border-right:1px solid #cbd7c0}
.service-overview section:last-child {border:0}
.service-overview span {font-size:14px; color:#52634a}
.service-overview strong {display:block; font-size:22px; line-height:1.5; margin:6px 0; font-weight:650}
.service-overview p {font-size:14px; line-height:1.8; color:#5b6c52}
.admin-section {grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr); background:var(--paper); border:1px solid var(--line); border-radius:12px; margin-top:24px; padding:28px; gap:36px}
.admin-section h2 {font-size:21px; line-height:1.5; margin-top:8px}
.admin-section .section-index {display:inline-block; color:#9b5b28; font-size:14px; background:#f6eadb; padding:3px 8px; border-radius:5px; font-variant-numeric:tabular-nums}
.admin-section p {font-size:16px; line-height:1.8; margin-top:12px}
.admin-section .settings-note {font-size:14px; color:#6b7564}
.admin-section label {font-size:16px; gap:8px; color:#425039}
.admin-section input {background:#f9faf5; min-height:46px}
.settings-fields {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px}
.settings-fields label {display:flex; flex-direction:column; align-items:stretch; min-width:0}
.settings-fields input {width:100%}
.settings-fields .field-wide {grid-column:1/-1}
.provider-switch {margin:20px 0 0; padding:14px; background:#eff4e8; border-radius:8px}
.provider-switch input {min-height:20px; height:20px; width:20px}
#provider-message {min-height:26px; padding:10px 0; font-size:16px; color:#526448}
.admin-section .form-actions {border-top:1px solid var(--line); padding-top:20px; margin-top:8px}
dialog {background:var(--paper); border-color:#c9d3c0; border-radius:14px; color:var(--ink); box-shadow:0 20px 80px #18231233; font-size:16px}
dialog::backdrop {background:#1f2d2491}
dialog h2 {font-size:24px; line-height:1.4; letter-spacing:-.02em}
dialog p,dialog label {font-size:16px; line-height:1.7}
.form-error {font-size:16px!important; line-height:1.7!important}
.management-dialog,.resource-review-dialog,.run-dialog {border-color:#c8d3bf; border-radius:14px; background:var(--paper)}
.manager-heading,.review-heading,.run-heading {padding:22px 24px 18px; background:var(--paper)}
.manager-heading h2,.review-heading h2,.run-heading h2 {font-size:24px; margin:0 0 8px; line-height:1.4}
.manager-heading p,.review-heading p,.run-heading p {font-size:16px; line-height:1.7}
.manager-controls,.review-controls,.run-controls {background:#eef3e6; border-color:#d2ddc8; padding:14px 24px}
.manager-filters {padding:4px 0}
.manager-bulk {background:#e9efdf; border:1px solid #d0ddc2; padding:12px; border-radius:8px}
.manager-list {border-color:var(--line)}
.managed-item {border-color:var(--line)}
.managed-info .managed-chinese {color:#93450e}
.managed-meta,.managed-path {color:var(--secondary)}
.review-footer,.run-footer {background:#f2f5ec; border-color:#d3dfc8; padding:16px 24px}
.review-footer p,.run-footer p {color:#5d6c54; font-size:14px; line-height:1.7}
.review-selection,.readonly-document,.readonly-group,.scope-documents li {border-color:#d3ddca}
.readonly-group:hover {background:#f0f4e8}
.readonly-group input,.review-selection input,.bulk-all input,.managed-check input {accent-color:var(--annotation)}
#request-preview {color:var(--ink); background:var(--paper); border-color:#becdb2}
.verification-dialog {border-radius:14px; background:var(--paper)}
.verification-stage {background:var(--desk)}
.toast {background:#2e3c2d; color:#fffdf8; box-shadow:0 6px 24px #17220f30; font-size:16px; border-radius:9px; bottom:24px}
.startup-state {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-height:calc(100dvh - 72px); font-size:18px; color:var(--secondary)}
@media(min-width:1600px){:root{--files-width:296px}.workspace{grid-template-columns:var(--files-width) minmax(0,1fr) 362px}}
@media(min-width:901px) and (max-width:1450px){:root{--files-width:248px}.workspace{padding:12px;gap:12px;grid-template-columns:var(--files-width) minmax(0,1fr) 302px}.files-panel{padding:16px 12px 12px}.brand{padding-inline:18px}.app-header nav{padding-inline:20px}.identity{padding-inline:20px}.project-bar{padding:14px 16px 10px;gap:8px}.project-bar #save-state{display:none}.project-bar #save-state.dirty{display:block}.workflow-bar{padding:8px 16px 12px}.workflow-actions>.button,.workflow-more>summary{padding-inline:11px}.drawing-toolbar{padding:9px 12px}.drawing-tools{gap:2px}.drawing-toolbar .tool-button{padding-inline:7px}}
@media(min-width:901px) and (max-width:1180px){:root{--files-width:224px}.workspace{grid-template-columns:224px minmax(0,1fr) 280px}.identity{display:none}.app-header{grid-template-columns:224px minmax(0,1fr)}.project-bar{flex-wrap:wrap}.project-title{flex-basis:55%}.drawing-tools{width:100%;justify-content:space-between}.workflow-actions{width:100%}.workflow-actions>.button{flex:1}}
@media(max-width:900px){
 .app-header{height:64px;display:flex;gap:0;padding:0}.brand{height:64px;padding:0 14px;gap:9px;font-size:18px;flex:none}.brand-mark{width:34px;height:36px;font-size:23px;border-radius:8px}.brand small{font-size:12px}.app-header nav{padding:0 8px;margin-left:auto;gap:2px}.nav-button{font-size:16px;min-height:44px;padding:9px 10px;gap:6px}.nav-button svg{display:none}.identity{display:none}
 .workspace{height:calc(100dvh - 64px);min-height:480px;display:grid;grid-template-columns:minmax(0,1fr);padding:8px;gap:0}
 .files-panel,.details-panel{position:fixed;top:64px;bottom:0;z-index:50;display:none;border-radius:0;box-shadow:0 10px 40px #17220f40}.files-panel.open{display:flex;left:0;width:min(92vw,352px);padding:16px}.details-panel.open{display:flex;right:0;width:min(96vw,380px)}
 .files-panel .mobile-button{background:transparent;border:1px solid #65755c;color:var(--nav-ink)}.files-panel .panel-heading{gap:4px}.files-panel .tree-controls button{font-size:16px;min-height:44px}.files-panel .tree-name-edit{min-width:38px;min-height:44px}.files-panel .tree-check{width:40px;min-height:44px}
 .work-panel{border-radius:10px}.project-bar{padding:10px 12px;gap:8px;flex-wrap:wrap}.project-title{min-width:0;flex:1}.project-title h1{font-size:21px;line-height:1.5}.mobile-button{font-size:16px;min-height:44px;border-color:#c4d0b9;background:#f2f6ea;padding:8px 10px;white-space:nowrap}.project-bar #diagnostics-open{min-height:40px;font-size:16px}.project-bar #save-state{font-size:14px}.project-bar #save-state:not(.dirty){display:none}
 .workflow-bar{padding:8px 12px 12px;gap:10px;align-items:center}.language-pair{gap:10px}.language-pair label{flex-direction:row;gap:6px}.language-caption{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.language-pair select{font-size:16px;min-height:44px;padding:8px 10px}.workflow-actions{gap:8px;flex:1;justify-content:flex-end;flex-wrap:wrap}.workflow-actions>.button,.workflow-more>summary{font-size:16px;min-height:44px;padding:9px 12px}.workflow-more{margin-left:0}
 .drawing-toolbar{padding:8px;gap:6px;flex-wrap:wrap}.segmented{margin-right:auto}.segmented button{font-size:16px;min-height:40px;padding:8px 13px}.drawing-toolbar .tool-button{font-size:16px;min-height:44px;padding:8px}.drawing-tools{width:100%;margin:0;justify-content:space-between;gap:2px}.drawing-tools select{font-size:16px;min-height:44px;max-width:115px}.drawing-tools .icon-button{width:40px;height:44px}.drawing-toolbar #region-label{font-size:16px}.drawing-footer{font-size:14px;padding:9px 10px;gap:8px}.readonly-map-note{font-size:16px;line-height:1.6;padding:8px 10px}.drawing-empty{padding:24px}.drawing-empty h2{font-size:23px;line-height:1.5}.drawing-empty p{font-size:16px}
 .detail-tabs{padding:0 12px;gap:16px;min-height:58px}.detail-tabs>button{font-size:16px;min-height:58px}.detail-tabs .mobile-button{margin-left:auto;color:var(--ink)}.text-search{padding:14px}.text-row .source,.text-row .target,.text-row .untranslated,.filter-check{font-size:16px}.text-editor{padding:16px}.editor-actions{position:sticky;bottom:-16px;background:#f1f4eb;padding:12px 0;gap:8px}.editor-actions .button{font-size:16px;min-height:46px}.issue-meaning,.issue-item strong{font-size:16px}.issue-actions .button{font-size:16px}
 .job-banner,.material-banner{padding:10px 12px;font-size:16px}.job-banner .button,.material-banner .button{min-height:44px;font-size:16px}
 .admin-page{padding:24px 16px 40px}.admin-title h1{font-size:26px}.service-overview{grid-template-columns:1fr;margin:20px 0;padding:0}.service-overview section{padding:16px 20px;border-right:0;border-bottom:1px solid #cbd7c0}.service-overview section:last-child{border:0}.service-overview span,.service-overview p{font-size:16px}.service-overview strong{font-size:21px;margin:4px 0}.admin-section{grid-template-columns:1fr;padding:20px;gap:22px;margin-top:20px}.admin-section h2{font-size:22px}.settings-fields{grid-template-columns:1fr;gap:18px}.settings-fields .field-wide{grid-column:auto}.admin-section .settings-note{font-size:16px}.admin-section .form-actions .button{flex:1}
 dialog{padding:22px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto}.management-dialog,.resource-review-dialog,.run-dialog{border-radius:10px;width:calc(100vw - 16px)}.manager-heading,.review-heading,.run-heading{padding:16px 14px;gap:10px}.manager-heading h2,.review-heading h2,.run-heading h2{font-size:22px}.review-controls,.run-controls{padding:12px 14px}.review-footer,.run-footer{padding:12px 14px}.review-footer p,.run-footer p,.run-note,.scope-count{font-size:16px}.run-dialog .button,.resource-review-dialog .button,.management-dialog .button{font-size:16px;min-height:44px}.toast{bottom:16px;font-size:16px}
}
@media(max-width:480px){.brand{padding-inline:12px}.brand small{display:none}.nav-button{padding-inline:9px}.workspace{padding:6px}.project-bar{gap:6px}.project-title h1{font-size:20px}.project-bar #diagnostics-open{order:6;margin-left:auto}.workflow-actions{flex-basis:100%;justify-content:flex-start}.workflow-actions #translate,.workflow-actions #export-open{flex:1}.workflow-actions #package-download{flex:1;min-width:140px}.workflow-more{margin-left:auto}.drawing-footer{flex-wrap:wrap}.drawing-footer #drawing-caption{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawing-footer #drawing-counts{margin-left:auto}.admin-page{padding:22px 12px}.admin-section{padding:18px}.run-heading>.button,.review-heading>.button{padding-inline:12px}}
@media(prefers-reduced-motion:no-preference){button,a.button{transition:background-color 130ms,border-color 130ms,color 130ms}.button:active:not(:disabled){transform:translateY(1px)}}

@media(max-width:480px){
 .workflow-bar{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 12px 12px}
 .workflow-bar:not(:has(#package-download:not([hidden]))){grid-template-columns:repeat(2,minmax(0,1fr))}
 .workflow-bar .language-pair{grid-column:1/-1;padding-right:76px;gap:8px}
 .workflow-bar .workflow-actions{display:contents}
 .workflow-bar .workflow-actions>.button{min-width:0!important;padding-inline:7px;white-space:nowrap}
 .workflow-bar .workflow-more{position:absolute;right:12px;top:8px;margin:0}
 .workflow-bar .workflow-more>summary{padding-inline:9px}
}

@media(max-width:900px){
 .project-bar #diagnostics-open{min-height:44px}
 .segmented button{min-height:44px}
 .drawing-tools .icon-button{width:44px}
 #zoom-value,.language-caption,.menu-section-label,.drawing-footer{font-size:16px}
}
/* Account tasks retain the workbench's type, surfaces and operation color. */
.account-welcome { max-width: 700px; margin: clamp(36px,9vh,100px) auto; padding: 28px; color: var(--ink); }
.account-welcome h1 { font-size: clamp(28px,4vw,40px); margin: 12px 0 20px; line-height: 1.25; }
.account-welcome p { font-size: 17px; line-height: 1.75; }
.account-welcome .button { margin: 12px 0; min-height: 48px; }
.account-kicker { font-weight: 600; color: var(--secondary); margin: 0; }
.quota-status { white-space: nowrap; padding: 6px 10px; background: var(--selection); color: var(--ink); border-radius: 6px; }
dialog.account-dialog { box-sizing: border-box; width: min(520px,calc(100vw - 24px)); max-width: 520px; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; background: var(--paper); }
.account-dialog h2 { font-size: 24px; line-height: 1.3; margin: 0; }
.account-dialog label { display: grid; gap: 8px; font-size: 16px; margin: 16px 0; }
.account-dialog input,.account-dialog select { width: 100%; min-width: 0; font-size: 16px; min-height: 44px; box-sizing: border-box; }
.account-dialog .dialog-heading { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; }
.account-dialog .dialog-heading button { flex: none; min-height: 40px; }
.account-intro { font-size: 16px; line-height: 1.65; margin: 16px 0 20px; color: var(--secondary); }
.account-dialog .account-note { font-size: 15px; line-height: 1.65; color: var(--secondary); margin: 12px 0; }
.account-tabs { display: flex; width: 100%; box-sizing: border-box; }
.account-tabs button { flex: 1; padding: 10px 6px; font-size: 16px; white-space: normal; }
.account-code-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(120px,.8fr); gap: 12px; align-items: end; }
.account-code-row label { margin: 16px 0 0; }
.account-code-row>.button { min-height: 44px; }
#account-submit,#account-setting-submit,#quota-save { display: block; width: 100%; margin-top: 24px; min-height: 46px; }
#account-forgot { display: block; margin: 12px auto 0; min-height: 40px; }
.account-contact-list { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 12px; line-height: 1.65; margin: 24px 0; }
.account-contact-list dt { color: var(--secondary); }.account-contact-list dd { margin: 0; overflow-wrap: anywhere; }
.account-settings-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.account-admin { height: calc(100dvh - 74px); box-sizing: border-box; overflow: auto; max-width: 1440px; margin: 0 auto; padding: 28px clamp(16px,3vw,40px); }
.account-admin-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.account-admin-heading h1 { margin: 8px 0; font-size: 28px; }.account-admin-heading p { line-height: 1.7; }
.account-admin-tools { display: flex; align-items: end; gap: 20px; margin: 20px 0; }.account-admin-tools label { display: grid; gap: 8px; max-width: 440px; flex: 1; }
.account-admin table { width: 100%; border-collapse: collapse; text-align: left; background: var(--paper); }
.account-admin th,.account-admin td { padding: 16px 12px; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.account-admin th { background: var(--file-surface); font-weight: 600; }.account-admin td:first-child { max-width: 320px; }
.account-admin-mobile { display: none; }.quota-history { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 16px; }.quota-history p { line-height: 1.6; overflow-wrap: anywhere; }
@media(max-width:720px){
 .app-header .identity { gap: 8px; flex-wrap: wrap; }
 .identity .quota-status { order: 4; padding: 4px 6px; }
 dialog.account-dialog { padding: 20px 16px; max-height: calc(100dvh - 24px); }
 .account-dialog h2 { font-size: 22px; }.account-tabs button { font-size: 16px; }
 .account-admin { height: calc(100dvh - 120px); padding: 20px 16px; }.account-admin-heading { align-items: flex-start; }
 .account-admin-heading h1 { font-size: 24px; }.account-admin-table { display:none; }.account-admin-mobile { display: block; }
 .account-admin-mobile summary { min-height: 44px; padding: 8px 0; box-sizing: border-box; }.account-admin-mobile table th,.account-admin-mobile table td { padding: 10px 8px; }
 .account-user-card { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 18px; margin: 16px 0; }
 .account-user-card h3 { font-size: 18px; margin: 0 0 16px; overflow-wrap: anywhere; }.account-user-card dl { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }.account-user-card dd { margin: 0; text-align: right; }.account-user-card>.button { width: 100%; min-height: 44px; }
}
/* The account strip remains reachable on narrow screens. Its measured height
   also sets the drawing pane and overlay boundaries. */
body.account-mode .workspace { height:calc(100dvh - var(--app-header-height,72px)); }
body.account-mode .account-admin { height:calc(100dvh - var(--app-header-height,72px)); }
body.account-mode .identity { display:flex; font-size:16px; }
body.account-mode #environment { display:none; }
.account-dialog .account-note,.account-dialog .form-error { font-size:16px!important; }
.account-dialog button,.account-admin button { font-size:16px;min-height:44px;min-width:44px; }
.account-dialog .dialog-heading button { min-height:44px; }
body.account-mode #logout { min-width:44px; }
@media(max-width:1180px) {
 body.account-mode .app-header { display:flex;flex-wrap:wrap;height:auto;align-items:stretch; }
 body.account-mode .app-header nav { flex:1;justify-content:flex-end; }
 body.account-mode .identity { flex-basis:100%;justify-content:flex-end;margin:0;padding:4px 12px;gap:12px;min-height:52px;border-top:1px solid var(--line); }
 body.account-mode .identity .text-button { font-size:16px;min-height:44px; }
 body.account-mode #user-name { display:none; }
 body.account-mode .identity .quota-status { margin-right:auto;order:0; }
 body.account-mode .files-panel,body.account-mode .details-panel { top:var(--app-header-height,116px); }
}
@media(max-width:360px) {
 body.account-mode .brand { padding-inline:8px;gap:6px; }
 body.account-mode .nav-button { padding-inline:6px; }
 body.account-mode .app-header nav { padding-inline:4px; }
}

.account-user-contact { display:block;font-size:16px;line-height:1.6;color:var(--secondary);overflow-wrap:anywhere; }
.account-user-contact:empty { display:none; }
