/* ===================================================================
   JTR Trading - Application Styles
   =================================================================== */
:root {
    --primary: #2563eb;
    --primary-dark: #1e40af;
    --sidebar-bg: #0f172a;
    --sidebar-hover: #1e293b;
    --sidebar-active: #2563eb;
    --text-muted: #64748b;
    --bg-app: #f1f5f9;
    --sidebar-w: 250px;
}

* { box-sizing: border-box; }
body { background: var(--bg-app); font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; color: #1e293b; }

/* ---------- Layout ---------- */
.app-wrapper { display: flex; min-height: 100vh; }
.sidebar {
    width: var(--sidebar-w); background: var(--sidebar-bg); color: #cbd5e1;
    display: flex; flex-direction: column; position: fixed; height: 100vh; z-index: 1000;
    transition: transform .25s ease;
}
.sidebar-brand {
    display: flex; align-items: center; gap: 10px; padding: 20px 24px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand-logo {
    background: var(--primary); color: #fff; font-weight: 800; padding: 6px 10px;
    border-radius: 8px; font-size: 18px; letter-spacing: 1px;
}
.brand-text { font-size: 20px; font-weight: 700; color: #fff; }
.sidebar-nav { flex: 1; padding: 16px 12px; overflow-y: auto; }
.sidebar-nav .nav-link, .sidebar-footer .nav-link {
    display: flex; align-items: center; gap: 12px; color: #cbd5e1;
    padding: 11px 14px; border-radius: 8px; margin-bottom: 4px;
    text-decoration: none; font-size: 14.5px; transition: all .15s;
}
.sidebar-nav .nav-link:hover { background: var(--sidebar-hover); color: #fff; }
.sidebar-nav .nav-link.active { background: var(--sidebar-active); color: #fff; font-weight: 600; }
.sidebar-nav .nav-link i, .sidebar-footer .nav-link i { font-size: 18px; }
.sidebar-footer { padding: 12px; border-top: 1px solid rgba(255,255,255,.08); }
.sidebar-footer .nav-link:hover { background: var(--sidebar-hover); }

.main-content { margin-left: var(--sidebar-w); flex: 1; display: flex; flex-direction: column; min-width: 0; }
.topbar {
    background: #fff; padding: 14px 24px; display: flex; align-items: center; gap: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06); position: sticky; top: 0; z-index: 900;
}
.page-title { font-size: 20px; font-weight: 700; margin: 0; flex: 1; }
.btn-toggle { display: none; border: none; background: transparent; font-size: 22px; }
.topbar-right { display: flex; align-items: center; gap: 14px; }
.user-chip { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.avatar {
    width: 36px; height: 36px; border-radius: 50%; background: var(--primary); color: #fff;
    display: grid; place-items: center; font-weight: 700;
}
.content { padding: 24px; flex: 1; }
.app-footer { padding: 16px 24px; color: var(--text-muted); font-size: 13px; text-align: center; }

/* ---------- Cards / Stats ---------- */
.stat-card {
    background: #fff; border-radius: 14px; padding: 20px; display: flex; align-items: center; gap: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,.07); height: 100%;
}
.stat-icon { width: 54px; height: 54px; border-radius: 12px; display: grid; place-items: center; font-size: 24px; color: #fff; flex-shrink: 0; }
.stat-info h3 { font-size: 24px; font-weight: 800; margin: 0; }
.stat-info span { color: var(--text-muted); font-size: 13.5px; }
.bg-grad-blue   { background: linear-gradient(135deg,#3b82f6,#2563eb); }
.bg-grad-green  { background: linear-gradient(135deg,#22c55e,#16a34a); }
.bg-grad-orange { background: linear-gradient(135deg,#f59e0b,#d97706); }
.bg-grad-red    { background: linear-gradient(135deg,#ef4444,#dc2626); }
.bg-grad-purple { background: linear-gradient(135deg,#a855f7,#7c3aed); }
.bg-grad-teal   { background: linear-gradient(135deg,#14b8a6,#0d9488); }

.card { border: none; border-radius: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.07); }
.card-header { background: #fff; border-bottom: 1px solid #eef2f7; font-weight: 700; border-radius: 14px 14px 0 0 !important; }
.table { margin: 0; }
.table thead th { background: #f8fafc; border-bottom: 2px solid #eef2f7; font-size: 13px; text-transform: uppercase; color: var(--text-muted); letter-spacing: .4px; }
.table td { vertical-align: middle; }

/* ---------- Login ---------- */
.login-page {
    min-height: 100vh; display: grid; place-items: center;
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); padding: 20px;
}
.login-card { background: #fff; border-radius: 18px; padding: 40px; width: 100%; max-width: 420px; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.login-brand { text-align: center; margin-bottom: 28px; }
.brand-logo-lg {
    display: inline-grid; place-items: center; width: 64px; height: 64px; background: var(--primary);
    color: #fff; font-weight: 800; font-size: 24px; border-radius: 16px; margin-bottom: 12px; letter-spacing: 1px;
}
.login-brand h2 { font-weight: 800; margin: 0; }
.login-brand p { color: var(--text-muted); margin: 4px 0 0; }
.login-hint { margin-top: 22px; padding: 14px; background: #f8fafc; border-radius: 10px; font-size: 12.5px; color: var(--text-muted); }
.hint-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; margin-top: 8px; }
.hint-grid span { font-family: monospace; font-size: 11.5px; }

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar.show { transform: translateX(0); }
    .main-content { margin-left: 0; }
    .btn-toggle { display: block; }
}

.page-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; flex-wrap: wrap; gap: 12px; }
.invoice-box { background:#fff; padding: 32px; border-radius: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.07); }

/* ===================================================================
   JTR Performance OS 2.0
   =================================================================== */
:root {
    --primary: #4f46e5; --primary-dark: #3730a3; --sidebar-bg: #111827;
    --sidebar-hover: #1f2937; --sidebar-active: #4f46e5; --bg-app: #f4f6fb;
}
body { color:#172033; }
.bg-indigo { background:#4f46e5!important; }.bg-purple { background:#7c3aed!important; }
.sidebar-brand { min-height:72px; }.brand-logo { background:linear-gradient(135deg,#6366f1,#4338ca);box-shadow:0 8px 24px rgba(79,70,229,.35) }.brand-text{font-size:17px}
.sidebar-nav .nav-link { padding:9px 12px;font-size:13.5px }.sidebar-nav .nav-link i{font-size:16px}.sidebar-nav{padding-top:12px}
.topbar{min-height:72px}.content{max-width:1680px;width:100%;margin:0 auto}.page-title{letter-spacing:-.02em}
.card { border:1px solid #e8ebf3;box-shadow:0 3px 12px rgba(15,23,42,.045) }.card-header{padding:15px 18px}
.progress{height:7px;background:#e9edf5;border-radius:999px}.progress-bar{border-radius:999px}
.table>:not(caption)>*>*{padding:13px 14px}.table thead th{white-space:nowrap}
.table td.text-nowrap .btn-sm,.catalog-edit{width:36px;min-width:36px;padding:0}.table td.text-nowrap .d-inline .btn-sm{width:36px;min-width:36px;padding:0}.stock-adjust-btn{width:auto!important;min-width:112px!important;padding:0 12px!important;justify-content:center}.card-header .d-flex{flex-wrap:wrap}.card-header .form-control-sm{min-width:190px}.card-header .form-select-sm{min-width:150px}.order-footer form{display:grid!important;grid-template-columns:minmax(155px,1fr) auto;align-items:center;gap:8px!important}.order-footer form .form-select{width:100%}.modal-footer{gap:8px}.modal-footer .btn{min-width:110px}
.form-control,.form-select{border-color:#dbe0eb;border-radius:8px}.form-control:focus,.form-select:focus{border-color:#818cf8;box-shadow:0 0 0 .2rem rgba(99,102,241,.12)}
.btn{min-height:40px;border-radius:9px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn-sm{min-height:34px;padding:5px 11px}.btn-primary{background:#4f46e5;border-color:#4f46e5}.btn-primary:hover{background:#4338ca;border-color:#4338ca}.btn i{line-height:1}
.modal-content{border:0;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.24)}.modal-header,.modal-footer{padding:18px 22px}.modal-body{padding:22px}

.eyebrow{color:#6366f1;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}
.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.page-intro>div:first-child{min-width:0}.page-intro h2{font-size:27px;font-weight:800;letter-spacing:-.04em;margin:0 0 5px}.page-intro p{color:#64748b;margin:0;max-width:750px}.page-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:none}.page-intro-actions .btn{min-width:154px}
.executive-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;border-radius:20px;color:#fff;background:radial-gradient(circle at 75% 0,rgba(129,140,248,.65),transparent 32%),linear-gradient(135deg,#111827,#312e81 70%,#4338ca);box-shadow:0 16px 34px rgba(49,46,129,.22)}
.executive-hero h2{font-size:30px;font-weight:800;letter-spacing:-.04em;margin:0 0 7px}.executive-hero p{color:#c7d2fe;margin:0}.executive-hero .eyebrow{color:#a5b4fc}.hero-score{width:230px;padding:16px 20px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:14px}.hero-score span{font-size:12px;color:#c7d2fe}.hero-score strong{display:block;font-size:30px;line-height:1.2}.hero-score .progress{background:rgba(255,255,255,.16);margin-top:8px}.hero-score .progress-bar{background:#fff}
.metric-card{height:100%;padding:18px 20px;border:1px solid #e6eaf2;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.045);border-top:3px solid}.metric-card.metric-blue{border-top-color:#3b82f6}.metric-card.metric-green{border-top-color:#10b981}.metric-card.metric-purple{border-top-color:#8b5cf6}.metric-card.metric-orange{border-top-color:#f59e0b}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric-top i{font-size:20px}.metric-card>strong{display:block;font-size:23px;margin:13px 0 3px;letter-spacing:-.04em}.metric-card>small{color:#64748b}
.objective-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #edf0f6}.objective-row:last-child{border:0}.objective-code{width:115px;color:#475569;font-size:12px;font-weight:800}.perspective-tag{display:block;margin-top:4px;text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:#818cf8}.objective-main{flex:1;min-width:0}.objective-main strong,.objective-main small{display:block}.objective-main small{color:#64748b;margin-top:3px}.objective-progress{width:150px}.objective-progress>span{font-weight:800;display:block;text-align:right;margin-bottom:3px}
.attention-item{display:flex;align-items:center;gap:13px;padding:16px 18px;border-bottom:1px solid #edf0f6}.attention-item:last-child{border:0}.attention-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:18px;flex:none}.attention-item strong,.attention-item small{display:block}.attention-item small{color:#64748b;margin-top:2px}

.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;overflow:visible;padding-bottom:4px}.strategy-card{background:#fff;border:1px solid #e6eaf2;border-top:4px solid #6366f1;border-radius:16px;padding:20px;min-width:0;display:flex;flex-direction:column;box-shadow:0 3px 12px rgba(15,23,42,.04)}.strategy-card.perspective-financial{border-top-color:#10b981}.strategy-card.perspective-customer{border-top-color:#3b82f6}.strategy-card.perspective-process{border-top-color:#8b5cf6}.strategy-card.perspective-people{border-top-color:#f59e0b}.strategy-card.perspective-governance{border-top-color:#14b8a6}.strategy-card-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}.strategy-card-head>div:nth-child(2){flex:1;min-width:0}.strategy-card-head span,.strategy-card-head strong{display:block}.strategy-card-head span{text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:#64748b}.strategy-card-head strong{font-size:12px}.strategy-icon{width:38px;height:38px;border-radius:10px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;flex:none}.strategy-card h3{font-size:17px;line-height:1.4;font-weight:750;min-height:72px;margin-bottom:10px}.strategy-card>p{font-size:12px;line-height:1.55;color:#64748b;min-height:58px}.strategy-meta{display:flex;gap:10px;min-height:42px;align-content:flex-start;flex-wrap:wrap;color:#64748b;font-size:10px}.card-update-form{margin-top:18px;padding-top:16px;border-top:1px solid #edf0f6}.card-update-grid{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(130px,1.2fr);gap:10px;margin-bottom:10px}.card-update-grid label{min-width:0}.card-update-grid label>span{display:block;margin-bottom:5px;color:#64748b;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.card-update-grid .form-control,.card-update-grid .form-select,.card-update-grid .input-group-text{height:36px;min-height:36px}.card-update-grid .input-group-text{font-size:12px}.quick-update{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(110px,1fr) auto;gap:7px;align-items:center;margin-top:16px}.quick-update .form-control{width:100%;min-width:0}.quick-update .form-select{width:100%;min-width:0}.risk-pill{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase}.risk-low{background:#dcfce7;color:#166534}.risk-medium{background:#fef3c7;color:#92400e}.risk-high,.risk-critical{background:#fee2e2;color:#991b1b}

.money-stat{font-size:17px!important;white-space:nowrap}.method-pill{display:inline-flex;gap:6px;align-items:center;background:#eef2ff;color:#4338ca;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:700;text-transform:capitalize}.health-score{display:flex;align-items:center;gap:12px}.health-score strong,.health-score small{display:block}.health-score small{color:#64748b}.score-ring{--score:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4f46e5 calc(var(--score)*1%),#e5e7eb 0);position:relative}.score-ring:before{content:"";position:absolute;inset:6px;background:#f4f6fb;border-radius:50%}.score-ring span{z-index:1;font-size:14px;font-weight:800}

.order-list{display:grid;gap:0}.order-item{padding:19px 20px;border-bottom:1px solid #e8ebf3}.order-item:last-child{border:0}.order-summary{display:grid;grid-template-columns:2fr repeat(4,1fr);align-items:center;gap:16px}.order-summary>div>span,.order-summary>div>small,.order-summary>div>strong{display:block}.order-summary>div>span,.order-summary>div>small{color:#64748b;font-size:11px}.order-track{display:flex;align-items:flex-start;margin:20px 0 13px}.track-step{flex:1;position:relative;text-align:center;color:#94a3b8}.track-step:before{content:"";height:3px;background:#e2e8f0;position:absolute;left:-50%;right:50%;top:13px}.track-step:first-child:before{display:none}.track-step>span{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#94a3b8;margin:0 auto 5px}.track-step.done:before,.track-step.done>span{background:#4f46e5}.track-step.done>span{color:#fff}.track-step.current>span{box-shadow:0 0 0 5px #e0e7ff}.track-step small{font-size:10px}.order-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:#64748b;font-size:11px}.order-footer form select{min-width:130px}

.compliance-banner{display:flex;align-items:center;gap:18px;padding:22px 24px;background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:1px solid #a7f3d0;border-radius:16px}.compliance-shield{width:52px;height:52px;border-radius:14px;background:#059669;color:#fff;display:grid;place-items:center;font-size:25px}.compliance-banner strong{font-size:17px}.compliance-banner p{margin:3px 0 0;color:#64748b}.document-card{height:100%;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #10b981;border-radius:14px;padding:19px;box-shadow:0 3px 12px rgba(15,23,42,.04);display:flex;flex-direction:column}.document-warning{border-left-color:#f59e0b}.document-expired{border-left-color:#ef4444}.document-head{display:flex;justify-content:space-between;align-items:center}.document-type{font-size:10px;font-weight:800;letter-spacing:.09em;color:#6366f1;text-transform:uppercase}.document-card h3{font-size:16px;margin:15px 0 4px}.document-card>p{color:#64748b;font-size:12px}.document-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.document-meta small,.document-meta strong{display:block}.document-meta small{color:#94a3b8;font-size:10px}.document-meta strong{font-size:12px;margin-top:2px}.expiry-line{border-top:1px solid #edf0f5;margin-top:15px;padding-top:12px;display:flex;gap:8px;font-size:12px;font-weight:700}.document-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px}.document-actions form{margin-left:auto}.document-actions .btn{min-width:88px}.document-actions .btn i{font-size:13px}.form-card-title{font-size:18px;font-weight:800;margin:2px 0 0}.edit-mode-notice{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid #c7d2fe;border-radius:11px;background:#eef2ff;color:#3730a3}.edit-mode-notice>i{font-size:20px;line-height:1.2}.edit-mode-notice strong,.edit-mode-notice span{display:block}.edit-mode-notice strong{font-size:13px}.edit-mode-notice span{font-size:11px;color:#6366f1;margin-top:2px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.form-actions .btn{min-width:130px}
.document-attachment{display:flex;align-items:center;gap:10px;margin-top:15px;padding:10px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;min-width:0}.document-attachment>div:nth-child(2){flex:1;min-width:0}.document-attachment strong,.document-attachment span{display:block}.document-attachment strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-attachment span{font-size:9px;color:#64748b;margin-top:2px}.attachment-icon{width:34px;height:34px;border-radius:9px;background:#dcfce7;color:#15803d;display:grid;place-items:center;flex:none;font-size:17px}.document-attachment .btn{flex:none;min-width:82px}.attachment-empty{border-color:#e2e8f0;background:#f8fafc}.attachment-empty .attachment-icon{background:#e2e8f0;color:#64748b}.upload-field{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px dashed #a5b4fc;border-radius:11px;background:#f8faff}.upload-field>i{width:36px;height:36px;border-radius:9px;background:#e0e7ff;color:#4f46e5;display:grid;place-items:center;font-size:18px;flex:none}.upload-field>div{flex:1;min-width:0}.upload-field small{display:block;color:#64748b;margin-top:6px}.current-attachment{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4}.current-attachment>i{font-size:20px;color:#15803d}.current-attachment>div{min-width:0}.current-attachment strong,.current-attachment span{display:block}.current-attachment strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-attachment span{font-size:10px;color:#64748b}.current-attachment .form-check{white-space:nowrap;font-size:11px}

/* Government invoice & receivables */
.invoice-status-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:20px;border:1px solid #c7d2fe;border-left:5px solid #4f46e5;border-radius:16px;background:linear-gradient(135deg,#eef2ff,#fff)}.invoice-status-banner.status-paid{border-color:#86efac;border-left-color:#16a34a;background:linear-gradient(135deg,#ecfdf5,#fff)}.invoice-status-banner.status-overdue,.invoice-status-banner.status-rejected{border-color:#fecaca;border-left-color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fff)}.invoice-status-banner.status-cancelled{border-color:#e2e8f0;border-left-color:#64748b;background:#f8fafc}.invoice-status-banner h2{font-size:25px;font-weight:850;margin:2px 0}.invoice-status-banner p{margin:0;color:#64748b}.invoice-status-side{text-align:right}.invoice-status-side>*{display:block;margin-left:auto}.invoice-status-side strong{font-size:22px;margin-top:7px}.invoice-status-side small{color:#64748b}.government-invoice-box{border-radius:16px;padding:28px;background:#fff}.invoice-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:3px solid #4f46e5}.invoice-document-head>div{display:flex;align-items:center;gap:12px}.invoice-document-head>div:last-child{display:block;text-align:right}.invoice-document-head h3{font-size:20px;margin:0}.invoice-document-head small{color:#64748b}.invoice-document-head>div:last-child>span,.invoice-document-head>div:last-child>strong,.invoice-document-head>div:last-child>small{display:block}.invoice-document-head>div:last-child>span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#4f46e5}.invoice-document-head>div:last-child>strong{font-size:17px}.invoice-brand{width:48px;height:48px;border-radius:12px;background:#4f46e5;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:850}.invoice-parties{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding:24px 0}.invoice-parties small,.invoice-bottom small{display:block;color:#64748b;font-size:9px;font-weight:800;letter-spacing:.08em}.invoice-parties strong{display:block;font-size:15px;margin:4px 0}.invoice-parties p{margin:0;color:#475569}.invoice-parties dl{display:grid;grid-template-columns:115px 1fr;gap:4px;margin:0}.invoice-parties dt{color:#64748b;font-weight:500}.invoice-parties dd{margin:0;font-weight:700}.invoice-document-table{min-width:720px}.invoice-document-table thead th{background:#f1f5f9}.invoice-bottom{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:35px;margin-top:22px}.invoice-bottom>div strong,.invoice-bottom>div span{display:block}.invoice-bottom>div p{color:#64748b;font-size:11px;margin-top:8px}.invoice-bottom table td{border:0;padding:5px 8px}.invoice-bottom table td:last-child{text-align:right;font-weight:700}.invoice-bottom .invoice-total td{border-top:2px solid #172033;padding-top:10px;font-size:17px}.invoice-note{margin-top:22px;padding:12px 14px;background:#f8fafc;border-radius:10px}.invoice-note p{margin:3px 0 0;color:#64748b}.invoice-total-card{height:100%}.invoice-total-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}.invoice-total-row>input{max-width:160px}.invoice-tax-input{max-width:160px}.invoice-grand-total{font-size:18px}.invoice-grand-total strong{color:#4f46e5;font-size:21px}.invoice-item-table{min-width:820px}.invoice-upload-form{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(240px,1.5fr) auto;gap:9px}.invoice-attachment-list{display:grid;gap:9px}.invoice-attachment-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px}.invoice-attachment-row>i{width:38px;height:38px;border-radius:9px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:18px;flex:none}.invoice-attachment-row>div{flex:1;min-width:0}.invoice-attachment-row strong,.invoice-attachment-row span{display:block}.invoice-attachment-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-attachment-row span{font-size:10px;color:#64748b}.empty-evidence{display:flex;align-items:center;justify-content:center;gap:9px;padding:24px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b}.invoice-workflow{position:relative}.workflow-step{display:flex;gap:12px;position:relative;padding-bottom:22px;color:#94a3b8}.workflow-step:not(:last-child):before{content:"";position:absolute;left:14px;top:28px;bottom:0;width:2px;background:#e2e8f0}.workflow-step>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;position:relative;z-index:1;flex:none}.workflow-step.done{color:#172033}.workflow-step.done>span{background:#4f46e5;color:#fff}.workflow-step.done:not(:last-child):before{background:#a5b4fc}.workflow-step strong,.workflow-step small{display:block}.workflow-step small{color:#64748b;font-size:10px}.invoice-action-stack{display:grid;gap:9px}.invoice-history>div{display:flex;gap:10px;position:relative;padding:0 0 18px}.history-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#6366f1;flex:none}.invoice-history strong,.invoice-history small{display:block}.invoice-history small{color:#94a3b8;font-size:9px}.invoice-history p{margin:4px 0 0;padding:6px 8px;background:#f8fafc;border-radius:6px;color:#64748b;font-size:10px}.order-invoice-btn{min-width:112px}

.scorecard-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.employee-scorecard{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px}.avatar-lg{width:46px;height:46px;flex:none}.employee-scorecard strong,.employee-scorecard span{display:block}.employee-scorecard span{color:#64748b;font-size:11px}.score-number{font-size:24px;font-weight:800;text-align:right}.score-number small{font-size:9px;text-transform:uppercase}.score-meta{font-size:10px;text-align:right}.scope-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none}.scope-company{background:#ede9fe;color:#6d28d9}.scope-department{background:#dbeafe;color:#1d4ed8}.scope-individual{background:#dcfce7;color:#15803d}

.talent-summary{height:100%;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px}.talent-summary>i{width:50px;height:50px;border-radius:13px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:22px}.talent-summary>div{flex:1}.talent-summary span,.talent-summary strong,.talent-summary small{display:block}.talent-summary span,.talent-summary small{color:#64748b}.talent-summary strong{font-size:27px}.module-tabs{background:#e9edf5;padding:5px;border-radius:11px;width:max-content}.module-tabs .nav-link{color:#64748b;border-radius:8px;font-weight:700;font-size:13px}.module-tabs .nav-link.active{background:#fff;color:#4338ca;box-shadow:0 2px 7px rgba(15,23,42,.08)}.level-dots{display:flex;gap:3px}.level-dots i{width:13px;height:7px;border-radius:3px;background:#e2e8f0}.level-dots i.active{background:#6366f1}.level-dots i.required{background:#0f172a}.gap-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.has-gap{background:#fee2e2;color:#b91c1c}.no-gap{background:#dcfce7;color:#15803d}.plan-card{height:100%;background:#fff;border:1px solid #e5e7eb;border-radius:15px;padding:19px;box-shadow:0 3px 12px rgba(15,23,42,.04)}.plan-head{display:flex;justify-content:space-between}.plan-type{color:#4f46e5;text-transform:capitalize;font-weight:700;font-size:11px}.plan-card h3{font-size:17px;margin:15px 0 5px}.plan-card>p{color:#64748b;font-size:12px}.plan-meta{display:flex;justify-content:space-between;gap:10px;color:#64748b;font-size:11px}.success-measure{margin-top:15px;background:#f8fafc;border-radius:9px;padding:10px;font-size:11px}.success-measure small{display:block;color:#94a3b8;font-size:9px;font-weight:800;margin-bottom:2px}.review-score{display:inline-grid;place-items:center;width:52px;height:34px;border-radius:9px;font-weight:800}.review-score.excellent{background:#dcfce7;color:#15803d}.review-score.good{background:#dbeafe;color:#1d4ed8}.review-score.risk{background:#fee2e2;color:#b91c1c}

@media(max-width:1200px){.strategy-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.order-summary{grid-template-columns:2fr repeat(2,1fr)}.order-summary>div:nth-child(4),.order-summary>div:nth-child(5){display:none}}
@media(max-width:768px){.content{padding:16px}.page-intro,.executive-hero{align-items:flex-start;flex-direction:column}.page-intro-actions{width:100%}.page-intro-actions .btn{flex:1;min-width:0}.hero-score{width:100%}.executive-hero{padding:24px}.executive-hero h2{font-size:24px}.strategy-grid{grid-template-columns:1fr}.strategy-card h3,.strategy-card>p{min-height:0}.objective-row{align-items:flex-start;flex-wrap:wrap}.objective-main{width:calc(100% - 135px)}.objective-progress{width:100%}.order-summary{grid-template-columns:1fr 1fr}.order-summary>div:first-child{grid-column:1/-1}.order-track{overflow-x:auto;padding-bottom:6px}.track-step{min-width:75px}.order-footer form{width:100%;margin-left:0!important}.scorecard-strip{grid-template-columns:1fr}.document-meta{grid-template-columns:1fr}.compliance-banner{align-items:flex-start}.compliance-banner .ms-auto{margin-left:0!important}.page-intro .d-flex{flex-wrap:wrap}.quick-update{grid-template-columns:1fr 1.35fr}.quick-update .btn{grid-column:1/-1;width:100%}.card-header{align-items:flex-start!important;flex-direction:column}.card-header>.d-flex{width:100%}.card-header .form-control-sm,.card-header .form-select-sm{width:100%;min-width:0}.order-footer form{grid-template-columns:1fr;width:100%}.order-footer form .btn{width:100%}}
@media(max-width:768px){.invoice-status-banner,.invoice-document-head{align-items:flex-start;flex-direction:column}.invoice-status-side,.invoice-document-head>div:last-child{text-align:left}.invoice-status-side>*{margin-left:0}.government-invoice-box{padding:18px}.invoice-parties,.invoice-bottom{grid-template-columns:1fr;gap:20px}.invoice-upload-form{grid-template-columns:1fr}.invoice-attachment-row{flex-wrap:wrap}.invoice-attachment-row>div{width:calc(100% - 50px)}.invoice-page-actions{align-items:flex-start;flex-direction:column}.invoice-page-actions>div{width:100%}.invoice-page-actions .btn{flex:1}.invoice-status-banner h2{font-size:20px}}
