:root{color-scheme:dark;--bg: #08090b;--sidebar: #111216;--panel: #121316;--panel-soft: #1a1b20;--line: #24252b;--text: #f5f6fb;--muted: #a0a2aa;--purple: #6570d9;--blue: #6876ff;--green: #45d18b;--yellow: #ffd54a;--red: #ff5161;--sidebar-width: 360px;--page-x: 36px;--page-y: 38px;--topbar-height: 86px;--ui-scale: 1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #7d86ff;outline-offset:2px}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}.login-card{width:min(460px,100%);border:2px solid var(--line);border-radius:12px;background:var(--panel);padding:32px}.login-brand{padding:0 0 26px;justify-content:center}.login-card h1{margin:0 0 24px;font-size:36px}.form-error{color:var(--red);font-weight:800;margin:-12px 0 18px}.login-hint{color:var(--muted);margin:16px 0 0;font-size:16px}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--sidebar);padding:calc(28px * var(--ui-scale)) 12px 10px}.brand{display:flex;align-items:center;gap:calc(10px * var(--ui-scale));padding:0 12px calc(38px * var(--ui-scale))}.brand-logo{width:calc(58px * var(--ui-scale));height:calc(58px * var(--ui-scale));flex:0 0 auto;border-radius:50%;object-fit:cover}.brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1}.brand-copy strong{color:#fff;font-size:calc(25px * var(--ui-scale));font-weight:900;letter-spacing:-.03em}.brand-copy small{margin-top:6px;color:#a6a8af;font-size:calc(16px * var(--ui-scale))}.login-brand .brand-logo{width:86px;height:86px}.login-brand .brand-copy strong{color:var(--text);font-size:32px}.login-brand .brand-copy small{font-size:18px}nav{overflow-y:auto;overflow-x:hidden;padding-right:8px}nav::-webkit-scrollbar,body::-webkit-scrollbar{width:14px}nav::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:#777;border-radius:999px;border:4px solid transparent;background-clip:content-box}nav button{width:100%;height:calc(54px * var(--ui-scale));border:0;border-radius:7px;display:flex;align-items:center;gap:14px;padding:0 16px;margin-bottom:3px;background:transparent;color:#b9bbc2;font-size:calc(22px * var(--ui-scale));font-weight:700;text-align:left}nav button.active,nav button:hover{background:#2a2b32;color:#fff}.nav-section{margin:calc(34px * var(--ui-scale)) 16px calc(16px * var(--ui-scale));color:#777982;font-size:calc(18px * var(--ui-scale));font-weight:800;text-transform:uppercase}.profile-mini{min-width:0;margin-top:auto;padding:18px 6px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}.avatar{width:calc(48px * var(--ui-scale));height:calc(48px * var(--ui-scale));border-radius:50%;display:grid;place-items:center;flex:none;background:#202126;font-weight:800}.avatar.big{width:60px;height:60px}.profile-mini strong{display:block;max-width:238px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(20px * var(--ui-scale))}.profile-mini span{color:var(--muted);font-size:calc(18px * var(--ui-scale))}.content{min-width:0}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 var(--page-x)}.topbar h1{margin:0;font-size:calc(22px * var(--ui-scale))}.page{padding:var(--page-y) var(--page-x) 80px;max-width:1500px}h2{margin:0 0 12px;font-size:calc(38px * var(--ui-scale))}h3{margin:calc(44px * var(--ui-scale)) 0 calc(20px * var(--ui-scale));font-size:calc(26px * var(--ui-scale))}h4{margin:0 0 16px;font-size:calc(22px * var(--ui-scale))}.muted,.empty{color:var(--muted);font-size:calc(21px * var(--ui-scale))}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:calc(16px * var(--ui-scale));margin-top:calc(44px * var(--ui-scale))}.stat-card{min-height:calc(138px * var(--ui-scale));border:2px solid var(--line);border-radius:11px;background:#111214;padding:calc(28px * var(--ui-scale)) calc(26px * var(--ui-scale))}.stat-card span{display:block;color:var(--muted);font-size:calc(22px * var(--ui-scale));font-weight:700}.stat-card strong{display:block;margin-top:10px;color:var(--muted);font-size:calc(39px * var(--ui-scale))}.stat-card .blue{color:var(--blue)}.stat-card .green{color:var(--green)}.stat-card .yellow{color:var(--yellow)}.stat-card .red{color:var(--red)}.muted-grid{margin-top:18px}.muted-grid .stat-card{border-style:dashed}.quick-actions{display:flex;gap:18px;margin:calc(40px * var(--ui-scale)) 0 calc(18px * var(--ui-scale))}.primary,.secondary,.link-button{min-height:calc(58px * var(--ui-scale));border-radius:8px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;font-size:22px;font-weight:800}.primary.purple{background:var(--purple);color:#fff}.secondary{background:#101114;color:#fff;border:1px solid var(--line)}.link-button{min-height:42px;background:transparent;color:var(--muted);padding:0}.wide{width:100%}.table-card,.filters-panel,.request-card,.profile-card,.report-panel,.placeholder-card{border:2px solid var(--line);border-radius:11px;background:var(--panel)}.table-card{overflow:hidden}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:calc(20px * var(--ui-scale)) calc(18px * var(--ui-scale));border-bottom:1px solid var(--line);color:#bbbcc3;text-align:left;font-size:calc(20px * var(--ui-scale));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th{color:#8d8f97;font-weight:800}.recent-requests-table th:nth-child(1),.recent-requests-table td:nth-child(1){width:10%}.recent-requests-table th:nth-child(2),.recent-requests-table td:nth-child(2){width:45%}.recent-requests-table th:nth-child(3),.recent-requests-table td:nth-child(3){width:10%}.recent-requests-table th:nth-child(4),.recent-requests-table td:nth-child(4){width:15%}.recent-requests-table th:nth-child(5),.recent-requests-table td:nth-child(5){width:20%;text-overflow:clip}.requests-table th:last-child,.requests-table td:last-child{width:215px;text-overflow:clip}tr.clickable-row{cursor:pointer}tr.clickable-row:hover td{background:#181a20;color:#fff}td b{color:#f4f5fa}.pill,.role-pill{display:inline-flex;min-height:calc(36px * var(--ui-scale));align-items:center;border-radius:999px;padding:0 16px;background:#202126;color:#f3f4f8;font-weight:800;font-size:calc(16px * var(--ui-scale))}.pill.green{background:#123123;color:var(--green)}.pill.yellow{background:#302b10;color:var(--yellow)}.pill.red{background:#35151a;color:var(--red)}.pill.blue{background:#1b2041;color:#9ea7ff}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.form-page{max-width:none;display:flex;justify-content:center}.request-card{width:min(1010px,100%);padding:26px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.card-heading h2{font-size:26px}label{display:grid;gap:10px;margin-bottom:32px;color:#c7c8cf;font-size:calc(22px * var(--ui-scale));font-weight:700}input,select,textarea{height:calc(60px * var(--ui-scale));border:1px solid var(--line);border-radius:8px;background:#151519;color:#fff;padding:0 18px;font-size:calc(22px * var(--ui-scale));font-weight:700}.compact-label input{width:192px}.summary-card{display:grid;grid-template-columns:1fr 1fr;gap:26px;border:1px solid var(--line);border-radius:8px;padding:26px 24px;background:#151519}.request-detail-page{max-width:none}.back-button{margin-bottom:28px}.request-title-row{display:flex;align-items:center;gap:14px;margin-bottom:26px}.request-title-row h2{margin:0}.request-detail-card,.admin-status-card{border:2px solid var(--line);border-radius:10px;background:var(--panel);padding:18px;margin-bottom:26px}.request-detail-card h3,.admin-status-card h3{margin:0 0 20px;font-size:22px}.request-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 64px}.request-notes{margin-top:28px}.request-notes>span{display:block;color:var(--muted);font-weight:800;margin-bottom:10px}.note-pill{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;background:#202126;color:#f5f6fb;padding:0 12px;margin:0 8px 8px 0;font-size:14px;font-weight:800}.qr-preview{width:104px;height:104px;border-radius:8px;background:#fff;display:grid;place-items:center;padding:8px}.qr-preview img{width:100%;height:100%}.box-tabs{display:flex;flex-wrap:wrap;gap:10px}.box-tabs button{min-height:34px;border:0;border-radius:999px;background:#202126;color:#f5f6fb;padding:0 14px;font-weight:800}.box-tabs button.active{background:#252b62;color:#7f8cff}.active-box-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:center;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.active-box-card span{display:block;color:var(--muted);font-size:16px;font-weight:800}.active-box-card h3{margin:4px 0 8px;overflow-wrap:anywhere;font-size:24px}.active-box-card p{margin:0;color:var(--muted);font-size:18px}.participants-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.participants-grid .info{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#1c1d22;border-radius:5px;padding:8px 12px}.participants-grid .info span,.participants-grid .info b{margin:0;font-size:16px}.status-history-list{display:grid;gap:18px}.status-history-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px}.status-dot{width:14px;height:14px;border:3px solid var(--blue);border-radius:50%;margin-top:8px}.status-history-item p{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 4px}.status-history-item small,.status-history-item em{display:block;color:var(--muted);font-style:normal;margin-top:4px}.status-arrow{color:var(--muted)}.admin-status-card{border-color:#5c4610}.admin-status-card h3{color:var(--yellow)}.admin-status-card textarea{min-height:84px;resize:vertical;border:1px solid var(--line);border-radius:8px;background:#151519;color:#fff;padding:14px 18px;font:inherit;font-size:18px}.danger-button{min-height:48px;border:0;border-radius:7px;background:#4b1d21;color:var(--red);padding:0 14px;font-weight:900}.danger-button:disabled{opacity:.45;cursor:default}.request-actions-card p{color:var(--muted);font-weight:800}.request-action-buttons{display:flex;flex-wrap:wrap;gap:10px}.danger-text{color:var(--red)!important;border-top:1px solid var(--line);padding-top:16px}.summary-card span,.info span{display:block;color:var(--muted);font-size:18px;margin-bottom:8px}.summary-card b,.info b{display:block;font-size:calc(22px * var(--ui-scale))}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:36px}.note{height:calc(68px * var(--ui-scale));border:1px solid var(--line);border-radius:7px;background:#121316;color:#d3d5dc;display:flex;align-items:center;gap:12px;padding:0 18px;font-size:calc(22px * var(--ui-scale));font-weight:800}.note.active{border-color:var(--purple);background:#20224a}.check{width:24px;height:24px;border:1px solid var(--line);border-radius:6px;background:#191a1f}.note.active .check{background:var(--purple)}.note-icon{min-width:24px;text-align:center}.filters-panel{padding:18px 24px 0;margin-bottom:28px}.filters-grid,.directory-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.filters-grid label,.directory-filters label{margin-bottom:18px}.filters-grid .period-label{grid-column:span 2;min-width:430px}.filters-grid .period{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);gap:12px;align-items:center}.filters-grid .period input{min-width:180px}.filters-panel p{border-top:1px solid var(--line);margin:6px -24px 0;padding:18px 24px;color:var(--muted);font-size:22px}.input-icon{height:54px;border:1px solid var(--line);border-radius:8px;background:#151519;display:flex;align-items:center;gap:12px;padding:0 14px}.input-icon input{height:auto;border:0;background:transparent;padding:0;min-width:0}.scan-page{max-width:none;display:flex;justify-content:center}.scan-center{width:760px;text-align:center;padding-top:28px}.camera-box{position:relative;width:576px;height:576px;margin:38px auto 22px;background:#000;border-radius:11px;overflow:hidden}#qr-reader{width:100%;min-height:100%}.camera-button{position:absolute;top:18px;left:50%;transform:translate(-50%);width:50px;height:50px;border:0;border-radius:7px;color:#fff;background:#2a263b;display:grid;place-items:center;z-index:2}.corner{position:absolute;width:30px;height:30px;border-color:#fff;border-style:solid}.tl{top:54px;left:54px;border-width:4px 0 0 4px}.tr{top:54px;right:54px;border-width:4px 4px 0 0}.bl{bottom:54px;left:54px;border-width:0 0 4px 4px}.br{bottom:54px;right:54px;border-width:0 4px 4px 0}.manual-scan{display:grid;grid-template-columns:1fr auto;gap:12px;margin:0 auto;width:576px}.manual-scan.single{grid-template-columns:1fr}.scan-message{color:var(--muted);font-size:18px}.request-pagination{display:flex;align-items:center;gap:16px;padding:22px 0 0;color:var(--muted);font-size:15px}.pagination-range{white-space:nowrap}.page-size-control{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--text)}.page-size-control select{min-width:120px;height:38px;padding:0 30px 0 12px;font-weight:600}.pagination-pages{display:flex;align-items:center;gap:8px}.pagination-pages button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:#151519;color:var(--text);font:inherit;font-weight:600}.pagination-pages button:hover:not(:disabled){border-color:var(--purple)}.pagination-pages button.active{background:var(--purple);border-color:var(--purple);color:#fff}.pagination-pages button:disabled{opacity:.4;cursor:default}.pagination-pages span{padding:0 4px}textarea{min-height:112px;height:auto;padding:14px 18px;resize:vertical;font-family:inherit}.scan-result-panel{width:min(620px,100%);margin:48px auto;padding:30px;border:2px solid var(--line);border-radius:10px;background:var(--panel)}.scan-result-panel h2{margin:8px 0 18px;overflow-wrap:anywhere}.scan-result-info{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin:26px 0;padding:22px;border:1px solid var(--line);border-radius:8px;background:#151519}.scan-result-info .info b{overflow-wrap:anywhere}.scan-result-actions{display:flex;flex-wrap:wrap;gap:14px}.scan-result-actions button{flex:1 1 220px}.page-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.select-cell{width:52px;padding-left:12px;padding-right:12px;text-align:center;text-overflow:clip}.select-cell input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;inline-size:20px;block-size:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;padding:0;margin:0;border:2px solid #777982;border-radius:0;background-color:#000;background-repeat:no-repeat;background-position:center;background-size:12px 12px;overflow:hidden;outline:0;box-shadow:none;vertical-align:middle;cursor:pointer}.select-cell input:checked{border-color:var(--purple);background-color:var(--purple);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.modal-form textarea{min-height:110px;resize:vertical}.defect-preview{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:#f3f3f5}.defects-page .page-head>div:first-child{min-width:0}.defects-page .page-head h2{margin-bottom:8px}.defects-page .page-head p{margin:0}.defects-table th:nth-child(1){width:15%}.defects-table th:nth-child(2){width:12%}.defects-table th:nth-child(3){width:18%}.defects-table th:nth-child(4){width:15%}.defects-table th:nth-child(6){width:12%}.defect-comment{white-space:normal;overflow-wrap:anywhere}.defects-table .details-button{display:inline-flex;align-items:center;gap:7px}.defect-photo-modal{width:min(920px,calc(100vw - 32px))}.defect-photo-modal header{align-items:flex-start}.defect-photo-modal header p{margin:8px 0 0;color:var(--muted);font-size:15px}.defect-full-photo{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:8px;background:#08090b}.help-page{max-width:720px;min-height:320px;margin:0 auto;display:grid;place-content:center;justify-items:center;text-align:center}.help-page h2{margin:16px 0 4px}.box-control{width:min(920px,100%);margin:28px auto 0;border:2px solid var(--line);border-radius:11px;background:var(--panel);padding:24px;text-align:left}.box-control-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.box-control-head span:first-child{color:var(--muted);font-weight:800}.box-control-head h3{margin:6px 0 0;font-size:26px}.box-info-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:22px;margin:24px 0}.status-actions{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.scan-box-control .status-actions{grid-template-columns:1fr}.status-button{min-height:48px;border:1px solid var(--line);border-radius:8px;background:#15161b;color:#d7d9e1;font-weight:800}.status-button.active{background:var(--purple);color:#fff;border-color:var(--purple)}.status-button.primary-step{background:var(--purple);color:#fff;border-color:var(--purple);font-weight:900}.status-button:disabled{cursor:not-allowed;opacity:.65}.box-notes{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.box-notes span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#15161b;color:#d7d9e1;font-weight:800}.profile-page{max-width:none;padding-left:68px;padding-right:60px}.profile-card{padding:26px;margin-bottom:32px}.profile-title{display:flex;align-items:center;gap:24px;margin-bottom:28px}.profile-title h2{font-size:30px;margin-bottom:4px}.profile-title p{color:var(--muted);margin:0;font-size:21px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 70px;margin-bottom:40px}.profile-role b{display:flex;align-items:center;min-height:calc(40px * var(--ui-scale));padding-top:calc(4px * var(--ui-scale))}.actions{display:flex;align-items:center;gap:18px}.users-table th:last-child,.users-table td:last-child{width:190px}.note-types-table th:last-child,.note-types-table td:last-child{width:150px}.actions button{width:28px;height:28px;display:grid;place-items:center;color:#fff;background:transparent;border:0;padding:0}.actions svg{width:24px;height:24px}.share-glyph{font-size:24px}.subtle-cell{display:block;margin-top:4px;color:var(--muted);font-size:15px}.user-form{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;align-items:end;gap:14px;border:2px solid var(--line);border-radius:11px;background:var(--panel);padding:18px;margin-bottom:24px}.user-form label{margin:0;font-size:16px}.user-form input,.user-form select{height:46px;font-size:16px}.user-form .primary{min-height:46px;font-size:16px}.icon-danger{color:var(--red)}.icon-green{color:var(--green)}.toggle{width:38px;height:22px;border:0;border-radius:999px;background:#3c3d44;padding:3px;vertical-align:middle}.toggle span{display:block;width:16px;height:16px;border-radius:50%;background:#d7d8de;transition:transform .16s ease}.toggle.on{background:var(--green)}.toggle.on span{transform:translate(16px);background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.modal{width:min(420px,100%);border:1px solid #34353c;border-radius:9px;background:#111216;box-shadow:0 24px 90px #0000008c;padding:18px}.modal header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.modal h3{margin:0;font-size:19px}.icon-button{display:grid;width:30px;height:30px;place-items:center;border:0;background:transparent;color:#fff}.modal-form{display:grid;gap:14px}.modal-form label{margin:0;font-size:14px}.modal-form input,.modal-form select{margin-top:6px;min-height:42px;font-size:15px}.modal-note{margin:0;font-size:14px}.modal-actions{display:flex;justify-content:end;gap:10px;margin-top:8px}.centered-list{max-width:1240px;margin:0 auto}.table-card.medium{max-width:1156px;margin:0 auto}.directory-filters{grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(180px,1fr));margin:28px 0 34px}.reports-page .page-head{margin-bottom:34px}.report-panel{padding:26px;margin-bottom:32px}.report-panel .stats-grid{margin-top:26px}.report-controls{display:flex;flex-wrap:wrap;gap:24px;align-items:end}.report-controls label{width:280px;margin-bottom:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.report-results{padding-top:0}.report-results h3{margin:0;padding:26px 26px 18px}.analytics-periods{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:26px 0 24px}.analytics-periods button{min-height:38px;border:0;border-radius:6px;color:var(--muted);background:transparent;padding:0 14px;font-size:calc(17px * var(--ui-scale));font-weight:700}.analytics-periods button.active{color:#fff;background:var(--purple)}.analytics-periods input{width:150px;min-height:40px;margin:0;font-size:15px}.compact{min-height:40px;padding:0 14px;font-size:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin-bottom:20px}.metric-card{min-height:112px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:20px}.metric-card span,.metric-card i{display:block;color:var(--muted);font-style:normal;font-size:14px}.metric-card strong{display:block;margin:10px 0;font-size:29px;color:#fff}.metric-card .green{color:var(--green)}.metric-card .red{color:var(--red)}.metric-card .blue{color:var(--blue)}.analytics-section{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px;margin-bottom:20px}.analytics-section h3,.chart-card h3{margin:0;color:#858991;text-transform:uppercase;font-size:14px}.analytics-section .stats-grid{grid-template-columns:repeat(5,1fr);margin-top:16px;gap:10px}.analytics-section .stat-card{min-height:76px;padding:14px;border:0;border-radius:5px;background:#1d1e23}.analytics-section .stat-card span{font-size:14px}.analytics-section .stat-card strong{margin-top:5px;font-size:24px}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:16px}.chart-card{min-height:300px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px;overflow:hidden}.chart-card.wide{grid-column:span 2;min-height:280px}.empty-chart{display:grid;min-height:210px;place-items:center;color:var(--muted);font-size:15px}.activity-chart{display:flex;align-items:end;gap:14px;min-height:225px;padding:28px 10px 0;border-bottom:1px dashed #26272c}.chart-column{display:grid;flex:1;min-width:38px;gap:8px;align-items:end}.chart-column span{color:var(--muted);font-size:11px;white-space:nowrap;text-align:center}.bar-stack{position:relative;height:172px}.bar-stack i,.bar-stack b{position:absolute;right:0;bottom:0;left:0;display:block;width:100%;min-height:3px;border-radius:2px 2px 0 0}.bar-stack i{z-index:1;background:var(--green)}.bar-stack b{z-index:2;background:#a5a6aa}.donut-layout{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;min-height:235px}.donut{width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:96px;aspect-ratio:1;border-radius:50%;background:var(--panel)}.donut span{position:relative;z-index:1;color:#fff;font-size:22px;font-weight:800}.donut-legend{display:grid;gap:11px}.donut-legend div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:14px}.donut-legend i{width:9px;height:9px;border-radius:50%}.donut-legend span{color:#d9dae0}.donut-legend b{color:#fff}.horizontal-bars{display:grid;gap:10px;margin-top:20px}.horizontal-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(90px,3fr) 38px;align-items:center;gap:12px}.horizontal-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ddd;font-size:13px}.horizontal-row>div,.funnel i{display:block;height:20px;overflow:hidden;border-radius:3px;background:#1e1f24}.horizontal-row i{display:block;height:100%;border-radius:3px;background:var(--green)}.horizontal-bars.blue i{background:var(--blue)}.horizontal-bars.red i{background:var(--red)}.horizontal-row b{color:#fff;font-size:13px;text-align:right}.funnel{display:grid;gap:14px;margin-top:22px}.funnel>div{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.funnel span{color:#ddd;font-size:14px}.funnel b{color:#fff;font-size:14px}.funnel i{grid-column:span 2;height:24px}.funnel em{display:block;min-width:3px;height:100%;border-radius:3px}.delivery-line{min-height:220px;position:relative;border-bottom:1px dashed #26272c;background:repeating-linear-gradient(to right,transparent 0 19%,#202126 20%),repeating-linear-gradient(to bottom,transparent 0 24%,#202126 25%)}.delivery-line-path{position:absolute;top:18px;right:0;bottom:0;left:0;background:#6969e73d;border-top:2px solid var(--blue)}.delivery-line span{position:absolute;left:14px;top:14px;color:#d9dae0;font-size:14px}.daily-page{max-width:980px;margin:0 auto}.daily-filter{display:flex;align-items:end;gap:18px;padding:20px}.daily-filter label{width:200px;margin:0}.daily-filter input{margin-top:8px}.daily-card{border:2px solid var(--line);border-radius:11px;background:var(--panel);padding:18px}.daily-card h3{margin:0 0 16px;font-size:21px}.daily-card ol{margin:0;padding:0;list-style-position:inside}.daily-card li{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,42%);gap:18px;padding:18px 0;border-bottom:1px solid var(--line);color:#e6e7eb;font-size:16px}.daily-card li:last-child{border-bottom:0}.daily-card li b{text-align:right;color:#fff}.audit-filters{display:grid;grid-template-columns:1.1fr 1.2fr repeat(2,.9fr) auto auto;gap:16px;padding:18px;margin:24px 0;align-items:end}.audit-filters label{margin:0;font-size:14px}.audit-filters input,.audit-filters select{margin-top:8px;min-height:42px;font-size:14px}.audit-filters .primary,.audit-filters .secondary{min-height:42px;font-size:14px}.audit-table td,.audit-table th{font-size:14px;padding:14px 12px}.audit-action{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;padding:4px 7px;border-radius:3px;background:#1f2025}.details-button{border:0;background:transparent;color:var(--blue);font-size:13px;white-space:nowrap}.audit-detail{display:flex;flex-wrap:wrap;align-items:end;gap:18px;border:1px solid var(--line);border-radius:8px;background:#15161a;padding:18px;margin-top:16px}.audit-detail div{display:grid;gap:5px;min-width:180px}.audit-detail span{color:var(--muted);font-size:13px}.audit-detail b{color:#fff;font-size:14px}.placeholder-page{display:grid;place-items:center;min-height:620px}.placeholder-card{width:min(720px,100%);padding:34px}.toast{position:fixed;right:26px;bottom:26px;background:#1e2130;color:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 20px;font-size:18px;box-shadow:0 18px 60px #00000059}.loading-bar{position:fixed;left:50%;bottom:26px;transform:translate(-50%);border:1px solid var(--line);border-radius:999px;background:#1e2130;color:#fff;padding:12px 18px;font-weight:800;box-shadow:0 18px 60px #00000059}.empty-panel{border:2px dashed var(--line);border-radius:11px;color:var(--muted);background:#101114;padding:28px;font-size:20px}.labels-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}.qr-label{min-height:142px;display:flex;gap:14px;align-items:center;background:#fff;color:#111;border-radius:8px;padding:12px;break-inside:avoid}.qr-label img{width:112px;height:112px}.qr-label b,.qr-label span{display:block}.qr-label b{font-size:16px}.qr-label span{margin-top:8px;font-weight:700}.print-template-picker{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px;padding:0;border:0}.print-template-picker legend{width:100%;margin-bottom:8px;color:var(--muted);font-weight:800}.print-template-picker label{min-width:250px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer}.print-template-picker label.active{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple)}.print-template-picker input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.print-template-picker span,.print-template-picker b,.print-template-picker small{display:block}.print-template-picker small{margin-top:4px;color:var(--muted)}.labels-sheet-large{display:block}.qr-label-large{min-height:min(70vh,900px);flex-direction:column;justify-content:center;text-align:center;margin-bottom:24px}.qr-label-large img{width:min(65vw,560px);height:min(65vw,560px)}.qr-label-large b{font-size:28px}.qr-label-large span{font-size:20px}.mobile-shell{display:block;min-height:100vh;min-height:100dvh;overflow-x:clip}.mobile-content{min-width:0;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.mobile-topbar{position:sticky;top:0;z-index:30;min-height:calc(64px + env(safe-area-inset-top));display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;padding:env(safe-area-inset-top) 6px 0;border-bottom:1px solid var(--line);background:#111216f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-topbar button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text)}.mobile-topbar h1{min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:19px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-topbar>img{justify-self:center;width:38px;height:38px;border-radius:50%;object-fit:cover}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;height:calc(68px + env(safe-area-inset-bottom));display:flex;overflow:hidden;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#111216fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-bottom-nav button{min-width:0;height:68px;flex:1 1 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;margin:0;padding:7px 2px 6px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;line-height:1;text-align:center}.mobile-bottom-nav button.active{background:#6570d91a;color:#929aff}.mobile-bottom-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-drawer{width:min(340px,88vw);height:100vh;height:100dvh;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#111216;box-shadow:24px 0 60px #00000080}.mobile-drawer>header{min-height:calc(76px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 12px 12px;border-bottom:1px solid var(--line)}.mobile-drawer>header .brand{min-width:0;padding:0}.mobile-drawer>header .brand-logo{width:46px;height:46px}.mobile-drawer>header .brand-copy strong{font-size:20px}.mobile-drawer>header .brand-copy small{font-size:13px}.mobile-drawer>header>button{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text)}.mobile-drawer>nav{flex:1;overflow-y:auto;padding:12px 8px}.mobile-drawer>nav button{min-height:46px;height:auto;margin:0 0 3px;padding:10px 12px;font-size:15px}.mobile-drawer .nav-section{margin:22px 12px 10px;font-size:12px}.mobile-drawer-user{min-width:0;display:flex;align-items:center;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-drawer-user strong,.mobile-drawer-user span{display:block}.mobile-drawer-user strong{max-width:220px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-user span{margin-top:3px;color:var(--muted);font-size:12px}.mobile-content .page{max-width:none;padding:22px 14px 34px}.mobile-content .page-head{align-items:stretch;flex-direction:column;margin-bottom:20px}.mobile-content .page-head-actions{align-items:stretch}.mobile-content .page-head-actions button{justify-content:center}.mobile-content h2{font-size:28px;line-height:1.2}.mobile-content h3{font-size:21px}.mobile-content .muted{font-size:16px}.mobile-content .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.mobile-content .stat-card{min-height:104px;padding:18px 14px}.mobile-content .stat-card span{font-size:15px}.mobile-content .stat-card strong{font-size:28px}.mobile-content .quick-actions{align-items:stretch;flex-direction:column}.mobile-content .quick-actions button{justify-content:center}.mobile-content .filters-grid,.mobile-content .directory-filters,.mobile-content .summary-card,.mobile-content .notes-grid,.mobile-content .profile-grid,.mobile-content .box-info-grid,.mobile-content .status-actions,.mobile-content .user-form,.mobile-content .request-detail-grid,.mobile-content .participants-grid{grid-template-columns:1fr}.mobile-content .filters-grid .period-label{grid-column:auto;min-width:0}.mobile-content input,.mobile-content select,.mobile-content textarea{min-width:0;max-width:100%;font-size:16px}.mobile-content .table-card{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-content table{min-width:720px}.mobile-content .request-card,.mobile-content .request-detail-card,.mobile-content .admin-status-card,.mobile-content .report-panel,.mobile-content .filters{padding:16px}.mobile-content .request-title-row{align-items:flex-start;flex-wrap:wrap}.mobile-content .request-pagination{align-items:stretch;flex-wrap:wrap;gap:10px}.mobile-content .page-size-control{width:100%;margin-right:0;justify-content:space-between}.mobile-content .pagination-pages{max-width:100%;overflow-x:auto;padding-bottom:4px}.mobile-content .analytics-grid{grid-template-columns:1fr}.mobile-content .chart-card.wide{grid-column:auto}.mobile-content .analytics-section .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-content .audit-filters{grid-template-columns:1fr}.mobile-content .daily-filter{align-items:stretch;flex-direction:column}.mobile-content .daily-filter label{width:auto}.mobile-content .camera-box,.mobile-content .manual-scan{width:min(100%,560px)}.mobile-content .camera-box{height:auto;aspect-ratio:1}.mobile-content .scan-result-actions{flex-direction:column}.mobile-content .scan-result-actions button{flex:0 0 auto;width:100%}.mobile-content .modal-backdrop{align-items:end;padding:10px}.mobile-content .modal{width:100%;max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:14px 14px 8px 8px}.mobile-shell .toast{right:12px;bottom:calc(82px + env(safe-area-inset-bottom));left:12px;font-size:15px;text-align:center}.mobile-shell .loading-bar{bottom:calc(82px + env(safe-area-inset-bottom));white-space:nowrap}@media(max-width:480px){.login-page{padding:14px}.login-card{padding:22px 18px}.login-brand .brand-logo{width:68px;height:68px}.login-brand .brand-copy strong{font-size:26px}.login-card h1{font-size:29px}.mobile-content .stats-grid,.mobile-content .analytics-section .stats-grid{grid-template-columns:1fr}.mobile-content .card-heading{align-items:stretch;flex-direction:column}.mobile-content .modal-actions{align-items:stretch;flex-direction:column-reverse}}@media(max-width:1500px),(max-height:850px){:root{--sidebar-width: 300px;--page-x: 28px;--page-y: 30px;--topbar-height: 74px;--ui-scale: .86}.page{max-width:1280px}.stats-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.profile-mini strong{max-width:200px}}@media(max-width:1280px),(max-height:740px){:root{--sidebar-width: 240px;--page-x: 24px;--page-y: 24px;--topbar-height: 66px;--ui-scale: .74}.sidebar{padding-left:8px;padding-right:8px}.brand{padding-left:8px}nav{padding-right:4px}nav button{gap:10px;padding:0 10px}.nav-section{margin-left:10px}.profile-mini{gap:8px;padding-left:4px}.profile-mini strong{max-width:154px}.stats-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}th,td{padding-left:14px;padding-right:14px}}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.brand{padding-bottom:18px}nav{max-height:320px}.stats-grid,.filters-grid,.directory-filters,.summary-card,.notes-grid,.profile-grid,.box-info-grid,.status-actions,.user-form{grid-template-columns:1fr}.page{padding:24px 18px 60px}.camera-box,.manual-scan{width:min(576px,100%)}.camera-box{height:min(576px,80vw)}.box-row-card{grid-template-columns:1fr}.filters-grid .period-label{grid-column:auto;min-width:0}.filters-grid .period{grid-template-columns:1fr auto 1fr}.filters-grid .period input{min-width:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}.chart-card.wide{grid-column:auto}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.route-loading{min-height:240px;display:grid;place-items:center;color:var(--muted);font-size:16px}@media(max-width:760px){:root{--page-x: 14px;--page-y: 18px;--topbar-height: 58px;--ui-scale: .68}.quick-actions,.page-head,.report-controls{align-items:stretch;flex-direction:column}.table-card{overflow-x:auto}table{min-width:760px}.recent-requests-table table{min-width:680px}.metric-grid{grid-template-columns:1fr}.analytics-periods{align-items:stretch}.analytics-periods input{width:100%}.analytics-periods button{text-align:left}.analytics-section .stats-grid{grid-template-columns:1fr}.daily-filter{align-items:stretch;flex-direction:column}.daily-filter label{width:auto}.daily-card li{grid-template-columns:1fr;gap:8px}.daily-card li b{text-align:left}.audit-filters{grid-template-columns:1fr}.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}.modal-actions{align-items:stretch;flex-direction:column-reverse}}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff}.sidebar,.topbar,.mobile-topbar,.mobile-bottom-nav,.mobile-menu-backdrop,.no-print,.toast{display:none!important}.app-shell{display:block}.content,.mobile-content,.page{padding:0;max-width:none}.labels-sheet{grid-template-columns:repeat(2,1fr);gap:8mm}.qr-label{border:1px solid #111;border-radius:0;min-height:42mm}.labels-sheet-large{display:block}.qr-label-large{width:190mm;height:277mm;min-height:277mm;margin:0;padding:10mm;flex-direction:column;justify-content:center;text-align:center;box-sizing:border-box;break-after:page;page-break-after:always}.qr-label-large:last-child{break-after:auto;page-break-after:auto}.qr-label-large img{width:150mm;height:150mm}.qr-label-large b{font-size:28pt}.qr-label-large span{margin-top:5mm;font-size:18pt}}
