@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer workspace-legacy{:root{--color-black-6: #101820;--color-bright-red: #ff3b30;--color-421: #b7bbb7;--color-4195: #626767;--color-1365: #ffb84d;--color-white: #ffffff;--color-text: #101820;--color-page: #f6f6f2;--color-panel: #ffffff;--color-border: #d7dad4;--color-muted: #626767;--color-soft-red: #fff0ee;--color-soft-amber: #fff4df;--shadow-panel: 0 18px 46px rgb(16 24 32 / .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-black-6);background:var(--color-page);color-scheme:light}:root[data-theme=dark]{--color-page: #101820;--color-panel: #171f27;--color-border: #343a3c;--color-muted: #b7bbb7;--color-white: #202932;--color-text: #f6f6f2;--color-soft-red: #3b1e1c;--color-soft-amber: #332918;--shadow-panel: 0 18px 46px rgb(0 0 0 / .24);color:#f6f6f2;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:linear-gradient(180deg,rgb(16 24 32 / .035),transparent 180px),var(--color-page)}:root[data-theme=dark] body{background:linear-gradient(180deg,rgb(255 59 48 / .08),transparent 220px),var(--color-page)}button,input,select{font:inherit}button{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-black-6);border-radius:6px;padding:9px 12px;cursor:pointer}:root[data-theme=dark] button{color:#f6f6f2}button:disabled{cursor:not-allowed;opacity:.62}button.primary{border-color:var(--color-bright-red);background:var(--color-bright-red);color:#fff}button.danger{border-color:#ff3b3052;background:var(--color-soft-red);color:#8c1d17}button.ghost{background:transparent}input,select{width:100%;border:1px solid var(--color-border);border-radius:6px;padding:9px 10px;background:var(--color-white);color:var(--color-black-6)}:root[data-theme=dark] input,:root[data-theme=dark] select{color:#f6f6f2}label{display:grid;gap:6px;font-size:13px;color:var(--color-muted)}.field-title{display:inline-flex;align-items:center;gap:6px}.field-title span{width:17px;height:17px;display:inline-grid;place-items:center;border-radius:999px;color:var(--color-black-6);background:color-mix(in srgb,var(--color-1365) 82%,white);font-size:11px;font-weight:800}:root[data-theme=dark] .field-title span{color:#101820}.slider-field>div{display:grid;grid-template-columns:minmax(180px,1fr) 72px;gap:8px;align-items:center}.slider-field input[type=range]{padding:0;accent-color:var(--color-bright-red)}h1,h2,p{margin:0}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--color-black-6)}.login-panel{width:min(420px,100%);display:grid;gap:18px;background:var(--color-white);border:1px solid rgb(183 187 183 / .72);border-radius:8px;padding:28px;box-shadow:0 28px 80px #00000047}.auth-theme{position:fixed;top:18px;right:18px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;min-width:96px;border-color:color-mix(in srgb,var(--color-421) 55%,transparent);background:var(--color-panel);color:var(--color-text)}.theme-icon{position:relative;width:22px;height:22px;flex:0 0 22px;border-radius:999px}.theme-icon.sun{background:var(--color-1365);box-shadow:0 -8px 0 -5px var(--color-1365),0 8px 0 -5px var(--color-1365),8px 0 0 -5px var(--color-1365),-8px 0 0 -5px var(--color-1365),6px 6px 0 -5px var(--color-1365),-6px -6px 0 -5px var(--color-1365),6px -6px 0 -5px var(--color-1365),-6px 6px 0 -5px var(--color-1365)}.theme-icon.moon{background:#f6f6f2;box-shadow:inset -7px 0 #8a9094}.theme-toggle-text{font-weight:700}.theme-toggle:hover{border-color:var(--color-bright-red)}.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--color-1365) 60%,transparent);outline-offset:2px}.theme-toggle>span:not(.theme-icon):not(.theme-toggle-text){display:none}.theme-toggle .theme-icon:after{content:"";display:none}:root[data-theme=dark] .theme-toggle{color:var(--color-text)}.session-notice{border:1px solid rgb(255 184 77 / .45);border-radius:6px;padding:10px 12px;color:var(--color-black-6);background:var(--color-soft-amber);line-height:1.4}:root[data-theme=dark] .session-notice,:root[data-theme=dark] .empty-state strong,:root[data-theme=dark] .confirm-modal strong{color:#f6f6f2}.app-shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:26px 0 40px}.toolbar,.section-head,.upload-band{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.toolbar h1{font-size:30px;line-height:1.15}.brand-mark{display:inline-flex;align-items:center;gap:12px;color:var(--color-text);letter-spacing:0}.brand-mark img{width:48px;height:48px;object-fit:contain}.brand-mark span{font-size:32px;font-weight:900;line-height:1}.eyebrow{color:var(--color-4195);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}:root[data-theme=dark] .eyebrow{color:var(--color-1365)}.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}.tool-card,.settings-panel,.table-wrap,.preview-card,.project-row{background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.tool-card{display:grid;gap:10px;padding:18px}.tool-card p:last-child{color:var(--color-muted)}.inline-form{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:10px}.project-list{display:grid;gap:8px}.project-tool-group{display:grid;gap:8px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:8px;background:color-mix(in srgb,var(--color-panel) 92%,var(--color-421));padding:10px}.project-tool-group.latest-projects{border-color:color-mix(in srgb,var(--color-1365) 54%,var(--color-border));background:color-mix(in srgb,var(--color-1365) 10%,var(--color-panel))}.project-tool-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-tool-head h3{margin:0;color:var(--color-text);font-size:22px}.project-tool-actions{display:inline-flex;gap:8px;align-items:center}.empty-state{display:grid;gap:4px;padding:18px;background:var(--color-white);border:1px dashed var(--color-421);border-radius:8px;color:var(--color-muted)}.empty-state strong{color:var(--color-black-6)}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;padding:10px}.project-open{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:14px;border:0;background:transparent;padding:6px;text-align:left}.project-open span:first-child{display:grid;gap:4px}.project-row small{color:var(--color-muted)}.project-actions{display:flex;gap:8px}.project-edit{display:grid;grid-template-columns:minmax(180px,320px) auto auto;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#10182085;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-modal{width:min(440px,100%);display:grid;gap:16px;padding:22px;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 24px 70px #10182052}.confirm-modal h2{font-size:22px}.confirm-modal p{color:var(--color-muted);line-height:1.45}.confirm-modal strong{color:var(--color-black-6)}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.editor-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.route-editor-grid{display:grid;grid-template-columns:minmax(360px,420px) minmax(0,1fr);gap:16px}.settings-panel{align-self:start;display:grid;gap:12px;padding:16px}.check{grid-template-columns:18px 1fr;align-items:center}.check input{width:16px;height:16px}.workspace{min-width:0}.route-settings{max-height:calc(100vh - 110px);overflow-x:hidden;overflow-y:auto}.route-stepbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.route-stepbar span{color:var(--color-muted)}.upload-band{align-items:end;background:color-mix(in srgb,var(--color-421) 22%,white);border:1px solid var(--color-border);border-radius:8px;padding:14px}:root[data-theme=dark] .upload-band{background:color-mix(in srgb,var(--color-panel) 74%,var(--color-4195))}.upload-band label{min-width:220px}.upload-control{min-width:260px;display:grid;gap:8px}.upload-progress{display:grid;gap:5px;color:var(--color-muted);font-size:12px}.upload-progress div{display:flex;justify-content:space-between;gap:10px}.upload-progress strong{color:var(--color-black-6)}:root[data-theme=dark] .upload-progress strong{color:#f6f6f2}.upload-progress.error strong{color:#8c1d17}.upload-progress.done strong{color:var(--color-4195)}.upload-progress progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;background:color-mix(in srgb,var(--color-421) 38%,white)}.upload-progress progress::-webkit-progress-bar{background:color-mix(in srgb,var(--color-421) 38%,white)}.upload-progress progress::-webkit-progress-value{background:var(--color-bright-red)}.upload-progress.done progress::-webkit-progress-value{background:var(--color-4195)}.upload-progress.error progress::-webkit-progress-value{background:var(--color-bright-red)}.export-progress{max-width:520px;margin:0 0 14px auto;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel);box-shadow:0 8px 22px #10182014}.actions{display:flex;gap:8px}.section-head.compact{margin:0 0 10px}.metadata-preview{margin-bottom:16px}.muted-copy{margin:-4px 0 12px;color:var(--color-muted);font-size:14px}.mobinet-workspace{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.25fr);gap:16px;align-items:start}.metrics-workspace{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:16px;align-items:start}.metrics-controls{position:sticky;top:16px}.metrics-period-grid{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px}.metrics-manual-box{display:grid;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid var(--color-border)}.metrics-manual-box h3{margin:0;color:var(--color-text);font-size:18px}.metrics-manual-box textarea{width:100%;min-height:140px;resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;color:var(--color-text)}.metrics-manual-box span{color:var(--color-muted);font-size:12px}.metrics-results{min-width:0;display:grid;gap:14px}.metrics-summary-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel);box-shadow:var(--shadow-panel);color:var(--color-muted);font-size:13px}.metrics-result-block{min-width:0;display:grid;gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.metrics-result-actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:var(--color-muted);font-size:13px}.metrics-table-wrap{box-shadow:none}.metrics-table{min-width:980px}.metrics-table th{color:#101820;background:var(--color-1365);white-space:nowrap}.metrics-table td{white-space:pre-line}.metrics-table .multiline-cell{min-width:180px;line-height:1.45}.metrics-generated{color:var(--color-muted);font-size:12px}.metrics-empty{min-height:300px}.metrics-warning,.metrics-error{margin:0}.mobinet-input-panel,.mobinet-results{min-width:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel);padding:16px}.mobinet-textarea{width:100%;min-height:420px;resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.45;white-space:pre;color:var(--color-text)}.mobinet-period-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;margin-bottom:12px}.mobinet-period-grid label{margin:0}.warning-box{margin-top:12px;border:1px solid color-mix(in srgb,var(--color-1365) 70%,var(--color-border));border-radius:8px;background:color-mix(in srgb,var(--color-1365) 18%,var(--color-panel));color:var(--color-text);padding:10px 12px}.warning-box p{margin:0;font-size:13px}.mobinet-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.mobinet-summary-grid article{min-width:0;border:1px solid var(--color-border);border-radius:8px;background:color-mix(in srgb,var(--color-panel) 86%,var(--color-421));padding:12px}.mobinet-summary-grid span{display:block;color:var(--color-muted);font-size:12px;font-weight:700}.mobinet-summary-grid strong{display:block;margin-top:8px;color:var(--color-text);font-size:24px;line-height:1}.mobinet-table{margin-bottom:0}.mobinet-empty{min-height:260px}.mobinet-empty.compact{min-height:auto;padding:18px}.mobinet-history{margin-top:16px;border-top:1px solid var(--color-border);padding-top:14px}.row-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.row-actions button{padding:6px 8px}.table-wrap{overflow-x:auto}table{width:100%;min-width:1040px;border-collapse:collapse}th,td{border-bottom:1px solid color-mix(in srgb,var(--color-421) 42%,white);padding:9px;text-align:left;vertical-align:middle;font-size:13px}th{color:var(--color-4195);font-weight:700;background:color-mix(in srgb,var(--color-421) 18%,white)}:root[data-theme=dark] th{background:color-mix(in srgb,var(--color-panel) 82%,var(--color-4195))}.thumb,.empty-thumb{width:54px;height:44px;display:block;object-fit:cover;border-radius:4px;background:color-mix(in srgb,var(--color-421) 45%,white)}.tier{display:inline-flex;align-items:center;min-width:70px;justify-content:center;border-radius:999px;padding:4px 8px;color:#fff;background:var(--color-black-6)}.tier.bronze,.preview-card.tier-bronze header{background:#b49c7a}.tier.silver,.preview-card.tier-silver header{background:#d4d4d2;color:#111827}.tier.gold,.preview-card.tier-gold header{background:#edc235;color:#111827}.tier.platinum,.preview-card.tier-platinum header{background:#7e7d7b}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:16px}.route-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.route-pair-preview{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border)}.route-pair-preview img,.route-pair-preview div{width:100%;aspect-ratio:16 / 9;display:grid;place-items:center;object-fit:cover;background:color-mix(in srgb,var(--color-421) 16%,white);color:var(--color-muted)}.route-image-panel{min-width:0;overflow:hidden;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.route-image-panel header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;color:var(--color-muted);background:color-mix(in srgb,var(--color-421) 16%,var(--color-panel));border-bottom:1px solid var(--color-border)}.route-image-panel header span{display:inline-flex;align-items:center;gap:8px;font-size:12px}.route-image-panel header button{padding:5px 8px;font-size:12px}.route-image-stage,.route-image-empty{width:100%;aspect-ratio:16 / 9;position:relative;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--color-421) 16%,white);color:var(--color-muted)}.route-image-stage.is-clickable{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.route-image-stage.mode-overlay,.route-image-stage.mode-background{cursor:grab}.route-image-stage.mode-overlay:active,.route-image-stage.mode-background:active{cursor:grabbing}.route-image{width:100%;height:100%;object-fit:contain}.route-live-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;transform-origin:center;transition:transform 80ms linear;mix-blend-mode:multiply;-webkit-mask-image:var(--route-mask-url);mask-image:var(--route-mask-url);-webkit-mask-mode:luminance;mask-mode:luminance;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.route-eraser-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:contain}.crop-zone{position:absolute;z-index:3;border:2px solid var(--color-bright-red);background:#ff3b3014;box-shadow:0 0 0 9999px #0000002e;pointer-events:none}.anchor-point{position:absolute;z-index:4;width:28px;height:28px;display:grid;place-items:center;border:3px solid #8a00ff;border-radius:999px;background:#fff;color:#111;font-size:13px;font-weight:800;box-shadow:0 4px 14px #00000059;pointer-events:none;transform:translate(-50%,-50%)}.anchor-point.active{border-color:var(--color-bright-red);background:var(--color-1365)}.route-edit-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.route-edit-mode button{border-color:var(--color-border);color:var(--color-text);padding:9px 8px}.route-edit-mode button.active{background:var(--color-black-6);border-color:var(--color-black-6);color:#fff}.route-anchor-tools{display:grid;gap:8px}.route-anchor-tools>span{color:var(--color-muted);font-size:13px;font-weight:700}.route-anchor-tools>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.route-anchor-tools button.active{background:var(--color-bright-red);border-color:var(--color-bright-red);color:#fff}.eraser-zone{position:absolute;z-index:3;border:2px dashed var(--color-bright-red);background:#ff3b302e;pointer-events:none}.eraser-zone.is-draft{border-style:solid;background:#ffb84d47}.route-image-panel.is-large{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.route-image-panel.is-large .route-image-stage,.route-image-panel.is-large .route-image-empty{min-height:min(72vh,760px);aspect-ratio:auto}.route-large-backdrop{z-index:30}.route-large-modal{width:min(1500px,calc(100vw - 40px));max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 24px 80px #10182061}.route-large-body{min-height:0}.route-large-body.has-controls{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px}.route-large-controls{min-width:0;display:grid;align-content:start;gap:12px;padding:14px;overflow:auto;background:color-mix(in srgb,var(--color-421) 12%,var(--color-panel));border:1px solid var(--color-border);border-radius:8px}.route-large-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.route-large-head h2{font-size:22px}.route-alignment-modal{width:min(1680px,calc(100vw - 32px))}.route-alignment-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:12px}.route-alignment-images{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detection-controls{display:grid;gap:12px}.color-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:8px}.color-row input[type=color]{padding:3px}.hint{color:var(--color-muted);font-size:12px;line-height:1.4}.zone-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.zone-head span{display:inline-flex;gap:6px}.zone-list{display:grid;gap:8px}.zone-row{display:grid;grid-template-columns:minmax(88px,1fr) repeat(4,minmax(46px,.5fr)) auto;gap:6px}.zone-row input{min-width:0;padding:7px}.preview-card{position:relative;display:grid;grid-template-rows:62px 1fr;min-width:0;min-height:0;aspect-ratio:.78;overflow:hidden;background:var(--color-white)}.preview-card header{min-width:0;display:grid;align-items:center;padding:9px 12px;background:var(--color-black-6);color:#fff}.preview-card header div{min-width:0;display:grid;gap:3px;padding-right:58px}.preview-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:24px;line-height:1.05}.preview-card span{font-size:13px;font-weight:700}.preview-image,.preview-empty{width:100%;height:100%;min-width:100%;min-height:0;display:block;object-fit:cover;object-position:center;background:color-mix(in srgb,var(--color-421) 26%,white)}.preview-empty{display:grid;place-items:center;color:var(--color-muted);font-weight:600}.preview-medal{position:absolute;top:24px;right:8px;z-index:2;width:62px;height:62px;object-fit:contain;object-position:center;clip-path:circle(46% at 50% 50%);filter:drop-shadow(0 5px 7px rgb(16 24 32 / .42));transform:translateZ(0)}.error,.success{margin-bottom:12px;border-radius:6px;padding:10px 12px}.error{color:#8c1d17;background:var(--color-soft-red);border:1px solid rgb(255 59 48 / .25)}.success{color:#29443a;background:color-mix(in srgb,var(--color-421) 18%,white);border:1px solid var(--color-border)}:root[data-theme=dark] .success{color:#f6f6f2}.status-pill{display:inline-flex;min-width:64px;justify-content:center;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;color:#fff;background:var(--color-4195)}.status-pill.ok,.status-pill.success{background:#1f7a4f}.status-pill.warning{color:#3d2b00;background:var(--color-1365)}.status-pill.error{background:var(--color-bright-red)}.row-message{display:block;margin-top:4px;color:var(--color-muted)}@media(max-width:900px){.grid.two,.editor-grid,.route-editor-grid,.route-preview-grid,.route-alignment-body,.route-alignment-images,.route-large-body.has-controls,.mobinet-workspace,.mobinet-summary-grid,.mobinet-period-grid,.metrics-workspace,.metrics-period-grid{grid-template-columns:1fr}.toolbar,.section-head,.upload-band,.project-tool-head{align-items:stretch;flex-direction:column}.inline-form,.project-row,.project-edit{grid-template-columns:1fr}.project-open,.project-actions,.project-tool-actions,.metrics-summary-bar,.metrics-result-actions{align-items:stretch;flex-direction:column}.metrics-controls{position:static}.modal-actions{flex-direction:column-reverse}}.credentials-modal{width:min(1000px,100%);max-height:min(88vh,900px);overflow:auto;background:var(--color-panel);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 24px 70px #10182052}.credentials-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--color-border)}.credentials-header h2,.credentials-body h3{margin:0}.credentials-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 24px;border-bottom:1px solid var(--color-border)}.credentials-tabs button.active{background:var(--color-text);color:var(--color-panel)}.credentials-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:24px;padding:22px 24px 26px}.credentials-fields{display:grid;align-content:start;gap:12px;min-width:0}.credentials-fields label{display:grid;gap:5px;min-width:0}.credentials-fields input,.credentials-fields textarea{width:100%;min-width:0}.credentials-fields textarea{min-height:110px;resize:vertical}.credentials-fields small{color:var(--color-muted)}.credentials-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.credentials-help{min-width:0;padding-left:22px;border-left:1px solid var(--color-border)}.credentials-help ol{padding-left:20px;line-height:1.5}.credentials-help li+li{margin-top:10px}.credentials-help a{color:var(--color-text);text-decoration-color:var(--color-bright-red)}@media(max-width:760px){.credentials-body{grid-template-columns:1fr;gap:20px}.credentials-help{padding-left:0;padding-top:18px;border-left:0;border-top:1px solid var(--color-border)}.credentials-header,.credentials-tabs,.credentials-body{padding-left:16px;padding-right:16px}}.credentials-callback{display:grid;gap:8px;margin:16px 0;padding:12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-page)}.credentials-callback code{overflow-wrap:anywhere;font-size:12px;line-height:1.4}.credentials-callback button{justify-self:start}body,:root[data-theme=dark] body{background:var(--color-page)}button,input,select,textarea{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}button:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-bright-red) 55%,var(--color-border))}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-bright-red);outline-offset:2px}.site-header{position:sticky;top:0;z-index:10;background:var(--color-panel);border-bottom:1px solid var(--color-border)}.site-header-inner{width:min(1520px,calc(100% - 48px));min-height:66px;margin:auto;display:flex;align-items:center;gap:32px}.site-brand{flex:0 0 auto;padding:0;border:0;background:transparent}.site-brand .brand-mark img{width:34px;height:34px}.site-brand .brand-mark span{font-size:21px}.site-header nav{height:66px;display:flex;align-items:stretch}.site-header nav button{display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--color-muted);font-weight:600}.site-header nav button.active{color:var(--color-text);border-bottom-color:var(--color-bright-red)}.site-header-actions{margin-left:auto;min-width:0;display:flex;align-items:center;gap:10px}.account-label{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);font-size:13px}.icon-button{width:36px;height:36px;flex:0 0 36px;display:inline-grid;place-items:center;padding:0;color:var(--color-muted);background:transparent}.back-button,.create-button,.empty-state .primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}.back-button{border:0;background:transparent;color:var(--color-muted);padding-left:0;font-weight:600}.brand-mark span{font-size:32px}.auth-screen{background:var(--color-page)}.login-panel{padding:36px;gap:18px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.login-heading{display:grid;gap:12px;padding-bottom:10px}.login-heading p{color:var(--color-muted);font-size:14px}.login-panel>label{font-weight:600;color:var(--color-text)}.login-panel input:not([type=checkbox]){min-height:43px}.login-panel .primary{min-height:44px;font-weight:700}.remember-choice{display:flex;align-items:center;gap:10px;font-weight:500!important;cursor:pointer}.remember-choice input{width:17px;height:17px;margin:0;accent-color:var(--color-bright-red)}.remember-hint{margin-top:-12px;color:var(--color-muted);font-size:12px}.session-notice{color:var(--color-text)}.dashboard-shell{width:min(1520px,calc(100% - 48px));padding-top:34px}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:26px}.dashboard-heading h1{margin-top:5px;color:var(--color-text);font-size:30px;line-height:1.2}.dashboard-heading p:last-child{margin-top:5px;color:var(--color-muted);font-size:14px}.dashboard-heading .create-button{min-height:42px;font-weight:700}.dashboard-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:34px;align-items:start}.dashboard-sidebar{display:grid;align-content:start;gap:2px;padding-right:18px;border-right:1px solid var(--color-border)}.sidebar-label{padding:8px 10px;color:var(--color-muted);font-size:11px;font-weight:800;text-transform:uppercase}.sidebar-tools{margin-top:16px}.dashboard-sidebar button{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:transparent;text-align:left;color:var(--color-muted);font-size:13px;font-weight:600}.dashboard-sidebar button.selected{background:var(--color-soft-red);color:var(--color-text)}.dashboard-sidebar button.selected svg{color:var(--color-bright-red)}.dashboard-sidebar button>span:last-child:not(.sidebar-tool-name){margin-left:auto;color:var(--color-muted);font-size:12px}.sidebar-tool-name{min-width:0;flex:1;overflow-wrap:anywhere}.dashboard-content{min-width:0}.dashboard-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px}.project-search{width:min(440px,100%);min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-muted);background:var(--color-panel)}.project-search:focus-within{border-color:var(--color-bright-red)}.project-search input{min-width:0;padding:0;border:0;background:transparent;outline:0}.project-search input:focus-visible{outline:0}.clear-search{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;background:transparent}.project-sort{display:flex;align-items:center;gap:8px;white-space:nowrap}.project-sort select{width:150px;min-height:40px}.project-list{display:block}.project-tool-group,.project-tool-group.latest-projects{display:block;margin:0 0 24px;padding:0;border:0;border-radius:0;background:transparent}.project-tool-head{min-height:42px;flex-direction:row;align-items:center;margin-bottom:4px;border-bottom:1px solid var(--color-border)}.group-heading{min-width:0;display:flex;align-items:center;gap:10px;color:var(--color-muted)}.group-heading h2{overflow-wrap:anywhere;color:var(--color-text);font-size:16px;font-weight:750}.group-count{padding:2px 6px;color:var(--color-muted);background:color-mix(in srgb,var(--color-421) 18%,var(--color-panel));border-radius:4px;font-size:11px;font-weight:700}.project-rows{display:grid}.project-row{min-width:0;min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr) 80px;align-items:center;gap:10px;padding:8px 10px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;box-shadow:none}.project-row:hover{background:color-mix(in srgb,var(--color-421) 9%,var(--color-page))}.project-type-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:var(--color-bright-red);background:var(--color-soft-red)}.project-open{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 112px 106px 20px;align-items:center;gap:10px;padding:0;border:0;color:var(--color-text);background:transparent;text-align:left}.project-title{min-width:0;display:grid;gap:3px}.project-title strong,.project-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-title strong{font-size:14px}.project-title small,.project-count,.project-date{color:var(--color-muted);font-size:12px}.project-open-arrow{color:var(--color-muted)}.project-actions{display:flex;flex-direction:row;gap:4px}.project-actions .icon-button{width:34px;height:34px;flex-basis:34px;border:0}.project-actions .delete-action:hover{color:var(--color-bright-red)}.project-edit{display:flex;grid-column:2 / 4;gap:8px}.project-edit input{min-width:0;flex:1}.empty-state{justify-items:start;gap:12px;padding:32px;color:var(--color-muted);background:transparent;border:1px dashed var(--color-border)}.empty-state strong{color:var(--color-text)}.dashboard-error{margin-bottom:16px}.new-project-modal{width:min(480px,100%)}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.new-project-modal label{color:var(--color-text);font-weight:600}@media(max-width:950px){.dashboard-layout{grid-template-columns:1fr;gap:20px}.dashboard-sidebar{display:flex;overflow-x:auto;gap:6px;padding:0 0 10px;border-right:0;border-bottom:1px solid var(--color-border)}.dashboard-sidebar .sidebar-label{display:none}.dashboard-sidebar button{width:auto;min-width:max-content;gap:8px;padding:8px 10px;white-space:nowrap}.sidebar-tool-name{overflow-wrap:normal}}@media(max-width:700px){.site-header-inner,.dashboard-shell{width:calc(100% - 28px)}.site-header-inner{gap:14px}.site-brand .brand-mark{gap:7px}.site-brand .brand-mark img{width:29px;height:29px}.site-brand .brand-mark span{font-size:17px}.site-header nav{display:none}.site-header-actions{gap:6px}.account-label,.theme-toggle-text{display:none}.theme-toggle{min-width:36px;width:36px;padding:0}.dashboard-heading{align-items:flex-start}.dashboard-heading h1{font-size:25px}.dashboard-heading .create-button{width:42px;min-width:42px;height:42px;overflow:hidden;white-space:nowrap;font-size:0}.dashboard-heading .create-button svg{flex:0 0 auto}.dashboard-controls{align-items:stretch;flex-direction:column;gap:10px}.project-search{width:100%}.project-sort{align-self:flex-end}.project-row{grid-template-columns:34px minmax(0,1fr) 72px}.project-open{grid-template-columns:minmax(0,1fr) 20px}.project-count,.project-date{display:none}.project-edit{flex-wrap:wrap}.project-edit input{flex-basis:100%}.project-actions{flex-direction:row}.project-actions .icon-button{width:34px}.login-panel{padding:24px}}@media(min-width:1100px){:root{font-size:18px}body,button,input,select,textarea{font-size:16px;line-height:1.45}.app-shell,.dashboard-shell,.site-header-inner{width:min(1800px,calc(100% - 64px))}.site-brand .brand-mark span{font-size:24px}.site-header-inner{min-height:72px}.site-header nav{height:72px}.account-label,.dashboard-sidebar button,.project-title small,.project-count,.project-date,.login-panel label,.settings-panel label,.metrics-summary-bar,.metrics-result-actions,.mobinet-textarea,th,td{font-size:15px}.dashboard-sidebar{padding-right:20px}.dashboard-layout{grid-template-columns:270px minmax(0,1fr)}.dashboard-sidebar button{min-height:46px}.dashboard-heading h1,.toolbar h1{font-size:34px}.dashboard-heading p:last-child,.login-heading p,.muted-copy,.metrics-manual-box textarea,.metrics-manual-box span,.metrics-generated,.upload-progress,.row-message{font-size:15px}.eyebrow,.sidebar-label,.group-count{font-size:13px}.group-heading h2{font-size:18px}.project-title strong{font-size:17px}.project-row{min-height:70px}.project-open{grid-template-columns:minmax(0,1fr) 128px 120px 20px}.metrics-workspace{grid-template-columns:minmax(390px,430px) minmax(0,1fr)}.editor-grid{grid-template-columns:300px minmax(0,1fr)}.route-editor-grid{grid-template-columns:minmax(400px,480px) minmax(0,1fr)}.metrics-controls{top:88px}.remember-hint{font-size:14px}}@media(min-width:1900px){:root{font-size:19px}body,button,input,select,textarea{font-size:17px}.app-shell,.dashboard-shell,.site-header-inner{width:min(2100px,calc(100% - 96px))}.account-label,.dashboard-sidebar button,.project-title small,.project-count,.project-date,.login-panel label,.settings-panel label,.metrics-summary-bar,.metrics-result-actions,th,td{font-size:16px}.project-title strong{font-size:18px}.dashboard-layout{grid-template-columns:300px minmax(0,1fr)}}.workspace-admin{padding-block:24px 80px}.mobile-admin-button{display:none}.workspace-title,.workspace-section-heading,.workspace-inline,.workspace-invoice-head,.workspace-invoice-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.workspace-title{margin:18px 0 30px}.workspace-title h1{font-size:34px}.workspace-status{color:var(--color-muted);font-size:14px}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:44px;align-items:start}.workspace-main,.workspace-side{min-width:0}.workspace-side{border-left:1px solid var(--color-border);padding-left:30px}.workspace-section{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--color-border)}.workspace-section h2{display:flex;align-items:center;gap:9px;font-size:20px}.workspace-section-heading{margin-bottom:20px}.workspace-section-heading button,.workspace-inline button,.workspace-invoice-actions button,.workspace-upload button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.workspace-form-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(300px,1fr);gap:18px;align-items:start}.workspace-section textarea{width:100%;resize:vertical;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text);padding:10px;font:inherit}.workspace-inline{justify-content:flex-start;margin-top:14px}.workspace-inline span{display:inline-flex;align-items:center;gap:5px;color:var(--color-muted);font-size:14px}.workspace-identity{display:flex;flex-wrap:wrap;gap:7px 22px;margin-top:14px;color:var(--color-muted);font-size:13px;overflow-wrap:anywhere}.workspace-identity code{color:var(--color-text)}.workspace-detail,.workspace-note{display:block;color:var(--color-muted);font-size:13px;line-height:1.55;margin-top:14px;overflow-wrap:anywhere}.workspace-detail code{color:var(--color-text)}.workspace-country-list{display:grid;gap:10px}.workspace-country-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:15px}.workspace-fixed-path{display:block;padding:11px 12px;color:var(--color-text);overflow-wrap:anywhere}.workspace-country-extra{grid-template-columns:150px minmax(0,1fr) 40px}.workspace-remove-unit{width:40px;height:40px;padding:0;color:var(--color-muted)}.workspace-add-unit{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:15px;margin-top:16px;align-items:center}.workspace-add-unit button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.workspace-unit-actions{display:flex;justify-content:flex-end;margin-top:10px}.workspace-unit-actions button{display:inline-flex;align-items:center;gap:7px}.workspace-snapshot{margin-top:20px;font-size:14px}.workspace-snapshot>div{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:9px;color:var(--color-muted)}.workspace-snapshot b{color:var(--color-text)}.workspace-side .workspace-section{display:grid;gap:16px}.workspace-check{display:flex;align-items:center;gap:9px;color:var(--color-text)}.workspace-check input{width:auto;accent-color:var(--color-bright-red)}.workspace-save{width:100%}.workspace-secret-status{color:var(--color-muted);font-size:13px}.workspace-secret-status button{padding:5px 8px;margin-left:6px}.workspace-copy-field{display:flex;min-width:0;gap:6px}.workspace-copy-field input{min-width:0}.workspace-upload{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.workspace-upload label{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer}.workspace-upload input{display:none}.workspace-upload span{min-width:0;overflow-wrap:anywhere;color:var(--color-muted);font-size:13px}.workspace-invoices{display:grid;gap:12px}.workspace-invoice{border:1px solid var(--color-border);border-radius:6px;padding:16px;background:var(--color-panel)}.workspace-invoice-head strong,.workspace-invoice-head small{display:block;overflow-wrap:anywhere}.workspace-invoice-head small{margin-top:4px;color:var(--color-muted)}.workspace-invoice-head button{color:var(--color-text);padding:8px}.workspace-invoice-fields{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) 105px;gap:12px;margin-top:14px}.workspace-invoice-actions{justify-content:flex-end;margin-top:14px}.workspace-report-month+.workspace-report-month{margin-top:22px}.workspace-historical-month{border-top:1px solid var(--color-border)}.workspace-historical-month summary{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;list-style:none;cursor:pointer}.workspace-historical-month summary::-webkit-details-marker{display:none}.workspace-historical-month summary:before{content:"▸";color:var(--color-muted)}.workspace-historical-month[open] summary:before{transform:rotate(90deg)}.workspace-historical-month summary small{display:block;margin-top:3px;color:var(--color-muted)}.workspace-historical-month summary b{white-space:nowrap}.workspace-historical-table{max-width:100%;overflow-x:auto;padding-bottom:8px}.workspace-historical-table table{width:100%;border-collapse:collapse}.workspace-historical-table th,.workspace-historical-table td{padding:9px 12px 9px 0;border-bottom:1px solid var(--color-border);text-align:left}.workspace-historical-table th:not(:first-child),.workspace-historical-table td:not(:first-child){text-align:right;white-space:nowrap}.workspace-historical-table tfoot th{border-bottom:0}.workspace-historical-difference{margin:4px 0 16px;color:var(--color-muted);font-size:13px}.workspace-historical-download{display:inline-flex;align-items:center;gap:7px;margin:4px 0 14px}.workspace-share-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.workspace-share-controls label{flex:0 0 120px;margin:0}.workspace-share-link{flex:1 1 260px}.workspace-share-scope{display:block;margin-top:10px;color:var(--color-muted)}.workspace-report-month h3{margin:0 0 8px;font-size:15px;color:var(--color-muted)}.workspace-inbound-message{border-top:1px solid var(--color-border);padding:10px 0}.workspace-inbound-message summary{cursor:pointer;overflow-wrap:anywhere}.workspace-inbound-message summary small,.workspace-inbound-message>small{display:block;margin-top:4px;color:var(--color-muted)}.workspace-inbound-message p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow-y:auto;margin-bottom:0}.workspace-inbound-message a{display:inline-flex;align-items:center;gap:6px;margin-top:12px}.workspace-report-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:11px 0;border-top:1px solid var(--color-border)}.workspace-report-row small{display:block;margin-top:3px;color:var(--color-muted)}.workspace-report-actions{display:flex;flex-wrap:wrap;gap:8px}.workspace-report-actions button{white-space:nowrap}.workspace-report-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#000000a6}.workspace-report-dialog{display:flex;flex-direction:column;width:min(900px,100%);height:min(850px,90vh);min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel);box-shadow:0 20px 55px #00000040}.workspace-pdf-dialog{width:min(1100px,100%);height:min(950px,94vh)}.workspace-public-page{min-height:100vh;background:var(--color-panel);color:var(--color-text)}.workspace-public-header{display:flex;align-items:center;gap:10px;padding:14px max(20px,calc((100vw - 1100px)/2));border-bottom:1px solid var(--color-border)}.workspace-public-header img{width:30px;height:30px;object-fit:contain}.workspace-public-header span{margin-left:auto;color:var(--color-muted)}.workspace-public-content{max-width:1140px;margin:0 auto;padding:30px 20px 60px}.workspace-public-content h1{margin:4px 0 24px;font-size:28px}.workspace-public-summary{display:flex;flex-wrap:wrap;gap:40px;padding:16px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.workspace-public-summary small,.workspace-public-summary strong{display:block}.workspace-public-summary small{margin-bottom:5px;color:var(--color-muted)}.workspace-public-summary strong{font-size:19px}.workspace-public-content .workspace-section{margin-top:28px}.workspace-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--color-border)}.workspace-report-toolbar h2{margin:0;font-size:18px}.workspace-report-toolbar small{display:block;margin-top:4px;color:var(--color-muted)}.workspace-report-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.workspace-report-tools a{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);text-decoration:none;white-space:nowrap}.workspace-report-tools a:hover{background:color-mix(in srgb,var(--color-text) 7%,var(--color-panel))}.workspace-report-dialog iframe{flex:1;width:100%;min-height:0;border:0;background:#fff}.workspace-allocation{max-width:100%;overflow-x:auto;margin-top:18px}.workspace-allocation small{color:var(--color-muted)}.workspace-allocation table{width:100%;border-collapse:collapse;margin-top:8px}.workspace-allocation th,.workspace-allocation td{padding:8px 10px 8px 0;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}@media(max-width:900px){.workspace-layout,.workspace-form-grid{grid-template-columns:minmax(0,1fr)}.workspace-side{border-left:0;padding-left:0}.workspace-country-row{grid-template-columns:130px minmax(0,1fr)}.workspace-country-extra{grid-template-columns:130px minmax(0,1fr) 40px}.workspace-add-unit{grid-template-columns:130px minmax(0,1fr)}.workspace-add-unit button{grid-column:2}}@media(max-width:520px){.workspace-country-row,.workspace-country-extra{grid-template-columns:minmax(0,1fr) 40px;gap:5px}.workspace-country-row>span{grid-column:1 / -1}.workspace-fixed-path{grid-column:1 / -1}.workspace-add-unit{grid-template-columns:minmax(0,1fr);gap:8px}.workspace-add-unit button{grid-column:1;justify-self:start}.workspace-section-heading,.workspace-title{align-items:flex-start;flex-direction:column}.workspace-invoice-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workspace-invoice-fields label:last-child{grid-column:1 / -1}.workspace-invoice-actions{flex-wrap:wrap}.workspace-report-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.workspace-report-actions{grid-column:1 / -1}.workspace-report-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.mobile-admin-button{display:inline-flex}}}@layer reset,ui;:root{--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Bricolage Grotesque Variable", var(--font-sans);--font-mono: "Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter: clamp(16px, 3vw, 40px);--bg: #f6f4ef;--surface: #ffffff;--surface-2: #f0ece4;--line: #e3ded4;--ink: #101820;--ink-2: #454c55;--ink-3: #646b73;--accent: #d42e17;--accent-hover: #b52511;--accent-ink: #b32510;--accent-soft: #fce7e2;--danger-ink: #9b1c0c;--side: #101820;--side-ink: #f3f1ec;--side-muted: #a3aab2;--side-active: #1f2933;--amber-soft: #fdf0d8;--amber-ink: #7a4e00;--teal-soft: #dcf1ed;--teal-ink: #0b5d55;--violet-soft: #ece5fa;--violet-ink: #5b34b0;--blue-soft: #e3eafb;--blue-ink: #1f4fb8;--ok-soft: #e1f3e6;--ok-ink: #1d6b37;--chart-fin: #2f6fd0;--chart-rej: #e08a1e;--scrim: rgb(10 14 18 / .55);--shadow: 0 1px 2px rgb(16 24 32 / .05), 0 10px 30px rgb(16 24 32 / .06);--shadow-lg: 0 24px 70px rgb(16 24 32 / .22);color-scheme:light}:root[data-theme=dark]{--bg: #0c1117;--surface: #141b23;--surface-2: #1b242e;--line: #26313c;--ink: #f3f1ec;--ink-2: #c3c8ce;--ink-3: #9aa2ab;--accent-ink: #ff8a73;--accent-soft: #3a1c17;--danger-ink: #ff9b88;--side: #070b0f;--side-active: #18212b;--amber-soft: #3a2c12;--amber-ink: #f5c063;--teal-soft: #0f2f2c;--teal-ink: #6ad8c9;--violet-soft: #261c40;--violet-ink: #c0a8f7;--blue-soft: #172443;--blue-ink: #98b6ff;--ok-soft: #12301d;--ok-ink: #6fd292;--chart-fin: #6f9eeb;--chart-rej: #f0a548;--scrim: rgb(0 0 0 / .6);--shadow: 0 1px 2px rgb(0 0 0 / .35), 0 10px 30px rgb(0 0 0 / .25);--shadow-lg: 0 24px 70px rgb(0 0 0 / .5);color-scheme:dark}.on-dark{--amber-soft: #3a2c12;--amber-ink: #f5c063;--teal-soft: #0f2f2c;--teal-ink: #6ad8c9;--violet-soft: #261c40;--violet-ink: #c0a8f7;--blue-soft: #172443;--blue-ink: #98b6ff;--accent-soft: #3a1c17;--accent-ink: #ff8a73}@layer reset{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p,ul,ol{margin:0}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}}@layer ui{.sr-only{position:absolute;left:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap}.display{font-family:var(--font-display)}.mono{font-family:var(--font-mono)}.stack{display:grid;gap:16px}.muted-text{margin:0;color:var(--ink-2);line-height:1.5}.lead{margin:0;max-width:46ch;font-size:16px;line-height:1.5;color:var(--ink-2)}.eyebrow-text{margin:0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.eyebrow-accent{color:var(--accent-ink)}.fine-print{margin:0;font-size:13px;line-height:1.5;color:var(--ink-3)}.splash{min-height:100vh;display:grid;place-items:center;color:var(--ink)}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit}.brand img{display:block;object-fit:contain}.brand-word{font-family:var(--font-display);font-size:21px;font-weight:800;letter-spacing:.06em;line-height:1}.tool-tile{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px}.tool-tile-sm{width:34px;height:34px;border-radius:10px}.tool-tile-lg{width:48px;height:48px;border-radius:14px}.tone-amber{background:var(--amber-soft);color:var(--amber-ink)}.tone-teal{background:var(--teal-soft);color:var(--teal-ink)}.tone-violet{background:var(--violet-soft);color:var(--violet-ink)}.tone-blue{background:var(--blue-soft);color:var(--blue-ink)}.tone-accent{background:var(--accent-soft);color:var(--accent-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:500 14px/1 var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.btn:hover{background:var(--surface-2);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}.btn-danger{border-color:transparent;background:var(--accent-soft);color:var(--danger-ink)}.btn-danger:hover{background:var(--accent);color:#fff}.btn-sm{min-height:36px;padding:0 12px;border-radius:10px;font-size:13px}.btn-lg{min-height:48px;font-size:15px;font-weight:600}.btn-block{width:100%}.btn-link{justify-self:center;min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--ink-3);font:500 14px var(--font-sans);text-decoration:underline;cursor:pointer}.btn-link:hover{color:var(--ink)}.text-btn{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 4px;border:0;background:transparent;color:var(--accent-ink);font:600 13px var(--font-sans);cursor:pointer}.text-btn:hover{text-decoration:underline}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-2);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn-ghost{border-color:transparent;background:transparent}.icon-btn-sm{width:36px;height:36px;border-radius:10px}.icon-btn-side{border-color:var(--side-active);background:transparent;color:var(--side-muted)}.icon-btn-side:hover{background:var(--side-active);color:var(--side-ink)}.field{display:grid;gap:6px}.field-label{display:block;margin:0;padding:0;color:var(--ink);font-size:14px;font-weight:600}.field-optional{font-weight:400;color:var(--ink-3)}.field-hint{margin:0;font-size:13px;line-height:1.45;color:var(--ink-3)}.input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:400 15px var(--font-sans)}.input::placeholder{color:var(--ink-3)}.input:hover{border-color:color-mix(in srgb,var(--ink-3) 50%,var(--line))}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.input-lg{min-height:48px}.has-trailing{padding-right:52px}.input-wrap{position:relative;display:block}.input-trailing{position:absolute;top:50%;right:2px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-3);transform:translateY(-50%);cursor:pointer}.input-trailing:hover{background:var(--surface-2);color:var(--ink)}fieldset.choice-grid,fieldset.segmented-field{min-width:0;margin:0;padding:0;border:0}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.choice-grid legend,.segmented-field legend{margin-bottom:8px}.choice-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font-size:14px;cursor:pointer}.choice-card:hover{border-color:var(--ink-3)}.choice-card.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}.choice-card:has(input:focus-visible),.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice-card input,.segmented input{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}.choice-text{display:flex;flex-direction:column;gap:2px}.choice-text strong{font-size:15px}.choice-text span{font-size:13px;line-height:1.4;color:var(--ink-2)}.segmented-field{display:grid;gap:8px}.segmented{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2)}.segmented label{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:9px;color:var(--ink-2);font-size:14px;font-weight:500;cursor:pointer}.segmented label.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000024}.strength{display:grid;gap:6px}.strength-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.strength-bars span{height:6px;border-radius:99px;background:var(--line)}.strength-bars .level-1{background:#c0392b}.strength-bars .level-2{background:#c98a12}.strength-bars .level-3,.strength-bars .level-4{background:#2e8b57}.strength-text{font-size:13px;color:var(--ink-3)}.alert{margin:0;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45}.alert-danger{background:var(--accent-soft);color:var(--danger-ink)}.alert-warn{background:var(--amber-soft);color:var(--amber-ink)}.alert-ok{background:var(--ok-soft);color:var(--ok-ink)}.app-frame{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;flex:none;display:flex;flex-direction:column;gap:24px;width:264px;height:100vh;padding:20px 14px;overflow-y:auto;background:var(--side);color:var(--side-ink)}.sidebar-brand{padding:4px 8px;color:var(--side-ink);text-decoration:none}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-section{margin:16px 12px 6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--side-muted)}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--side-muted);font-size:14px;font-weight:500;text-decoration:none}.nav-link:hover,.nav-link.is-active{background:var(--side-active);color:var(--side-ink)}.nav-link.is-active:after{content:"";width:6px;height:6px;margin-left:auto;border-radius:999px;background:var(--accent)}.sidebar-foot{display:grid;gap:10px;margin-top:auto}.account-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid transparent;border-radius:14px;background:var(--side-active);color:var(--side-ink);text-decoration:none}.account-chip:hover,.account-chip.is-active{border-color:color-mix(in srgb,var(--side-muted) 40%,transparent)}.account-text{display:flex;flex-direction:column;min-width:0}.account-text strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-text span{font-size:12px;color:var(--side-muted)}.sidebar-tools{display:flex;gap:8px}.avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}.avatar-soft{background:var(--surface-2);color:var(--ink-2)}.avatar-xl{width:64px;height:64px;font-size:22px}.app-main{flex:1;min-width:0}.mobile-top,.tabbar{display:none}.mobile-top{position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--side);color:var(--side-ink)}.mobile-top-brand{color:var(--side-ink);text-decoration:none}.mobile-top-tools{display:inline-flex;align-items:center;gap:8px}.mobile-top .rail-avatar{margin:0}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:50;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tab-link{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--ink-3);font:600 11px var(--font-sans);text-decoration:none;cursor:pointer}.tab-link.is-active{color:var(--accent-ink)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;align-items:flex-end;background:var(--scrim)}.sheet{display:grid;gap:12px;width:100%;max-height:80vh;padding:10px 16px calc(84px + env(safe-area-inset-bottom));overflow:auto;border-radius:22px 22px 0 0;background:var(--surface);box-shadow:var(--shadow-lg)}.sheet-grip{justify-self:center;width:40px;height:4px;border-radius:99px;background:var(--line)}.sheet-list{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:0;list-style:none}.sheet-item{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 10px;border-radius:14px;color:var(--ink);text-decoration:none}.sheet-item:hover,.sheet-item.is-active{background:var(--surface-2)}.sheet-item>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.sheet-item strong{font-size:15px}.sheet-item>span:last-child>span{overflow:hidden;font-size:13px;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:none}.app-main:focus,.editor-main:focus{outline:none}.editor-frame{display:flex;min-height:100vh}.rail{position:sticky;top:0;z-index:10;flex:0 0 72px;display:flex;flex-direction:column;align-items:center;gap:6px;height:100vh;padding:14px 0;background:var(--side)}.rail-brand{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px}.rail-link{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--side-muted);cursor:pointer}.rail-link:hover,.rail-link.is-active{background:var(--side-active);color:var(--side-ink)}.rail-spacer{flex:1}.rail-avatar{display:grid;place-items:center;width:40px;height:40px;margin-top:4px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;text-decoration:none}.editor-main{flex:1;min-width:0}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.page-header-padded{padding:20px var(--gutter);border-bottom:1px solid var(--line);background:var(--surface)}.page-header-text{display:flex;flex:1 1 320px;flex-direction:column;gap:4px;min-width:0}.crumbs{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--ink-3)}.crumbs a,.crumb-button{padding:0;border:0;background:none;color:var(--ink-3);font:inherit;text-decoration:none;cursor:pointer}.crumbs a:hover,.crumb-button:hover{color:var(--ink);text-decoration:underline}.page-title{margin:0;font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.01em}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.page-body{display:flex;flex-direction:column;gap:40px;max-width:1240px;padding:28px var(--gutter) 64px}.not-found{align-items:flex-start;gap:12px}.tool-heading{display:flex;align-items:center;gap:14px;margin-top:4px}.tool-heading .muted-text{font-size:14px}.section{display:flex;flex-direction:column;gap:16px}.section-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.section-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em}.section-meta{margin:0;font-size:13px;color:var(--ink-3)}.split{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:24px;max-width:1400px}.split-main{display:flex;flex:999 1 560px;flex-direction:column;gap:16px;min-width:0}.split-side{flex:1 1 340px;max-width:100%}.home-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px var(--gutter);border-bottom:1px solid var(--line)}.search{position:relative;flex:1 1 280px;max-width:520px;color:var(--ink-3)}.search svg{position:absolute;top:50%;left:14px;transform:translateY(-50%);pointer-events:none}.search .input{padding-left:42px}.home-hero{display:flex;flex-wrap:wrap;align-items:stretch;gap:20px}.home-greeting{display:flex;flex:1 1 360px;flex-direction:column;justify-content:center;gap:10px}.home-title{margin:0;font-size:clamp(34px,4vw,48px);font-weight:800;line-height:1.02;letter-spacing:-.02em}.continue-card{display:flex;flex:1 1 360px;flex-direction:column;gap:16px;padding:22px;border:1px solid #26313c;border-radius:20px;background:#101820;color:#f3f1ec;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s ease}.continue-card:hover{transform:translateY(-2px)}.continue-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a3aab2}.continue-body{display:flex;align-items:center;gap:14px}.continue-text{display:flex;flex-direction:column;gap:4px;min-width:0}.continue-text strong{overflow:hidden;font-size:20px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.continue-text span{font-size:13px;color:#a3aab2}.continue-go{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-left:auto;border-radius:999px;background:var(--accent);color:#fff}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.tool-item{position:relative;display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}.tool-item:hover{border-color:var(--ink-3);transform:translateY(-2px)}.tool-item-text{display:flex;flex-direction:column;gap:6px}.tool-item h3{margin:0;font-size:18px;font-weight:700}.tool-item p{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}.tool-item-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}.stretched{color:inherit;text-decoration:none}.stretched:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px}.stretched:focus-visible{outline:none}.stretched:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:500 13px var(--font-sans);cursor:pointer}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip.is-on{border-color:var(--ink);background:var(--ink);color:var(--bg)}.card{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-title{margin:0 0 4px;font-size:20px;font-weight:700}.table-card{overflow:visible}.table-scroll{position:relative;overflow-x:auto;border-radius:18px}.data-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.data-table th{white-space:nowrap;padding:12px 16px;border-bottom:1px solid var(--line);background:transparent;color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.08em;text-align:left;text-transform:uppercase}.data-table td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.data-table th:first-child,.data-table td:first-child{padding-left:20px}.data-table th:last-child,.data-table td:last-child{padding-right:16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tr.is-dimmed td{opacity:.6}.cell-muted{color:var(--ink-2)}.cell-actions{text-align:right;white-space:nowrap}.cell-actions>*{vertical-align:middle}.cell-actions>*+*{margin-left:4px}.project-link{display:flex;align-items:center;gap:12px;min-width:0;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}.project-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-link:hover span{text-decoration:underline}.tag{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:600}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;color:var(--ink-2);text-align:center}.empty strong{color:var(--ink);font-size:16px}.empty .btn{margin-top:8px}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}.badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok-ink)}.badge-warn{background:var(--amber-soft);color:var(--amber-ink)}.badge-neutral{background:var(--surface-2);color:var(--ink-2)}.person{display:flex;align-items:center;gap:12px;min-width:0}.person-text{display:flex;flex-direction:column;min-width:0}.person-text strong{font-size:15px;font-weight:600;white-space:nowrap}.person-text span{overflow:hidden;font-size:13px;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap}.credential{display:grid;gap:10px;padding:14px;border-radius:14px;background:var(--ok-soft);color:var(--ok-ink)}.credential-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;overflow-wrap:anywhere}.credential-box{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:10px;background:var(--surface);color:var(--ink)}.credential-box code{flex:1;font-size:15px;letter-spacing:.04em;word-break:break-all;-webkit-user-select:all;user-select:all}.credential-note{font-size:12px;line-height:1.45}.account-password{max-width:560px}.menu{position:relative;display:inline-block}.menu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:grid;min-width:190px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lg);text-align:left}.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:500 14px var(--font-sans);text-align:left;cursor:pointer}.menu-item:hover{background:var(--surface-2)}.menu-item.is-danger{color:var(--danger-ink)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{display:grid;gap:20px;width:min(520px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg)}.modal-panel:focus{outline:none}.modal-sm{width:min(440px,100%)}.modal-lg{width:min(760px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.auth-split{display:flex;flex-wrap:wrap;min-height:100vh}.auth-hero{position:relative;display:flex;flex:1 1 520px;flex-direction:column;justify-content:space-between;gap:48px;min-height:420px;padding:clamp(28px,5vw,64px);overflow:hidden;background:#101820;color:#f3f1ec}.auth-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;max-width:520px}.auth-hero-title{margin:0;font-size:clamp(40px,5vw,64px);font-weight:800;line-height:.98;letter-spacing:-.03em}.auth-hero-title span{color:#ff6a50}.auth-hero-copy p{max-width:44ch;margin:0;font-size:17px;line-height:1.5;color:#b9bfc6}.auth-hero-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:520px}.auth-hero-tiles .tool-tile{width:auto;height:auto;aspect-ratio:1;border-radius:18px}.auth-hero-tiles .tool-tile svg{width:28px;height:28px}.auth-hero-ring{position:absolute;top:-120px;right:-120px;width:420px;height:420px;border:64px solid rgb(212 46 23 / .16);border-radius:999px;pointer-events:none}.auth-panel{display:flex;flex:1 1 440px;flex-direction:column;padding:clamp(20px,4vw,48px)}.auth-panel-top{display:flex;justify-content:flex-end}.auth-card{width:100%;max-width:400px;margin:auto;padding:24px 0}@media(max-width:600px){.auth-split{align-content:flex-start}.auth-hero{flex:none;width:100%;min-height:auto;padding:16px 20px}.auth-hero-copy,.auth-hero-tiles,.auth-hero-ring{display:none}.auth-panel{flex:1 1 auto;min-height:calc(100dvh - 64px);padding-top:16px}.auth-card{margin:0 auto}}.auth-head{display:grid;gap:8px}.auth-head h2{margin:0;font-size:32px;font-weight:800;letter-spacing:-.02em}.auth-head p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2)}@media(max-width:900px){.app-frame{flex-direction:column}.mobile-top,.tabbar{display:flex}.sidebar,.rail{display:none}.app-main,.editor-main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.editor-frame{flex-direction:column}.auth-hero{min-height:auto;gap:28px}.auth-hero-tiles{max-width:280px}}}@layer ui{.editor-page{padding:0 var(--gutter) 56px}.editor-page>.page-header{margin:0 calc(var(--gutter) * -1) 24px}.editor-columns{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}.editor-col-main{display:flex;flex:999 1 560px;flex-direction:column;gap:20px;min-width:0}.editor-col-side{flex:1 1 300px;max-width:100%}.editor-alert{margin-bottom:16px}.row-between{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.row-actions-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.panel-label{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.inline-field{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}.inline-field label{display:inline;font-size:14px;color:var(--ink-2)}.input-year{width:104px;min-height:40px}.input-auto{width:auto;min-height:40px;padding-right:32px}.textarea{width:100%;min-height:120px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.5;resize:vertical}.textarea::placeholder{color:var(--ink-3)}.check{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--ink-2);cursor:pointer}.check input{width:18px;height:18px;margin:0;padding:0;accent-color:var(--accent)}.alert-list{display:grid;gap:4px;padding-left:32px}.alert-detail{font-weight:600}.text-btn-muted{color:var(--ink-3)}.badge-danger{background:var(--accent-soft);color:var(--danger-ink)}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.card-head .card-title{margin:0}.card-head-text{display:flex;flex-direction:column;gap:2px}.card-alerts{display:grid;gap:8px;padding:12px 20px 0}.data-table .num{text-align:right}.data-table .cell-wrap{min-width:200px}.data-table .cell-pre{white-space:pre-line}.data-table tfoot th,.data-table tfoot td{padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2);font-size:13px;font-weight:600;text-align:left;text-transform:none;letter-spacing:0;color:var(--ink)}.data-table tfoot .num{text-align:right}.data-table tfoot th:first-child{padding-left:20px}.data-table-dense th,.data-table-dense td{padding:9px 12px;font-size:13px;white-space:nowrap}.data-table-dense th{font-size:11px}.rate{display:flex;align-items:center;gap:8px;min-width:128px}.rate-bar{flex:1;display:flex;height:8px;overflow:hidden;border-radius:99px;background:var(--chart-rej)}.rate-bar>span{background:var(--chart-fin)}.rate-label{min-width:52px;font-size:13px;text-align:right}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.kpi{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.kpi-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3)}.kpi-value{font-size:32px;font-weight:600;line-height:1.1;letter-spacing:-.02em}.kpi-sub{font-size:13px;color:var(--ink-3)}.swatch{width:10px;height:10px;border-radius:3px}.swatch-fin{background:var(--chart-fin)}.swatch-rej{background:var(--chart-rej)}.history-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.history-item{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 0;border-radius:12px}.history-item:hover,.history-item.is-active{background:var(--surface-2)}.history-main{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;min-height:52px;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.history-main strong{font-size:14px}.history-main span{font-size:12px;color:var(--ink-3)}.history-item.is-active .history-main strong:before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 2px 0;border-radius:999px;background:var(--accent)}.query-card{margin-bottom:20px;overflow:hidden}.segment-tabs{display:flex;gap:2px;padding:0 12px;overflow-x:auto;border-bottom:1px solid var(--line)}.segment-tab{flex:none;min-height:48px;padding:0 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ink-3);font:500 14px var(--font-sans);white-space:nowrap;cursor:pointer}.segment-tab:hover{color:var(--ink)}.segment-tab.is-on{border-bottom-color:var(--accent);color:var(--ink)}.query-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 20px}.query-go{margin-left:auto}.stack-sm{display:grid;gap:10px}.settings-stack{display:grid;gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid-2-wide{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.field-label-sm{font-size:13px;font-weight:500;color:var(--ink-2)}.input-sm{min-height:38px;padding:0 10px;border-radius:10px;font-size:14px}.editor-loading{padding:32px 0}.save-state{margin:0;padding-left:4px;font-size:13px;color:var(--ink-3)}.save-state.is-saving:before,.save-state.is-saved:before,.save-state.is-error:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:999px;background:var(--chart-rej)}.save-state.is-saved:before{background:var(--ok-ink)}.save-state.is-error{color:var(--danger-ink)}.save-state.is-error:before{background:var(--accent)}.switch-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;color:var(--ink-2);cursor:pointer}.switch-row input{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0}.switch{position:relative;flex:none;width:40px;height:24px;border-radius:999px;background:var(--line);transition:background-color .15s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.switch-row input:checked+.switch{background:var(--accent)}.switch-row input:checked+.switch:after{transform:translate(16px)}.switch-row input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.progress-line{display:grid;gap:6px}.progress-text{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ink-2)}.progress-track{height:6px;overflow:hidden;border-radius:99px;background:var(--surface-2)}.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}.progress-line.is-done .progress-track>span{background:var(--ok-ink)}.progress-line.is-error .progress-text{color:var(--danger-ink)}.file-pick{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1.5px dashed var(--line);border-radius:14px;background:var(--surface-2);transition:border-color .15s ease,background-color .15s ease}.file-pick.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.file-pick.has-files{border-style:solid;border-color:color-mix(in srgb,var(--ok-ink) 45%,var(--line))}.file-pick-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--ink-2)}.file-pick.has-files .file-pick-icon{background:var(--ok-soft);color:var(--ok-ink)}.file-pick-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.file-pick-text strong{font-size:14px}.file-pick-text span{overflow:hidden;font-size:13px;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap}.import-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.table-inset{border:1px solid var(--line);border-radius:12px}.row-note{display:block;margin-top:4px;font-size:12px;white-space:normal;color:var(--ink-3)}.segmented-inline{display:inline-flex}.segmented-inline button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--ink-2);font:500 14px var(--font-sans);cursor:pointer}.segmented-inline button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000024}.tier-rules{display:grid;grid-template-columns:minmax(0,1fr) 76px 76px;gap:8px;align-items:center}.tier-rules-head{font-size:12px;color:var(--ink-3)}.tier-name,.tier-chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.tier-chip{font-weight:500}.tier-chip .tag{margin-left:0}.tier-dot{flex:none;width:12px;height:12px;border-radius:999px;box-shadow:inset 0 0 0 1px #0000001f}.dist-bar{display:flex;gap:2px;height:12px;overflow:hidden;border-radius:99px}.dist-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ink-2)}.dist-legend strong{color:var(--ink)}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.item-card{position:relative;display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.item-card:hover{border-color:var(--ink-3);transform:translateY(-2px)}.item-card-band{height:6px}.item-card-media{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;background:var(--surface-2)}.item-card-media>img:first-child{width:100%;height:100%;object-fit:cover}.item-card-code{font-size:26px;font-weight:600;color:var(--ink-3)}.item-card-medal{position:absolute;top:8px;right:8px;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 4px rgb(0 0 0 / .25))}.item-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px}.item-card-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.item-card-meta strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.item-card-meta span{font-size:12px;color:var(--ink-3)}.item-card-score{font-size:17px;font-weight:600}.item-row{display:flex;align-items:center;gap:12px}.item-thumb{display:block;flex:none;width:44px;height:34px;border-radius:8px;background:var(--surface-2);object-fit:cover}.item-dialog-image{width:100%;max-height:240px;border-radius:12px;background:var(--surface-2);object-fit:contain}@media(max-width:900px){.editor-columns>.editor-col-main{order:-1}}}@layer ui{.range{width:100%;margin:0;accent-color:var(--accent)}.slider{display:grid;gap:4px}.slider-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.slider-head label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);cursor:help}.help-dot{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:999px;background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:700}.slider-number{width:84px;min-height:32px;text-align:right}.chip-sm{min-height:32px;padding:0 12px;font-size:12px}.color-pick{display:flex;align-items:center;gap:8px}.color-pick input[type=color]{flex:none;width:44px;height:38px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.color-pick .input{flex:1;min-width:0}.segmented-dark{background:#ffffff14}.segmented-dark button{color:#c3c8ce}.segmented-dark button.is-on{background:#f3f1ec;color:#101820}.acc{overflow:hidden}.acc>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:0 18px;color:var(--ink-3);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;list-style:none}.acc>summary::-webkit-details-marker{display:none}.acc>summary svg{transition:transform .15s ease}.acc[open]>summary svg{transform:rotate(90deg)}.acc>summary:hover{color:var(--ink)}.acc-body{padding:0 18px 18px}.route-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:0;list-style:none}.route-steps>li:not(.route-status){display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-3);font-size:14px;font-weight:500}.route-step-n{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--surface-2);font-size:13px;font-weight:600}.route-steps>li.is-done{color:var(--ink)}.route-steps>li.is-done .route-step-n{background:var(--teal-soft);color:var(--teal-ink)}.route-steps>li.is-current{border-color:var(--accent);color:var(--ink)}.route-steps>li.is-current .route-step-n{background:var(--accent);color:#fff}.route-status{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.route-auto{font-size:13px;color:var(--ink-3)}.route-uploads{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.file-pick-thumb{flex:none;width:56px;height:42px;border-radius:8px;background:var(--surface);object-fit:cover}.anchor-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.anchor-tools-label{margin-right:4px;font-size:13px;font-weight:600;color:var(--ink-2)}.anchor-pills{display:inline-flex;gap:4px}.anchor-pill{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:600 13px var(--font-mono);cursor:pointer}.anchor-pill.is-on{border-color:var(--accent);background:var(--accent);color:#fff}.zone-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.zone-list li{display:flex;align-items:center;gap:8px;padding:2px 2px 2px 12px;border-radius:10px;background:var(--surface-2);font-size:14px}.zone-size{margin-left:auto;font-size:12px;color:var(--ink-3)}.stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.stage-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--line);font-size:14px}.stage-head-tools{display:inline-flex;align-items:center;gap:8px}.stage-hint{font-size:12px;color:var(--ink-3)}.stage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;background:#101820}.stage-canvas,.stage-empty{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#e9e5dc}:root[data-theme=dark] .stage-canvas,:root[data-theme=dark] .stage-empty{background:#080c10}.stage-empty{gap:8px;align-content:center;padding:16px;color:var(--ink-3);font-size:13px;text-align:center}:root[data-theme=dark] .stage-empty{color:#9aa2ab}.stage-hero .stage-canvas,.stage-hero .stage-empty{aspect-ratio:16 / 10}.stage-full{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%}.stage-full .stage-canvas,.stage-full .stage-empty{min-height:min(70vh,760px);height:100%;aspect-ratio:auto}.stage-canvas.is-clickable{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.stage-canvas.mode-overlay,.stage-canvas.mode-background{cursor:grab}.stage-canvas.mode-overlay:active,.stage-canvas.mode-background:active{cursor:grabbing}.stage-image{width:100%;height:100%;object-fit:contain}.stage-live-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;transform-origin:center;transition:transform 80ms linear;mix-blend-mode:multiply;-webkit-mask-image:var(--route-mask-url);mask-image:var(--route-mask-url);-webkit-mask-mode:luminance;mask-mode:luminance;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.stage-eraser-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:contain}.stage-crop{position:absolute;z-index:3;border:2px solid var(--accent);background:#d42e1714;box-shadow:0 0 0 9999px #0000002e;pointer-events:none}.stage-anchor{position:absolute;z-index:4;display:grid;place-items:center;width:28px;height:28px;border:3px solid #5b34b0;border-radius:999px;background:#fff;color:#101820;font:700 13px var(--font-mono);box-shadow:0 4px 14px #00000059;pointer-events:none;transform:translate(-50%,-50%)}.stage-anchor.is-active{border-color:var(--accent);background:#ffb84d}.stage-zone{position:absolute;z-index:3;border:2px dashed var(--accent);background:#d42e172e;pointer-events:none}.stage-zone.is-draft{border-style:solid;background:#ffb84d47}.stage-pair-preview{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.stage-pair-preview img,.stage-pair-preview span{display:grid;place-items:center;width:100%;aspect-ratio:8 / 9;background:#e9e5dc;color:var(--ink-3);font-size:13px;object-fit:contain}:root[data-theme=dark] .stage-pair-preview img,:root[data-theme=dark] .stage-pair-preview span{background:#080c10}.stage-scrim{padding:16px}.stage-modal{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;width:min(1560px,100%);height:calc(100vh - 32px);padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg)}.stage-modal:focus{outline:none}.stage-modal-body{min-height:0}.stage-modal-body.has-controls{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.stage-modal-main{min-height:0}.stage-modal-controls{display:grid;align-content:start;gap:14px;min-width:0;padding:16px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.stage-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;height:100%}@media(max-width:900px){.stage-modal-body.has-controls,.stage-pair{grid-template-columns:1fr;overflow:auto}.stage-modal{overflow:auto}.route-status{margin-left:0}}}
