:root {
  --bg: #f5f7fb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --text: #172033;
  --muted: #718096;
  --line: #e7ebf2;
  --accent: #2563eb;
  --accent-soft: #eaf1ff;
  --ok: #12805c;
  --warn: #b7791f;
  --danger: #c2414d;
  --shadow: 0 10px 30px rgba(39, 55, 86, .06);
  --header-bg: rgba(255,255,255,.9);
  --hover-bg: #f7f9fd;
  --chart-grid: rgba(113,128,150,.18);
}
[data-theme="dark"] {
  --bg: #101722;
  --surface: #182230;
  --surface-soft: #202c3c;
  --text: #edf3fb;
  --muted: #9eacbd;
  --line: #2b3a4d;
  --accent: #74a7ff;
  --accent-soft: #203d6d;
  --ok: #54c596;
  --warn: #e5b15a;
  --danger: #f07884;
  --shadow: 0 12px 32px rgba(0,0,0,.2);
  --header-bg: rgba(16,23,34,.92);
  --hover-bg: #202d3e;
  --chart-grid: rgba(158,172,189,.18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--bg); font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif; transition: color .2s, background .2s; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.muted { color: var(--muted); font-size: 13px; }
.error { min-height: 18px; color: var(--danger); font-size: 13px; }
.app-shell { display: flex; min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; display: flex; width: 244px; flex-direction: column; padding: 28px 16px 20px; border-right: 1px solid var(--line); background: var(--surface); overflow: hidden; }
.brand-lockup, .mobile-brand { display: flex; align-items: center; gap: 10px; color: var(--text); }
.brand-lockup > span, .mobile-brand > span { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; border-radius: 10px; background: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .4px; }
.brand-lockup strong, .brand-lockup b { display: block; font-size: 13px; letter-spacing: 1.4px; line-height: 1.1; }.brand-lockup b { color: var(--accent); font-size: 10px; }
.language-control { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.language-control select { min-height: 30px; padding: 4px 7px; color: var(--text); border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); font-size: 11px; }
.login-tools { position: absolute; top: 22px; right: 22px; display: flex; align-items: center; gap: 8px; }
.login-tools .login-theme-toggle { position: static; }
.main-nav { display: grid; gap: 6px; margin-top: 54px; }.nav-item { display: flex; align-items: center; gap: 12px; padding: 12px 13px; color: var(--muted); border-radius: 8px; font-size: 13px; text-decoration: none; }.nav-item:hover, .nav-item.active { color: var(--accent); background: var(--accent-soft); }.nav-icon { width: 18px; text-align: center; font-size: 17px; }
.archive-panel { display: flex; flex: 1; flex-direction: column; min-height: 0; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.archive-heading { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; padding: 0 4px; }
.archive-heading b { display: block; font-size: 12px; }
.archive-heading small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.archive-list { display: grid; gap: 8px; min-height: 0; max-height: calc(100vh - 360px); padding-right: 2px; overflow-y: auto; }
.archive-item { padding: 10px 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.archive-item strong { display: block; overflow: hidden; color: var(--text); font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.archive-item span { display: block; margin-top: 4px; color: var(--accent); font-size: 10px; font-weight: 700; }
.archive-item small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.archive-amount { display: block; margin-top: 5px; color: var(--text); font-size: 11px; }
.archive-pencil { float: right; display: grid; width: 24px; height: 24px; place-items: center; padding: 0; margin-top: -22px; color: var(--accent); border: 1px solid var(--line); border-radius: 5px; background: var(--surface); font-size: 15px; cursor: pointer; }
.edit-request-panel { padding: 14px; margin-bottom: 14px; border: 1px solid #f1d6a2; border-radius: 8px; background: #fffaf0; }
.edit-request-panel h3 { margin: 0; font-size: 14px; }.edit-request-list { display: grid; gap: 8px; margin-top: 10px; }.edit-request-item { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(120px, 1fr) auto; gap: 5px 12px; align-items: center; padding: 10px; border: 1px solid #f0dfbd; border-radius: 6px; background: #fff; }.edit-request-item strong,.edit-request-item span,.edit-request-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.edit-request-item span { color: var(--accent); font-size: 10px; font-weight: 700; }.edit-request-item p { grid-column: 1 / 3; margin: 0; color: var(--muted); font-size: 11px; }.edit-request-item div { display: flex; gap: 6px; }.edit-request-item .danger { background: var(--danger); }
.archive-empty { padding: 8px 4px; font-size: 11px; }
.archive-workspace-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); max-height: none; padding: 0; overflow: visible; }
.archive-workspace-list .archive-item { min-height: 94px; padding: 14px; }
.archive-workspace-list .archive-item strong { font-size: 13px; white-space: normal; }
.archive-workspace-list .archive-item span { font-size: 11px; }
.archive-workspace-list .archive-item small { font-size: 10px; }
.sidebar-footer { display: flex; gap: 10px; align-items: center; padding: 14px 10px; margin-top: auto; border-top: 1px solid var(--line); }.sidebar-footer b, .sidebar-footer small { display: block; font-size: 12px; }.sidebar-footer small { margin-top: 3px; color: var(--muted); font-size: 10px; }.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #18a878; box-shadow: 0 0 0 4px #e1f7ee; }
.app-content { width: calc(100% - 244px); margin-left: 244px; }.topbar { display: flex; min-height: 70px; align-items: center; justify-content: space-between; padding: 14px 36px; border-bottom: 1px solid var(--line); background: var(--header-bg); backdrop-filter: blur(12px); }.mobile-brand { display: none; }.topbar-right { display: flex; align-items: center; gap: 18px; margin-left: auto; }.topbar .muted { font-size: 11px; }.profile-chip { display: flex; align-items: center; gap: 9px; padding-left: 16px; border-left: 1px solid var(--line); font-size: 12px; }.profile-chip span { display: grid; width: 31px; height: 31px; place-items: center; color: var(--accent); border-radius: 50%; background: var(--accent-soft); font-size: 10px; font-weight: 800; }.theme-toggle { min-width: 36px; padding: 8px 10px !important; font-size: 16px; line-height: 1; }
.mobile-nav { display: none; }
.btn { padding: 10px 16px; color: #fff; border: 0; border-radius: 7px; background: var(--accent); font-size: 12px; font-weight: 700; transition: transform .2s, box-shadow .2s; }.btn:hover, .work-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(37,99,235,.2); }.btn.small { padding: 8px 13px; color: var(--muted); border: 1px solid var(--line); background: var(--surface); }.btn.small:hover { color: var(--accent); box-shadow: none; }
.workspace { width: min(100%, 1480px); padding: 42px 40px 70px; margin: 0 auto; }.workspace-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; animation: rise .4s both; }.workspace-header h1 { margin: 0; font-size: clamp(29px, 3vw, 42px); letter-spacing: -.8px; }.workspace-header p:not(.eyebrow) { margin: 9px 0 0; color: var(--muted); font-size: 14px; }.eyebrow { margin: 0 0 8px; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: 1.5px; }
.action-board { padding: 24px; margin-bottom: 24px; border: 1px solid #cfe0ff; border-radius: 12px; background: #f2f6ff; animation: rise .45s .05s both; }.board-heading, .section-heading, .completed-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.board-heading { margin-bottom: 17px; }.board-heading h2, .section-heading h2, .completed-heading h2 { margin: 0; font-size: 19px; }.board-heading > span, .table-hint { padding: 5px 9px; color: var(--accent); border-radius: 99px; background: #dce9ff; font-size: 10px; font-weight: 800; }.task-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.task-item { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 14px; border: 1px solid #dfe9fb; border-radius: 9px; background: var(--surface); }.task-item > span { color: #9db1d8; font-size: 11px; font-weight: 800; }.task-item b,.task-item small { display: block; }.task-item b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.task-item small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.task-item em { grid-column: 2; color: var(--accent); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }.work-btn { padding: 8px 10px; color: #fff; border: 0; border-radius: 6px; background: var(--accent); font-size: 10px; font-weight: 800; transition: transform .2s, box-shadow .2s; }.work-btn.compact { grid-row: 1 / span 2; grid-column: 3; }.empty-state { color: var(--muted); }
.cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 28px; }.card { position: relative; min-height: 136px; padding: 19px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: var(--shadow); }.card::after { position: absolute; right: 16px; top: 19px; content: ""; width: 32px; height: 32px; border-radius: 9px; background: var(--accent-soft); }.card h3 { max-width: 75%; min-height: 30px; margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.4; }.card .value { margin-top: 15px; color: var(--text); font-size: 27px; font-weight: 800; }.card .sub { margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.analytics-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr); gap: 14px; margin-bottom: 14px; }.chart-panel { min-width: 0; margin-bottom: 0; }.chart-wrap { position: relative; height: 270px; }.chart-wrap-donut { height: 270px; }.chart-wrap canvas { width: 100% !important; height: 100% !important; }.chart-fallback { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; text-align: center; }.live-indicator { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; color: var(--ok); border-radius: 99px; background: var(--accent-soft); font-size: 10px; font-weight: 800; }.live-indicator::before { width: 6px; height: 6px; content: ""; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px var(--accent-soft); }.report-progress-panel { padding-bottom: 20px; margin-bottom: 24px; }.report-progress-panel .section-heading { margin-bottom: 16px; }.report-progress-panel .section-heading > strong { color: var(--accent); font-size: 24px; }.progress-track { height: 10px; overflow: hidden; border-radius: 99px; background: var(--accent-soft); }.progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), var(--ok)); transition: width .7s cubic-bezier(.2,.8,.2,1); }.report-progress-copy { margin: 10px 0 0; }.export-submit { display: inline-flex !important; align-items: center; justify-content: center; gap: 9px; }.export-spinner { display: none; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.42); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }.export-submit.is-loading .export-spinner { display: inline-block; }.export-submit.is-loading .export-label { opacity: .75; }
.warehouse-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }.warehouse-report-cards { margin: 0; }.warehouse-card { display: grid; min-height: 118px; align-items: center; padding: 18px; border: 1px solid #d6e5df; border-radius: 8px; background: #fbfdfc; box-shadow: var(--shadow); }.warehouse-metric { margin: 0; color: #477067; font-size: 13px; font-weight: 700; line-height: 1.55; }.warehouse-metric strong { color: #146c50; font-size: 25px; white-space: nowrap; }.warehouse-form { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 16px; align-items: end; }.warehouse-form label { display: grid; gap: 6px; min-width: 0; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; }.warehouse-form input,.warehouse-form select { width: 100%; min-height: 42px; padding: 10px 11px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); outline-color: var(--accent); font-size: 12px; letter-spacing: 0; text-transform: none; }.warehouse-note-field { grid-column: span 2; }.warehouse-form .btn.primary { width: auto; min-width: 112px; min-height: 42px; margin-left: auto; padding: 10px 18px; justify-self: end; }.warehouse-form .error { grid-column: span 2; margin: 0; }.warehouse-confirmation-note { margin: 16px 0 0; }.compact-warehouse { margin-right: 6px; background: var(--ok); }
.warehouse-cards { grid-template-columns: repeat(auto-fit, minmax(195px, 1fr)); }.price-changes-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; }.price-change-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px; border: 1px solid var(--line); border-left: 4px solid var(--ok); border-radius: 8px; background: var(--surface-soft); opacity: 0; animation: price-change-enter .45s ease-out forwards; }.price-change-card.decreased { border-left-color: var(--danger); }.price-change-card strong,.price-change-card small { display: block; }.price-change-card strong { font-size: 13px; }.price-change-card small { margin-top: 5px; color: var(--muted); font-size: 11px; }.price-change-card b { min-width: 66px; padding: 7px 8px; color: var(--ok); border-radius: 6px; background: #e7f7ef; font-size: 13px; text-align: center; }.price-change-card.decreased b { color: var(--danger); background: #fff0f1; }.price-changes-empty { margin: 0; padding: 12px 0; }
.warehouse-minimum-form { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(160px, 1fr) auto; gap: 16px; align-items: end; }.warehouse-minimum-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; }.warehouse-minimum-form input { width: 100%; min-height: 42px; padding: 10px 11px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); outline-color: var(--accent); font-size: 12px; letter-spacing: 0; text-transform: none; }.warehouse-minimum-form .btn.primary { width: auto; min-width: 112px; min-height: 42px; padding: 10px 18px; }.warehouse-minimum-form .error { grid-column: 1 / -1; margin: 0; }
.warehouse-catalog-forms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.warehouse-catalog-forms form { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); box-shadow: var(--shadow); }.warehouse-catalog-forms h3 { margin: 0 0 3px; color: var(--text); font-size: 13px; }.warehouse-catalog-forms label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; }.warehouse-catalog-forms input,.warehouse-minimum-form select { width: 100%; min-height: 40px; padding: 9px 10px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface); outline-color: var(--accent); font-size: 12px; letter-spacing: 0; text-transform: none; }.warehouse-catalog-forms .btn.primary { width: auto; min-height: 40px; justify-self: start; padding: 9px 15px; }.warehouse-catalog-forms .error { min-height: 15px; margin: 0; }.recipient-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }.recipient-list .muted { width: 100%; margin: 0; }.recipient-chip { display: inline-flex; align-items: baseline; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); font-size: 11px; }.recipient-chip b { color: var(--text); }.recipient-chip small { color: var(--muted); }.warehouse-add-btn { display: inline-grid; width: 22px; height: 22px; place-items: center; padding: 0; margin-right: 8px; color: #fff; border: 0; border-radius: 5px; background: var(--ok); font-size: 17px; font-weight: 800; line-height: 1; vertical-align: middle; }.warehouse-add-btn:hover { background: #146c50; }
.warehouse-export-form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 16px; align-items: end; }.warehouse-export-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; }.warehouse-export-form input { min-height: 42px; padding: 10px 11px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); outline-color: var(--accent); font-size: 12px; }.warehouse-export-form .btn.primary { width: auto; min-height: 42px; padding: 10px 18px; }.warehouse-export-form .error { grid-column: 1 / -1; margin: 0; }
.warehouse-mrp-norm-form { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(180px, 1fr) minmax(150px, 1fr) auto; gap: 12px; align-items: end; padding: 16px; margin-top: 16px; border: 1px solid #d8e7ff; border-radius: 8px; background: #f6f9ff; }.warehouse-mrp-norm-form h3 { grid-column: 1 / -1; margin: 0; color: #174ea6; font-size: 13px; }.warehouse-mrp-norm-form label,.warehouse-search-field { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; }.warehouse-mrp-norm-form input,.warehouse-mrp-norm-form select,.warehouse-search-field input { min-height: 40px; padding: 9px 10px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface); outline-color: var(--accent); font-size: 12px; letter-spacing: 0; text-transform: none; }.warehouse-mrp-norm-form .btn.primary { width: auto; min-height: 40px; padding: 9px 15px; }.warehouse-mrp-norm-form .error { grid-column: 1 / -1; min-height: 15px; margin: 0; }.warehouse-mrp-norms { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }.warehouse-mrp-norms .muted { width: 100%; margin: 0; }.warehouse-search-field { min-width: 250px; }.warehouse-search-results { display: grid; gap: 8px; margin: 0 0 14px; }.warehouse-search-results .muted { margin: 0; }.warehouse-search-item { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(160px, 2fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); font-size: 12px; }.warehouse-search-item span { color: var(--muted); font-size: 11px; }.warehouse-expense-btn { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; color: #fff; border: 0; border-radius: 5px; background: var(--danger); font-size: 21px; line-height: 1; }.warehouse-expense-btn:hover { background: #c73542; }
.warehouse-period-fields { display: flex; gap: 10px; align-items: end; }.warehouse-period-fields .month-field { min-width: 130px; }
.warehouse-expense-product-field { grid-column: span 2; }
.panel { padding: 23px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: var(--shadow); }.panel h2 { margin: 0 0 18px; font-size: 18px; }.data-table { width: 100%; border-collapse: collapse; font-size: 12px; }.data-table th,.data-table td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }.data-table th { color: #8792a5; font-size: 10px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }.data-table tbody tr { transition: background .15s; }.data-table tbody tr:hover { background: #f7f9fd; }
.month-field { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }.month-field input { min-height: 36px; padding: 7px 9px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); font-size: 12px; letter-spacing: 0; text-transform: none; }
.orders-toolbar { display: flex; gap: 10px; margin-bottom: 16px; }.search-field { display: flex; flex: 1; align-items: center; gap: 9px; min-width: 0; padding: 0 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }.search-field span { color: var(--muted); font-size: 20px; }.search-field input { width: 100%; padding: 11px 0; color: var(--text); border: 0; outline: 0; background: transparent; font-size: 12px; }.orders-toolbar select { min-width: 178px; padding: 0 12px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; outline: 0; background: var(--surface); font-size: 12px; }
.breakdown-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }.breakdown-col { padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }.breakdown-col h4 { margin: 0 0 8px; color: var(--text); font-size: 12px; }.breakdown-col ul { max-height: 200px; padding: 0; margin: 0; overflow-y: auto; list-style: none; font-size: 11px; }.breakdown-col li { padding: 7px 0; border-bottom: 1px dashed var(--line); }.badge-ok { color: var(--ok); font-weight: 700; }.badge-warn { color: var(--warn); font-weight: 700; }.badge-danger { color: var(--danger); font-weight: 700; }.status-pill { display: inline-flex; padding: 5px 8px; border-radius: 99px; font-size: 10px; font-weight: 700; }.status-live { color: var(--accent); background: var(--accent-soft); }.status-done { color: var(--ok); background: #e7f7ef; }
.role-orders { margin-bottom: 24px; }.role-orders-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }.role-orders-heading h2 { margin: 0; font-size: 20px; }.role-orders-grid,.completed-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }.role-order-card,.completed-item { padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: var(--shadow); }.role-order-main h3 { margin: 8px 0 3px; font-size: 14px; }.role-order-main p,.role-order-status span,.role-order-status small,.completed-item span,.completed-item small { display: block; color: var(--muted); font-size: 11px; }.role-order-state { color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .7px; }.role-order-status { padding: 13px 0; margin: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.role-order-status strong { display: block; margin: 4px 0; font-size: 12px; }.completed-item strong,.completed-item em { display: block; }.completed-item em { margin-top: 10px; color: var(--text); font-size: 12px; font-style: normal; font-weight: 800; }.completed-heading { margin: 30px 0 15px; }
.controller-workspace-panel { padding: 20px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.controller-workspace-panel .role-orders-heading { margin-bottom: 14px; }
.price-total { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; margin: 18px 0; color: #174ea6; border: 1px solid #9bbcff; border-radius: 8px; background: var(--accent-soft); }
.price-total span { font-size: 11px; font-weight: 700; }
.price-total strong { font-size: 20px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 20px; background: rgba(23,32,51,.42); backdrop-filter: blur(5px); }.action-modal { position: relative; width: min(100%, 460px); padding: 29px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 24px 70px rgba(23,32,51,.2); animation: modal-in .2s both; }.modal-close { position: absolute; top: 14px; right: 14px; width: 28px; height: 28px; color: var(--muted); border: 0; border-radius: 6px; background: var(--surface-soft); }.action-modal h2 { margin: 0; font-size: 25px; }.action-modal label { display: block; margin: 15px 0; color: var(--muted); font-size: 11px; font-weight: 700; }.action-modal input,.action-modal select { display: block; width: 100%; padding: 11px; margin-top: 7px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); outline-color: var(--accent); }.confirm-copy { padding: 13px; color: var(--muted); border-left: 3px solid var(--accent); background: var(--accent-soft); }.btn.primary { width: 100%; }.toast { position: fixed; right: 22px; bottom: 22px; z-index: 40; padding: 13px 17px; color: var(--text); opacity: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow); transform: translateY(16px); pointer-events: none; transition: .25s; font-size: 12px; }.toast.show { opacity: 1; transform: translateY(0); }
.login-body { display: grid; min-height: 100vh; place-items: center; padding: 20px; background: var(--bg); }.login-card { width: min(100%, 390px); padding: 34px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }.login-card h1 { margin-top: 0; font-size: 24px; }.login-card input { display: block; width: 100%; padding: 12px; margin: 12px 0; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); outline-color: var(--accent); text-align: center; }.login-card .btn { width: 100%; }.leader-view .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }.leader-view .card { min-height: 170px; }.leader-view .card .value { font-size: 38px; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @keyframes modal-in { from { opacity: 0; transform: scale(.98); } to { opacity: 1; transform: scale(1); } } @keyframes price-change-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes comparison-card-in { from { opacity: 0; transform: translateY(7px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 1080px) { .sidebar { width: 210px; }.app-content { width: calc(100% - 210px); margin-left: 210px; }.workspace { padding: 32px 24px 60px; }.cards,.warehouse-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }.warehouse-form { grid-template-columns: repeat(2, minmax(180px, 1fr)); }.warehouse-catalog-forms { grid-template-columns: repeat(2, minmax(0, 1fr)); }.task-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.data-table { display: block; overflow-x: auto; } }
@media (max-width: 700px) { .sidebar { display: none; }.archive-panel { display: none; }.app-content { width: 100%; margin-left: 0; }.topbar { min-height: 62px; padding: 12px 16px; }.mobile-brand { display: flex; font-size: 12px; }.mobile-brand > span { width: 28px; height: 28px; border-radius: 8px; font-size: 10px; }.topbar-right { gap: 8px; }.topbar-right > .muted { display: none; }.profile-chip { padding-left: 0; border-left: 0; }.profile-chip b { display: none; }.mobile-nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 20; display: grid; grid-template-columns: repeat(5, 1fr); padding: 7px 8px max(7px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--header-bg); box-shadow: 0 -8px 20px rgba(39,55,86,.08); }.mobile-nav .nav-item { display: grid; justify-items: center; gap: 2px; padding: 5px 2px; border-radius: 6px; font-size: 9px; }.mobile-nav .nav-icon { font-size: 16px; }.mobile-nav small { font-size: 9px; }.workspace { padding: 28px 16px 86px; }.workspace-header { display: block; margin-bottom: 24px; }.workspace-header h1 { font-size: 30px; }.action-board,.panel { padding: 17px; border-radius: 9px; }.task-list,.cards,.warehouse-cards,.leader-view .cards,.warehouse-catalog-forms { grid-template-columns: 1fr; }.analytics-grid { grid-template-columns: 1fr; }.chart-wrap,.chart-wrap-donut { height: 235px; }.warehouse-form { grid-template-columns: 1fr; }.warehouse-note-field,.warehouse-form .error { grid-column: auto; }.warehouse-form .btn.primary { width: auto; margin-top: 4px; }.orders-toolbar { display: grid; grid-template-columns: 1fr; }.orders-toolbar select { min-height: 40px; }.section-heading h2 { font-size: 17px; }.table-hint { display: none; } }
@media (max-width: 700px) { .warehouse-minimum-form,.warehouse-export-form,.warehouse-mrp-norm-form { grid-template-columns: 1fr; }.warehouse-minimum-form .btn.primary,.warehouse-export-form .btn.primary,.warehouse-mrp-norm-form .btn.primary { width: auto; justify-self: end; }.warehouse-minimum-form .error,.warehouse-export-form .error,.warehouse-mrp-norm-form .error { grid-column: auto; }.warehouse-search-field { min-width: 0; width: 100%; margin-top: 12px; }.section-heading:has(.warehouse-search-field) { display: block; }.warehouse-period-fields { width: 100%; margin-top: 12px; }.warehouse-period-fields .month-field { flex: 1; min-width: 0; }.warehouse-search-item { grid-template-columns: 1fr auto; }.warehouse-search-item span { grid-row: 2; }.warehouse-search-item .warehouse-expense-btn { grid-row: 1 / span 2; grid-column: 2; } }
.file-meta { display: block; max-width: 230px; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.data-table#orders-table { table-layout: fixed; }
.data-table#orders-table th:nth-child(1), .data-table#orders-table td:nth-child(1) { width: 9%; }
.data-table#orders-table th:nth-child(2), .data-table#orders-table td:nth-child(2) { width: 18%; overflow: hidden; text-overflow: ellipsis; }
.data-table#orders-table th:nth-child(n+3):nth-child(-n+9), .data-table#orders-table td:nth-child(n+3):nth-child(-n+9) { width: 7%; }
.role-order-action { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-height: 48px; }
.price-order-amount { display: inline-flex; min-width: 155px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 9px 13px; color: #174ea6; border: 1px solid #9bbcff; border-radius: 9px; background: linear-gradient(135deg, #eaf1ff, #d8e7ff); box-shadow: 0 5px 14px rgba(37,99,235,.14); line-height: 1.15; }
.price-order-amount small { color: #4774b9; font-size: 9px; font-weight: 700; }
.price-order-amount b { margin-top: 3px; color: #1656c7; font-size: 19px; font-weight: 900; }
.price-order-amount em { margin-top: 2px; color: #4774b9; font-size: 9px; font-style: normal; font-weight: 700; }
.warehouse-mrp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 14px; margin-top: 18px; }.warehouse-mrp-card { padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); transition: transform .2s, border-color .2s, box-shadow .2s; }.warehouse-mrp-card:hover { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); box-shadow: var(--shadow); transform: translateY(-2px); }.warehouse-mrp-card.is-confirmed { border-color: color-mix(in srgb, var(--ok) 30%, var(--line)); background: var(--surface-soft); }.warehouse-mrp-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.warehouse-mrp-status { color: var(--accent); font-size: 9px; font-weight: 900; letter-spacing: 1.1px; }.is-confirmed .warehouse-mrp-status { color: var(--ok); }.warehouse-mrp-card h3 { margin: 6px 0 0; font-size: 20px; }.warehouse-mrp-card-open { padding: 7px 10px; color: var(--accent); border: 1px solid var(--line); border-radius: 7px; background: var(--accent-soft); font-size: 11px; font-weight: 800; }.warehouse-mrp-materials { display: grid; gap: 7px; padding: 15px 0; margin-top: 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.warehouse-mrp-material { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--text); font-size: 12px; }.warehouse-mrp-material b { color: var(--accent); white-space: nowrap; }.warehouse-mrp-material small { color: var(--muted); font-size: 10px; font-weight: 600; }.warehouse-mrp-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 13px; color: var(--muted); font-size: 11px; }.warehouse-mrp-card-foot .btn { min-width: auto; padding: 8px 11px; }
@media (max-width: 700px) { .role-order-action { justify-content: space-between; } .price-order-amount { min-width: 132px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Linear-inspired presentation layer. Business logic keeps the existing markup contract. */
:root { --bg: #f4f5f7; --surface: #ffffff; --surface-soft: #f8f9fb; --text: #18181b; --muted: #71717a; --line: #e4e4e7; --accent: #2563eb; --accent-soft: #eff6ff; --ok: #16a34a; --warn: #ca8a04; --danger: #dc2626; --shadow: 0 1px 2px rgba(24,24,27,.04), 0 12px 32px rgba(24,24,27,.05); --header-bg: rgba(255,255,255,.82); --hover-bg: #fafafa; }
[data-theme="dark"] { --bg: #09090b; --surface: #111113; --surface-soft: #18181b; --text: #fafafa; --muted: #a1a1aa; --line: #27272a; --accent: #60a5fa; --accent-soft: #172554; --ok: #4ade80; --warn: #facc15; --danger: #fb7185; --shadow: 0 1px 2px rgba(0,0,0,.35), 0 18px 40px rgba(0,0,0,.16); --header-bg: rgba(9,9,11,.82); --hover-bg: #18181b; }
body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; background: radial-gradient(circle at 15% -10%, rgba(37,99,235,.06), transparent 32%), var(--bg); }
.sidebar { width: 248px; padding: 22px 14px 16px; border-color: var(--line); background: var(--surface); }.brand-lockup { padding: 0 9px; }.brand-lockup > span { width: 30px; height: 30px; border-radius: 8px; box-shadow: 0 5px 14px rgba(37,99,235,.2); }.brand-lockup strong { font-size: 12px; letter-spacing: 1.8px; }.brand-lockup b { font-size: 9px; letter-spacing: 1.8px; }
.main-nav { gap: 3px; margin-top: 42px; }.nav-item { gap: 11px; padding: 10px 11px; border: 1px solid transparent; border-radius: 7px; font-size: 12px; font-weight: 550; transition: color .16s, background .16s, border-color .16s, transform .16s; }.nav-item:hover { transform: translateX(2px); }.nav-item:hover, .nav-item.active { color: var(--text); border-color: var(--line); background: var(--surface-soft); }.nav-item.active { color: var(--accent); box-shadow: inset 2px 0 0 var(--accent); }.nav-icon { display: inline-grid; width: 17px; height: 17px; place-items: center; font-size: 15px; }.nav-icon svg { width: 16px; height: 16px; stroke-width: 1.8; }
.sidebar-footer { gap: 9px; padding: 13px 8px 2px; border-color: var(--line); }.sidebar-profile-copy { min-width: 0; flex: 1; }.sidebar-footer b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.sidebar-footer small { margin-top: 4px; font-size: 10px; }.status-dot { flex: 0 0 auto; width: 7px; height: 7px; background: var(--ok); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok) 14%, transparent); }.sidebar-logout { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; color: var(--muted); border: 1px solid transparent; border-radius: 6px; background: transparent; }.sidebar-logout:hover { color: var(--danger); border-color: var(--line); background: var(--surface-soft); }.sidebar-logout svg { width: 14px; height: 14px; }
.app-content { width: calc(100% - 248px); margin-left: 248px; }.topbar { min-height: 64px; padding: 12px 34px; border-color: var(--line); }.topbar-right { gap: 12px; }.profile-chip { gap: 8px; padding-left: 13px; font-size: 11px; }.profile-chip span { width: 28px; height: 28px; font-size: 9px; }.theme-toggle { font-size: 14px; }.btn.small { border-radius: 6px; }
.workspace { width: min(100%, 1500px); padding: 38px 42px 72px; }.workspace-header { margin-bottom: 26px; }.workspace-header h1 { font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -.9px; }.workspace-header p:not(.eyebrow) { font-size: 13px; }.eyebrow { font-size: 9px; letter-spacing: 1.3px; }
.action-board { padding: 20px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: var(--shadow); }.board-heading { margin-bottom: 14px; }.board-heading h2, .section-heading h2, .completed-heading h2 { font-size: 16px; font-weight: 650; }.board-heading > span, .table-hint { color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line)); background: var(--accent-soft); font-size: 9px; }.task-list { gap: 9px; }.task-item { padding: 12px; border-color: var(--line); border-radius: 8px; background: var(--surface-soft); transition: border-color .16s, transform .16s, box-shadow .16s; }.task-item:hover { border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); box-shadow: var(--shadow); transform: translateY(-1px); }.task-item > span { color: var(--muted); }.task-item b { font-size: 11px; }.task-item em { color: var(--muted); font-size: 8px; }.work-btn { padding: 7px 10px; border-radius: 6px; font-size: 10px; box-shadow: none; }.work-btn:hover { box-shadow: 0 5px 14px rgba(37,99,235,.16); }
.cards { gap: 11px; margin-bottom: 24px; }.card { min-height: 124px; padding: 17px; border-radius: 9px; box-shadow: var(--shadow); transition: border-color .18s, transform .18s, box-shadow .18s; }.card:hover { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); box-shadow: 0 12px 28px rgba(24,24,27,.08); transform: translateY(-2px); }.card::after { right: 15px; top: 17px; width: 28px; height: 28px; border-radius: 7px; }.card h3 { font-size: 10px; }.card .value { margin-top: 13px; font-size: 26px; letter-spacing: -.5px; }.card .sub { font-size: 9px; opacity: .8; }
.panel { padding: 20px; margin-bottom: 20px; border-radius: 9px; box-shadow: var(--shadow); }.panel h2 { margin-bottom: 16px; }.data-table { font-size: 11px; }.data-table th, .data-table td { padding: 11px 10px; border-bottom-color: var(--line); }.data-table th { color: var(--muted); font-size: 9px; }.data-table tbody tr:hover { background: var(--hover-bg); }.status-pill { padding: 4px 8px; border: 1px solid transparent; font-size: 9px; }.status-live { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 20%, var(--line)); background: var(--accent-soft); }.status-done { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 22%, var(--line)); background: color-mix(in srgb, var(--ok) 10%, transparent); }.badge-ok { color: var(--ok); }.badge-warn { color: var(--warn); }.badge-danger { color: var(--danger); }
.analytics-grid { gap: 12px; margin-bottom: 12px; }.chart-wrap, .chart-wrap-donut { height: 250px; }.report-progress-panel { margin-bottom: 20px; }.progress-track { height: 8px; }.role-order-card, .completed-item { border-radius: 9px; box-shadow: var(--shadow); }.orders-toolbar { gap: 8px; }.search-field, .orders-toolbar select { border-color: var(--line); background: var(--surface-soft); }.search-field:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent); }
.comparison-heading { align-items: flex-start; }.comparison-select { display: grid; gap: 5px; min-width: 108px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }.comparison-select select { min-height: 34px; padding: 7px 28px 7px 9px; color: var(--text); border: 1px solid var(--line); border-radius: 6px; outline: 0; background: var(--surface-soft); font-size: 11px; cursor: pointer; }.comparison-select select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent); }.comparison-list { display: grid; gap: 12px; }.comparison-card { padding: 17px; border: 1px solid var(--line); border-left: 3px solid var(--muted); border-radius: 8px; background: var(--surface-soft); animation: comparison-card-in .32s ease-out both; }.comparison-card.increase { border-left-color: var(--ok); }.comparison-card.decrease { border-left-color: var(--danger); }.comparison-card-heading { display: flex; gap: 10px; align-items: center; }.comparison-icon { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; color: var(--muted); border-radius: 8px; background: color-mix(in srgb, var(--muted) 12%, transparent); }.comparison-icon svg { width: 16px; height: 16px; }.comparison-card.increase .comparison-icon, .comparison-card.increase .comparison-metrics b { color: var(--ok); }.comparison-card.decrease .comparison-icon, .comparison-card.decrease .comparison-metrics b { color: var(--danger); }.comparison-card-heading strong, .comparison-card-heading small { display: block; }.comparison-card-heading strong { font-size: 13px; }.comparison-card-heading small { margin-top: 3px; color: var(--muted); font-size: 10px; }.comparison-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }.comparison-metrics div { min-width: 0; padding-top: 10px; border-top: 1px solid var(--line); }.comparison-metrics span, .comparison-metrics small { display: block; color: var(--muted); font-size: 10px; }.comparison-metrics b { display: block; margin: 4px 0 2px; font-size: 22px; }.comparison-metrics small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.modal-backdrop { background: rgba(9,9,11,.58); }.action-modal { border-radius: 10px; box-shadow: 0 24px 80px rgba(0,0,0,.28); }.toast { border: 1px solid var(--line); background: var(--surface); color: var(--text); }
@media (max-width: 1080px) { .sidebar { width: 220px; }.app-content { width: calc(100% - 220px); margin-left: 220px; }.workspace { padding: 32px 24px 60px; } }
@media (max-width: 700px) { .app-content { width: 100%; margin-left: 0; }.workspace { padding: 26px 15px 88px; }.topbar { padding: 11px 15px; }.mobile-nav { border-color: var(--line); background: var(--header-bg); }.mobile-nav .nav-item { border: 1px solid transparent; }.mobile-nav .nav-item.active { border-color: var(--line); box-shadow: none; }.action-board, .panel { padding: 16px; } }

.warehouse-cards { gap: 12px; margin-bottom: 20px; }.warehouse-card { min-height: 108px; padding: 17px; border-color: var(--line); border-radius: 9px; background: var(--surface); box-shadow: var(--shadow); }.warehouse-metric { color: var(--muted); font-size: 11px; }.warehouse-metric strong { display: block; margin-top: 5px; color: var(--text); font-size: 23px; letter-spacing: -.4px; }
.warehouse-form, .warehouse-minimum-form, .warehouse-export-form { gap: 14px; }.warehouse-form label, .warehouse-minimum-form label, .warehouse-export-form label, .warehouse-catalog-forms label, .warehouse-mrp-norm-form label, .warehouse-search-field { color: var(--muted); font-size: 9px; letter-spacing: .6px; }.warehouse-form input, .warehouse-form select, .warehouse-minimum-form input, .warehouse-minimum-form select, .warehouse-export-form input, .warehouse-catalog-forms input, .warehouse-mrp-norm-form input, .warehouse-mrp-norm-form select, .warehouse-search-field input { min-height: 40px; padding: 9px 11px; color: var(--text); border: 1px solid var(--line); border-radius: 7px; outline: none; background: var(--surface-soft); font-size: 12px; transition: border-color .16s, box-shadow .16s, background .16s; }.warehouse-form input::placeholder, .warehouse-minimum-form input::placeholder, .warehouse-export-form input::placeholder, .warehouse-catalog-forms input::placeholder, .warehouse-mrp-norm-form input::placeholder, .warehouse-search-field input::placeholder { color: var(--muted); opacity: .75; }.warehouse-form input:focus, .warehouse-form select:focus, .warehouse-minimum-form input:focus, .warehouse-minimum-form select:focus, .warehouse-export-form input:focus, .warehouse-catalog-forms input:focus, .warehouse-mrp-norm-form input:focus, .warehouse-mrp-norm-form select:focus, .warehouse-search-field input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.warehouse-catalog-forms { gap: 16px; }.warehouse-catalog-forms form { gap: 12px; padding: 18px; border-color: var(--line); border-radius: 9px; background: var(--surface-soft); box-shadow: none; }.warehouse-catalog-forms h3 { color: var(--text); font-size: 13px; }.warehouse-catalog-forms .btn.primary, .warehouse-minimum-form .btn.primary, .warehouse-export-form .btn.primary, .warehouse-mrp-norm-form .btn.primary, .warehouse-form .btn.primary { width: auto; min-height: 40px; padding: 9px 14px; color: #fff; border-radius: 7px; background: var(--accent); font-size: 11px; }.warehouse-catalog-forms .btn.primary:hover, .warehouse-minimum-form .btn.primary:hover, .warehouse-export-form .btn.primary:hover, .warehouse-mrp-norm-form .btn.primary:hover, .warehouse-form .btn.primary:hover { background: #1d4ed8; transform: translateY(-1px); }
.warehouse-mrp-norm-form { gap: 14px; padding: 18px; margin-top: 14px; border-color: var(--line); border-radius: 9px; background: var(--surface-soft); }.warehouse-mrp-norm-form h3 { color: var(--text); font-size: 13px; }.warehouse-mrp-cards { gap: 12px; margin-top: 14px; }.warehouse-mrp-card { padding: 16px; border-color: var(--line); border-radius: 9px; background: var(--surface); box-shadow: var(--shadow); }.warehouse-mrp-card:hover { border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); box-shadow: var(--shadow); }.warehouse-mrp-card-open { color: var(--accent); border-color: var(--line); background: var(--accent-soft); }.warehouse-mrp-card.is-confirmed { border-color: color-mix(in srgb, var(--ok) 30%, var(--line)); background: var(--surface); }.warehouse-mrp-material b { color: var(--text); }
.warehouse-search-item { padding: 10px 12px; border-color: var(--line); border-radius: 7px; background: var(--surface-soft); }.price-change-card { border-color: var(--line); background: var(--surface-soft); }.recipient-chip { border-color: var(--line); background: var(--surface-soft); }.warehouse-search-field { min-width: 230px; }
[data-theme="dark"] .warehouse-form input, [data-theme="dark"] .warehouse-form select, [data-theme="dark"] .warehouse-minimum-form input, [data-theme="dark"] .warehouse-minimum-form select, [data-theme="dark"] .warehouse-export-form input, [data-theme="dark"] .warehouse-catalog-forms input, [data-theme="dark"] .warehouse-mrp-norm-form input, [data-theme="dark"] .warehouse-mrp-norm-form select, [data-theme="dark"] .warehouse-search-field input { background: rgba(24,24,27,.72); color: #fafafa; }
@media (max-width: 700px) { .warehouse-catalog-forms { gap: 12px; }.warehouse-catalog-forms form { padding: 15px; }.warehouse-search-field { min-width: 0; }.warehouse-form input, .warehouse-form select { min-height: 42px; } }

/* Enterprise table primitives: muted headers, quiet rows, soft badges and secondary actions. */
.data-table { border-collapse: separate; border-spacing: 0; color: var(--text); }.data-table thead th { padding: 10px 12px; color: var(--muted); border-bottom: 1px solid var(--line); background: transparent; font-size: 9px; font-weight: 600; letter-spacing: .65px; text-transform: uppercase; }.data-table tbody td { padding: 12px; border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent); }.data-table tbody tr { transition: background-color .16s ease; }.data-table tbody tr:hover { background: color-mix(in srgb, var(--surface-soft) 78%, transparent); }.data-table tbody tr:last-child td { border-bottom: 0; }
.report-table-heading { margin-bottom: 16px; }.report-table-heading h2 { margin: 0; }.report-search-field { display: flex; width: min(100%, 270px); align-items: center; gap: 8px; padding: 0 10px; color: var(--muted); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }.report-search-field:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent); }.report-search-field svg { width: 14px; height: 14px; flex: 0 0 auto; }.report-search-field input { width: 100%; min-width: 0; padding: 9px 0; color: var(--text); border: 0; outline: 0; background: transparent; font-size: 11px; }.report-search-field input::placeholder { color: var(--muted); }
.status-pill { display: inline-flex; min-height: 23px; align-items: center; padding: 3px 9px; border: 1px solid transparent; border-radius: 999px; font-size: 10px; font-weight: 600; line-height: 1; white-space: nowrap; }.status-live { color: #2563eb; border-color: #bfdbfe; background: #eff6ff; }.status-done { color: #15803d; border-color: #bbf7d0; background: #f0fdf4; }.status-pill.status-waiting { color: #2563eb; border-color: #bfdbfe; background: #eff6ff; }.status-pill.status-warning { color: #a16207; border-color: #fde68a; background: #fefce8; }.status-pill.status-danger { color: #be123c; border-color: #fecdd3; background: #fff1f2; }
.data-table .work-btn, #orders-table .work-btn, .role-orders .work-btn { display: inline-flex; min-height: 28px; align-items: center; justify-content: center; padding: 5px 9px; color: var(--muted); border: 1px solid var(--line); border-radius: 6px; background: transparent; box-shadow: none; font-size: 10px; font-weight: 600; transition: color .16s, border-color .16s, background-color .16s, transform .16s; }.data-table .work-btn:hover, #orders-table .work-btn:hover, .role-orders .work-btn:hover { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); background: var(--accent-soft); box-shadow: none; transform: translateY(-1px); }.data-table .work-btn.danger, #orders-table .work-btn.danger, .role-orders .work-btn.danger { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 35%, var(--line)); background: transparent; }.data-table .work-btn.danger:hover, #orders-table .work-btn.danger:hover, .role-orders .work-btn.danger:hover { background: color-mix(in srgb, var(--danger) 10%, transparent); }
[data-theme="dark"] .status-live { color: #93c5fd; border-color: #1e3a8a; background: rgba(30,58,138,.32); }.data-theme-dark .status-done, [data-theme="dark"] .status-done { color: #86efac; border-color: #166534; background: rgba(22,101,52,.24); }[data-theme="dark"] .status-pill.status-warning { color: #fde68a; border-color: #854d0e; background: rgba(133,77,14,.24); }[data-theme="dark"] .status-pill.status-danger { color: #fda4af; border-color: #9f1239; background: rgba(159,18,57,.24); }
.warehouse-card.warehouse-card-ok { border-color: #86efac; background: #f0fdf4; }.warehouse-card.warehouse-card-ok .warehouse-metric, .warehouse-card.warehouse-card-ok .warehouse-metric strong { color: #15803d; }.warehouse-card.warehouse-card-danger { border-color: #fda4af; background: #fff1f2; }.warehouse-card.warehouse-card-danger .warehouse-metric, .warehouse-card.warehouse-card-danger .warehouse-metric strong { color: #be123c; }[data-theme="dark"] .warehouse-card.warehouse-card-ok { border-color: #166534; background: rgba(22,101,52,.24); }[data-theme="dark"] .warehouse-card.warehouse-card-ok .warehouse-metric, [data-theme="dark"] .warehouse-card.warehouse-card-ok .warehouse-metric strong { color: #86efac; }[data-theme="dark"] .warehouse-card.warehouse-card-danger { border-color: #9f1239; background: rgba(159,18,57,.24); }[data-theme="dark"] .warehouse-card.warehouse-card-danger .warehouse-metric, [data-theme="dark"] .warehouse-card.warehouse-card-danger .warehouse-metric strong { color: #fda4af; }
#warehouse > .panel { margin-bottom: 30px; }.warehouse-report-panel, .warehouse-catalog-panel, .warehouse-norm-panel, .warehouse-minimum-panel, .price-changes-panel, .warehouse-mrp-report-panel, #warehouse > .panel:not(:last-child) { margin-bottom: 30px; }.warehouse-report-panel + .panel, .warehouse-catalog-panel + .panel, .warehouse-norm-panel + .panel { margin-top: 0; }
@media (max-width: 700px) { .data-table thead th { padding: 9px 10px; }.data-table tbody td { padding: 11px 10px; }.data-table .work-btn, #orders-table .work-btn { min-height: 30px; padding: 6px 9px; }.warehouse-report-panel, .warehouse-catalog-panel, .warehouse-norm-panel, .warehouse-minimum-panel, .price-changes-panel, .warehouse-mrp-report-panel, #warehouse > .panel:not(:last-child) { margin-bottom: 24px; } }

/* ORZU FLOW ERP system layer. Scoped to dashboard surfaces; API and DOM contracts stay intact. */
body:not(.login-body) { --bg: #090b0f; --surface: #101318; --surface-soft: #141820; --text: #f8fafc; --muted: #94a3b8; --line: #252b35; --accent: #3b82f6; --accent-soft: rgba(59,130,246,.12); --ok: #22c55e; --warn: #f59e0b; --danger: #ef4444; --shadow: 0 1px 2px rgba(0,0,0,.28), 0 14px 34px rgba(0,0,0,.14); --header-bg: rgba(9,11,15,.86); --hover-bg: rgba(25,30,39,.76); background: var(--bg); color: var(--text); }
html[data-theme="light"] body:not(.login-body) { --bg: #f8fafc; --surface: #ffffff; --surface-soft: #f1f5f9; --text: #0f172a; --muted: #64748b; --line: #e2e8f0; --accent: #2563eb; --accent-soft: #eff6ff; --ok: #16a34a; --warn: #d97706; --danger: #dc2626; --shadow: 0 1px 2px rgba(15,23,42,.04), 0 14px 34px rgba(15,23,42,.06); --header-bg: rgba(248,250,252,.88); --hover-bg: #f8fafc; }
body:not(.login-body) .topbar-context { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 600; }.topbar-context svg { width: 15px; height: 15px; color: var(--accent); }.topbar-context::after { width: 1px; height: 16px; margin-left: 8px; content: ""; background: var(--line); }
.warehouse-row-actions { display: inline-flex; align-items: center; gap: 6px; }.warehouse-delete-btn { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; color: #fff; border: 0; border-radius: 5px; background: var(--danger); }.warehouse-delete-btn:hover { background: #c73542; }.warehouse-delete-btn svg { width: 15px; height: 15px; stroke-width: 2.5; }
.warehouse-inline-row td { padding: 0 12px 12px; border-bottom: 1px solid var(--line); }.warehouse-inline-card { display: grid; gap: 12px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); border-radius: 8px; background: var(--surface-soft); box-shadow: var(--shadow); }.warehouse-inline-fields { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 12px; }.warehouse-inline-fields label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 600; }.warehouse-inline-fields input, .warehouse-inline-fields select { min-height: 36px; padding: 7px 9px; color: var(--text); border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }.warehouse-inline-actions { display: flex; align-items: center; gap: 8px; }.warehouse-inline-actions .error { margin: 0; color: var(--danger); font-size: 11px; }.warehouse-inline-actions .btn { min-height: 32px; }.warehouse-inline-actions .btn.small { padding: 7px 10px; }
body:not(.login-body) .workspace-header { margin-bottom: 32px; }.workspace-header h1 { color: var(--text); }.workspace-header p:not(.eyebrow) { color: var(--muted); }.eyebrow { color: #60a5fa; }
body:not(.login-body) .sidebar { border-right-color: var(--line); background: #0d1015; }.sidebar .nav-item { color: var(--muted); }.sidebar .nav-item:hover { color: var(--text); background: rgba(59,130,246,.08); }.sidebar .nav-item.active { color: #93c5fd; border-color: rgba(59,130,246,.18); background: rgba(59,130,246,.1); box-shadow: inset 2px 0 0 var(--accent); }.sidebar-footer { border-color: var(--line); }.sidebar-footer small { color: var(--muted); }
body:not(.login-body) .action-board, body:not(.login-body) .panel, body:not(.login-body) .card, body:not(.login-body) .role-order-card, body:not(.login-body) .completed-item { border-color: var(--line); background: var(--surface); box-shadow: var(--shadow); }.action-board { padding: 24px; }.board-heading h2, .section-heading h2, .completed-heading h2 { color: var(--text); }.task-item { border-color: var(--line); background: var(--surface-soft); }.task-item:hover, .card:hover { border-color: rgba(59,130,246,.45); background: var(--surface-soft); }
body:not(.login-body) .cards { gap: 16px; margin-bottom: 32px; }.card { min-height: 148px; padding: 20px; border-radius: 12px; }.kpi-heading { display: flex; min-height: 32px; align-items: center; gap: 10px; }.kpi-heading h3 { min-height: 0; margin: 0; }.kpi-icon { display: inline-grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; color: #93c5fd; border: 1px solid rgba(59,130,246,.2); border-radius: 8px; background: rgba(59,130,246,.1); }.kpi-icon svg { width: 15px; height: 15px; stroke-width: 1.8; }.card .value { margin-top: 20px; font-size: 30px; }.card .sub { margin-top: 8px; color: var(--muted); }
body:not(.login-body) .panel { padding: 24px; margin-bottom: 32px; border-radius: 12px; }.section-heading { min-height: 34px; }.data-table thead th { background: rgba(148,163,184,.035); }.data-table tbody tr:hover { background: rgba(25,30,39,.7); }.table-total td { color: var(--text); border-top: 1px solid var(--line); }.table-empty td { padding: 34px 16px !important; color: var(--muted); text-align: center !important; }.table-empty strong, .table-empty small { display: block; }.table-empty strong { margin-top: 8px; color: var(--text); font-size: 12px; }.table-empty small { margin-top: 4px; font-size: 11px; }.empty-icon { display: inline-grid; width: 32px; height: 32px; place-items: center; color: var(--muted); border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }.empty-icon svg { width: 16px; height: 16px; }
.skeleton-block { display: block; min-height: 52px; border: 1px solid var(--line); border-radius: 9px; background: linear-gradient(90deg, var(--surface-soft) 25%, rgba(148,163,184,.1) 50%, var(--surface-soft) 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.25s ease-in-out infinite; }.warehouse-cards .skeleton-block { min-height: 108px; }.data-table tbody .skeleton-block { min-height: 20px; }.data-table tbody .skeleton-block + .skeleton-block { margin-top: 5px; }
.skeleton-row td { padding: 16px !important; }.skeleton-line { display: block; width: 100%; height: 12px; margin: 7px 0; border-radius: 5px; background: linear-gradient(90deg, var(--surface-soft) 25%, rgba(148,163,184,.1) 50%, var(--surface-soft) 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.25s ease-in-out infinite; }
body:not(.login-body) .toast { border-color: var(--line); background: var(--surface); color: var(--text); }.modal-backdrop { background: rgba(0,0,0,.68); }.action-modal { border-color: var(--line); background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.dashboard-disabled-overlay { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px; background: rgba(9,11,15,.72); backdrop-filter: blur(5px); }.dashboard-disabled-overlay section { width: min(420px, 100%); padding: 26px; color: #f8fafc; border: 1px solid #475569; border-radius: 12px; background: #111827; box-shadow: 0 20px 60px rgba(0,0,0,.35); text-align: center; }.dashboard-disabled-overlay strong { display: block; font-size: 18px; }.dashboard-disabled-overlay p { margin: 10px 0 0; color: #cbd5e1; font-size: 13px; line-height: 1.5; }
@keyframes skeleton-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
@media (max-width: 700px) { body:not(.login-body) .topbar-context { display: none; } body:not(.login-body) .panel { padding: 18px; margin-bottom: 24px; } body:not(.login-body) .cards { gap: 12px; margin-bottom: 24px; }.card { min-height: 132px; padding: 17px; }.card .value { margin-top: 16px; font-size: 27px; } }

/* Collapsible desktop/tablet sidebar. Mobile keeps the existing bottom navigation. */
@media (min-width: 701px) {
  body:not(.login-body) .sidebar, body:not(.login-body) .app-content { transition: width .3s ease-in-out, margin-left .3s ease-in-out; }
  body:not(.login-body) .brand-lockup { position: relative; min-height: 34px; padding-right: 38px; }
  .brand-copy { min-width: 0; transition: opacity .2s ease, transform .3s ease; }
  .sidebar-toggle { position: absolute; top: 1px; right: 0; display: grid; width: 28px; height: 28px; place-items: center; padding: 0; color: var(--muted); border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); transition: color .2s, border-color .2s, background .2s, transform .3s ease-in-out; }
  .sidebar-toggle:hover { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); background: var(--accent-soft); }
  .sidebar-toggle svg { width: 15px; height: 15px; }
  .sidebar .main-nav .nav-item { position: relative; transition: padding .3s ease-in-out, gap .2s, color .16s, background .16s, border-color .16s, transform .16s; }
  body.sidebar-collapsed .sidebar { width: 76px; padding-right: 10px; padding-left: 10px; }
  body.sidebar-collapsed .app-content { width: calc(100% - 76px); margin-left: 76px; }
  body.sidebar-collapsed .brand-lockup { justify-content: center; padding-right: 0; }
  body.sidebar-collapsed .brand-copy, body.sidebar-collapsed .sidebar-profile-copy { display: none; opacity: 0; transform: translateX(-8px); }
  body.sidebar-collapsed .sidebar-toggle { top: 42px; right: -1px; width: 24px; height: 24px; border-radius: 6px; }
  body.sidebar-collapsed .main-nav { margin-top: 54px; }
  body.sidebar-collapsed .sidebar .main-nav .nav-item { justify-content: center; gap: 0; padding: 11px 0; font-size: 0; }
  body.sidebar-collapsed .sidebar .main-nav .nav-item .nav-icon { width: 19px; height: 19px; font-size: 0; }
  body.sidebar-collapsed .sidebar .main-nav .nav-item .nav-icon svg { width: 18px; height: 18px; }
  body.sidebar-collapsed .sidebar-footer { justify-content: center; padding-right: 0; padding-left: 0; }
  body.sidebar-collapsed .sidebar-logout { display: none; }
  body.sidebar-collapsed .status-dot { width: 8px; height: 8px; }
}
@media (max-width: 700px) { .sidebar-toggle { display: none; } }

/* Light mode corrections: keep surfaces quiet and never reuse dark hover colors. */
html[data-theme="light"] body:not(.login-body) .sidebar { background: #ffffff; border-right-color: #e4e4e7; }
html[data-theme="light"] body:not(.login-body) .sidebar .nav-item { color: #64748b; background: transparent; border-color: transparent; }
html[data-theme="light"] body:not(.login-body) .sidebar .nav-item:hover { color: #18181b; background: #f4f4f5; border-color: #e4e4e7; }
html[data-theme="light"] body:not(.login-body) .sidebar .nav-item.active { color: #2563eb; background: #eff6ff; border-color: #dbeafe; box-shadow: inset 2px 0 0 #3b82f6; }
html[data-theme="light"] body:not(.login-body) .sidebar-toggle { color: #64748b; border-color: #e4e4e7; background: #f8fafc; }
html[data-theme="light"] body:not(.login-body) .sidebar-toggle:hover { color: #2563eb; border-color: #bfdbfe; background: #eff6ff; }
html[data-theme="light"] body:not(.login-body) .data-table tbody tr:hover { background: #fafafa; }
html[data-theme="light"] body:not(.login-body) .task-item:hover,
html[data-theme="light"] body:not(.login-body) .card:hover,
html[data-theme="light"] body:not(.login-body) .role-order-card:hover,
html[data-theme="light"] body:not(.login-body) .completed-item:hover { background: #fafafa; border-color: #dbeafe; }

.login-body { position: relative; display: block; min-height: 100vh; padding: 0; overflow-x: hidden; background: #f8fafc; }
.login-body::before { position: fixed; inset: 0; content: ""; pointer-events: none; background-image: linear-gradient(rgba(37,99,235,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(37,99,235,.045) 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(to bottom right, #000, transparent 72%); }
.auth-shell { position: relative; display: grid; width: min(1180px, calc(100% - 48px)); min-height: 680px; grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr); gap: 0; margin: 0 auto; padding: 54px 0; }
.auth-brand-panel { position: relative; display: flex; min-height: 572px; flex-direction: column; justify-content: space-between; padding: 40px; overflow: hidden; color: #fff; border-radius: 20px 0 0 20px; background: linear-gradient(145deg, #172554 0%, #1e3a8a 54%, #2563eb 100%); box-shadow: 0 22px 60px rgba(30,58,138,.2); }
.auth-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; }.auth-brand > span, .auth-mobile-brand > span { display: grid; width: 34px; height: 34px; place-items: center; color: #1e3a8a; border-radius: 9px; background: #fff; font-size: 11px; font-weight: 900; }.auth-brand strong, .auth-brand b { display: block; line-height: 1; }.auth-brand strong { font-size: 13px; letter-spacing: 2px; }.auth-brand b { margin-top: 3px; color: #bfdbfe; font-size: 9px; letter-spacing: 2px; }.auth-brand-copy { position: relative; z-index: 1; max-width: 490px; margin-top: auto; margin-bottom: 50px; }.auth-kicker { margin: 0 0 12px; color: #2563eb; font-size: 9px; font-weight: 800; letter-spacing: 1.5px; }.auth-brand-panel .auth-kicker { color: #bfdbfe; }.auth-brand-copy h1 { max-width: 480px; margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: 1.05; letter-spacing: -1.8px; }.auth-brand-copy > p:last-child { max-width: 400px; margin: 20px 0 0; color: #dbeafe; font-size: 14px; line-height: 1.65; }.auth-metrics { position: relative; z-index: 1; display: flex; gap: 34px; }.auth-metrics span { display: grid; gap: 5px; }.auth-metrics b { font-size: 17px; }.auth-metrics small { color: #bfdbfe; font-size: 10px; }.auth-pattern { position: absolute; right: -42px; bottom: -60px; width: 340px; height: 340px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }.auth-pattern::before, .auth-pattern::after { position: absolute; inset: 32px; content: ""; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }.auth-pattern::after { inset: 72px; }.auth-pattern i { position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: #bfdbfe; box-shadow: 0 0 0 8px rgba(191,219,254,.12); }.auth-pattern i:nth-child(1) { transform: translate(-120px, -55px); }.auth-pattern i:nth-child(2) { transform: translate(65px, -100px); }.auth-pattern i:nth-child(3) { transform: translate(-45px, 85px); }.auth-pattern i:nth-child(4) { transform: translate(105px, 65px); }
.login-card { display: flex; width: auto; min-height: 572px; flex-direction: column; justify-content: center; padding: 54px 48px; border: 1px solid #e4e4e7; border-left: 0; border-radius: 0 20px 20px 0; background: rgba(255,255,255,.96); box-shadow: 0 22px 60px rgba(24,24,27,.1); }.auth-mobile-brand { display: none; }.telegram-mark { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 26px; color: #fff; border-radius: 14px; background: #0088cc; box-shadow: 0 10px 22px rgba(0,136,204,.22); }.telegram-mark svg { width: 22px; height: 22px; stroke-width: 2.2; }.login-card h2 { margin: 0; color: #18181b; font-size: 28px; letter-spacing: -.7px; }.auth-subtitle { max-width: 320px; margin: 10px 0 30px; color: #71717a; font-size: 13px; line-height: 1.6; }.auth-field { display: grid; gap: 8px; margin-bottom: 16px; }.auth-field label { color: #3f3f46; font-size: 11px; font-weight: 700; }.input-shell { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 13px; border: 1px solid #d4d4d8; border-radius: 9px; background: #f8fafc; transition: border-color .16s, box-shadow .16s, background .16s; }.input-shell:focus-within { border-color: #2563eb; background: #fff; box-shadow: 0 0 0 3px rgba(37,99,235,.14); }.input-shell svg { width: 16px; height: 16px; color: #71717a; }.input-shell input { width: 100%; padding: 12px 0; color: #18181b; border: 0; outline: 0; background: transparent; font-size: 13px; }.input-shell input::placeholder { color: #a1a1aa; }.auth-submit { display: inline-flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 9px; margin-top: 2px; border-radius: 9px; background: #0088cc; box-shadow: 0 8px 18px rgba(0,136,204,.16); }.auth-submit:hover { background: #007ab8; transform: translateY(-1px); box-shadow: 0 12px 24px rgba(0,136,204,.22); }.auth-submit svg { width: 15px; height: 15px; }.auth-submit:disabled { cursor: wait; opacity: .75; transform: none; }.button-spinner { display: none; width: 15px; height: 15px; border: 2px solid rgba(255,255,255,.42); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }.auth-submit.is-loading .button-spinner { display: block; }.auth-submit.is-loading svg { display: none; }.auth-status { min-height: 19px; margin: 10px 0 0; font-size: 11px; }.code-block { padding-top: 24px; margin-top: 22px; border-top: 1px solid #e4e4e7; }.code-block .auth-field { margin-bottom: 12px; }.error { margin: 10px 0 0; font-size: 11px; }.auth-security-note { display: flex; align-items: center; gap: 7px; margin: 26px 0 0; color: #a1a1aa; font-size: 10px; }.auth-security-note svg { width: 14px; height: 14px; color: #16a34a; }
[data-theme="dark"] .login-body { background: #09090b; }.login-body:has(.login-card) { color: #18181b; }.login-body:has(.login-card) .login-card { color: #18181b; }.login-body:has(.login-card) .error { color: #dc2626; }
@media (max-width: 800px) { .auth-shell { display: block; width: min(100% - 30px, 480px); min-height: auto; padding: 28px 0; }.auth-brand-panel { display: none; }.login-card { min-height: auto; padding: 32px 26px; border: 1px solid #e4e4e7; border-radius: 18px; }.auth-mobile-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 34px; color: #18181b; font-size: 12px; font-weight: 800; letter-spacing: 1px; }.auth-mobile-brand > span { width: 30px; height: 30px; color: #fff; background: #2563eb; font-size: 10px; }.auth-mobile-brand b { font-size: 11px; }.telegram-mark { margin-bottom: 22px; } }
@media (prefers-color-scheme: dark) { .login-body { background: #09090b; }.login-body::before { background-image: linear-gradient(rgba(96,165,250,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(96,165,250,.055) 1px, transparent 1px); }.login-card { border-color: #27272a; background: rgba(17,17,19,.96); box-shadow: 0 22px 60px rgba(0,0,0,.32); }.login-card h2 { color: #fafafa; }.auth-subtitle, .auth-field label { color: #a1a1aa; }.input-shell { border-color: #3f3f46; background: rgba(24,24,27,.72); }.input-shell:focus-within { background: #18181b; }.input-shell input { color: #fafafa; }.input-shell input::placeholder { color: #71717a; }.code-block { border-top-color: #27272a; }.auth-mobile-brand { color: #fafafa; } }

/* Fact report: emphasize the amount first and keep the comparison scannable. */
.report-panel-note { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.comparison-card-heading { position: relative; }
.comparison-change { margin-left: auto; padding: 6px 9px; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: 12px; white-space: nowrap; }
.comparison-card.increase .comparison-change { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 30%, var(--line)); background: color-mix(in srgb, var(--ok) 9%, var(--surface)); }
.comparison-card.decrease .comparison-change { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 30%, var(--line)); background: color-mix(in srgb, var(--danger) 9%, var(--surface)); }
.comparison-metrics { grid-template-columns: 1.25fr 1fr 1fr; }
.comparison-metrics b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 700px) { .comparison-metrics { grid-template-columns: 1fr 1fr; }.comparison-metrics div:first-child { grid-column: 1 / -1; }.comparison-change { font-size: 11px; } }
.login-body { background: #e9eee8; }
.login-body::before { background-image: linear-gradient(rgba(15, 61, 58, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 61, 58, .055) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom right, #000, transparent 78%); }
.auth-shell { width: min(1120px, calc(100% - 56px)); min-height: 650px; padding: 46px 0; }
.auth-brand-panel { min-height: 558px; padding: 42px; border-radius: 18px 0 0 18px; background: #123f3b; box-shadow: 0 24px 70px rgba(18, 63, 59, .2); }
.auth-brand-panel::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 78% 78%, rgba(224, 113, 78, .34), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.06), transparent 58%); }
.auth-brand > span, .auth-mobile-brand > span { color: #123f3b; background: #f2f0e9; }
.auth-brand b { color: #f2b39c; }
.auth-brand-copy h1 { max-width: 470px; font-size: clamp(34px, 4vw, 50px); letter-spacing: -1.2px; }
.auth-pattern { border-color: rgba(242, 179, 156, .26); }
.auth-pattern::before, .auth-pattern::after { border-color: rgba(242, 179, 156, .2); }
.auth-pattern i { background: #f2b39c; box-shadow: 0 0 0 8px rgba(242, 179, 156, .14); }
.login-card { min-height: 558px; padding: 52px 54px; border-color: rgba(18, 63, 59, .14); border-radius: 0 18px 18px 0; background: #fbfaf6; box-shadow: 0 24px 70px rgba(18, 63, 59, .12); }
.login-card h2 { color: #123f3b; font-size: 30px; letter-spacing: -.8px; }
.auth-subtitle { color: #64736d; }
.auth-kicker { color: #c65f48; }
.input-shell { border-color: #cdd9d0; background: #f2f5f0; }
.input-shell:focus-within { border-color: #c65f48; background: #fff; box-shadow: 0 0 0 3px rgba(198, 95, 72, .13); }
.auth-submit { background: #c65f48; box-shadow: 0 9px 20px rgba(198, 95, 72, .2); }
.auth-submit:hover { background: #ae4f3c; box-shadow: 0 12px 24px rgba(198, 95, 72, .25); }
.telegram-mark { background: #123f3b; box-shadow: 0 10px 22px rgba(18, 63, 59, .2); }
.login-tools .language-control select { border-color: #cdd9d0; background: #f2f5f0; }
html[data-theme="dark"] .login-body { background: #0d2423; }
html[data-theme="dark"] .login-card { background: #102a28; border-color: #28504b; }
html[data-theme="dark"] .login-card h2 { color: #f2f0e9; }
html[data-theme="dark"] .input-shell { border-color: #28504b; background: #122f2c; }
.login-theme-toggle { position: absolute; top: 22px; right: 22px; z-index: 2; min-width: 38px; padding: 8px 10px !important; color: #475569; border: 1px solid #d4d4d8; background: #fff; }.login-theme-toggle:hover { color: #2563eb; border-color: #93c5fd; background: #eff6ff; }
html[data-theme="light"] .login-body { background: #f8fafc; }html[data-theme="light"] .login-body::before { background-image: linear-gradient(rgba(37,99,235,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(37,99,235,.045) 1px, transparent 1px); }html[data-theme="light"] .login-card { border-color: #e4e4e7; background: rgba(255,255,255,.96); box-shadow: 0 22px 60px rgba(24,24,27,.1); }html[data-theme="light"] .login-card h2 { color: #18181b; }html[data-theme="light"] .auth-subtitle, html[data-theme="light"] .auth-field label { color: #71717a; }html[data-theme="light"] .input-shell { border-color: #d4d4d8; background: #f8fafc; }html[data-theme="light"] .input-shell:focus-within { background: #fff; }html[data-theme="light"] .input-shell input { color: #18181b; }html[data-theme="light"] .input-shell input::placeholder { color: #a1a1aa; }html[data-theme="light"] .code-block { border-top-color: #e4e4e7; }html[data-theme="light"] .auth-mobile-brand { color: #18181b; }
html[data-theme="dark"] .login-body { background: #09090b; }html[data-theme="dark"] .login-body::before { background-image: linear-gradient(rgba(96,165,250,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(96,165,250,.055) 1px, transparent 1px); }html[data-theme="dark"] .login-card { border-color: #27272a; background: rgba(17,17,19,.96); box-shadow: 0 22px 60px rgba(0,0,0,.32); }html[data-theme="dark"] .login-card h2 { color: #fafafa; }html[data-theme="dark"] .auth-subtitle, html[data-theme="dark"] .auth-field label { color: #a1a1aa; }html[data-theme="dark"] .input-shell { border-color: #3f3f46; background: rgba(24,24,27,.72); }html[data-theme="dark"] .input-shell:focus-within { background: #18181b; }html[data-theme="dark"] .input-shell input { color: #fafafa; }html[data-theme="dark"] .input-shell input::placeholder { color: #71717a; }html[data-theme="dark"] .code-block { border-top-color: #27272a; }html[data-theme="dark"] .auth-mobile-brand { color: #fafafa; }html[data-theme="dark"] .login-theme-toggle { color: #e2e8f0; border-color: #3f3f46; background: #18181b; }html[data-theme="dark"] .login-theme-toggle:hover { color: #bfdbfe; border-color: #60a5fa; background: #172554; }