.kmwf-dashboard,.kmwf-mechanic-mode,.kmwf-archive{--bg:#0d1420;--card:#0f1928;--line:rgba(255,255,255,.10);--text:#e8eef6;--muted:#9fb0cd;--accent:#ef4444;--soft:#182236;color:var(--text);font-family:inherit;max-width:1280px;margin:24px auto;padding:0 16px}.kmwf-hero,.kmwf-page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(180deg,#111c2f,#0d1420);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 16px 42px rgba(0,0,0,.28);margin-bottom:16px}.kmwf-hero p,.kmwf-page-head p{margin:0 0 4px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.kmwf-hero h1,.kmwf-page-head h1{margin:0;font-size:26px}.kmwf-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.kmwf-btn,.kmwf-mini{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--accent);color:#fff!important;text-decoration:none;font-weight:900;cursor:pointer;min-height:42px;padding:0 14px;box-shadow:0 8px 18px rgba(239,68,68,.22)}.kmwf-btn.secondary,.kmwf-mini.secondary{background:#1a263a;color:#e8eef6!important;box-shadow:none;border:1px solid var(--line)}.kmwf-mini{min-height:34px;border-radius:10px;padding:0 10px;font-size:12px}.kmwf-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kmwf-stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}.kmwf-stat span{display:block;color:var(--muted);font-weight:800;font-size:12px}.kmwf-stat strong{display:block;font-size:30px;margin-top:6px}.kmwf-mech-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kmwf-mech-column{background:#0b1220;border:1px solid var(--line);border-radius:20px;padding:12px}.kmwf-mech-column h2{font-size:18px;margin:4px 4px 12px}.kmwf-job-list{display:grid;gap:12px}.kmwf-job-card{background:var(--card);border:1px solid var(--line);border-left:5px solid #64748b;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(0,0,0,.20)}.kmwf-job-card.priority-high{border-left-color:#ef4444}.kmwf-job-card.priority-medium{border-left-color:#eab308}.kmwf-job-card.priority-low{border-left-color:#22c55e}.kmwf-job-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kmwf-job-time{font-weight:900;color:#bfdbfe;font-size:14px}.kmwf-job-card h3{margin:3px 0 0;font-size:18px}.kmwf-status-pill{background:#182236;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;white-space:nowrap}.kmwf-job-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;color:var(--muted);font-size:13px}.kmwf-comment{background:#0b1220;border:1px solid var(--line);border-radius:12px;padding:10px;margin:10px 0;color:#dbe4ff}.kmwf-card-actions,.kmwf-row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.kmwf-row-actions{margin-top:8px}.kmwf-empty,.kmwf-notice{padding:20px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.kmwf-mechanic-panel{margin-top:12px;background:#0b1220;border:1px solid var(--line);border-radius:14px;padding:10px}.kmwf-mechanic-panel summary{font-weight:900;cursor:pointer}.kmwf-complete-form{display:grid;gap:12px;margin-top:12px}.kmwf-complete-form label{display:grid;gap:6px;font-weight:800;color:#dbe4ff}.kmwf-complete-form select,.kmwf-complete-form textarea,.kmwf-complete-form input,.kmwf-page-head select,.kmwf-archive-search{width:100%;min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0d1420;color:#fff;padding:10px 12px;font:inherit;font-size:16px}.kmwf-complete-form textarea{min-height:90px;resize:vertical}.kmwf-materials{display:grid;gap:8px}.kmwf-materials-head,.kmwf-material-line{display:grid;grid-template-columns:1fr 110px 42px;gap:8px;align-items:center}.kmwf-materials-head{color:var(--muted);font-size:12px;font-weight:900}.kmwf-remove-material{height:42px;border-radius:10px;border:1px solid var(--line);background:#1a263a;color:#fff;font-size:20px}.kmwf-inline-message{min-height:22px;color:#bbf7d0;font-weight:800}.kmwf-inline-message.is-error{color:#fecaca}.kmwf-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#0b1220;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 16px;z-index:999999;opacity:0;transition:.2s;box-shadow:0 12px 30px rgba(0,0,0,.35)}.kmwf-toast.show{opacity:1;transform:translate(-50%,0)}.kmwf-wizard-nav{display:flex;gap:8px;overflow:auto;padding:12px 0 6px;margin:0 0 8px}.kmwf-wizard-nav button{flex:1;min-width:120px;border:1px solid rgba(255,255,255,.12);background:#121a29;color:#dbe4ff;border-radius:12px;min-height:42px;font-weight:900;cursor:pointer}.kmwf-wizard-nav button.active{background:#2448f0;color:#fff}.kmcal-schedule-cell.is-free{cursor:pointer}.kmcal-schedule-cell.is-free:hover{outline:2px solid rgba(34,197,94,.55);outline-offset:-2px}.kmcal-free-label:after{content:' +';font-weight:900}.km-actions .kmwf-row-actions a,.km-actions .kmwf-row-actions button{margin-right:0}.km-actions .kmwf-mini{color:#fff!important;text-decoration:none}
@media (max-width:900px){.kmwf-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kmwf-mech-columns{grid-template-columns:1fr}.kmwf-job-meta{grid-template-columns:1fr}.kmwf-hero,.kmwf-page-head{align-items:stretch;flex-direction:column}.kmwf-hero-actions{display:grid;grid-template-columns:1fr 1fr}.kmwf-btn{width:100%}.kmwf-materials-head{display:none}.kmwf-material-line{grid-template-columns:1fr 86px 42px}.kmwf-dashboard,.kmwf-mechanic-mode,.kmwf-archive{padding:0 10px;margin:14px auto}.kmwf-job-card{border-radius:16px;padding:12px}.kmwf-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kmwf-card-actions .kmwf-btn{min-height:46px}.kmwf-wizard-nav{position:sticky;top:0;background:#0d1420;z-index:3;padding-top:8px}.kmwf-wizard-nav button{min-width:110px;font-size:13px}.kmwf-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.kmwf-row-actions .kmwf-mini{width:100%;min-height:38px}}

/* v1.0.1 refinements */
.kmwf-hide-completed-action{display:none!important}
.kmwf-contact-popup{position:fixed;inset:0;background:rgba(2,8,23,.72);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px}
.kmwf-contact-popup[hidden]{display:none!important}
.kmwf-contact-box{width:min(420px,94vw);background:#0d1420;border:1px solid rgba(255,255,255,.14);border-radius:20px;box-shadow:0 22px 70px rgba(0,0,0,.55);padding:18px;color:#e8eef6;position:relative}
.kmwf-contact-box h3{margin:0 36px 8px 0;font-size:22px}.kmwf-contact-number{margin:0 0 16px;color:#bfdbfe;font-weight:900;font-size:18px}.kmwf-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kmwf-contact-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#1a263a;color:#fff;font-size:22px;cursor:pointer}.kmwf-contact-wa.disabled{opacity:.5;pointer-events:none}.kmwf-mechanic-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end;width:100%}.kmwf-mechanic-filters label{display:grid;gap:5px;color:#dbe4ff;font-weight:800}.kmwf-mechanic-filters label span{font-size:12px;color:#9fb0cd;text-transform:uppercase;letter-spacing:.06em}.kmwf-mechanic-filters select,.kmwf-mechanic-filters input{width:100%;min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0d1420;color:#fff;padding:10px 12px;font:inherit;font-size:16px}.kmwf-mechanic-filters .kmwf-btn{min-height:44px}
@media (max-width:900px){.kmwf-contact-popup{align-items:flex-end;padding:10px}.kmwf-contact-box{border-radius:20px 20px 14px 14px}.kmwf-contact-actions{grid-template-columns:1fr}.kmwf-mechanic-filters{grid-template-columns:1fr}.kmwf-page-head:has(.kmwf-mechanic-filters){gap:16px}.kmwf-mechanic-filters .kmwf-btn{width:100%}}

/* v1.0.2 workflow cleanup */
.kmwf-mobile-filter-toggle{display:none;}
.km-actions>.kmwf-contact-trigger,
.km-actions .kmwf-mini{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin-right:8px!important;
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:1.1!important;
  font-weight:700!important;
  font-family:inherit!important;
  box-shadow:none!important;
  vertical-align:middle;
}
.km-actions>.kmwf-contact-trigger{border:1px solid rgba(255,255,255,.08)!important;background:#1a2539!important;color:#dbe4ff!important;}
.kmwf-checks-title,.kmwf-materials-title{font-weight:900;color:#dbe7ff;margin:6px 0 2px;font-size:15px;}
.kmwf-checks-wrap{display:grid;gap:12px;}
.kmwf-check-section{background:#0d1420;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;}
.kmwf-check-section h4{margin:0 0 10px;font-size:15px;color:#fff;}
.kmwf-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.kmwf-check-field{display:grid;gap:6px;color:#dbe4ff;font-weight:800;font-size:13px;}
.kmwf-check-field input[type=text],.kmwf-check-field select,.kmwf-check-field textarea{width:100%;min-height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0b1220;color:#fff;padding:10px 12px;font:inherit;font-size:16px;}
.kmwf-check-field textarea{min-height:74px;resize:vertical;}
.kmwf-checkline{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#0b1220;}
.kmwf-checkline input{width:20px;height:20px;}
@media (max-width:900px){
  .kmwf-mobile-filter-toggle{display:inline-flex;width:100%;}
  .kmwf-mechanic-filters{display:none!important;}
  .kmwf-mechanic-filters.is-open{display:grid!important;}
  .kmwf-check-grid{grid-template-columns:1fr;}
  .kmwf-mechanic-panel{padding:12px;}
  .km-actions>.kmwf-contact-trigger{width:100%;min-height:44px!important;}
}


/* v1.0.3 mechanic checks dropdown + action button sizing */
.kmwf-checks-details{background:#0d1420;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px;}
.kmwf-checks-details>summary{font-weight:900;cursor:pointer;min-height:38px;display:flex;align-items:center;color:#e8eef6;}
.kmwf-checks-details[open]>summary{margin-bottom:10px;}
.kmwf-work-hours{font-weight:800;}
.km-actions{display:grid!important;grid-template-columns:repeat(2,minmax(70px,1fr))!important;gap:8px!important;align-items:stretch!important;}
.km-actions a,.km-actions button,.km-actions .kmwf-mini,.km-actions>.kmwf-contact-trigger{
  width:100%!important;min-height:44px!important;height:44px!important;padding:0 12px!important;border-radius:10px!important;
  font-size:14px!important;font-weight:600!important;line-height:1.2!important;font-family:inherit!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;text-decoration:none!important;
}
.km-actions>.kmwf-contact-trigger,.km-actions .kmwf-mini.kmwf-contact-trigger{background:#1a2539!important;color:#dbe4ff!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;}

/* v1.0.4 contact green + workflow entry popup */
.kmwf-contact-trigger,
.km-actions>.kmwf-contact-trigger,
.km-actions .kmwf-mini.kmwf-contact-trigger{
  background:#16a34a!important;
  color:#fff!important;
  border:1px solid rgba(34,197,94,.45)!important;
  box-shadow:0 8px 18px rgba(22,163,74,.18)!important;
}
.kmwf-contact-trigger:hover,
.km-actions>.kmwf-contact-trigger:hover{background:#15803d!important;}
.kmwf-entry-modal{position:fixed;inset:0;background:rgba(2,8,23,.74);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;}
.kmwf-entry-modal[hidden]{display:none!important;}
.kmwf-entry-box{width:min(860px,96vw);max-height:92vh;overflow:auto;background:#0d1420;border:1px solid rgba(255,255,255,.14);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.58);padding:18px;color:#e8eef6;position:relative;}
.kmwf-entry-title{margin:0 44px 16px 0;font-size:24px;line-height:1.2;}
.kmwf-entry-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#1a263a;color:#fff;font-size:24px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.kmwf-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.kmwf-entry-grid label{display:grid;gap:6px;font-weight:800;color:#dbe4ff;font-size:13px;}
.kmwf-entry-grid label.wide{grid-column:1/-1;}
.kmwf-entry-grid input,.kmwf-entry-grid select,.kmwf-entry-grid textarea{width:100%;min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0b1220;color:#fff;padding:10px 12px;font:inherit;font-size:16px;outline:none;}
.kmwf-entry-grid textarea{min-height:96px;resize:vertical;}
.kmwf-entry-grid input:focus,.kmwf-entry-grid select:focus,.kmwf-entry-grid textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.12);}
.kmwf-entry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;}
.kmwf-entry-msg{min-height:22px;margin-top:12px;color:#bbf7d0;font-weight:800;}
.kmwf-entry-msg.is-error{color:#fecaca;}
@media (max-width:900px){
  .kmwf-entry-modal{align-items:flex-end;padding:0;}
  .kmwf-entry-box{width:100vw;max-height:94vh;border-radius:22px 22px 0 0;padding:16px 14px 18px;}
  .kmwf-entry-grid{grid-template-columns:1fr;gap:10px;}
  .kmwf-entry-actions{position:sticky;bottom:0;background:#0d1420;padding-top:10px;display:grid;grid-template-columns:1fr 1fr;}
  .kmwf-entry-actions .kmwf-btn{width:100%;min-height:46px;}
}


/* v1.0.5 status based card color coding
   Priority is no longer used for the card side color in Dashboard/Mechanic Mode. */
.kmwf-job-card.priority-high,
.kmwf-job-card.priority-medium,
.kmwf-job-card.priority-low{
  border-left-color:transparent;
}
.kmwf-job-card.status-scheduled{
  border-left-color:#2563eb!important;
  box-shadow:0 10px 24px rgba(0,0,0,.20), inset 0 0 0 1px rgba(37,99,235,.18);
}
.kmwf-job-card.status-completed{
  border-left-color:#22c55e!important;
  box-shadow:0 10px 24px rgba(0,0,0,.20), inset 0 0 0 1px rgba(34,197,94,.18);
}
.kmwf-job-card.status-in-progress{
  border-left-color:#eab308!important;
  box-shadow:0 10px 24px rgba(0,0,0,.20), inset 0 0 0 1px rgba(234,179,8,.18);
}
.kmwf-job-card.status-on-hold{
  border-left-color:#ef4444!important;
  box-shadow:0 10px 24px rgba(0,0,0,.20), inset 0 0 0 1px rgba(239,68,68,.18);
}
.kmwf-job-card.status-scheduled .kmwf-status-pill{background:#10245a;border-color:rgba(59,130,246,.45);color:#bfdbfe;}
.kmwf-job-card.status-completed .kmwf-status-pill{background:#0f2f1d;border-color:rgba(34,197,94,.45);color:#bbf7d0;}
.kmwf-job-card.status-in-progress .kmwf-status-pill{background:#33280b;border-color:rgba(234,179,8,.45);color:#fde68a;}
.kmwf-job-card.status-on-hold .kmwf-status-pill{background:#3a1215;border-color:rgba(239,68,68,.45);color:#fecaca;}


/* v1.0.7 Dashboard Norgate preview/create action for completed jobs */
.kmwf-btn.danger,
.kmwf-norgate-trigger{
  background:#ef4444!important;
  color:#fff!important;
  border:1px solid rgba(248,113,113,.55)!important;
  box-shadow:0 8px 18px rgba(239,68,68,.20)!important;
}
.kmwf-btn.danger:hover,
.kmwf-norgate-trigger:hover{background:#dc2626!important;}
.kmwf-norgate-trigger:disabled{opacity:.68;cursor:wait;}


/* v1.0.7 Norgate preview modal */
.kmwf-norgate-modal{position:fixed;inset:0;background:rgba(3,7,18,.72);z-index:100002;display:none;align-items:center;justify-content:center;padding:18px;}
.kmwf-norgate-modal.is-open{display:flex;}
.kmwf-norgate-box{position:relative;width:min(860px,96vw);max-height:92vh;overflow:auto;background:#0d1420;border:1px solid rgba(148,163,184,.25);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:22px;color:#e8eefc;}
.kmwf-norgate-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#142033;color:#dbeafe;font-size:24px;cursor:pointer;}
.kmwf-norgate-box h3{margin:0 0 6px;font-size:22px;color:#fff;}
.kmwf-norgate-help{margin:0 0 16px;color:#a9b8d2;font-size:14px;}
.kmwf-norgate-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;}
.kmwf-norgate-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 44px;gap:10px;align-items:end;background:#0a1220;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:12px;}
.kmwf-norgate-row label{display:flex;flex-direction:column;gap:6px;color:#bfd0ec;font-weight:800;font-size:13px;}
.kmwf-norgate-row input{width:100%;min-height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.26);background:#0f1728;color:#fff;padding:0 12px;font:inherit;font-size:16px;outline:none;}
.kmwf-norgate-row input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.12);}
.kmwf-norgate-remove{width:44px;height:44px;border:0;border-radius:12px;background:#263247;color:#fff;font-size:24px;font-weight:900;cursor:pointer;}
.kmwf-norgate-msg{min-height:24px;margin:12px 0;color:#bfdbfe;font-weight:800;}
.kmwf-norgate-msg.is-error{color:#fecaca;}
.kmwf-norgate-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px;}
@media(max-width:700px){
  .kmwf-norgate-box{width:100vw;height:100vh;max-height:none;border-radius:0;padding:18px;}
  .kmwf-norgate-row{grid-template-columns:1fr;}
  .kmwf-norgate-remove{width:100%;}
  .kmwf-norgate-actions .kmwf-btn{width:100%;justify-content:center;}
}

/* v1.0.8 Norgate preview document status / regenerate */
.kmwf-norgate-status{margin-top:14px}
.kmwf-norgate-created{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1a2538;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;color:#dbe6ff;font-weight:700;flex-wrap:wrap}
.kmwf-norgate-created a{color:#93c5fd;text-decoration:underline;font-weight:800}
.kmwf-norgate-created.is-empty{justify-content:flex-start;color:#b9c7dd}
@media (max-width:700px){.kmwf-norgate-created{align-items:flex-start;flex-direction:column}.kmwf-norgate-actions{gap:8px}.kmwf-norgate-actions .kmwf-btn{width:100%}}


/* v1.0.10 dashboard PDF action */

/* Dashboard PDF button mount for the separate KMOTO Service PDF Export plugin */
.kmwf-pdf-source{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;color:inherit!important;grid-template-columns:none!important;gap:0!important;width:auto!important;max-width:none!important;}
.kmwf-pdf-source .km-actions{display:inline-flex!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.kmwf-pdf-source .kmspdf-trigger,
.kmwf-pdf-source .kmspdf-trigger.km-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;height:44px!important;padding:0 16px!important;border-radius:10px!important;background:#1a2539!important;color:#dbe4ff!important;border:1px solid rgba(255,255,255,.10)!important;font-size:14px!important;font-weight:600!important;line-height:1!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(0,0,0,.16)!important;}
.kmwf-pdf-source .kmspdf-trigger:hover{background:#243149!important;}

/* v1.0.14 mobile Add Entry wizard + highlighted save buttons + contact ready-message */
.kmwf-entry-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px;}
.kmwf-entry-progress button{min-height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#121a29;color:#dbe4ff;font-weight:900;font-size:13px;cursor:pointer;}
.kmwf-entry-progress button.active{background:#2448f0;color:#fff;border-color:rgba(147,197,253,.35);box-shadow:0 8px 18px rgba(36,72,240,.25);}
.kmwf-entry-wizard-grid{display:block;}
.kmwf-entry-step{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#0b1220;border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:14px;}
.kmwf-entry-step[hidden]{display:none!important;}
.kmwf-entry-step label{display:grid;gap:6px;font-weight:800;color:#dbe4ff;font-size:13px;}
.kmwf-entry-step label.wide{grid-column:1/-1;}
.kmwf-entry-advanced{grid-column:1/-1;background:#0d1420;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px;}
.kmwf-entry-advanced>summary{cursor:pointer;font-weight:900;color:#dbe4ff;min-height:34px;display:flex;align-items:center;}
.kmwf-entry-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px;}
.kmwf-entry-advanced-grid label.wide{grid-column:1/-1;}
.kmwf-entry-save,.kmwf-norgate-save,.kmwf-complete-job,#kmoto-service-form .km-btn[type="submit"],#kmoto-service-form button[type="submit"],#kmoto-inline-save{background:#ef4444!important;color:#fff!important;border:1px solid rgba(248,113,113,.55)!important;box-shadow:0 10px 22px rgba(239,68,68,.24)!important;font-weight:900!important;}
.kmwf-entry-save:hover,.kmwf-norgate-save:hover,.kmwf-complete-job:hover,#kmoto-service-form .km-btn[type="submit"]:hover,#kmoto-service-form button[type="submit"]:hover,#kmoto-inline-save:hover{background:#dc2626!important;}
.kmwf-contact-actions{grid-template-columns:1fr 1fr 1fr;}
.kmwf-contact-copy-message{background:#243149!important;}
@media (max-width:900px){
  .kmwf-entry-progress{grid-template-columns:repeat(4,minmax(74px,1fr));overflow:auto;padding-bottom:2px;}
  .kmwf-entry-progress button{font-size:12px;padding:0 8px;white-space:nowrap;}
  .kmwf-entry-step,.kmwf-entry-advanced-grid{grid-template-columns:1fr;}
  .kmwf-entry-actions{grid-template-columns:1fr 1fr;}
  .kmwf-entry-save{grid-column:1/-1;min-height:52px!important;font-size:16px!important;}
  .kmwf-entry-next{grid-column:auto;}
  .kmwf-contact-actions{grid-template-columns:1fr;}
}

/* v1.0.15 schedule availability check in Add Entry wizard */
.kmwf-entry-msg.is-error{color:#fecaca;font-weight:800}
.kmwf-schedule-warning{margin-bottom:10px;line-height:1.35}
.kmwf-free-ranges,.kmwf-suggestions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;color:#dbe4ff}
.kmwf-free-ranges span{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;background:#10291a;border:1px solid rgba(34,197,94,.35);color:#bbf7d0;font-weight:900}
.kmwf-suggestions .kmwf-mini{min-height:34px;background:#16a34a;box-shadow:0 8px 18px rgba(22,163,74,.22)}


/* v1.0.17 Pro app polish for Dashboard / Mechanic Mode / Archive
   Visual-only upgrade: keeps existing workflow/PDF/Norgate logic intact. */
.kmwf-dashboard,
.kmwf-mechanic-mode,
.kmwf-archive{
  --kmwf-bg:#07111f;
  --kmwf-panel:#101a2c;
  --kmwf-panel-2:#0c1525;
  --kmwf-panel-3:#15233a;
  --kmwf-border:rgba(148,163,184,.22);
  --kmwf-border-strong:rgba(148,163,184,.36);
  --kmwf-text:#f3f7ff;
  --kmwf-muted:#9fb3d3;
  --kmwf-blue:#9db7ff;
  --kmwf-red:#ff4b4b;
  --kmwf-green:#16b85f;
  --kmwf-shadow:0 18px 48px rgba(0,0,0,.34);
  max-width:1250px;
  color:var(--kmwf-text);
}
.kmwf-dashboard *,
.kmwf-mechanic-mode *,
.kmwf-archive *{box-sizing:border-box;}
.kmwf-hero,
.kmwf-page-head{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--kmwf-border-strong);
  background:
    radial-gradient(circle at 12% 0%, rgba(96,165,250,.20), transparent 38%),
    radial-gradient(circle at 96% 0%, rgba(99,102,241,.18), transparent 34%),
    linear-gradient(180deg,#14213a 0%,#0b1424 100%);
  box-shadow:var(--kmwf-shadow), inset 0 1px 0 rgba(255,255,255,.045);
  padding:24px 28px;
}
.kmwf-hero:after,
.kmwf-page-head:after{
  content:"";
  position:absolute;
  right:-58px;
  top:-68px;
  width:210px;
  height:210px;
  border-radius:999px;
  background:rgba(148,163,184,.07);
  pointer-events:none;
}
.kmwf-hero p,
.kmwf-page-head p{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(56,189,248,.11);
  border:1px solid rgba(125,211,252,.28);
  color:#bfdbfe;
  letter-spacing:.075em;
  font-size:11px;
}
.kmwf-hero h1,
.kmwf-page-head h1{
  margin-top:10px;
  font-size:clamp(24px,3vw,34px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:#fff;
}
.kmwf-hero-actions{position:relative;z-index:1;gap:12px;}
.kmwf-btn,
.kmwf-mini,
.kmwf-pdf-source .kmspdf-trigger,
.kmwf-pdf-source .kmspdf-trigger.km-btn{
  min-height:48px!important;
  height:48px!important;
  border-radius:13px!important;
  padding:0 18px!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.01em;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 12px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06)!important;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.kmwf-btn:hover,
.kmwf-mini:hover,
.kmwf-pdf-source .kmspdf-trigger:hover{transform:translateY(-1px);}
.kmwf-btn{background:linear-gradient(180deg,#ff5757,#ef3f3f)!important;}
.kmwf-btn.secondary,
.kmwf-mini.secondary,
.kmwf-edit-entry,
.kmwf-pdf-source .kmspdf-trigger,
.kmwf-pdf-source .kmspdf-trigger.km-btn{
  background:linear-gradient(180deg,#1d2b46,#17243a)!important;
  color:#eef5ff!important;
  border-color:rgba(148,163,184,.22)!important;
}
.kmwf-contact-trigger{
  background:linear-gradient(180deg,#17c66b,#10a85a)!important;
  border-color:rgba(74,222,128,.45)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(16,185,129,.18), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.kmwf-norgate-trigger,
.kmwf-btn.danger{
  background:linear-gradient(180deg,#ff5a5a,#ef4444)!important;
  border-color:rgba(248,113,113,.50)!important;
}
.kmwf-stat-grid{gap:14px;}
.kmwf-stat{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg,#101b2f,#0b1424);
  border:1px solid var(--kmwf-border);
  box-shadow:0 12px 28px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035);
  padding:18px;
}
.kmwf-stat:before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;height:3px;
  background:linear-gradient(90deg,rgba(147,197,253,.75),rgba(99,102,241,.25));
  opacity:.7;
}
.kmwf-stat span{color:#b9c9e9;letter-spacing:.045em;text-transform:uppercase;font-size:11px;}
.kmwf-stat strong{font-size:32px;color:#fff;letter-spacing:-.045em;}
.kmwf-mech-columns{gap:14px;}
.kmwf-mech-column{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(180deg,#0d1728,#07101e);
  border:1px solid var(--kmwf-border);
  box-shadow:0 18px 38px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.035);
  padding:16px;
}
.kmwf-mech-column h2{
  margin:0 0 14px;
  font-size:21px;
  letter-spacing:-.025em;
  color:#fff;
}
.kmwf-job-list{gap:14px;}
.kmwf-job-card{
  position:relative;
  border-radius:20px;
  padding:16px;
  background:
    linear-gradient(180deg,rgba(15,25,40,.98),rgba(9,18,32,.98));
  border:1px solid rgba(148,163,184,.20);
  box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.035);
}
.kmwf-job-card.status-scheduled{border-left-color:#3b82f6!important;box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(59,130,246,.16);}
.kmwf-job-card.status-in-progress{border-left-color:#facc15!important;box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(250,204,21,.16);}
.kmwf-job-card.status-on-hold{border-left-color:#ef4444!important;box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(239,68,68,.16);}
.kmwf-job-card.status-completed{border-left-color:#22c55e!important;box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(34,197,94,.16);}
.kmwf-job-time{color:#c7dcff;font-size:14px;font-weight:900;}
.kmwf-job-card h3{font-size:22px;line-height:1.05;letter-spacing:-.04em;color:#fff;}
.kmwf-job-meta{color:#b7c8e8;line-height:1.45;}
.kmwf-job-meta strong{color:#eaf2ff;}
.kmwf-comment{
  border-radius:15px;
  background:#07101f;
  border:1px solid rgba(148,163,184,.18);
  color:#f3f7ff;
  font-size:15px;
  line-height:1.35;
}
.kmwf-card-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.kmwf-card-actions>.kmwf-btn,
.kmwf-card-actions>.kmwf-pdf-source{
  width:100%;
  min-width:0;
}
.kmwf-pdf-source,
.kmwf-card-actions .kmwf-pdf-source{
  display:flex!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.kmwf-pdf-source .km-actions,
.kmwf-pdf-source .kmwf-pdf-actions{
  width:100%!important;
  display:flex!important;
  align-items:stretch!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.kmwf-pdf-source .kmspdf-trigger,
.kmwf-pdf-source .kmspdf-trigger.km-btn{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.kmwf-status-pill{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:12px;
  padding:0 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
.kmwf-empty,
.kmwf-notice{
  border-radius:18px;
  background:rgba(2,8,23,.28);
  border:1px dashed rgba(148,163,184,.22);
}
.kmwf-entry-box,
.kmwf-contact-box,
.kmwf-norgate-box{
  background:linear-gradient(180deg,#111c2f,#0a1220)!important;
  border-color:rgba(148,163,184,.28)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.kmwf-entry-title,
.kmwf-contact-box h3,
.kmwf-norgate-box h3{letter-spacing:-.035em;}
@media (max-width:900px){
  .kmwf-dashboard,
  .kmwf-mechanic-mode,
  .kmwf-archive{
    margin:12px auto;
    padding:0 12px 24px;
  }
  .kmwf-hero,
  .kmwf-page-head{
    border-radius:22px;
    padding:20px 16px 16px;
    margin-bottom:16px;
  }
  .kmwf-hero h1,
  .kmwf-page-head h1{font-size:24px;line-height:1.12;}
  .kmwf-hero-actions{grid-template-columns:1fr 1fr;gap:10px;}
  .kmwf-hero-actions .kmwf-btn{min-height:52px!important;font-size:15px!important;}
  .kmwf-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .kmwf-stat{padding:15px;border-radius:17px;}
  .kmwf-stat strong{font-size:30px;}
  .kmwf-mech-column{padding:12px;border-radius:20px;}
  .kmwf-job-card{padding:14px;border-radius:18px;}
  .kmwf-job-card h3{font-size:21px;}
  .kmwf-job-top{align-items:flex-start;}
  .kmwf-job-meta{display:grid;grid-template-columns:1fr;gap:7px;margin:14px 0;font-size:13px;}
  .kmwf-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .kmwf-card-actions .kmwf-btn,
  .kmwf-pdf-source .kmspdf-trigger,
  .kmwf-pdf-source .kmspdf-trigger.km-btn{
    min-height:54px!important;
    height:54px!important;
    font-size:14px!important;
    border-radius:13px!important;
    padding:0 12px!important;
  }
  .kmwf-entry-box{border-radius:24px 24px 0 0!important;}
}
@media (max-width:390px){
  .kmwf-hero-actions{grid-template-columns:1fr;}
  .kmwf-stat-grid{gap:10px;}
  .kmwf-stat{padding:13px;}
  .kmwf-card-actions{gap:8px;}
}


/* v1.0.18 Restore exact workflow colors after pro polish
   - Contact is green again
   - Edit is blue
   - Status side line is visible and driven by status, not priority */
.kmwf-card-actions .kmwf-contact-trigger,
.kmwf-card-actions button.kmwf-contact-trigger,
.kmwf-job-card .kmwf-contact-trigger{
  background:linear-gradient(180deg,#18c96c,#10a85a)!important;
  border:1px solid rgba(74,222,128,.55)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(16,185,129,.22), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.kmwf-card-actions .kmwf-contact-trigger:hover,
.kmwf-job-card .kmwf-contact-trigger:hover{
  background:linear-gradient(180deg,#20d978,#12b765)!important;
}
.kmwf-card-actions .kmwf-edit-entry,
.kmwf-card-actions button.kmwf-edit-entry,
.kmwf-job-card .kmwf-edit-entry{
  background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;
  border:1px solid rgba(96,165,250,.58)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(37,99,235,.20), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.kmwf-card-actions .kmwf-edit-entry:hover,
.kmwf-job-card .kmwf-edit-entry:hover{
  background:linear-gradient(180deg,#3b82f6,#2563eb)!important;
}
.kmwf-job-card.priority-high,
.kmwf-job-card.priority-medium,
.kmwf-job-card.priority-low{
  border-left-color:transparent!important;
}
.kmwf-job-card.status-scheduled{
  border-left:5px solid #3b82f6!important;
  box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(59,130,246,.18)!important;
}
.kmwf-job-card.status-in-progress{
  border-left:5px solid #facc15!important;
  box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(250,204,21,.18)!important;
}
.kmwf-job-card.status-on-hold{
  border-left:5px solid #ef4444!important;
  box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(239,68,68,.18)!important;
}
.kmwf-job-card.status-completed{
  border-left:5px solid #22c55e!important;
  box-shadow:0 12px 32px rgba(0,0,0,.25), inset 0 0 0 1px rgba(34,197,94,.20)!important;
}
@media (max-width:900px){
  .kmwf-job-card.status-scheduled{border-left-width:5px!important;}
  .kmwf-job-card.status-in-progress{border-left-width:5px!important;}
  .kmwf-job-card.status-on-hold{border-left-width:5px!important;}
  .kmwf-job-card.status-completed{border-left-width:5px!important;}
}


/* v1.0.19: desktop wide layout - fill available intranet content width */
@media (min-width: 901px){
  .kmwf-dashboard,
  .kmwf-mechanic-mode,
  .kmwf-archive{
    max-width:none!important;
    width:100%!important;
    margin:24px 0!important;
    padding-left:18px!important;
    padding-right:18px!important;
    box-sizing:border-box!important;
  }
  .kmwf-hero,
  .kmwf-page-head,
  .kmwf-stats,
  .kmwf-mech-grid,
  .kmwf-archive-list,
  .kmwf-ready-norgate,
  .kmwf-attention,
  .kmwf-section{
    max-width:none!important;
  }
}


/* v1.0.20 mechanic panel save-before-complete button */
.kmwf-save-mechanic-details{
  background:#2563eb!important;
  color:#fff!important;
  border:1px solid rgba(96,165,250,.55)!important;
  box-shadow:0 10px 22px rgba(37,99,235,.22)!important;
}
.kmwf-save-mechanic-details:hover{background:#1d4ed8!important;}
.kmwf-complete-form .kmwf-save-mechanic-details,
.kmwf-complete-form .kmwf-complete-job{min-height:46px;}

/* v1.0.21: Mechanic Mode keep-in-Today toggle */
.kmwf-keep-today-toggle{background:#1a263a!important;border:1px solid rgba(159,183,255,.35)!important;color:#dbe8ff!important;box-shadow:none!important;white-space:nowrap;}
.kmwf-keep-today-toggle.is-active{background:rgba(234,179,8,.18)!important;border-color:rgba(234,179,8,.65)!important;color:#fde68a!important;}
.kmwf-keep-today-toggle:disabled{opacity:.65;cursor:wait;}
@media (max-width:760px){.kmwf-card-actions .kmwf-keep-today-toggle{min-height:38px;font-size:12px;}}

/* 1.0.23 — overdue unfinished work reminder below Today's dashboard */
.kmwf-overdue-section{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid rgba(148,163,184,.18);
}
.kmwf-overdue-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:17px 18px;
  border:1px solid rgba(248,113,113,.28);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(66,18,24,.58),rgba(20,13,23,.92));
  box-shadow:0 15px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}
.kmwf-overdue-head p{
  margin:0 0 4px;
  color:#fca5a5;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kmwf-overdue-head h2{
  margin:0;
  color:#fff;
  font-size:22px;
  letter-spacing:-.03em;
}
.kmwf-overdue-head span{
  display:block;
  margin-top:5px;
  color:#cbd5e1;
  font-size:13px;
}
.kmwf-overdue-count{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:52px;
  height:52px;
  padding:0 14px;
  border-radius:16px;
  background:#ef4444;
  color:#fff;
  font-size:25px;
  line-height:1;
  box-shadow:0 10px 24px rgba(239,68,68,.26);
}
.kmwf-overdue-columns .kmwf-mech-column{
  border-color:rgba(248,113,113,.20);
}
.kmwf-overdue-card{
  margin-bottom:12px;
}
.kmwf-overdue-card:last-child{
  margin-bottom:0;
}
.kmwf-overdue-card .kmwf-job-time{
  color:#fecaca;
}
.kmwf-overdue-empty{
  padding:24px;
}
@media (max-width:900px){
  .kmwf-overdue-section{margin-top:18px;padding-top:16px;}
  .kmwf-overdue-head{align-items:flex-start;padding:15px;}
  .kmwf-overdue-head h2{font-size:20px;}
  .kmwf-overdue-count{min-width:46px;height:46px;font-size:22px;border-radius:14px;}
}
