
:root{
--green:#0b5d2a;--green2:#14733d;--navy:#10233f;--navy2:#172f52;
--bg:#eef2f6;--panel:#ffffff;--text:#182230;--muted:#667085;
--border:#d0d5dd;--amber:#c97a00;--danger:#b42318;--shadow:0 8px 24px rgba(16,35,63,.08)
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--green);font-weight:700}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.pro-sidebar{background:linear-gradient(180deg,var(--navy),#0b1b31);color:white;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}
.brand-mark{width:46px;height:46px;border-radius:12px;background:var(--green);display:grid;place-items:center;font-size:20px;font-weight:900}
.pro-brand strong,.pro-brand span{display:block}.pro-brand span{font-size:12px;color:#b9c5d4;margin-top:3px}
.pro-nav{display:block;margin-top:18px;overflow-y:auto;overflow-x:hidden;padding-right:4px;min-height:0;flex:1;height:0;overscroll-behavior:contain}.pro-nav a:hover{background:rgba(255,255,255,.09);transform:translateX(3px)}
.dashboard-nav-link{background:rgba(255,255,255,.08);font-weight:900;margin-bottom:5px}
.nav-group{border:1px solid rgba(255,255,255,.12);border-radius:9px;overflow:hidden;background:rgba(255,255,255,.025)}
.nav-group summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:11px 12px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.7px;list-style:none;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover,.nav-group[open] summary{background:rgba(255,255,255,.10)}
.nav-group summary span{font-size:16px;transition:transform .15s}
.nav-group[open] summary span{transform:rotate(180deg)}
.nav-group-links{display:grid;gap:2px;padding:4px 5px 7px;border-top:1px solid rgba(255,255,255,.1)}
.nav-group-links a{padding:8px 10px;font-size:13px}
.quote-line-headings{margin-bottom:6px}
.quote-line-headings span{padding:0 10px;color:var(--navy);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:16px 6px 0}
.sidebar-footer span,.sidebar-footer small{display:block}.sidebar-footer small{color:#aeb9c8;margin-top:5px;line-height:1.4}
.workspace{min-width:0}.topbar{background:white;border-bottom:1px solid var(--border);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:800}.topbar h1{margin:3px 0 0;font-size:25px}
.quick-actions{display:flex;gap:8px}.content-area{padding:26px 30px}
.security-page{min-height:100vh;margin:0;display:grid;place-items:center;background:linear-gradient(135deg,#071b33,#0d3157);padding:24px;font-family:Arial,sans-serif}.security-card{width:min(430px,100%);box-sizing:border-box;background:#fff;border-radius:16px;padding:34px;box-shadow:0 20px 55px rgba(0,0,0,.35)}.security-card h1{margin:12px 0 6px;color:#10263d}.security-card p{color:#556575;line-height:1.5}.security-card label{display:block;font-weight:700;margin:16px 0}.security-card input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border:1px solid #bcc8d4;border-radius:7px;font-size:16px}.security-card .button{width:100%;margin:8px 0 12px}.security-card small{display:block;color:#657585;text-align:center}.security-brand{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:#f04b13;color:#fff;font-weight:900;font-size:22px}.security-link{display:block;text-align:center;margin:4px 0 16px;color:#0d5b93;font-weight:700}
.panel,.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.panel{padding:20px;margin-top:18px}.panel h2{margin:0 0 16px;font-size:18px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}
.card{padding:18px}.card span{display:block;color:var(--muted);font-size:13px;font-weight:700}.card strong{display:block;color:var(--green);font-size:29px;margin-top:8px}.card .small-text{font-size:13px;word-break:break-all;line-height:1.4}
.card.money strong{font-size:24px}.card.warning strong{color:var(--amber)}.danger-card strong{color:var(--danger)}
.actions,.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:16px 0}
.button,button{background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 16px;text-decoration:none;font-weight:800;cursor:pointer}
.button:hover,button:hover{background:var(--green2)}.button.secondary{background:var(--navy)}.button.danger{background:var(--danger)}.button.small{padding:7px 11px;font-size:12px}
.update-available-button{background:#f45112;box-shadow:0 0 0 3px rgba(244,81,18,.14)}
.update-available-button:hover{background:#d94008}
.update-release-card,.update-current-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:7px solid #f45112}
.update-current-card{display:block;border-left-color:var(--green)}
.update-release-card h2,.update-current-card h2{margin:10px 0 7px}
.update-status-pill{display:inline-block;background:#fff0e8;color:#c43d09;border:1px solid #ffb28f;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:900;letter-spacing:.08em}
.update-status-pill.installed{background:#e8f3ec;color:var(--green);border-color:#a8d5b8}
.update-install-button{white-space:nowrap;background:#f45112;padding:13px 20px}
@media(max-width:760px){.update-release-card{display:block}.update-release-card form{margin-top:18px}.update-install-button{width:100%}}
.flash{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-weight:700}.flash.success{background:#e8f3ec;color:var(--green)}.flash.error{background:#fee4e2;color:var(--danger)}
table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:var(--navy);color:white;padding:10px}td{padding:10px;border-bottom:1px solid var(--border)}tr:hover td{background:#fafbfd}
.status{display:inline-block;background:#e8f3ec;color:var(--green);padding:4px 8px;border-radius:99px;font-weight:800}
.booking-status-confirmed{background:#dcfce7;color:#166534;border:1px solid #86efac}
.booking-status-completed{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}
.booking-status-cancelled{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;max-width:1100px}.form label{display:grid;gap:7px;font-weight:800;color:var(--green)}.form .wide{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;background:#fffdf5;font:inherit}textarea{min-height:90px}
.summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.welcome-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--navy),var(--green));color:white;padding:22px;border-radius:12px;box-shadow:var(--shadow)}
.welcome-banner h2{margin:0 0 5px}.welcome-banner p{margin:0;color:#dbe4ee}
.course-banner{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--navy);color:#fff;padding:14px;border-radius:10px;margin-bottom:16px}
.course-banner div{display:grid;gap:4px}.course-banner span{font-size:12px;color:#d0d5dd}
.workflow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.workflow-steps a{background:var(--navy);color:white;text-decoration:none;padding:12px;text-align:center;border-radius:8px}.workflow-steps a.done{background:var(--green)}
.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.document-card{display:grid;gap:7px;background:white;border:1px solid var(--border);border-left:6px solid var(--green);border-radius:10px;padding:18px;text-decoration:none;box-shadow:var(--shadow)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.calendar-heading{background:var(--navy);color:#fff;font-weight:800;padding:10px;text-align:center}.calendar-day{min-height:140px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.calendar-day.outside{background:#f6f7f8;color:#98a2b3}
.calendar-item{border-radius:6px;padding:6px;margin:5px 0;font-size:12px}.calendar-item.booking{background:#e8f3ec;color:var(--green);border-left:4px solid var(--green)}.calendar-item.unavailable{background:#fee4e2;color:var(--danger);border-left:4px solid var(--danger)}
.chart-row{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;margin:12px 0}.chart-bars{display:grid;gap:5px}.bar{height:22px;border-radius:4px;color:white;font-size:11px;font-weight:700;padding-left:6px;display:flex;align-items:center}.bar.revenue{background:var(--green)}.bar.profit{background:var(--navy)}
.search-box{display:grid;grid-template-columns:1fr auto;gap:10px}.three-column{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.result-card{border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:10px;background:#fbfcfd}
@media(max-width:1200px){.cards,.cards.four{grid-template-columns:repeat(2,1fr)}.two-column,.three-column{grid-template-columns:1fr}.course-banner,.document-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.pro-sidebar{position:static;height:auto}.pro-nav{grid-template-columns:repeat(2,1fr)}.topbar{position:static}.content-area{padding:18px}.form{grid-template-columns:1fr}.cards,.cards.three,.cards.four{grid-template-columns:1fr}}

.authorisation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.check-card{display:flex!important;align-items:flex-start;gap:9px;border:1px solid var(--border);border-radius:9px;padding:10px;background:#fbfcfd;color:var(--text)!important}
.check-card input{width:auto;margin-top:3px}.check-card span{display:grid;gap:3px;font-weight:400}.check-card strong{color:var(--green)}
@media(max-width:1100px){.authorisation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.authorisation-grid{grid-template-columns:1fr}}

.cards.six{grid-template-columns:repeat(3,1fr)}
.followup-due td{background:#fff4e5}
.form.single-column{grid-template-columns:1fr;max-width:none}
.timeline{display:grid;gap:15px}
.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:15px;border-left:4px solid var(--green);padding:10px 0 10px 16px}
.timeline-date{font-weight:800;color:var(--green)}
.timeline-item p{margin:5px 0}.timeline-item small{color:var(--muted)}
@media(max-width:1100px){.cards.six{grid-template-columns:repeat(2,1fr)}}

.cards.five{grid-template-columns:repeat(5,1fr)}
.info-note{background:#eef6ff;border-left:5px solid #175cd3;padding:12px;border-radius:6px;color:#1849a9}
input[readonly]{background:#f2f4f7;color:#667085}
@media(max-width:1200px){.cards.five{grid-template-columns:repeat(2,1fr)}}

.info-list{display:grid;gap:10px}
.info-list div{padding:9px 0;border-bottom:1px solid var(--border)}
.actions>div{display:flex;gap:8px;flex-wrap:wrap}

.travel-help{background:#fff4e5;border-left:5px solid var(--amber);padding:12px;border-radius:7px;color:#7a4b00}

.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.inline-filter{display:flex;align-items:end;gap:8px}
.inline-filter label{display:grid;gap:5px;color:var(--muted);font-weight:700}
@media(max-width:800px){.section-heading-row{align-items:stretch;flex-direction:column}.inline-filter{align-items:stretch;flex-direction:column}}

.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.settings-tabs a{background:var(--navy);color:#fff;text-decoration:none;padding:9px 13px;border-radius:8px}
.settings-section{border-top:1px solid var(--border);padding-top:10px;margin-top:8px}
.settings-section:first-child{border-top:0}
.settings-section h2{margin-bottom:5px}
.settings-section p{margin-top:0;color:var(--muted)}
.settings-summary{display:grid;gap:9px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:13px}

.nav-section-label{
    color:#8fa0b6;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    margin:14px 10px 4px;
}
.settings-nav-link{
    background:rgba(11,93,42,.65);
    border:1px solid rgba(255,255,255,.18);
}
.control-centre-banner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    background:#fff;
    border:2px solid var(--green);
    border-radius:12px;
    padding:16px 18px;
    margin-bottom:18px;
}
.control-centre-banner div{display:grid;gap:4px}
.control-centre-banner strong{font-size:18px;color:var(--green)}
.control-centre-banner span{color:var(--muted)}
.system-status-link{color:#fff;text-decoration:none;font-weight:800}
@media(max-width:850px){
    .control-centre-banner{align-items:stretch;flex-direction:column}
}

.document-actions{display:flex;gap:7px;align-items:center}
.document-actions form{margin:0}
.document-summary{display:grid;gap:10px;padding:12px;background:#f8fafc;border:1px solid var(--border);border-radius:8px}
input[type="file"]{background:#fff}

.delegate-filter{
    display:grid;
    grid-template-columns:2fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.delegate-filter label{display:grid;gap:6px;font-weight:800;color:var(--green)}
.expiry-overdue{color:var(--danger);font-weight:900}
@media(max-width:900px){
    .delegate-filter{grid-template-columns:1fr}
}

.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.button-row form{margin:0}
.workflow-list{display:grid;gap:9px;padding-left:22px}

.document-group-heading{margin:24px 0 10px;color:var(--navy)}
.copy-block,.email-copy{
    white-space:pre-wrap;
    background:#f8fafc;
    border:1px solid var(--border);
    border-radius:8px;
    padding:16px;
    line-height:1.55;
}
.email-copy{margin-bottom:14px}

.health-status{display:inline-block;padding:4px 9px;border-radius:99px;font-weight:900;font-size:12px}
.health-pass{background:#e8f3ec;color:#0b5d2a}
.health-warn{background:#fff4e5;color:#7a4b00}
.health-fail{background:#fee4e2;color:#b42318}
.developer-log{white-space:pre-wrap;word-break:break-word;background:#0b1220;color:#d1fadf;padding:18px;border-radius:8px;min-height:280px;max-height:620px;overflow:auto}

.command-kpis{grid-template-columns:repeat(4,1fr)}
.welcome-actions{display:flex;gap:8px;flex-wrap:wrap}
.action-list{display:grid;gap:10px}
.action-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    border:1px solid var(--border);
    border-left:6px solid var(--navy);
    border-radius:9px;
    padding:12px;
    text-decoration:none;
    background:#fff;
}
.action-item div{display:grid;gap:4px}
.action-item span{color:var(--muted);font-weight:400}
.action-item em{font-style:normal;font-size:12px;border-radius:99px;padding:4px 8px;background:#eef2f6;color:var(--navy)}
.action-item.priority-high{border-left-color:var(--danger)}
.action-item.priority-high em{background:#fee4e2;color:var(--danger)}
.action-item.priority-medium{border-left-color:var(--amber)}
.action-item.priority-medium em{background:#fff4e5;color:#7a4b00}
.action-item.priority-clear{border-left-color:var(--green)}
.action-item.priority-clear em{background:#e8f3ec;color:var(--green)}
.command-top-row{align-items:start}
@media(max-width:1250px){.command-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.command-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.command-kpis{grid-template-columns:1fr}.welcome-actions{width:100%}}

.customer-360-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
    border-radius:14px;
    padding:22px;
    margin-bottom:18px;
}
.customer-360-hero h2{margin:4px 0 3px;font-size:30px}
.customer-360-hero p{margin:0;color:#d7e5dc}
.health-score-card{
    min-width:220px;
    display:grid;
    text-align:center;
    gap:4px;
    background:#fff;
    color:#10233f;
    border-radius:12px;
    padding:16px;
}
.health-score-card span{font-size:12px;font-weight:800;color:#667085;text-transform:uppercase}
.health-score-card strong{font-size:34px;color:#0b5d2a}
.health-score-card em{font-style:normal;font-weight:800}
.health-reasons,.opportunity-list{display:grid;gap:9px}
.health-reasons div,.opportunity-list div{
    border:1px solid var(--border);
    border-radius:8px;
    padding:10px 12px;
    background:#f8fafc;
}
.opportunity-list div{border-left:5px solid var(--amber)}
@media(max-width:800px){
    .customer-360-hero{align-items:stretch;flex-direction:column}
    .health-score-card{min-width:0}
}

.action-summary-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:1300px){.action-summary-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1050px){.action-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.action-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){.action-summary-grid{grid-template-columns:1fr}}

.linked-card{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.linked-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,35,63,.12)}
.preparation-card{border:1px solid var(--border);border-left:7px solid var(--green);border-radius:12px;padding:16px;margin:14px 0;background:#fff}
.preparation-header{display:flex;justify-content:space-between;gap:14px;align-items:start}
.preparation-header h3{margin:0 0 4px;font-size:21px}
.preparation-header p{margin:0;color:var(--muted)}
.preparation-score{display:grid;text-align:center;min-width:90px;background:#e8f3ec;border-radius:10px;padding:9px}
.preparation-score strong{font-size:24px;color:var(--green)}
.preparation-score span{font-size:11px;font-weight:900;text-transform:uppercase}
.preparation-details{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 16px;margin:16px 0}
.preparation-checklist{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.preparation-checklist div{display:flex;align-items:center;gap:7px;border-radius:8px;padding:9px;font-size:13px;font-weight:800}
.preparation-checklist span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%}
.check-ready{background:#e8f3ec;color:#0b5d2a}
.check-ready span{background:#0b5d2a;color:#fff}
.check-missing{background:#fee4e2;color:#b42318}
.check-missing span{background:#b42318;color:#fff}
.attention-text{color:var(--danger);font-weight:900}
@media(max-width:1050px){.preparation-checklist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.preparation-details{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.preparation-header{flex-direction:column}.preparation-details,.preparation-checklist{grid-template-columns:1fr}.preparation-score{width:100%}}

.email-template-grid{display:grid;gap:10px}
.email-customer-card{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}
.email-customer-card>div:first-child{display:grid;gap:4px}
.email-customer-card span{color:var(--muted);font-size:13px}
.email-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.panel-less{box-shadow:none;padding:0;margin:0;border:0}
@media(max-width:850px){.email-customer-card{align-items:stretch;flex-direction:column}.email-actions{justify-content:flex-start}}

.top-greeting{
    margin:0;
    color:var(--green);
    font-size:27px;
    line-height:1.15;
}
.top-date{
    margin-top:6px;
    color:var(--muted);
    font-size:15px;
}
.page-title-row{
    margin-bottom:16px;
}
.page-title-row h2{
    margin:4px 0 0;
    color:var(--navy);
    font-size:26px;
}
@media(max-width:780px){
    .topbar{align-items:flex-start;flex-direction:column}
    .quick-actions{width:100%}
}

.kpi-grid{grid-template-columns:repeat(4,1fr)}
.chart-meta{font-size:12px;color:var(--muted);margin-top:3px}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){.kpi-grid{grid-template-columns:1fr}}

.timeline-filter{
    display:flex;
    gap:10px;
    align-items:end;
    flex-wrap:wrap;
}
.timeline-filter label{
    display:grid;
    gap:6px;
    min-width:240px;
    font-weight:800;
    color:var(--green);
}
.customer-timeline{
    position:relative;
    display:grid;
    gap:0;
    padding-left:16px;
}
.customer-timeline::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:27px;
    width:3px;
    background:#d8dee7;
}
.timeline-entry{
    position:relative;
    display:grid;
    grid-template-columns:34px 125px 1fr;
    gap:14px;
    padding:0 0 22px;
}
.timeline-marker{
    width:17px;
    height:17px;
    margin-top:5px;
    margin-left:3px;
    border-radius:50%;
    background:var(--green);
    border:4px solid #e8f3ec;
    z-index:1;
}
.timeline-high .timeline-marker{
    background:var(--amber);
    border-color:#fff4e5;
}
.timeline-date{
    display:grid;
    align-content:start;
    gap:2px;
    color:var(--navy);
}
.timeline-date span{
    color:var(--muted);
    font-size:12px;
}
.timeline-content{
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    padding:13px 15px;
}
.timeline-content h3{
    margin:4px 0 6px;
    font-size:17px;
}
.timeline-content p{
    margin:0 0 10px;
    color:var(--muted);
}
.timeline-type{
    display:inline-block;
    background:#e8f3ec;
    color:var(--green);
    border-radius:99px;
    padding:3px 8px;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.timeline-high .timeline-type{
    background:#fff4e5;
    color:#7a4b00;
}
.empty-state{
    padding:20px;
    border:1px dashed var(--border);
    border-radius:10px;
    color:var(--muted);
}
@media(max-width:700px){
    .timeline-entry{grid-template-columns:34px 1fr}
    .timeline-date{grid-column:2}
    .timeline-content{grid-column:2}
}

.priority-badge{
    display:inline-block;
    border-radius:99px;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}
.priority-high{background:#fee4e2;color:#b42318}
.priority-medium{background:#fff4e5;color:#7a4b00}
.priority-low{background:#e8f3ec;color:#0b5d2a}

.instructor-workload-grid{display:grid;gap:18px}
.instructor-workload-card{overflow:hidden}
.utilisation-track{height:12px;background:#e7ebf0;border-radius:99px;overflow:hidden;margin:12px 0 18px}
.utilisation-fill{height:100%;background:var(--green)}
.compact-cards{grid-template-columns:repeat(5,1fr)}
.availability-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.availability-day{min-height:110px;border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff;display:grid;align-content:start;gap:6px}
.availability-date{font-weight:900;color:var(--navy)}
.availability-status{font-size:12px;font-weight:800;color:var(--green)}
.availability-day a{font-size:12px;text-decoration:none;background:#e8f3ec;color:var(--green);padding:5px;border-radius:5px}
.availability-holiday,.availability-sick,.availability-training,.availability-not-available{background:#fff4e5}
.availability-holiday .availability-status,.availability-sick .availability-status,.availability-training .availability-status,.availability-not-available .availability-status{color:#b42318}
@media(max-width:1200px){.compact-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.availability-calendar{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.compact-cards{grid-template-columns:repeat(2,1fr)}.availability-calendar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.compact-cards,.availability-calendar{grid-template-columns:1fr}}

.industrial-filter{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 150px auto auto;
    gap:10px;
    align-items:end;
}
.industrial-filter label{
    display:grid;
    gap:6px;
    font-weight:800;
    color:var(--green);
}
.fit-score{
    display:inline-grid;
    place-items:center;
    min-width:38px;
    height:28px;
    border-radius:99px;
    font-weight:900;
}
.fit-high{background:#e8f3ec;color:#0b5d2a}
.fit-medium{background:#fff4e5;color:#7a4b00}
.fit-low{background:#fee4e2;color:#b42318}
@media(max-width:1100px){
    .industrial-filter{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:700px){
    .industrial-filter{grid-template-columns:1fr}
}

.scheduler-form{
    display:grid;
    grid-template-columns:1.4fr 1.4fr 1fr .7fr 1fr .8fr auto;
    gap:10px;
    align-items:end;
}
.scheduler-form label,.distance-form label{
    display:grid;
    gap:6px;
    font-weight:800;
    color:var(--green);
}
.scheduler-result{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:15px;
    border:1px solid var(--border);
    border-left:7px solid var(--green);
    border-radius:12px;
    padding:15px;
    margin-bottom:14px;
    background:#fff;
}
.scheduler-unavailable{
    border-left-color:var(--danger);
    background:#fffafa;
}
.scheduler-rank{
    display:grid;
    place-content:start center;
    text-align:center;
    gap:4px;
    background:#f4f7f9;
    border-radius:10px;
    padding:12px 8px;
}
.scheduler-rank strong{font-size:28px;color:var(--navy)}
.scheduler-rank span{font-size:12px;font-weight:900;color:var(--green)}
.scheduler-main h3{margin:0 0 4px;font-size:21px}
.scheduler-main p{margin:0;color:var(--muted)}
.scheduler-metrics{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin:14px 0;
}
.scheduler-metrics div{
    display:grid;
    gap:4px;
    background:#f8fafc;
    border:1px solid var(--border);
    border-radius:8px;
    padding:9px;
}
.scheduler-metrics span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}
.scheduler-blockers{display:grid;gap:6px;margin:10px 0}
.scheduler-blockers div{background:#fee4e2;color:#b42318;border-radius:7px;padding:8px;font-weight:800}
.scheduler-reasons{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.scheduler-reasons span{background:#e8f3ec;color:#0b5d2a;border-radius:99px;padding:5px 8px;font-size:12px;font-weight:800}
.distance-form{display:grid;grid-template-columns:140px 140px 1fr auto;gap:8px;align-items:end;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}
@media(max-width:1250px){.scheduler-form{grid-template-columns:repeat(3,1fr)}.scheduler-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.scheduler-result{grid-template-columns:1fr}.scheduler-rank{place-content:center}.distance-form{grid-template-columns:1fr 1fr}.scheduler-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){.scheduler-form,.distance-form,.scheduler-metrics{grid-template-columns:1fr}}

.workflow-filter{
    display:grid;
    grid-template-columns:1fr 1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.workflow-filter label{
    display:grid;
    gap:6px;
    font-weight:800;
    color:var(--green);
}
.workflow-overdue{
    background:#fff3f2;
}
@media(max-width:900px){
    .workflow-filter{grid-template-columns:1fr 1fr}
}
@media(max-width:550px){
    .workflow-filter{grid-template-columns:1fr}
}

.proposal-template-picker{display:grid;gap:7px;max-width:520px;font-weight:900;color:var(--green)}
.form-section-title{font-size:18px;font-weight:900;color:var(--navy);border-bottom:2px solid var(--green);padding-bottom:7px;margin-top:8px}
.proposal-profit-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.proposal-profit-preview>div{display:grid;gap:5px;border:1px solid var(--border);border-radius:9px;padding:12px;background:#f8fafc}
.proposal-profit-preview span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:900}
.proposal-profit-preview strong{font-size:20px}
.margin-warning{background:#fee4e2!important;color:#b42318}
.margin-good{background:#e8f3ec!important;color:#0b5d2a}
.pre-line{white-space:pre-line}
@media(max-width:1000px){.proposal-profit-preview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.proposal-profit-preview{grid-template-columns:1fr}}

.trainer-mode-body{
    margin:0;
    background:#eef2f5;
    color:#10233f;
    font-family:Arial,sans-serif;
}
.trainer-mode-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:#10233f;
    color:#fff;
    padding:20px clamp(18px,4vw,50px);
    border-bottom:7px solid #0b5d2a;
}
.trainer-mode-header span{font-size:12px;font-weight:900;letter-spacing:.08em;color:#bde2c8}
.trainer-mode-header h1{margin:5px 0 3px;font-size:clamp(27px,4vw,43px)}
.trainer-mode-header p{margin:0;color:#d5dde8}
.trainer-exit-button{
    color:#fff;
    border:2px solid #fff;
    border-radius:8px;
    padding:11px 16px;
    text-decoration:none;
    font-weight:900;
}
.trainer-mode-main{
    max-width:1250px;
    margin:auto;
    padding:24px clamp(14px,3vw,35px) 50px;
}
.trainer-filter-card,.trainer-summary-card,.trainer-site-card,.trainer-finish-card,.trainer-finished-card{
    background:#fff;
    border:1px solid #d5dce5;
    border-radius:13px;
    padding:18px;
    margin-bottom:20px;
}
.trainer-filter-card label{display:grid;gap:8px;font-weight:900;max-width:420px}
.trainer-filter-card select{font-size:18px;padding:12px;border:1px solid #aeb7c3;border-radius:7px}
.trainer-section-title{margin:25px 0 12px;font-size:25px}
.trainer-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.trainer-course-card{
    display:grid;
    gap:9px;
    min-height:190px;
    padding:18px;
    border:1px solid #c9d1db;
    border-left:8px solid #0b5d2a;
    border-radius:12px;
    background:#fff;
    color:#10233f;
    text-decoration:none;
}
.trainer-course-today{background:#eef8f1}
.trainer-course-card h3{margin:0;font-size:23px}
.trainer-course-card p{margin:0;color:#475467}
.trainer-course-date{font-size:13px;font-weight:900;color:#0b5d2a}
.trainer-course-meta{display:flex;gap:7px;flex-wrap:wrap}
.trainer-course-meta span{background:#edf1f5;border-radius:99px;padding:5px 8px;font-size:12px;font-weight:800}
.trainer-empty{background:#fff;border:1px dashed #aeb7c3;border-radius:10px;padding:25px;color:#667085}
.trainer-summary-card{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trainer-summary-card div,.trainer-site-grid div{display:grid;gap:5px}
.trainer-summary-card span,.trainer-site-grid span{font-size:11px;font-weight:900;text-transform:uppercase;color:#667085}
.trainer-start-button,.trainer-finish-button{
    width:100%;
    border:0;
    border-radius:12px;
    padding:20px;
    font-size:24px;
    font-weight:900;
    cursor:pointer;
}
.trainer-start-button{background:#0b5d2a;color:#fff;margin-bottom:20px}
.trainer-finish-button{background:#10233f;color:#fff}
.trainer-finish-button:disabled{background:#98a2b3;cursor:not-allowed}
.trainer-started-banner{background:#e8f3ec;color:#0b5d2a;border-radius:10px;padding:14px;font-weight:900;margin-bottom:20px}
.trainer-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.trainer-action-card{
    min-height:155px;
    display:grid;
    place-content:center;
    text-align:center;
    gap:8px;
    background:#fff;
    color:#10233f;
    border:2px solid #cbd3dd;
    border-radius:13px;
    padding:17px;
    text-decoration:none;
}
.trainer-action-card>span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin:auto;
    border-radius:50%;
    background:#10233f;
    color:#fff;
    font-size:20px;
    font-weight:900;
}
.trainer-action-card strong{font-size:21px}
.trainer-action-card small{color:#667085}
.trainer-action-complete{border-color:#0b5d2a;background:#eef8f1}
.trainer-action-complete>span{background:#0b5d2a}
.trainer-site-card h2,.trainer-finish-card h2,.trainer-finished-card h2{margin-top:0}
.trainer-site-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.trainer-maps-button{
    display:block;
    margin-top:17px;
    background:#0b5d2a;
    color:#fff;
    text-align:center;
    border-radius:8px;
    padding:13px;
    text-decoration:none;
    font-weight:900;
}
.trainer-finished-card{background:#e8f3ec;border-color:#0b5d2a}
.trainer-finished-actions{display:flex;gap:9px;flex-wrap:wrap}
.trainer-finished-actions a{background:#0b5d2a;color:#fff;padding:11px;border-radius:7px;text-decoration:none;font-weight:900}
.trainer-flash{padding:13px;border-radius:8px;margin-bottom:14px;font-weight:800}
.trainer-flash-success{background:#e8f3ec;color:#0b5d2a}
.trainer-flash-error{background:#fee4e2;color:#b42318}
@media(max-width:950px){
    .trainer-course-grid,.trainer-action-grid{grid-template-columns:repeat(2,1fr)}
    .trainer-summary-card{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
    .trainer-mode-header{align-items:flex-start;flex-direction:column}
    .trainer-course-grid,.trainer-action-grid,.trainer-summary-card,.trainer-site-grid{grid-template-columns:1fr}
    .trainer-exit-button{width:100%;text-align:center}
}

.md-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
    border-radius:14px;
    padding:22px;
    margin-bottom:18px;
}
.md-hero h2{margin:5px 0 4px;font-size:31px}
.md-hero p{margin:0;color:#d4e4da}
.md-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.md-kpi-grid{grid-template-columns:repeat(4,1fr)}
.md-recommendations{display:grid;gap:9px}
.md-recommendation{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid var(--border);
    border-left:6px solid var(--green);
    border-radius:9px;
    text-decoration:none;
    background:#fff;
}
.md-recommendation>div{display:grid;gap:4px}
.md-recommendation span{color:var(--muted);font-weight:400}
.md-recommendation em{
    font-style:normal;
    font-size:11px;
    font-weight:900;
    border-radius:99px;
    padding:5px 8px;
}
.md-recommendation.priority-high{border-left-color:var(--danger)}
.md-recommendation.priority-high em{background:#fee4e2;color:#b42318}
.md-recommendation.priority-medium{border-left-color:var(--amber)}
.md-recommendation.priority-medium em{background:#fff4e5;color:#7a4b00}
.md-recommendation.priority-low em{background:#e8f3ec;color:#0b5d2a}
.target-form{margin-top:18px}
@media(max-width:1200px){.md-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.md-kpi-grid{grid-template-columns:repeat(2,1fr)}.md-hero{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.md-kpi-grid{grid-template-columns:1fr}.md-hero-actions{display:grid}}

.quality-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
    border-radius:14px;
    padding:22px;
    margin-bottom:18px;
}
.quality-hero h2{margin:4px 0;font-size:42px}
.quality-hero p{margin:0;color:#d7e5dc}
.quality-integrity{
    min-width:210px;
    display:grid;
    text-align:center;
    gap:5px;
    background:#fff;
    color:#10233f;
    border-radius:11px;
    padding:15px;
}
.quality-integrity span{font-size:11px;text-transform:uppercase;font-weight:900;color:#667085}
.quality-integrity strong{font-size:25px;color:#0b5d2a}
.quality-filter{
    display:grid;
    grid-template-columns:1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.quality-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.quality-severity{
    display:inline-block;
    border-radius:99px;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}
.severity-high{background:#fee4e2;color:#b42318}
.severity-medium{background:#fff4e5;color:#7a4b00}
.severity-low{background:#e8f3ec;color:#0b5d2a}
.audit-check-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
}
.audit-check-grid div{
    border:1px solid var(--border);
    border-left:5px solid var(--green);
    border-radius:8px;
    padding:11px;
    background:#f8fafc;
    font-weight:700;
}
@media(max-width:850px){
    .quality-hero{align-items:stretch;flex-direction:column}
    .quality-integrity{min-width:0}
    .audit-check-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
    .quality-filter,.audit-check-grid{grid-template-columns:1fr}
}

.pipeline-sync-form{display:flex;gap:7px;align-items:center}
.pipeline-sync-form input{width:78px}
.pipeline-help{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pipeline-help span{color:var(--muted)}
.pipeline-board{
    display:grid;
    grid-template-columns:repeat(7,minmax(250px,1fr));
    gap:13px;
    overflow-x:auto;
    padding-bottom:18px;
}
.pipeline-column{
    min-width:250px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#f4f6f8;
    overflow:hidden;
}
.pipeline-column-header{
    display:flex;
    justify-content:space-between;
    align-items:start;
    gap:8px;
    padding:13px;
    background:var(--navy);
    color:#fff;
}
.pipeline-column-header h2{font-size:16px;margin:0 0 3px;color:#fff}
.pipeline-column-header span{font-size:11px;color:#d8e0eb}
.pipeline-column-header>strong{font-size:14px}
.pipeline-drop-zone{
    min-height:420px;
    padding:9px;
    display:grid;
    align-content:start;
    gap:9px;
    transition:background .15s ease;
}
.pipeline-drop-zone.drag-over{background:#dff2e5}
.pipeline-card{
    border:1px solid #ced5de;
    border-left:5px solid var(--green);
    border-radius:9px;
    background:#fff;
    padding:11px;
    cursor:grab;
    box-shadow:0 2px 5px rgba(16,35,63,.05);
}
.pipeline-card.dragging{opacity:.45}
.pipeline-card-top{
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:start;
}
.pipeline-card-top a{
    color:var(--navy);
    font-weight:900;
    text-decoration:none;
}
.pipeline-card-top span{
    background:#e8f3ec;
    color:var(--green);
    border-radius:99px;
    padding:3px 6px;
    font-size:10px;
    font-weight:900;
}
.pipeline-source{
    margin:6px 0;
    color:var(--muted);
    font-size:11px;
}
.pipeline-card-value{
    font-size:19px;
    font-weight:900;
    color:var(--green);
    margin:7px 0;
}
.pipeline-card-meta{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    margin-bottom:7px;
}
.pipeline-card-meta span{
    background:#edf1f5;
    border-radius:99px;
    padding:3px 6px;
    font-size:10px;
    font-weight:700;
}
.pipeline-followup{
    border-radius:6px;
    padding:6px;
    margin:6px 0;
    background:#edf1f5;
    font-size:11px;
    font-weight:800;
}
.pipeline-followup-overdue{
    background:#fee4e2;
    color:#b42318;
}
.pipeline-card small{
    display:block;
    color:var(--muted);
    margin:6px 0;
}
.pipeline-card-actions{
    display:flex;
    gap:6px;
    border-top:1px solid var(--border);
    padding-top:8px;
    margin-top:8px;
}
.pipeline-card-actions a{
    font-size:11px;
    font-weight:900;
    color:var(--green);
    text-decoration:none;
}
@media(max-width:850px){
    .pipeline-board{grid-template-columns:repeat(7,270px)}
}

.board-cover{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
    border-radius:14px;
    padding:25px;
    margin-bottom:18px;
}
.board-cover h2{margin:5px 0 4px;font-size:31px}
.board-cover p{margin:0;color:#d9e7df}
.board-cover-mark{
    display:grid;
    place-items:center;
    width:92px;
    height:92px;
    border-radius:50%;
    background:#fff;
    color:#0b5d2a;
    font-size:36px;
    font-weight:900;
}
.board-executive-summary{font-size:18px;line-height:1.7}
.board-kpis{grid-template-columns:repeat(4,1fr)}
.board-traffic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.board-traffic-card{
    border:1px solid var(--border);
    border-left:7px solid #98a2b3;
    border-radius:10px;
    background:#fff;
    padding:14px;
}
.board-traffic-card.traffic-green{border-left-color:#0b5d2a}
.board-traffic-card.traffic-amber{border-left-color:#f79009}
.board-traffic-card.traffic-red{border-left-color:#b42318}
.board-traffic-heading{
    display:grid;
    grid-template-columns:18px 1fr auto;
    gap:8px;
    align-items:center;
}
.board-traffic-heading h3{margin:0;font-size:17px}
.board-light{width:14px;height:14px;border-radius:50%;background:#98a2b3}
.traffic-green .board-light{background:#0b5d2a}
.traffic-amber .board-light{background:#f79009}
.traffic-red .board-light{background:#b42318}
.board-traffic-card p{color:var(--muted);min-height:52px}
.board-next-action{border-top:1px solid var(--border);padding-top:9px;font-weight:800}
.board-priority-list{display:grid;gap:9px}
.board-priority{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    border:1px solid var(--border);
    border-left:6px solid var(--amber);
    border-radius:9px;
    padding:12px;
    color:var(--navy);
    text-decoration:none;
}
.board-priority.priority-high{border-left-color:var(--danger)}
.board-priority.priority-low{border-left-color:var(--green)}
.board-priority>div{display:grid;gap:4px}
.board-priority span{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--green)}
.board-priority p{margin:0;color:var(--muted)}
.board-priority em{font-style:normal;font-weight:900}
.board-week-plan{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.board-week-plan>div{
    border:1px solid var(--border);
    border-top:6px solid var(--green);
    border-radius:9px;
    padding:12px;
    background:#fff;
}
.board-week-plan span{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--green)}
.board-week-plan strong{display:block;margin:6px 0}
.board-week-plan p{margin:0;color:var(--muted)}
@media(max-width:1150px){
    .board-kpis{grid-template-columns:repeat(3,1fr)}
    .board-traffic-grid{grid-template-columns:repeat(2,1fr)}
    .board-week-plan{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:750px){
    .board-cover{align-items:flex-start;flex-direction:column}
    .board-kpis,.board-traffic-grid,.board-week-plan{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
    .board-kpis,.board-traffic-grid,.board-week-plan{grid-template-columns:1fr}
}
@media print{
    .sidebar,.topbar,.actions,.board-notes-section,.flash{display:none!important}
    .app-shell{display:block!important}
    .content-area{padding:0!important}
    .panel,.board-cover,.board-traffic-card,.card{break-inside:avoid}
}

.retention-filter{
    display:grid;
    grid-template-columns:1fr 1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.retention-filter label{
    display:grid;
    gap:6px;
    font-weight:900;
    color:var(--green);
}
.retention-opportunity-grid{display:grid;gap:14px}
.retention-opportunity-card{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:15px;
    border:1px solid var(--border);
    border-left:8px solid var(--amber);
    border-radius:12px;
    background:#fff;
    padding:16px;
}
.retention-opportunity-card.retention-high{border-left-color:var(--danger)}
.retention-opportunity-card.retention-low{border-left-color:var(--green)}
.retention-score{
    display:grid;
    place-content:center;
    text-align:center;
    border-radius:10px;
    background:#f4f7f9;
    padding:14px;
}
.retention-score strong{font-size:38px;color:var(--navy)}
.retention-score span{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted)}
.retention-heading{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:start;
}
.retention-heading span{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--green)}
.retention-heading h2{margin:4px 0 1px;font-size:22px}
.retention-heading h3{margin:0;color:var(--muted);font-size:16px}
.retention-value{font-size:26px;font-weight:900;color:var(--green);white-space:nowrap}
.retention-reason{font-size:16px}
.retention-details{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:12px 0;
}
.retention-details div{
    display:grid;
    gap:3px;
    border:1px solid var(--border);
    border-radius:8px;
    padding:9px;
    background:#f8fafc;
}
.retention-details span{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--muted)}
.retention-action-note{
    background:#eef8f1;
    color:#0b5d2a;
    border-radius:8px;
    padding:10px;
    margin:10px 0;
}
.retention-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.retention-actions form{display:flex;gap:6px;align-items:center}
.retention-actions select{min-width:120px}
@media(max-width:950px){
    .retention-opportunity-card{grid-template-columns:1fr}
    .retention-score{place-content:center}
    .retention-details{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
    .retention-filter,.retention-details{grid-template-columns:1fr}
    .retention-heading{flex-direction:column}
}

.ai-brief-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
    border-radius:15px;
    padding:25px;
    margin-bottom:18px;
}
.ai-brief-hero h2{margin:5px 0 4px;font-size:32px}
.ai-brief-hero p{margin:0;color:#d9e7df}
.ai-health-score{
    min-width:175px;
    display:grid;
    text-align:center;
    gap:4px;
    background:#fff;
    color:#10233f;
    border-radius:12px;
    padding:15px;
}
.ai-health-score span{font-size:11px;text-transform:uppercase;font-weight:900;color:#667085}
.ai-health-score strong{font-size:40px;color:#0b5d2a}
.ai-summary-panel p{font-size:18px;line-height:1.65}
.ai-rule-note{background:#eef3f7;border-left:5px solid #10233f;border-radius:7px;padding:10px;color:#475467;font-size:13px}
.ai-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.ai-health-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:14px}
.ai-health-card span{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.ai-health-card strong{display:block;font-size:26px;margin:5px 0;color:var(--navy)}
.health-track{height:9px;background:#e8edf2;border-radius:99px;overflow:hidden}
.health-track i{display:block;height:100%;background:var(--green)}
.ai-kpi-grid{grid-template-columns:repeat(4,1fr)}
.ai-priority-list{display:grid;gap:9px}
.ai-priority-card{
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:12px;
    align-items:center;
    color:var(--navy);
    text-decoration:none;
    border:1px solid var(--border);
    border-left:7px solid var(--amber);
    border-radius:10px;
    padding:12px;
    background:#fff;
}
.ai-priority-card.priority-high{border-left-color:var(--danger)}
.ai-priority-card.priority-low{border-left-color:var(--green)}
.ai-priority-rank{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}
.ai-priority-card>div:nth-child(2){display:grid;gap:3px}
.ai-priority-card span{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--green)}
.ai-priority-card p{margin:0;color:var(--muted)}
.ai-priority-card em{font-style:normal;font-size:11px;font-weight:900}
.forecast-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.forecast-grid div{display:grid;gap:5px;border:1px solid var(--border);border-radius:9px;padding:12px;background:#f8fafc}
.forecast-grid span{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.forecast-grid strong{font-size:24px;color:var(--green)}
.ai-warning-list,.ai-opportunity-list{display:grid;gap:8px}
.ai-warning-list div{background:#fff4e5;color:#7a4b00;border-radius:8px;padding:10px;font-weight:800}
.ai-opportunity-list div{background:#e8f3ec;color:#0b5d2a;border-radius:8px;padding:10px;font-weight:800}
.ai-all-clear{background:#e8f3ec!important;color:#0b5d2a!important}
@media(max-width:1100px){
    .ai-health-grid,.ai-kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .ai-brief-hero{align-items:stretch;flex-direction:column}
    .ai-health-score{min-width:0}
    .ai-health-grid,.ai-kpi-grid,.forecast-grid{grid-template-columns:1fr}
    .ai-priority-card{grid-template-columns:42px 1fr}
    .ai-priority-card em{grid-column:2}
}

.catalogue-filter{
    display:grid;
    grid-template-columns:1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.catalogue-filter label{
    display:grid;
    gap:6px;
    font-weight:900;
    color:var(--green);
}
.catalogue-section{overflow:hidden}
.catalogue-section-heading{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:start;
    margin-bottom:13px;
    padding-bottom:12px;
    border-bottom:3px solid var(--green);
}
.catalogue-section-heading span{
    font-size:11px;
    text-transform:uppercase;
    font-weight:900;
    color:var(--green);
}
.catalogue-section-heading h2{margin:4px 0}
.catalogue-section-heading p{margin:0;color:var(--muted)}
.catalogue-section-heading>strong{
    background:#e8f3ec;
    color:#0b5d2a;
    border-radius:99px;
    padding:7px 10px;
    white-space:nowrap;
}
.catalogue-margin{
    display:inline-block;
    border-radius:99px;
    padding:4px 7px;
    font-size:11px;
    font-weight:900;
}
.catalogue-margin-good{background:#e8f3ec;color:#0b5d2a}
.catalogue-margin-low{background:#fee4e2;color:#b42318}
.checkbox-label{
    display:flex!important;
    align-items:center;
    gap:8px;
    min-height:42px;
}
.checkbox-label input{width:auto}
@media(max-width:700px){
    .catalogue-filter{grid-template-columns:1fr}
    .catalogue-section-heading{flex-direction:column}
}

.import-filter{
    display:grid;
    grid-template-columns:220px auto auto;
    gap:10px;
    align-items:end;
}
.import-filter label{
    display:grid;
    gap:6px;
    font-weight:900;
    color:var(--green);
}
.import-review-table{overflow-x:auto}
.import-status{
    display:inline-block;
    border-radius:99px;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}
.import-status-ready{background:#e8f3ec;color:#0b5d2a}
.import-status-duplicate{background:#fff4e5;color:#7a4b00}
.import-status-error{background:#fee4e2;color:#b42318}
.import-status-imported{background:#e8eef8;color:#10233f}
.import-row-error{background:#fff8f7}
.import-row-duplicate{background:#fffcf5}
.import-row-imported{background:#f3f7fc}
@media(max-width:650px){
    .import-filter{grid-template-columns:1fr}
}

.accounts-filter{
    display:grid;
    grid-template-columns:1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.accounts-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.xero-connection-banner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}
.xero-connection-banner div{display:grid;gap:4px}
.xero-connection-banner span{
    font-size:11px;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
}
.xero-connection-banner strong{font-size:22px;color:var(--navy)}
.xero-connection-banner p{margin:0;color:var(--muted)}
.accounts-table{overflow-x:auto}
.accounts-update-form{
    min-width:280px;
    display:grid;
    gap:8px;
    padding:12px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
    margin-top:8px;
}
.accounts-update-form label{
    display:grid;
    gap:4px;
    font-size:12px;
    font-weight:800;
}
.accounts-process{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:9px;
}
.accounts-process div{
    display:grid;
    place-items:center;
    text-align:center;
    gap:6px;
    border:1px solid var(--border);
    border-top:5px solid var(--green);
    border-radius:9px;
    padding:12px;
}
.accounts-process strong{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
}
.xero-status-card{
    display:grid;
    gap:5px;
    border-left:6px solid var(--green);
    padding:12px;
    background:#f8fafc;
    border-radius:8px;
}
.xero-status-card span{
    font-size:11px;
    text-transform:uppercase;
    color:var(--green);
    font-weight:900;
}
.xero-status-card strong{font-size:22px}
.xero-status-card p{margin:0;color:var(--muted)}
@media(max-width:1000px){
    .accounts-process{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
    .accounts-filter,.accounts-process{grid-template-columns:1fr}
    .xero-connection-banner{align-items:stretch;flex-direction:column}
}

.delegate-filter{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.delegate-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.delegate-table-wrap,.matrix-wrap{overflow-x:auto}
.delegate-status,.matrix-status{
    display:inline-block;
    border-radius:99px;
    padding:4px 7px;
    font-size:11px;
    font-weight:900;
}
.status-expired{background:#fee4e2;color:#b42318}
.status-due-30-days{background:#fff0e0;color:#9a3412}
.status-due-60-days{background:#fff4e5;color:#7a4b00}
.status-due-90-days{background:#fff8cc;color:#665c00}
.status-current{background:#e8f3ec;color:#0b5d2a}
.status-no-expiry{background:#edf1f5;color:#475467}
.delegate-quality-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.delegate-quality-grid div{
    display:grid;
    gap:5px;
    border:1px solid var(--border);
    border-radius:9px;
    padding:12px;
    background:#f8fafc;
}
.delegate-quality-grid span{
    font-size:11px;
    text-transform:uppercase;
    font-weight:900;
    color:var(--muted);
}
.delegate-quality-grid strong{font-size:25px}
.delegate-profile-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}
.delegate-profile-hero>div:first-child span{
    font-size:11px;
    text-transform:uppercase;
    font-weight:900;
    color:var(--green);
}
.delegate-profile-hero h2{margin:4px 0}
.delegate-profile-hero p{margin:0;color:var(--muted)}
.delegate-profile-hero>div:last-child{
    min-width:140px;
    display:grid;
    text-align:center;
    gap:3px;
    background:#eef8f1;
    color:#0b5d2a;
    border-radius:10px;
    padding:13px;
}
.delegate-profile-hero>div:last-child strong{font-size:30px}
.training-matrix th,.training-matrix td{
    min-width:135px;
    vertical-align:top;
}
.training-matrix td:first-child,.training-matrix th:first-child{
    position:sticky;
    left:0;
    z-index:1;
    background:#fff;
}
.training-matrix small{
    display:block;
    margin-top:5px;
    color:var(--muted);
}
.matrix-missing{
    display:inline-block;
    border-radius:99px;
    padding:4px 7px;
    font-size:11px;
    font-weight:900;
    background:#edf1f5;
    color:#667085;
}
@media(max-width:900px){
    .delegate-filter{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
    .delegate-filter,.delegate-quality-grid{grid-template-columns:1fr}
    .delegate-profile-hero{align-items:stretch;flex-direction:column}
}
@media print{
    .training-matrix th,.training-matrix td{font-size:10px;padding:5px}
}

.document-type-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.document-type-grid div{
    border:1px solid var(--border);
    border-left:5px solid var(--green);
    border-radius:8px;
    padding:11px;
    background:#f8fafc;
    font-weight:800;
}
@media(max-width:700px){
    .document-type-grid{grid-template-columns:1fr}
}

.communications-filter{
    display:grid;
    grid-template-columns:1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.communications-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.communications-table-wrap{overflow-x:auto}
.communication-status{
    display:inline-block;
    border-radius:99px;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}
.communication-status-ready{background:#e8f3ec;color:#0b5d2a}
.communication-status-draft{background:#edf1f5;color:#475467}
.communication-status-sent{background:#e8eef8;color:#10233f}
.communication-status-cancelled{background:#fee4e2;color:#b42318}
@media(max-width:650px){
    .communications-filter{grid-template-columns:1fr}
}

.system-health-hero{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-bottom:18px;
}
.system-health-hero>div{
    display:grid;
    gap:4px;
    border:1px solid var(--border);
    border-top:6px solid var(--green);
    border-radius:11px;
    padding:16px;
    background:#fff;
}
.system-health-hero span{
    font-size:11px;
    text-transform:uppercase;
    font-weight:900;
    color:var(--muted);
}
.system-health-hero strong{
    font-size:28px;
    color:var(--navy);
}
.system-health-hero p{
    margin:0;
    color:var(--muted);
    word-break:break-all;
}
.system-health-issues{
    display:grid;
    gap:8px;
}
.system-health-issues div{
    background:#fee4e2;
    color:#b42318;
    border-radius:8px;
    padding:10px;
    font-weight:800;
}
.system-health-ok{
    background:#e8f3ec;
    color:#0b5d2a;
    border-radius:8px;
    padding:12px;
    font-weight:900;
}
.restore-steps{
    display:grid;
    gap:8px;
    padding-left:22px;
}
@media(max-width:800px){
    .system-health-hero{grid-template-columns:1fr}
}

.inline-form{
    display:flex;
    gap:7px;
    align-items:center;
}
.inline-form select{min-width:220px}
@media(max-width:650px){
    .inline-form{align-items:stretch;flex-direction:column}
    .inline-form select{min-width:0}
}

.finance-filter{
    display:grid;
    grid-template-columns:180px 220px auto;
    gap:10px;
    align-items:end;
}
.finance-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.finance-kpis{grid-template-columns:repeat(4,1fr)}
.target-progress-card{
    display:grid;
    grid-template-columns:220px 1fr 150px;
    gap:14px;
    align-items:center;
}
.target-progress-card>div:first-child,
.target-progress-card>div:last-child{
    display:grid;
    gap:4px;
}
.target-progress-card span{
    font-size:11px;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
}
.target-progress-card strong{
    font-size:24px;
    color:var(--navy);
}
.target-progress-track{
    height:18px;
    background:#e8edf2;
    border-radius:99px;
    overflow:hidden;
}
.target-progress-track i{
    display:block;
    height:100%;
    background:var(--green);
}
.finance-warning-list{
    display:grid;
    gap:8px;
}
.finance-warning-list div{
    background:#fff4e5;
    color:#7a4b00;
    border-radius:8px;
    padding:10px;
    font-weight:800;
}
.finance-all-clear{
    background:#e8f3ec!important;
    color:#0b5d2a!important;
}
@media(max-width:1100px){
    .finance-kpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .finance-filter,.target-progress-card,.finance-kpis{grid-template-columns:1fr}
}

.enquiry-filter{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.enquiry-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.enquiry-table-wrap{overflow-x:auto}
@media(max-width:850px){
    .enquiry-filter{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
    .enquiry-filter{grid-template-columns:1fr}
}

.customer-success-filter{
    display:grid;
    grid-template-columns:1.5fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.customer-success-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.customer-success-table-wrap{overflow-x:auto}
.customer-health{
    display:inline-block;
    border-radius:99px;
    padding:5px 9px;
    font-size:11px;
    font-weight:900;
}
.health-green{background:#e8f3ec;color:#0b5d2a}
.health-amber{background:#fff4e5;color:#7a4b00}
.health-red{background:#fee4e2;color:#b42318}
.customer-success-hero{
    display:grid;
    grid-template-columns:1fr 150px 180px;
    gap:14px;
    align-items:center;
    border:1px solid var(--border);
    border-left:8px solid #98a2b3;
    border-radius:12px;
    padding:18px;
    background:#fff;
    margin-bottom:18px;
}
.customer-success-green{border-left-color:#0b5d2a}
.customer-success-amber{border-left-color:#f79009}
.customer-success-red{border-left-color:#b42318}
.customer-success-hero>div:first-child span{
    font-size:11px;
    text-transform:uppercase;
    color:var(--green);
    font-weight:900;
}
.customer-success-hero h2{margin:4px 0}
.customer-success-hero p{margin:0;color:var(--muted)}
.customer-success-score{
    display:grid;
    gap:5px;
    text-align:center;
    border:1px solid var(--border);
    border-radius:9px;
    padding:12px;
    background:#f8fafc;
}
.customer-success-score span{
    font-size:10px;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
}
.customer-success-score strong{font-size:28px;color:var(--navy)}
.customer-timeline-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:9px;
}
.customer-timeline-grid div{
    display:grid;
    gap:4px;
    border:1px solid var(--border);
    border-radius:8px;
    padding:10px;
    background:#f8fafc;
}
.customer-timeline-grid span{
    font-size:10px;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
}
@media(max-width:1100px){
    .customer-timeline-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:750px){
    .customer-success-filter{grid-template-columns:1fr}
    .customer-success-hero{grid-template-columns:1fr}
    .customer-timeline-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:500px){
    .customer-timeline-grid{grid-template-columns:1fr}
}

.ops-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
    border-radius:15px;
    padding:24px;
    margin-bottom:18px;
}
.ops-hero span{
    font-size:11px;
    text-transform:uppercase;
    font-weight:900;
}
.ops-hero h2{margin:5px 0;font-size:31px}
.ops-hero p{margin:0;color:#d9e7df}
.ops-health-score{
    min-width:175px;
    display:grid;
    gap:4px;
    text-align:center;
    background:#fff;
    color:#10233f;
    border-radius:12px;
    padding:15px;
}
.ops-health-score strong{font-size:40px;color:#0b5d2a}
.ops-kpis{grid-template-columns:repeat(4,1fr)}
.ops-priority-list{display:grid;gap:9px}
.ops-priority{
    display:grid;
    grid-template-columns:44px 1fr auto;
    gap:12px;
    align-items:center;
    color:var(--navy);
    text-decoration:none;
    border:1px solid var(--border);
    border-left:7px solid var(--amber);
    border-radius:10px;
    padding:12px;
    background:#fff;
}
.ops-priority.priority-high{border-left-color:var(--danger)}
.ops-priority.priority-low{border-left-color:var(--green)}
.ops-priority-number{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-weight:900;
}
.ops-priority>div:nth-child(2){display:grid;gap:3px}
.ops-priority span{
    font-size:10px;
    text-transform:uppercase;
    font-weight:900;
    color:var(--green);
}
.ops-priority p{margin:0;color:var(--muted)}
.ops-priority em{font-style:normal;font-size:11px;font-weight:900}
.capacity-card{display:grid;gap:14px}
.capacity-card>div:first-child{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.capacity-card>div:first-child span{
    text-transform:uppercase;
    font-size:11px;
    font-weight:900;
    color:var(--muted);
}
.capacity-card>div:first-child strong{font-size:30px;color:var(--navy)}
.capacity-track{
    height:18px;
    border-radius:99px;
    background:#e8edf2;
    overflow:hidden;
}
.capacity-track i{
    display:block;
    height:100%;
    background:var(--green);
}
.capacity-metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
}
.capacity-metrics div{
    display:grid;
    gap:4px;
    border:1px solid var(--border);
    border-radius:8px;
    padding:10px;
    background:#f8fafc;
}
.capacity-metrics span{
    font-size:10px;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
}
.ops-shortcuts{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.ops-shortcuts a{
    display:grid;
    place-items:center;
    min-height:72px;
    padding:12px;
    border:1px solid var(--border);
    border-top:5px solid var(--green);
    border-radius:9px;
    text-decoration:none;
    color:var(--navy);
    background:#fff;
    font-weight:900;
    text-align:center;
}
@media(max-width:1100px){
    .ops-kpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:750px){
    .ops-hero{align-items:stretch;flex-direction:column}
    .ops-health-score{min-width:0}
    .ops-kpis,.capacity-metrics,.ops-shortcuts{grid-template-columns:1fr}
    .ops-priority{grid-template-columns:40px 1fr}
    .ops-priority em{grid-column:2}
}

.certificate-filter{
    display:grid;
    grid-template-columns:1.5fr 1fr auto auto;
    gap:10px;
    align-items:end;
}
.certificate-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.certificate-table-wrap{overflow-x:auto}
.certificate-status{
    display:inline-block;
    padding:4px 8px;
    border-radius:99px;
    font-size:11px;
    font-weight:900;
}
.certificate-status-valid{background:#e8f3ec;color:#0b5d2a}
.certificate-status-expired{background:#fff4e5;color:#9a3412}
.certificate-status-revoked{background:#fee4e2;color:#b42318}
.certificate-batch-list{
    max-height:330px;
    overflow:auto;
    display:grid;
    gap:7px;
    margin-bottom:12px;
    border:1px solid var(--border);
    border-radius:8px;
    padding:10px;
}
.certificate-batch-list label{
    display:flex;
    gap:8px;
    align-items:start;
    padding:7px;
    border-radius:6px;
    background:#f8fafc;
}
.certificate-batch-list input{width:auto;margin-top:2px}
@media(max-width:700px){
    .certificate-filter{grid-template-columns:1fr}
}

.delivery-filter{display:grid;grid-template-columns:260px auto auto;gap:10px;align-items:end}
.delivery-filter label{display:grid;gap:6px;color:var(--green);font-weight:900}
.delivery-table-wrap{overflow-x:auto}
.completion-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.completion-checks label{display:flex;gap:8px;align-items:center;font-weight:800}
.completion-checks label input[type="checkbox"]{width:auto}
.completion-checks .wide{grid-column:1/-1}
.completion-checks .wide textarea,.completion-checks .wide input{width:100%}
@media(max-width:750px){
    .delivery-filter,.completion-checks{grid-template-columns:1fr}
    .completion-checks .wide{grid-column:auto}
}

.growth-filter{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr auto;
    gap:10px;
    align-items:end;
}
.growth-filter label{
    display:grid;
    gap:6px;
    color:var(--green);
    font-weight:900;
}
.skills-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:8px;
}
.skills-grid div{
    border:1px solid var(--border);
    border-left:4px solid var(--green);
    border-radius:7px;
    padding:9px;
    background:#f8fafc;
    font-weight:800;
}
.quote-pro-form h2{margin-top:22px}
.quote-line{
    display:grid;
    grid-template-columns:2fr .7fr 1fr .5fr .8fr;
    gap:8px;
    margin-bottom:8px;
}
.pipeline-board{overflow-x:auto}
.pipeline-update{
    display:grid;
    grid-template-columns:130px 75px 105px 135px 160px auto;
    gap:6px;
    align-items:center;
    min-width:760px;
}
.pipeline-update input,.pipeline-update select{padding:7px}
@media(max-width:900px){
    .growth-filter,.quote-line{grid-template-columns:1fr 1fr}
    .quote-line-headings{display:none}
    .skills-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
    .growth-filter,.quote-line,.skills-grid{grid-template-columns:1fr}
}

.director-hero{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    padding:24px;
    border-radius:15px;
    background:linear-gradient(135deg,#252a2d,#f45112);
    color:#fff;
    margin-bottom:18px;
}
.director-hero h2{margin:5px 0;font-size:31px}
.director-hero p{margin:0;color:#f8dfd4}
.director-score{
    min-width:170px;
    text-align:center;
    background:#fff;
    color:#252a2d;
    border-radius:12px;
    padding:14px;
    display:grid;
    gap:5px;
}
.director-score span{font-size:10px;text-transform:uppercase;font-weight:900}
.director-score strong{font-size:40px;color:#f45112}
.director-kpis{grid-template-columns:repeat(4,1fr)}
.director-recommendations{display:grid;gap:9px}
.director-recommendation{
    display:grid;
    grid-template-columns:42px 1fr auto;
    gap:12px;
    align-items:center;
    text-decoration:none;
    color:var(--navy);
    border:1px solid var(--border);
    border-left:7px solid #f79009;
    border-radius:9px;
    padding:12px;
    background:#fff;
}
.recommendation-high{border-left-color:#b42318}
.recommendation-low{border-left-color:#0b5d2a}
.recommendation-rank{
    display:grid;
    place-items:center;
    width:35px;height:35px;border-radius:50%;
    background:#252a2d;color:#fff;font-weight:900;
}
.director-recommendation span{
    display:block;font-size:10px;text-transform:uppercase;
    color:#f45112;font-weight:900;
}
.director-recommendation strong{display:block;margin:2px 0}
.director-recommendation p{margin:0;color:var(--muted)}
.director-recommendation em{font-style:normal;font-weight:900;font-size:11px}
.director-shortcuts{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:9px;
}
.director-shortcuts a{
    display:grid;
    place-items:center;
    min-height:68px;
    text-align:center;
    padding:10px;
    border:1px solid var(--border);
    border-top:5px solid #f45112;
    border-radius:8px;
    background:#fff;
    color:#252a2d;
    text-decoration:none;
    font-weight:900;
}
.diagnostic-status{
    display:inline-block;
    border-radius:99px;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}
.diagnostic-pass{background:#e8f3ec;color:#0b5d2a}
.diagnostic-warn{background:#fff4e5;color:#7a4b00}
.diagnostic-fail{background:#fee4e2;color:#b42318}
@media(max-width:1100px){
    .director-kpis{grid-template-columns:repeat(2,1fr)}
    .director-shortcuts{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
    .director-hero{flex-direction:column;align-items:stretch}
    .director-score{min-width:0}
    .director-kpis,.director-shortcuts{grid-template-columns:1fr}
    .director-recommendation{grid-template-columns:40px 1fr}
    .director-recommendation em{grid-column:2}
}

.kpi-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.kpi-grid{grid-template-columns:1fr}}

.matrix-update{
    display:grid;
    grid-template-columns:120px 120px 150px 130px 150px 100px auto;
    gap:5px;
    min-width:920px;
}
.matrix-expired{background:#fee4e2}
.matrix-due{background:#fff4e5}
.matrix-current{background:#f3faf5}
.executive-wall{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:24px;
    margin-bottom:18px;
    border-radius:14px;
    background:linear-gradient(135deg,#10233f,#0b5d2a);
    color:#fff;
}
.executive-wall h2{margin:5px 0;font-size:31px}
.executive-wall p{margin:0;color:#d8e6df}
.executive-health{
    background:#fff;
    color:#10233f;
    border-radius:12px;
    padding:14px 20px;
    display:grid;
    text-align:center;
    gap:5px;
    min-width:170px;
}
.executive-health span{font-size:10px;text-transform:uppercase;font-weight:900}
.executive-health strong{font-size:38px;color:#0b5d2a}
@media(max-width:900px){
    .executive-wall{flex-direction:column;align-items:stretch}
    .executive-health{min-width:0}
}

.quality-update{
    display:grid;
    grid-template-columns:110px 150px 170px 170px 130px 130px 150px auto;
    gap:5px;
    min-width:1150px;
}
.document-checklist{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    max-height:390px;
    overflow:auto;
    padding:10px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#f8fafc;
}
.document-checklist label{
    display:flex;
    gap:7px;
    align-items:center;
}
.document-checklist input{width:auto}
@media(max-width:700px){
    .document-checklist{grid-template-columns:1fr}
}

.system-complete-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border-radius:15px;
    padding:24px;
    margin-bottom:18px;
    background:linear-gradient(135deg,#252a2d,#f45112);
    color:#fff;
}
.system-complete-hero h2{margin:5px 0;font-size:31px}
.system-complete-hero p{margin:0;color:#f8dfd4}
.system-complete-hero>div:last-child{
    min-width:210px;
    background:#fff;
    color:#252a2d;
    border-radius:12px;
    padding:15px;
    text-align:center;
    display:grid;
    gap:5px;
}
.system-complete-hero strong{font-size:38px;color:#f45112}
.system-complete-hero small{color:#667085}
.integration-update{
    display:grid;
    grid-template-columns:95px 130px 1fr auto;
    gap:7px;
    min-width:650px;
}
.integration-update label{display:flex;gap:6px;align-items:center}
.integration-update input[type="checkbox"]{width:auto}
@media(max-width:800px){
    .system-complete-hero{flex-direction:column;align-items:stretch}
    .system-complete-hero>div:last-child{min-width:0}
}

/* 7.1.0 unified commercial polish */
:root{--gh-orange:#f45112;--gh-charcoal:#252a2d;--gh-bg:#f4f6f8;--gh-border:#d7dde4;--gh-muted:#667085}
body{background:var(--gh-bg);color:var(--gh-charcoal)}
.panel{background:#fff;border:1px solid var(--gh-border);border-radius:12px;box-shadow:0 3px 12px rgba(16,35,63,.06);padding:18px;margin-bottom:18px}
.panel>h2:first-child{margin-top:0;padding-bottom:9px;border-bottom:2px solid rgba(244,81,18,.22)}
.button,button{border-radius:7px;min-height:36px;font-weight:800;transition:transform .08s ease,box-shadow .15s ease}
.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(16,35,63,.14)}
input,select,textarea{width:100%;border:1px solid #b8c1cc;border-radius:7px;background:#fff;padding:9px 10px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(244,81,18,.2);border-color:var(--gh-orange)}
table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--gh-border);border-radius:9px;overflow:hidden}
th{background:var(--gh-charcoal);color:#fff;font-size:12px}th,td{padding:9px 10px;vertical-align:top}
tbody tr:nth-child(even){background:#f8fafc}tbody tr:hover{background:#fff6f1}
.actions,.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions{margin-bottom:16px}
.test-report{white-space:pre-wrap;background:#17202a;color:#eaf2f8;padding:16px;border-radius:9px;overflow:auto;line-height:1.45}

.factory-warning{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px;
    margin-bottom:18px;
    border:2px solid #b42318;
    border-radius:12px;
    background:#fff1f0;
}
.factory-warning h2{margin:0 0 5px;color:#b42318}
.factory-warning p{margin:0}
.factory-warning>strong{max-width:390px;color:#0b5d2a;text-align:right}
.preserve-panel{border-top:6px solid #0b5d2a}
.clear-panel{border-top:6px solid #b42318}
.reset-check{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #f3b6b2;border-radius:8px;background:#fff7f6}
.reset-check input{width:auto;margin-top:3px}
.danger-button{background:#b42318!important;color:#fff!important;border-color:#b42318!important}
@media(max-width:800px){.factory-warning{flex-direction:column;align-items:flex-start}.factory-warning>strong{text-align:left}}

.diary-import-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px;
    margin-bottom:18px;
    border-radius:12px;
    background:linear-gradient(135deg,#252a2d,#f45112);
    color:#fff;
}
.diary-import-hero h2{margin:0 0 5px}
.diary-import-hero p{margin:0;color:#fbe4da}
.diary-import-hero>strong{max-width:300px;text-align:right}
.diary-duplicate{background:#fff4e5!important;color:#7a4b00}
@media(max-width:800px){
    .diary-import-hero{flex-direction:column;align-items:flex-start}
    .diary-import-hero>strong{text-align:left}
}


/* 7.1.4 active left-menu indicator */
.sidebar a.menu-active,
nav a.menu-active,
.side-nav a.menu-active,
.left-menu a.menu-active,
aside a.menu-active{
    background:#f45112!important;
    color:#ffffff!important;
    border-left:5px solid #ffffff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 3px 9px rgba(0,0,0,.18);
    font-weight:900!important;
    position:relative;
}
.sidebar a.menu-active::after,
nav a.menu-active::after,
.side-nav a.menu-active::after,
.left-menu a.menu-active::after,
aside a.menu-active::after{
    content:"";
    position:absolute;
    right:10px;
    top:50%;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ffffff;
    transform:translateY(-50%);
}
.sidebar a.menu-active:hover,
nav a.menu-active:hover,
.side-nav a.menu-active:hover,
.left-menu a.menu-active:hover,
aside a.menu-active:hover{
    background:#d94009!important;
    color:#ffffff!important;
}

.commercial-mode{
    border-top:5px solid #f45112;
    background:#fff7f2;
    padding:14px;
    border-radius:9px;
}
.provider-pricing,.direct-pricing{
    border:1px solid #d7dde4;
    border-left:6px solid #f45112;
    background:#fff;
    padding:15px;
    border-radius:9px;
}
.commercial-grid{
    grid-template-columns:repeat(3,1fr)!important;
    margin-bottom:10px;
}
.discount-message{
    display:inline-block;
    margin-left:10px;
    font-weight:800;
    color:#0b5d2a;
}
.booking-commercial-summary{border-top:6px solid #f45112}
.commercial-breakdown{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:18px;
}
.commercial-breakdown>div{
    border:1px solid #d7dde4;
    border-radius:9px;
    padding:14px;
    background:#f8fafc;
}
.commercial-breakdown h3{margin-top:0;color:#f45112}
@media(max-width:850px){
    .commercial-grid,.commercial-breakdown{grid-template-columns:1fr!important}
}

.historical-import-hero{
    display:flex;justify-content:space-between;align-items:center;
    gap:20px;padding:20px;margin-bottom:18px;border-radius:12px;
    background:linear-gradient(135deg,#252a2d,#f45112);color:#fff;
}
.historical-import-hero h2{margin:0 0 5px}
.historical-import-hero p{margin:0;color:#fbe4da}
.historical-import-hero>strong{max-width:310px;text-align:right}
.import-status-error{background:#fee4e2!important}
.import-status-duplicate{background:#fff4e5!important}
.import-status-ready{background:#f3faf5!important}
.import-status-imported{background:#e8f3ec!important}
@media(max-width:800px){
    .historical-import-hero{flex-direction:column;align-items:flex-start}
    .historical-import-hero>strong{text-align:left}
}

.smart-mapping-panel{border-top:6px solid #0b5d2a}
.mapping-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
}
.mapping-grid>div{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:10px;
    border:1px solid #d7dde4;
    border-radius:8px;
    background:#f8fafc;
}
.mapping-grid span{color:#667085}
@media(max-width:900px){.mapping-grid{grid-template-columns:1fr}}

.historical-upload-wizard{border-top:6px solid #f45112}
.historical-upload-form{max-width:900px}
.compact-mapping{margin:8px 0 14px}
.historical-upload-form input[type="file"]{
    padding:12px;background:#fff;border:2px dashed #b8c1cc
}

.course-management-notice{
    border-left:6px solid #f45112;
    background:#fff7f2;
}
.matrix-sync-info{
    border-top:6px solid #0b5d2a;
    background:#f5fbf7;
}
.matrix-sync-info .summary{
    margin-top:12px;
}

.authorisation-scheme{
    margin:18px 0;padding:16px;border:1px solid #d8dee8;border-radius:10px;
    background:#f8fafc;
}
.authorisation-scheme h3{margin:0 0 14px;color:#0b5d2a;font-size:22px}
.authorisation-scheme h4{margin:16px 0 8px;color:#10233f;border-bottom:1px solid #d8dee8;padding-bottom:5px}
.authorisation-grid .check-card span{display:flex;gap:8px;align-items:flex-start}
.authorisation-grid .check-card strong{min-width:48px;color:#0b5d2a}
.live-mileage-panel {
    border: 1px solid #cbd8d0;
    border-radius: 10px;
    background: #f5faf7;
    padding: 16px;
}
.live-mileage-panel h3 { margin-top: 0; }
.live-mileage-panel #live-mileage-status { display: inline-block; margin-left: 10px; }
#live-mileage-map { height: 320px; margin: 14px 0 10px; border-radius: 8px; background: #e7ece9; }
#live-mileage-summary { font-weight: 700; }
@media (max-width: 700px) {
    .live-mileage-panel #live-mileage-status { display: block; margin: 10px 0 0; }
    #live-mileage-map { height: 250px; }
}
.campaign-action-overdue { background: #fff0f0; }
.campaign-action-completed { background: #edf8f1; }
.status-warning { color: #b42318; font-weight: 700; margin-top: 4px; }
.campaign-draft { border-top: 1px solid #d9e2dc; padding: 16px 0; }
.campaign-copy-output { width: 100%; min-height: 360px; white-space: pre-wrap; }
.campaign-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
.campaign-photo-card { border: 1px solid #d9e2dc; border-radius: 10px; padding: 12px; background: #fff; }
.campaign-photo-card img { width: 100%; height: 180px; object-fit: cover; border-radius: 7px; }
.campaign-photo-card h3 { margin: 10px 0 4px; }
.campaign-photo-card p { overflow-wrap: anywhere; }
/* Keep sidebar navigation links white */
.pro-sidebar .pro-nav a,
.pro-sidebar .pro-nav a:visited {
    color: #e7edf5 !important;
}
