:root{
  --cc-bg:#f3f6fb;
  --cc-surface:#ffffff;
  --cc-surface-2:#f7f9fc;
  --cc-border:#d9e1ef;
  --cc-text:#162236;
  --cc-muted:#5f708a;
  --cc-primary:#2457d6;
  --cc-primary-2:#15388d;
  --cc-good:#17795a;
  --cc-warn:#b86b09;
  --cc-danger:#b53d3d;
  --cc-shadow:0 10px 30px rgba(20,36,70,.08);
  --cc-radius:18px;
}
html body.page-template-tif-ccdriver-standalone,
html body.page-template-tif-ccdriver-standalone #page,
html body.page-template-tif-ccdriver-standalone #content{background:var(--cc-bg)!important;}
#tif-ccdriver-app{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cc-text);}
#tif-ccdriver-app *{box-sizing:border-box;}
#tif-ccdriver-app a{text-decoration:none;}
.ccdriver-app-shell{display:flex;min-height:100vh;background:linear-gradient(180deg,#f8fbff 0%,#eef3fb 100%);}
.ccdriver-app-shell.busy{opacity:.84;pointer-events:none;}
.ccdriver-sidebar{width:300px;background:#0f1f3a;color:#fff;padding:20px 16px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--cc-shadow);transition:transform .25s ease,width .25s ease;z-index:20;}
.ccdriver-sidebar.closed{transform:translateX(-105%);position:fixed;left:0;top:0;bottom:0;}
.ccdriver-sidebar.open{position:sticky;top:0;height:100vh;}
.ccdriver-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ccdriver-brand{display:flex;align-items:center;gap:12px;min-width:0;}
.ccdriver-brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#4f8cff,#2457d6);display:grid;place-items:center;font-weight:800;font-size:18px;}
.ccdriver-brand-copy{display:flex;flex-direction:column;min-width:0;}
.ccdriver-brand-copy strong{font-size:16px;line-height:1.2;}
.ccdriver-brand-copy span{font-size:13px;color:rgba(255,255,255,.74);}
.ccdriver-nav{display:flex;flex-direction:column;gap:8px;}
.ccdriver-nav-item{display:flex;align-items:center;gap:12px;border:0;background:rgba(255,255,255,.08);color:#fff;padding:14px 14px;border-radius:16px;text-align:left;cursor:pointer;transition:.2s ease;}
.ccdriver-nav-item:hover,.ccdriver-nav-item.active{background:#fff;color:#12233f;}
.ccdriver-nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.14);font-weight:700;flex:0 0 28px;}
.ccdriver-nav-item.active .ccdriver-nav-icon,.ccdriver-nav-item:hover .ccdriver-nav-icon{background:#eaf1ff;color:var(--cc-primary);}
.ccdriver-nav-copy{display:flex;justify-content:space-between;align-items:center;gap:10px;flex:1;min-width:0;}
.ccdriver-nav-label{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ccdriver-nav-count{font-size:12px;padding:4px 8px;border-radius:999px;background:#e9effb;color:#123165;font-weight:700;}
.ccdriver-sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;}
.ccdriver-main-shell{flex:1;min-width:0;padding:20px;display:flex;flex-direction:column;gap:18px;}
.ccdriver-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;background:rgba(255,255,255,.85);border:1px solid rgba(217,225,239,.8);backdrop-filter:blur(10px);padding:18px 20px;border-radius:22px;box-shadow:var(--cc-shadow);}
.ccdriver-topbar-main{display:flex;align-items:center;gap:14px;min-width:0;}
.ccdriver-topbar-copy{display:flex;flex-direction:column;gap:4px;min-width:0;}
.ccdriver-topbar-copy h1{margin:0;font-size:28px;line-height:1.1;}
.ccdriver-topbar-copy span{color:var(--cc-muted);font-size:14px;}
.ccdriver-topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.ccdriver-date{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--cc-border);border-radius:14px;background:#fff;font-weight:700;color:var(--cc-muted);}
.ccdriver-date input{border:0;background:transparent;color:var(--cc-text);font:inherit;outline:none;min-width:140px;}
.ccdriver-panel{display:flex;flex-direction:column;gap:16px;}
.ccdriver-dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.ccdriver-tile{border:1px solid var(--cc-border);background:var(--cc-surface);border-radius:22px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;box-shadow:var(--cc-shadow);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease;min-height:140px;color:var(--cc-text);}
.ccdriver-tile:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,36,70,.13);}
.ccdriver-tile-kicker{font-size:13px;color:var(--cc-muted);}
.ccdriver-tile strong{font-size:20px;line-height:1.15;text-align:left;}
.ccdriver-tile-count{margin-top:auto;font-size:32px;font-weight:800;line-height:1;color:var(--cc-primary);}
.ccdriver-tile.warn .ccdriver-tile-count{color:var(--cc-warn);}
.ccdriver-tile.ok .ccdriver-tile-count{color:var(--cc-good);}
.ccdriver-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ccdriver-slot-panel{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:24px;padding:18px;box-shadow:var(--cc-shadow);display:flex;flex-direction:column;gap:14px;}
.ccdriver-slot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid #edf2fa;}
.ccdriver-slot-head h3{margin:0 0 4px;font-size:22px;}
.ccdriver-slot-head p{margin:0;color:var(--cc-muted);font-size:14px;}
.ccdriver-slot-count{min-width:42px;height:42px;border-radius:14px;background:#edf3ff;display:grid;place-items:center;font-weight:800;color:var(--cc-primary);}
.ccdriver-order-card,.ccdriver-route-card,.ccdriver-mini-card,.ccdriver-finished-card{background:var(--cc-surface-2);border:1px solid #e2e9f4;border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px;}
.ccdriver-order-card.unassigned,.ccdriver-route-card.unassigned{border-color:#f2cf98;background:#fffaf2;}
.ccdriver-order-head,.ccdriver-route-main{display:flex;flex-direction:column;gap:10px;}
.ccdriver-order-title,.ccdriver-route-title,.ccdriver-mini-title{font-size:21px;font-weight:800;line-height:1.15;}
.ccdriver-order-sub,.ccdriver-mini-sub{font-size:14px;color:var(--cc-muted);}
.ccdriver-order-address,.ccdriver-route-address{font-size:15px;line-height:1.5;}
.ccdriver-order-meta{display:flex;flex-wrap:wrap;gap:8px;}
.ccdriver-order-meta span{padding:6px 10px;border-radius:999px;background:#ecf1f8;color:#244060;font-size:13px;font-weight:700;}
.ccdriver-inline-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;background:#eef4ff;border:1px solid #d8e4ff;}
.ccdriver-inline-note strong{font-size:13px;line-height:1;color:var(--cc-primary-2);}
.ccdriver-inline-note span{font-size:14px;line-height:1.45;}
.ccdriver-button-row{display:flex;flex-wrap:wrap;gap:10px;}
.ccdriver-btn,.ccdriver-icon-btn,.ccdriver-close{appearance:none;border:0;border-radius:16px;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease;}
.ccdriver-btn{background:#e8eef9;color:#163056;display:inline-flex;align-items:center;justify-content:center;min-height:48px;}
.ccdriver-btn:hover{transform:translateY(-1px);}
.ccdriver-btn.primary{background:#fff;border:1px solid var(--cc-border);}
.ccdriver-btn.solid{background:var(--cc-primary);color:#fff;box-shadow:0 10px 22px rgba(36,87,214,.22);}
.ccdriver-btn.solid.alt{background:#3d7aeb;}
.ccdriver-btn.ghost,.ccdriver-btn.secondary{background:#f2f6fc;color:#173158;border:1px solid var(--cc-border);}
.ccdriver-btn.warn{background:#fff2e5;color:#8a4f00;border:1px solid #f1c784;}
.ccdriver-btn.wide{width:100%;}
.ccdriver-icon-btn{width:44px;height:44px;padding:0;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;}
.ccdriver-topbar .ccdriver-icon-btn{background:#f2f5fb;color:#14233a;}
.ccdriver-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#eff5ff;border:1px solid #d6e4ff;padding:12px 14px;border-radius:18px;color:#193d7a;font-weight:700;}
.ccdriver-badge-row{display:flex;flex-wrap:wrap;gap:8px;}
.ccdriver-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.01em;background:#ecf1f8;color:#213c63;}
.ccdriver-pill.service.delivery{background:#e6f0ff;color:#0b4eb8;}
.ccdriver-pill.service.collection{background:#e8fff7;color:#0f7a5b;}
.ccdriver-pill.service.starter-pack{background:#fff2ec;color:#a34a1d;}
.ccdriver-pill.service.clearance{background:#f4ebff;color:#6c34b2;}
.ccdriver-pill.ok{background:#e7faf1;color:#0f7254;}
.ccdriver-pill.warn{background:#fff4df;color:#9a5b08;}
.ccdriver-pill.info{background:#eaf3ff;color:#1d56c3;}
.ccdriver-pill.slot{background:#f0f4fa;color:#455f86;}
.ccdriver-pill.van{background:#eef1ff;color:#444ad8;}
.ccdriver-pill.postcode{background:#f6f7fb;color:#516175;}
.ccdriver-route-list,.ccdriver-items{display:flex;flex-direction:column;gap:14px;}
.ccdriver-route-card{display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:flex-start;}
.ccdriver-route-card.started{border-color:#bfdccf;background:#f7fffb;}
.ccdriver-route-index{width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,#2457d6,#3d7aeb);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;}
.ccdriver-segmented{display:flex;gap:10px;background:#edf2f9;padding:8px;border-radius:18px;align-self:flex-start;}
.ccdriver-segment{border:0;background:transparent;padding:12px 18px;border-radius:14px;font:inherit;font-weight:800;color:#4a607d;cursor:pointer;display:inline-flex;gap:10px;align-items:center;}
.ccdriver-segment.active{background:#fff;color:#163056;box-shadow:0 4px 14px rgba(17,35,70,.09);}
.ccdriver-empty{padding:28px 20px;border:1px dashed var(--cc-border);border-radius:18px;text-align:center;color:var(--cc-muted);background:#fafcff;}
.ccdriver-modal{position:fixed;inset:0;background:rgba(13,24,45,.48);display:flex;align-items:flex-end;justify-content:center;padding:18px;z-index:40;}
.ccdriver-modal-card,.ccdriver-confirm-card{width:min(100%,1080px);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:28px;padding:22px;box-shadow:0 18px 40px rgba(13,24,45,.25);}
.ccdriver-confirm-card{width:min(100%,460px);align-self:center;}
.ccdriver-confirm-card h3{margin:0 0 8px;font-size:24px;}
.ccdriver-confirm-card p{margin:0 0 16px;color:var(--cc-muted);}
.ccdriver-button-stack{display:flex;flex-direction:column;gap:10px;}
.ccdriver-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;}
.ccdriver-modal-head h3{margin:8px 0 6px;font-size:26px;}
.ccdriver-modal-head p{margin:0;color:var(--cc-muted);}
.ccdriver-close{width:48px;height:48px;padding:0;border-radius:16px;background:#f2f5fb;color:#173158;display:grid;place-items:center;font-size:28px;line-height:1;}
.ccdriver-detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;}
.ccdriver-card{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:22px;padding:18px;}
.ccdriver-card.subtle{background:var(--cc-surface-2);}
.ccdriver-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;}
.ccdriver-section-head h4{margin:0;font-size:18px;}
.ccdriver-section-head span{color:var(--cc-muted);font-size:13px;font-weight:700;}
.ccdriver-detail-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #e7edf6;}
.ccdriver-detail-row:last-child{border-bottom:0;}
.ccdriver-detail-row span{color:var(--cc-muted);font-size:14px;}
.ccdriver-detail-row strong{font-size:15px;text-align:right;}
.ccdriver-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e2e9f4;margin-top:12px;}
.ccdriver-note.priority{background:#eef4ff;border-color:#d8e4ff;}
.ccdriver-note strong{font-size:13px;color:#143361;}
.ccdriver-note span{font-size:14px;line-height:1.45;}
.ccdriver-helper-box{margin:14px 0;padding:12px 14px;border-radius:16px;background:#fff5e8;border:1px solid #f0cf97;color:#8a5a0e;font-weight:700;font-size:14px;}
.ccdriver-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;}
.ccdriver-gallery a,.ccdriver-gallery img{display:block;width:100%;}
.ccdriver-gallery img{border-radius:16px;aspect-ratio:1/1;object-fit:cover;}
.ccdriver-item{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #dde6f2;border-radius:18px;background:#fff;}
.ccdriver-item-main{display:flex;gap:12px;align-items:flex-start;}
.ccdriver-item-main img,.ccdriver-item .thumb,.ccdriver-item-placeholder{width:86px;height:86px;border-radius:14px;object-fit:cover;background:#edf2f8;display:grid;place-items:center;color:var(--cc-muted);font-size:12px;text-align:center;padding:8px;}
.ccdriver-item .thumb{width:64px;height:64px;}
.ccdriver-mini-card{gap:10px;}
.mobile-only{display:none;}
@media (max-width:1180px){
  .ccdriver-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ccdriver-sidebar{position:fixed;inset:0 auto 0 0;height:100vh;max-width:86vw;}
  .ccdriver-sidebar.closed{transform:translateX(-105%);}  
  .ccdriver-sidebar.open{transform:translateX(0);}
  .mobile-only{display:grid;}
}
@media (max-width:980px){
  .ccdriver-topbar,.ccdriver-detail-grid,.ccdriver-columns{grid-template-columns:1fr;display:grid;}
  .ccdriver-topbar{display:flex;flex-direction:column;align-items:stretch;}
  .ccdriver-route-card{grid-template-columns:1fr;}
  .ccdriver-route-index{width:52px;height:52px;}
}
@media (max-width:720px){
  .ccdriver-main-shell{padding:14px;}
  .ccdriver-dashboard-grid,.ccdriver-columns{grid-template-columns:1fr;}
  .ccdriver-topbar-copy h1{font-size:24px;}
  .ccdriver-topbar-actions{justify-content:stretch;}
  .ccdriver-date{width:100%;justify-content:space-between;}
  .ccdriver-date input{min-width:0;width:100%;text-align:right;}
  .ccdriver-tile{min-height:124px;}
  .ccdriver-modal{padding:10px;align-items:flex-end;}
  .ccdriver-modal-card,.ccdriver-confirm-card{padding:16px;border-radius:24px;}
  .ccdriver-btn,.ccdriver-close,.ccdriver-icon-btn{min-height:46px;}
}


.ccdriver-home-panel{gap:18px;}
.ccdriver-home-intro{display:flex;flex-direction:column;gap:6px;padding:4px 2px 0;}
.ccdriver-home-intro h2{margin:0;font-size:24px;line-height:1.1;}
.ccdriver-home-intro p{margin:0;color:var(--cc-muted);font-size:14px;}
.ccdriver-home-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;background:linear-gradient(135deg,#c81e1e,#ef4444);color:#fff;padding:16px 18px;border-radius:20px;box-shadow:0 18px 40px rgba(200,30,30,.18);cursor:pointer;text-align:left;}
.ccdriver-home-alert strong{display:block;font-size:18px;line-height:1.15;}
.ccdriver-home-alert span{display:block;font-size:14px;opacity:.96;}
.ccdriver-home-alert.ok{background:linear-gradient(135deg,#0f766e,#10b981);cursor:default;box-shadow:0 18px 40px rgba(16,185,129,.14);}
.ccdriver-home-alert.ok strong,.ccdriver-home-alert.ok span{color:#fff;}
.ccdriver-tile{position:relative;overflow:hidden;min-height:148px;}
.ccdriver-tile::after{content:'';position:absolute;right:-18px;bottom:-18px;width:84px;height:84px;border-radius:50%;background:rgba(25,61,122,.06);}
.ccdriver-tile.warn::after{background:rgba(237,102,8,.12);}
.ccdriver-tile.ok::after{background:rgba(12,167,111,.12);}
.ccdriver-tile strong,.ccdriver-tile-count,.ccdriver-tile-kicker{position:relative;z-index:1;}
@media (max-width:800px){
  .ccdriver-home-alert{padding:14px 16px;align-items:flex-start;flex-direction:column;}
  .ccdriver-home-intro h2{font-size:21px;}
}
.ccdriver-detail-screen{display:flex;flex-direction:column;gap:16px}.ccdriver-detail-screen-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.ccdriver-detail-screen-head h2{margin:0;font-size:28px}.ccdriver-detail-screen-head p{margin:6px 0 0;color:var(--ccdriver-muted,#6c7a89)}.ccdriver-detail-screen-body{display:grid;gap:16px}.ccdriver-detail-screen .ccdriver-card{margin:0}

/* Load Van dialog */
.ccdriver-load-van-card{width:min(100%,560px);}
.ccdriver-load-van-card h3{margin:0 0 6px;font-size:22px;}
.ccdriver-load-van-card>p{margin:0 0 14px;color:var(--cc-muted);font-size:14px;line-height:1.5;}
.ccdriver-load-van-items{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;}
.ccdriver-load-van-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--cc-border);border-radius:16px;background:#fff;cursor:pointer;transition:.15s ease;}
.ccdriver-load-van-item:has(input:checked){border-color:#f1c784;background:#fff8ed;}
.ccdriver-load-van-item input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;accent-color:var(--cc-warn);cursor:pointer;}
.ccdriver-load-van-item-info{display:flex;flex-direction:column;gap:3px;}
.ccdriver-load-van-item-info strong{font-size:15px;line-height:1.2;}
.ccdriver-load-van-item-info span{font-size:13px;color:var(--cc-muted);}

/* Starter pack Load Van button accent */
.ccdriver-btn.starter-pack-action{background:#fff2ec;color:#a34a1d;border:1px solid #f5c3a3;}
.ccdriver-btn.starter-pack-action:hover{background:#ffe4d4;}

/* Starter pack helper hint */
.ccdriver-helper-box--sp{background:#fff7f2;border-color:#f5c3a3;color:#7d3718;}
.ccdriver-helper-box--sp strong{color:#a34a1d;}

/* Mobile portrait fix — cards stack and fill width at narrow breakpoints */
@media (max-width:600px){
  .ccdriver-main-shell{padding:10px;}
  .ccdriver-topbar{padding:12px 14px;border-radius:16px;}
  .ccdriver-topbar-copy h1{font-size:20px;}
  .ccdriver-dashboard-grid{grid-template-columns:1fr 1fr;}
  .ccdriver-columns{grid-template-columns:1fr;}
  .ccdriver-detail-grid{grid-template-columns:1fr;}
  .ccdriver-slot-panel{padding:14px;}
  .ccdriver-order-card,.ccdriver-route-card,.ccdriver-mini-card,.ccdriver-finished-card{padding:14px;border-radius:18px;}
  .ccdriver-order-title,.ccdriver-route-title{font-size:18px;}
  .ccdriver-modal{padding:8px;align-items:flex-end;}
  .ccdriver-modal-card{border-radius:22px 22px 18px 18px;padding:16px;max-height:90vh;}
  .ccdriver-confirm-card{padding:16px;border-radius:22px;}
  .ccdriver-load-van-items{max-height:40vh;}
  .ccdriver-btn{min-height:48px;padding:12px 14px;font-size:15px;}
  .ccdriver-route-card{grid-template-columns:1fr;}
  .ccdriver-route-index{width:44px;height:44px;font-size:20px;border-radius:14px;}
  .ccdriver-tile{min-height:110px;}
  .ccdriver-tile strong{font-size:17px;}
  .ccdriver-tile-count{font-size:26px;}
}
@media (max-width:420px){
  .ccdriver-dashboard-grid{grid-template-columns:1fr;}
}
.ccdriver-mini-card.completed{border-color:#b8d8c8;background:#f2fbf6;}
.ccdriver-reopen-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;align-items:end;}
.ccdriver-reopen-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:var(--cc-muted);}
.ccdriver-reopen-form input,.ccdriver-reopen-form select{border:1px solid #d7e0ec;border-radius:12px;padding:10px 12px;font-size:16px;background:#fff;}
