*{box-sizing:border-box}body{margin:0;background:#f2f5f8;color:#17202a;font:14px Arial,sans-serif}a{color:inherit}.topbar{display:flex;justify-content:space-between;padding:16px 24px;background:#18212a;color:#fff}.shell,.track-shell{width:min(1180px,calc(100% - 28px));margin:auto;padding:28px 0}.page-head,.track-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.page-head h1,.track-head h2{margin:0}.page-head p,.track-head p,.panel-head p{color:#667085}.dashboard-filter{display:grid;grid-template-columns:160px 180px auto;gap:8px;align-items:end}.dashboard-filter label{color:#667085;font-size:12px}.dashboard-filter input,.dashboard-filter select{margin-top:5px}.dashboard-filter button{width:auto}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.stats div,.panel,.track-card,.track-search{background:#fff;border:1px solid #dce2e8;border-radius:8px;box-shadow:0 3px 12px #1018280d}.stats div{padding:16px;border-left:4px solid #198754}.stats span,.details span,.latest span{display:block;color:#667085;font-size:12px}.stats strong{display:block;margin-top:8px;font-size:22px}.panel{padding:18px;margin-bottom:16px}.panel h2{margin:0 0 14px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.panel-head h2{margin:0}.panel-head p{margin:5px 0 0}.panel-head>strong{font-size:22px;color:#198754}.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.pc{padding:14px;border-radius:6px;background:#e9ecef}.pc span{display:block;margin-top:5px;font-size:11px}.pc.in_use{background:#d1e7dd;color:#0f5132}.pc.expired,.pc.maintenance{background:#f8d7da;color:#842029}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}tfoot th{background:#f8fafc}.empty-row{text-align:center;color:#667085;padding:24px}.auth-body{display:grid;min-height:100vh;place-items:center}.auth-card{width:min(400px,calc(100% - 24px));padding:28px;background:#fff;border:1px solid #dce2e8;border-radius:8px}.auth-card h1{margin-bottom:4px}.auth-card label{display:block;margin:14px 0;font-weight:bold}input,select,button{width:100%;padding:11px;border:1px solid #cfd6de;border-radius:5px}button{border:0;background:#0d6efd;color:#fff;cursor:pointer}.notice{margin:12px 0;padding:12px;background:#fff3cd;border-radius:5px}.notice.error{background:#f8d7da;color:#842029}.brand-mark{display:grid;width:50px;height:50px;place-items:center;border-radius:7px;background:#18212a;color:#fff;font-weight:bold;font-size:18px}.tracking .track-shell{max-width:900px}.tracking header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.tracking header h1,.tracking header p{margin:0}.track-search{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:18px}.track-search button{width:auto}.track-card{margin-top:16px;padding:22px}.timeline{display:grid;grid-template-columns:repeat(6,1fr);margin:28px 0}.timeline div{text-align:center;color:#98a2b3;font-size:11px}.timeline i{display:grid;width:32px;height:32px;margin:auto auto 6px;place-items:center;border:3px solid #d8dee6;border-radius:50%;font-style:normal}.timeline .done,.timeline .current{color:#198754}.timeline .done i{background:#198754;border-color:#198754;color:#fff}.timeline .current i{border-color:#0d6efd;color:#0d6efd}.latest{padding:16px;background:#eef6ff;border-left:4px solid #0d6efd;border-radius:5px}.latest strong,.latest small{display:block;margin-top:5px}.details{display:grid;grid-template-columns:1fr 1fr;margin-top:16px;border:1px solid #dfe4ea}.details div{padding:14px;border:1px solid #dfe4ea}.details strong{display:block;margin-top:4px}@media(max-width:800px){.stats{grid-template-columns:1fr 1fr}.dashboard-filter{grid-template-columns:1fr 1fr auto}.track-search{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(3,1fr);gap:18px}.details{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-filter{grid-template-columns:1fr}.dashboard-filter button{width:100%}}@media(max-width:500px){.stats{grid-template-columns:1fr}.page-head,.track-head{display:block}.dashboard-filter{margin-top:16px}}
