
:root{
  --yellow:#FFC107;
  --yellow-dark:#F2B300;
  --black:#171717;
  --text:#212121;
  --muted:#707070;
  --bg:#F6F7FB;
  --card:#FFFFFF;
  --border:#E6E8EF;
  --green:#17A34A;
  --red:#E53935;
  --blue:#2563EB;
  --orange:#F97316;
  --purple:#7C3AED;
  --shadow:0 12px 35px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff7d6 0%,#f6f7fb 50%,#f1f5ff 100%);padding:24px}
.login-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:32px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,.7)}
.login-brand{background:linear-gradient(145deg,#181818,#2d2d2d);color:#fff;padding:54px;position:relative;overflow:hidden}
.login-brand:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,193,7,.16);right:-120px;top:-110px}
.login-brand:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,193,7,.12);left:-80px;bottom:-80px}
.logo-mark{width:58px;height:58px;border-radius:18px;background:var(--yellow);display:grid;place-items:center;color:#111;font-weight:900;font-size:25px;margin-bottom:28px;box-shadow:0 16px 30px rgba(255,193,7,.2)}
.login-brand h1{font-size:42px;line-height:1.05;margin:0 0 16px;position:relative;z-index:1}
.login-brand p{color:#d8d8d8;font-size:16px;line-height:1.7;max-width:470px;position:relative;z-index:1}
.login-points{display:grid;gap:16px;margin-top:34px;position:relative;z-index:1}
.login-point{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.08);padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08)}
.login-form-panel{padding:54px;display:flex;align-items:center}
.login-card{width:100%}.login-card h2{font-size:30px;margin:0 0 8px}.login-card .sub{color:var(--muted);margin:0 0 28px}
.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px 15px;outline:none;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 4px rgba(255,193,7,.16)}
.password-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.muted-link{color:var(--blue);font-weight:700}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 24px;color:var(--muted);font-size:14px}.check-row label{display:flex;align-items:center;gap:8px}
.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--yellow);color:#111;box-shadow:0 10px 22px rgba(255,193,7,.28)}.btn-dark{background:#111;color:#fff}.btn-light{background:#fff;border:1px solid var(--border);color:#222}.btn-danger{background:var(--red);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-soft{background:#F3F4F6;color:#111}.btn-full{width:100%;padding:15px 18px}
.demo-box{margin-top:22px;background:#F9FAFB;border:1px dashed #D5D8E2;border-radius:16px;padding:14px;color:#656565;font-size:13px;line-height:1.6}
.app{display:flex;min-height:100vh}.sidebar{width:282px;background:#141414;color:#fff;position:fixed;inset:0 auto 0 0;overflow-y:auto;transition:.25s;z-index:20}.sidebar.collapsed{transform:translateX(-100%)}
.brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08)}.brand .logo-mark{width:42px;height:42px;border-radius:13px;margin:0;font-size:18px}.brand-title{font-weight:900;font-size:17px}.brand-sub{font-size:12px;color:#bbb;margin-top:2px}
.nav-section{padding:18px 14px 8px}.nav-title{font-size:11px;color:#8f8f8f;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin:10px 10px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:5px 0;border-radius:14px;color:#ddd;font-weight:700;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(255,193,7,.14);color:#fff}.nav-link.active{box-shadow:inset 3px 0 0 var(--yellow)}.nav-icon{width:24px;text-align:center;font-size:16px}.sidebar-footer{margin:20px 14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.07);color:#d6d6d6;font-size:13px;line-height:1.5}
.main{margin-left:282px;min-height:100vh;width:calc(100% - 282px);transition:.25s}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10}.top-left{display:flex;align-items:center;gap:14px}.menu-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--border);background:#fff;cursor:pointer}.page-title{font-size:22px;font-weight:900}.breadcrumb{font-size:12px;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:12px}.search{position:relative}.search input{width:280px;border:1px solid var(--border);border-radius:14px;padding:12px 14px 12px 40px;background:#F9FAFB}.search span{position:absolute;left:14px;top:12px;color:#777}.admin-chip{display:flex;align-items:center;gap:10px;background:#F9FAFB;border:1px solid var(--border);padding:8px 10px;border-radius:16px}.avatar{width:36px;height:36px;border-radius:12px;background:var(--yellow);display:grid;place-items:center;font-weight:900;color:#111}.content{padding:26px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.card-pad{padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--border)}.card-title{font-size:18px;font-weight:900;margin:0}.card-sub{color:var(--muted);font-size:13px;margin:4px 0 0}.stat-card{padding:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.stat-label{color:var(--muted);font-size:13px;font-weight:800}.stat-value{font-size:30px;font-weight:950;margin:8px 0 3px}.stat-note{font-size:12px;color:var(--muted)}.stat-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:21px;background:#FFF5CC}.stat-icon.green{background:#EAF8EF}.stat-icon.blue{background:#EAF1FF}.stat-icon.red{background:#FEECEC}.stat-icon.purple{background:#F3EDFF}.stat-icon.orange{background:#FFF2E8}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter{border:1px solid var(--border);background:#fff;border-radius:13px;padding:11px 12px;color:#333}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.pill.pending{background:#FFF7DB;color:#9A6400}.pill.approved,.pill.success,.pill.completed{background:#EAF8EF;color:#087A32}.pill.rejected,.pill.failed,.pill.cancelled{background:#FEECEC;color:#B42318}.pill.active,.pill.online{background:#EAF1FF;color:#194DB7}.pill.offline{background:#F3F4F6;color:#555}.pill.warning{background:#FFF2E8;color:#A44200}.pill.purple{background:#F3EDFF;color:#5B21B6}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#747474;text-align:left;background:#FAFAFC;padding:14px 18px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:15px 18px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.table tr:hover td{background:#FFFDF4}.user-cell{display:flex;align-items:center;gap:12px}.mini-avatar{width:40px;height:40px;border-radius:13px;background:#F3F4F6;display:grid;place-items:center;font-weight:900}.cell-main{font-weight:900}.cell-sub{font-size:12px;color:var(--muted);margin-top:3px}.action-row{display:flex;gap:8px}.icon-btn{width:36px;height:36px;border:1px solid var(--border);background:#fff;border-radius:11px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:#F9FAFB}
.timeline{position:relative;display:grid;gap:16px}.timeline-item{display:flex;gap:14px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--yellow);margin-top:3px;box-shadow:0 0 0 5px rgba(255,193,7,.15)}.timeline-title{font-weight:900}.timeline-text{font-size:13px;color:var(--muted);line-height:1.5;margin-top:4px}.map-box{height:310px;border-radius:20px;background:linear-gradient(135deg,#E7EDF6,#FFFFFF);border:1px solid var(--border);position:relative;overflow:hidden}.map-road{position:absolute;background:#CCD6E6;border-radius:999px;transform:rotate(-18deg)}.map-road.one{width:120%;height:28px;left:-50px;top:120px}.map-road.two{width:85%;height:20px;right:-80px;top:210px;transform:rotate(25deg)}.pin{position:absolute;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center}.pin span{transform:rotate(45deg);font-size:13px}.pin.pickup{left:22%;top:35%;background:var(--green);color:#fff}.pin.drop{right:23%;bottom:22%;background:var(--red);color:#fff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .field{margin-bottom:0}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.doc-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff}.doc-preview{height:120px;border-radius:14px;background:linear-gradient(135deg,#F6F7FB,#EAEFF8);display:grid;place-items:center;color:#777;font-weight:900;margin-bottom:12px}.doc-title{font-weight:900}.doc-meta{font-size:12px;color:var(--muted);margin-top:4px}.split-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.amount-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--border)}.amount-row strong{font-size:18px}.chart-bars{height:240px;display:flex;align-items:end;gap:14px;padding:20px}.bar{flex:1;background:linear-gradient(180deg,var(--yellow),#FFE28A);border-radius:12px 12px 4px 4px;position:relative;min-width:18px}.bar:after{content:attr(data-label);position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:11px;color:#777}.progress{height:10px;background:#EEF0F5;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--yellow);border-radius:999px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding:0 22px}.tab-btn{padding:15px 14px;border:0;background:transparent;font-weight:900;color:#666;cursor:pointer;border-bottom:3px solid transparent}.tab-btn.active{color:#111;border-bottom-color:var(--yellow)}.tab-panel{display:none;padding:22px}.tab-panel.active{display:block}.empty-state{text-align:center;padding:44px 20px;color:var(--muted)}.empty-state .big{font-size:42px;margin-bottom:12px}.summary-list{display:grid;gap:12px}.summary-item{display:flex;justify-content:space-between;gap:14px;padding:14px;border-radius:16px;background:#FAFAFC;border:1px solid var(--border)}.summary-item span{color:var(--muted);font-size:13px}.summary-item b{text-align:right}.invoice-box{border:1px solid var(--border);border-radius:20px;overflow:hidden}.invoice-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr}.invoice-row>div{padding:14px;border-bottom:1px solid var(--border)}.invoice-head{background:#FAFAFC;font-weight:900;color:#666;font-size:12px;text-transform:uppercase}.notice{padding:14px 16px;border-radius:16px;background:#FFF8E1;border:1px solid #FFE08A;color:#745000;line-height:1.5}.danger-zone{border:1px solid #FFD4D4;background:#FFF8F8;border-radius:18px;padding:18px}.footer-note{text-align:center;color:#999;font-size:12px;padding:30px}
@media(max-width:1100px){.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split-panel,.doc-grid{grid-template-columns:1fr}.search input{width:210px}}
@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-brand,.login-form-panel{padding:32px}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.topbar{padding:0 16px}.search{display:none}.content{padding:16px}.grid-2,.grid-3,.grid-4,.grid-5,.form-grid{grid-template-columns:1fr}.top-actions .btn-light{display:none}.page-title{font-size:18px}.table th,.table td{padding:12px}.login-brand h1{font-size:32px}}
@media(min-width:821px){.sidebar.collapsed + .main{margin-left:0;width:100%}}
