.portal{--ink:#10203a;--ink-soft:#40506b;--ink-faint:#7a8699;--paper:#fff;--paper-2:#f4f6f9;--line:#dde3ec;--green:#0e7c66;--green-dk:#0a5f4e;--green-tint:#e6f4f0;--amber:#e8912f;--amber-tint:#fdf3e6;--blue:#2563eb;--blue-tint:#eff6ff;--red:#dc2626;--red-tint:#fef2f2;--radius:14px;--shadow-sm:0 1px 3px #10203a12;--shadow:0 4px 20px #10203a17;--shadow-lg:0 18px 50px #10203a24;--sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;background:var(--paper-2);min-height:100vh;color:var(--ink);font-family:var(--sans);line-height:1.6}.portal *,.portal :before,.portal :after{box-sizing:border-box}.portal h1,.portal h2,.portal h3,.portal h4{color:var(--ink);margin:0;font-weight:700;line-height:1.15}.portal p{margin:0}.portal a{color:var(--green);text-decoration:none}.portal a:hover{text-decoration:underline}.portal-shell{min-height:100vh;display:flex}.portal-sidebar{background:var(--ink);flex-direction:column;flex:none;width:240px;height:100vh;padding:0 0 24px;display:flex;position:sticky;top:0;overflow-y:auto}.portal-brand{color:#fff;letter-spacing:-.01em;border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;padding:24px 20px 20px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.portal-brand-mark{background:var(--green);color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.portal-brand-mark svg{width:19px;height:19px}.portal-role-badge{letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin:12px 16px 4px;font-size:10px;font-weight:700}.portal-nav{flex-direction:column;gap:3px;padding:0 10px;display:flex}.portal-nav a{color:#ffffffa6;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.portal-nav a:hover{color:#fff;background:#ffffff14;text-decoration:none}.portal-nav a.active{background:var(--green);color:#fff}.portal-nav a svg{flex:none;width:17px;height:17px}.portal-spacer{flex:1}.portal-logout{color:#ffffff8c;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:9px;align-items:center;gap:10px;width:calc(100% - 20px);margin:0 10px;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:flex}.portal-logout:hover{color:#fff;background:#ffffff12}.portal-logout svg{width:15px;height:15px}.portal-main{flex:1;max-width:1000px;padding:36px 40px;overflow-y:auto}.p-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.p-card-title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-size:13px;font-weight:600}.p-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:28px;display:grid}.p-stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}.p-stat-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:600}.p-stat-val{letter-spacing:-.02em;color:var(--ink);font-size:28px;font-weight:800}.p-stat-val.green{color:var(--green)}.p-stat-val.amber{color:var(--amber)}.p-stat-val.red{color:var(--red)}.p-stat-val.blue{color:var(--blue)}.p-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.p-badge.green{background:var(--green-tint);color:var(--green-dk)}.p-badge.amber{background:var(--amber-tint);color:#a8631a}.p-badge.red{background:var(--red-tint);color:var(--red)}.p-badge.blue{background:var(--blue-tint);color:var(--blue)}.p-badge.gray{background:var(--paper-2);color:var(--ink-faint);border:1px solid var(--line)}.p-table{border-collapse:collapse;width:100%}.p-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:12px 14px;font-size:12px;font-weight:600}.p-table td{border-bottom:1px solid var(--line);padding:14px;font-size:14px}.p-table tr:last-child td{border-bottom:none}.p-table tr:hover td{background:var(--paper-2)}.p-field{flex-direction:column;gap:6px;display:flex}.p-field label{color:var(--ink);font-size:13px;font-weight:600}.p-field input,.p-field select,.p-field textarea{color:var(--ink);border:1.5px solid var(--line);background:var(--paper);border-radius:10px;width:100%;padding:11px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.p-field input:focus,.p-field select:focus,.p-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint);outline:none}.p-field-err{color:var(--red);font-size:12px}.p-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s;display:inline-flex}.p-btn:hover{opacity:.88;transform:translateY(-1px)}.p-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.p-btn.primary{background:var(--green);color:#fff}.p-btn.blue{background:var(--blue);color:#fff}.p-btn.outline{border:1.5px solid var(--line);color:var(--ink);background:0 0}.p-btn.danger{background:var(--red);color:#fff}.p-btn.sm{padding:7px 14px;font-size:13px}.p-alert{border-radius:10px;margin-bottom:20px;padding:14px 18px;font-size:14px}.p-alert.green{background:var(--green-tint);color:var(--green-dk);border:1px solid #bfe3d9}.p-alert.amber{background:var(--amber-tint);color:#7d4d10;border:1px solid #f0dcbd}.p-alert.red{background:var(--red-tint);color:#991b1b;border:1px solid #fecaca}.p-alert.blue{background:var(--blue-tint);color:#1e40af;border:1px solid #bfdbfe}.p-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.p-info-item{flex-direction:column;gap:4px;display:flex}.p-info-item span:first-child{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:11px;font-weight:600}.p-info-item span:last-child{color:var(--ink);font-size:15px;font-weight:500}.p-divider{border:none;border-top:1px solid var(--line);margin:24px 0}.portal-login-wrap{background:var(--paper-2);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.portal-login-box{background:var(--paper);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:20px;padding:40px}.p-progress-track{background:#e2e8f0;border-radius:6px;width:100%;height:10px;display:flex;overflow:hidden}.p-progress-fill{height:100%;transition:width .3s}.p-pickup-tag{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}@media (max-width:768px){.portal-sidebar{display:none}.portal-main{padding:20px}.p-stats{grid-template-columns:1fr 1fr}}
