:root {
  --navy: #10233d;
  --navy-2: #17324f;
  --ink: #172233;
  --muted: #657286;
  --line: #dfe5ec;
  --wash: #f3f6f9;
  --paper: #ffffff;
  --blue: #1769e0;
  --blue-soft: #eaf2ff;
  --green: #16835f;
  --green-soft: #e8f6f0;
  --red: #c33d4b;
  --red-soft: #fdecef;
  --amber: #b56a0a;
  --amber-soft: #fff3df;
  --shadow: 0 10px 32px rgba(16, 35, 61, .08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--wash);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--wash); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0,1fr); }
.sidebar { background: var(--navy); color: white; padding: 28px 18px 22px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.brand { display: flex; gap: 12px; align-items: center; padding: 0 10px 28px; }
.brand-mark { width: 38px; height: 38px; border-radius: 10px; background: #fff; color: var(--navy); display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.brand-mark svg { width: 23px; }
.brand-name { font-weight: 750; letter-spacing: -.02em; }
.brand-sub { color: #aebbd0; font-size: 12px; margin-top: 2px; }
.nav { display: grid; gap: 7px; }
.nav button { border: 0; background: transparent; color: #bbc7d9; border-radius: 9px; padding: 11px 12px; display: flex; gap: 11px; align-items: center; text-align: left; font-weight: 600; font-size: 14px; }
.nav button svg { width: 19px; height: 19px; }
.nav button:hover { background: rgba(255,255,255,.07); color: white; }
.nav button.active { background: #fff; color: var(--navy); }
.nav-divider { height: 1px; background: rgba(255,255,255,.12); margin: 10px 8px; }
.side-bottom { margin-top: auto; border-top: 1px solid rgba(255,255,255,.12); padding: 18px 8px 0; }
.account { display: flex; gap: 10px; align-items: center; }
.avatar { width: 35px; height: 35px; border-radius: 50%; background: #dbe8fc; color: var(--navy); display: grid; place-items: center; font-weight: 800; font-size: 12px; }
.account-name { font-size: 13px; font-weight: 650; }
.account-mail { font-size: 11px; color: #aebbd0; margin-top: 2px; }
.main { min-width: 0; }
.topbar { height: 72px; padding: 0 34px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.page-title { font-size: 20px; font-weight: 750; letter-spacing: -.025em; }
.prototype-pill { font-size: 12px; color: #5b6675; background: #edf1f5; border: 1px solid #dbe1e7; padding: 6px 9px; border-radius: 999px; }
.content { padding: 30px 34px 56px; max-width: 1460px; margin: auto; }
.headline { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
h1 { font-size: clamp(25px, 3vw, 34px); margin: 0; letter-spacing: -.045em; line-height: 1.08; }
.lead { color: var(--muted); margin: 7px 0 0; font-size: 15px; }
.btn { border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); padding: 10px 15px; min-height: 42px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.btn:hover { border-color: #bec8d3; background: #fafbfd; }
.btn-primary { background: var(--blue); border-color: var(--blue); color: white; box-shadow: 0 5px 14px rgba(23,105,224,.2); }
.btn-primary:hover { background: #105fcf; border-color: #105fcf; }
.btn-danger { color: var(--red); }
.btn svg { width: 18px; height: 18px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; margin-bottom: 24px; }
.kpi { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 19px; box-shadow: 0 2px 7px rgba(16,35,61,.03); position: relative; overflow: hidden; }
.kpi:before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--blue); }
.kpi.green:before { background: var(--green); }.kpi.red:before { background: var(--red); }.kpi.amber:before { background: var(--amber); }
.kpi-label { color: var(--muted); font-weight: 650; font-size: 13px; }
.kpi-value { font-size: 30px; font-weight: 780; letter-spacing: -.04em; margin-top: 8px; }
.kpi-note { color: var(--muted); font-size: 12px; margin-top: 4px; }
.panel { background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); overflow: hidden; }
.panel-head { padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.panel-title { font-size: 16px; font-weight: 750; }
.text-link { border: 0; background: transparent; color: var(--blue); font-weight: 700; padding: 5px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th { padding: 12px 20px; background: #f8fafc; color: var(--muted); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; text-align: left; border-bottom: 1px solid var(--line); }
td { padding: 15px 20px; font-size: 14px; border-bottom: 1px solid #ebeff3; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr { cursor: pointer; }
tbody tr:hover { background: #f8fbff; }
.unit-cell { font-weight: 730; color: #15253a; }.serial { color: var(--muted); font-size: 12px; margin-top: 3px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.item-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 760; letter-spacing: .01em; }
.template-small { color: var(--muted); font-size: 12px; margin-top: 4px; max-width: 250px; }
.status { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 750; }
.status:before { content:""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status.passed { color: var(--green); background: var(--green-soft); }.status.failed { color: var(--red); background: var(--red-soft); }.status.draft { color: var(--amber); background: var(--amber-soft); }
.filters { display: grid; grid-template-columns: minmax(220px,1fr) 180px; gap: 10px; margin-bottom: 18px; }
.field { display: grid; gap: 7px; }.field label { font-size: 13px; color: #4e5b6b; font-weight: 700; }
.input, .select, textarea { width: 100%; border: 1px solid #ccd5df; border-radius: 9px; background: white; color: var(--ink); padding: 10px 12px; outline: none; min-height: 43px; }
.input:focus, .select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,105,224,.11); }
.static-field { min-height:43px; display:flex; align-items:center; padding:10px 12px; background:#f4f6f8; border:1px solid var(--line); border-radius:9px; font-weight:700; }
.search { position: relative; }.search .input { padding-left: 39px; }.search svg { position: absolute; left: 13px; top: 12px; width: 18px; color: #778394; }
.form-shell { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 20px; align-items: start; }
.steps { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 13px; position: sticky; top: 95px; }
.step { display: flex; gap: 11px; padding: 12px 10px; color: var(--muted); border-radius: 8px; font-size: 14px; font-weight: 650; align-items: center; }
.step-num { width: 27px; height: 27px; border-radius: 50%; background: #eef2f6; display: grid; place-items: center; font-size: 12px; }
.step.active { background: var(--blue-soft); color: var(--blue); }.step.active .step-num { background: var(--blue); color: white; }
.step.complete .step-num { background: var(--green); color: white; }
.form-card { background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }
.form-card-head { padding: 23px 25px; border-bottom: 1px solid var(--line); }
.form-card-head h2 { margin: 0; font-size: 20px; letter-spacing: -.025em; }.form-card-head p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.form-body { padding: 24px 25px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field-wide { grid-column: 1 / -1; }
.lookup-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; }
.item-code-input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 700; text-transform: uppercase; }
.template-match { border: 1px solid #b9d7ca; background: var(--green-soft); border-radius: 10px; padding: 15px; display: flex; align-items: flex-start; gap: 12px; }
.template-match .match-icon { width: 38px; height: 38px; border-radius: 9px; display: grid; place-items: center; background: white; color: var(--green); flex: 0 0 auto; }
.template-match svg { width: 20px; }.match-label { color: var(--green); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }.template-match p { margin: 4px 0 0; color: #546d63; font-size: 12px; }
.form-actions { display: flex; justify-content: space-between; gap: 10px; padding: 18px 25px; border-top: 1px solid var(--line); background: #fbfcfd; }
.check-section { margin-bottom: 27px; }.check-section:last-child { margin-bottom: 0; }
.section-label { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .065em; color: #536175; margin-bottom: 10px; }
.check-row { border: 1px solid var(--line); border-bottom: 0; padding: 15px; display: grid; grid-template-columns: minmax(180px,1fr) auto; gap: 12px; align-items: center; }
.check-row:first-of-type { border-radius: 10px 10px 0 0; }.check-row:last-child { border-bottom: 1px solid var(--line); border-radius: 0 0 10px 10px; }
.check-name { font-weight: 690; font-size: 14px; }.check-hint { color: var(--muted); font-size: 12px; margin-top: 3px; }
.segmented { display: flex; background: #eff3f7; border-radius: 8px; padding: 3px; gap: 2px; }
.segmented button { min-width: 56px; min-height: 34px; border: 0; background: transparent; border-radius: 6px; font-size: 12px; font-weight: 800; color: #667386; }
.segmented button.sel-pass { background: var(--green); color: white; }.segmented button.sel-fail { background: var(--red); color: white; }.segmented button.sel-na { background: #6d7785; color: white; }
.fail-note { grid-column: 1 / -1; display: grid; gap: 6px; padding-top: 4px; }.fail-note textarea { min-height: 70px; resize: vertical; }
.recorded-note textarea { min-height:54px; background:#fbfcfd; }.recorded-note.is-fail textarea { border-color:#e6aeb5; background:#fff8f8; }
.progress-line { height: 7px; background: #e8edf2; border-radius: 999px; overflow: hidden; margin-top: 13px; }.progress-line span { display: block; height: 100%; background: var(--blue); transition: width .2s; }
.progress-copy { font-size: 12px; color: var(--muted); margin-top: 7px; }
.dropzone { border: 1.5px dashed #b9c5d1; border-radius: 10px; padding: 23px; text-align: center; background: #fafcfe; }
.dropzone input { display: none; }.dropzone label { color: var(--blue); font-weight: 750; cursor: pointer; }.photo-list { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }.photo-chip { background: #edf2f7; border-radius: 8px; padding: 8px 10px; font-size: 12px; }
.summary-box { border: 1px solid var(--line); border-radius: 11px; padding: 18px; background: #f8fafc; display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }.summary-stat strong { font-size: 23px; display: block; }.summary-stat span { font-size: 12px; color: var(--muted); }
.detail-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr); gap: 20px; }.detail-list { padding: 4px 20px 20px; }.detail-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }.detail-row:last-child { border: 0; }.detail-key { color: var(--muted); font-size: 13px; }.detail-val { font-weight: 700; text-align: right; }
.result-list { padding: 7px 20px 20px; }.result-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 14px; }.result-row:last-child { border:0; }.result-note { grid-column: 1/-1; color: var(--red); background: var(--red-soft); padding: 8px 10px; border-radius: 7px; font-size: 12px; }
.empty { text-align: center; padding: 55px 20px; color: var(--muted); }.empty strong { display: block; color: var(--ink); font-size: 17px; margin-bottom: 5px; }
.notice { border: 1px solid #c9d9ed; background: #eef5ff; color: #41546d; border-radius: 10px; padding: 13px 15px; margin: -8px 0 20px; font-size: 13px; }
.template-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.template-card { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 19px; box-shadow: 0 3px 12px rgba(16,35,61,.05); display: flex; flex-direction: column; min-height: 255px; }
.template-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 12px; }
.code-badge { background: var(--navy); color: white; border-radius: 6px; padding: 5px 8px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 750; }
.template-card h2 { font-size: 18px; margin: 18px 0 7px; letter-spacing: -.025em; }.template-card p { color: var(--muted); font-size: 13px; margin: 0; line-height: 1.45; }
.template-sections { display: flex; gap: 6px; flex-wrap: wrap; margin: 15px 0 18px; }.template-sections span { background: #f0f3f6; color: #566476; border-radius: 999px; padding: 5px 8px; font-size: 11px; }
.template-actions { margin-top: auto; border-top: 1px solid var(--line); padding-top: 14px; display: flex; justify-content: space-between; align-items: center; }.template-actions .btn svg,.icon-btn svg { width: 17px; height: 17px; }
.controlled-note { color:var(--muted); font-size:11px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.icon-btn { width: 39px; height: 39px; border-radius: 8px; border: 1px solid var(--line); background: white; display: grid; place-items: center; color: var(--muted); }.icon-btn:hover { background: #f7f9fb; }.icon-btn.danger { color: var(--red); }
.question-builder-head { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin: 30px 0 12px; }.question-builder-head p { color: var(--muted); font-size: 12px; margin: 3px 0 0; }
.question-builder { display: grid; gap: 10px; }.question-edit { display: grid; grid-template-columns: 34px minmax(0,1fr) 40px; gap: 12px; align-items: start; border: 1px solid var(--line); border-radius: 10px; padding: 15px; background: #fbfcfd; }.question-number { width: 30px; height: 30px; border-radius: 8px; background: var(--navy); color: white; display: grid; place-items: center; font-weight: 800; font-size: 12px; }.question-edit .icon-btn { margin-top: 22px; }
.toast { position: fixed; right: 24px; bottom: 24px; background: var(--navy); color: white; border-radius: 9px; padding: 12px 16px; box-shadow: 0 10px 30px rgba(0,0,0,.18); opacity: 0; transform: translateY(12px); pointer-events:none; transition:.2s; z-index:100; font-size:14px; }.toast.show { opacity:1; transform:none; }
.mobile-nav { display:none; }
.login-page { background:#0d2139; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(380px,1fr) minmax(440px,.8fr); }
.login-brand { color:white; padding:clamp(55px,8vw,120px); display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 20% 20%,#244d75 0,transparent 38%),linear-gradient(145deg,#10233d,#08172a); }
.login-logo,.login-mobile-logo { width:54px; height:54px; border-radius:14px; display:grid; place-items:center; background:white; color:var(--navy); font-size:28px; font-weight:900; margin-bottom:38px; }
.login-brand .eyebrow { color:#91b9e8; font-size:12px; font-weight:800; letter-spacing:.18em; margin-bottom:18px; }
.login-brand h1 { font-size:clamp(40px,5vw,66px); max-width:700px; line-height:1.03; }
.login-brand p { color:#b8c8dc; max-width:570px; font-size:17px; line-height:1.6; margin-top:24px; }
.login-card { background:#f5f7fa; display:grid; place-items:center; padding:35px; }
.login-card-inner { width:min(420px,100%); background:white; border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 70px rgba(0,0,0,.15); padding:42px; }
.login-card h2 { font-size:28px; margin:0; letter-spacing:-.035em; }.login-card p { color:var(--muted); margin:8px 0 26px; }
.login-form { display:grid; gap:18px; }.login-form label { display:grid; gap:7px; font-size:13px; font-weight:750; color:#465468; }
.login-form[hidden] { display:none; }.login-form .input { margin-top:0; }.login-form .btn,.microsoft-login { width:100%; }
.login-page [hidden] { display:none!important; }
.login-mobile-logo { display:none; }.login-card-inner .btn { width:100%; }
.microsoft-login { text-decoration:none; }.login-error { min-height:21px; color:var(--red); font-size:13px; margin-top:15px; text-align:center; }
.ms-logo { width:18px; height:18px; }.ms-logo rect:nth-child(1){fill:#f25022}.ms-logo rect:nth-child(2){fill:#7fba00}.ms-logo rect:nth-child(3){fill:#00a4ef}.ms-logo rect:nth-child(4){fill:#ffb900}
.microsoft-login { border-color:#aeb8c4; color:#172233; background:white; }
@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; }.sidebar { display:none; }.topbar { padding: 0 20px; height: 64px; }.content { padding: 22px 18px 86px; }.kpi-grid { grid-template-columns: 1fr 1fr; }.form-shell,.detail-grid { grid-template-columns:1fr; }.steps { position:static; display:flex; overflow:auto; }.step { min-width:max-content; }.template-grid { grid-template-columns:1fr 1fr; }.mobile-nav { display:grid; grid-template-columns:repeat(4,1fr); position:fixed; bottom:0; inset-inline:0; background:white; border-top:1px solid var(--line); z-index:20; padding-bottom:env(safe-area-inset-bottom); }.mobile-nav button { border:0; background:white; padding:10px 4px 8px; color:#6a7685; font-size:11px; font-weight:700; display:grid; justify-items:center; gap:3px; }.mobile-nav button.active { color:var(--blue); }.mobile-nav svg { width:20px; }
}
@media (max-width: 600px) {
  .headline { align-items:stretch; flex-direction:column; }.headline .btn { width:100%; }.kpi-grid { grid-template-columns:1fr 1fr; gap:10px; }.kpi { padding:15px; }.kpi-value { font-size:25px; }.filters,.form-grid,.lookup-row { grid-template-columns:1fr; }.field-wide { grid-column:auto; }.form-body,.form-card-head { padding:19px; }.form-actions { padding:15px 19px; flex-wrap:wrap; }.check-row { grid-template-columns:1fr; }.segmented { width:100%; }.segmented button { flex:1; }.summary-box { grid-template-columns:repeat(3,1fr); padding:14px; }.prototype-pill { display:none; }.template-grid { grid-template-columns:1fr; }.question-edit { grid-template-columns:30px minmax(0,1fr); }.question-edit .icon-btn { grid-column:2; margin:0; justify-self:end; }
}
@media (max-width:800px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;padding:20px}.login-card-inner{padding:30px 25px}.login-mobile-logo{display:grid;margin-bottom:25px;background:var(--navy);color:white}}
@media print {
  .sidebar,.topbar,.mobile-nav,.headline .btn,.form-actions { display:none !important; }.shell { display:block; }.content { padding:0; }.panel,.form-card { box-shadow:none; }.detail-grid { grid-template-columns:1fr 1fr; }
}

/* v0.2.1 visual refresh */
:root {
  --navy:#111827;
  --navy-2:#1f2937;
  --ink:#172033;
  --muted:#667085;
  --line:#e2e7ee;
  --wash:#f5f7f9;
  --blue:#2563eb;
  --blue-soft:#eef4ff;
  --green:#087a5b;
  --green-soft:#eaf7f2;
  --red:#b42335;
  --red-soft:#fff0f1;
  --amber:#a15c07;
  --amber-soft:#fff7e8;
  --shadow:0 1px 2px rgba(16,24,40,.04),0 7px 22px rgba(16,24,40,.045);
  font-family:"Segoe UI Variable","Segoe UI",Inter,Arial,sans-serif;
}
body{background:var(--wash)}
.shell{grid-template-columns:260px minmax(0,1fr)}
.sidebar{background:#111827;padding:24px 16px 20px;border-right:1px solid #202b3b}
.brand{padding:0 9px 25px;gap:11px}.brand-mark{width:36px;height:36px;border-radius:8px;background:var(--blue);color:white;box-shadow:none}.brand-mark svg{width:21px}.brand-name{font-size:15px;letter-spacing:-.01em}.brand-sub{color:#8996a9;font-size:11px}
.nav{gap:4px}.nav button{border-radius:7px;padding:10px 11px;color:#aeb8c8;font-size:13px;font-weight:600}.nav button:hover{background:#1d2939}.nav button.active{background:#243247;color:white;box-shadow:inset 3px 0 0 var(--blue)}.nav-divider{margin:12px 8px;background:#293546}
.side-bottom{border-color:#293546}.avatar{background:#26374e;color:#dce9ff}.account-mail{color:#8896aa}
.topbar{height:68px;padding:0 32px;background:white;backdrop-filter:none;box-shadow:0 1px 0 rgba(16,24,40,.02)}.page-title{font-size:18px;font-weight:700}.text-link{font-size:13px;text-decoration:none}
.content{padding:32px;max-width:1500px}.headline{margin-bottom:23px}h1{font-size:30px;letter-spacing:-.035em}.lead{font-size:14px;margin-top:6px}
.btn{min-height:40px;border-radius:7px;padding:9px 14px;font-size:13px;box-shadow:none}.btn-primary{box-shadow:0 1px 2px rgba(16,24,40,.08)}
.kpi-grid{gap:13px;margin-bottom:20px}.kpi{border-radius:9px;padding:18px 18px 17px;box-shadow:0 1px 2px rgba(16,24,40,.025)}.kpi:before{width:3px}.kpi-label{font-size:12px}.kpi-value{font-size:28px;margin-top:6px}.kpi-note{font-size:11px}
.panel,.form-card{border-radius:9px;box-shadow:var(--shadow)}.panel-head{padding:16px 18px}.panel-title{font-size:14px}th{padding:11px 18px;background:#f8fafc;font-size:11px}td{padding:14px 18px}.table-wrap table{min-width:760px}
.input,.select,textarea{border-radius:7px;border-color:#cfd7e2;min-height:42px;padding:9px 11px}.field label{font-size:12px}.static-field{border-radius:7px}
.form-shell{grid-template-columns:238px minmax(0,1fr);gap:17px}.steps{border-radius:9px;padding:10px}.step{border-radius:6px;padding:10px;font-size:13px}.step-num{width:25px;height:25px}.form-card-head{padding:21px 23px}.form-card-head h2{font-size:18px}.form-body{padding:22px 23px}.form-actions{padding:16px 23px}.template-match{margin-top:18px;border-radius:8px}.check-row{padding:14px;border-color:#dde3ea}.segmented{border-radius:7px}.segmented button{border-radius:5px}.dropzone{border-radius:8px}.summary-box{border-radius:8px}
.template-grid{gap:13px}.template-card{border-radius:9px;padding:18px;min-height:235px;box-shadow:0 1px 3px rgba(16,24,40,.04)}.template-card h2{font-size:17px;margin-top:16px}.code-badge{background:#eef2f6;color:#344054;border:1px solid #e1e7ee}.template-sections span{background:#f3f5f7}.icon-btn{border-radius:7px}.question-edit{border-radius:8px;background:#fafbfc}.question-number{border-radius:6px;background:#344054}
.notice{border-radius:8px;border-color:#cddcf7;background:#f2f6fd;color:#3f526e}.toast{border-radius:7px;background:#172033;font-size:13px}

.login-page{background:#eef1f4;display:grid;place-items:center;min-height:100vh;border-top:4px solid var(--blue)}
.login-shell{display:block;min-height:auto;width:min(440px,calc(100% - 32px));margin:auto}
.login-card{display:block;background:transparent;padding:0}
.login-card-inner{width:100%;padding:38px 40px 34px;border-radius:10px;border:1px solid #dce2e9;box-shadow:0 12px 35px rgba(16,24,40,.09);background:white}
.login-identity{display:flex;align-items:center;gap:11px;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.login-identity .login-logo{width:38px;height:38px;margin:0;border-radius:7px;background:var(--blue);color:white;font-size:20px}
.login-identity strong{display:block;font-size:14px;color:var(--ink)}.login-identity span{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.login-card h1{font-size:25px;margin:0;letter-spacing:-.03em}.login-card h2{display:none}.login-card p{margin:6px 0 24px;font-size:13px}
.login-form{gap:16px}.login-form label{font-size:12px;color:#344054}.login-form .btn{margin-top:3px;min-height:43px}
.microsoft-login{min-height:43px}.login-error{margin-top:13px;font-size:12px}

@media(max-width:900px){.shell{grid-template-columns:1fr}.content{padding:24px 20px 88px}.topbar{padding:0 20px}}
@media(max-width:600px){.content{padding-inline:15px}.login-card{min-height:auto;padding:0}.login-card-inner{padding:30px 24px}.login-mobile-logo{display:none}}

/* Corrective retest and immutable revision history */
.revision-kicker{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.1em;margin-bottom:7px}
.retest-alert{display:flex;flex-direction:column;gap:3px;margin:-5px 0 20px;padding:14px 16px;border:1px solid #f1bcc3;border-left:4px solid var(--red);border-radius:8px;background:var(--red-soft);font-size:13px;color:#7f2530}
.retest-alert span{color:#87535a}
.result-note.neutral{color:#475467;background:#f3f5f7}
.corrective-note{grid-column:1/-1;color:var(--green);background:var(--green-soft);padding:8px 10px;border-radius:7px;font-size:12px}
.revision-panel{margin-top:17px}.revision-list{padding:5px 18px}.revision-item{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.revision-item:last-child{border-bottom:0}.revision-item strong{font-size:13px}.revision-item span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.revision-item .icon-btn svg{width:17px;height:17px}
.retest-list{display:grid;gap:15px}.retest-card{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr);gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.retest-question,.original-defect{grid-column:1/-1}.retest-question span{display:block;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}.retest-question strong{font-size:15px}.original-defect{padding:11px 13px;border-radius:7px;background:var(--red-soft);color:#7f2530;font-size:12px}.original-defect p{margin:4px 0 0}.retest-card textarea{min-height:85px;resize:vertical}.retest-result{width:220px}
@media(max-width:600px){.retest-card{grid-template-columns:1fr}.retest-result{width:100%}.revision-item{grid-template-columns:minmax(0,1fr) auto 38px}}

/* v0.4.1 PRAMAC visual system and inspection usability */
:root{
  --navy:#142f3f;
  --navy-2:#203f50;
  --ink:#142f3f;
  --muted:#627581;
  --line:#d9e0e4;
  --wash:#f3f5f6;
  --blue:#e30613;
  --blue-soft:#fff0f1;
  --red:#e30613;
  --red-soft:#fff0f1;
  --shadow:0 1px 2px rgba(20,47,63,.04),0 7px 22px rgba(20,47,63,.055);
}
.sidebar{background:var(--navy);border-right-color:#294858}
.brand-mark,.login-identity .login-logo{background:var(--blue)}
.brand-sub,.account-mail{color:#9fb0ba}
.nav button{color:#c2cdd3}.nav button:hover{background:#203f50}.nav button.active{background:white;color:var(--navy);box-shadow:inset 3px 0 0 var(--blue)}.nav-divider,.side-bottom{border-color:#31505f}.nav-divider{background:#31505f}
.btn-primary{background:var(--blue);border-color:var(--blue);box-shadow:0 2px 5px rgba(227,6,19,.18)}.btn-primary:hover{background:#c9000c;border-color:#c9000c}
.text-link,.dropzone label,.revision-kicker{color:var(--blue)}
.input:focus,.select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(227,6,19,.1)}
.step.active{background:var(--blue-soft);color:var(--blue)}.step.active .step-num,.progress-line span{background:var(--blue)}
.code-badge{background:#eef2f3;color:var(--navy);border-color:#d9e0e4}
.login-page{border-top-color:var(--blue)}
.headline>div+div{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.headline>div+div .btn{margin:0}
.form-card:has(.check-section)>.form-card-head{position:sticky;top:68px;z-index:8;background:white;box-shadow:0 8px 15px rgba(20,47,63,.06)}
@media(max-width:900px){.form-card:has(.check-section)>.form-card-head{top:64px}}
@media(max-width:600px){.headline>div+div{width:100%;flex-direction:column;align-items:stretch}}

/* v0.5 login video */
.login-page{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#142f3f,#071b27)}
.login-page:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,27,39,.72),rgba(7,27,39,.42)),linear-gradient(0deg,rgba(20,47,63,.2),rgba(20,47,63,.2));pointer-events:none}
.login-background-video{position:fixed;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;background:#142f3f}
.login-page .login-shell{position:relative;z-index:1}
.login-page .login-card-inner{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.65);box-shadow:0 22px 65px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
@media(prefers-reduced-motion:reduce){.login-background-video{display:none}}
.my-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.my-kpis{grid-template-columns:1fr}}

/* PlantRecord v0.1 */
.sidebar{padding:18px 14px 16px}
.sidebar-user{display:flex;align-items:center;gap:11px;padding:4px 8px 18px;margin-bottom:17px;border-bottom:1px solid #31505f}
.sidebar-user .avatar{width:40px;height:40px;background:white;color:var(--navy);font-size:13px;flex:0 0 auto}
.sidebar-user .account-name{font-size:14px;color:white;line-height:1.25}.sidebar-user .account-mail{font-size:11px;color:#aab9c1}
.nav-module{border-radius:8px;overflow:hidden}.nav .module-trigger{width:100%;position:relative}.nav .module-trigger.current{color:white}.module-chevron{margin-left:auto;display:grid;place-items:center;transition:transform .2s ease}.module-chevron svg{width:15px!important;height:15px!important}.module-trigger.open .module-chevron{transform:rotate(90deg)}
.module-subnav{display:grid;max-height:0;opacity:0;overflow:hidden;transition:max-height .22s ease,opacity .18s ease;margin-left:17px;border-left:1px solid #365666;padding-left:7px}.module-subnav.open{max-height:240px;opacity:1;margin-bottom:5px}.module-subnav button{padding:8px 10px;font-size:12px;min-height:36px}.module-subnav button svg{width:16px;height:16px}
.side-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#81939e}.sidebar-signout{color:#cbd5da;text-decoration:none;font-size:12px;font-weight:650}.sidebar-signout:hover{color:white}
.topbar{height:72px}.topbar-product{text-transform:uppercase;letter-spacing:.1em;font-weight:750;font-size:9px;color:var(--muted);margin-bottom:3px}.topbar .page-title{font-size:17px}
.portal-welcome{margin-bottom:26px}.portal-welcome .eyebrow{display:block;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:9px}.portal-welcome h1{font-size:34px}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;align-items:start;min-height:205px;padding:22px;border:1px solid var(--line);border-radius:11px;background:white;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;position:relative}.module-card[data-open-module]{cursor:pointer}.module-card[data-open-module]:hover{transform:translateY(-2px);border-color:#bac7cd;box-shadow:0 12px 28px rgba(20,47,63,.09)}
.module-icon{width:48px;height:48px;border-radius:9px;background:var(--navy);color:white;display:grid;place-items:center}.module-icon svg{width:23px;height:23px}.module-card h2{font-size:17px;margin:2px 0 7px}.module-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}.module-state{position:absolute;left:22px;bottom:20px;color:var(--red);font-size:12px;font-weight:750}.module-card.coming-soon{background:#f7f8f9;box-shadow:none}.module-card.coming-soon .module-icon{background:#d7dde0;color:#647681}.module-card.coming-soon .module-state{color:#7b8b94}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px;align-items:start}.panel-copy{font-size:11px;color:var(--muted);margin:4px 0 0}.role-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f3;color:var(--navy);font-size:11px;font-weight:700}.role-list{padding:5px 18px}.role-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.role-row:last-child{border-bottom:0}.role-row strong{font-size:14px}.access-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.access-tags span{padding:4px 7px;background:#f0f3f4;border-radius:5px;color:var(--muted);font-size:10px}.narrow-card{max-width:850px}
.module-access-field{margin-top:24px}.module-check{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:#fafbfb;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.module-check input{margin-top:3px;accent-color:var(--red)}.module-check span{display:block}.module-check strong{display:block;color:var(--ink);font-size:13px}.module-check small{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.4}
.home-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.permission-group{margin-top:22px}.permission-group:first-child{margin-top:0}.permission-title{padding-bottom:8px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.07em}
.module-check.disabled{opacity:.62;cursor:not-allowed}
.notification-wrap{position:relative;margin-left:auto;margin-right:15px}.bell-button{width:39px;height:39px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);display:grid;place-items:center;position:relative}.bell-button:hover{background:#f7f9fa}.bell-button svg{width:19px}.bell-button>span{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border:2px solid white;border-radius:999px;background:var(--red);color:white;font-size:9px;font-weight:800;display:grid;place-items:center}.notification-panel{position:absolute;right:0;top:47px;width:min(390px,calc(100vw - 35px));max-height:520px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 18px 45px rgba(20,47,63,.16);z-index:50;overflow:hidden}.notification-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--line)}.notification-head strong{display:block;font-size:14px}.notification-head span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.notification-head .text-link{border:0;background:transparent;font-size:11px}.notification-list{max-height:440px;overflow:auto}.notification-item{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;padding:13px 16px;border:0;border-bottom:1px solid #edf0f2;background:white;text-align:left;color:var(--ink)}.notification-item:hover{background:#f8fafb}.notification-item.unread{background:#fff8f8}.notification-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:transparent}.notification-item.unread .notification-dot{background:var(--red)}.notification-item strong{display:block;font-size:12px}.notification-item small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:3px}.notification-item time{display:block;color:#8a989f;font-size:9px;margin-top:6px}.notification-empty{padding:25px 18px;text-align:center;color:var(--muted);font-size:12px}.topbar>.text-link{margin-left:0}
.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.overview-wide{grid-column:1/-1}.metric-list{padding:19px}.metric-row{margin-bottom:18px}.metric-row:last-child{margin-bottom:0}.metric-row>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:12px}.metric-track{height:7px;border-radius:999px;background:#edf1f3;overflow:hidden}.metric-track span{display:block;height:100%;border-radius:inherit}.overview-list{padding:5px 18px}.overview-list>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.overview-list>div:last-child{border-bottom:0}.workload-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px}.workload-grid>div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fafbfb}.workload-grid span,.workload-grid small{display:block}.workload-grid span{font-size:11px;color:var(--muted)}.workload-grid strong{display:block;font-size:24px;margin:6px 0 3px}.workload-grid small{font-size:10px;color:#829099}
@media(max-width:1100px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}}
@media(max-width:900px){.overview-grid{grid-template-columns:1fr}.overview-wide{grid-column:auto}.workload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-wrap{margin-right:8px}}
@media(max-width:700px){.module-grid{grid-template-columns:1fr}.portal-welcome h1{font-size:28px}.home-kpis{grid-template-columns:1fr}.workload-grid{grid-template-columns:1fr}.notification-panel{right:-55px}}

/* v0.3 Stelvio - warehouse records, QR actions and email administration */
.record-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.inline-create{display:flex;gap:8px;align-items:center}.inline-create .input{min-width:170px}.dispatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.dispatch-day{padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;color:var(--ink);box-shadow:0 2px 5px rgba(16,35,61,.04)}.dispatch-day:hover{border-color:var(--navy);transform:translateY(-1px)}.dispatch-day span,.dispatch-day small{display:block}.dispatch-day span{font-size:15px;font-weight:750}.dispatch-day strong{display:block;margin:18px 0 2px;font-size:30px;color:var(--navy)}.dispatch-day small{color:var(--muted)}.warehouse-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:18px;align-items:start}.warehouse-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:8px;padding:16px;border-bottom:1px solid var(--line);background:#f7f9fa}.warehouse-records article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line)}.warehouse-records article:last-child{border-bottom:0}.warehouse-records article span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.file-input{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px dashed #9faeb7;border-radius:7px;background:#fff;color:var(--navy);font-size:11px;font-weight:700;cursor:pointer}.file-input input{display:none}.manifest-form{display:grid;gap:10px;padding:18px}.file-stack{display:flex;flex-direction:column;gap:7px;padding:0 18px 18px}.file-pill{display:inline-flex;padding:6px 9px;margin:2px;border-radius:6px;background:#edf2f4;color:var(--navy);font-size:10px;font-weight:700;text-decoration:none}.return-form-card{margin-bottom:18px}.email-admin{margin-top:18px}.email-admin-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);gap:0;border-top:1px solid var(--line)}.settings-form,.template-settings{display:grid;gap:12px;padding:22px}.settings-form{border-right:1px solid var(--line)}.settings-form>label,.template-settings label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--navy)}.settings-form h3,.template-settings h3{margin:0 0 5px}.module-check.compact{padding:8px;margin:0}.template-tabs{display:flex;gap:6px;flex-wrap:wrap}.template-tabs button{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--muted);font-size:10px;font-weight:700}.template-tabs button.active{border-color:var(--navy);background:var(--navy);color:white}.template-settings form{display:grid;gap:11px}.template-help{padding:10px;border-radius:6px;background:#f3f5f6;color:var(--muted);font-size:10px;line-height:1.5}.email-admin textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}
@media(max-width:980px){.warehouse-grid,.email-admin-grid{grid-template-columns:1fr}.settings-form{border-right:0;border-bottom:1px solid var(--line)}.warehouse-form{grid-template-columns:1fr 1fr}.warehouse-form .btn{grid-column:span 2}}
@media(max-width:620px){.inline-create{width:100%;align-items:stretch;flex-direction:column}.warehouse-form{grid-template-columns:1fr}.warehouse-form .btn{grid-column:auto}.warehouse-records article{align-items:flex-start;flex-direction:column}.record-actions{justify-content:flex-start}.email-admin-grid{display:block}}

.login-secondary{margin-top:10px;background:white}.login-error.success{color:var(--green)}
.unassigned-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef1f4;border-top:4px solid var(--red)}
.unassigned-card{width:min(520px,100%);padding:42px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 35px rgba(16,24,40,.09)}
.unassigned-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:24px;border-radius:8px;background:var(--red);color:white}.unassigned-icon svg{width:24px}.unassigned-card .eyebrow{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.14em}.unassigned-card h1{margin:8px 0px 12px;font-size:29px}.unassigned-card p{color:var(--muted);font-size:14px;line-height:1.6}.unassigned-detail{display:grid;gap:5px;margin:24px 0;padding:15px 17px;background:#f6f7f9;border:1px solid var(--line);border-radius:7px}.unassigned-detail span{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:750;letter-spacing:.06em}.unassigned-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.unassigned-actions a{text-decoration:none}
@media(max-width:600px){.unassigned-card{padding:30px 24px}.unassigned-actions{flex-direction:column}.unassigned-actions .btn{width:100%}}

/* v0.3.1 Outlook delivery queue */
.delivery-help{display:none;padding:14px;border:1px solid #bfd0d8;border-left:4px solid var(--navy);border-radius:8px;background:#f4f8fa}.delivery-help.active{display:grid;gap:10px}.delivery-help>strong{font-size:13px}.delivery-help p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.copy-field{display:flex;gap:7px}.copy-field .input{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.compact-actions{padding:0}.email-queue{border-top:1px solid var(--line)}.email-queue .queue-subject,.email-queue .queue-error{display:block;margin-top:4px;font-size:10px}.email-queue .queue-subject{color:var(--muted)}.email-queue .queue-error{max-width:650px;color:var(--red);white-space:normal}.queue-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef2f3;color:var(--navy);font-size:9px;font-weight:800;text-transform:uppercase}.queue-status.pending{background:#fff2d8;color:#855900}.queue-status.processing{background:#e6f0ff;color:#1c56a8}.queue-status.sent{background:#e4f5ed;color:#087b58}.queue-status.failed{background:var(--red-soft);color:var(--red)}.empty-cell{padding:30px!important;text-align:center;color:var(--muted)}

/* v0.3.3 role assignment permission, announcements and mobile scaling */
.announcement-admin{margin-top:18px}.announcement-form{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(240px,1fr) minmax(300px,1.4fr) auto;gap:12px;align-items:end;padding:20px;border-top:1px solid var(--line)}.announcement-form label{display:grid;gap:6px;color:var(--navy);font-size:11px;font-weight:700}.announcement-form textarea{min-height:76px}.announcement-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(11,35,50,.72);backdrop-filter:blur(3px)}.announcement-dialog{width:min(520px,100%);padding:30px;border-top:5px solid var(--red);border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3)}.announcement-label{color:var(--red);font-size:10px;font-weight:850;letter-spacing:.14em}.announcement-dialog h2{margin:10px 0 12px;font-size:25px}.announcement-dialog p{margin:0;white-space:pre-wrap;color:var(--ink);font-size:14px;line-height:1.6}.announcement-meta{margin:20px 0;color:var(--muted);font-size:10px}.announcement-dialog .btn{width:100%}
@media(max-width:900px){.announcement-form{grid-template-columns:1fr 1fr}.announcement-message-field{grid-column:1/-1}.announcement-form>.btn{width:100%}}
@media(max-width:700px){
  .content{padding:18px 14px 84px}.topbar{padding:0 14px}.topbar-product{max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .headline{align-items:stretch;flex-direction:column;gap:14px}.headline h1{font-size:25px}.headline>div:last-child,.record-actions,.form-actions>div{display:flex;flex-wrap:wrap;gap:8px}.headline .btn,.headline a.btn{justify-content:center}
  .form-grid,.corrective-fields,.asset-form,.warehouse-form,.email-admin-grid,.announcement-form{grid-template-columns:1fr}.field-wide,.announcement-message-field,.warehouse-form .btn{grid-column:auto}
  .form-body,.form-card-head,.settings-form,.template-settings{padding-left:16px;padding-right:16px}.form-actions{align-items:stretch;padding:14px 16px}.form-actions>div{justify-content:flex-end}
  .input,.select,textarea{max-width:100%;font-size:16px}.panel-head{align-items:flex-start;gap:10px;padding:14px}.panel-head>.record-actions{width:100%}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:660px}.email-queue table{min-width:620px}
  .role-row{align-items:flex-start;gap:10px}.access-tags{max-width:100%}.module-check{align-items:flex-start}
  .copy-field{align-items:stretch;flex-direction:column}.copy-field .btn{width:100%}.admin-actions{padding:12px 0}.settings-form>.admin-actions{padding:8px 0}
  .announcement-form{padding:16px}.announcement-overlay{padding:14px}.announcement-dialog{padding:24px 20px}.announcement-dialog h2{font-size:22px}
}
@media(max-width:420px){.content{padding-left:10px;padding-right:10px}.headline h1{font-size:23px}.btn{min-height:42px}.form-actions{flex-direction:column}.form-actions>.btn,.form-actions>div,.form-actions>div>.btn{width:100%}.task-summary{grid-template-columns:1fr 1fr}.notification-panel{position:fixed;top:64px;left:10px;right:10px;width:auto}.announcement-dialog{border-radius:8px}}

/* v0.2 operations, scheduling and governance */
.global-search{width:min(390px,34vw);margin-left:auto;position:relative}.global-search>span{position:absolute;left:11px;top:11px;color:var(--muted);z-index:1}.global-search svg{width:17px;height:17px}.global-search input{width:100%;height:39px;padding:8px 12px 8px 35px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;color:var(--ink);outline:0}.global-search input:focus{border-color:var(--red);background:white;box-shadow:0 0 0 3px rgba(227,6,19,.08)}.global-results{position:absolute;top:45px;left:0;right:0;z-index:60;max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:9px;background:white;box-shadow:0 18px 45px rgba(20,47,63,.16)}.global-results button{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left}.global-results button:hover{background:#f7f9fa}.global-results strong,.global-results small{display:block}.global-results strong{font-size:12px}.global-results small{margin-top:4px;color:var(--muted);font-size:10px}
.task-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.task-count{padding:15px 16px;border:1px solid var(--line);border-radius:9px;background:white}.task-count strong,.task-count span{display:block}.task-count strong{font-size:25px}.task-count span{margin-top:4px;color:var(--muted);font-size:11px}.task-count.red{border-left:4px solid var(--red)}.task-count.amber{border-left:4px solid var(--amber)}.task-count.green{border-left:4px solid var(--green)}.task-sections{display:grid;gap:16px}.count-badge{min-width:25px;height:25px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:#eef2f3;font-size:11px;font-weight:800}.priority{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef2f3;font-size:10px;font-weight:800}.priority.urgent{background:var(--red-soft);color:var(--red)}tr.overdue td{background:#fff7f7}
.evidence-panel{margin-top:17px}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.evidence-grid a{position:relative;height:85px;border-radius:7px;overflow:hidden;background:#edf1f3}.evidence-grid img{width:100%;height:100%;object-fit:cover}.evidence-grid span{position:absolute;left:5px;bottom:5px;padding:3px 5px;border-radius:4px;background:rgba(20,47,63,.8);color:white;font-size:8px;text-transform:uppercase}
.corrective-panel{margin-top:17px}.corrective-list{display:grid;gap:12px;padding:16px}.corrective-card{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:8px;background:#fbfcfc}.corrective-card p{margin:5px 0 0;color:var(--muted);font-size:12px}.corrective-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.corrective-card label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.corrective-card textarea{min-height:75px}.corrective-card>.btn{justify-self:end}.audit-mini{padding:4px 17px}.audit-mini>div{padding:10px 0;border-bottom:1px solid var(--line)}.audit-mini strong,.audit-mini span{display:block;font-size:11px}.audit-mini span{margin-top:3px;color:var(--muted);font-size:9px}
.asset-panel{margin-top:18px}.asset-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:8px;padding:15px;border-bottom:1px solid var(--line)}.admin-tools{display:grid;grid-template-columns:minmax(350px,.8fr) minmax(0,1.2fr);gap:18px;margin-top:18px;align-items:start}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;padding:16px}.admin-actions a{text-decoration:none}.restore-label{position:relative;overflow:hidden}.restore-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.backup-list{padding:0 16px 12px}.backup-list a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:10px}.backup-list span{color:var(--muted)}.audit-list{max-height:430px;overflow:auto;padding:3px 16px}.audit-list>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.audit-list span{color:var(--ink)}.audit-list small{color:var(--muted)}
@media(max-width:1100px){.task-summary{grid-template-columns:repeat(3,1fr)}.admin-tools{grid-template-columns:1fr}.asset-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.global-search{width:min(320px,42vw)}.corrective-fields{grid-template-columns:1fr}.task-summary{grid-template-columns:repeat(2,1fr)}}
.action-evidence{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}.action-evidence a{font-size:10px;color:var(--red)}.action-evidence label{position:relative;overflow:hidden}.action-evidence input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media(max-width:600px){.global-search{display:none}.task-summary{grid-template-columns:1fr 1fr}.asset-form{grid-template-columns:1fr}.audit-list>div{grid-template-columns:1fr}.evidence-grid{grid-template-columns:repeat(2,1fr)}}

.evidence-grid a{cursor:zoom-in}
.evidence-lightbox{width:min(1100px,calc(100vw - 36px));max-width:none;height:min(88vh,850px);max-height:none;padding:0;border:0;border-radius:12px;background:#101a20;color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.55);overflow:hidden}
.evidence-lightbox::backdrop{background:rgba(4,14,20,.84);backdrop-filter:blur(4px)}
.evidence-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;margin:0;padding:18px}
.evidence-lightbox img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;border-radius:7px}
.evidence-lightbox figcaption{overflow:hidden;padding:12px 48px 0 4px;color:#dce6eb;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.evidence-lightbox-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(9,25,34,.8);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.evidence-lightbox-close:hover,.evidence-lightbox-close:focus{background:#fff;color:#142f3f;outline:2px solid #fff;outline-offset:2px}
@media(max-width:600px){.evidence-lightbox{width:calc(100vw - 16px);height:calc(100vh - 28px)}.evidence-lightbox figure{padding:10px}.evidence-lightbox figcaption{padding-left:3px}}


/* Visual template builder */
.builder-page-head{align-items:flex-start}.builder-details{padding:20px;margin-bottom:18px}.builder-details .form-grid{margin:0}.builder-summary{margin-top:12px;color:var(--muted);font-size:13px;font-weight:700}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.builder-canvas{display:grid;gap:18px}.builder-section{background:#f7f9fb;border:1px solid #cdd8df;border-radius:14px;padding:16px}.builder-section-head,.builder-field-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.builder-section-title{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;flex:1}.builder-section-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#143c50;color:#fff;font-weight:800}.builder-section-description{margin-top:7px}.builder-section-fields{display:grid;gap:12px;margin:16px 0}.builder-field{background:#fff;border:1px solid #d8e0e5;border-radius:11px;box-shadow:0 2px 8px rgba(20,47,63,.04)}.builder-field-head{padding:12px 14px;border-bottom:1px solid #e5eaed;align-items:center}.builder-field-head strong{flex:1}.builder-drag{color:#90a0aa;letter-spacing:-3px}.builder-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#456273;background:#edf3f6;border-radius:999px;padding:5px 8px}.builder-field-actions{display:flex;gap:5px;align-items:center}.builder-field-body{padding:14px}.builder-field-body .form-grid{margin:0}.builder-number-range,.builder-input-unit{display:flex;gap:8px;align-items:center}.builder-number-range>*{min-width:0}.builder-input-unit .input{flex:1}.builder-input-unit span,.builder-unit{font-weight:700;color:#536b78}.builder-switches{display:flex;flex-wrap:wrap;gap:16px}.builder-switches label,.builder-choice,.builder-confirm{display:flex;align-items:center;gap:8px;font-weight:600}.builder-add-field{width:100%;border-style:dashed}.builder-add-section{min-height:54px;border-style:dashed}.builder-help{position:sticky;top:82px;padding:18px}.builder-help>strong{display:block;font-size:17px}.builder-help p{color:var(--muted);line-height:1.5}.builder-help span{display:block;border-top:1px solid #e3e8eb;padding:7px 0;font-size:13px}.builder-sticky-actions{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px 18px;background:rgba(255,255,255,.96);border:1px solid #d4dde2;border-radius:12px;box-shadow:0 -5px 20px rgba(20,47,63,.08);backdrop-filter:blur(8px)}.builder-sticky-actions span{flex:1;color:var(--muted);font-size:13px}.builder-preview-banner{padding:12px 16px;margin-bottom:14px;border-radius:10px;background:#eaf4f8;color:#17465b;font-weight:700}.builder-preview-section{margin-bottom:15px}.builder-message{padding:14px 16px;border-radius:9px;background:#eaf4f8;border-left:4px solid #28799b}.builder-message.warning{background:#fff3df;border-color:#d47d00}.builder-message .check-hint{margin-top:4px}.builder-signature-preview{height:110px;border:2px dashed #becbd2;border-radius:9px;display:grid;place-items:center;color:var(--muted)}.builder-runtime-section{padding:18px 0;border-bottom:1px solid #e0e6ea}.builder-runtime-section:first-child{padding-top:0}.builder-runtime-section>p{margin:4px 0 15px;color:var(--muted)}.builder-runtime-fields{display:grid;gap:16px}.builder-runtime-fields>.field{margin:0}.builder-runtime-table input{min-width:120px}.template-version-list{display:grid;gap:12px}.template-version summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px;cursor:pointer}.template-version summary span:first-child{display:grid;gap:3px}.template-version summary small{font-weight:400;color:var(--muted)}.template-version>div{padding:0 18px 18px}.archived-templates{margin-top:18px}.archived-template-row{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-top:1px solid #e1e7ea}.archived-template-row span{display:grid}.archived-template-row small{color:var(--muted)}
@media(max-width:980px){.builder-layout{grid-template-columns:1fr}.builder-help{position:static;display:none}}
@media(max-width:680px){.builder-field-head{flex-wrap:wrap}.builder-type{order:3}.builder-field-actions{order:4;width:100%;justify-content:flex-end}.builder-sticky-actions{flex-wrap:wrap}.builder-sticky-actions span{order:3;flex-basis:100%}.template-version summary{align-items:flex-start;flex-direction:column}}

/* Template studio visual refresh */
.builder-page-head{padding-bottom:4px}
.builder-page-head h1{font-size:32px}
.builder-page-head .lead{max-width:680px}
.builder-details{position:relative;overflow:hidden;margin-bottom:24px;padding:22px 24px;border:1px solid #d9e1e6;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#f8fafb 100%);box-shadow:0 8px 28px rgba(16,35,61,.055)}
.builder-details:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand)}
.builder-details .form-grid{grid-template-columns:minmax(280px,1.25fr) minmax(260px,1fr);gap:18px}
.builder-details .field label{color:#344b58}
.builder-summary{display:inline-flex;align-items:center;gap:7px;margin-top:15px;padding:6px 10px;border-radius:999px;background:#edf2f5;color:#425966;font-size:11px;letter-spacing:.02em}
.builder-layout{grid-template-columns:minmax(0,1fr) 286px;gap:24px}
.builder-canvas{gap:20px}
.builder-section{padding:0;border:1px solid #d8e0e5;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,35,61,.055);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.builder-section:focus-within{border-color:#9eb0ba;box-shadow:0 10px 30px rgba(16,35,61,.09)}
.builder-section-head{align-items:center;padding:20px 22px;border-bottom:1px solid #e2e8eb;background:linear-gradient(180deg,#fff,#fafbfc)}
.builder-section-title{grid-template-columns:38px minmax(0,1fr);gap:13px;align-items:center}
.builder-section-number{width:36px;height:36px;border-radius:10px;background:var(--navy);font-size:13px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.builder-section-title>.input,.builder-section-title>div>.input:first-child{min-height:38px;border-color:transparent;background:transparent;padding:6px 9px;color:var(--navy);font-size:18px;font-weight:750}
.builder-section-title>div>.input:first-child:hover,.builder-section-title>div>.input:first-child:focus{border-color:#bdc9d0;background:#fff}
.builder-section-description{min-height:34px!important;margin-top:2px!important;padding:4px 9px!important;color:var(--muted)!important;font-size:12px!important;font-weight:500!important}
.builder-section-fields{gap:10px;margin:0;padding:16px 20px}
.builder-field{overflow:hidden;border:1px solid #dce3e7;border-radius:11px;background:#fff;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.builder-field:hover{border-color:#b7c5cd;box-shadow:0 5px 16px rgba(20,47,63,.06)}
.builder-field[open]{border-color:#aebdc6;box-shadow:0 8px 22px rgba(20,47,63,.08)}
.builder-field summary{list-style:none;cursor:pointer}
.builder-field summary::-webkit-details-marker{display:none}
.builder-field-head{min-height:58px;padding:10px 12px;border:0}
.builder-field[open] .builder-field-head{border-bottom:1px solid #e5eaed;background:#fafbfc}
.builder-field-head:before{content:"›";display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:#607581;font-size:20px;transition:transform .16s ease}
.builder-field[open] .builder-field-head:before{transform:rotate(90deg)}
.builder-drag{display:none}
.builder-field-head strong{font-size:14px;color:#203a49}
.builder-type{padding:5px 9px;background:#eef2f4;color:#536a77;font-size:9px;letter-spacing:.08em}
.builder-field-actions{opacity:.4;transition:opacity .16s ease}
.builder-field:hover .builder-field-actions,.builder-field:focus-within .builder-field-actions{opacity:1}
.builder-field-actions .icon-btn{width:32px;height:32px;border-radius:7px}
.builder-field-body{padding:20px;background:#fff}
.builder-field-body .form-grid{gap:16px}
.builder-switches{padding:13px 14px;border:1px solid #e0e6e9;border-radius:9px;background:#f8fafb}
.builder-switches input,.builder-choice input,.builder-confirm input{accent-color:var(--brand)}
.builder-add-field{margin:0 20px 20px;width:calc(100% - 40px);min-height:46px;border:1px dashed #adbdc6;background:#f9fbfc;color:#304d5d}
.builder-add-field:hover,.builder-add-section:hover{border-color:var(--brand);background:#fff6f6;color:var(--brand)}
.builder-add-section{min-height:60px;border:1px dashed #aebdc6;border-radius:14px;background:rgba(255,255,255,.65);color:#385463;font-weight:750}
.builder-help{top:88px;padding:0;border:1px solid #d8e0e5;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(16,35,61,.055);overflow:hidden}
.builder-help>strong{padding:18px 18px 4px;font-size:15px;color:var(--navy)}
.builder-help>p{margin:0;padding:5px 18px 15px;border-bottom:1px solid #e4e9ec;font-size:12px;line-height:1.55}
.builder-help button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:8px 14px;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#314b59;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}
.builder-help button:last-child{border-bottom:0}
.builder-help button:hover{background:#f4f7f8;color:var(--brand)}
.builder-help button span{display:inline;padding:0;border:0;font-size:12px;font-weight:650}
.builder-help button small{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#edf2f4;color:#36515f;font-size:15px}
.builder-help button:hover small{background:var(--brand);color:#fff}
.builder-sticky-actions{bottom:12px;margin:24px 0 4px;padding:12px 14px 12px 18px;border:1px solid rgba(184,198,206,.9);border-radius:14px;background:rgba(255,255,255,.93);box-shadow:0 12px 36px rgba(16,35,61,.14)}
.builder-sticky-actions span:before{content:"●";margin-right:8px;color:#d49a00;font-size:9px}
.builder-sticky-actions .btn-primary{min-width:170px}
.builder-preview{max-width:920px;margin-inline:auto}
.builder-preview-banner{display:flex;align-items:center;gap:9px;padding:13px 16px;border:1px solid #bfd5df;background:#eef7fa;font-size:12px}
.builder-preview-banner:before{content:"◉";color:#176b8f}
.builder-preview-section{overflow:hidden;border:1px solid #d8e1e5;border-radius:14px;box-shadow:0 6px 20px rgba(16,35,61,.05)}
@media(max-width:980px){.builder-layout{grid-template-columns:1fr}.builder-help{position:static;display:block}.builder-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.builder-help>strong,.builder-help>p{grid-column:1/-1}.builder-help button{border-right:1px solid #edf0f2}}
@media(max-width:700px){.builder-details .form-grid{grid-template-columns:1fr}.builder-section-head{padding:16px}.builder-section-fields{padding:12px}.builder-add-field{margin:0 12px 14px;width:calc(100% - 24px)}.builder-help{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-field-head{align-items:center}.builder-field-actions{opacity:1}.builder-field-head strong{min-width:130px}.builder-sticky-actions{bottom:74px}.builder-sticky-actions .btn-primary{min-width:0;flex:1}}

/* Template editor alignment correction */
.builder-layout{display:block;max-width:980px;margin-inline:auto}
.builder-canvas{width:100%}
.builder-add-section{width:100%}
.builder-help{display:none!important}
.builder-sticky-actions{max-width:980px;margin-left:auto;margin-right:auto}
.builder-section-title>div{min-width:0}
.builder-section-title .input{width:100%}
@media(max-width:700px){.builder-layout,.builder-sticky-actions{max-width:100%}}

/* Template editor equal widths */
.builder-details{width:100%;max-width:980px;margin-left:auto;margin-right:auto}


/* Builder fields on inspection records */
.record-builder-section+.record-builder-section{border-top:10px solid #f2f5f6}
.record-builder-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 18px;background:#eef3f5;border-bottom:1px solid var(--line)}
.record-builder-section-head strong{color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.045em}
.record-builder-section-head span{color:var(--muted);font-size:11px;text-align:right}
.record-builder-row>strong{max-width:55%;overflow-wrap:anywhere;text-align:right}
.record-builder-row .check-hint{grid-column:1/-1}
.record-builder-message{padding:9px 11px;border-left:3px solid #28799b;border-radius:5px;background:#eaf4f8;font-weight:500;text-align:left}
.record-builder-message.warning{border-color:#d47d00;background:#fff3df}
.record-signature{display:block;max-width:260px;max-height:90px}
.record-builder-table{min-width:420px}
.record-builder-table th,.record-builder-table td{padding:8px;border:1px solid var(--line);font-size:11px}
@media(max-width:650px){.record-builder-section-head{flex-direction:column}.record-builder-section-head span{text-align:left}.record-builder-row>strong{max-width:100%;text-align:left}}

/* Inspection record builder layout correction */
.record-builder-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 18px}
.record-builder-row>span{font-weight:700;color:var(--ink)}
.record-builder-row>strong{display:block;width:100%;max-width:none;min-width:0;text-align:left;font-weight:500;overflow-wrap:anywhere}
.record-builder-row .table-wrap{grid-column:1;width:100%;max-width:100%;overflow-x:auto}
.record-builder-table{width:100%;min-width:0;table-layout:auto}
.record-builder-message{width:100%}
.record-builder-info>strong,.record-builder-warning>strong,.record-builder-table>strong{max-width:none}
.record-actions{max-width:100%;flex-wrap:wrap}
@media(max-width:760px){.record-builder-row{padding:13px 14px}.record-builder-table{min-width:480px}}

/* Portal motion system */
:root{--motion-fast:140ms;--motion-normal:220ms;--motion-slow:320ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
@keyframes portal-page-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes portal-card-enter{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
@keyframes portal-dialog-enter{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:none}}
@keyframes portal-backdrop-enter{from{background-color:transparent;backdrop-filter:blur(0)}to{background-color:rgba(10,27,39,.48);backdrop-filter:blur(3px)}}
.content>*,#service-workspace>.service-page-head,#service-workspace>.service-module-content{animation:portal-page-enter var(--motion-normal) var(--motion-ease) both}
.kpi,.module-card,.template-card,.workspace-card,.service-stats>div{animation:portal-card-enter var(--motion-slow) var(--motion-ease) both}
.kpi:nth-child(2),.module-card:nth-child(2),.service-stats>div:nth-child(2){animation-delay:35ms}
.kpi:nth-child(3),.module-card:nth-child(3),.service-stats>div:nth-child(3){animation-delay:70ms}
.kpi:nth-child(4),.module-card:nth-child(4),.service-stats>div:nth-child(4){animation-delay:105ms}
.btn,.icon-btn,.text-link,.nav button,.mobile-nav button,.service-job,.service-customer-row,.workspace-row,.segmented button{transition:transform var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease}
.btn:active,.icon-btn:active,.nav button:active,.mobile-nav button:active,.service-job:active,.service-customer-row:active,.workspace-row:active,.segmented button:active{transform:scale(.975)}
.panel,.form-card,.service-list-panel,.service-side-panel,.service-section,.service-customer-editor,.service-customer-map-panel{transition:border-color var(--motion-normal) ease,box-shadow var(--motion-normal) ease,transform var(--motion-normal) var(--motion-ease)}
tbody tr,.service-job,.service-customer-row,.workspace-row{transition:background-color var(--motion-fast) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
tbody tr:hover,.service-job:hover,.service-customer-row:hover,.workspace-row:hover{transform:translateX(2px)}
.input,.select,textarea{transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}
.step,.step-num,.status,.service-badge{transition:background-color var(--motion-normal) ease,color var(--motion-normal) ease,border-color var(--motion-normal) ease,transform var(--motion-normal) var(--motion-ease)}
dialog[open],.portal-dialog[open]{animation:portal-dialog-enter var(--motion-normal) var(--motion-ease) both}
dialog::backdrop,.portal-dialog::backdrop{background:rgba(10,27,39,.48);backdrop-filter:blur(3px);animation:portal-backdrop-enter var(--motion-normal) ease both}
.announcement-overlay{animation:portal-backdrop-enter var(--motion-normal) ease both}.announcement-dialog{animation:portal-dialog-enter var(--motion-slow) var(--motion-ease) both}
.notification-panel{transform-origin:top right;animation:portal-dialog-enter var(--motion-normal) var(--motion-ease) both}
.service-calendar-card{transition:left var(--motion-normal) var(--motion-ease),top var(--motion-normal) var(--motion-ease),width var(--motion-normal) var(--motion-ease),transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.service-calendar-card:hover{transform:translateY(-1px);z-index:2}
.service-nearby-results:not(:empty),.service-business-results:not(:empty),.template-match,.fail-note,.recorded-note{animation:portal-card-enter var(--motion-normal) var(--motion-ease) both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
