.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:18px 0 14px}.section-head h2{margin:0}
.kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}
.kpi{background:white;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:0 8px 18px rgba(15,23,42,.06)}.kpi span{display:block;color:var(--muted);font-weight:900}.kpi strong{font-size:24px}
.notice-card{border-left:8px solid var(--orange)}.action-list{display:grid;gap:10px}
.action-item{display:flex;gap:10px;align-items:flex-start;background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:13px}.action-item input{width:22px;height:22px;margin-top:4px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-cell{min-height:120px;background:white;border:1px solid var(--line);border-radius:16px;padding:10px}.day-cell strong{display:block;font-size:18px}
.chip{display:block;margin-top:6px;padding:6px 8px;border-radius:12px;background:#dbeafe;color:#1e3a8a;font-weight:900;font-size:13px}
.detail-link{font-weight:900;color:var(--blue);cursor:pointer}.export-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media(max-width:900px){.kpi-row{grid-template-columns:1fr 1fr}.calendar-grid{grid-template-columns:1fr 1fr}}

/* v7.1 Weather Intelligence */
.weather-chart-card{margin-top:18px}
.weather-bars{
  display:flex;
  align-items:flex-end;
  gap:10px;
  min-height:170px;
  padding:18px 8px 8px;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbff,#eef6ff);
  overflow-x:auto;
}
.weather-bar-wrap{
  min-width:54px;
  display:grid;
  justify-items:center;
  gap:8px;
  font-weight:900;
  color:#334155;
}
.weather-bar{
  width:30px;
  border-radius:12px 12px 4px 4px;
  background:linear-gradient(180deg,#ef4444,#f97316,#2563eb);
  box-shadow:0 8px 16px rgba(239,68,68,.18);
}
.chart-note{margin:12px 0 0;color:var(--muted);font-weight:800}

/* v7.2 Site Management */
.form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.role-action-card{margin-top:16px}
.action-item small{color:var(--muted);font-weight:700}
@media(max-width:900px){
  .form-grid{grid-template-columns:1fr}
}

/* v7.3 Knowledge DB */
.trade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.trade-card{cursor:pointer;transition:.15s transform,.15s box-shadow}
.trade-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(15,23,42,.14)}
.trade-title{font-size:24px!important}
.point-line{display:block;margin-top:10px;color:#1d4ed8}
.trade-detail{margin-top:16px}
.tbm-box{white-space:pre-wrap;background:#0f172a;color:#fff;border-radius:18px;padding:18px;font-size:17px;line-height:1.7}
.summary-card ul{padding-left:22px;margin-bottom:0}
@media(max-width:900px){.trade-grid{grid-template-columns:1fr}}

/* v7.4 Accident Briefing */
.poster-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:16px 0;
}
.accident-poster{
  min-height:260px;
  border-radius:24px;
  padding:20px;
  color:#fff;
  box-shadow:var(--shadow);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.poster-red{background:linear-gradient(145deg,#7f1d1d,#dc2626)}
.poster-orange{background:linear-gradient(145deg,#7c2d12,#ea580c)}
.poster-top{display:flex;justify-content:space-between;align-items:center;font-weight:1000}
.poster-top span{background:rgba(255,255,255,.18);padding:7px 10px;border-radius:999px}
.accident-poster h3{font-size:24px;line-height:1.25;margin:12px 0}
.poster-symbol{
  position:absolute;
  right:18px;
  bottom:10px;
  font-size:86px;
  font-weight:1000;
  opacity:.18;
}
.accident-poster small{font-weight:800;line-height:1.5}
.accident-detail-card{margin-top:16px}
.news-card{margin-top:16px}
@media(max-width:1100px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.poster-grid{grid-template-columns:1fr}.accident-poster{min-height:220px}}

/* v7.5 AI Field Assistant */
.ai-main-card{border-left:8px solid var(--purple)}
.role-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.role-box{
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
}
.role-box h4{font-size:20px;margin:0 0 10px;color:#0f172a}
@media(max-width:1000px){.role-grid{grid-template-columns:1fr}}

/* v7.7 settings */
.status-pill{
  display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border-radius:999px;
  background:#e5e7eb;font-weight:900;color:#111827
}
.status-pill.ok{background:#dcfce7;color:#166534}
.status-pill.fail{background:#fee2e2;color:#991b1b}
.file-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;border-radius:16px;padding:12px 18px;font-weight:900;
  background:#e8eef8;color:#172033;cursor:pointer;margin:0
}
.help-text{color:var(--muted);font-weight:800}

/* v8.0 Core OS Dashboard */
.os-hero{display:flex;justify-content:space-between;gap:18px;align-items:stretch;padding:28px;margin-bottom:18px;border-radius:28px;color:white;background:linear-gradient(135deg,#0f172a,#2563eb 58%,#7c3aed);box-shadow:var(--shadow)}
.os-hero h2{font-size:34px;margin:10px 0 4px}.os-hero p{font-weight:800;opacity:.92}
.os-risk{min-width:180px;border-radius:24px;background:rgba(255,255,255,.14);padding:18px;display:grid;align-content:center;text-align:center}
.os-risk span{font-weight:900;opacity:.9}.os-risk strong{font-size:38px;line-height:1.15}
.os-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.command-card{min-height:170px;border-radius:24px;padding:20px;color:white;box-shadow:var(--shadow)}
.command-card span{display:block;font-weight:900;opacity:.88;margin-bottom:10px}.command-card strong{display:block;font-size:25px;line-height:1.25;margin-bottom:8px}.command-card p{font-weight:800;opacity:.93}
.command-red{background:linear-gradient(145deg,#7f1d1d,#dc2626)}.command-blue{background:linear-gradient(145deg,#1e3a8a,#2563eb)}.command-orange{background:linear-gradient(145deg,#7c2d12,#ea580c)}.command-green{background:linear-gradient(145deg,#14532d,#16a34a)}
@media(max-width:1000px){.os-hero{display:block}.os-risk{margin-top:14px}.os-command-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.os-command-grid{grid-template-columns:1fr}.os-hero h2{font-size:28px}}

/* v8.2 Weather Engine */
.big-recommend{font-size:22px;font-weight:900;color:#0f172a}
.table-scroll{overflow-x:auto}
.weather-compare-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}
.weather-compare-table th,.weather-compare-table td{padding:12px;border-bottom:1px solid var(--line);text-align:center}
.weather-compare-table thead th{position:sticky;top:0;background:#f8fbff;font-weight:1000}
.weather-compare-table tbody th{background:#fff;font-weight:1000}
.rain-light{background:#dbeafe}
.rain-risk{background:#fed7aa;font-weight:900}
.rain-heavy{background:#dc2626;color:#fff;font-weight:1000}

/* v8.3 Site Creation System */
.wizard-card{border-left:8px solid var(--blue)}
.auto-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.auto-plan-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}
.auto-plan-box b{display:block;font-size:20px;margin-bottom:12px}
.plan-chip{display:inline-flex;margin:4px;padding:7px 10px;border-radius:999px;background:#eef6ff;color:#1e3a8a;font-weight:900}
@media(max-width:900px){.auto-plan-grid{grid-template-columns:1fr}}

/* v8.4 Construction Stress Index */
.csi-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0;padding:24px;border-radius:26px;background:white;border-left:10px solid var(--blue);box-shadow:var(--shadow)}
.csi-hero h2{font-size:38px;margin:8px 0}.csi-hero span{font-weight:1000;color:var(--muted)}
.csi-temp{min-width:170px;text-align:center;border-radius:20px;background:#f8fbff;padding:16px}
.csi-temp strong{font-size:34px;display:block}
.csi-hero.risk-red{border-left-color:var(--red)}.csi-hero.risk-orange{border-left-color:var(--orange)}.csi-hero.risk-yellow{border-left-color:var(--yellow)}.csi-hero.risk-blue{border-left-color:var(--blue)}
@media(max-width:800px){.csi-hero{display:block}.csi-temp{margin-top:14px}}

/* v8.5 Quality Knowledge Engine */
.quality-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.quality-check{display:flex;gap:10px;align-items:center;background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:900}
.quality-check input{width:22px;height:22px}
.quality-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;margin-top:14px}
.quality-table th,.quality-table td{padding:12px;border-bottom:1px solid var(--line);text-align:center}
.quality-table thead th{background:#f8fbff;font-weight:1000}
.quality-table tbody th{text-align:left}
.quality-table tfoot th,.quality-table tfoot td{background:#fff7ed;font-weight:1000}
@media(max-width:800px){.quality-option-grid{grid-template-columns:1fr}}

/* v8.7 Today Knowledge UI */
.today-hero{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:24px;border-radius:26px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:white;box-shadow:var(--shadow);margin-bottom:16px}
.today-hero h2{font-size:34px;margin:8px 0}.today-hero label{color:white;font-weight:900}.today-hero select{min-width:180px}
.today-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.form-grid.one{grid-template-columns:1fr}.chip-line{margin-top:12px}.role-selected{outline:4px solid #2563eb}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.knowledge-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);cursor:pointer}
.knowledge-card h3{font-size:23px;margin:8px 0}.knowledge-card b{color:#1d4ed8}
details{background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}
summary{font-size:20px;font-weight:1000;cursor:pointer}
@media(max-width:900px){.today-hero{display:block}.today-input-grid,.knowledge-grid{grid-template-columns:1fr}}

/* v8.8 Role Separated OS */
.role-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:26px;border-radius:28px;color:white;box-shadow:var(--shadow);margin-bottom:16px}
.role-hero h2{font-size:36px;margin:8px 0}.role-hero span{font-weight:1000;opacity:.9}
.role-director{background:linear-gradient(135deg,#0f172a,#2563eb)}
.role-safety{background:linear-gradient(135deg,#7f1d1d,#dc2626)}
.role-quality{background:linear-gradient(135deg,#1e3a8a,#0ea5e9)}
.role-construction{background:linear-gradient(135deg,#7c2d12,#f97316)}
.role-resource{background:linear-gradient(135deg,#14532d,#16a34a)}
.role-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}
.role-menu-card{background:white;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}
.role-menu-card h3{font-size:22px;margin:0 0 6px}
.knowledge-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rain-svg-chart{display:flex;align-items:end;gap:10px;min-height:190px;padding:18px;border-radius:20px;background:#f8fbff;overflow-x:auto}
.rain-graph-col{display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;min-width:46px;height:160px}
.rain-graph-bar{width:26px;border-radius:10px 10px 0 0;background:#2563eb}
.rain-graph-col b{font-size:13px;margin-top:6px}.rain-graph-col span{font-weight:900;color:var(--muted)}
@media(max-width:1100px){.role-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-section-grid{grid-template-columns:1fr}}
@media(max-width:700px){.role-hero{display:block}.role-menu-grid{grid-template-columns:1fr}}

/* v9.0 OS Core Engines */
.quality-accordion{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin:14px 0;box-shadow:var(--shadow)}
.quality-accordion summary{font-size:22px;font-weight:1000;cursor:pointer}
.bar-danger{background:#dc2626}.bar-warn{background:#f97316}.bar-watch{background:#60a5fa}.bar-zero{background:#cbd5e1}

/* v9.1 Site + Weather Restore */
.create-site-panel{margin-top:18px}
.blue-bar{background:#2563eb}
.weather-compare-table td[style*="rgba"]{border-radius:6px}
.weather-compare-table tbody th[rowspan]{background:#eef6ff;font-size:18px;color:#1e3a8a}

/* v9.2 Stable Navigation Patch */
.page{display:none}
.page.active{display:block}
.subpage{display:none}
.subpage.active{display:block}
.main-tabs .tab{cursor:pointer}
.main-tabs .tab.active{outline:3px solid rgba(37,99,235,.35)}

/* v9.3 Weather UX Update */
.topbar{position:sticky;top:0;z-index:1000;min-height:54px;padding-top:8px;padding-bottom:8px}.topbar h1{font-size:24px;margin:0}.topbar p{font-size:13px;margin:2px 0 0}.brand-logo{width:42px;height:42px}.main-tabs{position:sticky;top:58px;z-index:999;background:rgba(245,248,253,.96);backdrop-filter:blur(10px);padding:8px 0;box-shadow:0 6px 16px rgba(15,23,42,.06)}.main-tabs .tab{min-height:34px;padding:8px 18px}.compact-head{align-items:center;margin-bottom:12px}.compact-head h2{font-size:25px;margin:0 0 4px}.compact-head p{font-size:13px;margin:0}.weather-kpi{grid-template-columns:repeat(6,minmax(0,1fr))}.weather-kpi .kpi{min-height:92px}.star-text{font-size:22px;color:#0f172a;letter-spacing:1px}.weather-main-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-bottom:16px}.weather-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.map-card{overflow:hidden}.fake-map{height:300px;border-radius:14px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(45deg,rgba(34,197,94,.22),transparent 30%),linear-gradient(135deg,rgba(59,130,246,.22),transparent 35%),repeating-linear-gradient(30deg,#e8f0da 0,#e8f0da 18px,#d9ead3 18px,#d9ead3 36px)}.local-map:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 45%,rgba(239,68,68,.35) 46% 47%,transparent 48%),linear-gradient(0deg,transparent 0 50%,rgba(239,68,68,.35) 51% 52%,transparent 53%)}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:34px;color:#2563eb;text-shadow:0 2px 8px white}.map-label{position:absolute;left:52%;top:57%;background:white;border-radius:999px;padding:6px 12px;font-weight:1000;color:#1e3a8a}.windy-frame{width:100%;height:300px;border:0;border-radius:14px}.rain-graph-fixed{height:210px;display:flex;align-items:flex-end;gap:8px;padding:18px 10px 8px;overflow-x:auto;background:#f8fbff;border-radius:16px;border:1px solid var(--line)}.rain-hour-col{display:grid;grid-template-rows:126px 18px 22px;align-items:end;justify-items:center;min-width:34px}.rain-bar-slot{height:126px;width:100%;display:flex;align-items:flex-end;justify-content:center}.rain-graph-bar{width:18px;border-radius:8px 8px 0 0;background:#2563eb}.rain-value{font-size:11px;font-weight:900;color:#0f172a;line-height:18px}.rain-hour{font-size:11px;font-weight:900;color:#475569;line-height:22px;white-space:nowrap}.ai-weather-card{background:linear-gradient(135deg,#f8fbff,#eef6ff)}.ai-weather-card p{font-size:17px;font-weight:900;line-height:1.65}.ai-weather-card li{margin:8px 0;font-weight:800}.model-head{background:#dbeafe!important;color:#0f172a!important}.avg-head{background:#e5e7eb!important;color:#111827!important}.max-head{background:#334155!important;color:white!important}.consistency-head{background:#0f172a!important;color:white!important}.avg-cell{box-shadow:inset 0 0 0 9999px rgba(148,163,184,.12)}.max-cell{box-shadow:inset 0 0 0 9999px rgba(15,23,42,.12)}.star-cell{font-weight:1000;letter-spacing:2px;white-space:nowrap;color:#0f172a;background:#f8fafc}.date-cell{font-size:22px;color:#1d4ed8;background:#eef6ff!important;vertical-align:middle!important;border-right:2px solid #bfdbfe}.date-cell span{display:block}.date-cell small{display:block;font-size:18px;margin-top:4px}.date-start-row td,.date-start-row th{border-top:3px solid #94a3b8!important}.sticky-weather-wrap{max-height:620px;overflow:auto;position:relative}.weather-v93 thead th{position:sticky;top:0;z-index:5}.sticky-col-date{position:sticky!important;left:0;z-index:6}.sticky-col-hour{position:sticky!important;left:86px;z-index:6;background:#fff}.weather-v93 thead .sticky-col-date,.weather-v93 thead .sticky-col-hour{z-index:8;background:#f8fbff}.unit-label{font-weight:900;color:#475569}@media(max-width:1100px){.weather-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-main-grid,.weather-map-grid{grid-template-columns:1fr}.main-tabs{top:54px;overflow-x:auto;white-space:nowrap}}@media(max-width:650px){.topbar{min-height:44px}.topbar h1{font-size:20px}.topbar p{display:none}.brand-logo{width:34px;height:34px}.main-tabs{top:48px}.compact-head h2{font-size:22px}.weather-kpi{grid-template-columns:1fr 1fr}}

/* v9.3.1 Weather UI Final */
:root{--header-h:56px}.app-header{position:sticky;top:0;z-index:1200;min-height:var(--header-h);padding:6px 18px;background:linear-gradient(90deg,#071426,#0f2744);color:white;display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;box-shadow:0 8px 24px rgba(15,23,42,.18)}.app-brand{display:flex;gap:10px;align-items:center;white-space:nowrap}.app-brand h1{font-size:22px;margin:0;line-height:1}.app-brand p{font-size:11px;margin:2px 0 0;color:#93c5fd}.version-pill{font-size:12px;background:#fde68a;color:#111827;border-radius:999px;padding:2px 7px;margin-left:4px;vertical-align:middle}.app-header .brand-logo{width:34px;height:34px}.header-tabs{position:static!important;display:flex;align-items:center;gap:4px;padding:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto;white-space:nowrap}.header-tabs .tab{color:white;background:transparent;border:0;min-height:34px;padding:8px 11px;border-radius:9px;font-weight:900}.header-tabs .tab.active{background:#2563eb;color:white;outline:none!important}.header-tabs .tab:hover{background:rgba(255,255,255,.12)}.header-site{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:900}.user-chip{background:white;color:#0f172a;border-radius:999px;padding:6px 10px;font-size:12px}.mobile-menu-btn{display:none;background:#2563eb;color:white;border:0;border-radius:10px;padding:8px 10px;font-size:18px}.app-shell{padding-top:16px}.compact-head{align-items:center;margin-bottom:8px}.compact-head h2{font-size:25px;margin:0 0 4px}.compact-head p{font-size:13px;margin:0;color:#475569}.weather-toolbar{display:flex;gap:14px;align-items:center;margin:6px 0 14px;flex-wrap:wrap}.location-pill,.refresh-pill{border:1px solid var(--line);background:white;border-radius:12px;padding:10px 14px;font-weight:900;color:#1d4ed8}.weather-kpi{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.weather-kpi .kpi{min-height:92px}.weather-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.weather-main-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.map-card{overflow:hidden}.leaflet-map,.windy-frame{width:100%;height:300px;border:0;border-radius:14px;border:1px solid var(--line);overflow:hidden}.fake-map{height:300px;border-radius:14px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(45deg,rgba(34,197,94,.22),transparent 30%),linear-gradient(135deg,rgba(59,130,246,.22),transparent 35%),repeating-linear-gradient(30deg,#e8f0da 0,#e8f0da 18px,#d9ead3 18px,#d9ead3 36px)}.local-map:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 45%,rgba(239,68,68,.35) 46% 47%,transparent 48%),linear-gradient(0deg,transparent 0 50%,rgba(239,68,68,.35) 51% 52%,transparent 53%)}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:34px;color:#2563eb;text-shadow:0 2px 8px white}.map-label{position:absolute;left:52%;top:57%;background:white;border-radius:999px;padding:6px 12px;font-weight:1000;color:#1e3a8a}.rain-graph-fixed{height:255px;display:flex;align-items:flex-end;gap:8px;padding:18px 12px 10px;overflow-x:auto;background:#fff;border-radius:16px;border:1px solid var(--line)}.rain-hour-col{display:grid;grid-template-rows:136px 20px 24px;align-items:end;justify-items:center;min-width:36px}.rain-bar-slot{height:136px;width:100%;display:flex;align-items:flex-end;justify-content:center}.rain-graph-bar{width:18px;border-radius:8px 8px 0 0;background:#2563eb}.rain-value{font-size:11px;font-weight:900;color:#0f172a;line-height:20px;text-align:center}.rain-hour{font-size:11px;font-weight:900;color:#475569;line-height:24px;white-space:nowrap;text-align:center}.ai-weather-card{background:linear-gradient(135deg,#f8fbff,#eef6ff)}.ai-weather-card h3{font-size:22px}.ai-lines p{display:block;font-size:16px;line-height:1.8;font-weight:850;margin:8px 0;word-break:keep-all;overflow-wrap:break-word;white-space:normal}.ai-weather-card small{display:block;text-align:right;color:#64748b;margin-top:16px;font-weight:900}.star-text{font-size:22px;color:#0f172a;letter-spacing:1px}.model-head{background:#dbeafe!important;color:#0f172a!important}.avg-head{background:#e5e7eb!important;color:#111827!important}.max-head{background:#334155!important;color:white!important}.consistency-head{background:#0f172a!important;color:white!important}.avg-cell{box-shadow:inset 0 0 0 9999px rgba(148,163,184,.12)}.max-cell{box-shadow:inset 0 0 0 9999px rgba(15,23,42,.12)}.star-cell{font-weight:1000;letter-spacing:2px;white-space:nowrap;color:#0f172a;background:#f8fafc}.date-cell{font-size:22px;color:#1d4ed8;background:#eef6ff!important;vertical-align:middle!important;border-right:2px solid #bfdbfe}.date-cell span{display:block}.date-cell small{display:block;font-size:18px;margin-top:4px}.date-start-row td,.date-start-row th{border-top:3px solid #94a3b8!important}.sticky-weather-wrap{max-height:520px;overflow:auto;position:relative}.weather-v932, .weather-v931 thead th{position:sticky;top:0;z-index:5}.sticky-col-date{position:sticky!important;left:0;z-index:6}.sticky-col-hour{position:sticky!important;left:88px;z-index:6;background:#fff}.weather-v932, .weather-v931 thead .sticky-col-date,.weather-v932, .weather-v931 thead .sticky-col-hour{z-index:8;background:#f8fbff}.unit-label{font-weight:900;color:#475569}@media(max-width:1200px){.app-header{grid-template-columns:auto auto 1fr auto}.mobile-menu-btn{display:block}.header-tabs{display:none;position:absolute!important;top:var(--header-h);left:0;right:0;background:#0f2744!important;padding:10px!important;white-space:normal;overflow:visible;flex-wrap:wrap}.header-tabs.open{display:flex}.weather-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-top-grid,.weather-main-grid{grid-template-columns:1fr}}@media(max-width:700px){.app-header{grid-template-columns:1fr auto;gap:8px;padding:6px 10px}.app-brand h1{font-size:18px}.app-brand p{display:none}.header-site{display:none}.weather-kpi{grid-template-columns:1fr 1fr}.compact-head h2{font-size:21px}.leaflet-map,.windy-frame,.fake-map{height:230px}.rain-graph-fixed{height:230px}}

/* v9.3.2 Final Handoff Patch */
.ai-wide-card{margin:14px 0;background:linear-gradient(135deg,#f8fbff,#eef6ff)!important}
.ai-wide-card .ai-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.ai-wide-card .ai-lines p{font-size:16px;line-height:1.65;font-weight:850;margin:5px 0;word-break:keep-all;overflow-wrap:break-word;white-space:normal}
.ai-wide-card small{display:block;text-align:right;color:#64748b;margin-top:10px;font-weight:900}
.weather-chart-card{margin-bottom:14px}
.leaflet-map{cursor:crosshair;background:#eef6ff}
.windy-frame{background:#0f172a}
.weather-top-grid{align-items:stretch}
@media(max-width:900px){.ai-wide-card .ai-lines{grid-template-columns:1fr}.ai-wide-card .ai-lines p{font-size:15px}}

/* v9.3.3 Weather Decision Patch (kept as baseline) */
.weather-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}
.sticky-weather-wrap{max-height:860px;overflow:auto;position:relative}
.climate-table-wrap{max-height:760px}
.weather-v932 thead th,.weather-v933 thead th{position:sticky;top:0;z-index:5}
.weather-v932 thead .sticky-col-date,.weather-v933 thead .sticky-col-date{z-index:9;background:#f8fbff!important}
.weather-v932 thead .sticky-col-hour,.weather-v933 thead .sticky-col-hour{z-index:9;background:#f8fbff!important}
.star-cell.star-score-1,.star-cell.star-score-2{color:#dc2626!important;background:#fff1f2!important}
.star-cell.star-score-3{color:#ea580c!important;background:#fff7ed!important}
.star-cell.star-score-4,.star-cell.star-score-5{color:#15803d!important;background:#f0fdf4!important}
.climate-card h3{margin-bottom:10px}.temp-graph,.wind-graph{height:285px}.metric-hour-col{min-width:42px;grid-template-rows:154px 22px 34px}.metric-bar-slot{height:154px}.metric-graph-bar{width:20px}.temp-bar{background:#fb923c}.temp-level-safe{background:#fed7aa!important;color:#7c2d12!important}.temp-level-warn{background:#f97316!important;color:white!important}.temp-level-danger{background:#c2410c!important;color:white!important}.temp-level-cold{background:#38bdf8!important;color:#082f49!important}.wind-bar{background:#86efac}.wind-level-safe{background:#bbf7d0!important;color:#14532d!important}.wind-level-watch{background:#86efac!important;color:#14532d!important}.wind-level-warn{background:#22c55e!important;color:white!important}.wind-level-danger{background:#166534!important;color:white!important}.climate-compare-table td:last-child{min-width:420px;text-align:left;line-height:1.55}.climate-compare-table th,.climate-compare-table td{vertical-align:middle}.ai-weather-card .ai-lines p{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.62)}
@media(max-width:1200px){.weather-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.sticky-weather-wrap{max-height:760px}}
@media(max-width:700px){.weather-kpi{grid-template-columns:1fr 1fr}.sticky-weather-wrap{max-height:680px}.climate-compare-table td:last-child{min-width:300px}.metric-hour-col{min-width:38px}}

/* v9.3.4 Weather Information Architecture Patch */
.rain-first-card{margin-bottom:14px}
.rain-compare-card{margin-bottom:14px}
.rain-table-wrap{max-height:860px}
.today-action-wrap{max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.weather-v934{width:100%;border-collapse:separate;border-spacing:0}
.weather-v934 thead th{position:sticky;top:0;z-index:5;background:#f8fbff!important;color:#0f172a!important}
.weather-v934 th,.weather-v934 td{vertical-align:middle;line-height:1.55}
.weather-v934 td:last-child{text-align:left;min-width:460px;font-weight:760;word-break:keep-all;overflow-wrap:break-word}
.today-decision-card{margin-bottom:14px}
.decision-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-weight:1000;white-space:nowrap;font-size:13px}
.temp-decision-danger,.wind-decision-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.temp-decision-warn{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}
.temp-decision-watch,.wind-decision-watch{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}
.temp-decision-safe,.wind-decision-safe{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.wind-decision-warn{background:#dcfce7;color:#166534;border:1px solid #86efac}
.decision-keyword{display:inline-block;margin:0 1px;padding:0 4px;border-radius:6px;background:#fff7ed;color:#c2410c;font-weight:1000;box-shadow:inset 0 -2px 0 rgba(251,146,60,.35)}
.wind-decision-card .decision-keyword{background:#ecfdf5;color:#047857;box-shadow:inset 0 -2px 0 rgba(34,197,94,.35)}
.weekly-metric-graph{height:310px;justify-content:flex-start;gap:18px;padding-left:18px}
.weekly-metric-col{min-width:96px;grid-template-rows:174px 24px 42px}
.weekly-metric-slot{height:174px}.weekly-metric-bar{width:34px;border-radius:12px 12px 0 0}
.star-score-1,.star-score-2{color:#dc2626!important;background:#fff1f2!important}
.star-score-3{color:#ea580c!important;background:#fff7ed!important}
.star-score-4,.star-score-5{color:#15803d!important;background:#f0fdf4!important}
@media(max-width:700px){.weather-v934 td:last-child{min-width:320px}.weekly-metric-col{min-width:82px}.today-action-wrap{max-height:520px}}


/* v9.3.5 Weather Visual Decision Polish */
/* v9.3.6 Weekly Peak Callout Patch */
.compact-head h2{letter-spacing:-.02em}
.card{position:relative;overflow:hidden}
.card>h3,.mini-head h3{display:flex;align-items:center;gap:8px;color:#0f172a;letter-spacing:-.02em}
.card>h3::before,.mini-head h3::before{content:"";display:inline-block;width:7px;height:22px;border-radius:999px;background:linear-gradient(180deg,#2563eb,#93c5fd);box-shadow:0 4px 10px rgba(37,99,235,.18)}
.temp-card>h3::before,.temp-decision-card .mini-head h3::before{background:linear-gradient(180deg,#dc2626,#fb923c)}
.wind-card>h3::before,.wind-decision-card .mini-head h3::before{background:linear-gradient(180deg,#15803d,#a3e635)}
.ai-weather-card>h3::before{background:linear-gradient(180deg,#7c3aed,#60a5fa)}
.map-card>h3::before{background:linear-gradient(180deg,#0ea5e9,#22c55e)}
.rain-compare-card .mini-head h3::before,.rain-first-card>h3::before{background:linear-gradient(180deg,#1d4ed8,#60a5fa)}
.ai-weather-card .ai-lines p{border:1px solid rgba(59,130,246,.08);box-shadow:0 8px 24px rgba(15,23,42,.04)}
.ai-keyword{display:inline-block;margin:0 1px;padding:0 5px;border-radius:7px;background:#eef2ff;color:#3730a3;font-weight:1000;box-shadow:inset 0 -2px 0 rgba(99,102,241,.25)}
.ai-weather-card .ai-lines p:nth-child(1) .ai-keyword{background:#eff6ff;color:#1d4ed8;box-shadow:inset 0 -2px 0 rgba(37,99,235,.25)}
.ai-weather-card .ai-lines p:nth-child(2) .ai-keyword{background:#f5f3ff;color:#6d28d9;box-shadow:inset 0 -2px 0 rgba(124,58,237,.22)}
.rain-graph-fixed{background:linear-gradient(180deg,#f8fbff,#ffffff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.rain-hour-modern{min-width:40px;grid-template-rows:152px 20px 24px}
.modern-rain-slot{height:152px;position:relative;border-radius:12px;background:linear-gradient(180deg,rgba(219,234,254,.55),rgba(255,255,255,0));align-items:flex-end}
.modern-rain-bar{width:20px;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#60a5fa,#1d4ed8);box-shadow:0 8px 18px rgba(37,99,235,.22)}
.rain-peak-col .modern-rain-bar{background:linear-gradient(180deg,#2563eb,#0f3b9e);box-shadow:0 10px 22px rgba(37,99,235,.34)}
.peak-sticker{position:absolute;top:-12px;left:50%;transform:translateX(-50%);z-index:2;background:#0f172a;color:white;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:1000;white-space:nowrap;box-shadow:0 8px 16px rgba(15,23,42,.22)}
.weekly-line-card{height:330px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);overflow:hidden;padding:12px 12px 4px}
.weekly-line-scroll{width:100%;height:100%;overflow-x:auto;overflow-y:hidden}
.weekly-line-svg{height:292px;min-width:100%}
.chart-grid{stroke:#e2e8f0;stroke-width:1;stroke-dasharray:4 6}
.chart-axis{stroke:#94a3b8;stroke-width:1.2}
.weekly-line-path{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 8px rgba(15,23,42,.12))}
.weekly-line-temp .weekly-line-path{stroke:#dc2626}
.weekly-line-wind .weekly-line-path{stroke:#65a30d}
.hour-tick circle{fill:#fff;stroke-width:2.4}.weekly-line-temp .hour-tick circle{stroke:#dc2626}.weekly-line-wind .hour-tick circle{stroke:#65a30d}
.hour-tick text{font-size:10px;font-weight:900;fill:#475569;text-anchor:middle}.date-tick{font-size:12px;font-weight:1000;fill:#0f172a;text-anchor:start}.y-max-label,.y-min-label{font-size:11px;font-weight:1000;fill:#64748b}
.today-action-wrap{max-height:620px}.weather-v934 tbody th{font-weight:1000;color:#1e293b;background:#f8fafc}
@media(max-width:700px){.weekly-line-card{height:310px}.weekly-line-svg{height:272px}.rain-hour-modern{min-width:38px}}

/* v9.3.6 weekly line graph readability */
.weekly-line-card{height:360px}
.weekly-line-svg{height:322px}
.hour-tick line{stroke:#94a3b8;stroke-width:1.1}
.line-dot-soft{fill:#fff;stroke-width:1.6;opacity:.86}
.weekly-line-temp .line-dot-soft{stroke:#ef4444}
.weekly-line-wind .line-dot-soft{stroke:#84cc16}
.peak-callout circle{fill:#fff;stroke-width:3;filter:drop-shadow(0 6px 10px rgba(15,23,42,.18))}
.peak-callout path{stroke-width:1.4;filter:drop-shadow(0 8px 14px rgba(15,23,42,.18))}
.weekly-line-temp .peak-callout circle{stroke:#dc2626}
.weekly-line-temp .peak-callout path{fill:#fee2e2;stroke:#ef4444}
.weekly-line-temp .peak-callout text{fill:#991b1b}
.weekly-line-wind .peak-callout circle{stroke:#65a30d}
.weekly-line-wind .peak-callout path{fill:#ecfccb;stroke:#84cc16}
.weekly-line-wind .peak-callout text{fill:#365314}
.peak-callout text{font-size:11px;font-weight:1000;text-anchor:middle;dominant-baseline:middle}
@media(max-width:700px){.weekly-line-card{height:340px}.weekly-line-svg{height:302px}}

/* v9.3.7 weekly temperature/wind graph polish */
.weekly-line-card{height:374px}
.weekly-line-svg{height:336px}
.y-tick text{font-size:11px;font-weight:900;fill:#64748b;text-anchor:end}
.line-hit-dot{fill:transparent;stroke:transparent;cursor:crosshair;pointer-events:all}
.line-hit-dot:hover{stroke:rgba(15,23,42,.18);stroke-width:2;fill:rgba(255,255,255,.45)}
.peak-callout-modern{pointer-events:none}
.peak-callout-modern .peak-dot{fill:#fff;stroke-width:3;filter:drop-shadow(0 4px 8px rgba(15,23,42,.18))}
.peak-callout-modern .peak-stem{stroke-width:1.5;stroke-linecap:round;opacity:.72}
.peak-callout-modern rect{stroke-width:1;filter:drop-shadow(0 8px 16px rgba(15,23,42,.16))}
.peak-callout-modern text{font-size:11px;font-weight:1000;text-anchor:middle;dominant-baseline:middle;letter-spacing:-.02em}
.weekly-line-temp .peak-callout-modern .peak-dot{stroke:#ef4444}
.weekly-line-temp .peak-callout-modern .peak-stem{stroke:#ef4444}
.weekly-line-temp .peak-callout-modern rect{fill:rgba(255,247,237,.96);stroke:rgba(239,68,68,.32)}
.weekly-line-temp .peak-callout-modern text{fill:#9a3412}
.weekly-line-wind .peak-callout-modern .peak-dot{stroke:#65a30d}
.weekly-line-wind .peak-callout-modern .peak-stem{stroke:#65a30d}
.weekly-line-wind .peak-callout-modern rect{fill:rgba(247,254,231,.96);stroke:rgba(101,163,13,.34)}
.weekly-line-wind .peak-callout-modern text{fill:#365314}
@media(max-width:700px){.weekly-line-card{height:354px}.weekly-line-svg{height:316px}.y-tick text{font-size:10px}}


/* v9.3.9 Login Restore + Instant Weekly Graph Tooltip */
.header-login-btn{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000;cursor:pointer;white-space:nowrap}.header-login-btn:hover{background:rgba(255,255,255,.2)}
.login-page-v939 .hero-card{position:relative;overflow:hidden;border:0;background:linear-gradient(135deg,#0f172a,#1d4ed8 58%,#16a34a);color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.22)}
.login-page-v939 .hero-card:after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}
.login-page-v939 .hero-card .eyebrow{display:inline-flex;border-radius:999px;background:rgba(255,255,255,.16);padding:7px 12px;font-weight:1000;letter-spacing:.03em}.login-page-v939 .hero-card h2{font-size:34px;line-height:1.22;margin:14px 0 8px}.login-page-v939 .hero-card p{font-weight:850;opacity:.92}
.login-page-v939 .login-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.login-page-v939 .big-card{border:1px solid rgba(37,99,235,.14);border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 30px rgba(15,23,42,.08)}
.login-page-v939 .big-card h3{display:flex;align-items:center;gap:8px;font-size:23px}.login-page-v939 .big-card h3:before{content:"";display:inline-block;width:10px;height:26px;border-radius:999px;background:#2563eb}.login-page-v939 .big-card:nth-child(2) h3:before{background:#16a34a}.login-page-v939 .create-site-panel h3:before{background:#f97316}
.login-page-v939 label{font-weight:900;color:#334155}.login-page-v939 input,.login-page-v939 select{margin-top:6px;border:1px solid #cbd5e1;border-radius:14px;padding:12px;background:#fff}.login-page-v939 .primary-btn{background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 10px 22px rgba(37,99,235,.24)}.login-page-v939 .secondary-btn{background:#eef6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.weekly-line-svg{touch-action:none}.weekly-line-hit-path{fill:none;stroke:transparent;stroke-width:22;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.line-hit-dot{fill:transparent;stroke:transparent;pointer-events:all}.weekly-hover-line{stroke:rgba(15,23,42,.18);stroke-width:1.2;stroke-dasharray:4 4}.weekly-hover-dot{fill:#fff;stroke:currentColor;stroke-width:3;filter:drop-shadow(0 5px 8px rgba(15,23,42,.18))}.weekly-line-temp .weekly-hover-marker{color:#dc2626}.weekly-line-wind .weekly-hover-marker{color:#65a30d}
.weekly-instant-tooltip{position:fixed;z-index:5000;pointer-events:none;opacity:0;transform:translateY(2px);transition:none;background:rgba(15,23,42,.94);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:9px 11px;box-shadow:0 14px 30px rgba(15,23,42,.26);font-weight:900;line-height:1.25;white-space:nowrap}.weekly-instant-tooltip.visible{opacity:1;transform:translateY(0)}.weekly-instant-tooltip strong{display:block;font-size:12px;color:#cbd5e1;margin-bottom:3px}.weekly-instant-tooltip span{display:block;font-size:14px;color:#fff}
@media(max-width:900px){.login-page-v939 .login-grid{grid-template-columns:1fr}.login-page-v939 .hero-card h2{font-size:28px}.header-login-btn{display:none}}

/* v9.4.3 Schedule Performance + Compact Visual UX */
.schedule-headline h2{font-size:30px;letter-spacing:-.03em}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px;align-items:start}
.schedule-calendar-card,.schedule-detail-panel,.schedule-form-card{border:1px solid rgba(37,99,235,.12);box-shadow:0 12px 30px rgba(15,23,42,.07)}
.schedule-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.schedule-month-title{flex:1;text-align:center;font-size:25px;font-weight:1000;color:#0f172a}
.secondary-btn.small,.primary-btn.small{padding:8px 12px;border-radius:12px;font-size:13px}
.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-weekdays span{text-align:center;font-weight:1000;color:#334155}.month-weekdays .sat{color:#1d4ed8}.month-weekdays .sun{color:#dc2626}
.month-day{min-height:124px;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:7px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:.12s ease;overflow:hidden}.month-day:hover{box-shadow:0 8px 18px rgba(15,23,42,.09)}.month-day.outside{opacity:.42;background:#f8fafc}.month-day.selected{outline:3px solid rgba(37,99,235,.35);border-color:#2563eb;background:#eff6ff}.month-day.drop-ready{outline:3px dashed #16a34a;background:#f0fdf4}
.day-top{display:flex;justify-content:space-between;align-items:center;gap:4px}.day-top strong{font-size:16px;color:#0f172a}.month-day.sat .day-top strong{color:#1d4ed8}.month-day.sun .day-top strong,.month-day.holiday .day-top strong{color:#dc2626}.day-count{font-size:11px;font-weight:1000;border-radius:999px;padding:2px 7px;background:#0f172a;color:#fff}
.day-items{display:flex;flex-direction:column;gap:3px;min-height:0;overflow:hidden}.sch-chip{height:20px;display:grid;grid-template-columns:31px minmax(0,1fr);gap:4px;align-items:center;border-radius:7px;padding:2px 5px;font-size:10.5px;font-weight:900;white-space:nowrap;overflow:hidden;border:1px solid transparent;box-sizing:border-box}.sch-chip em{font-style:normal;overflow:hidden;text-overflow:ellipsis}.sch-chip b{font-size:9.5px;text-align:center;border-radius:5px;padding:1px 3px;background:rgba(255,255,255,.74)}
.sch-concrete{background:#fff1f2;color:#9f1239;border-color:#fecaca;border-left:5px solid #e11d48}.sch-inspection{background:#ecfdf5;color:#065f46;border-color:#bbf7d0;border-left:5px solid #16a34a}.sch-work{background:#f0f9ff;color:#075985;border-color:#bae6fd;border-left:5px solid #0284c7}.sch-equipment{background:#f5f3ff;color:#5b21b6;border-color:#ddd6fe;border-left:5px solid #7c3aed}.sch-material{background:#fffbeb;color:#92400e;border-color:#fde68a;border-left:5px solid #f59e0b}.more-line{font-size:10.5px;font-weight:900;color:#64748b;padding-left:3px;line-height:1.1}
.detail-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:10px}.detail-head h3{margin:0;font-size:23px}.detail-head-actions{display:flex;align-items:center;gap:6px}.detail-head strong{background:#0f172a;color:#fff;border-radius:999px;padding:5px 10px}.sort-btn{background:#dbeafe;color:#1d4ed8}.detail-list{display:flex;flex-direction:column;gap:7px}.empty-detail{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:16px;font-weight:900;color:#64748b}
.schedule-detail-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-radius:14px;padding:8px 9px;border:1px solid transparent;box-shadow:0 6px 14px rgba(15,23,42,.05);cursor:grab}.schedule-detail-card.dragging{opacity:.55}.detail-concrete{background:#fff1f2;border-color:#fecaca;border-left:7px solid #dc2626}.detail-inspection{background:#ecfdf5;border-color:#bbf7d0;border-left:7px solid #16a34a}.detail-work{background:#f0f9ff;border-color:#bae6fd;border-left:7px solid #0284c7}.detail-equipment{background:#f5f3ff;border-color:#ddd6fe;border-left:7px solid #7c3aed}.detail-material{background:#fffbeb;border-color:#fde68a;border-left:7px solid #f59e0b}
.detail-type{font-size:11px;font-weight:1000;display:flex;align-items:center;gap:5px;color:#334155}.type-bar{width:18px;height:6px;border-radius:99px;background:currentColor;display:inline-block}.schedule-detail-card h4{font-size:15px;margin:1px 0 2px;color:#0f172a}.detail-line{display:flex;gap:4px;flex-wrap:wrap;font-size:10.5px;font-weight:900;color:#475569}.detail-line span{background:rgba(255,255,255,.72);border-radius:999px;padding:2px 6px}.status-pill{color:#0f172a!important}.schedule-detail-card p{font-size:11.5px;line-height:1.28;margin:4px 0 0;color:#334155}.detail-actions{display:flex;gap:3px}.mini-btn{border:0;border-radius:8px;background:#e2e8f0;color:#0f172a;font-size:10px;font-weight:1000;padding:5px 7px;cursor:pointer}.mini-btn.danger{background:#fee2e2;color:#991b1b}
.schedule-form-card{margin-top:16px}.form-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:10px}.form-title h3{margin:0;font-size:22px}.form-title p{margin:0;color:#64748b;font-size:13px;font-weight:800}.schedule-inline-form{display:grid;grid-template-columns:140px 140px minmax(220px,1.2fr) 170px 150px 150px 120px minmax(200px,1fr) auto;gap:8px;align-items:end}.schedule-inline-form label{font-weight:1000;font-size:12px;color:#334155}.schedule-inline-form input,.schedule-inline-form select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:9px 10px;background:#fff;font-weight:800}.schedule-inline-form .wide{min-width:0}.schedule-inline-form button{min-height:38px;white-space:nowrap}
@media(max-width:1180px){.schedule-layout{grid-template-columns:1fr}.schedule-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-inline-form .wide,.schedule-inline-form .note{grid-column:auto}.month-day{min-height:106px}}
@media(max-width:720px){.schedule-toolbar{flex-wrap:wrap}.schedule-month-title{order:-1;width:100%;font-size:22px}.month-grid,.month-weekdays{gap:4px}.month-day{min-height:94px;border-radius:12px;padding:5px}.sch-chip{font-size:10px;grid-template-columns:28px minmax(0,1fr)}.schedule-inline-form{grid-template-columns:1fr}.schedule-detail-card{grid-template-columns:1fr}.detail-actions{justify-content:flex-end}}

/* v9.4.4 Schedule standard DB lock + today focus */
.month-day.today{border-color:#2563eb;box-shadow:inset 0 0 0 2px rgba(37,99,235,.48)}
.month-day.today .day-top strong{background:#2563eb;color:#fff;border-radius:999px;min-width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.month-day.today.selected{outline:3px solid rgba(37,99,235,.35);box-shadow:inset 0 0 0 2px rgba(37,99,235,.65),0 10px 22px rgba(37,99,235,.12)}
.schedule-standard-preview{margin-top:10px;display:grid;grid-template-columns:140px repeat(3,minmax(0,1fr));gap:8px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px}
.schedule-standard-preview strong{font-size:12px;color:#0f172a;font-weight:1000}.schedule-standard-preview span{font-size:11.5px;font-weight:900;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px}
.standard-line{display:flex;gap:4px;margin-top:3px}.standard-line span{font-size:10px;font-weight:1000;background:rgba(15,23,42,.06);border-radius:999px;padding:2px 6px;color:#334155}
@media(max-width:1180px){.schedule-standard-preview{grid-template-columns:1fr}.schedule-standard-preview span{white-space:normal}}

/* v9.4.6 Schedule multi-select + inspection DB + status picker */
.schedule-detail-card{grid-template-columns:auto minmax(0,1fr) auto;position:relative}
.schedule-detail-card.selected-card{outline:2px solid rgba(37,99,235,.45);box-shadow:0 10px 22px rgba(37,99,235,.14)}
.card-select{display:flex;align-items:center;justify-content:center;align-self:stretch;cursor:pointer;padding-right:2px}
.card-select input{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}
.detail-head-actions{flex-wrap:wrap;justify-content:flex-end}.detail-head-actions .danger{background:#fee2e2;color:#991b1b}
.schedule-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.38);display:flex;align-items:center;justify-content:center;z-index:9999;padding:18px}
.schedule-status-modal{width:min(460px,100%);background:#fff;border-radius:22px;border:1px solid #e2e8f0;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:18px}
.schedule-status-modal h3{margin:0 0 4px;font-size:22px;color:#0f172a}.schedule-status-modal p{margin:0 0 14px;color:#64748b;font-weight:900}
.status-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.status-choice{cursor:pointer}.status-choice input{position:absolute;opacity:0;pointer-events:none}.status-choice span{display:flex;justify-content:center;align-items:center;border-radius:14px;border:1px solid #cbd5e1;background:#f8fafc;padding:11px 8px;font-weight:1000;color:#334155}.status-choice input:checked+span{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 8px 18px rgba(37,99,235,.25)}
.status-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media(max-width:720px){.status-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-detail-card{grid-template-columns:auto minmax(0,1fr)}.detail-actions{grid-column:2}}

/* v9.4.7 Schedule confirm-state simplification */
.status-pill.confirmed{background:#dcfce7!important;color:#166534!important;border:1px solid rgba(22,101,52,.18)}
.status-pill.unconfirmed{background:#fff7ed!important;color:#9a3412!important;border:1px solid rgba(154,52,18,.18)}
.confirm-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* v9.4.8 Schedule confirm badge + unified edit modal */
.status-pill.confirmed{background:#84cc16!important;color:#1f3b08!important;border:1px solid rgba(63,98,18,.28)!important;border-radius:999px!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.45);font-weight:1000}
.status-pill.unconfirmed{background:#ef4444!important;color:#fff!important;border:1px solid rgba(153,27,27,.25)!important;border-radius:999px!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.25);font-weight:1000}
.schedule-edit-modal{width:min(1060px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;border:1px solid #e2e8f0;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:18px}
.modal-form-title{align-items:flex-start;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:14px}.modal-form-title h3{font-size:24px}.modal-form-title p{font-size:13px}
.schedule-edit-form{grid-template-columns:140px 140px minmax(220px,1.2fr) 170px 150px 150px minmax(170px,.8fr) minmax(200px,1fr);align-items:end}.schedule-edit-form .status-choice-field{display:flex;flex-direction:column;gap:5px}.schedule-edit-form .status-choice-grid{gap:6px}.schedule-edit-form .status-choice span{padding:9px 8px;border-radius:12px}.schedule-edit-form .note{grid-column:1 / span 6}.edit-modal-actions{grid-column:auto;align-self:end;margin-top:0}.edit-modal-actions .primary-btn{min-height:38px}
@media(max-width:1180px){.schedule-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-edit-form .note{grid-column:auto}.edit-modal-actions{grid-column:1 / -1}}
@media(max-width:720px){.schedule-edit-modal{padding:14px;border-radius:18px}.schedule-edit-form{grid-template-columns:1fr}.edit-modal-actions{justify-content:stretch}.edit-modal-actions button{flex:1}}

/* v9.4.9 Schedule card polish + compact edit modal */
.schedule-detail-guide{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px;color:#475569;font-size:11px;font-weight:900;line-height:1.25}
.schedule-detail-guide span,.schedule-detail-guide b{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px}
.schedule-detail-guide b{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.schedule-detail-card{grid-template-columns:auto minmax(0,1fr) 58px 64px!important;gap:7px;align-items:center}
.card-status-slot{display:flex;justify-content:center;align-items:center;min-width:54px}
.status-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;height:22px!important;padding:0 8px!important;border-radius:999px!important;font-size:10.5px!important;line-height:1!important;font-weight:1000!important;letter-spacing:-.02em!important;box-shadow:none!important;white-space:nowrap!important}
.status-pill.confirmed{background:#bbf7d0!important;color:#14532d!important;border:1px solid #86efac!important}
.status-pill.unconfirmed{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important}
.detail-actions{width:64px;display:grid!important;grid-template-columns:1fr;gap:3px;justify-items:stretch}.detail-actions .mini-btn{width:100%;padding:4px 5px;font-size:10px;border-radius:7px}.detail-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.detail-head-actions .mini-btn{padding:5px 7px}.schedule-edit-modal{width:min(720px,calc(100vw - 28px))!important;overflow:auto!important}.schedule-edit-form{grid-template-columns:120px minmax(180px,1fr) 150px 140px!important;gap:8px!important}.schedule-edit-form .status-choice-field{grid-column:3 / span 2}.schedule-edit-form .confirm-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.schedule-edit-form .note{grid-column:1 / span 3!important}.edit-modal-actions{grid-column:4!important;display:flex!important;gap:6px!important;justify-content:flex-end!important}.schedule-edit-form .status-choice span{padding:8px 7px!important;font-size:12px!important}
@media(max-width:760px){.schedule-detail-card{grid-template-columns:auto minmax(0,1fr)!important}.card-status-slot{grid-column:2;justify-content:flex-start}.detail-actions{grid-column:2;width:auto;grid-template-columns:repeat(2,60px)}.schedule-edit-form{grid-template-columns:1fr!important}.schedule-edit-form .status-choice-field,.schedule-edit-form .note,.edit-modal-actions{grid-column:1!important}.edit-modal-actions{justify-content:stretch!important}.edit-modal-actions button{flex:1}}

/* v9.5.0 Safety schedule/weather decision board */
.safety-headline h2{letter-spacing:-.03em}
.safety-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.safety-hero-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--shadow);min-height:112px}
.safety-hero-card span{display:block;color:#64748b;font-size:12px;font-weight:1000;margin-bottom:6px}.safety-hero-card strong{display:block;font-size:30px;letter-spacing:-.04em;color:#0f172a}.safety-hero-card p{margin:4px 0 0;color:#475569;font-size:12px;font-weight:850;line-height:1.35}
.safety-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;margin-bottom:14px}.safety-today-card,.ai-safety-summary{min-height:280px}.safety-task-list{display:grid;gap:8px}.safety-task{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:10px}.safety-task .task-rank{width:28px;height:28px;border-radius:10px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:12px}.safety-task span{display:inline-block;font-size:10px;font-weight:1000;color:#64748b;background:rgba(255,255,255,.76);border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:2px 6px;margin-bottom:3px}.safety-task strong{display:block;color:#0f172a;font-size:14px;font-weight:1000;letter-spacing:-.02em}.safety-task p{margin:3px 0 0;color:#334155;font-size:12px;font-weight:800;line-height:1.35}.ai-safety-summary .ai-lines{display:grid;gap:8px}.ai-safety-summary .ai-lines p{margin:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px;font-weight:900;line-height:1.45;color:#0f172a}.safety-check-detail{border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin-bottom:8px;overflow:hidden}.safety-check-detail summary{cursor:pointer;padding:11px 12px;font-weight:1000;color:#0f172a;background:#f8fafc}.safety-check-detail summary em{font-style:normal;color:#2563eb;font-size:12px;margin-left:6px}.compact-action-list{padding:10px}.tbm-card-linked .tbm-box{white-space:pre-wrap;line-height:1.65}.safety-routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.safety-routine-card .mini-head span{font-size:12px;font-weight:1000;color:#64748b}.routine-list{display:grid;gap:8px}.routine-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:10px}.routine-row strong{display:block;color:#0f172a;font-size:13.5px;font-weight:1000}.routine-row p{margin:3px 0;color:#475569;font-size:11.5px;font-weight:850}.routine-row small{display:block;color:#64748b;font-size:10.5px;font-weight:900}.routine-row.due-now{border-color:#fecaca;background:#fff1f2}.routine-row.due-soon{border-color:#fed7aa;background:#fff7ed}.routine-row.done{opacity:.62;background:#f8fafc}.routine-row.done strong{text-decoration:line-through;color:#64748b}
@media(max-width:1100px){.safety-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.safety-main-grid,.safety-routine-grid{grid-template-columns:1fr}}
@media(max-width:640px){.safety-hero-grid{grid-template-columns:1fr}.routine-row{grid-template-columns:1fr}.routine-row .mini-btn{width:100%}}


/* v9.5.1 Safety Duty Database Scheduler */
.safety-db-summary{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:10px 12px;color:#0f172a}
.safety-db-summary b{font-size:13px}.safety-db-summary span{font-size:12px;font-weight:900;color:#1e40af}.safety-db-summary small{font-size:11px;font-weight:850;color:#475569}
.safety-event-card{border-left:6px solid #7c3aed}.routine-row.event-row{background:#faf5ff;border-color:#ddd6fe}.routine-row.event-row strong{color:#4c1d95}
.safety-routine-card .routine-row small + small{margin-top:2px}
@media(max-width:700px){.safety-db-summary{display:block}.safety-db-summary span,.safety-db-summary small{display:block;margin-top:3px}}
/* v9.5.2 Safety checklist evidence board */
.safety-morning-board{border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff)}
.safety-check-group{margin-top:14px}.safety-check-group>.mini-head{margin-bottom:8px}.safety-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.safety-work-card{border:1px solid #dbeafe;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);padding:12px;break-inside:avoid}.work-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.work-card-head span{display:inline-block;font-size:10.5px;font-weight:1000;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:3px 7px;margin-bottom:4px}.work-card-head strong{display:block;color:#0f172a;font-size:15px;font-weight:1000;letter-spacing:-.03em}.work-card-head small{display:block;color:#64748b;font-size:11px;font-weight:800;margin-top:2px}.complete-pill{flex:0 0 auto;min-width:42px;text-align:center;border-radius:999px;padding:5px 8px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:12px;font-weight:1000}.complete-pill.done{background:#dcfce7;color:#166534;border-color:#86efac}.risk-note{margin:6px 0 8px;padding:7px 9px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:850;line-height:1.35}.checkline-list{display:grid;gap:6px}.checkline{display:flex;align-items:flex-start;gap:8px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:8px;font-size:12.5px;font-weight:900;color:#334155;line-height:1.35}.checkline input{margin-top:2px}.checkline.checked{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.checkline.checked span{text-decoration:line-through;text-decoration-thickness:1px}.evidence-strip{display:flex;gap:8px;overflow-x:auto;margin-top:10px;padding-top:8px;border-top:1px dashed #cbd5e1}.evidence-strip figure{position:relative;flex:0 0 88px;margin:0;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;overflow:hidden}.evidence-strip img{width:88px;height:64px;object-fit:cover;display:block}.evidence-strip figcaption{font-size:10px;font-weight:850;color:#475569;padding:4px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;border:0;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;font-weight:1000;cursor:pointer}.photo-add{flex:0 0 88px;height:92px;border:1px dashed #93c5fd;border-radius:12px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:1000;cursor:pointer}.photo-add input{display:none}.process-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.process-chip{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:10px;cursor:pointer;display:block}.process-chip input{display:none}.process-chip span{display:block;font-size:10px;font-weight:1000;color:#64748b}.process-chip strong{display:block;margin-top:2px;color:#0f172a;font-size:13px;font-weight:1000}.process-chip.active{border-color:#60a5fa;background:#eff6ff;box-shadow:inset 0 0 0 1px #bfdbfe}.custom-card-form{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:10px}.custom-card-form input,.custom-card-form textarea{border:1px solid #cbd5e1;border-radius:12px;padding:10px;font-weight:850;font-family:inherit}.serious-accident-board{border-color:#fecaca;background:linear-gradient(180deg,#fff1f2,#fff)}.serious-grid .safety-work-card{border-color:#fecaca}.serious-grid .work-card-head span{background:#fff1f2;border-color:#fecaca;color:#be123c}.small{font-size:12px;padding:7px 10px}
@media(max-width:1100px){.safety-work-grid{grid-template-columns:1fr}.process-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-card-form{grid-template-columns:1fr}}
@media(max-width:640px){.process-picker-grid{grid-template-columns:1fr}.work-card-head{align-items:flex-start}.safety-work-card{border-radius:14px}}
@media print{body{background:#fff}.no-print,.sidebar,.topbar,.app-nav{display:none!important}.content,.main{margin:0!important;padding:0!important}.card,.safety-work-card{box-shadow:none!important;break-inside:avoid}.safety-hero-grid{grid-template-columns:repeat(4,1fr)}.safety-work-grid{grid-template-columns:repeat(2,1fr)}.evidence-strip{overflow:visible;flex-wrap:wrap}.photo-add,.photo-remove{display:none!important}}

/* v9.5.3 Serious Accident Compliance Center */
.compliance-center-board{border-color:#fecaca;background:linear-gradient(180deg,#fff7f7,#ffffff)}
.compliance-overview-grid{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(280px,1.05fr);gap:12px;margin:12px 0 16px}
.compliance-progress-card,.compliance-note{border:1px solid #fecaca;border-radius:18px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(127,29,29,.06)}
.compliance-progress-card span{display:block;color:#991b1b;font-size:12px;font-weight:1000}.compliance-progress-card strong{display:block;font-size:34px;font-weight:1000;color:#7f1d1d;letter-spacing:-.04em}.compliance-progress-card p{margin:2px 0 10px;color:#475569;font-size:12px;font-weight:900}.compliance-progress-card small,.compliance-note small{display:block;color:#64748b;font-size:12px;font-weight:850;line-height:1.55}.compliance-bar{height:10px;border-radius:999px;background:#fee2e2;overflow:hidden;margin:8px 0}.compliance-bar i{display:block;height:100%;background:linear-gradient(90deg,#fb7185,#16a34a);border-radius:999px}.compliance-note b{display:block;color:#7f1d1d;font-size:15px;font-weight:1000;margin-bottom:6px}.compliance-note p{margin:0 0 8px;color:#0f172a;font-size:14px;font-weight:950;line-height:1.55}.compliance-section{margin-top:14px}.compliance-section h4{margin:0;color:#0f172a;font-size:17px;font-weight:1000}.compliance-section .mini-head span{font-size:12px;color:#64748b;font-weight:900}
.evidence-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.evidence-priority-card{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:11px;min-height:132px}.evidence-priority-card.top{border-color:#fecaca;background:#fff1f2}.evidence-priority-card.high{border-color:#fed7aa;background:#fff7ed}.evidence-priority-card b{display:inline-block;border-radius:999px;padding:3px 7px;background:#0f172a;color:#fff;font-size:10px;letter-spacing:.04em}.evidence-priority-card strong{display:block;margin:8px 0 4px;color:#0f172a;font-size:14px;font-weight:1000}.evidence-priority-card p{margin:0;color:#334155;font-size:12px;font-weight:850;line-height:1.45}.evidence-priority-card small{display:block;margin-top:8px;color:#64748b;font-size:11px;font-weight:900;line-height:1.35}
.investigation-flow{display:flex;gap:8px;flex-wrap:wrap}.investigation-flow span{display:flex;align-items:center;gap:6px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;padding:7px 10px;color:#334155;font-size:12px;font-weight:1000}.investigation-flow b{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:11px}
.compliance-db-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.compliance-db-grid span{display:flex;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:9px;color:#0f172a;font-size:12px;font-weight:950}.compliance-db-grid b{color:#be123c;font-size:11px}
.compliance-duty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compliance-duty-card{border:1px solid #fecaca;border-radius:18px;background:#fff;padding:12px;break-inside:avoid;box-shadow:0 10px 22px rgba(15,23,42,.05)}.compliance-duty-card.done{border-color:#86efac;background:#f0fdf4}.compliance-duty-card.working{border-color:#fed7aa;background:#fff7ed}.compliance-duty-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.compliance-duty-head span{display:inline-block;border-radius:999px;background:#fff1f2;border:1px solid #fecaca;color:#be123c;padding:3px 7px;font-size:10.5px;font-weight:1000}.compliance-duty-head strong{display:block;margin-top:5px;color:#0f172a;font-size:15px;font-weight:1000;letter-spacing:-.02em}.compliance-duty-head small{display:block;margin-top:3px;color:#64748b;font-size:11px;font-weight:900}.compliance-duty-head>b{flex:0 0 auto;border-radius:999px;background:#fee2e2;color:#991b1b;padding:5px 9px;font-size:12px;font-weight:1000}.compliance-duty-card.done .compliance-duty-head>b{background:#dcfce7;color:#166534}.compliance-duty-card.working .compliance-duty-head>b{background:#ffedd5;color:#9a3412}.compliance-proof{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0;padding:8px;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1}.compliance-proof em{font-style:normal;color:#475569;font-size:11px;font-weight:1000;margin-right:2px}.compliance-proof small{border-radius:999px;background:#fff;border:1px solid #e2e8f0;padding:3px 6px;color:#334155;font-size:11px;font-weight:900}
@media(max-width:1200px){.evidence-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compliance-db-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.compliance-overview-grid,.compliance-duty-grid{grid-template-columns:1fr}.evidence-priority-grid,.compliance-db-grid{grid-template-columns:1fr}}
@media print{.compliance-center-board{background:#fff!important}.evidence-priority-grid{grid-template-columns:repeat(2,1fr)}.compliance-db-grid{grid-template-columns:repeat(3,1fr)}.compliance-duty-grid{grid-template-columns:repeat(2,1fr)}}

/* v9.5.4 Safety Compliance polish */
.compliance-duty-card .checkline,
.safety-work-card .checkline{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.compliance-duty-card .checkline input,
.safety-work-card .checkline input{
  grid-column:1;
  margin:0;
  width:14px;
  height:14px;
  justify-self:center;
}
.compliance-duty-card .checkline span,
.safety-work-card .checkline span{
  grid-column:2;
  text-align:left;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.monthly-approval-card{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff)}
.monthly-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.monthly-summary-grid span{display:flex;flex-direction:column;gap:3px;border:1px solid #dbeafe;background:#fff;border-radius:14px;padding:11px;text-align:center}
.monthly-summary-grid b{font-size:18px;font-weight:1000;color:#0f172a}.monthly-summary-grid small{font-size:11px;font-weight:900;color:#64748b}
.monthly-report-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.monthly-report-tables h4{margin:4px 0 8px;font-size:13px;color:#0f172a;font-weight:1000}
.approval-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;font-size:11.5px}.approval-table th,.approval-table td{border-bottom:1px solid #e2e8f0;padding:7px 8px;text-align:left;vertical-align:top}.approval-table th{background:#f8fafc;color:#334155;font-weight:1000}.approval-table td{font-weight:850;color:#334155}
.approval-sign-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.approval-sign-row div{min-height:72px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;padding:10px;display:grid;grid-template-columns:1fr auto;gap:4px;align-items:start}.approval-sign-row b{font-weight:1000;color:#0f172a}.approval-sign-row span{grid-column:1;color:#475569;font-size:12px;font-weight:900}.approval-sign-row i{grid-column:2;grid-row:1/3;min-width:72px;height:50px;border-left:1px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;font-style:normal;color:#94a3b8;font-size:12px;font-weight:900}.print-note{margin-top:10px}
@media(max-width:900px){.monthly-summary-grid,.monthly-report-tables,.approval-sign-row{grid-template-columns:1fr}}
@media print{.monthly-approval-card{background:#fff!important}.monthly-report-tables{grid-template-columns:1fr}.approval-sign-row{grid-template-columns:repeat(3,1fr)}.print-note{display:block!important}}

/* v9.5.5 Safety Daily Journal */
.safety-daily-journal{border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff 0,#fff 42%);margin-bottom:14px}
.journal-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.journal-title-row span{font-size:11px;font-weight:1000;color:#1d4ed8;text-transform:uppercase}.journal-title-row h3{margin:2px 0 4px;color:#0f172a;font-size:22px;letter-spacing:-.04em}.journal-title-row p{margin:0;color:#475569;font-weight:850;line-height:1.45}.journal-approval-row,.approval-sign-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px}.journal-approval-row div,.approval-sign-row div{border:1px solid #cbd5e1;border-radius:14px;background:#fff;min-height:74px;padding:10px;display:grid;grid-template-columns:54px minmax(0,1fr) 74px;align-items:center;gap:8px}.journal-approval-row b,.approval-sign-row b{font-size:13px;color:#0f172a}.journal-approval-row span,.approval-sign-row span{font-size:12px;font-weight:900;color:#475569}.journal-approval-row i,.approval-sign-row i{height:46px;border:1px dashed #94a3b8;border-radius:10px;display:flex;align-items:center;justify-content:center;font-style:normal;color:#94a3b8;font-weight:900}.journal-section{border-top:1px dashed #cbd5e1;padding-top:12px;margin-top:12px}.journal-section h4{margin:0 0 8px;color:#0f172a;font-size:15px;font-weight:1000}.diary-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diary-upload-card{border:1px solid #dbeafe;border-radius:16px;background:#fff;padding:10px;display:grid;gap:8px}.diary-upload-card strong{display:block;color:#0f172a;font-size:14px}.diary-upload-card p{margin:2px 0 0;color:#64748b;font-size:11px;font-weight:850}.diary-file-list{display:flex;gap:6px;flex-wrap:wrap}.diary-file-chip{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;align-items:center;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:6px;max-width:180px}.diary-file-chip b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diary-file-chip small{grid-column:1/2;color:#64748b;font-size:10px;font-weight:850}.diary-file-chip button{grid-column:2/3;grid-row:1/3;width:22px;height:22px;border:0;border-radius:999px;background:#0f172a;color:#fff;font-weight:1000;cursor:pointer}.diary-file-add{border:1px dashed #60a5fa;border-radius:12px;background:#eff6ff;color:#1d4ed8;padding:8px 12px;font-size:12px;font-weight:1000;cursor:pointer}.diary-file-add input{display:none}.diary-manpower-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 140px;gap:8px;align-items:end;margin-top:10px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:10px}.diary-manpower-box label{display:grid;gap:4px;color:#475569;font-size:11px;font-weight:1000}.diary-manpower-box input{border:1px solid #cbd5e1;border-radius:10px;padding:8px;font-weight:1000}.diary-manpower-box strong{height:36px;border-radius:12px;background:#f1f5f9;color:#475569;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:1000}.diary-manpower-box.matched strong{background:#dcfce7;color:#166534}.diary-manpower-box.mismatch strong{background:#fee2e2;color:#991b1b}.diary-risk-list{display:grid;gap:7px}.diary-risk-row{display:flex;gap:9px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:13px;background:#fff;padding:9px}.diary-risk-row input{margin-top:3px}.diary-risk-row b{display:block;color:#0f172a;font-size:13px}.diary-risk-row small{display:block;color:#475569;font-size:11.5px;font-weight:850;margin-top:2px}.diary-risk-row.checked{background:#f0fdf4;border-color:#bbf7d0}.journal-one-line{margin:0 0 8px;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:8px 10px;color:#9a3412;font-size:12px;font-weight:950;line-height:1.45}.hazard-form{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1fr) auto;gap:8px;margin-bottom:8px}.hazard-form select,.hazard-form input{border:1px solid #cbd5e1;border-radius:11px;padding:9px;font-weight:900}.hazard-list{display:grid;gap:8px}.hazard-card{border:1px solid #fecaca;border-radius:16px;background:#fff;padding:10px}.hazard-summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}.hazard-summary b{width:26px;height:26px;border-radius:9px;background:#991b1b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.hazard-summary span{font-size:13px;font-weight:1000;color:#111827;line-height:1.35}.mini-btn.danger{border-color:#fecaca;background:#fff1f2;color:#be123c}.hazard-photo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hazard-photo-slot{border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc;padding:8px;display:grid;gap:6px}.hazard-photo-slot strong{font-size:12px;color:#334155}.hazard-photo-slot img{width:100%;height:120px;object-fit:cover;border-radius:10px}.hazard-photo-slot em{height:120px;border:1px dashed #cbd5e1;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-style:normal;font-weight:900}.hazard-photo-slot label{justify-self:start;border:1px dashed #60a5fa;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:1000;cursor:pointer}.hazard-photo-slot input{display:none}.diary-routine-monitor{display:grid;gap:7px}.routine-monitor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:9px}.routine-monitor-row strong{display:block;color:#0f172a;font-size:13px}.routine-monitor-row p{margin:2px 0;color:#475569;font-size:11.5px;font-weight:900}.routine-monitor-row small{display:block;color:#64748b;font-size:10.5px;font-weight:850}.routine-monitor-row.done{background:#f0fdf4;border-color:#bbf7d0}.routine-monitor-row.due-now{background:#fff1f2;border-color:#fecaca}.routine-monitor-row.due-soon{background:#fff7ed;border-color:#fed7aa}
@media(max-width:1100px){.diary-upload-grid{grid-template-columns:1fr}.diary-manpower-box{grid-template-columns:1fr}.hazard-form{grid-template-columns:1fr}.journal-approval-row,.approval-sign-row{grid-template-columns:1fr}.journal-approval-row div,.approval-sign-row div{grid-template-columns:50px minmax(0,1fr) 70px}}
@media print{.safety-daily-journal{border:0;background:#fff}.journal-title-row button,.diary-file-add,.diary-file-chip button,.hazard-form,.hazard-summary .mini-btn,.hazard-photo-slot label{display:none!important}.journal-section{break-inside:avoid}.diary-upload-grid{grid-template-columns:repeat(3,1fr)}.hazard-photo-slot img,.hazard-photo-slot em{height:92px}.safety-hero-grid.no-print{display:none!important}}

/* v9.5.6 Safety Daily Journal two-page form */
.journal-two-page{background:#eef4fb;border-color:#cbdcf4;padding:14px}.journal-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.journal-front-page,.journal-backup-page{position:relative;background:#fff;border:1px solid #9db9df;border-radius:8px;padding:18px;max-width:1180px;margin:0 auto 18px;box-shadow:0 8px 28px rgba(15,23,42,.08)}
.journal-paper-head{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start;margin-bottom:10px}.journal-doc-title span{font-size:10px;font-weight:900;color:#64748b}.journal-doc-title h3{margin:2px 0;font-size:29px;letter-spacing:.28em;color:#10386f}.journal-doc-title p{margin:0;color:#64748b;font-size:11px;font-weight:800}.journal-sign-table,.journal-info-table,.journal-education-table,.journal-hazard-summary,.journal-routine-table{width:100%;border-collapse:collapse;table-layout:fixed}.journal-sign-table th,.journal-sign-table td,.journal-info-table th,.journal-info-table td,.journal-education-table th,.journal-education-table td,.journal-hazard-summary th,.journal-hazard-summary td,.journal-routine-table th,.journal-routine-table td{border:1px solid #aebed2;padding:8px;text-align:center;font-size:12px}.journal-sign-table th{background:#f1f5f9;color:#0f172a}.journal-sign-table td{height:52px;color:#94a3b8;font-weight:800}.journal-info-table col.label{width:76px}.journal-info-table col.site{width:34%}.journal-info-table col.date{width:15%}.journal-info-table col.count{width:9%}.journal-info-table th,.journal-education-table th{background:#eaf2fd;color:#173f73;font-weight:1000}.journal-info-table td{text-align:left;font-weight:900}.journal-info-table input,.journal-education-table input{width:100%;box-sizing:border-box;border:0;background:#fff;padding:4px;font:inherit;font-weight:900;outline:none}.journal-education-table{margin-top:8px}.journal-education-table td{white-space:nowrap}.journal-education-table input{display:inline-block;width:55%;text-align:right}.education-total{background:#fffbea;font-weight:1000;color:#92400e}.journal-block{margin-top:10px;border:1px solid #9db9df;border-radius:6px;overflow:hidden}.journal-block-title{display:flex;align-items:center;gap:8px;background:#eaf2fd;border-bottom:1px solid #9db9df;padding:7px 9px}.journal-block-title b,.journal-routine-details summary b{display:inline-flex;width:22px;height:22px;border-radius:4px;align-items:center;justify-content:center;background:#113e79;color:#fff;font-size:12px}.journal-block-title h4{margin:0;font-size:14px;color:#123a6f}.journal-block-title span{margin-left:auto;color:#64748b;font-size:10.5px;font-weight:800}.tbm-edit-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:0}.tbm-edit-grid>div{padding:10px}.tbm-edit-grid>div+div{border-left:1px solid #cbd5e1}.tbm-edit-grid strong{display:block;margin-bottom:6px;color:#1e3a5f;font-size:12px}.tbm-edit-grid textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #cbd5e1;border-radius:6px;padding:8px;font-family:inherit;font-size:12px;line-height:1.45}.tbm-extra-input{display:flex;gap:6px}.tbm-extra-input input{min-width:0;flex:1;border:1px solid #cbd5e1;border-radius:6px;padding:8px}.tbm-extra-list{margin:8px 0 0;padding-left:20px;display:grid;gap:5px}.tbm-extra-list li{font-size:12px;line-height:1.4}.tbm-extra-list li:not(.empty){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.tbm-extra-list .empty{color:#94a3b8}.journal-hazard-summary th,.journal-routine-table th{background:#f4f7fb;color:#244769;font-weight:1000}.journal-hazard-summary th:nth-child(1){width:44px}.journal-hazard-summary th:nth-child(2){width:88px}.journal-hazard-summary th:nth-child(5){width:120px}.journal-hazard-summary th:nth-child(6){width:70px}.journal-hazard-summary td{text-align:left;vertical-align:top}.journal-hazard-summary td:first-child,.journal-hazard-summary td:nth-child(2),.journal-hazard-summary td:last-child{text-align:center}.journal-routine-details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:#eaf2fd;padding:8px 10px;font-weight:1000;color:#123a6f}.journal-routine-details summary span{display:flex;align-items:center;gap:8px}.journal-routine-details summary small{font-size:10.5px;color:#64748b}.journal-routine-table td{text-align:left}.journal-routine-table th:nth-child(1){width:32%}.journal-routine-table th:nth-child(2){width:13%}.journal-routine-table th:nth-child(3){width:18%}.journal-routine-table th:nth-child(5){width:85px}.journal-routine-table tr.overdue td,.journal-routine-table tr.soon td{color:#b91c1c;font-weight:1000}.journal-routine-table tr.done td{background:#f0fdf4;color:#166534}.journal-attachment-line{display:flex;gap:16px;align-items:center;border:1px solid #9db9df;border-radius:6px;margin-top:10px;padding:9px 12px;font-size:12px}.journal-attachment-line b{color:#123a6f}.journal-page-number{text-align:right;margin-top:7px;color:#475569;font-size:10.5px;font-weight:900}.backup-page-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #174b85;padding-bottom:8px;margin-bottom:10px}.backup-page-head span{font-size:10px;color:#64748b;font-weight:900}.backup-page-head h3{margin:2px 0;color:#123a6f;font-size:22px}.backup-page-head strong{font-size:12px;color:#475569}.hazard-entry-form{display:grid;grid-template-columns:100px 120px 140px 180px minmax(180px,1fr) minmax(180px,1fr) auto;gap:6px;margin-bottom:10px}.hazard-entry-form input,.hazard-entry-form select{min-width:0;border:1px solid #cbd5e1;border-radius:6px;padding:8px;font-family:inherit;font-size:11px}.hazard-backup-list{display:grid;gap:10px}.hazard-backup-item{border:1px solid #aebed2;border-radius:6px;overflow:hidden;break-inside:avoid}.hazard-backup-meta{display:grid;grid-template-columns:28px 80px minmax(120px,1fr) 180px auto;gap:6px;align-items:center;background:#edf4fc;border-bottom:1px solid #cbd5e1;padding:6px 8px;font-size:11px}.hazard-backup-meta b{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#174b85;color:#fff;border-radius:4px}.hazard-backup-meta span{font-weight:1000;color:#9f1239}.hazard-backup-meta strong{color:#123a6f}.hazard-backup-meta time{color:#64748b}.hazard-backup-text{display:grid;grid-template-columns:1fr 1fr}.hazard-backup-text>div{padding:8px}.hazard-backup-text>div+div{border-left:1px solid #cbd5e1}.hazard-backup-text small{font-size:10px;color:#64748b;font-weight:1000}.hazard-backup-text p{margin:3px 0 0;font-size:12px;font-weight:850;line-height:1.45}.hazard-backup-item .hazard-photo-row{border-top:1px solid #cbd5e1;padding:8px}.hazard-backup-item .hazard-photo-slot img,.hazard-backup-item .hazard-photo-slot em{height:190px}.journal-backup-page:after{content:"안전일지 2/2 · 사진대지";display:block;text-align:right;margin-top:8px;color:#475569;font-size:10.5px;font-weight:900}
@media(max-width:1100px){.journal-paper-head{grid-template-columns:1fr}.journal-sign-table{max-width:none}.tbm-edit-grid{grid-template-columns:1fr}.tbm-edit-grid>div+div{border-left:0;border-top:1px solid #cbd5e1}.hazard-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.hazard-entry-form button{grid-column:1/-1}.journal-info-table{table-layout:auto}.journal-info-table col.site{width:42%}}
@media(max-width:680px){.journal-front-page,.journal-backup-page{padding:10px}.journal-doc-title h3{font-size:23px}.journal-info-table,.journal-education-table{display:block;overflow-x:auto}.journal-sign-table td{height:38px}.hazard-backup-meta{grid-template-columns:28px 70px 1fr}.hazard-backup-meta time{grid-column:3}.hazard-backup-text{grid-template-columns:1fr}.hazard-backup-text>div+div{border-left:0;border-top:1px solid #cbd5e1}}
@media print{.journal-two-page{padding:0;border:0;background:#fff}.journal-front-page,.journal-backup-page{box-shadow:none;border:0;border-radius:0;margin:0;max-width:none;padding:8mm;min-height:277mm;box-sizing:border-box}.journal-backup-page{break-before:page;page-break-before:always}.journal-paper-head{grid-template-columns:minmax(0,1fr) 95mm}.journal-info-table input,.journal-education-table input,.tbm-edit-grid textarea{border:0;background:transparent}.tbm-edit-grid textarea{resize:none;overflow:hidden}.journal-routine-details[open] summary~*{display:table}.journal-routine-details summary{list-style:none}.journal-routine-details summary::-webkit-details-marker{display:none}.journal-block,.hazard-backup-item{break-inside:avoid}.hazard-backup-item .hazard-photo-slot img,.hazard-backup-item .hazard-photo-slot em{height:55mm}}

/* v9.5.7 safety accordion + readable today checklist */
.safety-section-stack{display:grid;gap:12px}.safety-accordion{border:1px solid #cbd5e1;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.05)}.safety-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;cursor:pointer;background:linear-gradient(180deg,#fff,#f8fafc)}.safety-accordion>summary::-webkit-details-marker{display:none}.safety-accordion>summary div{display:grid;gap:3px}.safety-accordion>summary strong{font-size:17px;color:#0f2f57}.safety-accordion>summary small{font-size:12px;color:#64748b;font-weight:700}.accordion-arrow{font-size:24px;color:#3b82f6;transition:transform .2s}.safety-accordion[open] .accordion-arrow{transform:rotate(180deg)}.safety-accordion-body{padding:14px;background:#f8fafc;border-top:1px solid #e2e8f0}.safety-accordion-body>.card{margin:0}
.today-work-board{padding:16px}.today-work-guide{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:#eaf3ff;color:#173f73;margin-bottom:12px}.today-work-guide b{font-size:16px}.today-work-guide span{font-size:12px;font-weight:700}.today-work-toolbar{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px;margin-bottom:12px}.today-work-toolbar input{min-width:0;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:13px}.today-work-list{display:grid;gap:8px}.today-work-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dbe3ee;border-radius:9px;background:#fff;cursor:pointer}.today-work-row input{width:18px;height:18px}.today-work-row span{display:grid;grid-template-columns:78px minmax(0,1fr);gap:2px 10px;align-items:center}.today-work-row span b{grid-row:1/3;display:inline-flex;justify-content:center;padding:4px 6px;border-radius:999px;background:#e8f1ff;color:#174b85;font-size:11px}.today-work-row strong{font-size:14px;color:#111827}.today-work-row small{font-size:12px;color:#64748b;line-height:1.35}.today-work-row.done{background:#f1f5f9;opacity:.72}.today-work-row.done strong,.today-work-row.done small{text-decoration:line-through;color:#64748b}
.schedule-info-note{margin-bottom:10px;padding:9px 11px;border-left:4px solid #3b82f6;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:800}.info-library>h3{margin:18px 0 6px;color:#123a6f}.info-library>h3:first-child{margin-top:0}.info-routine-table{display:grid;border:1px solid #cbd5e1;border-radius:9px;overflow:hidden}.info-routine-head,.info-routine-row{display:grid;grid-template-columns:1.4fr .65fr .75fr 1fr 1.4fr;gap:0}.info-routine-head{background:#eaf2fd;color:#173f73;font-weight:900}.info-routine-head span,.info-routine-row>*{padding:9px 10px;border-right:1px solid #dbe3ee}.info-routine-head span:last-child,.info-routine-row>*:last-child{border-right:0}.info-routine-row{border-top:1px solid #dbe3ee;background:#fff;align-items:center;font-size:12px}.info-routine-row strong{font-size:13px}.info-routine-row.overdue{background:#fff1f2;color:#b91c1c}.info-routine-row.soon{background:#fff7ed;color:#c2410c}.process-knowledge-list{display:grid;gap:8px}.process-knowledge-list details{border:1px solid #dbe3ee;border-radius:8px;background:#fff;overflow:hidden}.process-knowledge-list summary{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:8px;padding:11px 12px;cursor:pointer}.process-knowledge-list summary b{color:#2563eb;font-size:11px}.process-knowledge-list summary strong{font-size:13px}.process-knowledge-list summary span{font-size:11px;color:#64748b}.process-knowledge-list details>div{padding:10px 14px;border-top:1px solid #e2e8f0;background:#f8fafc}.process-knowledge-list li{margin:5px 0;font-size:12px;line-height:1.45}.compliance-guide{display:grid;gap:14px}.compliance-guide>article{padding:14px;border:1px solid #dbe3ee;border-radius:9px;background:#f8fafc}.compliance-guide>article h3{margin:0 0 6px;color:#123a6f}.compliance-guide>article p{margin:0;font-size:13px;line-height:1.6}.compliance-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compliance-guide-grid details{border:1px solid #f1caca;border-radius:8px;background:#fff}.compliance-guide-grid summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:13px;font-weight:900}.compliance-guide-grid summary b{display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:50%;background:#fee2e2;color:#b91c1c}.compliance-guide-grid details p{margin:0;padding:9px 12px;border-top:1px solid #f1dada;font-size:12px;line-height:1.5}
@media(max-width:900px){.today-work-toolbar{grid-template-columns:1fr}.today-work-row span{grid-template-columns:1fr}.today-work-row span b{grid-row:auto;justify-self:start}.info-routine-head{display:none}.info-routine-row{grid-template-columns:1fr 1fr}.info-routine-row small{grid-column:1/-1}.compliance-guide-grid{grid-template-columns:1fr}}
@media print{.safety-accordion{border:0;box-shadow:none}.safety-accordion>summary{display:none}.safety-accordion-body{display:block!important;padding:0;border:0;background:#fff}.safety-section-stack{display:block}.safety-accordion:not([data-section="journal"]):not([data-section="journal-backup"]){display:none}}

/* v9.5.9 safety workflow redesign */
.today-work-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.today-work-columns>section{border:1px solid #d8e2ef;border-radius:10px;background:#f8fbff;padding:12px}.today-work-columns h3{margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid #dbeafe;color:#123a6f;font-size:17px}.today-work-row{padding:10px 12px}.today-work-row span{display:grid;grid-template-columns:1fr;gap:3px}.today-work-row strong{font-size:15px;line-height:1.35}.today-work-row small{font-size:12.5px;color:#52647a}.today-work-row.routine-task{border-left:4px solid #f59e0b}.today-work-row.weather-task{border-left:4px solid #0ea5e9}.today-work-row.schedule-parent{border-left:4px solid #ef4444}.today-process-task{border:0}.today-process-task>summary{list-style:none}.today-process-task>summary::-webkit-details-marker{display:none}.today-process-task>summary .today-work-row{width:100%;box-sizing:border-box}.today-process-checkpoints{margin:-5px 8px 8px 34px;padding:10px 12px;border:1px solid #fecaca;border-top:0;border-radius:0 0 8px 8px;background:#fff7f7}.today-process-checkpoints p{margin:4px 0;font-size:12.5px;line-height:1.45;color:#7f1d1d}
.journal-routine-wrap{overflow-x:auto}.journal-routine-table.compact{table-layout:fixed;width:100%}.journal-routine-table.compact th,.journal-routine-table.compact td{padding:4px 6px;font-size:10.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-routine-table.compact th:nth-child(1){width:38%}.journal-routine-table.compact th:nth-child(2){width:12%}.journal-routine-table.compact th:nth-child(3){width:16%}.journal-routine-table.compact th:nth-child(4){width:24%}.journal-routine-table.compact th:nth-child(5){width:72px}
.routine-knowledge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.routine-knowledge-list article{display:grid;gap:5px;padding:11px 12px;border:1px solid #dbe3ee;border-radius:9px;background:#fff}.routine-knowledge-list strong{font-size:14px;color:#102f55}.routine-knowledge-list b{font-size:11px;color:#b45309}.routine-knowledge-list p{margin:0;font-size:12px;line-height:1.5;color:#475569}.routine-knowledge-list small{font-size:11px;color:#64748b}
.routine-management-list{display:grid;gap:10px}.routine-management-card{border:1px solid #d8e2ef;border-left:5px solid #3b82f6;border-radius:10px;background:#fff;padding:12px}.routine-management-card.soon{border-left-color:#f59e0b;background:#fffbeb}.routine-management-card.overdue{border-left-color:#ef4444;background:#fff1f2}.routine-management-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.routine-management-head>div{display:grid;gap:3px}.routine-management-head strong{font-size:15px;color:#102f55}.routine-management-head span{font-size:11px;color:#64748b}.routine-management-head>b{font-size:12px;color:#b91c1c}.routine-management-grid{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:8px}.routine-management-grid label{display:grid;gap:4px;font-size:10.5px;font-weight:900;color:#64748b}.routine-management-grid input{min-width:0;border:1px solid #cbd5e1;border-radius:7px;padding:7px 8px;font-size:12px}.routine-docs{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:9px;padding-top:9px;border-top:1px dashed #dbe3ee;font-size:11px}.routine-docs b{color:#123a6f}.routine-docs span{color:#52647a}.routine-history{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.routine-history span{padding:3px 7px;border-radius:999px;background:#e8f1ff;color:#174b85;font-size:10.5px;font-weight:800}.routine-history em{font-size:11px;color:#94a3b8}
@media(max-width:900px){.today-work-columns,.routine-knowledge-list{grid-template-columns:1fr}.routine-management-grid{grid-template-columns:1fr 1fr}.routine-docs{grid-template-columns:1fr}.journal-routine-table.compact{min-width:720px}}


/* v9.5.11 safety journal layout, accordion state and print isolation */
.journal-info-two-row col.site{width:46%}.journal-info-two-row col.date{width:18%}.journal-info-two-row col.count{width:18%}
.journal-info-two-row th{white-space:nowrap;padding:5px 7px;font-size:11px}.journal-info-two-row td{height:31px;padding:3px 6px;text-align:center;white-space:nowrap;font-size:11px}
.journal-info-two-row td:first-child{text-align:left}.journal-info-two-row input{height:24px;padding:2px 5px;text-align:center}.journal-info-two-row td:first-child input{text-align:left}
.journal-routine-table.compact th,.journal-routine-table.compact td{height:24px;padding:2px 5px!important;font-size:9.8px!important;line-height:1.1!important;white-space:nowrap!important}
.journal-routine-table.compact th:nth-child(1){width:36%}.journal-routine-table.compact th:nth-child(2){width:12%}.journal-routine-table.compact th:nth-child(3){width:17%}.journal-routine-table.compact th:nth-child(4){width:25%}.journal-routine-table.compact th:nth-child(5){width:70px}
.journal-routine-table.compact .mini-btn{padding:3px 6px;font-size:9px;line-height:1}
.routine-management-grid{grid-template-columns:.8fr .8fr 1fr 1.8fr}.routine-note-field textarea{min-width:0;width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:7px;padding:7px 8px;font:inherit;font-size:12px;resize:vertical}
.routine-saved-summary{display:grid;grid-template-columns:auto minmax(120px,.7fr) minmax(220px,1.8fr);gap:8px;align-items:start;margin-top:8px;padding:8px 10px;border-radius:8px;background:#f1f5f9;font-size:11px}.routine-saved-summary b{color:#123a6f}.routine-saved-summary span{min-width:0;white-space:normal;overflow-wrap:anywhere;color:#475569}
@media(max-width:900px){.routine-management-grid{grid-template-columns:1fr 1fr}.routine-note-field{grid-column:1/-1}.routine-saved-summary{grid-template-columns:1fr}}
@media print{
  body.print-safety-journal-only .topbar,body.print-safety-journal-only .app-nav,body.print-safety-journal-only .sidebar,body.print-safety-journal-only .section-head,body.print-safety-journal-only .safety-accordion>summary{display:none!important}
  body.print-safety-journal-only .safety-section-stack>details:not([data-section="journal"]):not([data-section="journal-backup"]){display:none!important}
  body.print-safety-journal-only .safety-section-stack,body.print-safety-journal-only .safety-accordion,body.print-safety-journal-only .safety-accordion-body{display:block!important;border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important;margin:0!important}
  body.print-safety-journal-only .journal-info-two-row th{font-size:9.5pt;padding:2mm 1.5mm}
  body.print-safety-journal-only .journal-info-two-row td{font-size:9.5pt;height:8mm;padding:1mm 1.5mm}
  body.print-safety-journal-only .journal-routine-table.compact th,body.print-safety-journal-only .journal-routine-table.compact td{font-size:7.5pt!important;height:5.5mm;padding:1mm!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  body.print-safety-journal-only .journal-routine-table.compact th:nth-child(1){width:37%}body.print-safety-journal-only .journal-routine-table.compact th:nth-child(2){width:12%}body.print-safety-journal-only .journal-routine-table.compact th:nth-child(3){width:17%}body.print-safety-journal-only .journal-routine-table.compact th:nth-child(4){width:34%}
  body.print-safety-journal-only .journal-routine-table.compact th:nth-child(5),body.print-safety-journal-only .journal-routine-table.compact td:nth-child(5){display:none!important}
}

/* v9.5.12 routine management + journal count alignment */
.journal-count-field{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.journal-count-field input{flex:0 1 82px;max-width:82px;text-align:right!important}
.journal-count-field span{display:inline-block;flex:0 0 auto;font-weight:900;color:#334155;line-height:1}
.journal-routine-table.readonly th:nth-child(1){width:35%}
.journal-routine-table.readonly th:nth-child(2){width:18%}
.journal-routine-table.readonly th:nth-child(3){width:14%}
.journal-routine-table.readonly th:nth-child(4){width:14%}
.journal-routine-table.readonly th:nth-child(5){width:19%}
.routine-record-entry{display:grid;grid-template-columns:150px 140px 110px minmax(220px,1fr) auto;gap:8px;align-items:end;margin:10px 0}
.routine-record-entry label{display:grid;gap:4px;font-size:10.5px;font-weight:900;color:#64748b}
.routine-record-entry input,.routine-record-entry select{min-width:0;border:1px solid #cbd5e1;border-radius:7px;padding:7px 8px;font-size:12px;background:#fff}
.routine-record-table-wrap{overflow-x:auto}
.routine-record-table{width:100%;border-collapse:collapse;table-layout:fixed}
.routine-record-table th,.routine-record-table td{border:1px solid #d8e2ef;padding:6px 8px;font-size:11px;text-align:left;vertical-align:middle}
.routine-record-table th{background:#f3f7fb;color:#244769;white-space:nowrap}
.routine-record-table th:nth-child(1){width:105px}.routine-record-table th:nth-child(2){width:90px}.routine-record-table th:nth-child(3){width:70px}.routine-record-table th:nth-child(5){width:105px}.routine-record-table th:nth-child(6){width:58px}
.routine-record-table td:nth-child(1),.routine-record-table td:nth-child(3),.routine-record-table td:nth-child(5),.routine-record-table td:nth-child(6){text-align:center;white-space:nowrap}
@media(max-width:900px){.routine-record-entry{grid-template-columns:1fr 1fr}.routine-record-note{grid-column:1/-1}.routine-record-entry button{grid-column:1/-1}.journal-count-field input{max-width:68px}}
@media print{body.print-safety-journal-only .journal-count-field{gap:1.5mm}body.print-safety-journal-only .journal-count-field input{max-width:16mm;width:16mm}body.print-safety-journal-only .journal-count-field span{font-size:9pt}.journal-routine-table.readonly th:nth-child(1){width:35%}.journal-routine-table.readonly th:nth-child(2){width:18%}.journal-routine-table.readonly th:nth-child(3){width:14%}.journal-routine-table.readonly th:nth-child(4){width:14%}.journal-routine-table.readonly th:nth-child(5){width:19%}}

/* v9.5.13 routine document management + A4 journal alignment */
.journal-routine-wrap{overflow:visible!important}
.journal-routine-table.compact.readonly{width:100%;min-width:0!important;table-layout:fixed}
.journal-routine-table.compact.readonly th,.journal-routine-table.compact.readonly td{height:22px!important;padding:2px 5px!important;font-size:9.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.journal-routine-table.compact.readonly th:nth-child(1){width:48%!important}
.journal-routine-table.compact.readonly th:nth-child(2){width:20%!important}
.journal-routine-table.compact.readonly th:nth-child(3){width:16%!important}
.journal-routine-table.compact.readonly th:nth-child(4){width:16%!important}
.routine-document-guide{display:grid;gap:8px}
.routine-document-guide details{border:1px solid #d7e1ed;border-radius:9px;background:#fff;overflow:hidden}
.routine-document-guide summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;background:#f8fbff}
.routine-document-guide summary::-webkit-details-marker{display:none}
.routine-document-guide summary div{display:flex;align-items:center;gap:10px;min-width:0}
.routine-document-guide summary strong{font-size:13px;color:#123a6f}
.routine-document-guide summary span{font-size:11px;color:#64748b;font-weight:800}
.routine-document-guide summary em{font-size:10.5px;color:#2563eb;font-style:normal;font-weight:900;white-space:nowrap}
.document-guide-body{display:grid;gap:7px;padding:11px 13px;border-top:1px solid #e2e8f0}
.document-guide-body p{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;margin:0;font-size:12px;line-height:1.5;color:#334155}
.document-guide-body p b{color:#173f73}
.document-guide-body .document-warning{padding:7px 9px;border-radius:7px;background:#fff7ed;color:#9a3412}
@media(max-width:760px){.document-guide-body p{grid-template-columns:1fr;gap:2px}.routine-document-guide summary div{display:grid;gap:2px}}
@media print{
  body.print-safety-journal-only .journal-routine-wrap{overflow:visible!important}
  body.print-safety-journal-only .journal-routine-table.compact.readonly{width:100%!important;min-width:0!important;table-layout:fixed!important}
  body.print-safety-journal-only .journal-routine-table.compact.readonly th,body.print-safety-journal-only .journal-routine-table.compact.readonly td{height:4.8mm!important;padding:.7mm 1mm!important;font-size:7pt!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.print-safety-journal-only .journal-routine-table.compact.readonly th:nth-child(1){width:48%!important}
  body.print-safety-journal-only .journal-routine-table.compact.readonly th:nth-child(2){width:20%!important}
  body.print-safety-journal-only .journal-routine-table.compact.readonly th:nth-child(3){width:16%!important}
  body.print-safety-journal-only .journal-routine-table.compact.readonly th:nth-child(4){width:16%!important}
}

/* v9.6.0 Today process integration */
.today-process-input{border:1px solid #c9d8ef;background:linear-gradient(180deg,#fff,#f8fbff)}
.today-process-form{display:grid;grid-template-columns:1.05fr 1.45fr 1.25fr 1.4fr auto;gap:10px;align-items:end}
.today-process-form label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#334155}
.today-process-list{display:grid;gap:10px;margin-top:14px}
.today-process-card{border:1px solid #dbe4f0;border-left:5px solid #64748b;border-radius:12px;background:#fff;padding:12px 14px}
.today-process-card.risk-critical{border-left-color:#b91c1c;background:#fff8f8}.today-process-card.risk-high{border-left-color:#ea580c;background:#fffaf5}.today-process-card.risk-medium{border-left-color:#ca8a04;background:#fffdf3}
.today-process-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.today-process-head span{font-size:11px;font-weight:900;color:#64748b}.today-process-head h4{margin:3px 0;font-size:16px}.today-process-head p{margin:0;color:#64748b;font-size:12px}.today-process-head>div:last-child{display:flex;align-items:center;gap:8px}.today-process-head>div:last-child b{font-size:11px;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#334155;white-space:nowrap}
.today-process-card details{margin-top:9px;border-top:1px dashed #dbe4f0;padding-top:8px}.today-process-card summary{cursor:pointer;font-weight:800;font-size:12px;color:#315a94}.process-auto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}.process-auto-grid>div{background:#f8fafc;border-radius:9px;padding:10px}.process-auto-grid strong{font-size:12px}.process-auto-grid ul{margin:7px 0 0;padding-left:17px;font-size:12px;line-height:1.55}.document-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.document-link-grid .action-item small{display:block;color:#64748b;margin-top:2px}
@media(max-width:1050px){.today-process-form{grid-template-columns:repeat(2,1fr)}.today-process-form button{grid-column:span 2}.process-auto-grid{grid-template-columns:1fr}.document-link-grid{grid-template-columns:1fr}}


/* v9.6.2 process integration detail + missing check */
.today-process-form.detailed{grid-template-columns:1.1fr 1.45fr 1.15fr 1.1fr .65fr .8fr .8fr 1.4fr auto}
.today-process-form.detailed .process-detail-wide{min-width:180px}
.today-missing-card{border:1px solid #f3c6c6;background:linear-gradient(180deg,#fff,#fffafa)}
.today-missing-card .card-title-row>b{font-size:12px;padding:5px 9px;border-radius:999px;background:#fee2e2;color:#b91c1c}
.today-missing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.missing-item{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.5fr);gap:10px;align-items:center;padding:8px 10px;border:1px solid #fecaca;border-radius:9px;background:#fff;font-size:12px}
.missing-item strong{color:#991b1b}.missing-item span{color:#475569}.missing-item.input{border-color:#fed7aa;background:#fffaf3}.missing-item.input strong{color:#9a3412}
.all-clear{grid-column:1/-1;margin:0;padding:12px;border-radius:9px;background:#ecfdf5;color:#047857;font-weight:800}
.document-link-grid .action-item.checked{background:#ecfdf5;border-color:#86efac}.document-link-grid .action-item.checked span{text-decoration:line-through;color:#64748b}
@media(max-width:1350px){.today-process-form.detailed{grid-template-columns:repeat(4,1fr)}.today-process-form.detailed button{grid-column:span 4}.today-missing-list{grid-template-columns:1fr}}
@media(max-width:760px){.today-process-form.detailed{grid-template-columns:1fr 1fr}.today-process-form.detailed button{grid-column:span 2}.missing-item{grid-template-columns:1fr}}

/* v9.6.4 Unified Quality Management */
.quality-summary strong{display:block;font-size:28px;margin:8px 0}.quality-work-list{display:grid;gap:14px;margin-top:14px}.quality-work-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfdff}.quality-work-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.quality-work-head h3{margin:8px 0 4px}.quality-work-head p{margin:0;color:var(--muted)}.work-id-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:900}.quality-progress{min-width:54px;text-align:center;padding:8px 10px;border-radius:12px;background:#eff6ff;font-weight:1000}.quality-card-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:14px}.quality-card-grid section{border:1px solid var(--line);border-radius:14px;padding:14px;background:white}.quality-card-grid h4{margin:0 0 10px}.quality-task-list{display:grid;gap:8px}.quality-task-list label,.quality-record{display:flex;align-items:flex-start;gap:9px;padding:8px;border-radius:10px;background:#f8fafc}.quality-task-list input,.quality-record input{width:18px;height:18px;flex:0 0 auto}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compact-form input,.compact-form select{min-width:0}.compact-form .save-inspection{grid-column:1/-1}.quality-record-list{display:grid;gap:7px}.quality-record b{margin-left:auto;font-size:12px}.quality-ok{color:#047857}.quality-warn{color:#b45309}.quality-pending{color:#b91c1c}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.quality-photo-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.quality-photo-list span{padding:7px 9px;border-radius:9px;background:#f1f5f9;font-size:13px}.empty-state{text-align:center;padding:28px;border:1px dashed var(--line);border-radius:16px;background:#f8fafc}@media(max-width:900px){.quality-card-grid{grid-template-columns:1fr}.quality-work-head{align-items:center}.compact-form{grid-template-columns:1fr}}

/* v9.6.5 Unified Construction Management */
.construction-summary strong{display:block;font-size:28px;margin:8px 0}.construction-work-list{display:grid;gap:14px;margin-top:14px}.construction-work-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfdff}.construction-work-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.construction-work-head h3{margin:8px 0 4px}.construction-work-head p{margin:0;color:var(--muted)}.construction-progress{min-width:54px;text-align:center;padding:8px 10px;border-radius:12px;background:#eff6ff;font-weight:1000}.construction-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.construction-grid section{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.construction-grid h4{margin:0 0 10px}.construction-grid label{display:grid;gap:6px;margin-top:9px;font-size:12px;font-weight:800;color:#334155}.construction-grid textarea{min-height:82px;resize:vertical}.construction-notes{grid-column:1/-1;min-height:70px}.construction-check-list,.construction-record-list{display:grid;gap:8px}.construction-check-list label,.construction-record-list label,.construction-record-list>div{display:flex;align-items:flex-start;gap:9px;padding:9px;border-radius:10px;background:#f8fafc}.construction-check-list input,.construction-record-list input{width:18px;height:18px;flex:0 0 auto}.construction-record-list b{margin-left:auto;font-size:12px;color:#475569}.construction-record-list p{margin:4px 0 0;color:#64748b}.save-construction{margin-top:14px}@media(max-width:900px){.construction-grid{grid-template-columns:1fr}.construction-work-head{align-items:center}}

/* v9.6.6 Work ID based material/equipment management */
.resource-work-list{display:grid;gap:18px;padding:16px}.resource-work-card{border:1px solid var(--line,#dbe3ec);border-radius:16px;background:#fff;overflow:hidden}.resource-work-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#f7f9fc;border-bottom:1px solid var(--line,#dbe3ec)}.resource-work-card h3{margin:6px 0 2px}.resource-work-card p{margin:0;color:#667085}.resource-count{display:flex;gap:8px;flex-wrap:wrap}.resource-count span,.resource-type{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.resource-count span:first-child,.resource-type.material{background:#e8f5e9;color:#216e39}.resource-count span:last-child,.resource-type.equipment{background:#fff3e0;color:#9a4d00}.resource-table-wrap{overflow:auto}.resource-table{width:100%;min-width:1080px;border-collapse:collapse}.resource-table th,.resource-table td{padding:10px 8px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:middle}.resource-table th{font-size:12px;color:#5f6b7a;background:#fbfcfe}.resource-table input,.resource-table select{min-width:82px;width:100%;padding:7px 8px}.resource-table td:nth-child(3){display:grid;grid-template-columns:1fr 60px;gap:5px}.resource-table small{display:block;margin-top:3px;color:#8a94a3}.resource-check{white-space:nowrap}.resource-work-card>.add-resource{margin:12px 16px 16px}.icon-btn.remove-resource{margin-left:5px}.resource-summary strong{font-size:24px}
@media(max-width:800px){.resource-work-card>header{align-items:flex-start;flex-direction:column}.resource-count{align-self:flex-start}}

/* v9.6.7 Work ID compliance audit */
.compliance-center{border:1px solid #d7e1ed;background:linear-gradient(180deg,#fff,#f8fbff)}.compliance-center>.card-title-row>b{padding:6px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:12px}.compliance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.compliance-summary article{padding:12px;border:1px solid #dbe4f0;border-radius:12px;background:#fff}.compliance-summary span{display:block;color:#64748b;font-size:11px;font-weight:800}.compliance-summary strong{display:block;margin-top:4px;font-size:24px}.compliance-summary .danger{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.compliance-summary .warn{border-color:#fed7aa;background:#fffaf2;color:#b45309}.compliance-work-list{display:grid;gap:10px}.compliance-work{border:1px solid #dbe4f0;border-left:5px solid #16a34a;border-radius:12px;background:#fff;padding:12px}.compliance-work.has-critical{border-left-color:#dc2626}.compliance-work.has-warn{border-left-color:#f59e0b}.compliance-work header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.compliance-work h4{margin:5px 0 2px}.compliance-work p{margin:0;color:#64748b;font-size:12px}.compliance-work header>b{font-size:12px;padding:5px 8px;border-radius:999px;background:#f1f5f9}.compliance-work>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.audit-chip{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#f1f5f9;color:#475569}.audit-chip.ok{background:#dcfce7;color:#166534}.audit-chip.critical{background:#fee2e2;color:#991b1b}.audit-chip.warn{background:#ffedd5;color:#9a3412}.compliance-work ul{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.compliance-work li{display:grid;grid-template-columns:120px minmax(0,1fr) 90px;gap:9px;align-items:center;padding:8px 9px;border-radius:9px;background:#fff7f7;font-size:12px}.compliance-work li strong{color:#991b1b}.compliance-work li span{color:#475569}.compliance-work li em{font-style:normal;text-align:right;color:#2563eb;font-weight:800}.audit-clear{margin-top:10px!important;padding:9px;border-radius:9px;background:#ecfdf5;color:#047857!important;font-weight:800}@media(max-width:800px){.compliance-summary{grid-template-columns:1fr 1fr}.compliance-work li{grid-template-columns:1fr}.compliance-work li em{text-align:left}}

/* v9.6.8 Compliance response workflow */
.compliance-work li{grid-template-columns:minmax(0,1fr) auto;align-items:start}.audit-item-main{display:grid;gap:4px}.audit-item-main small{color:#7c3aed;font-weight:700}.audit-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.audit-action-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.audit-action-status.open{background:#fee2e2;color:#991b1b}.audit-action-status.managed{background:#e0f2fe;color:#075985}.audit-actions .mini-btn{white-space:nowrap}@media(max-width:800px){.compliance-work li{grid-template-columns:1fr}.audit-actions{justify-content:flex-start}}
.audit-evidence-count,.audit-approval-stage{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#eef4ff;color:#294d82}.audit-approval-stage{background:#eef8ef;color:#2d6b38}.audit-actions{flex-wrap:wrap}

/* v9.7.0 Work Hub */
.work-hub-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:18px;align-items:start}.work-hub-list{background:var(--surface,#fff);border:1px solid var(--line,#dde3ea);border-radius:18px;padding:16px;position:sticky;top:88px}.work-hub-item{width:100%;display:grid;gap:4px;text-align:left;padding:13px;margin-top:9px;border:1px solid var(--line,#dde3ea);border-radius:13px;background:transparent;cursor:pointer}.work-hub-item:hover,.work-hub-item.active{border-color:#4c7dff;background:#f2f6ff}.work-hub-item span{font-size:11px;color:#65748b}.work-hub-item b{font-size:15px}.work-hub-item small{color:#65748b}.work-hub-item em{justify-self:start;font-size:11px;font-style:normal;padding:3px 7px;border-radius:999px}.work-hub-detail{background:var(--surface,#fff);border:1px solid var(--line,#dde3ea);border-radius:18px;padding:20px}.work-hub-detail>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.hub-health{padding:7px 10px;border-radius:999px;font-weight:700}.hub-health.ok,.work-hub-item em.ok,.hub-row b.ok{background:#e8f7ef;color:#137a45}.hub-health.danger,.work-hub-item em.danger,.hub-row b.danger{background:#fff0f0;color:#bf2f2f}.work-hub-meters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.work-hub-meter{border:1px solid var(--line,#dde3ea);border-radius:12px;padding:11px;background:transparent;text-align:left;cursor:pointer}.work-hub-meter span{display:flex;justify-content:space-between}.work-hub-meter em{font-style:normal}.work-hub-meter i{display:block;height:5px;background:#e8edf4;border-radius:9px;margin-top:8px;overflow:hidden}.work-hub-meter u{display:block;height:100%;background:#4c7dff;text-decoration:none}.work-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-hub-grid article{border:1px solid var(--line,#dde3ea);border-radius:14px;padding:15px}.work-hub-grid article.wide{grid-column:1/-1}.hub-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #e3e8ef}.hub-row:last-of-type{border-bottom:0}.hub-evidence{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.hub-evidence span{padding:6px 9px;border-radius:9px;background:#f4f6f9;font-size:12px}@media(max-width:900px){.work-hub-layout{grid-template-columns:1fr}.work-hub-list{position:static}.work-hub-meters{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.work-hub-grid,.work-hub-meters{grid-template-columns:1fr}}

/* v9.7.1 Work priority & readiness */
.hub-priority-panel{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:16px 0;padding:15px 17px;border:1px solid var(--line,#dde3ea);border-radius:14px;background:#f7f9fc}.hub-priority-panel h4{margin:3px 0 5px}.hub-priority-panel p{margin:0;color:#65748b}.hub-priority-panel.긴급{background:#fff1f1;border-color:#efb4b4}.hub-priority-panel.주의{background:#fff8e8;border-color:#efd79a}.hub-priority-panel.확인{background:#eef5ff;border-color:#b9d0f5}.hub-priority-panel.정상{background:#edf9f2;border-color:#b7dfc7}.hub-score{min-width:76px;text-align:center;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.8)}.hub-score b{display:block;font-size:24px}.hub-score span{font-size:11px;color:#65748b}.hub-health.warn{background:#fff8e8;color:#9a6500}.work-hub-item span strong{color:#315fca}.work-hub-item em.priority-긴급{background:#fff0f0;color:#bf2f2f}.work-hub-item em.priority-주의{background:#fff7df;color:#976100}.work-hub-item em.priority-확인{background:#edf4ff;color:#315fca}.work-hub-item em.priority-정상{background:#e8f7ef;color:#137a45}@media(max-width:620px){.hub-priority-panel{align-items:flex-start}.hub-score{min-width:64px}}

/* v9.7.2 Today Decision Briefing */
.decision-briefing{border-left:6px solid #16a34a}.decision-briefing.has-urgent{border-left-color:#dc2626;background:linear-gradient(135deg,#fff 0%,#fff7f7 100%)}.decision-briefing.has-caution{border-left-color:#f59e0b;background:linear-gradient(135deg,#fff 0%,#fffaf0 100%)}.decision-briefing-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.decision-briefing-head h2{margin:3px 0 5px}.decision-briefing-head p{margin:0;color:#64748b}.decision-readiness{min-width:105px;text-align:center;padding:12px;border-radius:14px;background:#fff;border:1px solid #dbe4f0}.decision-readiness strong{display:block;font-size:30px}.decision-readiness span{font-size:11px;color:#64748b;font-weight:800}.decision-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0}.decision-kpi-grid article{padding:10px 12px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0}.decision-kpi-grid span{display:block;font-size:11px;color:#64748b;font-weight:800}.decision-kpi-grid strong{display:block;font-size:22px;margin-top:2px}.decision-kpi-grid .danger{background:#fff1f2;color:#b91c1c}.decision-kpi-grid .warn{background:#fff7ed;color:#b45309}.decision-kpi-grid .ok{background:#ecfdf5;color:#047857}.decision-top-work{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-radius:13px;background:#102a43;color:#fff}.decision-top-work div{display:grid;gap:3px}.decision-top-work b{font-size:11px;color:#bfdbfe}.decision-top-work strong{font-size:17px}.decision-top-work p{margin:0;color:#dbeafe;font-size:12px}.decision-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.decision-action-grid article{padding:11px 12px;border:1px solid #dbe4f0;border-radius:11px;background:#fff}.decision-action-grid span{font-size:10px;font-weight:900;color:#2563eb}.decision-action-grid strong{display:block;margin:4px 0;font-size:13px}.decision-action-grid p{margin:0;font-size:11px;color:#64748b}@media(max-width:820px){.decision-action-grid{grid-template-columns:1fr 1fr}.decision-kpi-grid{grid-template-columns:1fr 1fr}.decision-top-work,.decision-briefing-head{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.decision-action-grid{grid-template-columns:1fr}}

/* v9.7.3 Role execution dashboard */
.role-execution-board{overflow:hidden}.role-execution-summary{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #dbe3ee;border-radius:12px;background:#f7f9fc}.role-execution-summary b{font-size:24px}.role-execution-summary span,.role-execution-summary em{font-size:11px;font-style:normal;color:#64748b}.role-execution-summary em{padding:3px 7px;border-radius:999px;background:#fff0f0;color:#b42318;font-weight:900}.role-execution-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.role-execution-card{display:flex;flex-direction:column;min-height:300px;padding:12px;border:1px solid #dce4ee;border-radius:15px;background:#fff}.role-execution-card.has-critical{border-color:#efb4b4;background:#fffafa}.role-execution-card.has-work{border-color:#efd79a;background:#fffdf7}.role-execution-card.is-clear{background:#f6fbf8}.role-execution-card>header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:9px}.role-execution-card>header span{font-size:10px;color:#64748b;font-weight:900}.role-execution-card>header h3{margin:2px 0 0;font-size:16px}.role-execution-card>header>b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:10px;background:#0f172a;color:#fff}.role-action-list{display:flex;flex:1;flex-direction:column;gap:7px}.role-action-item{display:flex;gap:8px;width:100%;padding:8px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.role-action-item:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.08)}.role-action-item>span{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:8px;background:#edf4ff;color:#315fca;font-size:11px;font-weight:1000}.role-action-item.critical>span{background:#fff0f0;color:#b42318}.role-action-item div{min-width:0}.role-action-item b,.role-action-item strong,.role-action-item small,.role-action-item p{display:block}.role-action-item b{font-size:12px;color:#0f172a}.role-action-item strong{margin-top:2px;font-size:11px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-action-item small{margin-top:2px;font-size:9px;color:#64748b}.role-action-item p{margin:4px 0 0;font-size:10px;line-height:1.35;color:#59677b}.role-clear-message{margin:auto;text-align:center;color:#238553;font-size:12px;font-weight:850}.role-more{display:block;margin:8px 0;color:#64748b;font-weight:800}.role-open-page{width:100%;margin-top:9px}@media(max-width:1280px){.role-execution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.role-execution-grid{grid-template-columns:1fr}.role-execution-card{min-height:auto}}

/* v9.7.4 Executive Command Center */
.director-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#102a43,#1e4976);color:#fff;margin-bottom:14px}.director-hero h2{margin:4px 0 6px;font-size:28px}.director-hero p{margin:0;color:#dbeafe}.director-score{min-width:145px;text-align:center;padding:14px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.1)}.director-score strong{display:block;font-size:42px}.director-score span,.director-score b{display:block;font-size:11px}.director-score b{margin-top:6px;padding:4px 8px;border-radius:999px;background:#fff;color:#102a43}.director-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.director-kpi-grid article{padding:14px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.director-kpi-grid span,.director-kpi-grid small{display:block;color:#64748b;font-size:11px}.director-kpi-grid strong{display:block;font-size:28px;margin:3px 0}.director-kpi-grid .danger{background:#fff1f2;color:#b91c1c}.director-kpi-grid .warn{background:#fff7ed;color:#b45309}.director-kpi-grid .ok{background:#ecfdf5;color:#047857}.director-top-priority{display:flex;justify-content:space-between;align-items:center;gap:20px;border-left:6px solid #dc2626;background:linear-gradient(135deg,#fff,#fff7f7)}.director-top-priority span{font-size:11px;font-weight:900;color:#dc2626}.director-top-priority h3{margin:4px 0}.director-top-priority p{margin:0;color:#64748b}.director-top-priority ul{margin:8px 0 0;padding-left:18px}.director-main-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.director-list{display:grid;gap:8px}.director-list button{display:flex;gap:10px;width:100%;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.director-list button>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;background:#fff0f0;color:#b42318;font-weight:900}.director-list b,.director-list small,.director-list p{display:block}.director-list small{margin-top:2px;color:#64748b}.director-list p{margin:5px 0 0;color:#59677b;font-size:11px}.director-weather{display:grid;gap:8px}.director-weather>div{padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0}.director-weather>div.danger{background:#fff1f2;border-color:#fecdd3}.director-weather p{margin:4px 0 0;font-size:12px;color:#59677b}.director-weather-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.director-weather-metrics span{padding:8px;border-radius:10px;background:#f1f5f9;text-align:center;font-size:11px}.director-ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.director-ai-grid article{display:flex;gap:9px;padding:11px;border:1px solid #dbe4f0;border-radius:12px}.director-ai-grid span{font-weight:1000;color:#2563eb}.director-ai-grid p{margin:0;font-size:12px}.director-work-table{display:grid;gap:6px}.director-work-row{display:grid;grid-template-columns:60px 1.5fr 1fr 80px 80px;gap:10px;align-items:center;width:100%;padding:9px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:left}.director-work-row:not(.head){cursor:pointer}.director-work-row.head{background:#f8fafc;font-size:11px;font-weight:900;color:#64748b}.director-work-row small{display:block;color:#64748b;margin-top:2px}.director-work-row .level-긴급{color:#b91c1c;font-weight:900}.director-work-row .level-주의{color:#b45309;font-weight:900}.director-work-row .level-확인{color:#2563eb;font-weight:900}.director-work-row .level-정상{color:#047857;font-weight:900}@media(max-width:900px){.director-kpi-grid{grid-template-columns:repeat(2,1fr)}.director-main-grid,.director-ai-grid{grid-template-columns:1fr}.director-work-row{grid-template-columns:45px 1.4fr .8fr 60px 60px}}@media(max-width:600px){.director-hero,.director-top-priority{align-items:flex-start;flex-direction:column}.director-score{width:100%}.director-work-row{grid-template-columns:40px 1fr 60px}.director-work-row span:nth-child(3),.director-work-row span:nth-child(4){display:none}}

/* v9.7.5 Director instruction and execution workflow */
.director-command-board{border-color:#bfdbfe;background:linear-gradient(180deg,#f8fbff,#fff)}.command-count{min-width:92px;padding:9px 12px;border-radius:13px;background:#eff6ff;text-align:center}.command-count b,.command-count span{display:block}.command-count b{font-size:24px;color:#1d4ed8}.command-count span{font-size:10px;font-weight:900;color:#64748b}.director-command-form{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr .6fr .6fr;gap:8px;align-items:end;margin:12px 0}.director-command-form label{display:grid;gap:4px;font-size:10px;font-weight:900;color:#475569}.director-command-form input,.director-command-form select,.director-command-form textarea,.command-actions input,.command-actions select,.hub-command-row select{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:8px;font:inherit}.director-command-form .command-text{grid-column:1/-2}.director-command-form textarea{min-height:58px;resize:vertical}.director-command-list{display:grid;gap:8px}.command-item{padding:10px;border:1px solid #e2e8f0;border-left:5px solid #64748b;border-radius:12px;background:#fff}.command-item.priority-긴급{border-left-color:#dc2626;background:#fff8f8}.command-item.priority-중요{border-left-color:#f59e0b}.command-item.status-완료{opacity:.7;background:#f0fdf4;border-left-color:#16a34a}.command-main{display:flex;justify-content:space-between;gap:12px}.command-main span,.command-main strong,.command-main small{display:block}.command-main span{font-size:10px;font-weight:1000;color:#1d4ed8}.command-main strong{margin:3px 0;font-size:13px}.command-main small{font-size:11px;color:#64748b}.command-actions{display:grid;grid-template-columns:110px 1fr auto auto;gap:7px;margin-top:8px}.mini-danger-btn{border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#b91c1c;padding:7px 9px;font-weight:900;cursor:pointer}.hub-command-panel{background:#f8fbff}.hub-command-list{display:grid;gap:7px}.hub-command-row{display:grid;grid-template-columns:1fr 105px auto;gap:8px;align-items:center;padding:9px;border:1px solid #dbeafe;border-radius:11px;background:#fff}.hub-command-row>div span,.hub-command-row>div b,.hub-command-row>div small{display:block}.hub-command-row>div span{font-size:10px;font-weight:1000;color:#1d4ed8}.hub-command-row>div b{margin:2px 0;font-size:12px}.hub-command-row>div small{font-size:10px;color:#64748b}.hub-command-row.status-완료{background:#f0fdf4;border-color:#bbf7d0}.hub-command-row.status-보류{background:#fff7ed;border-color:#fed7aa}@media(max-width:1000px){.director-command-form{grid-template-columns:repeat(2,1fr)}.director-command-form .command-text{grid-column:1/-1}.command-actions{grid-template-columns:100px 1fr}.hub-command-row{grid-template-columns:1fr 100px}}@media(max-width:620px){.director-command-form,.command-actions,.hub-command-row{grid-template-columns:1fr}.command-main{align-items:flex-start;flex-direction:column}}

/* v9.7.6 Director instruction tracking and delay management */
.command-track-kpis{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.command-count.danger{background:#fff1f2}.command-count.danger b{color:#dc2626}.command-count.warn{background:#fffbeb}.command-count.warn b{color:#d97706}.command-count.hold{background:#fff7ed}.command-count.hold b{color:#c2410c}.command-timing{display:inline-flex!important;margin-left:5px;padding:2px 6px;border-radius:999px;font-size:9px!important;font-style:normal;font-weight:1000;background:#f1f5f9;color:#475569}.command-timing.critical{background:#fee2e2;color:#b91c1c}.command-timing.warn{background:#fef3c7;color:#92400e}.command-timing.info{background:#dbeafe;color:#1d4ed8}.command-timing.done{background:#dcfce7;color:#166534}.command-item.timing-critical,.hub-command-row.timing-critical{border-color:#fecaca;background:#fff7f7}.command-item.timing-warn,.hub-command-row.timing-warn{border-color:#fde68a;background:#fffdf4}@media(max-width:620px){.command-track-kpis{justify-content:flex-start}.command-count{min-width:74px}}


/* v9.7.7 Simple mode and senior-friendly usability */
.simple-mode-btn{min-height:38px;padding:8px 13px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1d4ed8;font-weight:900;cursor:pointer}.simple-mode-btn[aria-pressed="true"]{background:#1d4ed8;color:#fff}.simple-command-form{grid-template-columns:1.25fr .8fr 1.4fr .65fr auto}.simple-command-form .command-text{grid-column:auto}.command-submit{min-height:48px}.command-advanced{grid-column:1/-1;border-top:1px dashed #cbd5e1;padding-top:8px}.command-advanced summary{cursor:pointer;font-weight:900;color:#475569}.command-advanced-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
body.simple-mode{font-size:16px}body.simple-mode .primary-btn,body.simple-mode .secondary-btn,body.simple-mode button{min-height:44px}body.simple-mode input,body.simple-mode select,body.simple-mode textarea{min-height:44px;font-size:16px}body.simple-mode .help-text,body.simple-mode .eyebrow{font-size:13px}body.simple-mode .card h2,body.simple-mode .card h3{line-height:1.35}body.simple-mode .director-command-form label{font-size:14px}body.simple-mode .command-main strong{font-size:16px}body.simple-mode .command-main small{font-size:13px}body.simple-mode .command-actions input,body.simple-mode .command-actions select{font-size:15px}body.simple-mode .director-work-row small,body.simple-mode .role-action-item small{display:none}body.simple-mode .director-work-row{padding:13px 14px}body.simple-mode .role-action-item{padding:13px}body.simple-mode .role-action-item b{font-size:15px}body.simple-mode .role-action-item strong{font-size:14px}body.simple-mode .role-action-item p{font-size:13px}body.simple-mode .command-count span{font-size:12px}
@media(max-width:1100px){.simple-command-form{grid-template-columns:repeat(2,1fr)}.simple-command-form .command-text,.simple-command-form .command-advanced{grid-column:1/-1}.command-advanced-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.simple-command-form,.command-advanced-grid{grid-template-columns:1fr}.simple-command-form .command-text{grid-column:auto}.header-site{gap:5px}.simple-mode-btn{padding:7px 9px;font-size:12px}}

/* v9.7.8 Simplified field workflow */
.simple-today-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}.simple-focus-card{padding:16px;border:1px solid #dbe4ee;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}.simple-focus-card span,.simple-focus-card strong,.simple-focus-card p{display:block}.simple-focus-card span{font-size:13px;font-weight:900;color:#64748b}.simple-focus-card strong{margin:4px 0;font-size:30px;color:#0f172a}.simple-focus-card p{margin:0;color:#475569;font-size:14px;font-weight:750;line-height:1.45}.simple-focus-card.primary{border-color:#bfdbfe;background:#eff6ff}.simple-focus-card.danger{border-color:#fecaca;background:#fff1f2}.simple-focus-card.ok{border-color:#bbf7d0;background:#f0fdf4}
.today-process-form.simple-entry{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end}.today-more-fields{grid-column:1/-1;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:10px 12px}.today-more-fields summary,.simple-detail-section>summary{cursor:pointer;font-weight:1000;color:#334155;list-style:none}.today-more-fields summary::-webkit-details-marker,.simple-detail-section>summary::-webkit-details-marker{display:none}.today-more-fields summary:after,.simple-detail-section>summary:after{content:"＋";float:right;color:#2563eb}.today-more-fields[open] summary:after,.simple-detail-section[open]>summary:after{content:"－"}.today-more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.today-more-grid .process-detail-wide{grid-column:1/-1}.today-add-main{min-width:150px;min-height:52px}.simple-detail-section{margin:12px 0;border:1px solid #dbe4ee;border-radius:16px;background:#fff;overflow:hidden}.simple-detail-section>summary{padding:15px 17px;background:#f8fafc}.simple-detail-section>.today-input-grid,.simple-detail-section>.card,.simple-detail-section>.simple-status-grid,.simple-detail-section>.simple-record-summary{margin:0;border:0;border-radius:0;box-shadow:none}
.simple-readiness{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:16px;margin:12px 0;padding:16px;border:1px solid #bfdbfe;border-radius:18px;background:#eff6ff}.simple-readiness span,.simple-readiness strong{display:block}.simple-readiness span{font-size:13px;font-weight:900;color:#475569}.simple-readiness strong{font-size:38px;color:#1d4ed8}.simple-readiness p{margin:0;font-size:15px;font-weight:800;color:#334155;line-height:1.5}.simple-next-actions{padding:15px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.simple-action-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;width:100%;margin-top:8px;padding:13px;border:1px solid #fed7aa;border-radius:14px;background:#fffaf2;text-align:left;cursor:pointer}.simple-action-row b,.simple-action-row small{display:block}.simple-action-row b{font-size:16px;color:#0f172a}.simple-action-row small{margin-top:2px;font-size:13px;color:#64748b}.simple-action-row>strong{color:#1d4ed8}.simple-action-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f97316;color:#fff;font-size:20px;font-weight:1000}.simple-all-done{padding:17px;border-radius:14px;background:#f0fdf4;color:#166534;font-size:16px;font-weight:1000}.simple-hub-buttons{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:9px;margin:12px 0}.simple-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.simple-record-summary{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}.simple-record-summary span{padding:9px 11px;border-radius:10px;background:#f1f5f9;color:#475569;font-weight:850}
body.simple-mode .work-id-chip{font-size:13px}body.simple-mode .work-hub-item>span{font-size:13px}body.simple-mode .work-hub-item>b{font-size:17px}body.simple-mode .work-hub-item small{font-size:14px}body.simple-mode .compliance-center .audit-actions .mini-btn{min-height:40px;font-size:14px}body.simple-mode .today-process-list{margin-top:14px}
@media(max-width:900px){.simple-today-focus{grid-template-columns:1fr}.today-process-form.simple-entry{grid-template-columns:1fr 1fr}.today-add-main{grid-column:1/-1}.today-more-grid{grid-template-columns:repeat(2,1fr)}.simple-hub-buttons{grid-template-columns:repeat(2,1fr)}.simple-hub-buttons .primary-btn{grid-column:1/-1}}
@media(max-width:600px){.today-process-form.simple-entry,.today-more-grid,.simple-status-grid{grid-template-columns:1fr}.simple-readiness{grid-template-columns:1fr}.simple-readiness strong{font-size:34px}.simple-hub-buttons{grid-template-columns:1fr}.simple-action-row{grid-template-columns:34px 1fr}.simple-action-row>strong{display:none}}

/* v9.8.0 role responsibility */
.role-scope-filter{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.role-scope-list{display:grid;gap:18px}.role-scope-card{background:#fff;border:1px solid var(--line,#dbe2ea);border-radius:18px;padding:20px}.role-scope-card>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.role-scope-card h3{font-size:24px;margin:4px 0}.role-scope-card header span{font-weight:800;color:#52606d}.role-purpose{font-size:17px;line-height:1.65;background:#f7f9fb;border-radius:12px;padding:14px}.role-scope-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.role-scope-columns section{border:1px solid #e2e8f0;border-radius:14px;padding:14px}.role-scope-columns h4{font-size:18px;margin:0 0 10px}.role-scope-columns li,.role-scope-card details li{margin:8px 0;line-height:1.5}.role-scope-card details{margin-top:12px;padding:12px;border-radius:12px;background:#f8fafc}.role-rule .summary-card strong{font-size:18px}@media(max-width:900px){.role-scope-columns{grid-template-columns:1fr}.role-scope-card>header{flex-direction:column}.role-scope-card .secondary-btn{min-height:46px}}

.document-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.document-compare-grid article{border:1px solid #dbe2ea;border-radius:16px;padding:18px;background:#fff}.document-compare-grid article>span{font-weight:800;font-size:14px}.document-compare-grid h4{font-size:22px;margin:8px 0}.document-compare-grid strong{display:block;font-size:18px;margin-bottom:8px}.document-compare-grid p{line-height:1.6}.document-compare-grid small{display:block;margin-top:12px;line-height:1.5;color:#52606d}.role-boundary{margin-top:16px}.safety-document-guide{margin-bottom:0}@media(max-width:800px){.document-compare-grid{grid-template-columns:1fr}}

/* v9.8.3 quality simple workflow */
.quality-principle-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:14px 0;border-radius:16px;background:#eef6ff;border:1px solid #bfdbfe}.quality-principle-banner b{font-size:18px}.quality-principle-banner span{font-weight:800}.quality-principle-banner em{margin-left:auto;color:var(--muted);font-style:normal}.quality-quick-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.quality-quick-flow article{display:grid;gap:4px;padding:14px;border-radius:14px;background:white;border:1px solid var(--line)}.quality-quick-flow strong{font-size:22px}.quality-quick-flow span{font-size:13px;color:var(--muted)}.quality-simple-section{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:white}.quality-simple-section h4{margin:0 0 10px}.quality-detail{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fafc}.quality-detail summary{font-weight:900;cursor:pointer}@media(max-width:800px){.quality-quick-flow{grid-template-columns:1fr 1fr}.quality-principle-banner em{margin-left:0;width:100%}}

/* v9.8.4 Construction management simplification */
.construction-role-note{display:grid;gap:5px;padding:15px 17px;margin:14px 0;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff}.construction-role-note b{font-size:18px}.construction-role-note span{font-weight:900}.construction-role-note small{color:#475569}.construction-action-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:#f8fafc}.construction-action-strip>div:first-child{display:grid;gap:3px}.construction-action-strip span{font-size:18px;font-weight:1000}.construction-status-buttons{display:flex;gap:8px}.construction-quick-status{min-width:84px;min-height:46px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font-size:16px;font-weight:900}.construction-quick-status.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.construction-simple-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.construction-step-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.construction-step-card h4{margin:0 0 5px;font-size:17px}.construction-step-card p{margin:0;color:#64748b;line-height:1.45}.step-no{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:17px;font-weight:1000}.big-check{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;padding:9px 12px;border-radius:10px;background:#f1f5f9;color:#0f172a!important;font-size:15px!important}.big-check input{width:22px;height:22px}.construction-step-card select{min-width:130px;min-height:44px}.construction-items-panel{margin-top:12px;padding:14px;border:1px dashed #94a3b8;border-radius:14px;background:#f8fafc}.construction-details{margin-top:12px}.construction-details summary{font-size:16px;font-weight:900;padding:12px}.simple-construction-card .save-construction{min-width:160px;min-height:48px;font-size:17px}@media(max-width:900px){.construction-simple-grid{grid-template-columns:1fr}.construction-action-strip{align-items:stretch;flex-direction:column}.construction-status-buttons{display:grid;grid-template-columns:repeat(3,1fr)}.construction-quick-status{min-width:0}.construction-step-card{grid-template-columns:38px 1fr}.construction-step-card>*:last-child{grid-column:1/-1}.big-check{justify-content:center!important}}

/* v9.8.5 material and equipment role separation */
.resource-role-note{display:grid;gap:5px;padding:15px 17px;margin:14px 0;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff}.resource-role-note b{font-size:18px}.resource-role-note span{font-weight:900}.resource-role-note small{color:#475569}.resource-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.resource-kpi-grid article{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.resource-kpi-grid span{font-weight:900;color:#475569}.resource-kpi-grid strong{font-size:28px}.resource-kpi-grid small{color:#64748b}.resource-tabs{display:flex;gap:8px;margin:16px 0}.resource-tab{min-width:150px;min-height:50px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;font-size:17px;font-weight:1000}.resource-tab.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.resource-tab-panel{display:grid;gap:16px}.resource-work-section{padding:16px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}.resource-work-section>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.resource-work-section h3{margin:7px 0 3px}.resource-work-section p{margin:0;color:#64748b}.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resource-item-card{padding:15px;border:1px solid #dbe4ee;border-radius:16px;background:#fff}.resource-item-card>header{display:flex;justify-content:space-between;gap:10px}.resource-item-card>header span{font-size:12px;font-weight:1000}.resource-item-card h4{margin:3px 0;font-size:19px}.resource-item-card small{color:#64748b}.material-card{border-left:5px solid #16a34a}.equipment-card{border-left:5px solid #f97316}.resource-simple-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.resource-simple-fields label{display:grid;gap:4px;font-size:13px;font-weight:850}.resource-simple-fields input,.resource-simple-fields select{min-width:0;min-height:44px}.resource-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.resource-big-check{display:flex!important;align-items:center!important;gap:8px!important;padding:11px;border-radius:11px;background:#f1f5f9;font-weight:900!important}.resource-big-check input{width:22px;height:22px}.resource-item-card details{margin:10px 0}.resource-item-card details summary{font-weight:900;cursor:pointer}.resource-item-card textarea{width:100%;min-height:70px;margin-top:8px}.resource-item-card>.primary-btn{width:100%;min-height:48px;font-size:16px}.resource-boundary-note{padding:10px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:800;line-height:1.45}@media(max-width:950px){.resource-card-grid{grid-template-columns:1fr}.resource-kpi-grid{grid-template-columns:1fr 1fr}.resource-kpi-grid article:last-child{grid-column:1/-1}}@media(max-width:600px){.resource-kpi-grid,.resource-simple-fields,.resource-action-grid{grid-template-columns:1fr}.resource-tabs{display:grid;grid-template-columns:1fr 1fr}.resource-tab{min-width:0}.resource-work-section>header{flex-direction:column}}

/* v9.8.7 Work Start Condition Gate */
.start-gate-simple{border-radius:18px;padding:20px 22px;margin:16px 0;border:2px solid var(--line,#dbe3ee);background:#f8fafc}.start-gate-simple>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.start-gate-simple span{font-size:16px;font-weight:800}.start-gate-simple strong{font-size:26px}.start-gate-simple p{margin:8px 0 0;font-size:16px}.start-gate-simple.status-시작-가능{background:#ecfdf3;border-color:#65c98a;color:#116b3a}.start-gate-simple.status-확인-필요{background:#fff8e6;border-color:#efbd55;color:#805400}.start-gate-simple.status-시작-보류{background:#fff0f0;border-color:#e87575;color:#9b2525}
.start-condition-panel{margin:16px 0;padding:18px;border-radius:18px;border:2px solid #dbe3ee;background:#fff}.start-condition-panel>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.start-condition-panel>header h4{margin:4px 0;font-size:22px}.start-condition-panel.status-시작-가능{border-color:#65c98a}.start-condition-panel.status-확인-필요{border-color:#efbd55}.start-condition-panel.status-시작-보류{border-color:#e87575}.start-condition-list{display:grid;gap:8px}.start-condition-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #dfe6ef;border-radius:13px;background:#fff;text-align:left}.start-condition-row>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900}.start-condition-row div{display:grid;gap:3px}.start-condition-row small{font-size:13px;color:#64748b}.start-condition-row em{font-style:normal;font-weight:800}.start-condition-row.done>span{background:#dcfce7;color:#15803d}.start-condition-row.blocked{border-color:#f0b2b2;background:#fffafa}.start-condition-row.blocked>span{background:#fee2e2;color:#b91c1c}.start-condition-row.blocked em{color:#b91c1c}
@media(max-width:700px){.start-gate-simple strong{font-size:22px}.start-condition-panel>header{align-items:flex-start}.start-condition-row{grid-template-columns:32px 1fr}.start-condition-row em{grid-column:2}}

/* v9.8.8 Simple Mode Final · Photo First Action */
.simple-action-center{border:2px solid #bfdbfe;background:linear-gradient(180deg,#f8fbff,#fff)}
.simple-action-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.simple-action-heading h2{margin:3px 0 5px;font-size:25px}.simple-action-heading p{margin:0;color:#475569;font-weight:750}.simple-action-count{padding:9px 13px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:1000;white-space:nowrap}
.simple-action-main{display:grid;grid-template-columns:190px minmax(320px,1fr) 220px;gap:14px;align-items:stretch}.photo-capture-button{display:grid;place-items:center;align-content:center;gap:4px;min-height:210px;padding:18px;border:2px dashed #60a5fa;border-radius:20px;background:#eff6ff;color:#1d4ed8;text-align:center;cursor:pointer}.photo-capture-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.photo-capture-button .photo-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#2563eb;color:#fff;font-size:37px;font-weight:500}.photo-capture-button strong{font-size:21px}.photo-capture-button small{color:#64748b;font-weight:750}
.simple-action-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.simple-action-fields label{display:grid;gap:5px;font-size:14px;font-weight:900;color:#334155}.simple-action-fields select,.simple-action-fields input{width:100%}.simple-action-note{grid-column:1/-1}.simple-action-save{grid-column:1/-1;min-height:56px;font-size:18px}.simple-action-save:disabled{background:#94a3b8;cursor:not-allowed}
.simple-action-preview{display:grid;place-items:center;align-content:center;min-height:210px;overflow:hidden;border:1px solid #cbd5e1;border-radius:18px;background:#f8fafc;color:#64748b;font-weight:900}.simple-action-preview img{width:100%;height:175px;object-fit:cover}.simple-action-preview span{padding:8px}
.simple-action-history{margin-top:14px}.simple-action-list{display:grid;gap:9px;padding:12px}.simple-action-record{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.simple-action-record img,.simple-action-record .no-photo{width:82px;height:66px;border-radius:10px;object-fit:cover}.simple-action-record .no-photo{display:grid;place-items:center;background:#e2e8f0;color:#64748b}.simple-action-record span,.simple-action-record b,.simple-action-record small{display:block}.simple-action-record span{font-size:13px;color:#2563eb;font-weight:900}.simple-action-record b{margin:3px 0;font-size:16px}.simple-action-record small{color:#64748b}.simple-action-record.status-완료{background:#f0fdf4;border-color:#bbf7d0}.record-actions{display:flex;gap:7px}.record-actions button{min-width:68px;min-height:42px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:1000}.record-actions .complete{background:#166534;border-color:#166534;color:#fff}.record-actions strong{color:#166534;white-space:nowrap}
body.simple-mode .decision-action-grid,body.simple-mode .os-command-grid,body.simple-mode #dashboardPage>.card:last-child{display:none}body.simple-mode .decision-briefing{margin-top:14px}body.simple-mode .role-execution-board .role-action-item p{display:none}body.simple-mode .role-execution-card{padding:13px}body.simple-mode .summary-grid{gap:9px}
@media(max-width:980px){.simple-action-main{grid-template-columns:160px 1fr}.simple-action-preview{grid-column:1/-1;min-height:150px}.simple-action-preview img{height:220px}}
@media(max-width:650px){.simple-action-heading{display:grid}.simple-action-main,.simple-action-fields{grid-template-columns:1fr}.photo-capture-button{min-height:150px}.simple-action-note,.simple-action-save{grid-column:auto}.simple-action-record{grid-template-columns:68px 1fr}.simple-action-record img,.simple-action-record .no-photo{width:68px;height:62px}.record-actions{grid-column:1/-1}.record-actions button{flex:1}.simple-action-heading h2{font-size:22px}}

/* v9.9.0 원도급사·하도급사 협업 기반 */
.collab-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:620px;margin:0 auto 16px;padding:7px;border-radius:18px;background:#e2e8f0}.collab-mode-switch button{min-height:56px;border:0;border-radius:13px;background:transparent;font-size:18px;font-weight:1000;color:#475569}.collab-mode-switch button.active{background:#fff;color:#1d4ed8;box-shadow:0 4px 14px #0f172a18}.collab-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;margin-bottom:14px;border-radius:20px}.collab-hero.subcontractor{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.collab-hero.contractor{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.collab-hero h2{margin:4px 0 6px;font-size:28px}.collab-hero p{margin:0;color:#475569;font-weight:750}.collab-flow{display:flex;align-items:center;gap:8px;white-space:nowrap}.collab-flow b{padding:10px 12px;border-radius:12px;background:#fff;color:#1d4ed8}.collab-submit-card{display:grid;gap:14px;max-width:980px;margin-inline:auto}.collab-step{display:flex;align-items:center;gap:11px;padding-top:4px}.collab-step>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#2563eb;color:#fff;font-size:20px;font-weight:1000}.collab-step b,.collab-step small{display:block}.collab-step b{font-size:19px}.collab-step small{margin-top:3px;color:#64748b}.collab-full{display:grid;gap:6px;font-weight:900}.collab-full select,.collab-full textarea{width:100%;font-size:17px}.collab-user-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.collab-user-grid label{display:grid;gap:5px;font-weight:900}.collab-capture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.collab-capture{display:grid;place-items:center;align-content:center;gap:5px;min-height:150px;padding:14px;border:2px dashed #93c5fd;border-radius:17px;background:#f8fbff;text-align:center;cursor:pointer}.collab-capture input{position:absolute;width:1px;height:1px;opacity:0}.collab-capture strong{font-size:20px}.collab-capture small{color:#64748b}.collab-capture em{font-style:normal;font-weight:900;color:#2563eb}.collab-capture.voice{width:100%;font:inherit}.collab-preview{display:flex;gap:10px;overflow:auto}.collab-preview img{width:190px;height:145px;object-fit:cover;border-radius:14px;border:1px solid #cbd5e1}.collab-submit-btn{min-height:62px;font-size:20px}.error-text{color:#b91c1c!important;font-weight:900}.collab-kpi{display:flex;gap:10px}.collab-kpi article{display:grid;place-items:center;min-width:100px;padding:12px;border-radius:14px;background:#fff}.collab-kpi span{font-size:13px;color:#64748b;font-weight:900}.collab-kpi b{font-size:27px;color:#166534}.collab-review-list{display:grid;gap:13px}.collab-review-card{border-left:6px solid #f59e0b}.collab-review-card.status-확정{border-left-color:#16a34a}.collab-review-card header{display:flex;justify-content:space-between;gap:14px}.collab-review-card header span{font-weight:900;color:#2563eb}.collab-review-card header h3{margin:4px 0}.collab-review-card header p{margin:0;color:#64748b}.collab-review-card header>b{height:max-content;padding:8px 12px;border-radius:999px;background:#fff7ed;color:#c2410c}.collab-review-card.status-확정 header>b{background:#dcfce7;color:#166534}.collab-review-body{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:15px;margin-top:14px}.collab-media{display:flex;gap:9px;overflow:auto}.collab-media figure{margin:0;min-width:170px}.collab-media img{width:170px;height:130px;object-fit:cover;border-radius:12px}.collab-media figcaption{margin-top:4px;text-align:center;font-size:13px;font-weight:900;color:#64748b}.collab-description>p{padding:12px;border-radius:12px;background:#f8fafc;line-height:1.55}.generated-draft-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:9px}.generated-draft-list span{padding:9px;border-radius:10px;background:#f1f5f9}.generated-draft-list b,.generated-draft-list small{display:block}.generated-draft-list small{margin-top:3px;color:#64748b}.collab-review-action{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.collab-review-action label{display:grid;gap:4px;font-weight:900}.collab-review-action button{min-height:48px}.collab-confirmed{margin-top:14px;padding:13px;border-radius:12px;background:#dcfce7;color:#166534;font-weight:1000}
@media(max-width:780px){.collab-hero{display:grid}.collab-flow{overflow:auto}.collab-user-grid,.collab-capture-grid,.collab-review-body,.collab-review-action{grid-template-columns:1fr}.collab-capture{min-height:125px}.generated-draft-list{grid-template-columns:1fr}.collab-kpi{width:100%}.collab-kpi article{flex:1}.collab-mode-switch button{font-size:16px}}

/* v9.9.1 다중 사용자 역할·동기화 기반 */
.collab-login-card{max-width:820px;margin:10px auto;padding:26px;border-top:6px solid #2563eb}.collab-login-card h2{margin:8px 0;font-size:30px}.collab-login-card>p{color:#64748b;font-weight:750}.collab-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.collab-login-grid label{display:grid;gap:6px;font-weight:950}.collab-login-grid input,.collab-login-grid select{min-height:50px;font-size:17px}.collab-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.collab-login-actions button{min-height:56px;font-size:18px}.collab-session-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 16px;border-radius:16px;background:#fff;border:1px solid #cbd5e1;box-shadow:0 4px 14px #0f172a0d}.collab-session-bar>div{display:flex;align-items:center;gap:9px}.collab-session-bar b{padding:8px 11px;border-radius:999px;background:#dbeafe;color:#1d4ed8}.collab-session-bar button{min-height:42px}.sync-state{padding:7px 10px;border-radius:999px;font-size:13px;font-weight:1000}.sync-state.online{background:#dcfce7;color:#166534}.sync-state.offline{background:#fff7ed;color:#c2410c}.ghost-btn{border:1px solid #cbd5e1;background:#fff;border-radius:10px;font-weight:900}.collab-review-action{grid-template-columns:1fr auto auto}
@media(max-width:780px){.collab-login-grid,.collab-login-actions{grid-template-columns:1fr}.collab-session-bar{align-items:stretch;display:grid}.collab-session-bar>div{justify-content:space-between;flex-wrap:wrap}.collab-session-bar button{flex:1}.collab-review-action{grid-template-columns:1fr}.collab-login-card{padding:18px}.collab-login-card h2{font-size:25px}}

/* v9.9.2 collaboration user approval and sync status */
.collab-sync-time{display:block;color:var(--muted,#64748b);font-size:.75rem;margin-right:.5rem}.collab-user-admin{margin:1rem 0}.collab-user-admin .section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.collab-user-list{display:grid;gap:.65rem;margin-top:1rem}.collab-user-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line,#dbe3ea);border-radius:14px;background:#fff}.collab-user-row div{display:grid;gap:.15rem}.collab-user-row span,.collab-user-row small{color:var(--muted,#64748b)}@media(max-width:720px){.collab-user-row,.collab-user-admin .section-heading{align-items:stretch;flex-direction:column}.collab-user-row button{min-height:48px}.collab-session-bar>div:last-child{display:flex;flex-wrap:wrap;gap:.4rem}.collab-sync-time{width:100%}}

/* v9.9.3 site invite, audit and site/user id separation */
.collab-full-row{grid-column:1/-1}.collab-full-row small{font-weight:700;color:#64748b;margin-left:.35rem}.collab-invite-admin{margin:1rem 0;border-top:5px solid #2563eb}.collab-invite-form{display:grid;grid-template-columns:1fr 1.2fr .8fr .8fr auto;gap:.65rem;align-items:end;margin-top:1rem}.collab-invite-form label{display:grid;gap:.35rem;font-weight:900}.collab-invite-form input,.collab-invite-form select{min-height:46px}.collab-invite-form button{min-height:48px}.collab-invite-result{display:flex;align-items:center;gap:.7rem;margin-top:.8rem;padding:.8rem;border-radius:12px;background:#eff6ff}.collab-invite-result:empty{display:none}.collab-invite-result code,.collab-invite-row code{font-size:1.05rem;font-weight:1000;color:#1d4ed8;letter-spacing:.04em}.collab-invite-list{display:grid;gap:.55rem;margin-top:.8rem}.collab-invite-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid #dbe3ea;border-radius:13px;background:#fff}.collab-invite-row>div{display:grid;gap:.16rem}.collab-invite-row small{color:#64748b}.invite-ended{padding:.45rem .7rem;border-radius:999px;background:#e2e8f0;color:#64748b;font-weight:900}.collab-audit{margin-top:1rem;border-top:1px solid #e2e8f0;padding-top:.8rem}.collab-audit summary{cursor:pointer;font-weight:1000;color:#334155}.collab-audit-row{display:grid;grid-template-columns:140px 1fr auto;gap:.6rem;padding:.65rem 0;border-bottom:1px solid #eef2f7}.collab-audit-row span,.collab-audit-row small{color:#64748b}
@media(max-width:900px){.collab-invite-form{grid-template-columns:1fr 1fr}.collab-invite-form button{grid-column:1/-1}.collab-audit-row{grid-template-columns:1fr}.collab-invite-row{align-items:stretch;flex-direction:column}.collab-invite-row button{min-height:46px}}

/* v9.9.4 collaboration operations */
.collab-user-main{min-width:0}.collab-user-row.pending{border-left:6px solid #f59e0b}.collab-user-row.active{border-left:6px solid #16a34a}.collab-user-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.collab-user-stats em{font-style:normal;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:900}.collab-audit[open]{padding-top:8px}.collab-audit-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e2e8f0}.collab-audit-row small{color:#64748b}@media(max-width:720px){.collab-audit-row{grid-template-columns:1fr}.collab-user-stats{margin-bottom:8px}}

/* v9.9.5 subcontractor action-first submission */
.action-submit-hero h2{max-width:760px}.action-submit-card{display:grid;gap:16px;padding:18px}.action-submit-block{display:grid;gap:12px;padding:18px;border:1px solid #dbe3ea;border-radius:18px;background:#fff}.collab-work-select select{width:100%;min-height:64px;padding:0 16px;border:2px solid #93c5fd;border-radius:14px;background:#f8fbff;font-size:19px;font-weight:900}.collab-selected-work{display:grid;gap:3px;padding:12px 14px;border-radius:13px;background:#eff6ff;color:#475569}.collab-selected-work b{font-size:18px;color:#1e3a8a}.collab-selected-work span{font-weight:800}.collab-selected-work small{color:#64748b}.action-capture-grid{grid-template-columns:repeat(3,1fr)}.action-capture{min-height:170px;border-width:2px;background:#fff}.action-capture.primary-capture{border-style:solid;border-color:#2563eb;background:#eff6ff}.action-capture strong{font-size:22px}.collab-extra-note{border:1px solid #dbe3ea;border-radius:13px;background:#f8fafc}.collab-extra-note summary{padding:13px 15px;cursor:pointer;font-weight:950}.collab-extra-note textarea{width:calc(100% - 24px);margin:0 12px 12px;resize:vertical}.collab-preview figure{margin:0}.collab-preview figcaption{text-align:center;font-weight:900;color:#64748b}.submit-final-block{background:#f8fbff}.collab-submit-summary{display:grid;gap:4px;padding:14px;border-radius:13px;background:#fff;border:1px solid #bfdbfe}.collab-submit-summary b{font-size:18px}.collab-submit-summary span{color:#64748b}.collab-submit-btn:disabled{cursor:not-allowed;opacity:.45}.success-text{padding:12px;border-radius:12px;background:#dcfce7;color:#166534!important;font-weight:900}.collab-recent-submit{margin-top:14px}.collab-recent-submit article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e2e8f0}.collab-recent-submit article div{display:grid;gap:3px}.collab-recent-submit article span{color:#64748b}.collab-recent-submit article em{font-style:normal;padding:7px 10px;border-radius:999px;background:#ecfdf5;color:#166534;font-weight:900}
@media(max-width:780px){.action-submit-card{padding:10px}.action-submit-block{padding:14px}.action-capture-grid{grid-template-columns:1fr}.action-capture{min-height:132px}.collab-work-select select{min-height:60px;font-size:17px}.collab-recent-submit article{align-items:flex-start;flex-direction:column}.collab-submit-btn{position:sticky;bottom:10px;z-index:3;box-shadow:0 8px 24px #0f172a2b}}

/* v10.0.0 Workflow Core */
.workflow-core-card{margin:14px 0;padding:16px;border:1px solid var(--line,#d9e0e8);border-radius:16px;background:linear-gradient(180deg,#fff,#f7f9fc)}
.workflow-core-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.workflow-core-card span{font-size:.95rem}.workflow-core-card strong{font-size:1.05rem}
.workflow-phase-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.workflow-phase-strip span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line,#d9e0e8)}.workflow-phase-strip span.done{background:#eef9f1}.workflow-phase-strip b{font-size:.9rem}.workflow-phase-strip em{font-style:normal;font-weight:800}
.workflow-core-detail>.card-title-row{margin-bottom:12px}.workflow-context-line{display:flex;align-items:center;gap:8px;overflow:auto;padding:10px 0 14px}.workflow-context-line span{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#eef3f9;font-weight:800}.workflow-context-line i{font-style:normal;color:#7a8795}
.workflow-phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.workflow-phase-grid>section{padding:12px;border:1px solid var(--line,#d9e0e8);border-radius:14px;background:#fafbfd}.workflow-phase-grid>section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.workflow-phase-grid em{font-style:normal}
.workflow-action{width:100%;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;padding:10px 8px;border:0;border-top:1px solid #e8edf2;background:transparent}.workflow-action>span{font-weight:900}.workflow-action div{display:flex;flex-direction:column}.workflow-action small{margin-top:3px;color:#65717f}.workflow-action.done{opacity:.72}.workflow-action.done>span{color:#198754}
.workflow-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px}.workflow-context-grid span{display:flex;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;background:#f5f7fa}
@media(max-width:720px){.workflow-core-card>div:first-child{align-items:flex-start;flex-direction:column}.workflow-phase-strip{grid-template-columns:1fr 1fr}.workflow-phase-grid{grid-template-columns:1fr}.workflow-context-line{font-size:.82rem}}
/* v10.0.1 Workflow Rule sequencing */
.workflow-current-stage{margin:0 0 10px;color:#536172}.workflow-next-actions{margin-top:12px;padding-top:12px;border-top:1px solid #e4e9ef}.workflow-next-actions>b{display:block;margin-bottom:8px}.workflow-next-actions button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:11px 12px;border:1px solid #cfd8e3;border-radius:11px;background:#fff;text-align:left}.workflow-next-actions button span{font-weight:900}.workflow-next-actions button small{white-space:nowrap;color:#5f6d7b}.workflow-action.blocked{opacity:.58}.workflow-action.blocked>span{color:#7b8794}.workflow-action.blocked em{color:#7b8794}
/* v10.0.2 process-specific workflow gates */
.workflow-start-decision{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin:0 0 12px;padding:12px 14px;border-radius:13px;border:1px solid #d7dee8}.workflow-start-decision span{font-weight:900}.workflow-start-decision strong{grid-row:1/3;grid-column:2;font-size:1rem}.workflow-start-decision small{color:#64748b}.workflow-start-decision.ready{background:#ecfdf3;border-color:#86efac}.workflow-start-decision.ready strong{color:#166534}.workflow-start-decision.hold{background:#fff7ed;border-color:#fdba74}.workflow-start-decision.hold strong{color:#9a3412}@media(max-width:720px){.workflow-start-decision{grid-template-columns:1fr}.workflow-start-decision strong{grid-row:auto;grid-column:auto}}

/* v10.1.0 Context Intelligence Engine */
.context-intelligence{margin:0 0 12px;padding:13px 14px;border:1px solid #d7dee8;border-radius:14px;background:#f8fafc}.context-intelligence.ready{background:#ecfdf3;border-color:#86efac}.context-intelligence.watch{background:#fffbeb;border-color:#fcd34d}.context-intelligence.hold{background:#fef2f2;border-color:#fca5a5}.context-intelligence header{display:flex;justify-content:space-between;gap:12px;align-items:center}.context-intelligence header span{font-weight:950}.context-intelligence header strong{font-size:1rem}.context-intelligence p{margin:7px 0 10px;color:#475569}.context-intelligence>div{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:6px}.context-intelligence>div span{display:flex;justify-content:space-between;gap:6px;padding:7px 8px;border-radius:9px;background:#fff;border:1px solid #e2e8f0;font-size:.78rem}.context-intelligence em{font-style:normal;font-weight:950}.context-intelligence>small{display:block;margin-top:8px;color:#94a3b8}@media(max-width:720px){.context-intelligence>div{grid-template-columns:repeat(2,1fr)}.context-intelligence header{align-items:flex-start;flex-direction:column}}

/* v10.1.2 Context Timeline */
.context-timeline-card{border:1px solid #dbe4ef;border-radius:16px;background:#fff;padding:16px;margin:14px 0}.context-timeline-card.has-overdue{border-color:#f5b5b5;background:#fffafa}.context-timeline-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.context-timeline-card h4{margin:3px 0 0;font-size:18px}.context-timeline-card>header strong{font-size:14px}.context-timeline-card>p{margin:8px 0 12px;color:#536274}.context-timeline-list{display:grid;gap:8px}.timeline-item{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e3e9f1;border-radius:12px;background:#fff;padding:11px 12px;text-align:left}.timeline-item:hover{border-color:#9cb8dc}.timeline-day{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:10px;background:#eef4fb;font-weight:800;color:#315b88}.timeline-item div{display:grid;gap:3px;min-width:0}.timeline-item b{font-size:15px}.timeline-item small{color:#6d7a89;white-space:normal}.timeline-item em{font-style:normal;font-weight:800;font-size:13px}.timeline-item.status-지연{border-color:#efb0b0;background:#fff6f6}.timeline-item.status-지연 .timeline-day,.timeline-item.status-지연 em{color:#b42318;background:#fee4e2}.timeline-item.status-오늘{border-color:#f2c66d;background:#fffaf0}.timeline-item.status-오늘 .timeline-day,.timeline-item.status-오늘 em{color:#9a6700;background:#fff0c2}.timeline-item.status-임박 .timeline-day,.timeline-item.status-임박 em{color:#175cd3;background:#e8f1ff}.timeline-item.status-완료{opacity:.72}.timeline-item.status-완료 .timeline-day,.timeline-item.status-완료 em{color:#067647;background:#dcfae6}.timeline-empty{padding:14px;border-radius:12px;background:#f6f8fb;color:#667085;text-align:center}@media(max-width:720px){.timeline-item{grid-template-columns:50px minmax(0,1fr)}.timeline-item em{grid-column:2}.context-timeline-card>header{display:grid}}

/* v10.1.3 Today Priority Promotion */
.today-priority-board{border-left:6px solid #2563eb}.today-priority-board.has-overdue{border-left-color:#dc2626}.today-priority-list,.director-priority-list{display:grid;gap:8px}.today-priority-item,.director-priority-list button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid #dbe4ef;border-radius:12px;background:#fff;text-align:left}.priority-rank,.director-priority-list button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf2ff;color:#1d4ed8;font-weight:950}.today-priority-item div,.director-priority-list button div{display:grid;gap:3px}.today-priority-item small,.director-priority-list button small{color:#64748b}.today-priority-item em,.director-priority-list button em{font-style:normal;font-weight:900}.today-priority-item.status-지연,.director-priority-list button:has(em:first-letter){border-color:#efb0b0}.today-priority-item.status-지연 em{color:#b42318}.today-priority-item.status-오늘 em{color:#9a6700}.today-priority-item.status-임박 em{color:#175cd3}.director-timeline-priority{border-top:5px solid #2563eb}@media(max-width:720px){.today-priority-item,.director-priority-list button{grid-template-columns:38px minmax(0,1fr)}.today-priority-item em,.director-priority-list button em{grid-column:2}}

/* v10.1.4 Construction Memory */
.construction-memory-card{margin:14px 0;padding:16px;border:1px solid #dbe4ef;border-radius:16px;background:#fff}.construction-memory-card.warning{border-color:#f2b8a8;background:#fff8f5}.construction-memory-card.watch{border-color:#f5d27a;background:#fffdf5}.construction-memory-card.clear{background:#f8fafc}.construction-memory-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.construction-memory-card h4{margin:3px 0 0;font-size:18px}.construction-memory-card>header strong{padding:7px 10px;border-radius:999px;background:#eef2f7;font-size:13px}.construction-memory-card.warning>header strong{background:#fee4e2;color:#b42318}.construction-memory-card.watch>header strong{background:#fff0c2;color:#9a6700}.construction-memory-card>p{margin:9px 0 12px;color:#475569;font-weight:750}.memory-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.memory-summary span{display:flex;justify-content:space-between;gap:8px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.memory-issue-list{display:grid;gap:8px;margin-top:10px}.memory-issue-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:11px 12px;border-radius:11px;background:#fff;border:1px solid #eadfd9}.memory-issue-list article small{grid-column:1/-1;color:#64748b}.memory-empty{margin-top:10px;padding:12px;border-radius:11px;background:#f1f5f9;color:#64748b}.construction-memory-card details{margin-top:10px}.construction-memory-card summary{cursor:pointer;font-weight:900}.memory-work-row{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid #e2e8f0}.memory-work-row small{color:#64748b}.construction-memory-card>small{display:block;margin-top:9px;color:#94a3b8}@media(max-width:720px){.memory-summary{grid-template-columns:1fr}.construction-memory-card>header{display:grid}}
/* v10.2.1 Operation Wizard */
.wizard-layout{display:grid;grid-template-columns:minmax(300px,390px) 1fr;gap:18px;align-items:start}.wizard-form{display:grid;gap:14px;position:sticky;top:92px}.wizard-form label{display:grid;gap:7px;font-weight:800}.wizard-form input,.wizard-form select{min-height:48px;font-size:16px}.wizard-create{min-height:58px;font-size:18px}.wizard-preview{display:grid;gap:16px}.wizard-summary{display:flex;flex-wrap:wrap;gap:10px;background:linear-gradient(135deg,#102b4e,#1d4f83);color:#fff;padding:20px;border-radius:16px}.wizard-summary strong{font-size:22px;flex-basis:100%}.wizard-summary span{background:#ffffff20;padding:7px 10px;border-radius:999px}.wizard-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.wizard-columns article,.wizard-ai{background:#fff;border:1px solid #dbe4ee;border-radius:15px;padding:16px}.wizard-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.wizard-row:last-child{border-bottom:0}.wizard-chip{display:inline-flex;margin:4px;padding:8px 11px;border-radius:999px;background:#eef5ff;font-weight:700}.wizard-ai{border-left:5px solid #2d6cdf}.wizard-ai p{margin:8px 0}.wizard-success{margin-top:18px;border:2px solid #42a56a;background:#f1fff6}.form-help{font-size:13px;color:#657181}@media(max-width:900px){.wizard-layout{grid-template-columns:1fr}.wizard-form{position:static}.wizard-columns{grid-template-columns:1fr}}

/* v10.2.2 Wizard Review */
.operation-page-head{margin-bottom:12px}.operation-subnav{display:flex;gap:8px;margin:0 0 18px;padding:6px;background:#eef3f8;border-radius:14px;width:max-content}.operation-subnav button{border:0;background:transparent;padding:12px 18px;border-radius:10px;font-weight:900;font-size:15px;cursor:pointer}.operation-subnav button.active{background:#fff;box-shadow:0 3px 12px #17365d1a;color:#174a7e}.operation-subnav button span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;margin-left:5px;border-radius:999px;background:#e34848;color:#fff;font-size:12px}.operation-review-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.review-list{position:sticky;top:92px;padding:12px}.review-list-head{display:flex;justify-content:space-between;align-items:center;padding:6px 6px 12px}.review-list-head h3{margin:0}.review-list-head span{font-size:12px;color:#b33;font-weight:800}.review-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid transparent;background:transparent;padding:13px 10px;border-radius:12px;cursor:pointer}.review-list-item:hover,.review-list-item.active{background:#edf5ff;border-color:#cfe0f3}.review-list-item span:first-child{display:grid;gap:4px;min-width:0}.review-list-item b,.review-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-list-item small{color:#6a7480}.review-badge{display:inline-flex;white-space:nowrap;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900}.review-pending{background:#fff1d7;color:#8b5a00}.review-in_review{background:#e8f2ff;color:#17589d}.review-approved{background:#e7f8ed;color:#15713a}.review-changes_required{background:#ffe8e8;color:#a52d2d}.review-detail{display:grid;gap:14px}.review-hero{display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,#102b4e,#1d4f83);color:#fff}.review-hero h2{margin:5px 0}.review-hero p{margin:0;color:#dbeaff}.review-checks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.review-check{display:grid;grid-template-columns:28px 1fr;gap:2px 8px;align-items:center;background:#fff;border:1px solid #dce5ee;border-radius:12px;padding:11px}.review-check>span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-weight:900}.review-check small{color:#66717d}.review-check.ok>span{background:#dff5e6;color:#16723c}.review-check.need>span{background:#ffe7e1;color:#aa3525}.review-section{display:grid;gap:13px}.section-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.section-title h3,.review-section>h3{margin:0}.section-title p{margin:3px 0 0;color:#66717d}.review-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-form-grid label,.review-actions label{display:grid;gap:6px;font-weight:800}.review-work-list{display:grid;gap:8px}.review-work{display:grid;grid-template-columns:minmax(190px,1fr) 150px 110px 74px;gap:8px;align-items:center;padding:8px;background:#f7f9fb;border-radius:10px}.review-work input,.review-work select{min-height:42px}.review-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-toggle{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid #e3e9ef;border-radius:10px;cursor:pointer}.review-toggle input{width:22px;height:22px}.review-toggle span{display:grid;gap:3px}.review-toggle small{color:#66717d}.review-resources{display:flex;flex-wrap:wrap;gap:8px}.review-resources span{padding:8px 11px;background:#eef5ff;border-radius:999px;font-weight:800}.review-actions{display:grid;grid-template-columns:1fr 1.5fr auto auto;align-items:end;gap:10px;border:2px solid #d8e6f5}.review-approved{display:flex;gap:10px;align-items:center}.review-history>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf1f5}.wizard-success-actions{display:flex;gap:10px;flex-wrap:wrap}.review-empty{text-align:center;padding:35px}@media(max-width:1100px){.review-checks{grid-template-columns:repeat(2,1fr)}.operation-review-layout{grid-template-columns:1fr}.review-list{position:static}.review-form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.review-checks,.review-two-columns,.review-form-grid{grid-template-columns:1fr}.review-work{grid-template-columns:1fr 1fr}.review-actions{grid-template-columns:1fr}.operation-subnav{width:100%}.operation-subnav button{flex:1}}

/* v10.2.3 Operation Change Engine */
.change-list{padding:12px;position:sticky;top:92px}.change-detail{display:grid;gap:14px}.change-hero{background:linear-gradient(135deg,#3b1d61,#7442a8);color:#fff}.change-hero h2{margin:5px 0}.change-hero p{margin:0;color:#eadffd}.change-actions{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:end}.change-actions label{display:grid;gap:6px;font-weight:800}.change-assessment{display:grid;gap:12px;border-left:6px solid #7442a8}.change-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.change-impact-grid article{display:grid;gap:5px;padding:13px;border-radius:12px;background:#f7f5fb;border:1px solid #e3d9ef}.change-impact-grid span{font-size:12px;font-weight:1000;color:#7442a8}.impact-critical{background:#fff0f0!important;border-color:#ef9a9a!important}.impact-high{background:#fff7e8!important;border-color:#efc680!important}@media(max-width:700px){.change-actions,.change-impact-grid{grid-template-columns:1fr}.change-list{position:static}}

/* v10.3.0 Operation Health & Digital Supervisor */
.health-list{padding:12px;position:sticky;top:92px}.health-list-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.health-list-item:hover,.health-list-item.active{background:#edf5ff;border-color:#cfe0f3}.health-list-item>span{display:grid;gap:4px;min-width:0}.health-list-item small{color:#64748b}.health-score{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;font-size:18px}.health-score.ready{background:#dff6e7;color:#126b38}.health-score.blocked{background:#ffe5e5;color:#a52828}.health-score.caution{background:#fff0c9;color:#8a5b00}.health-detail{display:grid;gap:14px}.health-hero{display:flex;justify-content:space-between;align-items:center;color:#fff;background:linear-gradient(135deg,#3a1515,#8a2929)}.health-hero.ready{background:linear-gradient(135deg,#123d2a,#247a4e)}.health-hero h2{margin:5px 0}.health-hero p{margin:0;max-width:720px;color:#f0eeee}.health-main-score{display:grid;place-items:center;min-width:150px;padding:12px}.health-main-score b{font-size:54px;line-height:1}.health-main-score span{font-weight:900}.health-dimensions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.health-dimensions article{display:grid;gap:10px;padding:14px}.health-dimensions article>div{display:flex;justify-content:space-between}.health-dimensions progress{width:100%;height:11px}.blocker-card{border-left:6px solid #bd2e2e}.blocker-card article{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f3}.blocker-card article>span{font-weight:1000;color:#a52828}.blocker-card article p,.supervisor-actions article p{margin:4px 0 0;color:#64748b}.health-clear{padding:16px;border-radius:12px;background:#e8f8ee;color:#176f3c;font-weight:900}.supervisor-actions article{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f3}.supervisor-actions article>strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#163f6b;color:#fff}.supervisor-actions article>span{padding:6px 9px;border-radius:999px;background:#edf3fa;font-weight:800}@media(max-width:1000px){.health-dimensions{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.health-list{position:static}.health-hero{display:grid}.health-main-score{justify-self:center}.health-dimensions{grid-template-columns:1fr}.blocker-card article,.supervisor-actions article{grid-template-columns:1fr}.operation-subnav{overflow-x:auto}.operation-subnav button{white-space:nowrap}}
.action-integration article{grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center}.action-integration article.done{opacity:.62;background:#f4f7f5}.action-integration article input{display:block;width:100%;margin-top:8px;padding:9px 11px;border:1px solid #ccd5df;border-radius:8px}.action-integration .small-btn{padding:7px 12px;border:0;border-radius:8px;background:#173d66;color:#fff;font-weight:700;cursor:pointer}.action-integration small{display:block;margin-top:6px;color:#496274}

/* v10.4.0 Observation Engine */
.observation-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.observation-form-card{position:sticky;top:84px}.observation-form-card form{display:grid;gap:12px}.observation-form-card label{display:grid;gap:6px;font-weight:700}.observation-form-card input,.observation-form-card select,.observation-form-card textarea,.observation-list-head select{min-height:44px;border:1px solid var(--line,#d8dee8);border-radius:10px;padding:9px 11px;background:#fff;font:inherit}.observation-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.observation-kpis article{background:#fff;border:1px solid var(--line,#d8dee8);border-radius:12px;padding:14px;display:grid;gap:3px}.observation-kpis b{font-size:24px}.observation-kpis span{font-size:13px;color:#64748b}.observation-list-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.observation-item{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:14px 0;border-top:1px solid #e5e7eb}.observation-time{font-size:13px;color:#64748b;font-variant-numeric:tabular-nums}.observation-body h4{margin:6px 0}.observation-body p{margin:0 0 6px;word-break:break-word}.observation-body small{color:#64748b}.observation-tags{display:flex;gap:6px;flex-wrap:wrap}.observation-tags span{font-size:11px;padding:3px 7px;border-radius:999px;background:#eef2f7;color:#334155}.empty-state{padding:32px;text-align:center;color:#64748b}@media(max-width:900px){.observation-layout{grid-template-columns:1fr}.observation-form-card{position:static}.observation-kpis{grid-template-columns:repeat(2,1fr)}.observation-item{grid-template-columns:1fr;gap:4px}.observation-list-head{align-items:stretch;flex-direction:column}}

/* v10.4.1 Evidence Engine */
.evidence-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:16px;align-items:start}.evidence-form-card{position:sticky;top:84px}.evidence-form-card form{display:grid;gap:12px}.evidence-form-card label{display:grid;gap:6px;font-weight:750}.evidence-form-card input,.evidence-form-card select,.evidence-form-card textarea,.evidence-head select{min-height:44px;border:1px solid var(--line,#d8dee8);border-radius:10px;padding:9px 11px;background:#fff;font:inherit}.evidence-form-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signature-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.signature-check input{min-height:auto;width:20px;height:20px}.evidence-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.evidence-kpis article{background:#fff;border:1px solid #d8dee8;border-radius:12px;padding:14px;display:grid;gap:3px}.evidence-kpis b{font-size:24px}.evidence-kpis span{font-size:13px;color:#64748b}.evidence-head{display:flex;justify-content:space-between;gap:14px;align-items:end}.evidence-requirement{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-top:1px solid #e5e7eb}.evidence-requirement>div{display:grid;gap:4px}.evidence-requirement small{color:#64748b}.evidence-requirement button,.evidence-actions button{border:0;border-radius:8px;padding:8px 11px;background:#173d66;color:#fff;font-weight:800;cursor:pointer}.evidence-requirement.verified{border-left:4px solid #1b8a4b;background:#f1fbf5}.evidence-item{padding:15px 0;border-top:1px solid #e5e7eb}.evidence-item-head{display:flex;justify-content:space-between;gap:12px}.evidence-item h4{margin:8px 0}.evidence-item p{margin:0 0 6px}.evidence-item small{color:#64748b}.evidence-tags{display:flex;gap:6px;flex-wrap:wrap}.evidence-tags span{font-size:11px;padding:4px 7px;border-radius:999px;background:#eef2f7}.evidence-tags .status-verified{background:#dff6e8;color:#176a39}.evidence-tags .status-rejected{background:#ffe4e4;color:#a22929}.evidence-actions{display:flex;gap:8px;margin-top:10px}.evidence-actions .danger{background:#a52d2d}@media(max-width:950px){.evidence-layout{grid-template-columns:1fr}.evidence-form-card{position:static}}@media(max-width:650px){.evidence-kpis,.evidence-form-split{grid-template-columns:1fr 1fr}.evidence-head,.evidence-item-head{display:grid}.evidence-requirement{align-items:flex-start}.evidence-kpis{grid-template-columns:1fr 1fr}}

/* v10.4.2 Decision Engine */
.decision-layout{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:18px;align-items:start}.decision-form label,.decision-filter label{display:grid;gap:7px;margin:12px 0;font-weight:700}.decision-form input,.decision-form select,.decision-form textarea,.decision-filter select{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.decision-form textarea{min-height:84px;resize:vertical}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row{grid-template-columns:auto 1fr!important;align-items:start;font-weight:600!important}.decision-summary{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.decision-summary>*{background:#eef2ff;padding:7px 10px;border-radius:999px}.decision-card{margin-bottom:12px}.decision-head{display:flex;justify-content:space-between;gap:10px}.decision-head strong{font-size:1.15rem}.success-text{color:#166534;font-weight:800}.error-text{color:#b91c1c;font-weight:800}.muted{color:#64748b}@media(max-width:900px){.decision-layout{grid-template-columns:1fr}.decision-grid{grid-template-columns:1fr}}

/* v10.4.3 Instruction Engine */
.instruction-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:start}.instruction-form label{display:grid;gap:6px;margin-bottom:12px}.instruction-card{margin-bottom:12px}.instruction-card.done{opacity:.65}.instruction-head,.instruction-meta,.instruction-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.instruction-head{justify-content:space-between}.instruction-meta span{font-size:.82rem;padding:4px 8px;border-radius:999px;background:var(--surface-soft,#eef3f7)}.instruction-actions{margin-top:12px}.instruction-actions button{padding:7px 10px;border-radius:8px;border:1px solid #cfd7df;background:#fff;cursor:pointer}@media(max-width:900px){.instruction-layout{grid-template-columns:1fr}}


/* v10.5.0 Legal Engine */
.legal-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.legal-control{position:sticky;top:84px}.legal-control label{display:grid;gap:7px;margin:16px 0;font-weight:800}.legal-control select{min-height:44px;padding:9px 11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.legal-warning{margin-top:14px;padding:12px;border-radius:10px;background:#fff7d6;color:#795900;font-size:.9rem}.legal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.legal-kpis article{padding:14px;border:1px solid #d8dee8;border-radius:12px;background:#fff;display:grid;gap:4px}.legal-kpis b{font-size:25px}.legal-kpis span{color:#64748b}.legal-head{display:flex;justify-content:space-between}.legal-head h2{margin-bottom:4px}.legal-head p{margin-top:0;color:#64748b}.legal-item{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px 0;border-top:1px solid #e5e7eb}.legal-item.confirmed{border-left:4px solid #1b8a4b;padding-left:12px;background:#f4fbf6}.legal-title{display:flex;align-items:center;gap:9px}.legal-item p{margin:7px 0}.legal-item small{color:#64748b}.legal-item button{align-self:start;padding:8px 11px;border:0;border-radius:8px;background:#173d66;color:#fff;font-weight:800}.legal-item button:disabled{background:#9ca3af}.legal-badge{padding:4px 7px;border-radius:999px;font-size:.72rem;font-weight:900;background:#eef2f7}.legal-badge.legal_required{background:#fee2e2;color:#991b1b}.legal-badge.site_required{background:#dbeafe;color:#1d4ed8}.legal-badge.conditional{background:#fef3c7;color:#92400e}.legal-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.legal-meta span{padding:4px 7px;border-radius:999px;background:#eef2f7;font-size:.8rem}@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-control{position:static}.legal-kpis{grid-template-columns:repeat(2,1fr)}}

/* v10.5.1 Core Loop Integration */
.core-loop-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:18px;align-items:start}.core-loop-control{position:sticky;top:88px}.core-loop-control label{display:grid;gap:8px;margin:18px 0}.core-loop-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.core-loop-score{text-align:center;min-width:140px}.core-loop-score b{display:block;font-size:2.4rem}.core-loop-stage-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:14px 0}.core-loop-stage{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:14px;display:grid;gap:5px}.core-loop-stage small,.core-loop-stage span{color:#697586}.core-loop-stage b{font-size:1.5rem}.core-loop-stage.complete,.core-loop-stage.ready{border-color:#8cc9a3;background:#f0fbf4}.core-loop-stage.in_progress{border-color:#f1c56d;background:#fff9ea}.core-loop-stage.waiting,.core-loop-stage.empty{background:#f7f8fa}.core-loop-blockers{border-left:5px solid #d64f4f}.core-loop-blockers p{margin:.5rem 0}.core-loop-ready{border-left:5px solid #3d9b64}.core-loop-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.core-loop-detail-grid article b{display:block;font-size:1.8rem;margin:.4rem 0}.core-loop-event{display:grid;grid-template-columns:140px 105px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f3}.core-loop-event time,.core-loop-event small{color:#697586}@media(max-width:1100px){.core-loop-stage-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.core-loop-layout{grid-template-columns:1fr}.core-loop-control{position:static}.core-loop-stage-grid,.core-loop-detail-grid{grid-template-columns:1fr 1fr}.core-loop-event{grid-template-columns:1fr}.core-loop-hero{align-items:flex-start;flex-direction:column}}
/* v10.6.0 Document Generation & Approval */
.document-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.document-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.document-layout{display:grid;grid-template-columns:minmax(230px,320px) 1fr;gap:16px}.document-list-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;margin:6px 0;border:1px solid var(--line,#d8dee8);border-radius:12px;background:var(--panel,#fff);text-align:left}.document-list-item span,.status-chip{font-size:12px;padding:3px 8px;border-radius:999px;background:#eef3f8}.document-title-row{display:flex;justify-content:space-between;gap:14px}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-grid label{display:flex;flex-direction:column;gap:6px}.document-grid .wide{grid-column:1/-1}.document-grid textarea{resize:vertical}.document-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.document-evidence,.document-history{border-top:1px solid var(--line,#ddd);padding-top:12px;margin-top:12px}.ready-text{font-weight:800;color:#198754}.blocked-text{font-weight:800;color:#b42318}@media(max-width:900px){.document-layout,.document-grid{grid-template-columns:1fr}.document-head{align-items:stretch;flex-direction:column}}

/* v10.6.1 Operation UI Simplification */
.operation-primary-nav{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:10px}.operation-primary-nav button{min-height:52px;font-size:15px;font-weight:850}.operation-more-menu{margin:0 0 16px;border:1px solid #d8e0e8;border-radius:12px;background:#f8fafc}.operation-more-menu summary{cursor:pointer;padding:12px 15px;font-weight:800;color:#475569}.operation-secondary-nav{padding:0 10px 10px;display:flex;flex-wrap:wrap;gap:7px}.operation-secondary-nav button{font-size:13px;padding:8px 11px}.operation-board-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}.operation-board-head h2{margin:0 0 5px}.operation-board-head p{margin:0;color:#64748b}.operation-board-summary{display:grid;grid-template-columns:auto auto auto auto auto auto;gap:5px 10px;align-items:center;padding:12px 15px;border-radius:14px;background:#eef4f8}.operation-board-summary b{font-size:22px;text-align:right}.operation-board-summary span{font-size:12px;color:#64748b}.operation-work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.operation-work-card{border:2px solid #dfe6ed;border-radius:16px;background:#fff;padding:16px;cursor:pointer;box-shadow:0 5px 18px rgba(20,42,67,.05)}.operation-work-card.selected{border-color:#245f96;box-shadow:0 7px 22px rgba(36,95,150,.14)}.operation-work-card.urgent{border-left:7px solid #c83f3f}.operation-work-card.attention{border-left:7px solid #d99722}.operation-work-card.ready{border-left:7px solid #319064}.operation-work-card-head{display:flex;justify-content:space-between;gap:14px}.operation-work-card-head h3{margin:7px 0 4px;font-size:20px}.operation-work-card-head p{margin:0;color:#64748b}.operation-state{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}.operation-state.urgent{background:#fee2e2;color:#991b1b}.operation-state.attention{background:#fef3c7;color:#92400e}.operation-state.ready{background:#dcfce7;color:#166534}.operation-percent{font-size:29px;color:#24476a}.operation-mini-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:14px 0}.operation-mini-progress span{padding:6px 3px;border-radius:7px;background:#eef1f4;color:#768290;text-align:center;font-size:11px}.operation-mini-progress span.done{background:#dff4e7;color:#17673a;font-weight:800}.operation-next-action{padding:13px;border-radius:12px;background:#f1f7fc}.operation-next-action small{display:block;color:#52677b}.operation-next-action strong{display:block;margin:4px 0;font-size:17px}.operation-next-action p{margin:4px 0 11px;font-size:13px;color:#516171}.operation-next-action button{width:100%;min-height:44px}.operation-work-card details{margin-top:10px}.operation-work-card details summary{font-weight:750;color:#9a3412}.operation-work-card details p{font-size:13px;margin:6px 0;color:#6b7280}.operation-no-blocker{margin:10px 0 0;color:#278154;font-size:13px;font-weight:750}
@media(max-width:1000px){.operation-primary-nav{grid-template-columns:repeat(3,1fr)}.operation-work-list{grid-template-columns:1fr}.operation-board-head{align-items:stretch;flex-direction:column}.operation-board-summary{align-self:stretch}}
@media(max-width:620px){.operation-primary-nav{grid-template-columns:1fr 1fr}.operation-primary-nav button{min-height:48px}.operation-board-summary{grid-template-columns:auto auto auto auto}.operation-mini-progress{grid-template-columns:repeat(3,1fr)}}

/* v10.7.0 Manager Dashboard */
.manager-operation-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.manager-new-operation{min-height:48px;white-space:nowrap}.manager-dashboard{max-width:1120px;margin:0 auto}.manager-summary{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px;margin-bottom:22px;border:2px solid #bfd8ee;background:#f7fbff}.manager-summary h2{margin:5px 0 7px;font-size:28px}.manager-summary p{margin:0;color:#526273;font-size:15px}.manager-summary-counts{display:grid;grid-template-columns:repeat(3,96px);gap:8px}.manager-summary-counts span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82px;border-radius:14px;background:#fff;color:#526273;font-weight:800}.manager-summary-counts b{font-size:28px;color:#174a7e}.manager-summary-counts .urgent{background:#fff1f1;color:#991b1b}.manager-summary-counts .urgent b{color:#b42323}.manager-task-group{margin:24px 0}.manager-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 3px}.manager-group-head h2{margin:0;font-size:23px}.manager-group-head span{padding:5px 10px;border-radius:999px;background:#e7eef5;color:#42576b;font-weight:900}.manager-task-list{display:grid;gap:13px}.manager-task-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;padding:18px;border:2px solid #dde5ec;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(20,42,67,.05)}.manager-task-card.urgent{border-left:8px solid #c83f3f}.manager-task-card.attention{border-left:8px solid #d99722}.manager-task-card.ready{border-left:8px solid #319064}.manager-task-number{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#173f68;color:#fff;font-size:21px;font-weight:1000}.manager-task-main h3{margin:7px 0 10px;font-size:24px}.manager-task-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#607080;font-size:14px;font-weight:750}.manager-now-action{padding:15px 16px;border-radius:14px;background:#f2f7fb}.manager-now-action small{display:block;color:#52677b;font-weight:800}.manager-now-action strong{display:block;margin:5px 0;font-size:20px;color:#102f4c}.manager-now-action p{margin:0;color:#536474;line-height:1.5}.manager-primary-action{width:100%;min-height:54px;margin-top:11px;font-size:18px}.manager-task-details{margin-top:10px;border-top:1px solid #e4e9ef;padding-top:10px}.manager-task-details summary,.manager-all-details>summary{cursor:pointer;color:#536474;font-weight:850}.manager-progress-text{margin:8px 0;color:#526273}.manager-blockers{padding:9px 12px;border-radius:10px;background:#fff8ed}.manager-blockers p{margin:4px 0;color:#8b4a12}.manager-all-details{margin:28px 0;padding:16px;border:1px solid #d9e2ea;border-radius:16px;background:#f8fafc}.manager-all-details>summary{font-size:17px}.manager-all-details[open]>summary{margin-bottom:15px}.manager-empty{padding:28px;text-align:center}.operation-more-menu{margin-bottom:18px}.operation-more-menu>summary{font-weight:850;color:#536474;cursor:pointer}.operation-more-menu .operation-secondary-nav{margin-top:10px}
@media(max-width:800px){.manager-operation-head,.manager-summary{align-items:stretch;flex-direction:column}.manager-new-operation{width:100%}.manager-summary-counts{grid-template-columns:repeat(3,1fr)}.manager-task-card{grid-template-columns:42px minmax(0,1fr);padding:14px}.manager-task-number{width:38px;height:38px;font-size:18px}.manager-task-main h3{font-size:21px}}
@media(max-width:560px){.manager-summary-counts{grid-template-columns:1fr 1fr 1fr}.manager-summary-counts span{min-height:70px;font-size:12px}.manager-summary-counts b{font-size:23px}.manager-task-card{grid-template-columns:1fr}.manager-task-number{width:34px;height:34px}.manager-primary-action{font-size:17px}.manager-now-action strong{font-size:18px}.operation-primary-nav.manager-nav{grid-template-columns:1fr 1fr}}

/* v10.7.1 Safety workforce and simplified morning control */
.workforce-control{border:1px solid #bfdbfe;background:linear-gradient(180deg,#fff,#f7fbff)}
.workforce-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.workforce-summary article{padding:12px;border:1px solid #dbe4f0;border-radius:12px;background:#fff}
.workforce-summary span{display:block;font-size:11px;font-weight:800;color:#64748b}.workforce-summary strong{display:block;margin-top:3px;font-size:24px}.workforce-summary .warn{border-color:#fdba74;background:#fff7ed;color:#9a3412}
.workforce-add-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr auto;gap:8px;align-items:end;padding:12px;border-radius:12px;background:#eef6ff}
.workforce-add-form label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#334155}.workforce-add-form input,.workforce-add-form select{min-height:42px}
.workforce-list{display:grid;gap:8px;margin-top:12px}.workforce-row{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dbe4f0;border-left:5px solid #16a34a;border-radius:12px;background:#fff}.workforce-row.education-missing{border-left-color:#dc2626;background:#fff8f8}.workforce-row>div:first-child{display:grid;gap:3px}.workforce-row span,.workforce-row small{color:#64748b}.workforce-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.audit-actions.simplified .mini-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}
@media(max-width:1050px){.workforce-add-form{grid-template-columns:1fr 1fr 1fr}.workforce-row{grid-template-columns:1fr}.workforce-actions{justify-content:flex-start}}
@media(max-width:700px){.workforce-summary{grid-template-columns:1fr 1fr}.workforce-add-form{grid-template-columns:1fr}.workforce-actions .mini-btn{min-height:40px}.workforce-row{padding:14px}}

/* v10.7.2 role-aware 4-day Work Hub */
.hub-role-select{display:grid;gap:6px;font-weight:800}.hub-role-select select{min-width:190px;padding:11px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font-size:15px;font-weight:800}.hub-major-note{display:flex;gap:12px;align-items:center;margin:0 0 14px;padding:13px 16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.hub-major-note strong{white-space:nowrap;color:#1d4ed8}.hub-major-note span{color:#334155}.multi-day-list{display:grid;gap:14px;align-content:start;max-height:none}.hub-day-group{display:grid;gap:8px}.hub-day-group>header{display:flex;justify-content:space-between;align-items:center;padding:7px 4px;border-bottom:2px solid #dbeafe}.hub-day-group>header b{font-size:17px;color:#1d4ed8}.hub-day-group>header span{font-size:12px;color:#64748b}.hub-day-empty{margin:0;padding:12px;border-radius:10px;background:#f8fafc;color:#94a3b8;text-align:center}.hub-role-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 18px;border-radius:14px;background:#0f172a;color:#fff}.hub-role-banner div{display:grid;gap:3px}.hub-role-banner span{font-size:12px;color:#93c5fd}.hub-role-banner strong{font-size:20px}.hub-role-banner p{margin:0;color:#dbeafe}.hub-requirement{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #dbeafe;border-radius:13px;background:#fff}.hub-requirement>div{display:grid;gap:4px}.hub-requirement span{font-size:12px;font-weight:800;color:#2563eb}.hub-requirement b{font-size:16px}.hub-requirement small{color:#64748b}.hub-requirement.readonly{border-color:#e2e8f0;background:#f8fafc}.hub-requirement.readonly span{color:#64748b}.readonly-section{background:#f8fafc}.hub-start-summary{padding:16px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.hub-start-summary h4{margin:0 0 12px}.hub-start-summary>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hub-start-summary span{padding:12px;border-radius:10px;background:#fff;text-align:center}.hub-start-summary p{margin:12px 0 0;color:#475569}.today-work-scope{border-color:#bfdbfe;background:#f8fbff}
@media(max-width:900px){.hub-major-note,.hub-role-banner,.hub-requirement{align-items:stretch;flex-direction:column}.hub-role-select select{min-width:0;width:100%}.hub-start-summary>div{grid-template-columns:1fr}.work-hub-layout{grid-template-columns:1fr}.multi-day-list{max-height:none}}

/* v10.7.3 Simple Construction Flow */
.construction-simple-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.construction-simple-summary>div{background:#fff;border:1px solid #dce5f2;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:5px}.construction-simple-summary span{font-size:13px;color:#64748b}.construction-simple-summary b{font-size:20px}.construction-simple-guide{background:#eef6ff;border:1px solid #bdd8ff;border-radius:14px;padding:15px 18px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}.construction-simple-guide span{color:#475569}.construction-simple-card{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:0 4px 14px rgba(15,23,42,.04)}.construction-simple-card>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #e8edf4;padding-bottom:14px}.construction-simple-card h3{font-size:22px;margin:7px 0 4px}.construction-simple-card p{margin:0;color:#64748b}.simple-ready{padding:8px 12px;border-radius:12px;white-space:nowrap}.simple-ready.wait{background:#fff4e5;color:#a64b00}.simple-ready.done{background:#e9f9ee;color:#137333}.construction-one-line-help{margin:14px 0 10px;font-weight:700;color:#334155}.construction-requirement-list{display:grid;gap:9px}.construction-requirement{width:100%;border:1px solid #dbe4ef;background:#fff;border-radius:13px;padding:14px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.construction-requirement:hover{border-color:#6295ef;background:#f8fbff}.construction-requirement.done{background:#f0faf3;border-color:#a7d9b5}.requirement-check{font-size:23px;font-weight:800;color:#2563eb}.construction-requirement.done .requirement-check{color:#16843b}.construction-requirement b{display:block;font-size:16px}.construction-requirement small{display:block;color:#64748b;margin-top:3px}.construction-requirement em{font-style:normal;font-weight:800;color:#2563eb}.construction-requirement.done em{color:#16843b}.construction-simple-card>footer{margin-top:13px;background:#f7f9fc;border-radius:13px;padding:13px;display:flex;justify-content:space-between;align-items:center;gap:12px}.construction-simple-card>footer div{display:flex;flex-direction:column;gap:3px}.construction-simple-card>footer span{color:#64748b}.construction-green-mark{font-size:28px!important;color:#16843b!important;font-weight:900}.construction-simple-card details label{display:block;margin:12px 0}.construction-simple-card textarea{width:100%;min-height:85px;margin-top:6px}
@media(max-width:760px){.construction-simple-summary{grid-template-columns:1fr}.construction-simple-card{padding:14px}.construction-simple-card>header{flex-direction:column}.construction-requirement{grid-template-columns:30px 1fr}.construction-requirement em{grid-column:2}.construction-simple-card>footer{align-items:flex-start;flex-direction:column}}

/* v10.7.4 Operation board: Work Hub is a read-only start-status board. */
.operation-board .operation-go{min-width:110px;text-align:center;padding:12px 16px;border-radius:14px;font-size:18px}.operation-board .operation-go.go{background:#dcfce7;color:#166534}.operation-board .operation-go.wait{background:#fff7d6;color:#8a5a00}.operation-board-message{margin:16px 0;padding:20px;border-radius:16px}.operation-board-message b{display:block;font-size:22px}.operation-board-message p{margin:8px 0 0;font-size:16px;line-height:1.5}.operation-board-message.go{background:#ecfdf3;border:1px solid #86d7a3;color:#145c35}.operation-board-message.wait{background:#fffaf0;border:1px solid #efc765;color:#714d00}.hub-gate-list{display:grid;gap:10px}.hub-gate-row{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid #dce4ef;background:#fff;border-radius:14px;padding:15px 16px}.hub-gate-row>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:900}.hub-gate-row.open>span{background:#fff1c7;color:#875900}.hub-gate-row.done>span{background:#dcfce7;color:#166534}.hub-gate-row b{font-size:17px}.hub-gate-row small{display:block;margin-top:4px;color:#65758b}.hub-gate-row em{font-style:normal;font-weight:800}.hub-gate-row.open em{color:#1d5fe9}.hub-gate-row.done em{color:#358255}.after-work-note{display:grid;gap:7px;padding:14px}.after-work-note span{font-weight:700}.after-work-note p{margin:0;color:#68768a}@media(max-width:700px){.hub-gate-row{grid-template-columns:36px 1fr}.hub-gate-row em{grid-column:2}.operation-board-message b{font-size:19px}}

/* v10.7.6 담당분야별 Work Hub */
.hub-gate-list.grouped{gap:14px}.hub-owner-group{border:1px solid #d9e3f0;border-radius:16px;overflow:hidden;background:#f8fbff}.hub-owner-group>header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#edf4ff;border-bottom:1px solid #d9e3f0}.hub-owner-group>header strong{font-size:18px;color:#163b73}.hub-owner-group>header span{font-weight:800;color:#5c6d83}.hub-owner-group .hub-gate-row{border:0;border-bottom:1px solid #e4eaf2;border-radius:0}.hub-owner-group .hub-gate-row:last-child{border-bottom:0}
.schedule-work-form{align-items:end}.schedule-work-form label{min-width:0}

/* v10.7.7 Today Work: category grouping and readable category tones */
.today-process-list{display:grid;gap:16px;margin-top:16px}
.today-process-group{border:1px solid #dbe3ee;border-radius:16px;padding:12px;background:#f8fafc}
.today-process-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 10px;border-bottom:1px solid rgba(15,23,42,.10)}
.today-process-group-head div{display:grid;gap:2px}.today-process-group-head span{font-size:11px;font-weight:900;color:#64748b;letter-spacing:.08em}.today-process-group-head h3{margin:0;font-size:18px}.today-process-group-head b{min-width:40px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.78);text-align:center;font-size:13px}
.today-process-group-list{display:grid;gap:9px;padding-top:10px}.today-process-card.category-card{margin:0;background:rgba(255,255,255,.84);border-color:rgba(15,23,42,.12);box-shadow:none}
.today-process-group.tone-blue{background:#eef5ff;border-color:#bfdbfe}.today-process-group.tone-earth{background:#f7f1ea;border-color:#ddc9af}.today-process-group.tone-sand{background:#fff8df;border-color:#fde68a}.today-process-group.tone-red{background:#fff1f1;border-color:#fecaca}.today-process-group.tone-slate{background:#f1f5f9;border-color:#cbd5e1}.today-process-group.tone-brick{background:#fff3ed;border-color:#fed7aa}.today-process-group.tone-aqua{background:#ecfeff;border-color:#a5f3fc}.today-process-group.tone-cream{background:#fffaf0;border-color:#fde7bd}.today-process-group.tone-pink{background:#fff1f5;border-color:#fbcfe8}.today-process-group.tone-violet{background:#f5f3ff;border-color:#ddd6fe}.today-process-group.tone-sky{background:#f0f9ff;border-color:#bae6fd}.today-process-group.tone-mint{background:#ecfdf5;border-color:#a7f3d0}.today-process-group.tone-yellow{background:#fffbea;border-color:#fde68a}.today-process-group.tone-cyan{background:#ecfeff;border-color:#a5f3fc}.today-process-group.tone-orange{background:#fff7ed;border-color:#fed7aa}.today-process-group.tone-indigo{background:#eef2ff;border-color:#c7d2fe}.today-process-group.tone-green{background:#f0fdf4;border-color:#bbf7d0}.today-process-group.tone-olive{background:#f7fee7;border-color:#d9f99d}.today-process-group.tone-amber{background:#fffbeb;border-color:#fcd34d}.today-process-group.tone-gray{background:#f8fafc;border-color:#dbe3ee}
@media(max-width:720px){.today-process-group{padding:10px}.today-process-group-head h3{font-size:16px}}

/* v10.7.8 Schedule calendar readability + direct classification/status */
.month-grid{grid-auto-rows:minmax(150px,auto);align-items:stretch}
.month-day{min-height:150px;height:100%;aspect-ratio:1 / 1;overflow:visible;align-self:stretch}
.day-items{display:grid;gap:4px;align-content:start;min-height:0}
.sch-chip{min-height:24px}
.sch-special{background:#fce7f3!important;color:#9d174d!important;border-color:#f9a8d4!important}
.schedule-kind-field{border:1px solid #cbd5e1;border-radius:14px;padding:9px 10px 10px;background:#f8fafc}
.schedule-kind-field legend{padding:0 5px;font-size:12px;font-weight:1000;color:#334155}
.schedule-kind-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.schedule-kind-choice{cursor:pointer}
.schedule-kind-choice input{position:absolute;opacity:0;pointer-events:none}
.schedule-kind-choice span{display:flex;min-height:38px;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#334155;font-size:12px;font-weight:1000}
.schedule-kind-choice input:checked+span{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 6px 14px rgba(37,99,235,.18)}
.status-toggle{cursor:pointer;font-family:inherit}
.status-toggle:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(15,23,42,.12)!important}
@media(max-width:1180px){.month-grid{grid-auto-rows:minmax(130px,auto)}.month-day{min-height:130px}.schedule-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.month-grid{grid-auto-rows:minmax(108px,auto)}.month-day{min-height:108px;aspect-ratio:auto}.schedule-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v10.7.9 unified work and schedule usability */
.work-section-divider{margin:0 0 14px;padding:15px 18px;border:1px solid #dbe4f0;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#eef5ff)}
.work-section-divider span{font-size:12px;font-weight:1000;color:#2563eb;letter-spacing:.06em}.work-section-divider h2{margin:3px 0 2px;font-size:24px}.work-section-divider p{margin:0;color:#64748b;font-weight:700}
.compact-work-tools{margin-top:-8px}.embedded-schedule-root{margin-top:28px;padding-top:26px;border-top:3px solid #e2e8f0}
.today-process-group-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.today-process-card{height:100%}
.process-auto-grid{grid-template-columns:1fr!important}.process-auto-grid>div{min-height:auto}
.process-title-wide{grid-column:span 2}
.month-grid{grid-auto-rows:auto!important;align-items:stretch}.month-day{min-height:150px!important;height:auto!important;aspect-ratio:auto!important;overflow:hidden!important;align-self:stretch}
.day-items{display:grid;gap:4px;min-width:0}.sch-chip{display:grid!important;grid-template-columns:1fr!important;gap:1px!important;min-width:0;padding:5px 6px!important;line-height:1.2!important}
.sch-chip strong,.sch-chip span,.sch-chip em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sch-chip strong{font-size:10.5px}.sch-chip span{font-size:9.5px;font-weight:800;opacity:.82}.sch-chip em{font-size:9px;font-style:normal;font-weight:900;opacity:.66}
.schedule-detail-card{grid-template-columns:auto minmax(0,1fr) 68px!important;align-items:start!important}.schedule-card-controls{display:grid;grid-template-columns:1fr;gap:5px;width:68px}.schedule-card-controls button{width:100%;min-height:28px}
.card-status-slot,.detail-actions{display:none!important}.detail-main{min-width:0}.detail-main h4{font-size:15px;line-height:1.25}.detail-line{display:grid;grid-template-columns:1fr;gap:3px}.detail-line span{width:fit-content;max-width:100%}
@media(max-width:980px){.today-process-group-list{grid-template-columns:1fr}.process-title-wide{grid-column:auto}}
@media(max-width:720px){.month-day{min-height:112px!important}.schedule-detail-card{grid-template-columns:auto minmax(0,1fr)!important}.schedule-card-controls{grid-column:2;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v10.7.10 schedule category and calendar chip cleanup */
.sch-chip{grid-template-columns:1fr!important;gap:1px!important;padding:3px 5px!important;min-width:0}
.sch-chip strong,.sch-chip span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sch-chip strong{font-size:10.5px;line-height:1.15}
.sch-chip span{font-size:9px;line-height:1.1;opacity:.82}
.sch-chip em{display:none!important}

/* v10.7.11 모바일 현장 전환 접근성 */
@media(max-width:700px){
  .app-header{grid-template-columns:minmax(0,1fr) auto auto;}
  .header-site{display:flex;gap:4px;min-width:auto;}
  .header-site #headerSiteName,.header-site .user-chip,.header-site #simpleModeBtn{display:none;}
  .header-site #resetLoginBtn{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;font-size:12px;border-radius:9px;white-space:nowrap;}
  .mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;}
}

/* v10.7.12 Photo + Voice Field Issue Capture */
.field-capture-steps{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.field-capture-steps span{padding:6px 10px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:12px;font-weight:800}.field-capture-steps .active{background:#dbeafe;color:#1d4ed8}.field-capture-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1fr) minmax(300px,1.05fr);gap:16px;align-items:start}.field-voice-panel,.field-issue-draft{display:grid;gap:11px}.field-voice-panel label,.field-issue-draft label{display:grid;gap:6px;font-weight:800}.field-voice-panel input,.field-voice-panel select,.field-voice-panel textarea,.field-issue-draft input,.field-issue-draft select,.field-issue-draft textarea{width:100%;min-height:44px;border:1px solid #d8dee8;border-radius:10px;padding:9px 11px;font:inherit;background:#fff}.voice-control-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.voice-record-btn{min-height:48px;border:0;border-radius:12px;padding:0 18px;background:#0f4ed8;color:#fff;font-weight:900;font-size:15px}.voice-record-btn.recording{background:#dc2626;animation:voicePulse 1s infinite}.voice-record-btn:disabled{background:#94a3b8}@keyframes voicePulse{50%{opacity:.7}}#voiceStatus{font-size:13px;color:#64748b}.field-issue-draft{border:1px solid #bfdbfe;border-radius:14px;background:#f8fbff;padding:14px}.field-issue-draft.is-empty{min-height:260px;place-items:center;text-align:center;color:#64748b}.draft-head{display:flex;justify-content:space-between;gap:8px}.draft-head span{font-size:12px;color:#1d4ed8;font-weight:900}.draft-head strong{font-size:12px;color:#b45309}.field-issue-draft>small{color:#64748b;line-height:1.5}.field-issue-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:12px 0}.field-issue-kpis article{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:13px;display:grid;gap:3px}.field-issue-kpis b{font-size:22px}.field-issue-kpis span{font-size:12px;color:#64748b}.field-issue-board{display:grid;gap:12px}.field-issue-card{display:grid;grid-template-columns:150px minmax(0,1fr) 130px;gap:14px;background:#fff;border:1px solid #dbe3ef;border-left:5px solid #f59e0b;border-radius:14px;padding:12px}.field-issue-card.urgency-높음{border-left-color:#dc2626}.field-issue-card.status-완료{opacity:.72;border-left-color:#16a34a}.field-issue-card>img{width:150px;height:120px;object-fit:cover;border-radius:10px}.field-issue-card-body{min-width:0}.field-issue-meta{display:flex;gap:6px;flex-wrap:wrap}.field-issue-meta span{font-size:11px;padding:3px 7px;border-radius:999px;background:#eef2f7}.field-issue-card h3{margin:8px 0 4px}.field-issue-card p,.field-issue-card small{display:block;margin:0 0 5px;color:#64748b}.field-issue-recommend{display:grid;gap:2px;margin-top:8px;padding:9px;background:#f8fafc;border-radius:9px}.field-issue-recommend span{font-size:13px}.field-issue-owner{margin-top:8px;font-size:13px}.field-issue-actions{display:flex;flex-direction:column;gap:7px;justify-content:center}.field-issue-actions button{width:100%}
@media(max-width:1000px){.field-capture-grid{grid-template-columns:1fr 1fr}.field-issue-draft{grid-column:1/-1}.field-issue-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.field-capture-grid{grid-template-columns:1fr}.field-issue-draft{grid-column:auto}.voice-record-btn{width:100%}.field-issue-kpis{grid-template-columns:repeat(2,1fr)}.field-issue-card{grid-template-columns:1fr}.field-issue-card>img{width:100%;height:200px}.field-issue-actions{display:grid;grid-template-columns:1fr 1fr}.field-issue-actions .primary-btn{grid-column:1/-1}}

/* v10.7.14 Field Issue Department Board */
.field-department-board{display:grid;gap:18px}.field-department-group{background:#fff;border:1px solid #dbe3ef;border-radius:16px;overflow:hidden}.field-department-group>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.field-department-group>header div{display:flex;align-items:center;gap:10px}.field-department-group>header span{display:inline-flex;min-width:46px;justify-content:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900;background:#e2e8f0}.field-department-group>header h3{margin:0;font-size:18px}.field-department-group>header>b{font-size:14px}.field-department-list{display:grid;gap:10px;padding:12px}.department-empty{padding:20px;text-align:center;color:#94a3b8;background:#f8fafc;border-radius:10px}.field-department-group.dept-director>header{background:#f1f5f9}.field-department-group.dept-safety>header{background:#fff1f2}.field-department-group.dept-quality>header{background:#f5f3ff}.field-department-group.dept-construction>header{background:#eff6ff}.field-department-group.dept-resource>header{background:#fff7ed}.field-department-group.dept-foreman>header{background:#f0fdf4}.field-issue-photo-stack{display:grid;gap:7px}.field-issue-photo-stack figure{margin:0;position:relative}.field-issue-photo-stack img{width:150px;height:105px;object-fit:cover;border-radius:10px}.field-issue-photo-stack figcaption{position:absolute;left:5px;bottom:5px;background:rgba(15,23,42,.78);color:#fff;border-radius:5px;padding:2px 6px;font-size:10px}.issue-time-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;background:#fff7ed;border-radius:9px;font-size:12px}.issue-time-line span{color:#c2410c;font-weight:900}.field-issue-completion{display:grid;gap:2px;margin-top:8px;padding:9px;background:#ecfdf5;border-radius:9px}.field-issue-completion span{font-size:13px}.field-completion-modal[hidden]{display:none}.field-completion-modal{position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:18px}.field-completion-dialog{width:min(520px,100%);background:#fff;border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(15,23,42,.3);display:grid;gap:12px}.field-completion-dialog h3,.field-completion-dialog p{margin:0}.field-completion-dialog label{display:grid;gap:7px;font-weight:900}.field-completion-dialog textarea{width:100%;border:1px solid #d8dee8;border-radius:10px;padding:10px;font:inherit}.completion-photo-picker{border:1px dashed #60a5fa;border-radius:12px;padding:14px;background:#eff6ff;cursor:pointer}.completion-photo-picker input{display:none}.completion-photo-picker span{font-size:13px;color:#475569}.completion-preview img{width:100%;max-height:240px;object-fit:contain;border-radius:10px;background:#f8fafc}.completion-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:700px){.field-department-list{padding:8px}.field-issue-photo-stack{grid-template-columns:1fr 1fr}.field-issue-photo-stack img{width:100%;height:130px}.field-issue-card{grid-template-columns:1fr}.issue-time-line{display:grid;gap:3px}}

/* v10.7.15 Photo markup + final-only voice capture */
.photo-edit-open{width:100%;margin-top:8px}.photo-markup-modal[hidden]{display:none}.photo-markup-modal{position:fixed;inset:0;z-index:2600;background:rgba(15,23,42,.72);display:grid;place-items:center;padding:12px}.photo-markup-dialog{width:min(980px,100%);max-height:96vh;overflow:auto;background:#fff;border-radius:18px;padding:16px;display:grid;gap:12px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.photo-markup-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.photo-markup-dialog h3{margin:3px 0 0}.photo-markup-tools{display:flex;gap:7px;flex-wrap:wrap}.photo-markup-tools button{border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;padding:10px 13px;font-weight:850}.photo-markup-tools button.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.photo-markup-canvas-wrap{width:100%;max-height:68vh;overflow:auto;background:#111827;border-radius:12px;display:grid;place-items:center;touch-action:none}.photo-markup-canvas-wrap canvas{display:block;max-width:100%;height:auto;touch-action:none;cursor:crosshair}.photo-markup-help{margin:0;color:#64748b;font-size:13px}.simple-action-preview img{max-width:100%;display:block}.voice-record-btn.recording+span{color:#dc2626;font-weight:800}
@media(max-width:700px){.photo-markup-dialog{padding:11px;border-radius:14px}.photo-markup-dialog>header{align-items:stretch;flex-direction:column}.photo-markup-tools{display:grid;grid-template-columns:1fr 1fr}.photo-markup-tools button{min-height:46px}.photo-markup-canvas-wrap{max-height:60vh}}

/* v10.7.16 Mobile completion modal overflow fix */
.field-completion-modal{
  align-items:flex-start;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:max(12px, env(safe-area-inset-top)) 12px max(20px, env(safe-area-inset-bottom));
}
.field-completion-dialog{
  width:min(520px,100%);
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  margin:auto;
  padding-bottom:0;
}
.field-completion-dialog .completion-preview img{
  max-height:min(32dvh,220px);
}
.field-completion-dialog .completion-dialog-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  margin:4px -20px 0;
  padding:12px 20px max(12px, env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid #e5e7eb;
  box-shadow:0 -8px 18px rgba(15,23,42,.08);
}
@media (max-width:600px){
  .field-completion-modal{display:block;padding:8px 8px max(12px, env(safe-area-inset-bottom));}
  .field-completion-dialog{
    max-height:calc(100dvh - 16px - env(safe-area-inset-bottom));
    border-radius:14px;
    padding:16px 16px 0;
    gap:10px;
  }
  .field-completion-dialog .completion-preview img{max-height:28dvh;}
  .field-completion-dialog .completion-dialog-actions{
    grid-template-columns:1fr;
    margin:2px -16px 0;
    padding:10px 16px max(12px, env(safe-area-inset-bottom));
  }
  .field-completion-dialog .completion-dialog-actions .primary-btn{order:-1;min-height:48px;font-size:16px;}
  .field-completion-dialog .completion-dialog-actions .secondary-btn{min-height:44px;}
}

/* v10.8.0 Safety Today Queue */
.safety-queue-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.safety-queue-summary>div{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid #dbe3ee;border-radius:14px;background:#fff}.safety-queue-summary b{font-size:24px;color:#0f172a}.safety-queue-summary span{font-size:12px;font-weight:900;color:#475569}.safety-queue-summary .planned{background:#eff6ff}.safety-queue-summary .routine{background:#f0fdf4}.safety-queue-summary .issue{background:#fff1f2}.safety-queue-guide{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:#0f172a;color:#fff;margin-bottom:12px}.safety-queue-guide strong{font-size:16px;white-space:nowrap}.safety-queue-guide span{font-size:12px;line-height:1.5;opacity:.9}.safety-queue-list{display:grid;gap:9px}.safety-queue-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#fff}.safety-queue-item.danger{border-left:6px solid #dc2626}.safety-queue-item.warn{border-left:6px solid #f59e0b}.safety-queue-item.normal{border-left:6px solid #2563eb}.safety-queue-item.done{opacity:.65;background:#f1f5f9}.safety-queue-item.done strong,.safety-queue-item.done p{text-decoration:line-through}.queue-check{width:38px;height:38px;border-radius:50%;border:2px solid #94a3b8;background:#fff;font-size:22px;font-weight:1000;cursor:pointer}.safety-queue-item.done .queue-check{background:#15803d;color:#fff;border-color:#15803d}.safety-queue-item>div{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center}.safety-queue-item strong{font-size:15px;color:#111827}.safety-queue-item p{grid-column:1/-1;margin:0;font-size:12px;color:#64748b;line-height:1.45}.queue-source{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:1000}.queue-source.planned{background:#dbeafe;color:#1d4ed8}.queue-source.routine{background:#dcfce7;color:#15803d}.queue-source.issue{background:#ffe4e6;color:#be123c}.safety-queue-item>b,.safety-queue-item>small{font-size:12px;color:#475569;white-space:nowrap}@media(max-width:700px){.safety-queue-summary{grid-template-columns:1fr 1fr}.safety-queue-guide{display:block}.safety-queue-guide strong,.safety-queue-guide span{display:block}.safety-queue-guide span{margin-top:4px}.safety-queue-item{grid-template-columns:38px minmax(0,1fr)}.safety-queue-item>b,.safety-queue-item>small{grid-column:2}.safety-queue-item>div{grid-template-columns:1fr}.queue-source{width:max-content}.safety-queue-item p{grid-column:1}}

/* v10.9.0 Manager OS */
.manager-os-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#14213d,#233a66);color:#fff;margin-bottom:16px}.manager-os-hero h2{margin:4px 0 6px;font-size:30px}.manager-os-hero p{margin:0;opacity:.88}.manager-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.manager-kpis article{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card);display:grid;gap:4px}.manager-kpis strong{font-size:30px}.manager-kpis small{color:var(--muted)}.manager-kpis .warn{border-color:#f3c96b}.manager-kpis .danger{border-color:#ef8f8f}.manager-kpis .ok{border-color:#8bc9a7}.manager-next-action{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;border-radius:20px;margin-bottom:16px}.manager-next-action.wait{background:#fff3d8;border:1px solid #f2c566}.manager-next-action.go{background:#e8f7ee;border:1px solid #8bc9a7}.manager-next-action h3{margin:4px 0}.manager-next-action p{margin:0}.manager-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.manager-operation-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px}.manager-operation-card.needs-action{border-left:6px solid #e4a629}.manager-operation-card.ready{border-left:6px solid #3f9b68}.manager-operation-main{display:flex;gap:12px;align-items:center}.manager-operation-main h3{margin:0 0 4px}.manager-operation-main p{margin:0;color:var(--muted);font-size:13px}.manager-day-chip{min-width:50px;text-align:center;padding:7px 9px;border-radius:999px;background:var(--soft);font-weight:800}.manager-operation-state{display:grid;text-align:right}.manager-operation-state span{font-size:12px;color:var(--muted)}.manager-role-lanes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.manager-role-lane{border:1px solid var(--line);border-radius:16px;overflow:hidden}.manager-role-lane header{display:flex;justify-content:space-between;padding:12px 14px;background:var(--soft)}.manager-role-lane button{width:100%;border:0;border-top:1px solid var(--line);background:var(--card);padding:12px;text-align:left;display:flex;justify-content:space-between;gap:10px}.manager-role-lane button small{display:block;color:var(--muted);margin-top:3px}.manager-role-lane button em{font-style:normal;font-weight:800}.manager-role-lane>p{padding:16px;margin:0;color:var(--muted)}.manager-issue-list{display:grid;gap:8px}.manager-issue-list button{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left}.manager-issue-list small{display:block;color:var(--muted);margin-top:3px}.issue-level{padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800}.issue-level.danger{background:#ffe2e2;color:#a52222}.issue-level.warn{background:#fff1ce;color:#8a5c00}.manager-briefing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manager-briefing-list article{display:flex;gap:12px;padding:14px;border-radius:14px;background:var(--soft)}.manager-briefing-list article span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--card);font-weight:900}.manager-briefing-list p{margin:3px 0 0}.manager-instruction-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.manager-instruction-details>summary::-webkit-details-marker{display:none}.manager-instruction-details>summary span{display:grid}.manager-instruction-details>summary small{color:var(--muted);font-weight:400}.manager-instruction-details>summary em{font-style:normal}.manager-instruction-body{margin-top:16px}
@media(max-width:1100px){.manager-kpis,.manager-role-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-operation-grid{grid-template-columns:1fr}}
@media(max-width:700px){.manager-os-hero,.manager-next-action{align-items:stretch;flex-direction:column}.manager-kpis,.manager-role-lanes,.manager-briefing-list{grid-template-columns:1fr}.manager-operation-card{grid-template-columns:1fr}.manager-operation-state{text-align:left}.manager-operation-card button{width:100%}}

/* v10.9.1 Role Today Queue */
.role-today-queue{margin:16px 0 20px;padding:18px;border:1px solid #dbe4ee;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.role-today-queue>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.role-today-queue h3{margin:3px 0 5px;font-size:1.35rem}.role-today-queue p{margin:0;color:#64748b}.role-queue-counts{min-width:84px;text-align:center;border-radius:14px;background:#0f172a;color:#fff;padding:10px}.role-queue-counts b{display:block;font-size:1.5rem}.role-queue-counts span{font-size:.78rem}.role-queue-source-summary{display:flex;gap:8px;margin:14px 0}.role-queue-source-summary span,.queue-source{border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}.role-queue-source-summary .planned,.queue-source.planned{background:#dbeafe;color:#1d4ed8}.role-queue-source-summary .issue,.queue-source.issue{background:#fee2e2;color:#b91c1c}.role-queue-list{display:grid;gap:8px}.role-queue-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #e2e8f0;border-left:5px solid #94a3b8;border-radius:12px;padding:11px}.role-queue-item.level-danger{border-left-color:#dc2626}.role-queue-item.level-warn{border-left-color:#f59e0b}.role-queue-item.level-normal{border-left-color:#2563eb}.role-queue-item div{min-width:0}.role-queue-item b,.role-queue-item small{display:block}.role-queue-item small{margin-top:3px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-queue-empty{padding:20px;text-align:center;background:#f8fafc;border-radius:12px}.role-queue-empty span{display:block;color:#64748b;margin-top:4px}.role-queue-more{margin-top:10px!important;font-size:.82rem}.queue-focus{outline:4px solid rgba(37,99,235,.25);transition:outline .2s ease}
@media(max-width:700px){.role-today-queue>header{align-items:center}.role-queue-item{grid-template-columns:1fr auto}.role-queue-item .queue-source{grid-column:1/-1;width:max-content}.role-queue-item small{white-space:normal}.role-queue-counts{min-width:70px}}


/* v10.9.2 Work Hub role gate stabilization */
.hub-role-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.hub-role-summary{border:1px solid var(--line,#dbe3ec);border-radius:14px;background:#fff;padding:12px;text-align:left;display:grid;gap:3px;cursor:pointer}.hub-role-summary span{font-weight:800}.hub-role-summary b{font-size:1.25rem}.hub-role-summary small{color:#64748b}.hub-role-summary.wait{border-color:#f4b4a7;background:#fff7f5}.hub-role-summary.done{border-color:#b9dfc4;background:#f4fbf6}.hub-role-summary:disabled{cursor:default;opacity:.72}.hub-gate-row.done em{color:#23824b}.hub-gate-row.open em{font-weight:800}.operation-board .hub-owner-group header span{font-weight:800}@media(max-width:760px){.hub-role-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v11.0 Operation OS · Recommendation output policy */
.journal-summary-policy{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.journal-summary-policy strong{white-space:nowrap}.journal-summary-policy span{font-size:12px;line-height:1.45}.journal-tbm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.journal-tbm-block textarea{line-height:1.65;min-height:150px}.simple-mode .main-tabs .tab[data-page="collaborationPage"],.simple-mode .main-tabs .tab[data-page="roleScopePage"],.simple-mode .main-tabs .tab[data-page="knowledgePage"],.simple-mode .main-tabs .tab[data-page="briefingPage"]{display:none}@media(max-width:700px){.journal-summary-policy{align-items:flex-start;flex-direction:column}.journal-tbm-actions{display:grid;grid-template-columns:1fr}.journal-tbm-actions button{width:100%}}

/* v11.1 Morning Brief */
.morning-brief-card{margin-bottom:16px;padding:20px 22px;border-radius:20px;border:1px solid var(--line);background:var(--card)}
.morning-brief-card.needs-attention{border-left:7px solid #e4a629;background:linear-gradient(135deg,#fffaf0,var(--card))}
.morning-brief-card.is-clear{border-left:7px solid #3f9b68;background:linear-gradient(135deg,#f0fbf4,var(--card))}
.morning-brief-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.morning-brief-head h3{margin:4px 0 5px;font-size:24px}.morning-brief-head p{margin:0;color:var(--muted)}
.morning-brief-lines{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;counter-reset:brief}
.morning-brief-lines li{counter-increment:brief;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:var(--soft);font-weight:750;line-height:1.35}
.morning-brief-lines li::before{content:counter(brief);display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:var(--card);font-size:12px;font-weight:900}
.morning-brief-note{margin:13px 0 0;color:var(--muted);font-size:13px}
@media(max-width:700px){.morning-brief-head{flex-direction:column}.morning-brief-head button{width:100%}.morning-brief-lines{grid-template-columns:1fr}.morning-brief-card{padding:17px}}

/* v11.2 Decision OS */
.hub-decision-os{margin:16px 0 18px;padding:18px;border:2px solid #c9d8ef;border-radius:18px;background:#f8fbff}.hub-decision-os>header{display:flex;justify-content:space-between;gap:14px;align-items:center}.hub-decision-os>header span{font-size:12px;font-weight:800;color:#53657b}.hub-decision-os h4{margin:4px 0 0;font-size:22px}.hub-decision-os>header strong{font-size:20px;padding:8px 12px;border-radius:12px;background:#e8f0ff;color:#2158b7}.hub-decision-os ul{margin:13px 0;padding-left:22px;line-height:1.7}.hub-decision-boundary{padding:10px 12px;border-radius:11px;background:#fff4d6;color:#6d4b00;font-weight:700}.hub-decision-os label{display:grid;gap:7px;margin-top:12px;font-weight:800}.hub-decision-note{min-height:44px;border:1px solid #cfd9e7;border-radius:11px;padding:10px 12px;font-size:16px}.hub-decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.hub-decision-actions button{min-height:52px;font-size:17px;font-weight:900}.secondary-btn.danger{border-color:#d85858;color:#a51f1f;background:#fff}.hub-latest-decision{display:grid;gap:3px;margin-top:14px;padding:12px;border-radius:12px}.hub-latest-decision.go{background:#eaf9ef;color:#145c35}.hub-latest-decision.hold{background:#fff1ed;color:#8a2d1f}.hub-latest-decision span,.hub-latest-decision small{font-size:12px}.hub-latest-decision b{font-size:18px}.hub-latest-decision p{margin:4px 0 0}@media(max-width:620px){.hub-decision-actions{grid-template-columns:1fr}.hub-decision-os h4{font-size:19px}}

/* v11.3 Role OS */
.role-os-select-wrap{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;white-space:nowrap}
.role-os-select-wrap select{min-height:38px;border:1px solid var(--line,#d8dee8);border-radius:10px;padding:0 30px 0 10px;background:#fff;font:inherit}
.role-os-chip{display:none;padding:7px 10px;border-radius:999px;background:#eef4ff;color:#214f91;font-size:12px;font-weight:900;white-space:nowrap}
.main-tabs .tab[hidden]{display:none!important}
@media(max-width:900px){.role-os-select-wrap span{display:none}.role-os-select-wrap select{max-width:118px}.role-os-chip{display:inline-flex}.header-site{gap:6px}}

/* v11.4 Connected Site Foundation */
.connected-readonly-banner{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #f59e0b;border-radius:14px;background:#fffbeb;color:#78350f;font-weight:850}.connected-readonly-banner strong{background:#f59e0b;color:#fff;border-radius:999px;padding:5px 9px;white-space:nowrap}.connected-readonly-banner span{line-height:1.45}.subpage[data-access-mode="read"] button:disabled,.subpage[data-access-mode="read"] input:disabled,.subpage[data-access-mode="read"] select:disabled,.subpage[data-access-mode="read"] textarea:disabled{opacity:.58;cursor:not-allowed}.role-os-select-wrap select:disabled{background:#e2e8f0;color:#334155;cursor:not-allowed}

/* v11.5 Construction Timeline */
.construction-timeline-card{margin-bottom:18px}.timeline-summary{display:flex;flex-direction:column;align-items:center;min-width:88px}.timeline-summary b{font-size:28px}.timeline-summary span{font-size:12px;color:var(--muted)}
.timeline-operation-list{display:grid;gap:10px}.timeline-operation{display:grid;grid-template-columns:92px minmax(0,1fr) 82px auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.timeline-operation.ready{border-left:6px solid #2f9e62}.timeline-operation.watch{border-left:6px solid #e3a008}.timeline-operation.risk{border-left:6px solid #d9485f}.timeline-date{display:flex;flex-direction:column}.timeline-date b{font-size:16px}.timeline-date span{font-size:12px;color:var(--muted)}.timeline-work h4{margin:0 0 4px}.timeline-work p{margin:0;color:var(--muted);font-size:13px}.timeline-next{margin-top:7px;font-weight:700;font-size:13px}.timeline-readiness{text-align:center}.timeline-readiness strong{display:block;font-size:24px}.timeline-readiness span{font-size:12px;color:var(--muted)}.timeline-alert{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff2f3;color:#a61e2d;font-weight:700}.role-queue-source-summary .timeline,.queue-source.timeline{background:#ece8ff;color:#5f3dc4}
@media(max-width:760px){.timeline-operation{grid-template-columns:70px minmax(0,1fr);gap:10px}.timeline-readiness{grid-column:1}.timeline-operation button{grid-column:2;width:100%}}

/* v11.6 Construction Memory */
.memory-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#17223b,#26395d);color:#fff}.memory-hero h2{margin:5px 0 6px;font-size:28px}.memory-hero p{margin:0;color:#dbe6ff}.memory-total{text-align:center;min-width:110px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.12)}.memory-total b{display:block;font-size:30px}.memory-total span{font-size:13px}.memory-browser{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:18px;align-items:start}.memory-sidebar,.memory-detail{background:#fff;border:1px solid var(--line,#dfe5ee);border-radius:20px;box-shadow:0 8px 26px rgba(31,45,70,.07)}.memory-sidebar{padding:14px;position:sticky;top:86px;max-height:calc(100vh - 110px);overflow:auto}.memory-filter{display:grid;gap:9px;padding-bottom:12px;border-bottom:1px solid #e8edf4}.memory-filter input,.memory-filter select{width:100%;min-height:44px}.memory-date-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px}.memory-list{display:grid;gap:10px;margin-top:12px}.memory-card{width:100%;display:grid;grid-template-columns:80px 1fr 62px;gap:10px;align-items:center;text-align:left;padding:13px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;cursor:pointer}.memory-card:hover,.memory-card.active{border-color:#5277b9;background:#f4f8ff}.memory-card-date b,.memory-card-date span{display:block}.memory-card-date b{font-size:13px}.memory-card-date span{font-size:11px;color:#697386;margin-top:4px}.memory-card-main h3{font-size:16px;margin:0 0 4px}.memory-card-main p{margin:0;color:#667085;font-size:12px}.memory-card-counts{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.memory-card-counts span{font-size:10px;padding:3px 6px;border-radius:999px;background:#eef3f9}.memory-card-risk{text-align:center}.memory-card-risk strong{display:block;font-size:21px}.memory-card-risk span{font-size:10px;color:#697386}.memory-detail{padding:22px;min-height:640px}.memory-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.memory-detail-head h2{margin:5px 0;font-size:25px}.memory-detail-head p{margin:0;color:#667085}.memory-detail-score{text-align:center;padding:13px 16px;border-radius:16px;background:#fff5e8}.memory-detail-score strong{display:block;font-size:26px}.memory-detail-score span{font-size:11px}.memory-summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.memory-summary-strip div{text-align:center;padding:12px 6px;background:#f5f7fa;border-radius:13px}.memory-summary-strip b,.memory-summary-strip span{display:block}.memory-summary-strip b{font-size:20px}.memory-summary-strip span{font-size:11px;color:#667085}.memory-recommendation{padding:14px 16px;border-radius:14px;background:#edf7f0;border-left:4px solid #4e9b66}.memory-recommendation p{margin:5px 0 0}.memory-event-list{display:grid;gap:12px;margin-top:18px}.memory-event{display:flex;gap:13px;padding:14px;border:1px solid #e3e8ef;border-radius:16px}.memory-event img{width:108px;height:86px;object-fit:cover;border-radius:11px}.memory-event-body{min-width:0;flex:1}.memory-event-meta{display:flex;justify-content:space-between;gap:10px;color:#64748b;font-size:11px}.memory-event h4{margin:6px 0 4px;font-size:16px}.memory-event p{margin:0 0 6px;white-space:pre-wrap;color:#394150}.memory-event small{color:#667085}.memory-empty{text-align:center;padding:90px 20px;color:#667085}.memory-no-result{text-align:center;padding:30px 10px;color:#667085}.kind-field_issue{border-left:5px solid #d95f59}.kind-field_complete{border-left:5px solid #4f9a69}.kind-evidence,.kind-work_evidence{border-left:5px solid #507bbb}.kind-decision{border-left:5px solid #9069b2}.kind-document,.kind-document_archive{border-left:5px solid #b78438}@media(max-width:900px){.memory-browser{grid-template-columns:1fr}.memory-sidebar{position:static;max-height:none}.memory-summary-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.memory-hero,.memory-detail-head{align-items:flex-start;flex-direction:column}.memory-card{grid-template-columns:66px 1fr}.memory-card-risk{display:none}.memory-detail{padding:15px}.memory-summary-strip{grid-template-columns:repeat(2,1fr)}.memory-event{flex-direction:column}.memory-event img{width:100%;height:180px}.memory-date-filter{grid-template-columns:1fr}}

/* v12.0 Site Wizard */
.local-sites-section{margin:18px 0}.section-head.compact{margin-bottom:12px}.local-site-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.local-site-card{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid #cbd5e1;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 16px #0f172a0a}.local-site-open{display:grid;text-align:left;gap:4px;padding:17px;border:0;background:#fff;cursor:pointer}.local-site-open:hover{background:#eff6ff}.local-site-open strong{font-size:18px;color:#0f172a}.local-site-open span{font-size:14px;color:#475569;font-weight:750}.local-site-open small{font-size:12px;color:#64748b}.local-site-remove{align-self:stretch;border:0;border-left:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-weight:900;padding:0 14px}.local-site-remove:hover{background:#fee2e2;color:#b91c1c}.empty-note{margin:0;padding:18px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;text-align:center;font-weight:800}.site-wizard-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.site-wizard-heading h3{margin:4px 0 6px}.wizard-step-label{margin:20px 0 10px;padding:9px 12px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:1000}.site-create-note{display:grid;gap:5px;margin:18px 0;padding:14px 16px;border-radius:14px;background:#f0fdf4;border:1px solid #bbf7d0}.site-create-note span{color:#166534;font-weight:750}.site-create-main-btn{width:100%;min-height:58px;font-size:19px}@media(max-width:680px){.local-site-list{grid-template-columns:1fr}.local-site-remove{padding:0 12px}.site-wizard-heading{display:block}}

/* v12.2 Site Switch Safety */
.local-site-card.is-current{border-color:var(--primary,#2563eb);box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.current-site-badge{display:inline-flex;margin-left:.45rem;padding:.16rem .45rem;border-radius:999px;background:#e8f0ff;color:#1d4ed8;font-size:.72rem;font-style:normal;vertical-align:middle}
.local-site-remove:disabled{opacity:.45;cursor:not-allowed}
/* v12.4.0 attendance board */
.attendance-board header,.attendance-total{display:flex;align-items:center;justify-content:space-between;gap:16px}.attendance-total{justify-content:flex-end}.attendance-total b{font-size:2.4rem;color:#176b45}.attendance-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:24px}.attendance-qr{text-align:center}.attendance-qr svg{max-width:100%;height:auto;background:#fff}.attendance-board table{width:100%;border-collapse:collapse}.attendance-board th,.attendance-board td{padding:9px;border-bottom:1px solid #ddd;text-align:left}@media(max-width:760px){.attendance-grid{grid-template-columns:1fr}}
.attendance-admin-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.attendance-tabs{display:flex;gap:8px;overflow-x:auto;margin:18px 0}.attendance-tabs button{min-width:110px}.attendance-tabs button.active{background:#176b45;color:#fff}.attendance-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.attendance-filters input,.attendance-filters select{min-height:44px;min-width:140px}.attendance-table-wrap{overflow:auto}.attendance-table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.attendance-table-wrap th,.attendance-table-wrap td{padding:10px;border-bottom:1px solid #ddd;text-align:left;vertical-align:middle}.attendance-table-wrap button{margin:2px;min-height:38px}.attendance-admin details{margin-top:24px;padding:16px;border:1px solid #ccd8d0;border-radius:12px}.attendance-admin summary{font-weight:700;cursor:pointer}@media(max-width:700px){.attendance-admin-head{align-items:flex-start}.attendance-total b{font-size:2rem}.attendance-filters>*{width:100%}}
