:root{--ink:#17222b;--muted:#61707b;--bg:#f3f5f6;--gold:#b58432;--line:#dce2e6;--dark:#11171d;--radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}a{color:inherit;text-decoration:none}a:hover{color:#936722}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;padding:11px 17px;font-weight:650;line-height:1.4}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--dark);color:#fff;border:1px solid var(--dark)}.primary:hover{background:#29353e}.primary span{color:#d7ad60}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.secondary:hover{border-color:var(--gold)}.ghost{background:transparent;color:inherit}.wide{width:100%;display:flex;justify-content:space-between;align-items:center}.muted{color:var(--muted)}.small{font-size:.82rem}.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.15em;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin-bottom:10px}h2{font-size:1.2rem;margin-bottom:20px;letter-spacing:-.02em}h3{font-size:1.07rem}label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.88rem;margin-bottom:18px}input:not([type=checkbox]):not([type=file]),textarea,select{width:100%;border:1px solid #cbd4db;border-radius:8px;padding:11px 12px;color:var(--ink);background:#fff;min-height:46px;min-width:0}textarea{resize:vertical;font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:180px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d9b46870;outline-offset:2px;border-color:var(--gold)}.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.check input{accent-color:#9a6d25;width:18px;height:18px;flex-shrink:0;margin-top:2px}.login-screen{min-height:100vh;background:var(--dark);display:grid;grid-template-columns:1fr 430px;gap:8vw;align-items:center;justify-content:center;padding:8vh max(6vw,24px);max-width:none}.login-brand{max-width:630px;margin:auto 0 auto auto;width:100%;color:#fff}.login-brand img{width:98px;height:100px;object-fit:contain;margin-bottom:28px}.login-brand h1{font-size:clamp(2.4rem,4.5vw,4.3rem);letter-spacing:-.05em;margin:20px 0}.login-brand p{color:#afbac4;font-size:1.12rem}.brand-rule{height:3px;background:var(--gold);width:56px;margin-top:38px}.login-card{background:#fff;padding:34px;border-radius:18px;border-top:4px solid var(--gold);box-shadow:0 20px 80px #0003;width:100%;max-width:430px}.login-card h2{font-size:1.8rem;margin:8px 0 10px}.login-card form{margin-top:25px}.login-card .small{margin:20px 0 0}.form-error{color:#9b2b2b;font-size:.9rem;white-space:pre-wrap}.form-error:empty{display:none}.topbar{background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px max(3vw,20px);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:1.2rem;white-space:nowrap}.brand img{height:48px;width:48px;object-fit:contain}.brand b{font-weight:400;color:#d4ac63}.topbar nav{display:flex;align-items:center;gap:24px;font-size:.9rem}.topbar a:hover{color:#e0ba77}main{max-width:1440px;margin:auto;padding:36px max(3vw,20px) 50px;min-height:calc(100vh - 150px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{margin-bottom:0}.back{font-size:.85rem;color:var(--muted);display:inline-block;margin-bottom:15px}.badge{border:1px solid var(--line);border-radius:30px;display:inline-block;padding:5px 12px;background:#fff;font-size:.78rem;white-space:nowrap;color:#435461}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;max-width:1000px}.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:box-shadow .15s,border-color .15s;position:relative}.tile:hover{box-shadow:0 12px 28px #17222b0a;border-color:var(--gold);color:inherit}.tile-icon{width:54px;height:54px;border-radius:13px;background:#f8f1e5;color:#946723;display:grid;place-items:center;font-size:1.4rem;margin-bottom:30px}.tile h2{margin-bottom:10px}.tile p{font-size:.94rem;color:var(--muted);max-width:340px}.tile .tile-link{display:block;margin-top:28px;font-size:.86rem;font-weight:650}.tile-link span{float:right;color:var(--gold)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-width:0}.converter-grid{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(420px,1.3fr);gap:24px;align-items:stretch}.tabs{display:flex;background:#edf0f2;padding:4px;border-radius:9px;margin:6px 0 20px;gap:4px}.tabs button{background:transparent;color:var(--muted);flex:1;padding:9px 7px;font-size:.8rem}.tabs .selected{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0001}.notice{padding:13px 16px;background:#fbf4e6;border-left:3px solid var(--gold);border-radius:6px;font-size:.86rem;line-height:1.6;margin-bottom:20px}.subtle{background:#f5f7f8;border-color:#a3afb8;color:#53636f}.error{background:#fff0ec;border-color:#b5452e;color:#8f2d1d;white-space:pre-wrap}.result-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.empty{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;color:var(--muted)}.coordinate-mark{font-size:1.5rem;font-weight:600;letter-spacing:.09em;color:#bba476;background:#faf7ef;border:1px solid #eee7d9;padding:22px;border-radius:15px;margin-bottom:28px}.empty h3{color:var(--ink)}.empty p{font-size:.9rem}.dropzone{border:1px dashed #aab9c3;border-radius:12px;padding:25px 18px;align-items:center;text-align:center;font-weight:400;cursor:pointer;min-height:240px;justify-content:center;background:#fafbfc}.dropzone.over{border-color:var(--gold);background:#fcf8ee}.dropzone input{max-width:100%;font-size:.8rem}.upload-symbol{font-size:2rem;color:var(--gold)}.export-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.export-actions button{font-size:.8rem;padding:9px 11px}.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.86rem;text-align:left}th{font-size:.76rem;color:#5c6e7b;font-weight:600;background:#f5f7f8;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px;border-bottom:1px solid #ebeff1;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}td small{display:block;color:var(--muted)}#result-table td{font-family:ui-monospace,monospace;font-size:.79rem}.help{margin-top:24px;padding:18px 24px;color:#54646f;font-size:.9rem}.help summary{font-weight:650;cursor:pointer;color:var(--ink)}.help p{margin:16px 0 0}.help code{white-space:normal;word-break:break-word}.help a{color:#956b27;text-decoration:underline}footer{border-top:1px solid var(--line);padding:18px max(3vw,20px);display:flex;justify-content:space-between;gap:15px;font-size:.8rem;color:var(--muted)}dialog{border:0;border-radius:16px;padding:30px;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 32px);box-shadow:0 24px 80px #0003;color:var(--ink)}dialog::backdrop{background:#0b172377}.dialog-heading{display:flex;justify-content:space-between;gap:20px}.dialog-heading h2{margin:8px 0 24px}.dialog-heading button{align-self:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}fieldset{border:1px solid var(--line);border-radius:8px;margin:24px 0;padding:16px}legend{font-size:.88rem;font-weight:600}fieldset label{margin-bottom:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px}.profile-card{max-width:550px}
@media(max-width:1000px){.converter-grid{grid-template-columns:1fr}.empty{min-height:230px}.login-screen{gap:5vw;grid-template-columns:1fr 390px}.login-card{padding:28px}.topbar nav{gap:15px}}
/* Work surfaces follow the SMS charcoal/gold hierarchy, including form fields. */
:root{background:#11171d}
body{background:#11171d;min-height:100vh}
#app-screen,dialog{--ink:#eef3f7;--muted:#b1bfca;--line:#42515e;color:var(--ink);background:#141c24;color-scheme:dark}
#app-screen main{max-width:1540px}
#app-screen .page-heading{padding:5px 0 23px;border-bottom:1px solid #3c4853}
#app-screen .back{color:#d5b16e}
#app-screen .card,#app-screen .tile{background:#202b35;border-color:#435260;box-shadow:0 8px 22px #0002}
#app-screen .input-card{border-top:3px solid #bd944c}
#app-screen .result-card{background:#19232c;border-top:3px solid #5f8498}
#app-screen .card h2{padding-bottom:15px;border-bottom:1px solid #44525e;margin-bottom:23px}
#app-screen input:not([type=checkbox]):not([type=file]),#app-screen textarea,#app-screen select,dialog input:not([type=checkbox]):not([type=file]){background:#101922;color:#f0f4f7;border:1px solid #697989;box-shadow:inset 0 1px 3px #0003}
#app-screen textarea::placeholder,#app-screen input::placeholder{color:#96a7b4}
#app-screen .primary,dialog .primary{background:#d2aa62;color:#131b22;border-color:#dbba7c}
#app-screen .primary:hover,dialog .primary:hover{background:#e6c382}
#app-screen .primary span{color:#131b22}
#app-screen .secondary,dialog .secondary{color:#e8eef3;background:#2d3b47;border-color:#687c8c}
#app-screen .secondary:hover{background:#3b4e5e}
#app-screen .badge{background:#273745;border-color:#586d7d;color:#e6edf2}
#app-screen .tabs{background:#101922;border:1px solid #475869}
#app-screen .tabs .selected{background:#c39c57;color:#111a22}
#app-screen .tabs button{color:#cad5dd}
#app-screen .notice{background:#3a3022;border-color:#d2aa62;color:#f1dfbc}
#app-screen .notice.subtle{background:#263b49;color:#c8dfe9;border-color:#7cabbf}
#app-screen .error{background:#45262a;color:#ffdbd7;border-color:#ef998c}
#app-screen .dropzone{background:#16232d;border:2px dashed #758e9f;color:#e4edf4}
#app-screen .dropzone.over{border-color:#e4bb73;background:#343123}
#app-screen .coordinate-mark,#app-screen .tile-icon{background:#34414c;border-color:#6a7a87;color:#e0b66a}
#app-screen th{background:#30414f;color:#e9f1f6;border-bottom-color:#708596}
#app-screen td{border-bottom-color:#3b4c59}
#app-screen tbody tr:nth-child(even){background:#ffffff04}
#app-screen .help{color:#b9c8d3}
#app-screen .help a{color:#e1bb76}
.job-progress{margin-top:18px;padding:14px;background:#101922;border:1px solid #5c7385;border-radius:10px}
.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.84rem}
.progress-heading button{padding:6px 9px;font-size:.78rem}
progress{width:100%;height:8px;margin-top:14px;accent-color:#d2aa62}
#result .table-scroll{max-height:620px}
@media(max-width:650px){:root{font-size:14px}.login-screen{grid-template-columns:1fr;padding:30px 20px;gap:26px;align-content:center}.login-brand{margin:0;max-width:none}.login-brand img{height:55px;width:55px;margin:0 0 10px}.login-brand h1{font-size:2.3rem;margin:10px 0}.login-brand p,.brand-rule{display:none}.login-card{max-width:none;padding:26px}.topbar{padding:9px 14px;gap:10px;flex-wrap:wrap}.brand{font-size:1.12rem}.brand img{width:36px;height:36px}.topbar nav{width:100%;border-top:1px solid #ffffff15;justify-content:space-between;gap:8px;padding-top:7px;font-size:.8rem}.topbar nav button{padding:7px}main{padding:24px 14px 35px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:20px}h1{font-size:1.65rem}.page-heading>.badge{display:none}.card{padding:20px 16px}.converter-grid{gap:18px}.tiles{grid-template-columns:1fr}.tile{padding:24px}.tile-icon{margin-bottom:20px}.result-card{overflow:hidden}th,td{padding:10px 8px}.form-grid{grid-template-columns:1fr}dialog{padding:22px}.help{padding:17px}.empty{min-height:220px}footer span{display:none}.export-actions{gap:6px}.export-actions button{padding:9px}.profile-card{width:100%}}
