*{box-sizing:border-box}body{color:#1f2430;background:#eef0f4;margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:15px}h2,h3,h4{color:#15192b;margin-top:0;font-weight:600}h2{margin-bottom:1.25rem;font-size:1.5rem}h3{margin:1.5rem 0 .75rem;font-size:1.1rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{color:#fff;background:#16213e;align-items:center;gap:1.5rem;padding:.85rem 2rem;display:flex;box-shadow:0 2px 6px #00000026}.topbar-brand{align-items:center;gap:.75rem;display:flex}.topbar-logo{background:#fff;border-radius:5px;height:30px;padding:3px 6px}.topbar strong{letter-spacing:.02em;font-size:1.1rem}.topbar nav{flex:1;gap:1.5rem;display:flex}.topbar a{color:#b8c2dc;border-bottom:2px solid #0000;padding:.25rem 0;font-size:.92rem;font-weight:500;text-decoration:none}.topbar a:hover{color:#fff}.topbar a.active{color:#fff;border-bottom-color:#4f8cff}.user-info{align-items:center;gap:1rem;font-size:.9rem;display:flex}.user-info button{color:#fff;cursor:pointer;background:#e5484d;border:none;border-radius:5px;padding:.45rem .9rem;font-weight:500}.content{width:100%;max-width:1150px;margin:0 auto;padding:2rem}.centered-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.card{background:#fff;border:1px solid #e3e6ee;border-radius:10px;margin-bottom:1.5rem;padding:1.75rem;box-shadow:0 1px 2px #1018280d}label{color:#4a4f5c;margin-bottom:1rem;font-size:.85rem;font-weight:500;display:block}label.checkbox-label,label.checkbox-label.inline{font-weight:400}input,select,textarea{color:#1f2430;background:#fff;border:1px solid #ccd1dc;border-radius:6px;width:100%;margin-top:.35rem;padding:.55rem .7rem;font-family:inherit;font-size:.92rem;display:block}input:focus,select:focus,textarea:focus{border-color:#4f8cff;outline:none;box-shadow:0 0 0 3px #4f8cff26}.checkbox-label input,.checkbox-label.inline input{width:auto;margin-top:0}textarea{resize:vertical;min-height:70px}button{color:#fff;cursor:pointer;background:#2f66ff;border:none;border-radius:6px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500}button:hover{background:#2552d6}button:disabled{cursor:not-allowed;background:#b7c0d8}button.danger{background:#d64545}button.danger:hover{background:#b93a3a}.actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.stat-card{text-align:center;color:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:1.25rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block;box-shadow:0 1px 3px #0000001a}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000001f}.stat-card span{color:#1f2430;font-size:2rem;font-weight:600;display:block}.stat-card.warn span{color:#d64545}.stat-card.ok span{color:#2f9e44}.data-table{border-collapse:collapse;background:#fff;width:100%;margin-bottom:1rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #eee;padding:.5rem .75rem;font-size:.9rem}.data-table input{padding:.3rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-grid.readonly p{margin:.2rem 0 0;font-weight:500}.full-width{grid-column:1/-1}.form-inline{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.form-inline input,.form-inline select{border:1px solid #ccc;border-radius:4px;padding:.5rem}.checkbox-label{align-items:center;gap:.5rem;display:flex}.checkbox-label.inline{margin:0 1rem .5rem 0;display:inline-flex}.admin-subnav{gap:1rem;margin-bottom:1rem;display:flex}.admin-subnav a{color:#1f2a44;background:#e5e8f0;border-radius:4px;padding:.4rem .8rem;text-decoration:none}.admin-subnav a.active{color:#fff;background:#2f66ff}.error{color:#d64545;font-weight:500}.badge{color:#fff;background:#888;border-radius:12px;padding:.2rem .6rem;font-size:.8rem}.badge-draft{background:#888}.badge-submitted{background:#f0a500}.badge-approved{background:#2f66ff}.badge-rejected{background:#d64545}.badge-gateout,.badge-pendingreturn{background:#8a4fff}.badge-returned{background:#2f9e44}.badge-overdue{background:#d64545}.badge-closed{background:#555}.badge-pending{background:#f0a500}.badge-checkedin{background:#2f9e44}.badge-checkedout{background:#555}.badge-logged{background:#2f66ff}.badge-received{background:#f0a500}.badge-collected{background:#2f9e44}.photo-thumb-grid{flex-wrap:wrap;gap:.75rem;margin:.5rem 0 1rem;display:flex}.photo-thumb{border:1px solid #e3e6ee;border-radius:8px;width:90px;height:90px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb-remove{color:#fff;background:#0009;border-radius:50%;width:20px;height:20px;padding:0;font-size:.85rem;line-height:1;position:absolute;top:2px;right:2px}.photo-thumb-remove:hover{background:#000000d9}.courier-capture-card{width:420px}.capture-mode-toggle{gap:.5rem;margin-bottom:1.25rem;display:flex}.capture-mode-toggle button{color:#1f2a44;background:#e5e8f0}.capture-mode-toggle button.active{color:#fff;background:#2f66ff}.capture-mode-toggle button:hover{background:#d7dcec}.capture-mode-toggle button.active:hover{background:#2552d6}.scan-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scan-modal{text-align:center;background:#fff;border-radius:10px;width:360px;padding:1.25rem}.scan-video{background:#000;border-radius:8px;width:100%;margin:.5rem 0}.auth-page{background:#eef0f4;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{text-align:center;background:#fff;border:1px solid #e3e6ee;border-radius:16px;width:340px;padding:2.25rem 2rem 1.75rem;box-shadow:0 10px 30px #10182814}.auth-logo-badge{background:#fff;border:1px solid #e3e6ee;border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.25rem;padding:.6rem .9rem;display:inline-flex}.auth-logo-badge img{height:44px;display:block}.auth-title{letter-spacing:.05em;color:#16213e;margin:0;font-size:1.6rem;font-weight:700}.auth-subtitle{color:#6b7391;margin:.3rem 0 1.75rem;font-size:.85rem}.auth-field{text-align:left;margin-bottom:1rem;position:relative}.auth-field-icon{color:#9aa3bd;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.auth-field input{color:#1f2430;background:#f7f8fb;border:1px solid #ccd1dc;border-radius:8px;width:100%;margin:0;padding:.75rem 1rem .75rem 2.6rem;font-size:.92rem}.auth-field input::placeholder{color:#9aa3bd}.auth-field input:focus{border-color:#4f8cff;outline:none;box-shadow:0 0 0 3px #4f8cff26}.auth-field-toggle{color:#9aa3bd;background:0 0;padding:.3rem;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.auth-field-toggle svg{width:18px;height:18px;display:block}.auth-field-toggle:hover{color:#16213e;background:0 0}.auth-submit{background:#2f66ff;border-radius:8px;width:100%;margin-top:.5rem;padding:.8rem;font-size:.95rem;font-weight:600}.auth-submit:hover{background:#2552d6}.auth-footer{color:#9aa3bd;margin:1rem 0 0;font-size:.78rem}.auth-page .error{margin-bottom:.75rem;font-size:.85rem}.print-header{justify-content:space-between;align-items:center;display:flex}.manual-approval td{border:1px solid #ccd1dc;height:2.5rem}.print-only{display:none}@media print{@page{size:A4;margin:10mm}.topbar,.no-print{display:none!important}.print-only{display:table}body{background:#fff;font-size:11px}.content{max-width:100%;margin:0;padding:0}.print-document>:not(.gp-form){display:none}.gp-form{border-collapse:collapse;table-layout:fixed;border:2px solid #000;width:100%}.gp-form td{vertical-align:top;border:1px solid #000;padding:5px 8px;font-size:10.5px}.gp-header-cell{padding:0}.gp-header-table{border-collapse:collapse;table-layout:fixed;width:100%}.gp-header-table td{padding:5px 8px}.gp-logo-cell{text-align:center;vertical-align:middle;border-right:1px solid #000}.gp-logo-cell img{height:46px}.gp-company-cell{text-align:center;vertical-align:middle}.gp-company-name{color:#111;letter-spacing:.02em;font-size:15px;font-weight:700}.gp-company-address{color:#444;margin-top:2px;font-size:9px}.gp-qr-cell{text-align:center;vertical-align:middle;border-left:1px solid #000}.gp-qr-cell img{width:64px;height:64px}.gp-qr-caption{color:#555;margin-top:2px;font-size:7.5px}.gp-title-cell{text-align:center;padding:8px}.gp-title-box{letter-spacing:1px;border:2px solid #000;padding:4px 22px;font-size:16px;font-weight:700;display:inline-block}.gp-subtitle{margin-top:5px;font-size:11.5px;font-weight:700}.gp-meta-cell strong{font-weight:700}.gp-party-cell,.gp-details-cell{width:50%;line-height:1.6}.gp-party-name{margin:2px 0;font-weight:700}.gp-field-row{display:block}.gp-field-label{color:#333}.gp-items-cell{height:160mm;padding:5px}.gp-items-table{border-collapse:collapse;width:100%;height:100%}.gp-items-table th,.gp-items-table td{text-align:left;vertical-align:top;border:1px solid #000;padding:4px 6px;font-size:10px}.gp-items-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eee!important}.gp-items-table col.sl{width:7%}.gp-items-table col.qty,.gp-items-table col.unit,.gp-items-table col.value{width:14%}.gp-signoff-table{border-collapse:collapse;width:100%;height:100%}.gp-signoff-table td{text-align:center;vertical-align:bottom;border:1px solid #000;padding:28px 6px 6px;font-size:10px;font-weight:600}.gp-doc-footer{text-align:center;color:#555;padding:4px 8px;font-size:8.5px}}
