:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#0f172a}*{box-sizing:border-box}body{margin:0}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(135deg,#eff6ff,#fff,#eef2ff)}.auth-card{width:100%;max-width:420px;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 12px 32px #0f172a1f}.auth-card-wide{max-width:620px}.auth-card h1{margin:0 0 8px;font-size:28px}.auth-card p{margin:0 0 16px;color:#475569}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{font-weight:600;font-size:14px}.auth-form input{padding:11px 12px;border:1px solid #d1d5db;border-radius:10px;outline:none;font-size:14px}.auth-form input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.auth-form button{margin-top:8px;padding:12px;border:none;border-radius:10px;color:#fff;background:linear-gradient(90deg,#4f46e5,#6366f1);font-weight:600;cursor:pointer}.auth-form button:disabled{opacity:.7;cursor:not-allowed}.auth-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:8px 10px;font-size:14px}.auth-links{display:flex;justify-content:space-between;margin-top:14px}.auth-links a{font-size:14px;color:#4f46e5;text-decoration:none}.auth-links a:hover{text-decoration:underline}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 700px){.grid-2{grid-template-columns:1fr}}.portal-page{min-height:100vh;padding:28px 36px;background:#eee}.portal-header-row{display:flex;align-items:flex-start;gap:36px;margin-bottom:24px}.portal-title-block{font-size:20px;line-height:1.05;white-space:pre-line}.portal-role-label{font-size:20px;margin-top:4px}.logout-btn{margin-left:auto;border:1px solid #6fa8c3;background:transparent;padding:8px 12px;cursor:pointer}.portal-box{border:1px solid #6fa8c3;padding:30px;min-height:420px;background:transparent}.portal-box h2{margin:0 0 40px;font-size:38px;font-weight:500}.admin-menu-panel{border:1px solid #6fa8c3;padding:28px 36px;min-height:360px;margin-bottom:18px}.sidebar-layout-panel{display:grid;grid-template-columns:250px 1fr;gap:24px}.admin-menu-panel h2{margin:0 0 72px;font-size:36px;font-weight:500}.admin-sidebar{border-right:1px solid #cbd5e1;padding-right:18px}.admin-sidebar-title{font-weight:700;font-size:14px;margin-bottom:12px;color:#0f172a}.admin-sidebar-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.admin-sidebar-link{width:100%;text-align:left;border:1px solid #6fa8c3;background:transparent;color:#1e293b;padding:8px 10px;font-size:13px;cursor:pointer}.admin-sidebar-link.active{background:#e8f4f8;font-weight:700}.admin-main-content{min-width:0}.admin-workspace-box{min-height:unset}.admin-placeholder-card{border:1px dashed #6fa8c3;background:#f8fafc;padding:18px;min-height:130px}.admin-placeholder-card h3{margin:0 0 8px}.admin-placeholder-card p{margin:0;color:#334155}.po-form{max-width:900px}.po-form input,.po-form button,.admin-menu-row button{border:1px solid #6fa8c3;background:transparent;color:#222}.po-form input{width:300px;padding:8px 10px;margin-bottom:26px;font-size:14px}.po-form button{width:100%;padding:10px;font-size:36px}.admin-menu-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;max-width:1000px;margin-bottom:20px}.admin-menu-row-mock{max-width:760px;margin-left:auto;margin-right:auto}.admin-menu-row button{padding:7px 8px;font-size:14px;letter-spacing:.2px}.admin-actions button{border:1px solid #6fa8c3;background:transparent;padding:8px 14px;cursor:pointer;margin-bottom:14px}.dashboard-error{color:#b91c1c;margin-bottom:12px}.invoice-results{margin-top:14px;display:grid;gap:10px}.invoice-card{border:1px solid #6fa8c3;padding:10px;background:#f8f8f8}.admin-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #eef2f7;padding:11px 12px;font-size:13px}.admin-table th{background:#f8fafc;color:#334155;font-weight:700}.admin-table tbody tr:hover{background:#f8fbff}.live-track-row{margin-top:12px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.courier-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600}.courier-input{border:1px solid #6fa8c3;padding:6px 8px;font-size:14px;min-width:140px}.live-track-btn{border:1px solid #6fa8c3;background:#e8f4f8;padding:8px 12px;font-size:13px;cursor:pointer}.live-track-btn:disabled{opacity:.6;cursor:not-allowed}.tm-live-block{margin-top:12px;padding-top:10px;border-top:1px dashed #6fa8c3;font-size:14px}.tm-live-block>div{margin-bottom:6px}.tm-checkpoints ul{margin:6px 0 0;padding-left:18px}.tm-cp-time{color:#475569;font-size:12px}.invoice-editor{margin:14px 0 20px;border:1px solid #6fa8c3;padding:12px;background:#f5fbfd}.invoice-editor h3{margin:0 0 8px}.hint-line{margin:0 0 12px;font-size:12px;color:#334155}.invoice-mode-tabs{display:flex;gap:8px;margin-bottom:12px}.invoice-mode-tabs button{border:1px solid #6fa8c3;background:#f8fafc;padding:7px 12px;cursor:pointer;font-size:13px}.invoice-mode-tabs button.active{background:#e8f4f8;font-weight:700}.upload-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}.upload-row button{border:1px solid #6fa8c3;background:#e8f4f8;padding:7px 12px;cursor:pointer}.invoice-form-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px}.invoice-form-grid input,.invoice-form-grid textarea{border:1px solid #6fa8c3;padding:7px 8px;font-size:13px;background:#fff}.invoice-form-grid textarea{min-height:58px;resize:vertical}.editor-actions{display:flex;gap:8px;margin-top:10px}.editor-actions button{border:1px solid #6fa8c3;background:#e8f4f8;padding:8px 12px;cursor:pointer}.secondary-btn{background:#f8fafc!important}.table-action-btn{border:1px solid #6fa8c3;background:#f1f5f9;padding:4px 8px;cursor:pointer}@media (max-width: 900px){.invoice-form-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.sidebar-layout-panel{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid #cbd5e1;padding-right:0;padding-bottom:12px}}.portal-app-shell{min-height:100vh;background:#f5f6f9}.portal-top-header{height:52px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.portal-top-left{display:flex;align-items:center;gap:24px}.portal-logo{border:none;background:transparent;color:#0f3d76;font-weight:700;font-size:20px;cursor:pointer}.portal-top-nav{display:flex;gap:18px}.portal-top-link{color:#374151;text-decoration:none;font-size:14px}.portal-top-link span.active{color:#111827;font-weight:700}.portal-top-right{display:flex;align-items:center;gap:14px}.portal-profile-wrap{position:relative}.portal-bell{font-size:17px}.portal-avatar{width:28px;height:28px;border-radius:50%;border:none;background:#0f3d76;color:#fff;cursor:pointer;font-size:12px;font-weight:700}.portal-profile-dropdown{position:absolute;right:0;top:36px;width:150px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 28px #0f172a1f;z-index:20}.portal-profile-dropdown button{width:100%;border:none;background:transparent;text-align:left;padding:10px 12px;cursor:pointer;font-size:14px}.portal-profile-dropdown button:hover{background:#f8fafc}.portal-content{padding:18px 20px 24px}.dashboard-wrap{display:grid;gap:14px}.dashboard-heading h1{margin:0;font-size:28px}.dashboard-heading p{margin:4px 0 0;color:#6b7280}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid #e5e7eb;padding:14px}.stat-value{font-size:33px;font-weight:700;color:#1f3f77}.stat-title{margin-top:4px;font-weight:600}.stat-note{margin-top:2px;color:#6b7280;font-size:12px}.panel-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.panel-box{background:#fff;border:1px solid #e5e7eb;padding:14px}.panel-box h3{margin:0 0 10px}.panel-big{margin:0;font-size:34px;font-weight:700}.panel-muted{margin:0;color:#6b7280}@media (max-width: 980px){.stats-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.panel-grid{grid-template-columns:1fr}.portal-top-nav{display:none}}
