/* XPRSO shared visual system. Screen layouts live in their own stylesheets. */
@font-face{font-family:Manrope;src:url('/static/manrope-variable.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{
 --brand-espresso:#4A2E1E;--brand-mocha:#8B6A56;--brand-sand:#EDE4D9;--brand-cream:#FAF8F4;--brand-sky:#B3D9FF;
 --surface:#fff;--text:#2C211B;--text-muted:#6F6259;--border:#E6DDD3;--control-border:#B6A798;
 --blue-ink:#285575;--blue-soft:#EAF4FE;--success:#356047;--success-soft:#EDF5EE;--warning:#80551F;--warning-soft:#FBF0DD;--danger:#9D352B;--danger-soft:#FCEDE9;
 --ink:var(--text);--chocolate:var(--brand-espresso);--sky:var(--brand-sky);--milk:var(--brand-cream);--sand:var(--brand-sand);--navy:var(--text);--coral:var(--brand-espresso);--teal:var(--blue-ink);--muted:var(--text-muted);--line:var(--border);--bg:var(--brand-cream);--ease:cubic-bezier(.22,1,.36,1);--shadow:0 8px 30px -24px #4A2E1E35;
}
html{color-scheme:light;scroll-padding-top:24px}
body{font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:1.55;background:var(--brand-cream);color:var(--text);-webkit-font-smoothing:antialiased}
body,button,input,textarea,select{font-feature-settings:'ss01' 1}button,input,textarea,select{font-family:inherit}
::selection{background:var(--brand-sky);color:var(--brand-espresso)}
h1,h2,h3{color:var(--text);font-weight:650;letter-spacing:-.035em;text-wrap:balance}h1{font-size:30px;line-height:1.25}h2{font-size:19px;line-height:1.4}h3{font-size:16px;line-height:1.45}
p{line-height:1.65}.muted,.small.muted{color:var(--text-muted)}.small{font-size:12px}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #3779A8;outline-offset:3px}
input,textarea,select{font-size:14px;color:var(--text);border-color:var(--control-border);border-radius:10px;background:var(--surface);transition:border-color .15s,box-shadow .15s;min-height:44px}
input::placeholder,textarea::placeholder{color:#81756B;opacity:1}input:hover,textarea:hover,select:hover{border-color:var(--brand-mocha)}
input:focus,textarea:focus,select:focus{border-color:#3779A8;box-shadow:0 0 0 3px #B3D9FF55}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-espresso);min-height:0}input[type=range]{min-height:24px}
input:disabled,select:disabled,textarea:disabled{background:#F2EEE8;color:var(--text-muted);opacity:.8}
label,.dialog-body>label,.form-padding>label{font-size:13px;font-weight:600;color:var(--text)}.field-help{font-size:12px;line-height:1.6;color:var(--text-muted)}
.button{min-height:44px;padding:11px 17px;border-radius:10px;font-size:13px;line-height:1.5;font-weight:650;letter-spacing:-.01em;box-shadow:none;transition:background-color .15s,border-color .15s;color:var(--brand-espresso)}
.button:hover:not(:disabled){transform:none}.button.primary,.primary{background:var(--brand-espresso);border-color:var(--brand-espresso);color:var(--brand-cream);box-shadow:none}
.button.primary:hover:not(:disabled),.primary:hover:not(:disabled){background:#65412C;border-color:#65412C}
.button.subtle,.subtle{background:var(--surface);border-color:var(--border);color:var(--brand-espresso)}.button.subtle:hover:not(:disabled),.subtle:hover:not(:disabled){background:var(--brand-sand);border-color:#D8C8B8}
.button.sky-button{background:var(--brand-sky);color:var(--brand-espresso);border-color:transparent}.button.on-dark{color:var(--brand-espresso);background:var(--brand-cream);border:1px solid var(--border)}
.button.danger,.button.delete-document,.button.delete-prepress{background:var(--danger-soft);color:var(--danger);border-color:#E2BBB3}.button.danger:hover:not(:disabled){background:#F5DDD6;border-color:#C58679}
.button:disabled,.icon-button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.icon-button{color:var(--brand-espresso);border-radius:9px;border-color:var(--border);background:var(--surface);transition:background-color .15s;min-width:36px;min-height:36px}.icon-button:hover:not(:disabled){background:var(--brand-sand)}
.text-link{font-size:12px;line-height:1.5;font-weight:650;color:var(--brand-espresso)}button.text-link{min-height:36px}.text-link:hover{text-decoration:underline;text-underline-offset:3px}
.brand,.login-logo,.editor-logo{background:var(--brand-cream)}.brand img{max-width:100%;object-fit:contain}
.eyebrow,.overline,.nav-caption{color:var(--text-muted);font-size:11px;font-weight:650;letter-spacing:.12em}.page-heading h1,.login-card h1{color:var(--brand-espresso)}
.page-heading p,.panel-heading p{font-size:13px;color:var(--text-muted)}.avatar{color:var(--brand-cream);background:var(--brand-espresso)}
.panel{border-color:var(--border);border-radius:16px;background:var(--surface);box-shadow:none}.panel-heading{padding:22px 24px 18px;gap:16px}.panel-heading h2{font-size:19px;color:var(--text)}.panel-heading>.text-link{font-size:12px}.panel-heading>i{color:var(--brand-mocha)}.panel-bottom{border-color:var(--border)}
.metric{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:none;min-height:128px}.metric-title{font-size:12px;line-height:1.5;color:var(--text-muted)}.metric-title i{display:inline-flex;color:var(--brand-mocha)}
.metric-number{font-size:34px;font-weight:600;line-height:1.3;letter-spacing:-.045em;color:var(--brand-espresso);font-variant-numeric:tabular-nums}.metric-note{font-size:12px;color:var(--text-muted);line-height:1.5}
.metric.complete{background:var(--blue-soft);border-color:#D8E7F4}.metric.complete .metric-number{color:var(--blue-ink)}.metric.attention .metric-number{color:var(--warning)}
table{font-size:13px}th{background:#F8F5F0;color:var(--text-muted);font-size:12px;letter-spacing:0;font-weight:600;padding-top:13px;padding-bottom:13px}td{border-color:#EEE7DF;padding-top:16px;padding-bottom:16px;line-height:1.5}tbody tr:hover{background:#FCFAF7}
.file-symbol{width:34px;height:40px;font-size:9px;color:var(--blue-ink);background:var(--blue-soft);border:1px solid #CDDFEF;border-radius:7px}.file-name{font-size:13px;font-weight:650;color:var(--text)}.file-meta,.cell-stage{font-size:12px;line-height:1.5;color:var(--text-muted)}
.row-actions .icon-button{width:36px;height:36px;min-height:36px;border-color:var(--border);background:var(--brand-cream)}
.badge{font-size:12px;font-weight:600;line-height:1.5;border-radius:6px;padding:4px 8px;border:1px solid transparent;max-width:100%;white-space:normal}
.badge.ready,.badge.sent{color:var(--success);background:var(--success-soft);border-color:#D8E8DC}.badge.running{color:var(--blue-ink);background:var(--blue-soft);border-color:#D2E4F4}.badge.review,.badge.retry,.badge.glossary_review{color:var(--warning);background:var(--warning-soft);border-color:#EBDCC1}.badge.error,.badge.failed{color:var(--danger);background:var(--danger-soft);border-color:#EBD1CB}.badge.queued{color:var(--text-muted);background:#F1EDE7;border-color:var(--border)}
.filter-tabs{background:#F2EDE6;border:1px solid var(--border);border-radius:10px;padding:4px;gap:3px;flex-wrap:wrap}.filter{font-size:12px;min-height:36px;padding:7px 12px;border-radius:7px;color:var(--text-muted)}.filter.selected{background:var(--surface);color:var(--brand-espresso);box-shadow:0 1px 3px #4A2E1E0D}.filter:hover{color:var(--brand-espresso)}
.document-toolbar{padding:22px 24px}.document-toolbar select{font-size:13px}.search-field{border-color:var(--control-border);border-radius:10px;background:var(--surface)}.pagination{font-size:12px;font-variant-numeric:tabular-nums}
.bar{background:#9CCCEE;border-radius:5px 5px 2px 2px}.bar.today{background:var(--brand-mocha)}.language-track{background:#E4EFF7;height:6px}.language-track>span{background:#88BBE2}
.chart-total{font-size:32px;font-weight:600;letter-spacing:-.035em;line-height:1.3;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-variant-numeric:tabular-nums}.chart-total span{font-size:12px;font-weight:500;letter-spacing:0;line-height:1.5;color:var(--text-muted);margin:0}
.weekly-chart{min-height:210px}.day-label,.chart-subtitle,.language-name,.language-value{font-size:12px}.system-row{padding:12px 0;font-size:13px}.system-row small{font-size:12px}.event-marker{background:var(--brand-mocha)}.event-text{font-size:13px}.event-text strong{font-weight:600}.event-row time{color:var(--text-muted);font-size:12px}
.status-dot{background:#B3A69B}.status-dot.good{background:var(--success);box-shadow:0 0 0 3px #35604712}.status-dot.warning{background:var(--warning)}.status-dot.bad,.status-dot.danger,.status-dot.error{background:var(--danger)}
.alert{border-radius:10px;font-size:13px;line-height:1.6}.alert.danger{color:var(--danger);border-color:#E4C4BB;background:var(--danger-soft)}.alert.warning{color:var(--warning);background:var(--warning-soft);border-color:#E5D5B9}.error{font-size:13px;color:var(--danger);overflow-wrap:anywhere}.empty{color:var(--text-muted);font-size:13px;padding:36px 20px}.empty strong{color:var(--text);font-size:16px}
.note-card,.help-intro{background:var(--blue-soft);border-color:#D7E6F2;border-radius:14px}.note-card p{color:var(--blue-ink)}.help-card-heading{gap:12px}.help-symbol{color:var(--brand-espresso);background:var(--brand-sand);border-radius:10px}.help-symbol.mail{color:var(--blue-ink);background:var(--blue-soft)}
.help-note{background:var(--brand-cream);border:1px solid var(--border);border-radius:10px}.subject-example{background:var(--brand-sand);color:var(--brand-espresso)}.help-mail-address{background:var(--blue-soft)}.help-mail-address span{font-size:12px;letter-spacing:.05em}.help-mail-address a{color:var(--blue-ink)}.help-facts dt{font-size:13px}
.help-steps>li:before{border-color:#CCDAE8;background:#F3F8FD;color:var(--blue-ink)}.help-faq details{border-color:var(--border)}.help-faq details[open]{background:#FCFAF7}.help-faq summary{font-size:14px}
.switch>span{background:#C8BCB0}.switch input:checked+span{background:var(--brand-espresso)}.switch input:focus-visible+span{outline:3px solid #3779A8;outline-offset:3px}.setting-row strong{font-size:14px}.setting-row p{font-size:12px}.setting-row select{font-size:13px}.private-rules,.rules-panel pre{font-family:Manrope,Arial,sans-serif;color:var(--text);font-size:13px}
.owner-label{font-size:12px}.page-footer{color:var(--text-muted);font-size:12px;margin-top:28px;gap:16px}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 80px #2C211B2B}dialog[open]{animation:none}dialog::backdrop{background:#2C211B66;animation:none}
.dialog-heading{background:var(--brand-cream);padding:22px 26px;border-color:var(--border)}.dialog-heading h2{font-size:23px;letter-spacing:-.035em}.dialog-heading .icon-button{background:transparent}.dialog-body{padding-left:26px;padding-right:26px}.dialog-footer{background:var(--brand-cream);border-color:var(--border);padding:17px 26px}.dialog-footer .button{font-size:13px}
.upload-dialog .dialog-footer{position:sticky;bottom:0;z-index:3;box-shadow:0 -8px 18px #FFFFFFF2}
.drop-zone{padding:26px 18px;border:1.5px dashed #7C9FB9;border-radius:12px;background:#F2F8FE;transition:background-color .15s,border-color .15s}.drop-zone:hover,.drop-zone.dragging{background:#E6F2FE;border-color:#3779A8}.drop-zone:focus-within{outline:3px solid #3779A8;outline-offset:3px}.drop-zone strong{font-size:14px}.drop-zone>span{font-size:12px}.upload-symbol{background:#DCEEFF;color:var(--blue-ink);border-radius:10px}
.selected-file{border-color:var(--border);font-size:13px}.selected-file-name{font-size:13px}.selected-file-size{font-size:12px}.remove-file{color:var(--danger)}
.detail-dialog{border-radius:18px 0 0 18px}.detail-dialog[open]{animation:none}.detail-body h2{font-size:23px;overflow-wrap:anywhere}.detail-meta dt{font-size:12px;color:var(--text-muted)}.detail-meta dd{font-size:13px}.quality-item{border:1px solid var(--border);background:var(--brand-cream);border-radius:10px;font-size:13px}.retry-form{background:var(--brand-cream);border:1px solid var(--border);border-radius:12px}
.timeline{border-color:#D9CBBB}.timeline-item:before{background:var(--brand-mocha);box-shadow:0 0 0 4px var(--surface)}.timeline-item p{color:var(--text-muted);font-size:13px}.timeline-item time{font-size:12px}
#toast{color:var(--brand-cream);background:var(--brand-espresso);box-shadow:0 8px 24px #4A2E1E24;border:1px solid #FFFFFF26;border-radius:12px;font-size:13px}.view:not([hidden]){animation:none}
/* Real activity stays textual; no decorative animation implies measurable progress. */
.translation-scene{--scene-ink:var(--blue-ink);--scene-soft:var(--text-muted);display:flex;align-items:center;gap:12px;min-width:0;padding:14px 16px;margin:14px 0;border:1px solid #D6E5F2;border-radius:12px;background:#F3F8FD;color:var(--scene-ink)}
.translation-scene-art{display:grid;place-items:center;flex:0 0 38px;width:38px;height:42px;color:var(--scene-ink)}.translation-status-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#DFEDF9}.translation-status-symbol svg{width:21px;height:21px;stroke-width:1.7}
.translation-scene-copy{min-width:0;flex:1}.translation-scene-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;line-height:1.5}.translation-scene-dot{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.translation-scene-title{display:block;margin-top:4px;font-size:14px;font-weight:650;line-height:1.45;letter-spacing:-.02em}
.translation-scene-note,#active-work .translation-scene .translation-scene-note{margin-top:5px;font-size:12px;color:var(--scene-soft);line-height:1.6;overflow-wrap:anywhere;max-width:none}
.translation-scene[data-state="waiting"],.translation-scene[data-state="unknown"]{--scene-ink:var(--text-muted);background:#F6F3EE;border-color:var(--border)}.translation-scene[data-state="complete"]{--scene-ink:var(--success);background:var(--success-soft);border-color:#D4E5D7}.translation-scene[data-state="attention"]{--scene-ink:var(--warning);background:var(--warning-soft);border-color:#E5D5B9}
.translation-scene[data-state="complete"] .translation-status-symbol{background:#DBECDD}.translation-scene[data-state="attention"] .translation-status-symbol{background:#F2E3C9}
.translation-scene.is-compact{display:block;max-width:100%;padding:0;margin:6px 0 0;border:0;border-radius:0;background:transparent}.translation-scene.is-compact .translation-scene-label{font-size:12px;gap:6px}.translation-scene.is-compact .translation-scene-art,.translation-scene.is-compact .translation-scene-title,.translation-scene.is-compact .translation-scene-note{display:none}
.work-timing{font-size:12px;gap:16px}.work-timing b{font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:820px){h1{font-size:27px}.page-heading h1{font-size:27px}.panel-heading{padding:20px}.panel-heading h2{font-size:18px}.button{font-size:13px}.metric{padding:18px;min-height:126px}.metric-number{font-size:31px}.dialog-heading,.dialog-footer{padding:18px 20px}.dialog-body{padding-left:20px;padding-right:20px}}
@media(max-width:700px){input,textarea,select{font-size:16px}.button,.icon-button,.row-actions .icon-button{min-height:44px}.icon-button,.row-actions .icon-button{min-width:44px}button.text-link{min-height:44px}.filter{min-height:40px;font-size:12px}.metric-title,.metric-note{font-size:12px}.file-name,.file-meta,.cell-stage,.badge{font-size:12px}.document-toolbar select{font-size:14px}.panel-heading p,.page-heading p{font-size:12px}.panel-heading>.text-link{font-size:12px}.event-row time{font-size:12px}.page-footer{font-size:12px;flex-wrap:wrap}.setting-row select{font-size:14px}.dialog-heading h2{font-size:22px}.dialog-footer .button{font-size:13px}.detail-dialog{border-radius:0}.translation-scene{gap:10px;padding:12px}.translation-scene-title{font-size:14px}.translation-scene-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
