@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--bg:#fff;--bg-subtle:#f7f8fa;--bg-card:#fff;--border:#e8eaed;--border-strong:#d1d5db;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-inverse:#fff;--brand:#d97706;--brand-light:#fffbeb;--brand-dark:#b45309;--brand-muted:#fde68a;--green:#16a34a;--green-light:#dcfce7;--amber:#d97706;--amber-light:#fef3c7;--blue:#2563eb;--blue-light:#eff6ff;--red:#dc2626;--red-light:#fef2f2;--purple:#7c3aed;--purple-light:#f5f3ff;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--nav-height:64px;--header-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-subtle);color:var(--text-primary);-webkit-font-smoothing:antialiased;overscroll-behavior:none;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.app-shell{background:var(--bg);max-width:480px;min-height:100dvh;box-shadow:var(--shadow-lg);margin:0 auto;position:relative}@media (min-width:768px){.app-shell{max-width:720px}}.app-header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);height:var(--header-height);align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.header-left{flex:1;align-items:center;gap:10px;display:flex}.header-back{cursor:pointer;color:var(--text-primary);background:0 0;border:none;align-items:center;padding:4px;font-family:inherit;font-size:20px;display:flex}.header-title{color:var(--text-primary);font-size:16px;font-weight:700}.header-subtitle{color:var(--text-muted);font-size:11px;font-weight:500}.header-right{align-items:center;gap:8px;display:flex}.header-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--brand) 0%, #f59e0b 100%);color:#fff;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.page-content{padding:16px;padding-bottom:calc(var(--nav-height) + 16px)}@media (min-width:768px){.page-content{max-width:688px;margin:0 auto}}.section{margin-bottom:20px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:var(--text-primary);font-size:15px;font-weight:700}.section-link{color:var(--brand);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:600}.section-link:hover{color:var(--brand-dark)}.zone-banner{background:linear-gradient(135deg, var(--brand) 0%, #f59e0b 100%);border-radius:var(--radius-md);color:#fff;align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.zone-banner-icon{flex-shrink:0;font-size:24px}.zone-banner-text{flex:1}.zone-banner-name{font-size:15px;font-weight:700}.zone-banner-status{opacity:.85;margin-top:2px;font-size:12px}.zone-banner-badge{border-radius:var(--radius-full);background:#ffffff40;padding:4px 10px;font-size:11px;font-weight:700}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:14px;display:flex}.stat-card-icon{font-size:20px}.stat-card-value{font-size:22px;font-weight:800;line-height:1}.stat-card-label{color:var(--text-secondary);font-size:11px;font-weight:500}.stat-card.warn{border-color:var(--amber)}.stat-card.warn .stat-card-value{color:var(--brand)}.stat-card.danger{border-color:var(--red)}.stat-card.danger .stat-card-value{color:var(--red)}.stat-card.good{border-color:var(--green)}.stat-card.good .stat-card-value{color:var(--green)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--green)}.status-dot.offline{background:var(--border-strong)}.status-dot.busy{background:var(--amber)}.status-dot.alert{background:var(--red)}.runner-list{flex-direction:column;gap:10px;display:flex}.runner-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.runner-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.runner-card:active{transform:scale(.99)}.runner-card-avatar{border-radius:var(--radius-full);background:var(--brand-light);width:44px;height:44px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex;position:relative}.runner-card-avatar .status-dot{border:2px solid #fff;width:12px;height:12px;position:absolute;bottom:0;right:0}.runner-card-info{flex:1;min-width:0}.runner-card-name{color:var(--text-primary);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.runner-card-job{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.runner-card-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.runner-card-meta-item{color:var(--text-muted);align-items:center;gap:3px;font-size:11px;display:flex}.runner-card-meta-item svg{font-size:12px}.runner-card-meta-item .star{color:#f59e0b}.runner-card-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.runner-card-chevron{color:var(--text-muted);font-size:16px}.alert-banner{border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;font-size:13px;display:flex}.alert-banner.warn{background:var(--amber-light);color:var(--brand-dark)}.alert-banner.danger{background:var(--red-light);color:var(--red)}.alert-banner.info{background:var(--blue-light);color:var(--blue)}.alert-banner-icon{flex-shrink:0;font-size:18px}.alert-banner-text{flex:1;font-weight:500}.alert-banner-time{opacity:.7;font-size:11px}.overflow-list{flex-direction:column;gap:12px;display:flex}.overflow-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:16px;transition:border-color .15s}.overflow-card:hover{border-color:var(--brand)}.overflow-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.overflow-card-type{text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.03em;padding:3px 8px;font-size:11px;font-weight:700}.overflow-card-type.delivery{background:var(--blue-light);color:var(--blue)}.overflow-card-type.pickup{background:var(--purple-light);color:var(--purple)}.overflow-card-type.errand{background:var(--amber-light);color:var(--brand)}.overflow-card-payout{color:var(--green);font-size:18px;font-weight:800}.overflow-card-body{gap:6px;margin-bottom:12px;display:grid}.overflow-card-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.overflow-card-row svg{color:var(--text-muted);flex-shrink:0}.overflow-card-reason{color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:12px;padding:6px 10px;font-size:11px}.overflow-card-actions{gap:8px;display:flex}.overflow-card-actions .btn{flex:1}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{background:var(--bg-subtle);color:var(--text-primary);border:1.5px solid var(--border)}.btn-secondary:hover{border-color:var(--brand);color:var(--brand)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{opacity:.9}.btn-success{background:var(--green);color:#fff}.btn-success:hover{opacity:.9}.btn-outline{border:1.5px solid var(--border);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:var(--brand);color:var(--brand)}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{border-radius:6px;padding:4px 8px;font-size:11px}.incident-list{flex-direction:column;gap:10px;display:flex}.incident-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:14px;transition:border-color .15s}.incident-card:hover{border-color:var(--brand)}.incident-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.incident-card-id{color:var(--text-muted);font-family:monospace;font-size:11px;font-weight:700}.incident-card-type{color:var(--text-primary);font-size:13px;font-weight:600}.incident-card-severity{text-transform:uppercase;border-radius:var(--radius-full);padding:2px 8px;font-size:10px;font-weight:700}.incident-card-severity.critical{background:var(--red-light);color:var(--red)}.incident-card-severity.high{color:#c2410c;background:#fff7ed}.incident-card-severity.medium{background:var(--amber-light);color:var(--brand)}.incident-card-severity.low{background:var(--blue-light);color:var(--blue)}.incident-card-status{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:600}.incident-card-status.open{background:var(--red-light);color:var(--red)}.incident-card-status.investigating{background:var(--amber-light);color:var(--brand)}.incident-card-status.resolved{background:var(--green-light);color:var(--green)}.incident-card-status.flagged{background:var(--purple-light);color:var(--purple)}.incident-card-footer{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:12px;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:7px}.timeline-item{padding-bottom:16px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--border);border:2px solid var(--bg);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:-20px}.timeline-dot.open{background:var(--red)}.timeline-dot.resolved{background:var(--green)}.timeline-dot.investigating{background:var(--amber)}.timeline-dot.info{background:var(--blue)}.timeline-time{color:var(--text-muted);margin-bottom:2px;font-size:11px}.timeline-title{color:var(--text-primary);font-size:13px;font-weight:600}.timeline-desc{color:var(--text-secondary);margin-top:2px;font-size:12px}.checklist{flex-direction:column;gap:8px;display:flex}.checklist-item{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s;display:flex}.checklist-item:hover{border-color:var(--brand)}.checklist-item.completed{border-color:var(--green);background:var(--green-light)}.checklist-check{border:2px solid var(--border-strong);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;transition:all .15s;display:flex}.checklist-item.completed .checklist-check{background:var(--green);border-color:var(--green);color:#fff}.checklist-check.pending{border-color:var(--amber)}.checklist-info{flex:1}.checklist-label{color:var(--text-primary);font-size:13px;font-weight:600}.checklist-desc{color:var(--text-secondary);margin-top:2px;font-size:11px}.trainee-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;padding:14px;display:flex}.trainee-card-avatar{border-radius:var(--radius-full);background:var(--brand-light);width:40px;height:40px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.trainee-card-info{flex:1}.trainee-card-name{font-size:13px;font-weight:600}.trainee-card-progress{color:var(--text-muted);margin-top:2px;font-size:11px}.trainee-card-bar{background:var(--border);border-radius:4px;width:100%;height:4px;margin-top:6px;overflow:hidden}.trainee-card-bar-fill{background:var(--brand);border-radius:4px;height:100%;transition:width .3s}.trainee-card-pct{color:var(--brand);font-size:14px;font-weight:700}.proof-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:768px){.proof-grid{grid-template-columns:repeat(3,1fr)}}.proof-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s;overflow:hidden}.proof-card:hover{border-color:var(--brand)}.proof-card-img{aspect-ratio:1;background:var(--bg-subtle);justify-content:center;align-items:center;width:100%;font-size:32px;display:flex;position:relative}.proof-card-status{border-radius:var(--radius-full);text-transform:uppercase;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:6px;right:6px}.proof-card-status.pending{background:var(--amber-light);color:var(--brand)}.proof-card-status.approved{background:var(--green-light);color:var(--green)}.proof-card-status.rejected{background:var(--red-light);color:var(--red)}.proof-card-body{padding:10px}.proof-card-runner{color:var(--text-primary);font-size:12px;font-weight:600}.proof-card-time{color:var(--text-muted);margin-top:2px;font-size:10px}.proof-card-actions{border-top:1px solid var(--border);gap:6px;padding:8px 10px;display:flex}.proof-card-actions .btn{flex:1;padding:6px;font-size:11px}.proof-detail-overlay{z-index:300;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.proof-detail{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:440px;max-height:90vh;overflow-y:auto}.proof-detail-img{aspect-ratio:1;background:var(--bg-subtle);justify-content:center;align-items:center;width:100%;font-size:48px;display:flex}.proof-detail-body{padding:16px}.proof-detail-runner{margin-bottom:4px;font-size:15px;font-weight:700}.proof-detail-time{color:var(--text-muted);margin-bottom:12px;font-size:12px}.proof-detail-actions{gap:8px;display:flex}.proof-detail-actions .btn{flex:1}.float-table{border-collapse:collapse;width:100%}.float-table th{text-align:left;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);padding:10px 12px;font-size:11px;font-weight:700}.float-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px;font-size:13px}.float-table tr:last-child td{border-bottom:none}.float-table tr:hover td{background:var(--brand-light)}.float-status{border-radius:var(--radius-full);padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.float-status.normal{background:var(--green-light);color:var(--green)}.float-status.low{background:var(--amber-light);color:var(--brand)}.float-status.critical{background:var(--red-light);color:var(--red)}.float-amount{font-family:monospace;font-weight:700}.float-log{flex-direction:column;gap:8px;margin-top:12px;display:flex}.float-log-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.float-log-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.float-log-dot.in{background:var(--green)}.float-log-dot.out{background:var(--red)}.float-log-info{flex:1}.float-log-amount{font-family:monospace;font-size:13px;font-weight:700}.float-log-desc{color:var(--text-secondary)}.conversation-list{flex-direction:column;gap:2px;display:flex}.conversation-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;transition:background .1s;display:flex}.conversation-item:first-child{padding-top:0}.conversation-item:hover{background:var(--brand-light);border-radius:var(--radius-sm);margin:0 -12px;padding:12px}.conversation-avatar{border-radius:var(--radius-full);background:var(--brand-light);width:44px;height:44px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.conversation-info{flex:1;min-width:0}.conversation-name{color:var(--text-primary);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.conversation-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.conversation-meta{text-align:right;flex-shrink:0}.conversation-time{color:var(--text-muted);font-size:11px}.conversation-unread{background:var(--brand);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;margin-top:4px;margin-left:auto;font-size:10px;font-weight:700;display:flex}.quick-actions{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.quick-actions::-webkit-scrollbar{display:none}.quick-action{background:var(--brand-light);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);border:1.5px solid #0000;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:12px 16px;text-decoration:none;transition:all .15s;display:flex}.quick-action:hover{border-color:var(--brand);background:var(--bg)}.quick-action:active{transform:scale(.96)}.quick-action-icon{font-size:22px}.quick-action-label{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:600}.form-group{margin-bottom:14px}.form-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:var(--bg);outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-muted)}.form-textarea{resize:vertical;min-height:80px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-file{position:relative}.form-file-input{opacity:0;cursor:pointer;position:absolute;inset:0}.form-file-label{border:1.5px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.search-bar-wrap{margin-bottom:12px}.search-bar{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--radius-full);align-items:center;gap:10px;padding:10px 16px;transition:border-color .15s;display:flex}.search-bar:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-muted)}.search-bar svg{color:var(--text-muted);flex-shrink:0}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.search-bar input::placeholder{color:var(--text-muted)}.detail-panel{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.detail-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-secondary)}.detail-value{text-align:right;font-weight:600}.tab-bar{border-bottom:2px solid var(--border);scrollbar-width:none;margin-bottom:16px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-item{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.tab-item.active{color:var(--brand);border-bottom-color:var(--brand)}.tab-item:hover{color:var(--text-primary)}.panel-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.panel-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.panel-card-header h3{font-size:14px;font-weight:700}.panel-card-body{padding:16px}.panel-card-footer{border-top:1px solid var(--border);background:var(--bg-subtle);gap:8px;padding:12px 16px;display:flex}.grid-2col{gap:12px;display:grid}@media (min-width:768px){.grid-2col{grid-template-columns:1fr 1fr}}.spinner{border:2.5px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.divider{background:var(--border);height:1px;margin:16px 0}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-amber{background:var(--amber-light);color:var(--brand)}.badge-green{background:var(--green-light);color:var(--green)}.badge-red{background:var(--red-light);color:var(--red)}.badge-blue{background:var(--blue-light);color:var(--blue)}.badge-purple{background:var(--purple-light);color:var(--purple)}.badge-gray{background:var(--bg-subtle);color:var(--text-secondary)}.template-list{flex-direction:column;gap:6px;display:flex}.template-chip{background:var(--brand-light);color:var(--brand-dark);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s}.template-chip:hover{border-color:var(--brand)}.bottom-nav{width:min(480px,100vw);height:var(--nav-height);background:var(--bg);border-top:1px solid var(--border);z-index:200;padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (min-width:768px){.bottom-nav{width:min(720px,100vw)}}.nav-item{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0;font-family:inherit;font-size:10px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.nav-item.active{color:var(--brand)}.nav-item svg{width:22px;height:22px}.nav-item-label{font-size:10px}.nav-badge{background:var(--red);color:#fff;border-radius:var(--radius-full);border:2px solid #fff;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:2px}
