:root { --ink:#1f272e; --blue:#2865cb; --blue-dark:#184da4; --line:#d4dce2; --muted:#687682; --canvas:#f4f6f7; --green:#28713c; --amber:#965d00; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--canvas); }
* { box-sizing:border-box; } body { margin:0; min-width:320px; background:var(--canvas); } button,select { font:inherit; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:318px 1fr; }.sidebar { background:var(--ink); color:#fff; padding:30px 20px 22px; display:flex; flex-direction:column; border-right:1px solid #151c21; }
.group-brand { display:flex; align-items:center; gap:16px; }.group-brand img { width:116px; height:auto; object-fit:contain; }.group-brand div { display:grid; gap:3px; }.group-brand strong { font-size:18px; letter-spacing:.02em; }.group-brand span { font-size:12px; letter-spacing:.2em; font-weight:700; }.sidebar-brand { padding:4px 6px 27px; border-bottom:1px solid #46515a; }.sidebar-brand img { width:106px; }
.tenant-label { display:block; margin:25px 5px 8px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#aebbc4; }#tenant-select { width:100%; background:#202a31; color:#fff; border:1px solid #57636e; border-radius:4px; padding:13px 14px; font-weight:700; }
nav { margin-top:27px; display:grid; gap:5px; }.nav-item { width:100%; background:transparent; color:#eef2f4; border:0; border-radius:5px; padding:15px 14px; text-align:left; font-size:17px; display:flex; gap:15px; align-items:center; cursor:pointer; }.nav-item span { width:21px; text-align:center; font-size:22px; line-height:1; }.nav-item:hover,.nav-item.active { background:var(--blue); color:#fff; }.sidebar-footer { margin-top:auto; padding:22px 6px 0; border-top:1px solid #46515a; display:grid; gap:5px; }.sidebar-footer strong { font-size:17px; }.sidebar-footer span { font-size:12px; color:#b7c3cb; }.sidebar-footer button { margin-top:12px; width:fit-content; background:transparent; color:#d8e3ea; border:1px solid #60707c; border-radius:3px; padding:8px 10px; cursor:pointer; }
main { min-width:0; }.topbar { min-height:138px; background:#fff; border-bottom:1px solid var(--line); padding:32px 48px; display:flex; justify-content:space-between; align-items:center; gap:24px; }h1 { margin:0; font-size:clamp(31px,3vw,45px); line-height:1; letter-spacing:-.045em; }h2 { margin:0; font-size:22px; letter-spacing:-.025em; }h3 { margin:25px 0 10px; font-size:17px; }p { margin:7px 0 0; color:var(--muted); line-height:1.4; }.status-dot { border:1px solid #b9d7c1; color:var(--green); background:#f3fbf5; padding:10px 13px; border-radius:4px; white-space:nowrap; font-size:14px; font-weight:700; }.status-dot::before { content:'●'; margin-right:7px; }.status-dot.warning { color:var(--amber); background:#fff8ee; border-color:#e6c28e; }
.dashboard { padding:38px 48px 55px; max-width:1550px; }.module-list { background:#fff; border:1px solid var(--line); }.module-row { min-height:130px; display:grid; grid-template-columns:78px minmax(260px,1fr) minmax(245px,.65fr) 122px; align-items:center; gap:18px; padding:20px 28px; border-bottom:1px solid var(--line); }.module-row:last-child { border-bottom:0; }.module-icon,.module-plan-icon { color:var(--blue); font-size:43px; text-align:center; }.module-row p { max-width:520px; }.module-state { display:flex; gap:11px; align-items:flex-start; color:var(--green); }.module-state small { display:block; color:var(--muted); margin-top:3px; }.check { display:inline-grid; place-items:center; border:2px solid var(--green); width:25px; height:25px; border-radius:50%; font-weight:800; }.module-link,.primary-link { background:#fff; color:var(--blue-dark); border:1px solid var(--blue); border-radius:3px; padding:11px 12px; font-weight:750; text-align:center; text-decoration:none; }.module-link:hover,.primary-link:hover { background:#edf4ff; }
.lower-grid { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(550px,1.3fr); gap:28px; margin-top:30px; }.panel { background:#fff; border:1px solid var(--line); padding:26px; }.boundary-list { margin:22px 0 0; display:grid; gap:16px; }.boundary-list div { border-top:1px solid var(--line); padding-top:13px; }.boundary-list dt { font-size:13px; font-weight:800; text-transform:uppercase; color:var(--muted); letter-spacing:.05em; }.boundary-list dd { margin:5px 0 0; font-weight:600; line-height:1.4; }table { width:100%; border-collapse:collapse; margin-top:19px; font-size:14px; }th { text-align:left; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; background:#f3f5f6; }th,td { border:1px solid var(--line); padding:12px 11px; vertical-align:top; }td:nth-child(2)::before { content:'✓ '; color:var(--green); font-weight:900; }.module-plan { display:grid; grid-template-columns:78px 1fr; gap:18px; align-items:start; }.module-plan .notice,.module-plan h3,.module-plan ol,.module-plan .primary-link { grid-column:2; }.notice { background:#f1f5f8; border-left:4px solid var(--blue); padding:15px; display:grid; gap:5px; color:var(--ink); }.notice span { color:var(--muted); line-height:1.4; }.module-plan ol { margin:0; padding-left:20px; color:var(--muted); line-height:1.75; }.module-plan .primary-link { justify-self:start; }.error { max-width:620px; border-left:4px solid var(--amber); }
.login-page { min-height:100vh; display:grid; place-items:center; padding:28px; background:linear-gradient(135deg,#172027 0%,#26343d 100%); }.login-card { width:min(560px,100%); background:#fff; padding:46px; border-top:5px solid var(--blue); box-shadow:0 18px 55px rgba(0,0,0,.25); }.login-card .group-brand { margin-bottom:42px; }.login-card .group-brand img { width:190px; background:var(--ink); padding:8px; }.login-card h1 { font-size:39px; }.login-card p { font-size:17px; margin-top:15px; }.login-link { display:inline-block; margin-top:30px; background:var(--blue); color:#fff; padding:14px 18px; }.login-link:hover { background:var(--blue-dark); }.login-notice { margin-top:28px; }.login-footnote { font-size:13px!important; border-top:1px solid var(--line); padding-top:20px; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:28px; }.access-table { margin-top:20px; overflow:auto; }.access-form form { display:grid; gap:15px; margin-top:20px; }.access-form label { display:grid; gap:6px; font-size:13px; font-weight:750; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }.access-form input,.access-form select { width:100%; border:1px solid #aebbc4; border-radius:3px; padding:11px 12px; color:var(--ink); background:#fff; font-size:16px; font-weight:600; }.access-form input[readonly] { background:#f0f3f5; color:#65737e; }.access-form fieldset { border:1px solid var(--line); margin:0; padding:12px; display:grid; gap:8px; }.access-form legend { padding:0 5px; font-size:13px; font-weight:750; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }.checkbox-label { display:flex!important; grid-template-columns:none!important; align-items:center; gap:9px!important; color:var(--ink)!important; text-transform:none!important; letter-spacing:0!important; font-size:14px!important; }.checkbox-label input { width:auto!important; }.primary-button { background:var(--blue); color:#fff; border:1px solid var(--blue); border-radius:3px; padding:12px; font-weight:750; cursor:pointer; }.primary-button:hover { background:var(--blue-dark); }.secondary-button,.danger-button { background:#fff; border-radius:3px; padding:7px 9px; cursor:pointer; font-size:13px; font-weight:700; }.secondary-button { color:var(--blue-dark); border:1px solid #8aaddf; }.secondary-button:hover { background:#edf4ff; }.danger-button { color:#a02525; border:1px solid #d48686; }.danger-button:hover { background:#fff2f2; }.table-actions { display:flex; flex-wrap:wrap; gap:7px; min-width:215px; }.user-status { display:inline-block; border-radius:999px; padding:4px 7px; font-size:12px; font-weight:800; }.user-status.is-active { color:var(--green); background:#edf8ef; }.user-status.is-archived { color:#815000; background:#fff4df; }.self-note { color:var(--muted); font-size:12px; font-weight:700; }.form-message { min-height:20px; font-size:14px!important; margin:0!important; }.form-message.success { color:var(--green); }.error-text { color:#a02525; }

.internal-module-link { min-height:44px; cursor:pointer; font:inherit; }.erp-shell { display:grid; gap:22px; }.erp-intro { background:var(--ink); color:#fff; padding:25px 28px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-left:5px solid var(--blue); }.erp-intro>div>span,.erp-editor>header>div>span { color:#9ebced; font-size:12px; font-weight:850; letter-spacing:.12em; }.erp-intro h2 { font-size:28px; margin-top:6px; }.erp-intro p { color:#c8d1d7; }.erp-intro a { color:#fff; border:1px solid #81909a; border-radius:3px; padding:12px 14px; white-space:nowrap; text-decoration:none; font-weight:750; }.erp-intro a:hover { background:#303c44; }.erp-tabs { display:flex; gap:7px; overflow-x:auto; margin:0; padding:4px 0; }.erp-tabs button { min-height:48px; border:1px solid var(--line); background:#fff; color:var(--ink); padding:11px 17px; border-radius:4px; font-weight:750; cursor:pointer; white-space:nowrap; }.erp-tabs button.active { background:var(--blue); color:#fff; border-color:var(--blue); }.erp-workspace { display:grid; gap:22px; }.erp-message { border-left:4px solid var(--blue); background:#edf4ff; padding:13px 15px; font-weight:700; }.erp-message.success { border-color:var(--green); background:#edf8ef; color:var(--green); }.erp-message.error { border-color:#b3261e; background:#fff0ef; color:#8f1d18; }
.erp-priority-banner { background:#8c211b; color:#fff; padding:22px 25px; display:grid; grid-template-columns:minmax(250px,1fr) auto; gap:28px; align-items:center; border-radius:4px; box-shadow:0 6px 18px rgba(74,11,8,.12); }.erp-priority-banner>div:first-child { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 18px; }.erp-priority-banner>div:first-child>span { font-size:13px; font-weight:900; letter-spacing:.09em; }.erp-priority-banner strong { grid-row:1 / 3; grid-column:2; font-size:46px; line-height:1; }.erp-priority-banner p { color:#ffe8e5; margin:0; }.erp-priority-rule { display:grid; grid-template-columns:28px auto; gap:5px 9px; align-items:center; min-width:205px; }.erp-priority-rule b { width:25px; height:25px; display:grid; place-items:center; background:#fff; color:#8c211b; border-radius:50%; font-size:12px; }.erp-priority-rule span { font-size:13px; font-weight:750; }.erp-two-column { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); gap:25px; align-items:start; }.erp-section-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:15px; }.erp-section-heading h2 { font-size:25px; }.erp-section-heading .primary-button,.erp-section-heading .info-pill,.erp-section-heading .demo-pill { flex:0 0 auto; }.rework-list { display:grid; gap:13px; }.rework-card { background:#fff; border:1px solid var(--line); border-left-width:6px; padding:20px; }.rework-card.urgent { border-left-color:#b3261e; }.rework-card.completed { border-left-color:#7a8790; opacity:.72; }.rework-card header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }.rework-card h3 { margin:7px 0 0; font-size:20px; }.rework-card .rework-body p { color:var(--ink); }.rework-card dl { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:17px 0 0; }.rework-card dl div { border-top:1px solid var(--line); padding-top:9px; }.rework-card dt,.demo-order-card dt { color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-size:11px; font-weight:800; }.rework-card dd,.demo-order-card dd { margin:4px 0 0; font-weight:700; }.rework-card footer { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }.priority-chip,.status-chip,.info-pill,.demo-pill { display:inline-block; border-radius:999px; font-size:11px; font-weight:900; letter-spacing:.06em; padding:6px 9px; }.priority-chip.urgent { color:#fff; background:#b3261e; }.status-chip { color:#34424c; background:#e9eef1; white-space:nowrap; }.status-chip.in_progress { background:#fff0d7; color:#825100; }.status-chip.completed { background:#e6f3e9; color:var(--green); }
.quality-form form,.erp-editor { display:grid; gap:17px; }.quality-form form { margin-top:20px; }.quality-form label,.erp-editor label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.quality-form input,.quality-form select,.quality-form textarea,.erp-editor input,.erp-editor select,.erp-editor textarea { width:100%; min-height:44px; border:1px solid #aebbc4; border-radius:3px; padding:10px 11px; background:#fff; color:var(--ink); font:inherit; font-weight:600; }.quality-form textarea,.erp-editor textarea { resize:vertical; }.quality-identity { background:#f1f5f8; padding:12px; display:grid; gap:3px; }.quality-identity span { color:var(--muted); font-size:12px; text-transform:uppercase; font-weight:800; }.danger-solid-button { min-height:48px; border:1px solid #9b211b; background:#b3261e; color:#fff; border-radius:3px; padding:12px 14px; font-weight:850; cursor:pointer; }.danger-solid-button:hover { background:#8c211b; }
.erp-master-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.erp-master-card { background:#fff; border:1px solid var(--line); padding:19px; display:flex; justify-content:space-between; align-items:center; gap:18px; }.erp-master-card>div>span { color:var(--blue-dark); font-size:11px; font-weight:900; letter-spacing:.08em; }.erp-master-card h3 { margin:5px 0 0; font-size:20px; }.erp-master-card small { display:block; margin-top:10px; color:var(--muted); font-weight:700; }.erp-master-card button { min-height:44px; }.erp-editor { margin-top:4px; padding:25px; }.erp-editor>header,.erp-steps>header,.erp-product-selector>header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }.erp-editor>header h2 { margin-top:5px; }.erp-form-grid { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(300px,1.3fr); gap:15px; }.erp-form-grid .span-two { grid-column:auto; }.erp-product-selector,.erp-steps { border-top:1px solid var(--line); padding-top:19px; }.erp-product-selector h3,.erp-steps h3 { margin:0; }.erp-selection-count { background:#edf4ff; color:var(--blue-dark); padding:7px 10px; border-radius:999px; font-weight:800; font-size:12px; white-space:nowrap; }.erp-group-grid { display:grid; grid-template-columns:repeat(4,minmax(145px,1fr)); gap:9px; margin-top:15px; }.erp-group-check { min-height:48px; display:flex!important; grid-template-columns:none!important; flex-direction:row!important; align-items:center; gap:9px!important; padding:10px 11px; border:1px solid #a7bde1; background:#f4f8ff; color:var(--ink)!important; text-transform:none!important; letter-spacing:0!important; cursor:pointer; }.erp-group-check input,.erp-product-check input,.erp-inline-check input { width:20px!important; min-height:20px!important; flex:0 0 20px; accent-color:var(--blue); }.erp-group-check span { flex:1; font-size:14px; }.erp-group-check b { color:var(--blue-dark); }.erp-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; max-height:360px; overflow:auto; margin-top:12px; padding:3px; }.erp-product-check { min-height:52px; display:flex!important; grid-template-columns:none!important; flex-direction:row!important; align-items:center; gap:9px!important; border:1px solid var(--line); padding:8px 10px; color:var(--ink)!important; text-transform:none!important; letter-spacing:0!important; cursor:pointer; }.erp-product-check:has(input:checked) { background:#edf4ff; border-color:#6e97d5; }.erp-product-check span { display:grid; gap:2px; font-size:13px; }.erp-product-check strong { color:var(--blue-dark); font-size:11px; }.erp-steps>header button { min-height:44px; }.erp-steps>div { display:grid; gap:9px; margin-top:13px; }.erp-edit-row { display:grid; grid-template-columns:36px minmax(160px,1.15fr) minmax(140px,1fr) 105px 105px 44px; gap:9px; align-items:end; background:#f7f9fa; border:1px solid var(--line); padding:10px; }.erp-edit-row.recipe-row { grid-template-columns:36px minmax(150px,.8fr) minmax(200px,1.3fr) 115px 100px 44px; }.erp-row-number { width:31px; height:31px; display:grid; place-items:center; align-self:center; background:var(--ink); color:#fff; border-radius:50%; font-weight:850; }.erp-inline-check { min-height:44px; display:flex!important; flex-direction:row!important; align-items:center; gap:8px!important; color:var(--ink)!important; text-transform:none!important; letter-spacing:0!important; }.erp-icon-button { width:44px; height:44px; border:1px solid #d48686; background:#fff; color:#a02525; border-radius:3px; font-size:25px; cursor:pointer; }.erp-editor>footer { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid var(--line); padding-top:18px; }.erp-editor>footer .primary-button { min-height:48px; min-width:200px; }.erp-empty { background:#fff; border:1px dashed #aebbc4; padding:28px; color:var(--muted); text-align:center; }
.product-group-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.product-group-card { background:#fff; border:1px solid var(--line); }.product-group-card>header { display:flex; justify-content:space-between; align-items:center; background:#f1f5f8; padding:14px 16px; border-bottom:1px solid var(--line); }.product-group-card h3 { margin:0; }.product-group-card>header span { background:var(--blue); color:#fff; min-width:28px; height:28px; display:grid; place-items:center; border-radius:50%; font-weight:800; }.product-group-card article { display:grid; grid-template-columns:100px 1fr; gap:12px; padding:10px 16px; border-bottom:1px solid #edf0f2; }.product-group-card article:last-child { border-bottom:0; }.product-group-card article strong { color:var(--blue-dark); font-size:12px; }.demo-order-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.demo-order-card { background:#fff; border:1px solid var(--line); border-top:5px solid #7c8a93; padding:18px; }.demo-order-card.high { border-top-color:#d18400; }.demo-order-card.urgent { border-top-color:#b3261e; }.demo-order-card header { display:flex; justify-content:space-between; align-items:center; }.demo-order-card header span { color:var(--blue-dark); font-size:11px; font-weight:900; }.demo-order-card header b { color:#a02525; font-size:11px; }.demo-order-card h3 { font-size:22px; margin:13px 0 0; }.demo-order-card dl { display:grid; gap:11px; margin:18px 0 0; }.demo-order-card dl div { border-top:1px solid var(--line); padding-top:8px; }.demo-pill { background:#fff1d7; color:#825100; }.info-pill { background:#edf4ff; color:var(--blue-dark); }
@media (max-width:960px) { .app-shell { grid-template-columns:250px 1fr; }.topbar,.dashboard { padding-left:26px; padding-right:26px; }.module-row { grid-template-columns:62px 1fr 115px; }.module-state { display:none; }.lower-grid { grid-template-columns:1fr; } }
@media (max-width:1440px) { .admin-grid { grid-template-columns:1fr; } }
@media (max-width:1200px) { .erp-two-column { grid-template-columns:1fr; }.erp-master-list,.product-group-list { grid-template-columns:1fr; }.erp-group-grid { grid-template-columns:repeat(3,minmax(140px,1fr)); }.erp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.erp-edit-row,.erp-edit-row.recipe-row { grid-template-columns:36px repeat(2,minmax(150px,1fr)); }.erp-edit-row .erp-inline-check,.erp-edit-row .erp-icon-button { align-self:end; }.demo-order-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .app-shell { display:block; }.sidebar { min-height:auto; padding:14px; }.sidebar-brand { padding-bottom:14px; }.tenant-label { margin-top:14px; }nav { margin-top:13px; display:flex; overflow-x:auto; }.nav-item { min-width:max-content; padding:11px; font-size:14px; }.nav-item span { font-size:17px; }.sidebar-footer { display:none; }.topbar { min-height:124px; padding:22px; align-items:flex-start; flex-direction:column; gap:13px; }.dashboard { padding:22px; }.module-row { grid-template-columns:48px 1fr; padding:18px; }.module-link { grid-column:2; justify-self:start; }.module-icon { font-size:34px; }.lower-grid { margin-top:20px; }.panel { padding:18px; overflow-x:auto; }.module-plan { grid-template-columns:45px 1fr; }.module-plan .notice,.module-plan h3,.module-plan ol,.module-plan .primary-link { grid-column:1 / -1; }.login-card { padding:28px; }.login-card .group-brand img { width:150px; } }
@media (max-width:700px) { .erp-intro { align-items:flex-start; flex-direction:column; padding:20px; }.erp-intro h2 { font-size:23px; }.erp-tabs { margin:0 -22px; padding:4px 22px; }.erp-priority-banner { grid-template-columns:1fr; }.erp-two-column { display:block; }.quality-form { margin-top:18px; }.rework-card header,.erp-section-heading,.erp-editor>header,.erp-steps>header,.erp-product-selector>header { align-items:stretch; flex-direction:column; }.rework-card dl { grid-template-columns:1fr; }.erp-master-card { align-items:flex-start; flex-direction:column; }.erp-master-card button { width:100%; }.erp-form-grid,.erp-group-grid,.erp-product-grid,.product-group-list,.demo-order-grid { grid-template-columns:1fr; }.erp-edit-row,.erp-edit-row.recipe-row { grid-template-columns:36px 1fr; }.erp-edit-row>label,.erp-edit-row>.erp-icon-button { grid-column:2; }.erp-row-number { grid-row:1; }.erp-editor>footer { align-items:stretch; flex-direction:column; }.erp-editor>footer .primary-button { width:100%; }.product-group-card article { grid-template-columns:78px 1fr; } }
