:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211f;background:#f3f6f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17211f;--muted: #6a7773;--brand: #143c36;--brand-light: #dcebe5;--line: #dce3e0;--surface: #ffffff;--danger: #a23939;--shadow: 0 12px 34px rgba(24, 48, 43, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}a{color:var(--brand)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(28px,4vw,40px);letter-spacing:-.035em}h2{font-size:20px}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 18px;background:var(--brand);color:#fff}.brand-mark{margin:0 10px 32px;font-size:24px;font-weight:800;letter-spacing:-.04em}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:11px 12px;border-radius:10px;color:#dce9e5;text-decoration:none}.sidebar nav a.active,.sidebar nav a:hover{color:#fff;background:#ffffff1c}.sidebar-footer{margin-top:auto;display:grid;gap:6px;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.15)}.sidebar-footer span{color:#bad0c9;font-size:12px;overflow-wrap:anywhere}.main-content{width:100%;max-width:1500px;padding:40px clamp(22px,4vw,64px) 80px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 20%,#d5ebe2,transparent 34%),#eef3f1}.login-card{width:min(440px,100%);display:grid;gap:18px;padding:42px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.login-card .button{width:100%;margin-top:6px}.page-header{min-height:76px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.section-header{margin:38px 0 16px}.eyebrow{margin-bottom:7px;color:#547068;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.muted{color:var(--muted)}.back-link{display:inline-block;margin-bottom:10px;color:var(--muted);text-decoration:none}label{display:grid;gap:7px;color:#44514d;font-size:13px;font-weight:700}input,select,textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #ccd7d3;border-radius:9px;color:var(--ink);background:#fff;outline:none}input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;border-radius:4px;accent-color:var(--brand);cursor:pointer}input:focus,select:focus,textarea:focus{border-color:#4d8274;box-shadow:0 0 0 3px #4d827421}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:24px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.filters label{min-width:210px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding-top:14px}.inline-form label{min-width:170px}.grow{flex:1}.sub-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin-top:18px;padding:18px;border-radius:12px;background:#f3f7f5}.sub-form h3{grid-column:1 / -1;margin-bottom:2px}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border:1px solid #cbd7d3;border-radius:9px;color:#25433c;background:#fff;cursor:pointer;text-decoration:none;font-weight:750}.button:hover{background:#f2f6f4}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{border-color:var(--brand);color:#fff;background:var(--brand)}.button-primary:hover{background:#1a4b43}.button-secondary{background:var(--brand-light);border-color:#c4ddd3}.button-danger{border-color:#e4c1c1;color:var(--danger);background:#fff7f7}.button-ghost{border-color:#fff3;color:#fff;background:transparent}.actions{display:flex;align-items:center;gap:9px;margin-top:16px}.wrap{flex-wrap:wrap}.device-grid{display:grid;gap:16px}.device-card,.panel{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 5px 18px #1c342f0a}.device-card{padding:22px;content-visibility:auto;contain-intrinsic-size:0 260px}.device-card-main{display:flex;justify-content:space-between;gap:20px}.device-card h2{margin-bottom:8px;font-size:23px}.device-card p{margin-bottom:0;color:var(--muted)}.device-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;padding:13px 0;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef;color:var(--muted)}.device-meta strong{color:var(--ink)}.device-card details{margin-top:16px}.device-card summary{cursor:pointer;color:var(--brand);font-weight:700}.history-list{margin-top:10px;display:grid;gap:6px}.history-list>div{display:grid;grid-template-columns:120px 1fr 160px;gap:12px;padding:8px 10px;border-radius:8px;background:#f5f7f6;font-size:13px}.status{display:inline-flex;align-items:center;width:fit-content;height:28px;padding:0 10px;border-radius:999px;background:#edf2f0;color:#44534f;white-space:nowrap;font-size:12px;font-weight:800}.status-on_sale{color:#196246;background:#def2e8}.status-reserved,.status-reserved_by_me{color:#75520a;background:#fff0c9}.status-purchased,.status-i_bought{color:#24598b;background:#e0effc}.status-removed_from_sale,.status-sold{color:#6d5a5a;background:#eee9e9}.status-hidden{color:#5d6060;background:#e9eceb}.panel{padding:22px}.panel h2{margin-bottom:16px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.stack{display:grid;gap:18px}.two-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:start}.totals{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px;padding:14px;border-radius:10px;background:#f3f7f5}.totals span{display:grid;gap:3px}.negative{color:var(--danger)}.definition-list{display:grid;gap:10px;margin:0 0 18px}.definition-list div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding-bottom:9px;border-bottom:1px solid #edf1ef}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;font-weight:700}.offer-list{display:grid;gap:10px}.offer-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border-radius:10px;background:#f5f7f6}.offer-row>div{display:grid}.offer-row span{color:var(--muted);font-size:12px}.offer-row details{grid-column:1 / -1}.history-line{padding:6px 0;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:18px 0}.metric-card{min-height:112px;display:flex;flex-direction:column;justify-content:space-between;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px #1c342f0a}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{font-size:28px;letter-spacing:-.04em}.metric-grid-money .metric-card strong{font-size:21px}.compact .metric-card{min-height:80px}.compact .metric-card strong{font-size:22px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:13px 15px;border-bottom:1px solid #e9efec;text-align:left;vertical-align:middle;white-space:nowrap}th{color:#5c6a66;background:#f5f8f6;font-size:12px;text-transform:uppercase;letter-spacing:.06em}td small{display:block;margin-top:4px;color:var(--muted)}tr:last-child td{border-bottom:0}.selection-column{width:48px;padding-right:8px;padding-left:8px;text-align:center}.table-checkbox{display:block;margin:0 auto}.virtual-row{content-visibility:auto;contain-intrinsic-size:0 64px}.dot{width:8px;height:8px;display:inline-block;margin-left:7px;border-radius:50%;background:#e7892c;box-shadow:0 0 0 3px #fff0df}.state-box{padding:42px;border:1px dashed #c7d1ce;border-radius:14px;color:var(--muted);text-align:center;background:#fff9}.alert{margin:12px 0;padding:12px 14px;border-radius:9px}.alert-error{border:1px solid #efcaca;color:#8b3232;background:#fff1f1}.alert-success{border:1px solid #c7e1d7;color:#24654f;background:#edf8f3}.simple-list{display:grid;gap:7px;margin-top:18px}.simple-list div{padding:10px 12px;border-radius:8px;background:#f4f7f5}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.table-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:16px}.table-footer .pagination{margin-top:0}.pagination-summary{color:var(--muted);font-size:13px}.page-size-control{display:flex;align-items:center;justify-self:end;gap:9px}.page-size-control select{width:auto;min-width:76px}.preview{margin-top:18px}.preview .table-wrap{max-height:360px;margin-bottom:18px}.source-form{margin-top:18px}.source-list,.run-list{display:grid;gap:9px}.source-item,.run-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#f8faf9;text-decoration:none;text-align:left}.source-item>div,.run-row>div{display:grid;gap:4px}.source-item>div:last-child,.run-row>div:last-child{justify-items:end}.source-item span,.source-item small,.run-row small{color:var(--muted)}.run-row{cursor:pointer}.run-row.selected{border-color:#79a699;background:#edf6f2}.mapping-grid{display:grid;gap:8px;margin-top:16px}.mapping-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(130px,.55fr) minmax(190px,1fr);align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ef}.mapping-row select,.mapping-row input{min-height:38px}.simple-list small{display:block;margin-top:5px;color:var(--danger)}@media(max-width:900px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:16px}.brand-mark{margin:0 4px 12px}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidebar-footer{display:none}.main-content{padding:26px 18px 60px}.two-columns{grid-template-columns:1fr}}@media(max-width:620px){.page-header,.device-card-main,.panel-header{flex-direction:column}.form-grid,.sub-form,.mapping-row{grid-template-columns:1fr}.history-list>div{grid-template-columns:1fr}.login-card{padding:28px 22px}.table-footer{grid-template-columns:1fr;justify-items:center}.page-size-control{justify-self:center}}
