:root{color-scheme:dark;--bg:#0d1320;--panel:#151e2d;--panel2:#1b2738;--line:#29384c;--text:#edf2f8;--muted:#91a0b4;--accent:#56d5b3;--blue:#7b9cff;--danger:#ff8e87}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2,p{margin-top:0}h1{font-size:27px;margin:4px 0 0;font-weight:650}h2{font-size:18px;margin:4px 0 8px}small,.hint,header small{display:block;color:var(--muted);font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#101827;border-right:1px solid var(--line);padding:25px 16px;display:flex;flex-direction:column}.logo{font-size:24px;font-weight:800;letter-spacing:-1px;color:var(--accent)}.logo span{font-size:15px;margin-left:2px;color:var(--text)}.side-title{font-size:12px;color:var(--muted);margin:3px 0 26px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.logout{padding:11px 12px;border-radius:9px;color:var(--muted);text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{background:#1d2c3d;color:var(--accent)}.logout{margin-top:auto}main{margin-left:230px;padding:34px clamp(20px,4vw,60px);max-width:1700px}header,.cardhead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}header small,.cardhead small{letter-spacing:1.5px;color:var(--accent);font-size:10px}.card{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:15px;margin-bottom:20px;box-shadow:0 10px 30px #0002}.hint{margin:6px 0 16px}.rates{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.rates label,.form label{display:grid;gap:7px;color:var(--muted);font-size:12px}.rates input,.money input{width:140px}.money{display:flex;align-items:center;gap:8px}.money input{width:140px}.input, input,select{font:inherit;color:var(--text);background:#101827;border:1px solid var(--line);border-radius:8px;padding:10px 11px;min-width:0}input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}button,.button{border:0;border-radius:8px;padding:10px 15px;cursor:pointer;text-decoration:none;font:600 13px system-ui,sans-serif;display:inline-block}.primary{background:var(--accent);color:#0a1a1a}.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}button:hover,.button:hover{filter:brightness(1.08)}.upload{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.upload input[type=file]{max-width:360px}.alert{padding:12px 16px;border-radius:9px;margin:0 0 18px;background:#12372f;color:#a6f0da}.alert.err{background:#482827;color:#ffd0cb}.alert.warn{background:#493c1f;color:#f9df9b}.tablewrap{width:100%;overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;color:var(--muted);font-weight:550;padding:11px 10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid #273447;vertical-align:middle}td small{margin-top:3px}.edit{display:flex;gap:5px}.edit input{width:85px;padding:8px;font-size:12px}.edit input:nth-child(5){width:96px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form{display:grid;gap:14px}.form input{width:100%}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips a{padding:8px 11px;border-radius:8px;background:var(--panel2);color:var(--muted);text-decoration:none}.chips a.selected{color:var(--accent);outline:1px solid var(--accent)}.warning{background:#45391e;color:#ffdfa0}.pill{font-size:12px;color:var(--accent);background:#18332e;padding:6px 10px;border-radius:40px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#1a2b3e,var(--bg) 60%)}.loginbox{width:min(420px,calc(100% - 32px));background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:34px;box-shadow:0 25px 80px #0005}.loginbox h1{margin-top:14px}.loginbox p{color:var(--muted);margin:6px 0 24px}.loginbox label{display:grid;gap:7px;margin:15px 0;color:var(--muted);font-size:12px}.loginbox label input{width:100%}.wide{width:100%;margin-top:8px}.light{color-scheme:light;--bg:#f2f5f8;--panel:white;--panel2:#f2f5f8;--line:#dce3ec;--text:#1c2735;--muted:#68778a}.light .sidebar{background:#fff}.light .sidebar nav a:hover,.light .sidebar nav a.active{background:#eaf3f1}.light input,.light select{background:white;color:var(--text)}.light td{border-color:#e9edf2}.light .warning{background:#fff4d7;color:#765600}@media(max-width:900px){.sidebar{position:static;width:auto;height:auto;padding:12px 16px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.logout{display:none}.side-title{display:none}main{margin:0;padding:22px 15px}.grid{grid-template-columns:1fr}.card{padding:17px}.cardhead{align-items:flex-start;flex-direction:column}.rates{align-items:stretch}.rates label{flex:1}.rates input{width:100%}}

.price-sheet .tablewrap{max-height:72vh}.pricing-table{min-width:2300px;font-size:11px}.pricing-table td{white-space:nowrap}.pricing-table td:nth-child(3){white-space:normal;min-width:260px;max-width:340px}.price-input{width:100px;padding:7px 8px}.save-title{display:flex;align-items:end;gap:10px}.save-title label{display:grid;gap:6px;color:var(--muted);font-size:12px}.save-title input{width:230px}.sheet-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.market-upload{margin-top:20px}.market-upload label{display:grid;gap:7px;color:var(--muted);font-size:12px}.empty{padding:18px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);margin-top:15px}.saved-list{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.saved-list>div{display:grid;gap:3px}.price-note td{background:#493c1f;color:#ffe1a3;white-space:normal}.pricing-table span[data-out]{display:inline-block;min-width:76px;text-align:right}@media(max-width:900px){.save-title{align-items:stretch;flex-direction:column;width:100%}.save-title input{width:100%}.sheet-footer{align-items:stretch;flex-direction:column}.saved-list{align-items:flex-start;flex-wrap:wrap}.pricing-table{min-width:2200px}}
.manage-list{display:grid;gap:0}.manage-head,.manage-row{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(80px,.7fr) minmax(90px,.8fr) minmax(300px,2.4fr);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.manage-head{color:var(--muted);font-size:12px}.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.actions form{margin:0}.actions .button,.actions button{padding:8px 11px}.danger{background:#6f3435;color:#fff;border:1px solid #a35454}.light .danger{background:#fff0ef;color:#8a2727;border-color:#f1c3c0}.quick-rates{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.quick-rates label{display:grid;gap:4px;color:var(--muted);font-size:11px}.quick-rates input{width:112px;padding:8px}.pricing-head{align-items:flex-start}.price-row.currency-eur>td{background:#fff0dc;color:#292318}.price-row.currency-usd>td{background:#e5f4e9;color:#182a1d}.price-row.currency-gbp>td{background:#e5f0ff;color:#1b2638}.price-row.currency-eur input,.price-row.currency-usd input,.price-row.currency-gbp input{color:#17202a;background:#ffffffc9;border-color:#cbd5df}.sale-input{font-weight:700;border-color:var(--accent)!important}.tariff-form{margin-top:18px}.saved-list{gap:8px}.saved-list>form{margin:0}
@media(max-width:1100px){.manage-head{display:none}.manage-row{grid-template-columns:1fr auto;gap:8px}.manage-row>span{justify-self:start}.manage-row .actions{grid-column:1/-1}.quick-rates{width:100%}.quick-rates label{flex:1}.quick-rates input{width:100%}}
.price-sheet .pricing-table th:nth-child(3),.price-sheet .pricing-table td:nth-child(3){position:sticky;left:0;z-index:3;min-width:300px;max-width:360px;border-right:1px solid var(--line);box-shadow:5px 0 7px -7px #0009}.price-sheet .pricing-table th:nth-child(3){z-index:5;background:var(--panel)}.price-sheet .pricing-table td:nth-child(3){background:var(--panel)}.price-sheet .pricing-table .currency-eur td:nth-child(3){background:#fff0dc;color:#292318}.price-sheet .pricing-table .currency-usd td:nth-child(3){background:#e5f4e9;color:#182a1d}.price-sheet .pricing-table .currency-gbp td:nth-child(3){background:#e5f0ff;color:#1b2638}.manage-row{grid-template-columns:minmax(110px,1fr) minmax(70px,.55fr) minmax(80px,.65fr) minmax(350px,3fr)}.manage-row .actions{gap:5px;flex-wrap:nowrap}.manage-row .actions .button,.manage-row .actions button{font-size:11px;padding:6px 8px;white-space:nowrap}.clear-draft{white-space:nowrap}
@media(max-width:1200px){.manage-row{grid-template-columns:minmax(100px,1fr) minmax(65px,.5fr) minmax(75px,.6fr) minmax(330px,2.5fr)}.manage-row .actions{flex-wrap:wrap}}
.manage-head{grid-template-columns:minmax(110px,1fr) minmax(70px,.55fr) minmax(80px,.65fr) minmax(350px,3fr)}
@media(max-width:1200px){.manage-head{grid-template-columns:minmax(100px,1fr) minmax(65px,.5fr) minmax(75px,.6fr) minmax(330px,2.5fr)}}
.form>a.button{justify-self:start;width:auto}.market-upload>button{align-self:end;margin-bottom:0}
.form>a.button{justify-self:stretch;width:100%;text-align:center}
.price-sheet .tablewrap{position:relative}.price-sheet .pricing-table thead th{position:sticky;top:0;z-index:4;background:var(--panel)}.price-sheet .pricing-table thead th:nth-child(3){z-index:6}
/* User administration */
.user-grid{grid-template-columns:minmax(300px,.9fr) minmax(440px,1.5fr)}.user-grid .form select{width:100%}.user-grid .form>a.button{justify-self:stretch;width:100%;text-align:center}.user-grid table td{vertical-align:middle}
@media(max-width:900px){.user-grid{grid-template-columns:1fr}}

.global-margin-label{display:grid;gap:6px;color:var(--muted);font-size:12px}.save-title .global-margin-label input{width:130px}.target-margin{border-color:#8ccfbc}.save-title{flex-wrap:wrap}

.saved-list{display:grid;grid-template-columns:minmax(280px,1fr) auto auto auto;align-items:center;gap:14px;padding:14px 0}.saved-list>div{min-width:0}.saved-list>div b{overflow-wrap:anywhere}.saved-list>a,.saved-list>form{justify-self:end}.saved-list>form button{min-width:54px}@media(max-width:900px){.saved-list{grid-template-columns:minmax(0,1fr) auto}.saved-list>div{grid-column:1/-1}.saved-list>a:nth-of-type(1){justify-self:start}.saved-list>a:nth-of-type(2){justify-self:end}.saved-list>form{grid-column:2;grid-row:2;justify-self:end}}
