:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --line: #dce4ee;
  --text: #172033;
  --muted: #66758a;
  --blue: #1769e0;
  --blue-dark: #0b4eac;
  --blue-soft: #eaf3ff;
  --green: #16875b;
  --amber: #b36b00;
  --red: #c33d4c;
  --violet: #7653c7;
  --sidebar: 252px;
  --radius: 12px;
  --shadow: 0 8px 28px rgba(31, 52, 78, .08);
}

* { box-sizing: border-box; }
html { font-size: 14px; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); font-family: "Segoe UI", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: var(--sidebar); height: 100vh; position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; flex-direction: column; background: #fff; border-right: 1px solid var(--line); box-shadow: 4px 0 18px rgba(27, 50, 78, .04); }
.brand { height: 78px; padding: 16px 18px; display: flex; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(145deg, var(--blue), #4198ff); color: #fff; font-size: 16px; font-weight: 800; box-shadow: 0 6px 16px rgba(23, 105, 224, .24); }
.brand strong { display: block; font-size: 14px; letter-spacing: .06em; }
.brand small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; letter-spacing: .12em; }
.system-state { margin: 16px 18px 6px; padding: 9px 10px; border-radius: 8px; background: #eef9f4; color: #16704e; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.system-state i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #27a56f; }
.side-nav { padding: 5px 12px; display: flex; flex-direction: column; }
.nav-label { margin: 18px 10px 7px; color: #91a0b2; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.side-nav a { margin: 2px 0; padding: 11px 12px; border-radius: 8px; color: #536277; font-size: 12px; font-weight: 600; }
.side-nav a:hover, .side-nav a.active { color: var(--blue-dark); background: var(--blue-soft); }
.side-nav b { display: inline-block; width: 25px; color: var(--blue); }
.sidebar-tools { margin-top: auto; padding: 12px 18px; }
.sidebar-tools form { display: grid; grid-template-columns: 1fr 1fr; padding: 3px; border-radius: 9px; background: #edf2f7; }
.sidebar-tools button { border: 0; border-radius: 6px; padding: 7px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 700; }
.sidebar-tools button.active { background: #fff; color: var(--blue); box-shadow: 0 2px 8px rgba(35, 56, 82, .1); }
.sidebar-footer { padding: 14px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 9px; }
.avatar, .mini-avatar { display: grid; place-items: center; flex: none; border: 1px solid #cfe0f5; border-radius: 9px; background: var(--blue-soft); color: var(--blue); font-weight: 700; }
.avatar { width: 34px; height: 34px; }
.identity { min-width: 0; flex: 1; }
.identity strong, .identity small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.identity strong { font-size: 10px; }
.identity small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.sidebar-footer form button { border: 0; background: transparent; color: #7b899b; font-size: 18px; cursor: pointer; }

.main-panel { width: calc(100% - var(--sidebar)); min-height: 100vh; margin-left: var(--sidebar); }
.topbar { height: 56px; padding: 0 30px; position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(220, 228, 238, .9); background: rgba(255, 255, 255, .88); color: var(--muted); font-size: 10px; letter-spacing: .08em; backdrop-filter: blur(12px); }
.menu-toggle { display: none; }
.content-wrap { max-width: 1600px; margin: auto; padding: 30px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-heading h1, .center-page h1 { margin: 5px 0 7px; color: #12213a; font-size: 28px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; }
.page-heading p, .center-page p { margin: 0; color: var(--muted); font-size: 12px; }
.eyebrow { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.heading-actions { display: flex; gap: 8px; }

.btn-primary-tech, .btn-ghost, .btn-danger-tech, .btn-add { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 9px; padding: 11px 17px; font-size: 10px; font-weight: 800; letter-spacing: .06em; cursor: pointer; transition: .16s ease; }
.btn-primary-tech { border: 1px solid var(--blue); background: var(--blue); color: #fff; box-shadow: 0 6px 16px rgba(23, 105, 224, .18); }
.btn-primary-tech:hover { transform: translateY(-1px); background: var(--blue-dark); color: #fff; }
.btn-ghost, .btn-add { border: 1px solid var(--line); background: #fff; color: #52647a; }
.btn-danger-tech { border: 1px solid #f2c7cc; background: #fff3f4; color: var(--red); }
.submit-wide { width: 100%; margin-top: 12px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.metric-grid.five { grid-template-columns: repeat(5, 1fr); }
.metric-card { min-height: 122px; position: relative; overflow: hidden; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 5px 18px rgba(32, 54, 80, .05); }
.metric-card::before { content: ""; width: 4px; position: absolute; inset: 0 auto 0 0; background: var(--blue); }
.metric-card > span { display: block; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.metric-card > b { display: block; margin: 9px 0 1px; color: #15243c; font-size: 34px; font-weight: 700; }
.metric-card small { color: #8290a1; font-size: 10px; }
.metric-card > i { position: absolute; right: 17px; top: 43px; color: var(--blue); font-size: 22px; font-style: normal; opacity: .62; }
.metric-card.amber::before { background: var(--amber); } .metric-card.amber > i { color: var(--amber); }
.metric-card.red::before { background: var(--red); } .metric-card.red > i { color: var(--red); }
.metric-card.green::before { background: var(--green); } .metric-card.green > i { color: var(--green); }
.metric-card.violet::before { background: var(--violet); } .metric-card.violet > i { color: var(--violet); }

.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); overflow: hidden; }
.panel-head { min-height: 68px; padding: 15px 19px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 3px 0 0; font-size: 14px; font-weight: 700; }
.panel-head h2 b { margin-right: 8px; color: var(--blue); font-size: 12px; }
.record-count { padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; color: #738398; background: var(--surface-2); font-size: 9px; }
.tech-table { width: 100%; min-width: 880px; border-collapse: collapse; }
.tech-table th { padding: 11px 16px; text-align: left; background: #f7f9fc; color: #738398; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.tech-table td { padding: 14px 16px; border-top: 1px solid #e7edf4; color: #56677c; font-size: 11px; vertical-align: middle; }
.tech-table tr:hover td { background: #f8fbff; }
.tech-table td > strong, .tech-table td > small { display: block; }
.tech-table td > strong { margin: 3px 0; color: #1e2a3c; font-size: 11px; }
.tech-table td > small { color: #8290a1; font-size: 9px; }
.task-id { padding: 3px 6px; border: 1px solid #cce0fa; border-radius: 5px; background: var(--blue-soft); color: var(--blue); font-size: 9px; }
.status { display: inline-block; padding: 5px 8px; border: 1px solid #d5dee9; border-radius: 999px; background: #f3f6fa; color: #627187; font-size: 8px; font-weight: 800; letter-spacing: .05em; }
.status.completed { border-color: #bde3d2; background: #eaf8f1; color: var(--green); }
.status.inprogress { border-color: #bfd7f8; background: #eaf3ff; color: var(--blue); }
.status.blocked, .status.returned { border-color: #f0c6cb; background: #fff0f2; color: var(--red); }
.status.awaitingreview { border-color: #d8cdef; background: #f4f0fc; color: var(--violet); }
.status.overdue { border-color: #ead3ab; background: #fff7e7; color: var(--amber); }
.progress-row { display: flex; align-items: center; gap: 9px; }
.progress-track { min-width: 95px; height: 6px; flex: 1; overflow: hidden; border-radius: 999px; background: #e8eef5; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue-dark), #439aff); }
.progress-row b { color: #43546a; font-size: 10px; }
.row-action { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.danger-text strong { color: var(--red) !important; }

.empty-state { padding: 80px 20px; text-align: center; }
.empty-state > span { color: #b7c4d3; font-size: 40px; }
.empty-state h1, .empty-state h3 { margin: 12px 0 6px; }
.empty-state p { margin-bottom: 20px; color: var(--muted); }
.empty-state.compact { padding: 45px 20px; }
.empty-state.compact > span { font-size: 25px; }
.notification-strip { margin-bottom: 14px; display: grid; grid-template-columns: 90px 1fr; overflow: hidden; border: 1px solid #cfe0f5; border-radius: 10px; background: #f0f7ff; }
.notification-strip > b { padding: 13px; border-right: 1px solid #cfe0f5; color: var(--blue); font-size: 9px; letter-spacing: .11em; }
.notification-strip > div { display: flex; overflow: auto; }
.notification-strip form { margin: 0; }
.notification-strip button { min-width: 310px; height: 100%; padding: 10px 13px; border: 0; border-right: 1px solid #cfe0f5; background: transparent; color: #4e6076; text-align: left; font-size: 10px; }
.notification-strip button i { float: right; color: var(--blue); }
.notification-dot { width: 6px; height: 6px; display: inline-block; margin-right: 7px; border-radius: 50%; background: var(--blue); }
.alert-success-tech, .alert-error-tech, .warning-banner { margin-bottom: 16px; padding: 12px 14px; border-radius: 9px; font-size: 11px; }
.alert-success-tech { border: 1px solid #b9dfcd; background: #ebf8f2; color: #14734f; }
.alert-error-tech { border: 1px solid #efc2c8; background: #fff0f2; color: #b92f40; }
.warning-banner { border: 1px solid #ecd5ad; background: #fff7e8; color: #9d6106; }

.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 16px; }
.form-side { align-self: start; position: sticky; top: 73px; }
.form-panel, .progress-panel, .update-panel, .review-panel { padding-bottom: 18px; }
.form-panel > .field, .form-panel > .requirements-head, .single-form > .field { margin: 16px 18px; }
.field label, .requirements-head label, .login-card > label { display: block; margin-bottom: 7px; color: #5f6f83; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.field label small { float: right; color: #8997a8; font-size: 8px; }
.field input, .field textarea, .field select, .login-card > input { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #cad5e2; border-radius: 8px; outline: 0; background: #fff; color: var(--text); }
.field input:focus, .field textarea:focus, .field select:focus, .login-card > input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23, 105, 224, .1); }
.field textarea { resize: vertical; }
.field small { display: block; margin-top: 5px; color: #7c8b9e; font-size: 9px; }
.validation { display: block; margin-top: 5px; color: var(--red); font-size: 10px; }
.validation ul { margin: 8px 0; padding-left: 18px; }
.full { grid-column: 1 / -1; }
.employee-select { max-height: 240px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; }
.employee-select label { margin: 0; padding: 9px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #e7edf4; cursor: pointer; }
.employee-select label:hover { background: #f3f8ff; }
.employee-select input { width: auto; }
.employee-select .mini-avatar, .person .mini-avatar { width: 29px; height: 29px; }
.employee-select b, .employee-select small { display: block; }
.employee-select b { color: #29374a; font-size: 10px; }
.employee-select small { margin: 2px 0 0; font-size: 8px; }
.requirements-head { display: flex; justify-content: space-between; }
.requirements-head span { color: var(--amber); font-size: 11px; }
.requirements-head span.valid { color: var(--green); }
.requirement-row { padding: 10px 18px; display: grid; grid-template-columns: 22px 1fr 1fr 86px 30px; gap: 8px; align-items: end; border-top: 1px solid #e7edf4; }
.requirement-row .field { margin: 0; }
.requirement-row .drag { align-self: center; color: #91a0b2; }
.remove-requirement { height: 40px; border: 1px solid #ecc4ca; border-radius: 7px; background: #fff3f4; color: var(--red); }
.btn-add { margin: 14px 18px; }
.check-row { display: flex !important; align-items: center; gap: 8px; color: #5d6d81; font-size: 10px; letter-spacing: 0 !important; }
.check-row input { width: auto !important; min-height: auto !important; }
.override { margin: 15px 18px; color: var(--amber) !important; }
.file-input { padding: 8px !important; }

.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 16px; }
.detail-grid > aside { display: flex; flex-direction: column; gap: 16px; }
.spec-panel { padding-bottom: 20px; }
.spec-panel > h3, .spec-panel > p, .spec-panel > .attachment-grid { margin-left: 18px; margin-right: 18px; }
.spec-panel > h3 { margin-top: 20px; color: #617286; font-size: 10px; letter-spacing: .09em; }
.preline { white-space: pre-line; color: #495a6f; line-height: 1.7; font-size: 12px; }
.acceptance { margin: 18px; padding: 14px; border-left: 3px solid var(--blue); border-radius: 0 8px 8px 0; background: #f1f7ff; }
.acceptance > b { color: var(--blue); font-size: 9px; letter-spacing: .1em; }
.acceptance p { margin: 6px 0 0; }
.attachment-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.attachment-grid a { padding: 10px; display: grid; grid-template-columns: 40px 1fr; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; }
.attachment-grid a > span { grid-row: 1 / 3; display: grid; place-items: center; color: var(--blue); font-size: 10px; }
.attachment-grid b, .attachment-grid small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.attachment-grid b { font-size: 10px; }
.attachment-grid small { color: #75859a; font-size: 8px; }
.progress-panel { padding: 20px; }
.progress-panel > .eyebrow { display: block; }
.progress-number { margin: 10px 0; display: flex; align-items: start; }
.progress-number b { color: #13223a; font-size: 54px; font-weight: 700; }
.progress-number span { margin-top: 8px; color: #718196; font-size: 16px; }
.progress-track.large { height: 8px; }
.progress-panel > p { color: #728298; font-size: 9px; }
.requirements { margin-top: 17px; }
.requirements > div { padding: 10px 0; display: flex; gap: 10px; border-top: 1px solid #e5ebf2; color: #617186; font-size: 10px; }
.requirements i { width: 22px; height: 22px; display: grid; place-items: center; flex: none; border: 1px solid #cbd6e2; border-radius: 6px; font-size: 9px; font-style: normal; }
.requirements .done { color: #315f4d; }
.requirements .done i { border-color: #a9d7c3; background: #e8f7f0; color: var(--green); }
.requirements small { display: block; margin-top: 3px; color: #7d8ca0; }
.timeline-panel { margin-top: 16px; }
.timeline-item { padding: 18px; display: grid; grid-template-columns: 58px 1fr; gap: 15px; border-top: 1px solid #e5ebf2; }
.timeline-item time { width: 50px; height: 50px; display: grid; place-content: center; border: 1px solid #cbd9e8; border-radius: 9px; background: #f6f9fd; text-align: center; }
.timeline-item time b { font-size: 18px; }
.timeline-item time span { color: #66809e; font-size: 8px; }
.timeline-item h3 { margin: 2px 0 8px; color: #2a384b; font-size: 12px; font-weight: 600; }
.timeline-item p { margin: 6px 0; color: #596a7f; font-size: 11px; }
.timeline-item small { color: #7b8b9f; font-size: 8px; }
.timeline-title { display: flex; justify-content: space-between; }
.timeline-title > span { color: var(--blue); font-size: 11px; }
.blocker { color: var(--red) !important; }
.inline-files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.inline-files a { padding: 4px 7px; border: 1px solid #cbdcf2; border-radius: 5px; color: var(--blue); font-size: 8px; }
.review-event { margin: 12px 18px; padding: 12px; border-left: 3px solid var(--red); background: #fff2f3; font-size: 10px; }
.review-event.approved { border-color: var(--green); background: #edf8f3; }
.review-event span { margin-left: 10px; color: #748398; }
.review-event p { margin: 7px 0 0; color: #536478; }
.checklist { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }
.checklist label { margin: 0; padding: 10px; display: flex; gap: 8px; border-bottom: 1px solid #e7edf4; color: #516277; font-weight: 400; letter-spacing: 0; text-transform: none; }
.checklist input { width: auto; min-height: auto; }
.checklist small { display: inline; margin-left: 4px; color: var(--blue); }
.review-actions { padding: 0 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.single-form { max-width: 1100px; padding: 24px; }
.single-form.narrow { max-width: 480px; }
.form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.single-form .field { margin: 0; }
.single-form > .btn-primary-tech { margin-top: 22px; }
.person { display: flex; align-items: center; gap: 9px; }
.person strong, .person small { display: block; }
.audit-details { max-width: 400px; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #637a95; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(460px, 1.2fr) minmax(400px, .8fr); background: #fff; }
.login-visual { position: relative; overflow: hidden; background: linear-gradient(145deg, #eaf3ff 0%, #f5f9ff 52%, #dcecff 100%); }
.grid-overlay { position: absolute; inset: 0; background-image: linear-gradient(rgba(31, 112, 214, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 112, 214, .08) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, #000, transparent); }
.login-visual::after { content: ""; width: 420px; height: 420px; position: absolute; right: -100px; top: -110px; border: 70px solid rgba(23, 105, 224, .08); border-radius: 50%; }
.login-hero { max-width: 620px; position: absolute; left: 9%; bottom: 15%; z-index: 1; }
.login-hero h1 { margin: 14px 0; color: #13243d; font-size: 50px; line-height: 1.08; letter-spacing: -.04em; }
.login-hero h1 em { color: var(--blue); font-style: normal; }
.login-hero > p { max-width: 480px; color: #61738a; line-height: 1.7; }
.metric-line { margin-top: 35px; display: flex; align-items: center; gap: 12px; color: #71839a; font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.metric-line b { margin-right: 4px; color: var(--blue); }
.metric-line i { width: 40px; height: 1px; background: #a9bfd8; }
.login-panel { padding: 35px; display: grid; place-items: center; background: #fff; }
.login-stack, .login-card { width: 100%; max-width: 370px; }
.login-languages { margin-bottom: 18px; display: flex; justify-content: flex-end; gap: 4px; }
.login-languages button { padding: 6px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: #64758a; font-size: 9px; font-weight: 800; }
.login-logo { margin-bottom: 34px; display: grid; grid-template-columns: 48px 1fr; align-items: center; }
.login-logo > span { width: 42px; height: 42px; grid-row: 1 / 3; display: grid; place-items: center; border-radius: 10px; background: var(--blue); color: #fff; font-weight: 900; }
.login-logo b { font-size: 13px; letter-spacing: .1em; }
.login-logo small { color: #718196; font-size: 8px; letter-spacing: .11em; }
.login-card > label { margin-top: 17px; }
.login-card > .check-row { margin: 17px 0; }
.login-card > .btn-primary-tech { width: 100%; margin-top: 6px; }
.secure-note { margin-top: 17px; color: #7a899c; text-align: center; font-size: 8px; }
.center-page { min-height: 100vh; padding: 25px; display: grid; place-items: center; background: linear-gradient(145deg, #edf5ff, #f8fafc); }
.scan-pendingscan { opacity: .62; }
.scan-pendingscan small { color: var(--amber) !important; }
.scan-infected { border-color: var(--red) !important; opacity: .55; }
.scan-infected small { color: var(--red) !important; }

/* Machine operations */
.machine-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.machine-card { min-height: 245px; padding: 20px; display: flex; flex-direction: column; border: 1px solid var(--line); border-top: 4px solid var(--green); border-radius: 12px; background: #fff; box-shadow: var(--shadow); color: inherit; transition: transform .16s, box-shadow .16s; }
.machine-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(32, 54, 80, .12); }
.machine-card.stopped { border-top-color: var(--red); } .machine-card.maintenance { border-top-color: var(--amber); } .machine-card.inactive { border-top-color: #91a0b2; opacity: .72; }
.machine-card-head, .machine-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.machine-code, .error-code { padding: 5px 8px; border: 1px solid #c8dbf5; border-radius: 5px; background: var(--blue-soft); color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.machine-state { display: flex; align-items: center; gap: 6px; color: #516277; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.machine-state i, .machine-hero strong i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(25, 151, 102, .11); }
.machine-state.stopped i, .machine-hero.stopped strong i { background: var(--red); box-shadow: 0 0 0 4px rgba(202, 55, 70, .11); }
.machine-state.maintenance i, .machine-hero.maintenance strong i { background: var(--amber); }.machine-state.inactive i, .machine-hero.inactive strong i { background: #91a0b2; }
.machine-card h2 { margin: 22px 0 4px; color: #17263c; font-size: 18px; }.machine-card > p { margin: 0 0 20px; color: var(--muted); font-size: 10px; }
.machine-stats { margin: auto 0 18px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 9px; background: #f8fafc; }
.machine-stats > div { padding: 11px 8px; border-right: 1px solid var(--line); text-align: center; }.machine-stats > div:last-child { border: 0; }.machine-stats b, .machine-stats small { display: block; }.machine-stats b { color: #20314a; font-size: 16px; }.machine-stats small { margin-top: 3px; color: #78889c; font-size: 7px; text-transform: uppercase; }
.machine-card footer { padding-top: 13px; border-top: 1px solid var(--line); font-size: 9px; }.machine-card footer span { color: var(--muted); }.machine-card footer strong { color: #44566d; }
.machine-hero { margin-bottom: 16px; padding: 18px 22px; display: grid; grid-template-columns: 230px 1fr; gap: 25px; border: 1px solid #bde3d2; border-left: 5px solid var(--green); border-radius: 12px; background: linear-gradient(100deg, #f0faf5, #fff); }
.machine-hero.stopped { border-color: #f0c6cb; border-left-color: var(--red); background: linear-gradient(100deg, #fff1f2, #fff); }.machine-hero.maintenance { border-color: #ecd5ad; border-left-color: var(--amber); background: linear-gradient(100deg, #fff8ea, #fff); }
.machine-hero > div > span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; }.machine-hero strong { display: flex; align-items: center; gap: 11px; color: #17283e; font-size: 22px; }.machine-hero dl { margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); }.machine-hero dl div { padding: 5px 15px; border-left: 1px solid var(--line); }.machine-hero dt { color: var(--muted); font-size: 8px; text-transform: uppercase; }.machine-hero dd { margin: 7px 0 0; color: #33455b; font-size: 11px; font-weight: 700; }
.knowledge-copy { padding: 5px 20px 18px; }.muted-copy { color: var(--muted); font-size: 11px; }.safety-callout { margin: 15px 0; padding: 15px 18px; border: 1px solid #f0d3a3; border-left: 4px solid var(--amber); border-radius: 9px; background: #fff8e9; }.safety-callout b { color: #966006; font-size: 9px; letter-spacing: .08em; }.safety-callout p { margin: 8px 0 0; }
.guide-item { border-top: 1px solid var(--line); }.guide-item summary { padding: 16px 18px; display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; cursor: pointer; list-style: none; }.guide-item summary strong { color: #2a3a50; font-size: 11px; }.guide-item > div { padding: 0 18px 18px 55px; }.guide-item h3, .matched-guide h3 { margin: 16px 0 6px; color: #6a7a8e; font-size: 8px; letter-spacing: .1em; }.guide-warning { margin: 5px 0 12px; padding: 10px; border-radius: 7px; background: #fff4de; color: #8e5a06; font-size: 10px; }
.maintenance-body { padding: 18px; }.maintenance-body > span, .maintenance-body > b { display: block; }.maintenance-body > span { margin-top: 13px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .09em; }.maintenance-body > span:first-child { margin-top: 0; }.maintenance-body > b { margin-top: 5px; color: #263950; font-size: 14px; }.maintenance-body > p { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.incident-row { padding: 12px 16px; display: grid; grid-template-columns: 56px 1fr auto; gap: 10px; align-items: center; border-top: 1px solid var(--line); color: inherit; }.incident-row:hover { background: #f7faff; }.incident-row time { color: #334a66; font-size: 10px; font-weight: 700; }.incident-row time small, .incident-row div strong, .incident-row div small { display: block; }.incident-row time small, .incident-row div small { margin-top: 3px; color: var(--muted); font-size: 8px; }.incident-row div strong { color: #2b3a4e; font-size: 10px; }.incident-status { color: var(--red); font-size: 8px; font-weight: 800; }.incident-status.restored { color: var(--amber); }.incident-status.verified { color: var(--green); }
.incident-hero { margin-bottom: 16px; padding: 18px 21px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; border: 1px solid #f0c6cb; border-left: 5px solid var(--red); border-radius: 10px; background: #fff4f5; }.incident-hero > span { color: var(--red); font-size: 9px; font-weight: 900; letter-spacing: .09em; }.incident-hero > b { color: #2e4057; font-size: 17px; }.incident-hero > small { color: #68798e; }.incident-hero.restored { border-color: #ecd5ad; border-left-color: var(--amber); background: #fff9ec; }.incident-hero.verified { border-color: #bde3d2; border-left-color: var(--green); background: #f0faf5; }
.matched-guide { margin-top: 15px; padding: 20px; border: 1px solid #bcd8fa; border-left: 4px solid var(--blue); border-radius: 10px; background: #f3f8ff; }.matched-guide-head { display: grid; grid-template-columns: 28px 1fr auto; gap: 11px; align-items: center; }.matched-guide-head > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; }.matched-guide-head b { color: var(--blue); font-size: 8px; letter-spacing: .1em; }.matched-guide-head h2 { margin: 3px 0 0; font-size: 14px; }.verified-stamp { margin: 18px; padding: 11px; border: 1px solid #bde3d2; border-radius: 7px; background: #edf9f3; color: var(--green); font-size: 10px; }.restore-form { padding: 0 0 18px; }.verify-panel { padding: 20px; }.verify-panel > b { color: var(--blue); font-size: 9px; letter-spacing: .1em; }.verify-panel > p { color: var(--muted); font-size: 10px; line-height: 1.6; }
.analytics-filter { margin-bottom: 15px; padding: 12px 15px; display: flex; align-items: end; gap: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.analytics-filter label { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }.analytics-filter input, .analytics-filter select { min-height: 38px; margin-top: 5px; padding: 8px; display: block; border: 1px solid #cad5e2; border-radius: 7px; }.analytics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.chart-legend { color: var(--muted); font-size: 8px; }.chart-legend i { width: 8px; height: 8px; margin: 0 4px 0 9px; display: inline-block; background: var(--blue); }.chart-legend i.downtime { background: var(--amber); }.bar-chart { height: 300px; padding: 25px 18px 15px; display: flex; align-items: end; gap: 8px; }.bar-column { min-width: 0; height: 100%; flex: 1; display: flex; flex-direction: column; justify-content: end; text-align: center; }.bar-column > span { margin-top: 8px; color: var(--muted); font-size: 8px; }.bar-value { color: #52657d; font-size: 8px; }.bar-stack { height: 220px; display: flex; align-items: end; justify-content: center; gap: 2px; border-bottom: 1px solid #dfe6ef; }.bar-stack i, .bar-stack b { width: 35%; min-height: 1px; display: block; background: linear-gradient(#4899f8, var(--blue)); border-radius: 3px 3px 0 0; }.bar-stack b { background: linear-gradient(#f3b34b, var(--amber)); }.bar-chart.daily { gap: 2px; overflow-x: auto; }.bar-chart.daily .bar-column { min-width: 13px; }.bar-chart.daily .bar-column > span { font-size: 6px; }.recurrence-panel { margin-top: 16px; }.rank-row { padding: 12px 18px; display: grid; grid-template-columns: 45px 1fr auto; border-top: 1px solid var(--line); }.rank-row > b { color: var(--blue); }.rank-row > strong { color: #33455b; }.rank-row > span { color: var(--muted); font-size: 9px; }

@media (min-width: 1500px) {
  .machine-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .machine-card { min-height: 226px; }
}

@media (max-width: 1200px) {
  .metric-grid.five { grid-template-columns: repeat(3, 1fr); }
  .form-layout, .detail-grid { grid-template-columns: minmax(0, 1fr) 340px; }
  .machine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  :root { --sidebar: 220px; }
  .content-wrap { padding: 20px; }
  .metric-grid, .metric-grid.five { grid-template-columns: repeat(2, 1fr); }
  .form-layout, .detail-grid { grid-template-columns: 1fr; }
  .form-side { position: static; }
  .login-page { grid-template-columns: 1fr; }
  .analytics-grid { grid-template-columns: 1fr; }
  .machine-hero { grid-template-columns: 1fr; }
  .login-visual { display: none; }
}

@media (max-width: 700px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
  .sidebar.open { transform: none; }
  .main-panel { width: 100%; margin-left: 0; }
  .menu-toggle { display: block; border: 0; background: none; color: #34465d; font-size: 20px; }
  .topbar { padding: 0 15px; }
  .topbar > span { display: none; }
  .content-wrap { padding: 15px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .page-heading .btn-primary-tech { width: 100%; }
  .metric-grid, .metric-grid.five, .form-columns { grid-template-columns: 1fr; }
  .requirement-row { grid-template-columns: 18px 1fr 70px 30px; }
  .requirement-row .field:nth-of-type(2) { grid-column: 2 / 4; }
  .detail-grid { display: block; }
  .detail-grid > aside { margin-top: 15px; }
  .heading-actions { width: 100%; flex-wrap: wrap; }
  .login-panel { padding: 22px; align-items: start; }
  .login-stack { margin-top: 8vh; }
  .login-logo { margin-bottom: 26px; }
  .tech-table td, .tech-table th { padding: 12px; }
  .machine-grid { grid-template-columns: 1fr; }
  .machine-hero dl { grid-template-columns: 1fr 1fr; gap: 10px; }
  .incident-hero { grid-template-columns: 1fr; gap: 7px; }
  .incident-row { grid-template-columns: 52px 1fr; }
  .incident-status { grid-column: 2; }
  .bar-chart { min-width: 620px; }
  .chart-panel { overflow-x: auto; }
}

/* Team hierarchy and Innovation workspace */
.team-tabs { margin:0 0 12px; padding:7px; display:flex; gap:7px; overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow); }
.team-tabs a { min-width:105px; padding:10px 14px; border:1px solid transparent; border-radius:7px; color:#687a90; font-size:9px; font-weight:800; text-align:center; white-space:nowrap; }
.team-tabs a.active { border-color:var(--team,var(--blue)); background:color-mix(in srgb,var(--team,var(--blue)) 9%,white); color:var(--team,var(--blue)); box-shadow:inset 0 -2px var(--team,var(--blue)); }
.area-filter { margin-bottom:16px; padding:11px 14px; display:flex; align-items:end; gap:10px; border:1px solid var(--line); border-radius:9px; background:#fff; }.area-filter label { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.08em; }.area-filter select { min-width:230px; margin-top:5px; padding:8px 10px; display:block; border:1px solid #cad5e2; border-radius:7px; background:#fff; }
.team-chip { padding:3px 7px; border-radius:999px; background:color-mix(in srgb,var(--team) 10%,white); color:var(--team); font-weight:800; }.area-machine-section { margin-top:18px; }.area-machine-section>header { margin-bottom:9px; display:flex; align-items:end; justify-content:space-between; }.area-machine-section>header h2 { margin:3px 0 0; font-size:18px; }.area-machine-section>header>b { color:var(--muted); font-size:9px; }
.innovation-hero { margin-bottom:16px; padding:28px 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #d8d1ff; border-radius:14px; background:linear-gradient(120deg,#f3f0ff,#fff 65%); box-shadow:var(--shadow); }.innovation-hero h1 { margin:5px 0 7px; color:#262045; font-size:30px; }.innovation-hero p { margin:0; color:#756f8d; }.innovation-hero .eyebrow { color:#6d5ce7; }
.kaizen-stage-grid { margin-bottom:16px; display:grid; grid-template-columns:repeat(5,1fr); gap:11px; }.kaizen-stage-grid article { padding:18px; border:1px solid #ded9f5; border-top:3px solid #6d5ce7; border-radius:10px; background:#fff; box-shadow:var(--shadow); }.kaizen-stage-grid span,.kaizen-stage-grid small { display:block; color:var(--muted); font-size:7px; font-weight:800; letter-spacing:.08em; }.kaizen-stage-grid b { display:block; margin:8px 0 4px; color:#312854; font-size:28px; }
.improvement-grid { padding:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.improvement-card { min-width:0; min-height:220px; padding:18px; display:flex; flex-direction:column; border:1px solid #ddd9ed; border-top:4px solid #6d5ce7; border-radius:10px; color:inherit; background:#fff; }.improvement-card>header,.improvement-card>footer { display:flex; justify-content:space-between; gap:8px; }.improvement-card>header span { color:#6d5ce7; font-size:8px; font-weight:900; }.improvement-card>header b { color:#6d5ce7; font-size:8px; text-transform:uppercase; }.improvement-card h2 { margin:18px 0 7px; font-size:17px; }.improvement-card>p { max-height:48px; overflow:hidden; color:var(--muted); font-size:10px; line-height:1.55; }.benefit-tags { margin:9px 0; display:flex; gap:5px; flex-wrap:wrap; }.benefit-tags span { padding:4px 7px; border-radius:999px; background:#f0edff; color:#6453cc; font-size:7px; font-weight:800; }.improvement-card>footer { margin-top:auto; padding-top:11px; border-top:1px solid var(--line); color:var(--muted); font-size:8px; }
.benefit-checks { display:flex; gap:8px; flex-wrap:wrap; }.benefit-checks label { padding:10px 13px; border:1px solid #d7ddec; border-radius:8px; background:#fafbfe; color:#40536b; font-size:9px; }.benefit-checks input { margin-right:6px; }.kaizen-route { margin-bottom:15px; display:grid; grid-template-columns:repeat(5,1fr); gap:5px; }.kaizen-route span { padding:11px; border:1px solid #d9ddea; border-radius:7px; background:#fff; color:#8491a3; text-align:center; font-size:8px; font-weight:800; text-transform:uppercase; }.kaizen-route span.active { border-color:#6d5ce7; background:#6d5ce7; color:#fff; }
.innovation-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:16px; }.innovation-detail-grid main,.innovation-detail-grid aside { display:grid; align-content:start; gap:16px; }.kaizen-a3 { display:grid; grid-template-columns:1fr 1fr; }.kaizen-a3>div { min-height:155px; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.kaizen-a3>div:nth-child(even){border-right:0}.kaizen-a3 span { color:#6d5ce7; font-size:8px; font-weight:900; letter-spacing:.08em; }.kaizen-a3 p { color:#405269; font-size:11px; line-height:1.65; white-space:pre-wrap; }.kaizen-a3 .realized { background:#effaf5; }.evidence-list { padding:10px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.evidence-list a { padding:11px; border:1px solid var(--line); border-radius:7px; color:inherit; }.evidence-list span,.evidence-list strong,.evidence-list small { display:block; }.evidence-list span { color:#6d5ce7;font-size:7px;font-weight:800}.evidence-list strong{margin-top:5px;font-size:9px}.evidence-list small{margin-top:4px;color:var(--muted);font-size:7px}.inline-upload,.comment-form { padding:12px; display:flex; gap:8px; border-top:1px solid var(--line); }.inline-upload select,.inline-upload input,.comment-form textarea { min-width:0; padding:8px; border:1px solid #cad5e2; border-radius:7px; }.comment-form textarea { flex:1; }.kaizen-comment { padding:13px 16px; display:flex; gap:10px; border-top:1px solid var(--line); }.kaizen-comment strong,.kaizen-comment small { display:block; }.kaizen-comment small { margin-top:2px;color:var(--muted);font-size:8px}.kaizen-comment p { margin:7px 0 0;color:#465a73;font-size:10px}.decision-panel form { padding:16px; }.linked-work>div { padding:12px 16px;border-top:1px solid var(--line)}.linked-work span,.linked-work strong,.linked-work small{display:block}.linked-work span{color:#6d5ce7;font-size:7px;font-weight:800}.linked-work strong{margin-top:4px;font-size:10px}.linked-work small{margin-top:3px;color:var(--muted);font-size:8px}
.team-reliability-grid { margin-bottom:15px; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }.team-reliability-grid article { padding:14px; border:1px solid var(--line); border-top:3px solid var(--team); border-radius:9px; background:#fff; }.team-reliability-grid header,.team-reliability-grid article>div { display:flex; justify-content:space-between; gap:5px; }.team-reliability-grid header b{color:var(--team)}.team-reliability-grid header span{font-weight:800}.team-reliability-grid article>div{margin-top:12px;color:var(--muted);font-size:7px}.team-reliability-grid article>div span b{display:block;margin-top:3px;color:#33465e}.area-analysis{margin-bottom:16px}.area-analysis-head,.area-analysis-row{padding:11px 16px;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:8px;border-top:1px solid var(--line);text-align:center;font-size:9px}.area-analysis-head{color:var(--muted);font-size:7px;font-weight:800}.area-analysis-row strong{text-align:left}
@media(max-width:1000px){.kaizen-stage-grid,.team-reliability-grid{grid-template-columns:repeat(2,1fr)}.improvement-grid{grid-template-columns:1fr 1fr}.innovation-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.area-filter{align-items:stretch;flex-direction:column}.area-filter select{width:100%;min-width:0}.innovation-hero{padding:20px;align-items:flex-start;flex-direction:column}.innovation-hero h1{font-size:23px}.kaizen-stage-grid,.team-reliability-grid,.improvement-grid{grid-template-columns:1fr}.kaizen-route{overflow-x:auto;grid-template-columns:repeat(5,130px)}.kaizen-a3{grid-template-columns:1fr}.evidence-list{grid-template-columns:1fr}.inline-upload{flex-direction:column}.area-analysis{overflow-x:auto}.area-analysis-head,.area-analysis-row{min-width:650px}}
/* Unified Area workspace */
.area-switcher{margin:0 0 16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.area-switcher a{padding:15px 16px;border:1px solid var(--line);border-top:4px solid var(--area);border-radius:10px;background:#fff;color:var(--text);text-decoration:none;box-shadow:var(--shadow);opacity:.72}.area-switcher a.active{opacity:1;box-shadow:0 0 0 2px var(--area),var(--shadow)}.area-switcher span,.area-switcher small{display:block}.area-switcher span{font-size:16px;font-weight:800}.area-switcher small{margin-top:4px;color:var(--muted);font-size:9px;letter-spacing:.08em}.area-command{margin-bottom:16px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:5px solid var(--area);border-radius:10px;background:linear-gradient(110deg,#fff,#f1f6fd);box-shadow:var(--shadow)}.area-command h2{margin:4px 0 0}.area-kpis{display:flex;gap:8px}.area-kpis span{min-width:86px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:9px;text-transform:uppercase}.area-kpis b{display:block;color:var(--text);font-size:20px}.area-subnav,.innovation-actions,.idea-filter{margin-bottom:14px;display:flex;gap:8px}.area-subnav a,.idea-filter a{padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:11px;font-weight:800;text-decoration:none}.area-subnav a.active,.idea-filter a.active{border-color:var(--blue);background:#edf5ff;color:var(--blue)}.summary-only{color:var(--muted);font-size:9px;font-weight:800}.embedded-machine-grid{padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.embedded-machine{padding:14px;border:1px solid var(--line);border-top:4px solid #1eae7a;border-radius:9px;background:#fff;color:var(--text);text-decoration:none}.embedded-machine.stopped{border-top-color:#db4057}.embedded-machine.maintenance{border-top-color:#d99517}.embedded-machine header,.embedded-machine>div,.project-card header,.project-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.embedded-machine header{font-size:10px}.embedded-machine h3{margin:14px 0 3px}.embedded-machine p{color:var(--muted);font-size:11px}.embedded-machine>div{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.embedded-machine>div span{color:var(--muted);font-size:8px}.embedded-machine>div b{display:block;color:var(--text);font-size:14px}.project-card-grid{padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-card{padding:17px;border:1px solid var(--line);border-top:4px solid #6d5ce7;border-radius:10px;background:#fff;color:var(--text);text-decoration:none}.project-card h3{margin:15px 0 8px;font-size:17px}.project-card p{color:var(--muted);font-size:11px}.project-card .progress-row{margin:16px 0 12px}.project-meta{display:grid;gap:4px;color:var(--muted);font-size:10px}.project-card footer{margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}.supplier-badge{padding:5px 7px;border-radius:999px;background:#eef1f5;color:#687789;font-size:8px;font-weight:900}.supplier-badge.yes{background:#fff2d6;color:#9a6200}.idea-heading{padding:22px;border-radius:12px;background:linear-gradient(120deg,#f7f4ff,#fff)}.idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.idea-card{padding:18px;border:1px solid var(--line);border-top:4px solid #6d5ce7;border-radius:10px;background:#fff;color:var(--text);text-decoration:none;box-shadow:var(--shadow)}.idea-card header,.idea-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.idea-card h2{margin:15px 0 8px;font-size:17px}.idea-card p{height:44px;overflow:hidden;color:var(--muted);font-size:11px}.idea-card footer{margin-top:15px;padding-top:11px;border-top:1px solid var(--line);font-size:9px}.promoted-link{margin-top:10px;padding:8px;border-radius:6px;background:#f2efff;color:#6651c8;font-size:9px;font-weight:800}.idea-form{max-width:980px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.idea-detail-grid,.project-overview-grid,.project-lower-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:15px}.idea-story{padding:22px}.idea-story>.eyebrow{display:block;margin-top:15px}.comment-panel{padding-bottom:14px}.comments,.comment-panel>article{padding:0 14px}.comments article,.comment-panel>article{padding:12px 0;border-bottom:1px solid var(--line)}.comments header,.comment-panel article header{display:flex;justify-content:space-between;font-size:10px}.comments p,.comment-panel article p{margin:6px 0;color:var(--muted);font-size:11px}.comment-panel form{padding:14px}.comment-panel textarea{width:100%;margin-bottom:8px}.project-form{display:grid;grid-template-columns:1.25fr .95fr .95fr;gap:15px;align-items:start}.benefit-checks{display:flex;flex-wrap:wrap;gap:8px}.benefit-checks label{padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;font-size:10px}.milestone-input{margin-bottom:8px;display:grid;grid-template-columns:1.2fr 1.4fr 70px 120px;gap:7px}.pdca-route{margin-bottom:15px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.pdca-route span{padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);text-align:center;font-size:9px;font-weight:800}.pdca-route span.active{border-color:#6d5ce7;background:#f1edff;color:#5d4bc2}.project-charter dl{padding:16px;display:grid;grid-template-columns:130px 1fr;gap:10px}.project-charter dt{color:var(--muted);font-size:9px}.project-charter dd{margin:0;font-size:11px}.project-control{padding:20px}.project-people{margin:18px 0;display:grid;gap:5px}.project-people b{margin-top:7px;color:var(--muted);font-size:8px}.supplier-control{padding:13px;border:1px solid var(--line);border-radius:8px;background:#f6f8fb}.supplier-control.active{border-color:#e1b452;background:#fff9e9}.supplier-control>*{display:block}.supplier-control b{font-size:8px}.supplier-control strong{margin-top:5px}.supplier-control span,.supplier-control small{margin-top:4px;color:var(--muted);font-size:9px}.milestone-board{margin-top:15px}.milestone-grid{padding:15px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.milestone-grid article{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff}.milestone-grid article.done{border-color:#60b99a;background:#f1fcf8}.milestone-grid header{display:flex;justify-content:space-between}.milestone-grid h3{margin:12px 0 6px;font-size:13px}.milestone-grid p{min-height:34px;color:var(--muted);font-size:9px}.milestone-grid time{display:block;margin-bottom:9px;font-size:9px}.project-lower-grid{margin-top:15px}.info-banner{margin:8px 0;padding:10px;border:1px solid #9ec5f6;border-radius:6px;background:#eef6ff;color:#315d90;font-size:10px}
@media(max-width:1000px){.area-switcher{grid-template-columns:repeat(2,1fr)}.area-command{align-items:flex-start;flex-direction:column}.area-kpis{width:100%;overflow:auto}.embedded-machine-grid,.project-card-grid,.idea-grid{grid-template-columns:repeat(2,1fr)}.project-form{grid-template-columns:1fr}.idea-detail-grid,.project-overview-grid,.project-lower-grid{grid-template-columns:1fr}.milestone-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.area-switcher,.embedded-machine-grid,.project-card-grid,.idea-grid,.form-pair,.milestone-grid{grid-template-columns:1fr}.milestone-input{grid-template-columns:1fr}.pdca-route{grid-template-columns:repeat(2,1fr)}}
