:root{color:#102033;background:#eef3f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}.admin-shell{display:flex;min-height:100vh}.sidebar{background:#102033;color:#fff;display:flex;flex:0 0 264px;flex-direction:column;gap:28px;padding:28px}.brand-block{align-items:center;display:flex;gap:14px}.brand-mark{align-items:center;background:#1677ff;border-radius:16px;display:inline-flex;font-size:24px;font-weight:800;height:48px;justify-content:center;width:48px}.brand-block strong,.brand-block small{display:block}.brand-block small{color:#a9bdd4;margin-top:4px}.home-link{align-items:center;border:1px solid rgb(255 255 255 / 16%);border-radius:999px;color:#d9e8ff;display:inline-flex;font-size:14px;font-weight:800;justify-content:center;margin-top:-12px;padding:10px 14px;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}.home-link:hover{background:#ffffff1a;border-color:#ffffff47;color:#fff}.main-nav{display:flex;flex-direction:column;gap:8px}.nav-link{border-radius:14px;color:#d9e8ff;font-weight:700;padding:12px 14px;text-decoration:none}.nav-link-active,.nav-link:hover{background:#ffffff1f;color:#fff}.demo-note{background:#ffffff14;border:1px solid rgb(255 255 255 / 12%);border-radius:18px;color:#c4d5e9;margin-top:auto;padding:16px}.demo-note strong,.demo-note span{display:block}.demo-note span{font-size:13px;line-height:1.6;margin-top:6px}.content-shell{flex:1;min-width:0;padding:32px}.page-stack{display:flex;flex-direction:column;gap:24px}.hero-panel,.page-header,.panel,.brief-card{background:#fff;border:1px solid #dce6f1;border-radius:24px;box-shadow:0 20px 60px #10203314;padding:28px}.eyebrow{color:#1677ff;font-size:14px;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}h1{font-size:40px;line-height:1.15;margin:0 0 20px}p{font-size:18px;line-height:1.7;margin:0}.dashboard-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr)}.dashboard-card{background:#102033;border-radius:24px;box-shadow:0 20px 60px #10203329;color:#fff;padding:32px}.dashboard-header{align-items:flex-start;display:flex;justify-content:space-between;gap:24px;margin-bottom:28px}h2{font-size:30px;line-height:1.2;margin:0}.tenant-pill{background:#ffffff1f;border:1px solid rgb(255 255 255 / 18%);border-radius:999px;color:#d9e8ff;font-size:13px;font-weight:700;padding:8px 12px}.metric-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:#ffffff17;border:1px solid rgb(255 255 255 / 12%);border-radius:18px;padding:20px}.metric-card-accent{background:#1677ff}.metric-card p{color:#c4d5e9;font-size:14px;margin-bottom:10px}.metric-card strong{display:block;font-size:34px;line-height:1}.action-link{color:#9dccff;display:inline-block;font-weight:700;margin-top:24px;text-decoration:none}.state-text{color:#c4d5e9;font-size:16px}.state-text.error{color:#ffb4b4}.state-text.dark{color:#516175}.brief-meta{color:#516175;display:flex;flex-wrap:wrap;font-size:14px;gap:10px;margin:18px 0 24px}.brief-meta span{background:#eef3f8;border-radius:999px;padding:6px 10px}.brief-list{margin-top:20px}.brief-list h3{font-size:16px;margin:0 0 10px}.brief-list ul{color:#36485c;line-height:1.6;margin:0;padding-left:20px}.brief-list li+li{margin-top:8px}.section-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:20px}.section-header h2,.section-header p{margin:0}.section-header p{color:#516175;font-size:15px;margin-top:8px}.soft-pill,.badge{border-radius:999px;display:inline-flex;font-size:13px;font-weight:800;line-height:1;padding:8px 10px;white-space:nowrap}.soft-pill{background:#eef3f8;color:#516175}.badge{background:#e8f3ff;color:#1677ff}.badge-high,.job-failed{background:#fff1f0;color:#cf1322}.badge-medium,.job-running{background:#fff7e6;color:#d46b08}.job-succeeded{background:#f6ffed;color:#389e0d}.job-pending{background:#eef3f8;color:#516175}.table-like{border:1px solid #e5edf5;border-radius:18px;overflow:hidden}.table-row{align-items:center;display:grid;gap:16px;grid-template-columns:1.5fr 1fr .8fr .8fr .9fr .8fr;padding:16px 18px}.job-row,.table-row+.table-row{border-top:1px solid #e5edf5}.job-row{grid-template-columns:.8fr 1.1fr .7fr 1fr 1.4fr}.table-head{background:#f6f9fc;color:#516175;font-size:13px;font-weight:800}.table-row small{color:#6b7f94;display:block;font-size:13px;margin-top:4px}.text-link{color:#1677ff;font-weight:800;text-decoration:none}.detail-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.dark-panel{background:#102033;color:#fff}.dark-panel p{color:#d9e8ff}.detail-actions{display:flex;gap:12px;margin-top:24px}button{background:#1677ff;border:0;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;padding:11px 16px}.secondary-button{background:#ffffff1f}.description-list{display:grid;gap:14px;margin:18px 0 0}.description-list div{border-bottom:1px solid #e5edf5;padding-bottom:12px}.dark-panel .description-list div{border-bottom-color:#ffffff1f}.description-list dt{color:#6b7f94;font-size:13px;font-weight:800}.description-list dd{font-size:18px;font-weight:800;margin:6px 0 0}.timeline{border-left:2px solid #cfe0f2;line-height:1.7;margin:0;padding-left:22px}.timeline li+li{margin-top:12px}.summary-strip,.cards-grid{display:grid;gap:16px}.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.report-summary{margin-bottom:16px}.summary-item,.mini-card{background:#fff;border:1px solid #dce6f1;border-radius:18px;padding:20px}.summary-item span{color:#6b7f94;display:block;font-weight:700}.summary-item strong{display:block;font-size:30px;margin-top:8px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-card-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.mini-card p{color:#516175;font-size:15px;margin-top:12px}.mini-card small{color:#6b7f94;display:block;margin-top:14px}.report-layout{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:16px}.report-card{border-radius:8px}.report-toolbar{align-items:end}.bar-list,.ranking-list{display:grid;gap:12px;margin-top:18px}.bar-row{display:grid;gap:8px}.bar-row div{align-items:center;display:flex;gap:12px;justify-content:space-between}.bar-row span,.ranking-row span{font-size:15px;font-weight:800}.bar-row small{margin:0}.bar-row i{background:#1677ff;border-radius:999px;display:block;height:10px}.ranking-row{align-items:center;border-bottom:1px solid #e5edf5;display:grid;gap:12px;grid-template-columns:32px minmax(0,1fr) 64px 96px;padding-bottom:12px}.ranking-row strong{align-items:center;background:#eef3f8;border-radius:999px;display:inline-flex;height:28px;justify-content:center;width:28px}.ranking-row small{margin:0}.ranking-row b{text-align:right}.trend-chart{align-items:end;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));margin-top:18px;min-height:136px}.trend-point{align-items:center;display:grid;gap:6px;justify-items:center}.trend-point span{align-self:end;background:#1677ff;border-radius:999px 999px 4px 4px;display:block;width:16px}.trend-point small{color:#6b7f94;font-size:11px;margin:0}.trend-point b{font-size:12px}.mini-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.mini-metrics span{background:#eef3f8;border-radius:999px;font-size:13px;font-weight:800;padding:6px 10px}.settings-actions,.row-actions,.bulk-actions{align-items:center;display:flex;gap:10px}.icon-button{align-items:center;aspect-ratio:1;background:#eef3f8;color:#1677ff;display:inline-flex;font-size:16px;justify-content:center;padding:0;width:40px}.danger-button{background:#fff1f0;color:#cf1322}button:disabled{cursor:not-allowed;opacity:.45}.secondary-action{background:#eef3f8;color:#102033}.settings-toolbar{align-items:flex-end;border:1px solid #e5edf5;border-radius:18px;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:14px}.settings-toolbar label{color:#516175;display:grid;font-size:13px;font-weight:800;gap:6px}.settings-toolbar select{background:#fff;border:1px solid #cfe0f2;border-radius:12px;color:#102033;font:inherit;min-width:140px;padding:10px 12px}.settings-toolbar input{background:#fff;border:1px solid #cfe0f2;border-radius:12px;color:#102033;font:inherit;min-width:150px;padding:10px 12px}.template-fields{color:#102033;font-size:14px;font-weight:700}.button-with-icon{align-items:center;display:inline-flex;gap:8px}.button-with-icon:disabled{background:#c7d3df;cursor:not-allowed}.lock-chip{background:#f5c5422e;border:1px solid rgb(245 197 66 / 48%);border-radius:999px;color:#f6d36e;display:inline-flex;font-size:13px;font-weight:800;padding:7px 12px}.lock-chip.locked{background:#43a0472e;border-color:#43a0477a;color:#9be49f}.capture-preview-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.capture-preview{border:1px solid #e5edf5;border-radius:8px;margin:0;overflow:hidden}.capture-preview img{aspect-ratio:16 / 9;background:#102033;display:block;object-fit:cover;width:100%}.capture-preview figcaption{align-items:flex-start;display:grid;gap:4px;padding:12px 14px}.capture-preview figcaption span,.capture-preview figcaption small{color:#6b7f94;font-size:13px}.archive-form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(220px,1fr))}.archive-form label{color:#516175;display:grid;font-size:13px;font-weight:800;gap:6px}.archive-form input,.archive-form select,.archive-form textarea{background:#fff;border:1px solid #cfe0f2;border-radius:8px;color:#102033;font:inherit;padding:10px 12px}.archive-form textarea{resize:vertical}.archive-form input:disabled,.archive-form select:disabled,.archive-form textarea:disabled{background:#f3f6f9;color:#6b7f94}.archive-note,.archive-form .form-error,.archive-form button{grid-column:1 / -1}.form-error{color:#cf1322;font-weight:800;margin:0}.archive-form button:disabled{background:#c7d3df;cursor:not-allowed}.compact-filter{color:#516175;display:grid;font-size:13px;font-weight:800;gap:6px;min-width:180px}.compact-filter select{background:#fff;border:1px solid #cfe0f2;border-radius:12px;color:#102033;font:inherit;padding:10px 12px}.order-table .table-row,.capture-table .table-row{grid-template-columns:minmax(180px,1fr) .55fr minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr)}.settings-table{border:1px solid #e5edf5;border-radius:18px;overflow:hidden}.settings-row{align-items:center;display:grid;gap:16px;padding:16px 18px}.settings-row+.settings-row{border-top:1px solid #e5edf5}.settings-head{background:#f6f9fc;color:#516175;font-size:13px;font-weight:800}.lot-table .settings-row{grid-template-columns:minmax(240px,1.4fr) .8fr .8fr .5fr .5fr}.camera-table .settings-row{grid-template-columns:56px minmax(260px,1.4fr) .8fr .45fr .55fr .55fr .55fr}.billing-table .settings-row{grid-template-columns:minmax(220px,1.1fr) minmax(220px,1.2fr) minmax(160px,.8fr) .45fr .45fr .45fr}.billing-log-table .settings-row{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) .55fr .45fr .65fr .5fr}.receipt-import-table .settings-row{grid-template-columns:minmax(240px,1.4fr) .55fr .6fr .45fr minmax(180px,.8fr)}.receipt-row-table .settings-row{grid-template-columns:minmax(220px,1.2fr) .8fr .6fr .55fr .45fr}.subsection-title{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:24px 0 12px}.subsection-title h3{font-size:20px;margin:0}.settings-row small{color:#6b7f94;display:block;font-size:13px;line-height:1.5;margin-top:4px}.row-check{align-items:center;display:inline-flex}.row-check input{height:18px;width:18px}.status-chip{align-items:center;display:inline-flex;font-size:13px;font-weight:800;gap:7px}.status-chip i{border-radius:999px;display:inline-block;height:8px;width:8px}.status-online{color:#389e0d}.status-online i{background:#52c41a}.status-offline{color:#cf1322}.status-offline i{background:#ff4d4f}.status-unknown{color:#6b7f94}.status-unknown i{background:#b7c6d8}@media (max-width: 1100px){.admin-shell,.dashboard-grid,.detail-grid{flex-direction:column;grid-template-columns:1fr}.admin-shell{display:block}.sidebar{border-radius:0 0 24px 24px;flex:none}.main-nav{flex-flow:row wrap}.summary-strip,.report-layout,.cards-grid,.archive-form{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-row,.job-row,.lot-table .settings-row,.camera-table .settings-row,.receipt-import-table .settings-row,.receipt-row-table .settings-row{grid-template-columns:1fr}}
