:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, Arial, sans-serif; color: #17202a; background: #f6f9ff; }
* { box-sizing: border-box; }
body { margin: 0; background: #f6f9ff; }
button, input, select { font: inherit; }
.hidden { display: none !important; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 18px; background: linear-gradient(135deg, rgba(37,99,235,.96), rgba(14,165,233,.9)), url("https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1400&q=70") center/cover; }
.login-card { width: min(420px, 100%); display: grid; gap: 12px; padding: 22px; border: 1px solid rgba(255,255,255,.28); border-radius: 8px; background: rgba(255,255,255,.96); box-shadow: 0 28px 70px rgba(15, 23, 42, .24); }
.login-brand { display: grid; gap: 0; color: #1d4ed8; }
.login-brand b { font-size: 30px; letter-spacing: 0; }
.login-brand span { color: #2563eb; font-size: 13px; font-weight: 950; }
.login-card h1 { margin: 0; color: #0f172a; font-size: 26px; }
.login-card p, .login-card small { margin: 0; color: #64748b; }
.login-form { display: grid; gap: 10px; }
.login-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.login-form input { width: 100%; min-height: 42px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 11px; background: #fff; }
.login-form button { min-height: 42px; border: 0; border-radius: 7px; background: #1d4ed8; color: #fff; font-weight: 950; cursor: pointer; }
.login-error { padding: 8px 10px; border: 1px solid #fecdd3; border-radius: 7px; background: #fff1f2; color: #be123c; font-size: 12px; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 220px minmax(0, 1fr); transition: grid-template-columns .18s ease; }
.shell.menu-collapsed { grid-template-columns: 74px minmax(0, 1fr); }
aside { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 10px; padding: 16px; background: var(--side-bg, #dbeafe); color: var(--company-ink, #1e3a8a); border-right: 1px solid var(--company-border, #bfdbfe); }
.shell.company-1 { --side-bg: #f97316; --company-accent: #9a3412; --company-accent-2: #f97316; --company-soft: rgba(255, 237, 213, .98); --company-soft-solid: #ffedd5; --company-border: #ea580c; --company-ink: #431407; }
.shell.company-2 { --side-bg: #3b82f6; --company-accent: #1e40af; --company-accent-2: #3b82f6; --company-soft: rgba(219, 234, 254, .98); --company-soft-solid: #dbeafe; --company-border: #2563eb; --company-ink: #172554; }
.shell.company-3 { --side-bg: #22c55e; --company-accent: #166534; --company-accent-2: #22c55e; --company-soft: rgba(220, 252, 231, .98); --company-soft-solid: #dcfce7; --company-border: #16a34a; --company-ink: #052e16; }
.shell.company-4 { --side-bg: #475569; --company-accent: #1e293b; --company-accent-2: #64748b; --company-soft: rgba(241, 245, 249, .98); --company-soft-solid: #e2e8f0; --company-border: #64748b; --company-ink: #0f172a; }
.shell.company-all { --side-bg: #64748b; --company-accent: #334155; --company-accent-2: #64748b; --company-soft: rgba(241, 245, 249, .98); --company-soft-solid: #f1f5f9; --company-border: #64748b; --company-ink: #0f172a; }
.brand { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 8px; align-items: center; padding: 12px 0; }
.brand b { font-size: 24px; letter-spacing: 0; }
.brand span { grid-column: 2; color: color-mix(in srgb, var(--company-ink, #1e3a8a) 78%, white); font-size: 12px; font-weight: 800; }
.side-company-switcher { display: grid; gap: 5px; padding: 9px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 8px; background: var(--company-soft-solid, #eff6ff); color: var(--company-ink, #1e3a8a); font-size: 11px; font-weight: 950; box-shadow: 0 8px 20px rgba(15, 23, 42, .06); }
.side-company-switcher span { color: var(--company-ink, #1e3a8a); }
.side-company-switcher select { width: 100%; min-width: 0; min-height: 34px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 7px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 12px; font-weight: 900; }
.menu-toggle { width: 36px; min-height: 36px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 8px; background: var(--company-soft-solid, #eff6ff); color: var(--company-ink, #1e3a8a); font-size: 12px; font-weight: 950; cursor: pointer; }
.shell.menu-collapsed aside { padding: 14px 10px; }
.shell.menu-collapsed .brand { grid-template-columns: 1fr; justify-items: center; gap: 8px; }
.shell.menu-collapsed .brand b, .shell.menu-collapsed .brand span { display: none; }
.shell.menu-collapsed .menu-toggle { width: 48px; }
.shell.menu-collapsed .side-company-switcher { padding: 6px 4px; }
.shell.menu-collapsed .side-company-switcher span { display: none; }
.shell.menu-collapsed .side-company-switcher select { height: 32px; padding: 0 4px; font-size: 10px; }
.side-notification-alert { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; min-height: 42px; border: 1px solid rgba(255,255,255,.42); border-radius: 8px; padding: 7px 10px; background: var(--company-soft-solid, #fffbeb); color: var(--company-ink, #92400e); text-align: left; font-weight: 950; cursor: pointer; box-shadow: 0 10px 24px rgba(15, 23, 42, .12); }
.side-notification-alert:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(15, 23, 42, .16); }
.side-notification-alert strong { display: grid; place-items: center; min-width: 26px; height: 26px; border-radius: 999px; background: var(--company-accent, #f59e0b); color: #fff; font-size: 12px; }
.side-notification-alert span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.shell.menu-collapsed .side-notification-alert { grid-template-columns: 1fr; justify-items: center; min-height: 40px; padding: 7px 4px; }
.shell.menu-collapsed .side-notification-alert span { display: none; }
nav { display: grid; align-content: start; gap: 5px; }
nav button { min-height: 34px; border: 1px solid color-mix(in srgb, var(--company-border, #bfdbfe) 78%, white); border-radius: 7px; padding: 0 10px; background: rgba(255,255,255,.58); color: var(--company-ink, #1e3a8a); text-align: left; font-size: 13px; font-weight: 950; cursor: pointer; }
nav button.active, nav button:hover { border-color: rgba(255,255,255,.75); background: var(--company-soft-solid, #fff); color: var(--company-ink, #1d4ed8); }
.side-nav { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 2px 1px 8px 0; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--company-ink, #334155) 34%, transparent) transparent; }
.side-nav::-webkit-scrollbar { width: 0; height: 0; display: none; }
.side-nav button { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; }
.nav-group { display: grid; gap: 2px; min-width: 0; }
.nav-group-toggle { width: 100%; min-height: 32px; border: 1px solid rgba(255,255,255,.48); border-radius: 5px; padding: 0 8px; background: color-mix(in srgb, var(--side-bg, #64748b) 82%, white); color: #fff; font-size: 11.5px; font-weight: 950; text-shadow: 0 1px 2px rgba(15,23,42,.28); box-shadow: 0 2px 6px rgba(15,23,42,.12); }
.nav-group-toggle:hover, .nav-group.open .nav-group-toggle { border-color: rgba(255,255,255,.82); background: color-mix(in srgb, var(--side-bg, #64748b) 68%, white); color: #fff; }
.nav-group-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-group-count { display: grid; place-items: center; min-width: 19px; height: 19px; margin-left: auto; border-radius: 999px; background: #fff; color: #111827; font-size: 10px; }
.nav-group-chevron { display: grid; place-items: center; width: 17px; height: 17px; margin-left: auto; color: #fff; font-size: 15px; font-weight: 800; line-height: 1; }
.nav-group-count + .nav-group-chevron { margin-left: 0; }
.nav-group-items { display: grid; gap: 3px; padding: 2px 0 5px 6px; }
.side-nav .nav-customizer-launch { width: 100%; min-height: 32px; border: 1px dashed rgba(255,255,255,.78); background: rgba(255,255,255,.18); color: #fff; justify-content: center; text-align: center; font-size: 11px; text-shadow: 0 1px 2px rgba(15,23,42,.24); }
.side-nav .nav-customizer-launch:hover { border-style: solid; background: rgba(255,255,255,.32); color: #fff; }
.nav-pinned { display: grid; gap: 3px; margin-bottom: 3px; padding: 7px; border: 1px solid rgba(255,255,255,.58); border-radius: 6px; background: rgba(255,255,255,.2); }
.nav-pinned-head { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding-bottom: 3px; }
.nav-pinned-title { padding: 0 3px; color: #111827; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.side-nav .nav-pinned-edit { min-height: 22px; border: 0; border-radius: 4px; padding: 0 5px; background: rgba(255,255,255,.74); color: #111827; font-size: 9px; }
.side-nav .nav-pinned-edit:hover { background: #fff; color: #000; }
.nav-item-row { display: grid; grid-template-columns: minmax(0, 1fr) 29px; gap: 3px; min-width: 0; }
.side-nav .nav-item { width: 100%; min-width: 0; min-height: 33px; border: 1px solid #d1d5db; border-left: 4px solid #6b7280; border-radius: 5px; padding: 0 7px 0 9px; background: #fff; color: #111827; font-size: 12.5px; font-weight: 950; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.side-nav .nav-item:hover { border-left-color: var(--company-accent, #2563eb); background: #f3f4f6; color: #000; }
.side-nav .nav-item.active { border-color: #9ca3af; border-left-color: var(--company-accent, #2563eb); background: #fff; color: #000; box-shadow: 0 5px 12px rgba(15,23,42,.16); }
.side-nav .nav-pinned-item { border-left-color: var(--company-accent, #2563eb); background: #fff; }
.side-nav .nav-pin-toggle { display: grid; place-items: center; width: 29px; min-width: 29px; min-height: 33px; border: 1px solid rgba(255,255,255,.66); border-radius: 5px; padding: 0; background: rgba(255,255,255,.38); color: #fff; font-size: 17px; line-height: 1; text-align: center; text-shadow: 0 1px 2px rgba(15,23,42,.3); }
.side-nav .nav-pin-toggle:hover, .side-nav .nav-pin-toggle.active { border-color: #fbbf24; background: #fef3c7; color: #b45309; text-shadow: none; }
.side-nav button.reorderable { touch-action: none; user-select: none; cursor: grab; }
.side-nav button.reorderable:active { cursor: grabbing; }
.side-nav button.dragging { opacity: .5; transform: scale(.98); outline: 2px dashed rgba(255,255,255,.75); }
.nav-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-count { display: grid; place-items: center; min-width: 22px; height: 22px; margin-left: auto; border-radius: 999px; background: var(--company-soft-solid, #facc15); color: var(--company-ink, #7c2d12); font-size: 11px; font-weight: 950; box-shadow: 0 0 0 2px color-mix(in srgb, var(--company-accent, #2563eb) 75%, transparent); }
.side-nav button.has-menu-count { border-color: var(--company-border, #bfdbfe); background: color-mix(in srgb, var(--company-soft-solid, #fef9c3) 70%, white); }
.side-nav button.has-menu-count.active { background: var(--company-soft-solid, #fff); color: var(--company-ink, #1d4ed8); }
.side-nav button.has-menu-count.active .nav-count { box-shadow: 0 0 0 2px #fff; }
.shell.menu-collapsed .side-nav { padding-right: 0; }
.shell.menu-collapsed .side-nav button { justify-content: center; padding: 0 6px; }
.shell.menu-collapsed .nav-group-toggle { min-height: 30px; }
.shell.menu-collapsed .nav-group-title, .shell.menu-collapsed .nav-group-count { display: none; }
.shell.menu-collapsed .nav-group-chevron { width: 9px; height: 9px; margin: 0; border-radius: 50%; background: currentColor; overflow: hidden; color: transparent; }
.shell.menu-collapsed .nav-group-items { padding-left: 0; }
.shell.menu-collapsed .side-nav .nav-item { border-left-width: 0; }
.shell.menu-collapsed .nav-item-row { grid-template-columns: 1fr; }
.shell.menu-collapsed .nav-pin-toggle { display: none; }
.shell.menu-collapsed .nav-pinned { padding: 4px 2px; }
.shell.menu-collapsed .nav-pinned-head, .shell.menu-collapsed .nav-customizer-launch { display: none; }
.nav-customizer-backdrop { position: fixed; inset: 0; z-index: 140; display: grid; place-items: center; padding: 18px; background: rgba(15,23,42,.48); backdrop-filter: blur(3px); }
.nav-customizer-dialog { width: min(680px, 100%); max-height: min(760px, calc(100vh - 36px)); display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 12px; padding: 16px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; box-shadow: 0 28px 80px rgba(15,23,42,.3); }
.nav-customizer-header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.nav-customizer-header h2 { margin: 0; color: #0f172a; font-size: 19px; }
.nav-customizer-header p { margin: 3px 0 0; color: #64748b; font-size: 12px; }
.nav-customizer-close { display: grid; place-items: center; width: 34px; min-width: 34px; height: 34px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0; background: #f8fafc; color: #334155; font-size: 22px; cursor: pointer; }
.nav-customizer-search { width: 100%; min-height: 40px; border: 1px solid #94a3b8; border-radius: 6px; padding: 0 11px; background: #fff; color: #0f172a; }
.nav-customizer-list { min-height: 0; overflow: auto; display: grid; align-content: start; gap: 12px; padding-right: 4px; }
.nav-customizer-group { display: grid; gap: 4px; }
.nav-customizer-group h3 { margin: 0; padding: 5px 7px; border-bottom: 2px solid var(--company-accent, #2563eb); color: #334155; font-size: 12px; }
.nav-customizer-group label { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 38px; padding: 6px 8px; border: 1px solid #e2e8f0; border-radius: 5px; background: #f8fafc; cursor: pointer; }
.nav-customizer-group label.selected { border-color: var(--company-border, #93c5fd); background: var(--company-soft-solid, #eff6ff); }
.nav-customizer-group input { width: 17px; height: 17px; accent-color: var(--company-accent, #2563eb); }
.nav-customizer-group span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; font-weight: 900; }
.nav-customizer-group b { color: #64748b; font-size: 10px; }
.nav-customizer-group label.selected b { color: var(--company-accent, #2563eb); }
.nav-customizer-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px; align-items: center; padding-top: 10px; border-top: 1px solid #e2e8f0; }
.nav-customizer-actions span { color: #475569; font-size: 11px; font-weight: 900; }
.nav-customizer-actions button { min-height: 36px; border: 0; border-radius: 6px; padding: 0 14px; background: var(--company-accent, #2563eb); color: #fff; font-weight: 950; cursor: pointer; }
.nav-customizer-actions button.secondary { border: 1px solid #cbd5e1; background: #fff; color: #334155; }
.nav-customizer-actions button:disabled { opacity: .55; cursor: wait; }
.shell.menu-collapsed .nav-text { width: 8px; height: 8px; border-radius: 999px; background: currentColor; overflow: hidden; text-indent: -999px; }
.shell.menu-collapsed .nav-count { position: absolute; top: -5px; right: 3px; min-width: 20px; height: 20px; margin-left: 0; font-size: 10px; }
.app-header { position: sticky; top: 0; z-index: 70; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -16px -16px 14px; padding: 12px 16px; border-bottom: 1px solid color-mix(in srgb, var(--company-border, #e2e8f0) 46%, #e2e8f0); background: color-mix(in srgb, var(--company-soft-solid, #fff) 42%, rgba(255,255,255,.96)); backdrop-filter: blur(10px); box-shadow: 0 10px 24px color-mix(in srgb, var(--company-accent, #2563eb) 10%, transparent); }
.app-header-title { display: grid; gap: 2px; min-width: 0; }
.app-header-title strong { color: var(--company-accent, #1d4ed8); font-size: 16px; }
.app-header-title span { color: #64748b; font-size: 11px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-header-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.app-header-actions button { min-height: 34px; border: 1px solid color-mix(in srgb, var(--company-border, #cbd5e1) 52%, #cbd5e1); border-radius: 7px; padding: 0 10px; background: #fff; color: var(--company-ink, #334155); font-size: 12px; font-weight: 950; cursor: pointer; }
.app-header-actions button.has-alert { border-color: #f59e0b; background: #fffbeb; color: #92400e; }
.app-header-actions .publish-button { border-color: #f59e0b; background: #fffbeb; color: #92400e; }
.app-header-actions .logout-button { border-color: #fecdd3; background: #fff1f2; color: #be123c; }
.profile-popover, .notification-popover, .publish-popover { position: absolute; top: calc(100% + 8px); right: 16px; z-index: 95; width: min(420px, calc(100vw - 24px)); max-height: min(620px, calc(100vh - 90px)); overflow: auto; box-shadow: 0 24px 60px rgba(15, 23, 42, .22); }
.publish-popover { display: grid; gap: 10px; padding: 12px; border-top: 4px solid #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 105px); }
.publish-popover .line-toolbar { align-items: start; }
.publish-popover .line-toolbar h2 { margin: 0 0 2px; font-size: 15px; }
.publish-popover .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; overflow-wrap: anywhere; }
.publish-popover .line-toolbar button { min-height: 28px; font-size: 11px; }
.publish-target-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.publish-target-grid.compact article { padding: 7px; }
.publish-log-list.compact { max-height: 210px; }
.profile-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.profile-summary span { display: grid; gap: 3px; padding: 8px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 11px; font-weight: 900; }
.profile-summary strong { color: #0f172a; overflow-wrap: anywhere; }
.profile-form, .security-form { display: grid; gap: 10px; }
.profile-form label, .security-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.profile-form input, .security-form input { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.notification-list { display: grid; gap: 8px; }
.notification-list article { display: grid; gap: 4px; padding: 9px; border: 1px solid #fde68a; border-radius: 8px; background: #fffbeb; }
.notification-list article.read { border-color: #e5eaf0; background: #f8fafc; }
.notification-list strong { color: #0f172a; }
.notification-list span, .notification-list small { color: #64748b; font-size: 12px; }
.notification-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 8px 0; }
.notification-tabs button { padding: 0 6px; font-size: 11px; }
.notification-bulk-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; padding: 7px 8px; border: 1px solid #e2e8f0; border-radius: 7px; background: #f8fafc; }
.notification-bulk-bar label { display: inline-flex; align-items: center; gap: 6px; color: #475569; font-size: 11px; font-weight: 900; }
.notification-bulk-bar input, .notification-select > input { width: 17px; height: 17px; accent-color: var(--company-accent, #2563eb); }
.notification-bulk-bar button:disabled { opacity: .5; cursor: not-allowed; }
.notification-select { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; align-items: start; }
.notification-select > div { display: grid; gap: 3px; min-width: 0; }
.notification-read-mark { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #dcfce7; color: #047857 !important; font-size: 11px !important; font-weight: 950; }
.notification-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.mikro-box { align-self: end; display: grid; gap: 7px; padding: 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: rgba(255,255,255,.08); color: #f8fafc; }
.mikro-box strong { font-size: 12px; }
.mikro-box span, .mikro-box small { color: #dbeafe; font-size: 11px; overflow: hidden; text-overflow: ellipsis; }
.mikro-box button { min-height: 34px; border: 0; border-radius: 7px; background: #fff; color: #1d4ed8; font-weight: 900; cursor: pointer; }
.mikro-box button:disabled { opacity: .6; cursor: wait; }
.user-box { display: grid; gap: 6px; padding: 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: rgba(255,255,255,.08); color: #f8fafc; }
.user-box strong { font-size: 13px; }
.user-box span { color: #dbeafe; font-size: 11px; font-weight: 850; }
.user-box button { min-height: 32px; border: 1px solid rgba(255,255,255,.26); border-radius: 7px; background: rgba(255,255,255,.08); color: #fff; font-weight: 900; cursor: pointer; }
main { min-width: 0; padding: 16px; }
.shell main { background: color-mix(in srgb, var(--side-bg, #f6f9ff) 16%, #f8fafc); }
.page { display: grid; gap: 12px; }
.panel, .hero-panel, .metric, .order-card, .stock-card, .shipment-card { border: 1px solid color-mix(in srgb, var(--company-border, #e2e8f0) 42%, #e2e8f0); border-radius: 8px; background: #fff; box-shadow: 0 10px 25px color-mix(in srgb, var(--company-accent, #2563eb) 10%, transparent); }
.app-error-panel { display: grid; gap: 8px; padding: 18px; border-color: #fecdd3; border-left: 5px solid #dc2626; background: #fff1f2; color: #7f1d1d; }
.app-error-panel h2 { margin: 0; color: #be123c; }
.app-error-panel p { margin: 0; color: #7f1d1d; font-weight: 850; }
.app-error-panel pre { max-height: 220px; overflow: auto; margin: 0; padding: 10px; border-radius: 7px; background: #fff; color: #991b1b; white-space: pre-wrap; }
.shell .panel h2, .shell .panel h3, .shell .line-toolbar h2, .shell .customer-name-link, .shell .payment-pager button, .shell .cash-method-list b, .shell .expense-group-list b, .shell .expense-item-breakdown > button b { color: var(--company-accent, #1d4ed8); }
.shell .badge.info, .shell tr.row-info td, .shell .new-customer-form, .shell .new-customer-actions, .shell .visit-location-box, .shell .cash-tree span.done { border-color: var(--company-border, #bfdbfe); background: var(--company-soft-solid, #eff6ff); color: var(--company-ink, #1e3a8a); }
.shell table th { background: color-mix(in srgb, var(--company-soft-solid, #dbeafe) 72%, white); color: var(--company-ink, #1e40af); }
.hero-panel { display: flex; align-items: end; justify-content: space-between; gap: 18px; min-height: 180px; padding: 22px; background: linear-gradient(135deg, rgba(37,99,235,.96), rgba(14,165,233,.9)), url("https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1400&q=70") center/cover; color: #fff; }
.eyebrow { color: #e2e8f0; font-size: 12px; font-weight: 950; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: 34px; letter-spacing: 0; }
h2 { margin-bottom: 10px; font-size: 18px; }
.hero-panel p { margin: 0; max-width: 640px; color: #dbeafe; }
.hero-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.metric { display: grid; gap: 7px; min-height: 92px; padding: 14px; border-left: 5px solid var(--company-accent, #2563eb); }
.metric span { color: #607064; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.metric strong { font-size: 20px; }
.metric.clickable { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.metric.clickable:hover, .metric.clickable.active { transform: translateY(-1px); box-shadow: 0 16px 34px color-mix(in srgb, var(--company-accent, #2563eb) 18%, transparent); border-color: var(--company-accent, #1d4ed8); }
.metric.safe { border-left-color: #18a058; }
.metric.warn { border-left-color: #f59e0b; }
.metric.danger { border-left-color: #dc2626; }
.metric.info { border-left-color: #2563eb; }
.decision-home { gap: 10px; }
.center-hero-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 76px; padding: 12px 14px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 8px; background: linear-gradient(135deg, var(--company-accent, #1d4ed8), var(--company-accent-2, #38bdf8)); color: #fff; box-shadow: 0 10px 25px color-mix(in srgb, var(--company-accent, #2563eb) 12%, transparent); }
.center-hero-panel h1 { margin: 0 0 3px; font-size: 22px; }
.center-hero-panel p { margin: 0; color: #dbeafe; font-size: 12px; font-weight: 850; }
.center-kpi-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 8px; }
.company-health-strip { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.center-kpi-strip .metric { height: 54px; min-height: 54px; padding: 7px 9px; border-left-width: 4px; gap: 3px; overflow: hidden; }
.center-kpi-strip .metric span { font-size: 10px; line-height: 1.15; }
.center-kpi-strip .metric strong { font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.company-health-filter { align-content: space-between; }
.company-health-filter div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.company-health-filter select { min-width: 0; height: 28px; padding: 0 6px; border: 1px solid #d7dee8; border-radius: 6px; background: #f8fafc; color: #0f172a; font-size: 11px; font-weight: 850; }
.center-priority-grid { display: grid; grid-template-columns: repeat(3, minmax(245px, 1fr)); gap: 8px; align-items: stretch; }
.center-support-grid { display: grid; grid-template-columns: repeat(3, minmax(210px, 1fr)); gap: 8px; align-items: stretch; }
.performance-toolbar { position: sticky; top: 0; z-index: 8; }
.segmented { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; }
.segmented button { min-height: 30px; border: 0; border-radius: 6px; padding: 0 10px; background: transparent; color: #475569; font-weight: 950; cursor: pointer; }
.segmented button.active { background: #1d4ed8; color: #fff; }
.performance-metrics { grid-template-columns: repeat(7, minmax(118px, 1fr)); }
.performance-metrics .metric { min-height: 86px; padding: 12px; }
.performance-metrics .metric strong { font-size: 17px; }
.management-dashboard { gap: 9px; }
.management-hero-panel { display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 12px; min-height: 62px; padding: 9px 12px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 8px; background: linear-gradient(135deg, var(--company-accent, #1d4ed8), var(--company-accent-2, #38bdf8)); color: #fff; box-shadow: 0 10px 25px color-mix(in srgb, var(--company-accent, #2563eb) 12%, transparent); }
.management-hero-panel > div:first-child { text-align: right; }
.management-hero-panel h1 { margin: 0 0 2px; font-size: 19px; }
.management-hero-panel p { margin: 0; color: #dbeafe; font-size: 11px; font-weight: 850; }
.management-hero-panel .segmented { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.35); }
.management-hero-panel .segmented button { color: #fff; }
.management-hero-panel .segmented button.active { background: #fff; color: #1d4ed8; }
.management-filter { display: flex; align-items: center; justify-content: flex-start; gap: 7px; flex-wrap: wrap; }
.management-filter select { height: 32px; min-width: 104px; border: 1px solid rgba(255,255,255,.45); border-radius: 8px; padding: 0 9px; background: #fff; color: #1d4ed8; font-size: 11px; font-weight: 950; }
.management-view-tabs { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 34px; margin-top: -4px; padding: 0 2px 4px; border: 0; border-bottom: 1px solid #dbeafe; background: transparent; }
.management-view-tabs .segmented { height: 30px; padding: 2px; border-color: #dbeafe; border-radius: 7px; background: rgba(255,255,255,.72); }
.management-view-tabs .segmented button { min-height: 24px; padding: 0 12px; border-radius: 5px; font-size: 11px; }
.management-view-tabs > .badge { min-height: 22px; padding: 3px 8px; font-size: 10px; }
.management-dashboard.summary-mode > .management-decision-book-grid,
.management-dashboard.summary-mode > .management-chart-grid,
.management-dashboard.summary-mode > .management-budget-grid,
.management-dashboard.summary-mode > .budget-tree-summary-panel,
.management-dashboard.summary-mode > .management-budget-definition-grid,
.management-dashboard.summary-mode > .management-commission-grid,
.management-dashboard.summary-mode > .management-payment-calendar-grid,
.management-dashboard.summary-mode > .management-formula-panel,
.management-dashboard.summary-mode > .management-profit-company-panel,
.management-dashboard.summary-mode > .management-list-grid,
.management-dashboard.summary-mode > .management-profit-grid { display: none; }
.management-dashboard.profitability-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-kpis):not(.management-formula-panel):not(.management-profit-company-panel):not(.management-list-grid):not(.management-profit-grid) { display: none; }
.management-dashboard.charts-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-chart-grid) { display: none; }
.management-dashboard.budget-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-kpis):not(.management-budget-grid) { display: none; }
.management-dashboard.budget-items-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.budget-tree-summary-panel):not(.management-budget-definition-grid) { display: none; }
.management-dashboard.commission-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-kpis):not(.management-commission-grid) { display: none; }
.management-dashboard.payment-calendar-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-kpis):not(.management-payment-calendar-grid) { display: none; }
.management-dashboard.decision-book-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-decision-book-grid) { display: none; }
.management-dashboard.publish-mode > section:not(.management-hero-panel):not(.management-view-tabs):not(.management-publish-panel) { display: none; }
.management-dashboard.decision-book-mode > .management-insight-modal { display: none; }
.management-dashboard.decision-book-mode .management-decision-book-grid { min-height: 0; }
.management-publish-panel { display: grid; align-content: start; gap: 10px; padding: 14px; border-top: 4px solid #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 130px); }
.management-publish-panel .line-toolbar { align-items: start; }
.management-publish-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 16px; }
.management-publish-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.publish-target-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.publish-target-grid article { display: grid; gap: 3px; min-width: 0; padding: 10px; border: 1px solid #fde68a; border-radius: 8px; background: rgba(255,255,255,.92); }
.publish-target-grid span { color: #92400e; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.publish-target-grid strong { min-width: 0; color: #0f172a; font-size: 13px; overflow-wrap: anywhere; }
.publish-note { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.publish-note textarea { width: 100%; min-height: 72px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 9px 10px; resize: vertical; background: #fff; color: #0f172a; font: inherit; }
.publish-log-list { display: grid; gap: 7px; max-height: 380px; overflow: auto; padding-right: 2px; }
.publish-log-list details { border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.publish-log-list summary { padding: 8px 10px; color: #334155; font-size: 11px; font-weight: 950; cursor: pointer; }
.publish-log-list pre { max-height: 220px; margin: 0; padding: 10px; overflow: auto; border-top: 1px solid #e5eaf0; background: #0f172a; color: #dbeafe; font-size: 11px; line-height: 1.45; white-space: pre-wrap; }
.management-budget-grid { display: grid; grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr); grid-template-areas: "control control" "company compare" "mapping mapping"; gap: 8px; align-items: start; }
.management-commission-grid { display: grid; grid-template-columns: minmax(190px, .58fr) minmax(190px, .58fr) minmax(180px, .56fr) minmax(220px, .7fr) minmax(300px, 1.02fr); gap: 8px; align-items: start; }
.commission-menu-panel, .commission-calc-panel, .commission-detail-panel, .commission-product-panel, .commission-customer-panel { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 10px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 88px); }
.commission-summary-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.commission-summary-strip article, .commission-rule-box, .commission-rep-list article { min-width: 0; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.92); }
.commission-summary-strip article { display: grid; gap: 3px; padding: 8px; }
.commission-summary-strip span, .commission-rep-list span, .commission-rule-box span { min-width: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.commission-summary-strip strong { color: #0f172a; font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.commission-summary-strip small { color: #475569; font-size: 10px; font-weight: 850; }
.commission-rule-box { display: grid; gap: 5px; padding: 9px; }
.commission-rule-box.compact { gap: 4px; padding: 8px; }
.commission-rule-box strong { color: #1d4ed8; font-size: 12px; }
.commission-rep-list { display: grid; gap: 7px; max-height: 62vh; overflow: auto; padding-right: 2px; }
.commission-rep-list article { display: grid; gap: 8px; padding: 8px; border-left: 5px solid #2563eb; }
.commission-rep-list article.safe { border-left-color: #18a058; background: #f0fdf4; }
.commission-rep-list article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.commission-rep-list article.info { border-left-color: #2563eb; background: #eff6ff; }
.commission-rep-list header, .commission-rep-list footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.commission-rep-list header div { display: grid; gap: 2px; min-width: 0; }
.commission-rep-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.commission-rep-list footer { flex-wrap: wrap; color: #64748b; font-size: 10px; font-weight: 850; }
.commission-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.commission-metric-grid span { display: grid; gap: 2px; min-width: 0; padding: 6px; border: 1px solid #e5eaf0; border-radius: 7px; background: rgba(255,255,255,.9); }
.commission-metric-grid strong { color: #1d4ed8; font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
.commission-rep-menu { display: grid; gap: 6px; max-height: 56vh; overflow: auto; padding-right: 2px; }
.commission-rep-menu button { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; align-items: start; width: 100%; min-width: 0; min-height: 78px; padding: 8px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: rgba(255,255,255,.88); color: #0f172a; text-align: left; cursor: pointer; }
.commission-rep-menu button.active { border-color: #93c5fd; border-left-color: var(--company-accent, #2563eb); background: #fff; box-shadow: 0 8px 18px rgba(37,99,235,.1); }
.commission-rep-menu button.safe { border-left-color: #18a058; }
.commission-rep-menu button.warn { border-left-color: #f59e0b; }
.commission-rep-menu button.info { border-left-color: #2563eb; }
.commission-rep-menu strong, .commission-rep-menu span, .commission-rep-menu b, .commission-rep-menu small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commission-rep-menu strong, .commission-rep-menu span, .commission-rep-menu small { grid-column: 1; }
.commission-rep-menu strong { font-size: 12px; }
.commission-rep-menu span, .commission-rep-menu small { color: #64748b; font-size: 10px; font-weight: 850; }
.commission-rep-menu b { grid-column: 1; align-self: start; color: #1d4ed8; font-size: 11px; text-align: left; }
.commission-rep-menu em { grid-column: 1; align-self: end; justify-self: start; width: fit-content; max-width: 100%; padding: 2px 7px; border: 1px solid #bfdbfe; border-radius: 999px; background: #fff; color: #1d4ed8; font-size: 9px; font-style: normal; font-weight: 950; }
.commission-page-indicator { display: inline-grid; place-items: center; min-width: 34px; min-height: 18px; margin-left: 6px; padding: 1px 6px; border: 1px solid #bfdbfe; border-radius: 999px; background: #fff; color: #1d4ed8; font-size: 10px; font-weight: 950; vertical-align: middle; }
.commission-title-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; min-width: 0; }
.commission-mini-pager { display: flex; align-items: center; gap: 3px; }
.commission-mini-pager button { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #bfdbfe; border-radius: 6px; background: #fff; color: var(--company-accent, #1d4ed8); font-size: 13px; font-weight: 950; line-height: 1; cursor: pointer; }
.commission-mini-pager button:disabled { opacity: .38; cursor: not-allowed; }
.commission-detail-content { display: grid; gap: 8px; min-width: 0; }
.commission-detail-hero, .commission-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.commission-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.commission-detail-hero article, .commission-detail-grid article { display: grid; grid-template-rows: 13px minmax(28px, auto) minmax(14px, auto); align-content: start; gap: 3px; min-width: 0; min-height: 76px; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.92); }
.commission-detail-hero span, .commission-detail-grid span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 9px; font-weight: 900; }
.commission-detail-hero strong, .commission-detail-grid strong { min-width: 0; align-self: center; color: #0f172a; font-size: 12px; line-height: 1.12; overflow-wrap: anywhere; word-break: break-word; }
.commission-detail-grid strong { color: #1d4ed8; font-size: 11px; }
.commission-detail-hero small, .commission-detail-grid small { min-width: 0; color: #475569; font-size: 8px; font-weight: 850; line-height: 1.18; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.commission-detail-grid .badge { align-self: end; width: fit-content; max-width: 100%; font-size: 8px; }
.commission-calc-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; align-items: stretch; }
.commission-calc-flow article { display: grid; align-content: center; gap: 3px; min-width: 0; min-height: 62px; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.94); }
.commission-calc-flow article.safe { border-color: #bae6fd; background: #ecfeff; }
.commission-calc-flow article.warn { border-color: #fed7aa; background: #fff7ed; }
.commission-calc-flow span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 9px; font-weight: 950; }
.commission-calc-flow strong { min-width: 0; color: #0f172a; font-size: 13px; line-height: 1.12; overflow-wrap: anywhere; }
.commission-calc-flow article.safe strong { color: #0891b2; }
.commission-calc-flow article.warn strong { color: #c2410c; }
.commission-calc-flow > b { display: none; }
.commission-calc-flow.collection article { background: linear-gradient(180deg, #fff, #f8fafc); }
.commission-calc-flow small { color: #64748b; font-size: 9px; font-weight: 850; }
.commission-method-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.commission-method-strip article { display: grid; gap: 2px; min-width: 0; padding: 6px; border: 1px solid #dbeafe; border-radius: 7px; background: rgba(255,255,255,.86); }
.commission-method-strip span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 8px; font-weight: 950; }
.commission-method-strip strong { min-width: 0; color: #1d4ed8; font-size: 10px; line-height: 1.12; overflow-wrap: anywhere; }
.commission-target-strip { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 6px; }
.commission-target-strip article { display: grid; gap: 3px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.9); }
.commission-target-strip span { color: #64748b; font-size: 9px; font-weight: 950; }
.commission-target-strip strong { min-width: 0; color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.commission-target-strip small { color: #1d4ed8; font-size: 9px; font-weight: 900; }
.commission-product-panel { display: grid; gap: 7px; min-width: 0; }
.commission-product-panel .line-toolbar { min-height: 28px; }
.commission-product-panel h3 { margin: 0; color: #0f172a; font-size: 13px; }
.commission-product-panel p { margin: 0; }
.commission-product-list { display: grid; gap: 7px; max-height: 56vh; overflow: auto; padding-right: 2px; }
.commission-product-list article { display: grid; gap: 6px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.commission-product-list article.safe { border-left-color: #0891b2; background: #ecfeff; }
.commission-product-list article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.commission-product-list article.danger { border-left-color: #dc2626; background: #fff1f2; }
.commission-product-list header { display: flex; align-items: start; justify-content: space-between; gap: 7px; min-width: 0; }
.commission-product-list header > div { display: grid; gap: 2px; min-width: 0; }
.commission-product-list strong, .commission-product-list span, .commission-product-list b, .commission-product-list p { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.commission-product-list strong { color: #0f172a; font-size: 11px; line-height: 1.2; white-space: nowrap; }
.commission-product-list header span { color: #64748b; font-size: 9px; font-weight: 850; white-space: nowrap; }
.commission-product-list p { color: #334155; font-size: 9px; font-weight: 850; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.commission-product-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.commission-product-metrics span { display: grid; gap: 2px; min-width: 0; padding: 5px; border: 1px solid rgba(203,213,225,.72); border-radius: 7px; background: rgba(255,255,255,.82); color: #64748b; font-size: 8px; font-weight: 950; }
.commission-product-metrics b { color: #1d4ed8; font-size: 9px; white-space: nowrap; }
.commission-product-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e2e8f0; }
.commission-product-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--company-accent, #2563eb), #38bdf8); }
.commission-target-modal { width: min(760px, 94vw); max-height: 86vh; overflow: auto; }
.commission-target-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.commission-target-fields label { display: grid; gap: 4px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.commission-target-fields input, .commission-target-fields select, .commission-target-fields textarea { width: 100%; min-width: 0; min-height: 32px; border: 1px solid #dbeafe; border-radius: 7px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.commission-target-fields textarea { min-height: 76px; padding: 8px; resize: vertical; }
.commission-target-fields .wide { grid-column: 1 / -1; }
.commission-rule-form { display: grid; gap: 8px; min-width: 0; padding: 9px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.92); }
.commission-rule-form h3 { margin: 0; color: #0f172a; font-size: 13px; }
.commission-rule-form p { margin: 0; color: #64748b; font-size: 9px; font-weight: 850; }
.commission-rule-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; min-width: 0; }
.commission-rule-fields .wide { grid-column: 1 / -1; }
.commission-rule-fields label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 9px; font-weight: 900; }
.commission-rule-fields input, .commission-rule-fields select { width: 100%; min-width: 0; height: 30px; border: 1px solid #dbeafe; border-radius: 7px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 10px; font-weight: 850; }
.commission-rule-list { display: grid; gap: 6px; max-height: 210px; overflow: auto; padding-right: 2px; }
.commission-rule-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 8px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.commission-rule-list article.passive { opacity: .65; border-left-color: #94a3b8; }
.commission-rule-list strong, .commission-rule-list span, .commission-rule-list small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commission-rule-list strong { color: #0f172a; font-size: 11px; }
.commission-rule-list span { color: #1d4ed8; font-size: 10px; font-weight: 900; }
.commission-rule-list small { grid-column: 1 / -1; color: #64748b; font-size: 9px; font-weight: 850; }
.commission-rule-list .payment-actions { grid-row: 1 / 3; grid-column: 2; align-self: center; }
.commission-customer-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.commission-customer-summary article { display: grid; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-left: 3px solid #2563eb; border-radius: 8px; background: rgba(255,255,255,.92); }
.commission-customer-summary article.safe { border-left-color: #0891b2; background: #ecfeff; }
.commission-customer-summary article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.commission-customer-summary article.danger { border-left-color: #dc2626; background: #fff1f2; }
.commission-customer-summary span, .commission-customer-summary strong, .commission-customer-summary small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commission-customer-summary span { color: #64748b; font-size: 8px; font-weight: 950; text-transform: uppercase; }
.commission-customer-summary strong { color: #0f172a; font-size: 12px; }
.commission-customer-summary small { color: #475569; font-size: 9px; font-weight: 850; }
.commission-customer-list { display: grid; gap: 5px; max-height: 68vh; overflow: auto; padding-right: 2px; }
.commission-customer-list article { display: grid; gap: 4px; min-width: 0; padding: 6px 7px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.commission-customer-list article.safe { border-left-color: #0891b2; background: #ecfeff; }
.commission-customer-list article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.commission-customer-list article.danger { border-left-color: #dc2626; background: #fff1f2; }
.commission-customer-list header, .commission-customer-list footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-width: 0; }
.commission-customer-list header > div { display: grid; gap: 2px; min-width: 0; }
.commission-customer-list strong, .commission-customer-list span, .commission-customer-list b, .commission-customer-list p { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.commission-customer-list strong { white-space: nowrap; color: #0f172a; font-size: 11px; }
.commission-customer-list header span, .commission-customer-list footer span { white-space: nowrap; color: #64748b; font-size: 9px; font-weight: 850; }
.commission-customer-list p { margin: 0; color: #334155; font-size: 9px; font-weight: 800; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.commission-customer-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.commission-customer-metrics span { display: grid; gap: 1px; min-width: 0; padding: 4px 5px; border: 1px solid rgba(203,213,225,.7); border-radius: 6px; background: rgba(255,255,255,.78); color: #64748b; font-size: 7px; font-weight: 950; }
.commission-customer-metrics b { color: #1d4ed8; font-size: 9px; line-height: 1.12; white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
.commission-customer-collections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; min-width: 0; }
.commission-customer-collections span { display: grid; gap: 1px; min-width: 0; padding: 3px 5px; border: 1px solid #bae6fd; border-radius: 6px; background: #ecfeff; color: #0369a1; font-size: 7px; font-weight: 950; }
.commission-customer-collections b { min-width: 0; color: #0f172a; font-size: 9px; line-height: 1.12; overflow-wrap: anywhere; }
.budget-entry-panel, .budget-control-panel, .budget-compare-panel, .budget-company-panel, .budget-mapping-panel, .budget-records-panel { display: grid; gap: 8px; min-width: 0; padding: 9px; border: 1px solid #dbeafe; border-top: 3px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 64px); overflow: hidden; }
.budget-entry-panel { grid-row: span 2; }
.budget-control-panel { grid-area: control; gap: 6px; padding: 8px 9px; }
.budget-control-panel > .line-toolbar { min-height: 28px; }
.budget-control-panel > .line-toolbar h2 { font-size: 14px; }
.budget-control-panel > .line-toolbar p { font-size: 9px; line-height: 1.2; }
.budget-compare-panel { grid-area: compare; min-height: 250px; max-height: 320px; grid-template-rows: auto auto minmax(0, 1fr); }
.budget-company-panel { grid-area: company; min-height: 250px; max-height: 320px; grid-template-rows: auto minmax(0, 1fr); }
.budget-mapping-panel { grid-area: mapping; grid-template-rows: auto auto minmax(0, 1fr); max-height: 390px; }
.management-dashboard.budget-mode .management-kpis .metric { height: 44px; min-height: 44px; padding: 5px 7px; }
.management-dashboard.budget-mode .management-kpis .metric span { font-size: 9px; }
.management-dashboard.budget-mode .management-kpis .metric strong { font-size: 12px; }
.budget-entry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; align-content: start; min-height: 0; }
.budget-entry-fields label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.budget-entry-fields input, .budget-entry-fields select, .budget-entry-fields textarea { width: 100%; min-height: 29px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 10px; }
.budget-entry-fields textarea { min-height: 58px; padding: 7px; resize: vertical; }
.budget-entry-fields .wide { grid-column: 1 / -1; }
.budget-entry-fields.compact { grid-template-columns: .72fr minmax(0, 1.2fr) minmax(0, 1fr) auto; align-items: end; }
.budget-entry-fields.compact button { min-height: 29px; padding: 0 10px; font-size: 10px; white-space: nowrap; }
.budget-definition-box { display: grid; gap: 7px; padding-top: 8px; border-top: 1px solid #dbeafe; min-width: 0; }
.management-budget-definition-grid { display: grid; grid-template-columns: minmax(190px, .28fr) minmax(0, 1.72fr); gap: 8px; align-items: start; }
.management-dashboard.budget-items-mode .management-budget-definition-grid { max-height: 430px; overflow: hidden; }
.budget-tree-summary-panel { display: grid; gap: 7px; min-width: 0; padding: 9px; border: 1px solid #b9d5f5; border-top: 4px solid #2563eb; border-radius: 8px; background: linear-gradient(180deg, #eaf3ff 0, #f8fbff 82px, #fff 100%); box-shadow: 0 5px 14px rgba(37,99,235,.08); }
.budget-tree-summary-panel > .line-toolbar { min-height: 28px; }
.budget-tree-summary-panel > .line-toolbar h2 { margin: 0; color: #174ea6; font-size: 14px; }
.budget-tree-summary-panel > .line-toolbar p { margin: 2px 0 0; color: #64748b; font-size: 9px; font-weight: 850; }
.budget-company-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; min-width: 0; }
.budget-company-tabs button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 6px; min-width: 0; min-height: 42px; padding: 5px 7px; border: 1px solid #dbeafe; border-radius: 7px; background: #fff; color: #334155; text-align: left; }
.budget-company-tabs button:hover { border-color: var(--company-accent, #2563eb); background: #f8fbff; }
.budget-company-tabs button.active { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); box-shadow: inset 0 -3px 0 var(--company-accent, #2563eb); }
.budget-company-tabs button.c-all { border-color: #aebdce; background: #edf1f5; }
.budget-company-tabs button.c-maunsan { border-color: #f2a28b; background: #fff0eb; }
.budget-company-tabs button.c-akinsoy { border-color: #8eb9ef; background: #eaf3ff; }
.budget-company-tabs button.c-un { border-color: #8fd0a1; background: #ebf8ef; }
.budget-company-tabs button.c-shared { border-color: #e5c85e; background: #fff8d8; }
.budget-company-tabs button.c-all.active { border-color: #475569; background: #dce3ea; box-shadow: inset 0 -3px 0 #475569; }
.budget-company-tabs button.c-maunsan.active { border-color: #e34f24; background: #ffe0d6; box-shadow: inset 0 -3px 0 #e34f24; }
.budget-company-tabs button.c-akinsoy.active { border-color: #2563eb; background: #d9eaff; box-shadow: inset 0 -3px 0 #2563eb; }
.budget-company-tabs button.c-un.active { border-color: #159447; background: #d8f1df; box-shadow: inset 0 -3px 0 #159447; }
.budget-company-tabs button.c-shared.active { border-color: #c89912; background: #fff0ad; box-shadow: inset 0 -3px 0 #c89912; }
.budget-company-tabs span { min-width: 0; overflow: hidden; color: #475569; font-size: 9px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.budget-company-tabs strong { color: #0f172a; font-size: 10px; text-align: right; white-space: nowrap; }
.budget-company-tabs small { grid-column: 1 / -1; color: #64748b; font-size: 8px; font-weight: 850; }
.budget-main-group-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; min-width: 0; }
.budget-main-group { min-width: 0; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; overflow: hidden; }
.budget-main-group.has-value { border-color: var(--company-border, #bfdbfe); }
.budget-main-group.open { grid-column: 1 / -1; border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); }
.budget-main-group-button { display: grid; grid-template-columns: 56px minmax(0, 1fr) 58px 105px 18px; align-items: center; gap: 6px; width: 100%; min-height: 32px; padding: 5px 7px; border: 0; border-radius: 0; background: transparent; color: #334155; text-align: left; }
.budget-main-group-button:hover { background: #f8fbff; }
.budget-main-group-button .budget-group-code { color: var(--company-accent, #2563eb); font-size: 9px; font-weight: 950; }
.budget-main-group-button strong { min-width: 0; overflow: hidden; color: #1e293b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.budget-main-group-button small { color: #64748b; font-size: 8px; font-weight: 850; text-align: right; }
.budget-main-group-button b { color: #0f172a; font-size: 10px; text-align: right; white-space: nowrap; }
.budget-main-group-button i { color: var(--company-accent, #2563eb); font-size: 15px; font-style: normal; font-weight: 950; text-align: center; }
.budget-group-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 5px 7px 7px; border-top: 1px solid var(--company-border, #bfdbfe); background: rgba(255,255,255,.72); }
.budget-group-detail-list > div { display: grid; grid-template-columns: 58px minmax(0, 1fr) 58px 105px; align-items: center; gap: 6px; min-width: 0; min-height: 27px; padding: 4px 6px; border: 1px solid #e2e8f0; border-radius: 6px; background: #fff; }
.budget-group-detail-list > div.has-value { border-color: var(--company-border, #bfdbfe); }
.budget-group-detail-list span { color: var(--company-accent, #2563eb); font-size: 8px; font-weight: 950; }
.budget-group-detail-list strong { min-width: 0; overflow: hidden; color: #334155; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.budget-group-detail-list small { color: #64748b; font-size: 8px; font-weight: 800; text-align: right; }
.budget-group-detail-list b { color: #0f172a; font-size: 9px; text-align: right; white-space: nowrap; }
@media (max-width: 1100px) {
  .budget-company-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .budget-company-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .budget-main-group-list, .budget-group-detail-list { grid-template-columns: 1fr; }
  .budget-main-group.open { grid-column: auto; }
  .budget-main-group-button { grid-template-columns: 52px minmax(0, 1fr) 90px 18px; }
  .budget-main-group-button small { display: none; }
  .budget-group-detail-list > div { grid-template-columns: 52px minmax(0, 1fr) 90px; }
  .budget-group-detail-list small { display: none; }
  .management-dashboard.budget-items-mode .management-budget-definition-grid,
  .management-dashboard.budget-items-mode .budget-item-side-menu,
  .management-dashboard.budget-items-mode .budget-item-workspace { max-height: none; overflow: visible; }
}
.budget-person-entry { grid-column: 1 / -1; }
.budget-definition-editor, .budget-definition-panel, .budget-item-side-menu, .budget-item-workspace { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 9px; border: 1px solid #dbeafe; border-top: 3px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 64px); overflow: hidden; }
.budget-item-side-menu { align-content: start; gap: 6px; padding: 7px; border-color: #9bd8cf; border-top: 4px solid #0f766e; background: linear-gradient(180deg, #e5f8f4 0, #f4fbfa 74px, #fff 100%); box-shadow: 0 5px 14px rgba(15,118,110,.08); }
.budget-item-side-menu .line-toolbar h2 { color: #0f675f; }
.budget-item-workspace { border-color: #f0c98f; border-top: 4px solid #d97706; background: linear-gradient(180deg, #fff3df 0, #fffbf3 82px, #fff 100%); box-shadow: 0 5px 14px rgba(217,119,6,.08); }
.budget-item-workspace > .line-toolbar h2 { color: #a65308; }
.management-dashboard.budget-items-mode .budget-item-side-menu,
.management-dashboard.budget-items-mode .budget-item-workspace { max-height: 430px; overflow: auto; }
@media (max-width: 700px) {
  .management-dashboard.budget-items-mode .management-budget-definition-grid,
  .management-dashboard.budget-items-mode .budget-item-side-menu,
  .management-dashboard.budget-items-mode .budget-item-workspace { max-height: none; overflow: visible; }
}
.budget-item-side-menu > .line-toolbar { min-height: 25px; }
.budget-item-side-menu > .line-toolbar h2 { font-size: 13px; }
.budget-side-button-grid { display: grid; grid-template-columns: 1fr; gap: 4px; align-content: start; }
.budget-item-side-menu .budget-side-button { display: flex !important; align-items: center !important; width: 100% !important; height: 28px !important; min-height: 28px !important; max-height: 28px !important; padding: 0 8px !important; border: 1px solid #dbeafe; border-radius: 7px; background: #fff; color: #0f172a; text-align: left; overflow: hidden !important; line-height: 1 !important; }
.budget-item-side-menu .budget-side-button.active { border-color: #3aa99d; background: #d9f3ee; color: #0f5f57; box-shadow: inset 3px 0 0 #0f766e; }
.budget-item-side-menu .budget-side-button strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; line-height: 1; }
.budget-item-workspace { grid-template-rows: auto auto auto minmax(0, 1fr); }
.budget-item-workspace > .line-toolbar { min-height: 28px; }
.budget-item-workspace > .line-toolbar h2 { font-size: 14px; }
.budget-item-workspace > .line-toolbar p { font-size: 9px; line-height: 1.2; }
.budget-definition-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; min-width: 0; }
.budget-definition-form.horizontal { grid-template-columns: minmax(140px, .9fr) minmax(120px, .68fr) 124px minmax(130px, .85fr) auto; align-items: end; }
.budget-definition-form label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.budget-definition-form input, .budget-definition-form select { width: 100%; min-height: 26px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 10px; }
.budget-definition-form .wide { grid-column: 1 / -1; }
.budget-person-card { display: grid; gap: 7px; padding: 8px; border: 1px solid #bfdbfe; border-radius: 8px; background: #f8fbff; min-width: 0; }
.budget-person-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; min-width: 0; }
.budget-person-grid.one-line { grid-template-columns: minmax(92px, .74fr) 74px 88px minmax(86px, .8fr) minmax(140px, 1.05fr) 118px repeat(5, minmax(68px, .62fr)) minmax(110px, .9fr); }
.budget-person-grid.vehicle-line { grid-template-columns: minmax(92px, .75fr) 64px minmax(78px, .7fr) minmax(102px, .85fr) 106px repeat(6, minmax(112px, 1fr)) minmax(95px, .75fr); gap: 5px; align-items: end; overflow-x: auto; padding-bottom: 2px; }
.budget-person-grid.generic-line { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; align-items: end; }
.budget-person-grid.generic-line .name-field,
.budget-person-grid.generic-line .note-field { grid-column: span 2; }
.budget-person-grid label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.budget-person-grid input, .budget-person-grid select { width: 100%; min-height: 29px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 10px; }
.budget-person-grid.vehicle-line input, .budget-person-grid.vehicle-line select { min-height: 26px; }
.budget-person-grid.vehicle-line > label { min-width: 0; }
.amount-period-control { display: grid; grid-template-columns: minmax(0, 1fr) 52px; gap: 3px; min-width: 0; }
.amount-period-control input, .amount-period-control select { min-width: 0; padding: 0 5px !important; }
.amount-period-control select { font-size: 9px !important; }
.budget-person-grid .wide { grid-column: span 2; }
.budget-person-grid .name-field, .budget-person-grid .note-field { min-width: 0; }
.toolbar-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.budget-definition-list { display: grid; gap: 5px; max-height: 148px; overflow: auto; padding-right: 2px; }
.budget-definition-list.tall { max-height: 280px; align-content: start; }
.budget-definition-list.right-list { max-height: 280px; min-height: 120px; }
.budget-definition-list article { display: grid; grid-template-columns: minmax(80px, .9fr) minmax(0, 1fr) auto auto; gap: 5px; align-items: center; padding: 6px; border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; }
.budget-definition-list strong, .budget-definition-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.budget-definition-list span { color: #64748b; font-weight: 850; }
.budget-person-company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; min-height: 0; align-items: start; }
.budget-person-company-card { min-width: 0; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; overflow: hidden; }
.budget-person-company-card summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; align-items: center; padding: 7px 8px; cursor: pointer; list-style: none; border-left: 4px solid var(--company-accent, #2563eb); background: linear-gradient(90deg, var(--company-soft-solid, #eff6ff), #fff); }
.budget-person-company-card summary::-webkit-details-marker { display: none; }
.budget-person-company-card summary span, .budget-person-company-card summary b, .budget-person-company-card summary strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.budget-person-company-card summary span { color: #0f172a; font-size: 12px; font-weight: 950; }
.budget-person-company-card summary b { color: #475569; font-size: 9px; font-weight: 950; text-align: right; }
.budget-person-company-card summary strong { grid-column: 1 / -1; color: #1d4ed8; font-size: 12px; }
.company-person-list { max-height: 180px; padding: 5px; overflow: auto; }
.company-person-list article { grid-template-columns: minmax(72px, .9fr) minmax(78px, .75fr) auto auto; padding: 5px; }
.budget-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.budget-summary-grid article { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-left: 3px solid #2563eb; border-radius: 8px; background: #f8fafc; }
.budget-summary-grid article.safe { border-left-color: #0891b2; background: #ecfeff; }
.budget-summary-grid article.danger { border-left-color: #dc2626; background: #fff1f2; }
.budget-summary-grid span, .budget-summary-grid strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.budget-summary-grid span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.budget-summary-grid strong { color: #0f172a; font-size: 13px; }
.budget-control-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.budget-control-summary article { display: grid; gap: 2px; min-width: 0; padding: 7px 8px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.budget-control-summary article.safe { border-left-color: #0891b2; background: #ecfeff; }
.budget-control-summary article.danger { border-left-color: #dc2626; background: #fff7f7; }
.budget-control-summary span, .budget-control-summary strong, .budget-control-summary small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.budget-control-summary span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.budget-control-summary strong { color: #0f172a; font-size: 13px; }
.budget-control-summary small { color: #64748b; font-size: 9px; font-weight: 850; }
.budget-alert-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.budget-alert-strip article { display: grid; gap: 1px; min-width: 0; padding: 5px 7px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.budget-alert-strip article.safe { border-left-color: #0891b2; }
.budget-alert-strip article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.budget-alert-strip article.danger { border-left-color: #dc2626; background: #fff7f7; }
.budget-alert-strip strong, .budget-alert-strip span, .budget-alert-strip b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.budget-alert-strip span { color: #64748b; font-weight: 850; }
.budget-alert-strip b { color: #1d4ed8; }
.budget-compare-list, .budget-record-list, .budget-company-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; padding-right: 2px; }
.budget-compare-panel .budget-compare-list { max-height: 205px; }
.budget-compare-list article { display: grid; grid-template-columns: minmax(110px, .64fr) minmax(0, 1fr) minmax(110px, auto); gap: 3px 7px; align-items: center; min-width: 0; padding: 5px 6px; border: 1px solid #e5eaf0; border-left: 3px solid #2563eb; border-radius: 8px; background: #fff; }
.budget-compare-list article.safe { border-left-color: #0891b2; }
.budget-compare-list article.warn { border-left-color: #f59e0b; }
.budget-compare-list article.danger { border-left-color: #dc2626; background: #fff7f7; }
.budget-compare-list strong, .budget-compare-list span, .budget-compare-list b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.budget-compare-list strong { color: #0f172a; font-size: 11px; }
.budget-compare-list span { color: #475569; font-size: 10px; font-weight: 850; }
.budget-compare-list b { color: #1d4ed8; font-size: 10px; text-align: right; }
.budget-progress { grid-column: 2; height: 8px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.budget-progress i { display: block; width: var(--w); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #93c5fd, #2563eb); }
.budget-company-list article, .budget-record-list article { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(0, 1fr) minmax(90px, auto) auto auto; gap: 5px 8px; align-items: center; min-width: 0; padding: 7px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; }
.budget-company-list article { grid-template-columns: minmax(110px, .8fr) minmax(0, 1fr) minmax(80px, auto); }
.budget-company-list article.danger { border-color: #fecdd3; background: #fff1f2; }
.budget-company-list strong, .budget-company-list span, .budget-company-list b, .budget-record-list strong, .budget-record-list span, .budget-record-list b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.budget-company-list strong, .budget-record-list strong { color: #0f172a; font-size: 11px; }
.budget-company-list span, .budget-record-list span { color: #64748b; font-weight: 850; }
.budget-company-list b, .budget-record-list b { color: #1d4ed8; text-align: right; }
.budget-record-list button { min-height: 24px; padding: 0 7px; font-size: 9px; }
.budget-company-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; align-content: start; overflow: auto; min-height: 0; max-height: 250px; }
.budget-company-card-grid article { display: grid; gap: 3px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.budget-company-card-grid article.safe { border-left-color: #0891b2; background: #f0fdfa; }
.budget-company-card-grid article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.budget-company-card-grid article.danger { border-left-color: #dc2626; background: #fff7f7; }
.budget-company-card-grid strong, .budget-company-card-grid span, .budget-company-card-grid b, .budget-company-card-grid small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.budget-company-card-grid strong { color: #0f172a; font-size: 12px; }
.budget-company-card-grid span, .budget-company-card-grid small { color: #64748b; font-size: 10px; font-weight: 850; }
.budget-company-card-grid b { color: #1d4ed8; font-size: 12px; }
.budget-mapping-form { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(120px, .8fr) minmax(120px, .8fr) minmax(100px, .65fr) minmax(130px, .8fr) minmax(160px, 1fr) minmax(80px, .45fr) minmax(140px, .9fr); gap: 6px; align-items: end; min-width: 0; }
.budget-mapping-form label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.budget-mapping-form input, .budget-mapping-form select { width: 100%; min-height: 28px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 10px; }
.budget-mapping-form .wide { grid-column: 1 / -1; }
.budget-mapping-list { display: grid; gap: 5px; min-height: 0; overflow: auto; padding-right: 2px; }
.budget-mapping-list article { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1fr) minmax(70px, auto) auto auto; gap: 5px 8px; align-items: center; min-width: 0; padding: 6px; border: 1px solid #e5eaf0; border-left: 4px solid #0891b2; border-radius: 8px; background: #fff; }
.budget-mapping-list article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.budget-mapping-list article.muted { border-left-color: #94a3b8; opacity: .72; }
.budget-mapping-list strong, .budget-mapping-list span, .budget-mapping-list b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.budget-mapping-list strong { color: #0f172a; font-size: 11px; }
.budget-mapping-list span { color: #64748b; font-weight: 850; }
.budget-mapping-list b { color: #1d4ed8; text-align: right; }
.management-payment-calendar-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); grid-template-areas: "company list" "summary list" "fridays list"; gap: 8px; align-items: start; }
.payment-calendar-summary-panel, .payment-calendar-friday-panel, .payment-calendar-company-panel, .payment-calendar-list-panel { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 9px; border: 1px solid #dbeafe; border-top: 3px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 70px); overflow: hidden; }
.payment-calendar-summary-panel { grid-area: summary; }
.payment-calendar-friday-panel { grid-area: fridays; }
.payment-calendar-company-panel { grid-area: company; }
.payment-calendar-list-panel { grid-area: list; min-height: 620px; grid-template-rows: auto minmax(0, 1fr); align-self: stretch; }
.payment-calendar-summary-panel h2, .payment-calendar-friday-panel h2, .payment-calendar-company-panel h2, .payment-calendar-list-panel h2 { margin: 0 0 3px; font-size: 15px; }
.payment-calendar-summary-panel p, .payment-calendar-list-panel p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.payment-calendar-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.payment-calendar-kpis button, .payment-calendar-note { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; text-align: left; font: inherit; }
.payment-calendar-kpis button { cursor: pointer; }
.payment-calendar-kpis button.safe { border-left-color: #0891b2; background: #ecfeff; }
.payment-calendar-kpis button.danger { border-left-color: #dc2626; background: #fff1f2; }
.payment-calendar-kpis button.active, .payment-friday-grid button.active, .payment-company-list button.active { box-shadow: inset 0 0 0 2px var(--company-accent, #2563eb), 0 8px 18px rgba(15, 23, 42, .08); }
.payment-calendar-kpis span, .payment-calendar-kpis strong, .payment-calendar-kpis small, .payment-calendar-note strong, .payment-calendar-note span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payment-calendar-kpis span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.payment-calendar-kpis strong { color: #0f172a; font-size: 14px; }
.payment-calendar-kpis small, .payment-calendar-note span { color: #64748b; font-size: 9px; font-weight: 850; }
.payment-calendar-note { border-left-color: #f59e0b; background: #fffbeb; }
.payment-calendar-note strong { color: #92400e; font-size: 11px; }
.payment-friday-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.payment-friday-grid button { display: grid; gap: 4px; min-width: 0; min-height: 96px; padding: 8px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #eff6ff; text-align: left; font: inherit; cursor: pointer; }
.payment-friday-grid button.warn { border-left-color: #f59e0b; background: #fffbeb; }
.payment-friday-grid button.safe { border-left-color: #0891b2; background: #ecfeff; }
.payment-friday-grid button.danger { border-left-color: #dc2626; background: #fff1f2; }
.payment-friday-grid header { display: flex; align-items: start; justify-content: space-between; gap: 6px; min-width: 0; }
.payment-friday-grid strong, .payment-friday-grid span, .payment-friday-grid b, .payment-friday-grid small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payment-friday-grid strong { color: #0f172a; font-size: 12px; }
.payment-friday-grid span, .payment-friday-grid small { color: #64748b; font-size: 9px; font-weight: 900; }
.payment-friday-grid b { color: #1d4ed8; font-size: 14px; overflow-wrap: anywhere; white-space: normal; }
.payment-friday-breakdown-list { display: grid; gap: 5px; max-height: 190px; overflow: auto; padding-right: 2px; }
.payment-friday-breakdown-list article { display: grid; gap: 4px; min-width: 0; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; overflow: hidden; }
.payment-friday-breakdown-list article.open { background: #eff6ff; }
.payment-friday-breakdown-list article > button { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, auto) minmax(96px, auto); gap: 6px; align-items: center; width: 100%; min-height: 30px; padding: 6px 7px; border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.payment-friday-breakdown-list strong, .payment-friday-breakdown-list span, .payment-friday-breakdown-list b, .payment-friday-detail-list em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.payment-friday-breakdown-list strong { color: #0f172a; font-size: 11px; }
.payment-friday-breakdown-list span, .payment-friday-detail-list em { color: #64748b; font-weight: 850; }
.payment-friday-breakdown-list b { color: #1d4ed8; text-align: right; }
.payment-friday-group-list { display: grid; gap: 4px; padding: 0 7px 7px; }
.payment-friday-group-list section { display: grid; gap: 3px; min-width: 0; border: 1px solid #e5eaf0; border-radius: 7px; background: rgba(255,255,255,.78); overflow: hidden; }
.payment-friday-group-list section.open { border-color: #bfdbfe; background: #fff; }
.payment-friday-group-list section > button { display: grid; grid-template-columns: minmax(0, 1fr) minmax(70px, auto) minmax(92px, auto); gap: 6px; align-items: center; width: 100%; min-height: 28px; padding: 5px 6px; border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.payment-friday-group-list strong, .payment-friday-group-list span, .payment-friday-group-list b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.payment-friday-group-list strong { color: #0f172a; font-size: 10.5px; }
.payment-friday-group-list span { color: #64748b; font-weight: 850; }
.payment-friday-group-list b { color: #1d4ed8; text-align: right; }
.payment-friday-detail-list { display: grid; gap: 3px; padding: 0 7px 7px; }
.payment-friday-detail-list .payment-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(86px, auto) minmax(90px, auto); gap: 6px; align-items: center; min-width: 0; width: 100%; padding: 4px 5px; border: 0; border-radius: 6px; background: rgba(255,255,255,.8); text-align: left; font: inherit; }
.payment-detail-row.clickable { cursor: pointer; }
.payment-detail-row.clickable:hover { background: #dbeafe; }
.payment-detail-row:disabled { color: inherit; cursor: default; opacity: 1; }
.payment-friday-detail-list span { color: #0f172a; font-size: 10px; font-weight: 900; }
.payment-company-list, .payment-calendar-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; padding-right: 2px; }
.payment-company-list button, .payment-calendar-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, auto) minmax(110px, auto); gap: 4px 8px; align-items: center; min-width: 0; padding: 7px; border: 1px solid #e5eaf0; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; text-align: left; font: inherit; }
.payment-company-list button { cursor: pointer; }
.payment-calendar-list article { grid-template-columns: minmax(0, 1fr) minmax(110px, auto) minmax(94px, auto); }
.payment-calendar-list article.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.payment-company-list strong, .payment-company-list span, .payment-company-list b, .payment-calendar-list strong, .payment-calendar-list span, .payment-calendar-list b, .payment-calendar-list small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.payment-company-list strong, .payment-calendar-list strong { color: #0f172a; font-size: 11px; }
.payment-company-list span, .payment-calendar-list span, .payment-calendar-list small { color: #64748b; font-weight: 850; }
.payment-company-list b, .payment-calendar-list b { color: #1d4ed8; text-align: right; }
.payment-calendar-list small { grid-column: 2 / -1; text-align: right; }
.payment-calendar-group-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; padding-right: 2px; }
.payment-calendar-group-list article { display: grid; gap: 4px; min-width: 0; border: 1px solid #e5eaf0; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; overflow: hidden; }
.payment-calendar-group-list article.open { border-color: #bfdbfe; background: #eff6ff; }
.payment-calendar-group-list article > button { display: grid; grid-template-columns: minmax(0, 1fr) minmax(88px, auto) minmax(118px, auto); gap: 8px; align-items: center; width: 100%; min-height: 38px; padding: 8px; border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.payment-calendar-group-list strong, .payment-calendar-group-list span, .payment-calendar-group-list b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.payment-calendar-group-list strong { color: #0f172a; font-size: 12px; }
.payment-calendar-group-list span { color: #64748b; font-weight: 850; }
.payment-calendar-group-list b { color: #1d4ed8; text-align: right; }
.payment-general-subgroup-list { display: grid; gap: 6px; padding: 0 8px 8px; }
.payment-general-subgroup-list section { display: grid; gap: 4px; min-width: 0; border: 1px solid #e5eaf0; border-radius: 7px; background: rgba(255,255,255,.82); overflow: hidden; }
.payment-general-subgroup-list section.open { border-color: #bfdbfe; background: #fff; }
.payment-general-subgroup-list section > button, .payment-general-subgroup-list .payment-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(94px, auto) minmax(108px, auto); gap: 7px; align-items: center; min-width: 0; }
.payment-general-subgroup-list section > button { width: 100%; min-height: 32px; padding: 6px 7px; border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.payment-general-subgroup-list .payment-detail-row { width: 100%; padding: 4px 7px; border: 0; background: transparent; text-align: left; font: inherit; }
.payment-general-subgroup-list strong, .payment-general-subgroup-list span, .payment-general-subgroup-list em, .payment-general-subgroup-list b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10.5px; }
.payment-general-subgroup-list strong { color: #0f172a; font-size: 11px; font-weight: 950; }
.payment-general-subgroup-list span, .payment-general-subgroup-list em { color: #64748b; font-style: normal; font-weight: 850; }
.payment-general-subgroup-list b { color: #1d4ed8; text-align: right; }
.payment-calendar-title-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.payment-calendar-title-actions .inline-action { min-height: 24px; padding: 0 8px; border-radius: 6px; font-size: 10px; }
.management-kpis { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
.management-kpis .metric { height: 54px; min-height: 54px; padding: 7px 8px; border-left-width: 4px; gap: 3px; overflow: hidden; }
.management-kpis .metric span { font-size: 10px; line-height: 1.1; }
.management-kpis .metric strong { font-size: 13px; line-height: 1.12; overflow-wrap: anywhere; }
.management-chart-grid { display: grid; grid-template-columns: minmax(290px, .9fr) minmax(0, 1.35fr); gap: 9px; align-items: stretch; }
.management-performance-title { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 12px; min-height: 42px; padding: 8px 10px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.management-performance-title h2 { margin: 0; color: #0f172a; font-size: 18px; letter-spacing: 0; }
.management-performance-title p { margin: 0; color: #64748b; font-size: 11px; font-weight: 900; text-align: right; }
.management-chart-summary { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.management-chart-summary article { display: grid; gap: 3px; min-width: 0; min-height: 50px; padding: 7px; border: 1px solid #dbeafe; border-left: 3px solid #2563eb; border-radius: 8px; background: #f8fafc; }
.management-chart-summary article.safe { border-color: #bae6fd; border-left-color: #0891b2; background: #ecfeff; }
.management-chart-summary article.warn { border-color: #fed7aa; border-left-color: #f97316; background: #fff7ed; }
.management-chart-summary article.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.management-chart-summary span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.management-chart-summary strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.management-chart-summary b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1d4ed8; font-size: 10px; }
.management-chart-panel { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; min-height: 246px; padding: 10px; border: 1px solid color-mix(in srgb, var(--company-border, #bfdbfe) 50%, #e2e8f0); border-radius: 8px; background: #fff; box-shadow: none; overflow: hidden; }
.management-chart-panel::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--company-accent, #2563eb), color-mix(in srgb, var(--company-accent-2, #38bdf8) 70%, white)); }
.management-chart-panel.wide { grid-column: 1 / -1; }
.line-panel { grid-column: 1 / -1; min-height: 238px; }
.management-ratio-panel { grid-column: 1 / -1; min-height: 250px; }
.distribution-panel { grid-column: 1 / -1; min-height: 210px; }
.management-chart-panel .line-toolbar { align-items: start; }
.management-chart-panel .line-toolbar h2 { margin: 0 0 3px; color: #0f172a; font-size: 15px; letter-spacing: 0; }
.management-chart-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.management-chart-legend { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; color: #475569; font-size: 10px; font-weight: 950; }
.management-chart-legend span { display: inline-flex; align-items: center; gap: 5px; min-height: 22px; padding: 0 7px; border: 1px solid #e5eaf0; border-radius: 999px; background: rgba(255,255,255,.76); }
.management-chart-legend span::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.management-chart-legend .gross::before, .management-chart-legend .c-akinsoy::before { background: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.management-chart-legend .expense::before, .management-chart-legend .c-maunsan::before { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,.12); }
.management-chart-legend .net::before, .management-chart-legend .c-un::before { background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.12); }
.management-month-chart { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 7px; min-height: 0; align-items: stretch; }
.management-month-chart article { display: grid; grid-template-rows: minmax(0, 1fr) auto auto auto auto; gap: 4px; min-width: 0; padding: 8px 5px 7px; border: 1px solid rgba(203,213,225,.82); border-radius: 8px; background: linear-gradient(180deg, #fff, #f8fafc); text-align: center; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.management-month-chart article.peak { border-color: #93c5fd; box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 0 0 2px rgba(37,99,235,.1); }
.management-month-chart article.loss { border-color: #fecdd3; background: linear-gradient(180deg, #fff, #fff1f2); }
.management-month-bars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; align-items: end; min-height: 120px; padding: 6px 4px 0; border-radius: 7px; background: repeating-linear-gradient(to top, rgba(148,163,184,.18) 0, rgba(148,163,184,.18) 1px, transparent 1px, transparent 24px); }
.management-month-bars i { display: block; height: var(--h); min-height: 3px; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, #60a5fa, #2563eb); box-shadow: 0 6px 12px rgba(37,99,235,.16); }
.management-month-bars .gross { background: linear-gradient(180deg, #67e8f9, #0891b2); box-shadow: 0 6px 12px rgba(8,145,178,.14); }
.management-month-bars .expense { background: linear-gradient(180deg, #fdba74, #f97316); box-shadow: 0 6px 12px rgba(249,115,22,.14); }
.management-month-bars .net { background: linear-gradient(180deg, #a5b4fc, #4f46e5); box-shadow: 0 6px 12px rgba(79,70,229,.14); }
.management-month-bars .danger { background: linear-gradient(180deg, #fca5a5, #dc2626); box-shadow: 0 6px 12px rgba(220,38,38,.14); }
.management-month-chart strong { color: #0f172a; font-size: 10px; line-height: 1; }
.management-month-chart span, .management-month-chart b, .management-month-chart small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-month-chart span { color: #475569; font-size: 9px; font-weight: 950; }
.management-month-chart b { color: #1d4ed8; font-size: 9px; }
.management-month-chart small { color: #64748b; font-size: 8px; font-weight: 850; }
.management-chart-list { display: grid; align-content: start; gap: 8px; min-height: 0; overflow: auto; padding-right: 2px; }
.management-chart-row { display: grid; grid-template-columns: minmax(92px, .66fr) minmax(0, 1fr) minmax(96px, auto); gap: 5px 8px; align-items: center; min-width: 0; padding: 8px; border: 1px solid rgba(203,213,225,.8); border-radius: 8px; background: linear-gradient(180deg, #fff, #f8fafc); font-size: 10px; box-shadow: 0 5px 14px rgba(15,23,42,.035); }
.management-chart-row strong, .management-chart-row span, .management-chart-row small, .management-chart-row em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-chart-row strong { color: #0f172a; font-size: 11px; }
.management-chart-row span { color: #1d4ed8; font-weight: 950; text-align: right; }
.management-chart-row small { grid-column: 2 / -1; color: #64748b; font-weight: 850; }
.management-chart-row em { grid-column: 1 / -1; width: fit-content; max-width: 100%; padding: 2px 6px; border-radius: 999px; background: #fff7ed; color: #c2410c; font-size: 9px; font-style: normal; font-weight: 950; }
.management-chart-track { height: 12px; min-width: 0; border-radius: 999px; background: #e2e8f0; overflow: hidden; box-shadow: inset 0 1px 2px rgba(15,23,42,.08); }
.management-chart-track i { display: block; width: var(--w); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #60a5fa, #2563eb); }
.management-chart-track i.safe { background: linear-gradient(90deg, #67e8f9, #0891b2); }
.management-chart-track i.warn { background: linear-gradient(90deg, #fdba74, #f97316); }
.management-chart-track i.danger { background: linear-gradient(90deg, #fca5a5, #dc2626); }
.management-company-chart { display: grid; gap: 9px; min-height: 0; overflow: auto; }
.management-company-chart article { display: grid; grid-template-columns: minmax(128px, .34fr) minmax(0, 1fr); gap: 11px; align-items: center; padding: 10px; border: 1px solid rgba(203,213,225,.8); border-radius: 8px; background: linear-gradient(180deg, #fff, #f8fafc); box-shadow: 0 5px 14px rgba(15,23,42,.035); }
.management-company-title { display: grid; gap: 3px; min-width: 0; }
.management-company-chart strong, .management-company-title span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-company-chart strong { color: #0f172a; font-size: 12px; }
.management-company-title span { color: #64748b; font-size: 10px; font-weight: 950; }
.management-company-bars { display: grid; gap: 6px; min-width: 0; }
.management-company-bars div { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(108px, auto); gap: 8px; align-items: center; min-width: 0; }
.management-company-bars span, .management-company-bars b { color: #64748b; font-size: 10px; font-weight: 950; white-space: nowrap; }
.management-company-bars b { color: #1d4ed8; text-align: right; }
.management-company-bars i { display: block; width: var(--w); height: 11px; border-radius: 999px; background: linear-gradient(90deg, #60a5fa, #2563eb); box-shadow: inset 0 1px 0 rgba(255,255,255,.36); }
.management-company-bars .expense { background: linear-gradient(90deg, #fdba74, #f97316); }
.management-company-bars .net { background: linear-gradient(90deg, #a5b4fc, #4f46e5); }
.management-company-bars .danger { background: linear-gradient(90deg, #fca5a5, #dc2626); }
.line-chart-wrap { display: grid; grid-template-rows: auto auto auto auto; gap: 4px; min-height: 0; padding: 3px 5px 2px; }
.line-chart-plot { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 8px; align-items: stretch; min-height: 104px; }
.line-y-axis { display: grid; grid-template-rows: repeat(5, 1fr); align-items: center; min-width: 0; padding: 0 0 0 2px; color: #64748b; font-size: 9px; font-weight: 950; text-align: right; }
.line-y-axis span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.line-chart-wrap svg { width: 100%; height: 104px; overflow: visible; }
.line-chart-wrap line { stroke: #dbeafe; stroke-width: .7; vector-effect: non-scaling-stroke; }
.line-chart-wrap line.grid { stroke: #e2e8f0; stroke-dasharray: 2 2; }
.line-chart-wrap polyline { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.line-chart-wrap polyline.previous, .line-chart-wrap polyline.c-akinsoy { stroke: #2563eb; }
.line-chart-wrap polyline.current, .line-chart-wrap polyline.c-maunsan { stroke: #ef4444; }
.line-chart-wrap polyline.c-un { stroke: #16a34a; }
.line-chart-months { display: grid; gap: 2px; margin-left: 66px; color: #64748b; font-size: 10px; font-weight: 950; text-align: center; overflow-x: auto; }
.company-line-values { display: grid; grid-template-columns: repeat(12, minmax(142px, 1fr)); gap: 3px; padding: 2px 0 4px; overflow-x: auto; }
.company-line-values article { display: grid; gap: 1px; min-width: 0; padding: 3px 3px; border: 1px solid #e5eaf0; border-radius: 5px; background: #f8fafc; text-align: left; }
.company-line-values strong, .company-line-values span { min-width: 0; overflow: visible; text-overflow: clip; white-space: nowrap; }
.company-line-values strong { color: #64748b; font-size: 10px; line-height: 1; }
.company-line-values span { font-size: 9.5px; font-weight: 950; line-height: 1.16; }
.company-line-values .c-akinsoy { color: #2563eb; }
.company-line-values .c-maunsan { color: #dc2626; }
.company-line-values .c-un { color: #15803d; }
.company-line-values .c-factory { color: #475569; }
.company-line-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.company-line-totals article { display: grid; gap: 2px; min-width: 0; padding: 6px; border: 1px solid #dbeafe; border-left: 3px solid #2563eb; border-radius: 7px; background: #f8fafc; }
.company-line-totals article.c-maunsan { border-left-color: #ef4444; background: #fff1f2; }
.company-line-totals article.c-akinsoy { border-left-color: #2563eb; background: #eff6ff; }
.company-line-totals article.c-un { border-left-color: #16a34a; background: #f0fdf4; }
.company-line-totals article.c-factory { border-left-color: #475569; background: #f1f5f9; }
.company-line-totals strong, .company-line-totals span, .company-line-totals b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-line-totals strong { color: #0f172a; font-size: 11px; }
.company-line-totals span, .company-line-totals b { color: #64748b; font-size: 10px; font-weight: 900; }
.ratio-hero { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 10px; align-items: center; padding: 8px 8px; }
.ratio-hero strong { grid-row: span 2; color: #334155; font-size: 44px; line-height: 1; }
.ratio-hero span { color: #64748b; font-size: 12px; font-weight: 950; }
.ratio-hero i { display: none; }
.ratio-bars { display: grid; gap: 9px; padding: 0 10px 10px; }
.ratio-bars article { display: grid; grid-template-columns: 80px minmax(0, 1fr) 52px; gap: 8px; align-items: center; }
.ratio-bars span, .ratio-bars b { color: #64748b; font-size: 11px; font-weight: 950; }
.ratio-bars b { color: #334155; text-align: right; }
.ratio-bars div { height: 15px; border-radius: 999px; background: #e5e7eb; overflow: hidden; }
.ratio-bars i { display: block; width: var(--w); height: 100%; background: #22c55e; }
.ratio-bars i.expense { background: #f97316; }
.ratio-company-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-height: 0; overflow: visible; padding-right: 0; }
.ratio-company-list article { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; min-width: 0; padding: 10px; border: 1px solid #e5eaf0; border-left: 4px solid #64748b; border-radius: 8px; background: #f8fafc; }
.ratio-company-list article.total { border-left-color: #eab308; background: #fefce8; }
.ratio-company-list article.c-maunsan { border-left-color: #ef4444; background: #fff1f2; }
.ratio-company-list article.c-akinsoy { border-left-color: #2563eb; background: #eff6ff; }
.ratio-company-list article.c-un { border-left-color: #16a34a; background: #f0fdf4; }
.ratio-company-list article.c-factory { border-left-color: #475569; background: #f1f5f9; }
.ratio-company-list article.loss { background: #fff1f2; }
.ratio-company-list header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-width: 0; padding-bottom: 5px; border-bottom: 1px solid rgba(203,213,225,.8); }
.ratio-company-list strong, .ratio-company-list b, .ratio-company-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ratio-company-list header > strong { color: #0f172a; font-size: 14px; }
.ratio-company-list header b { color: #1d4ed8; font-size: 12px; }
.ratio-finance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; min-width: 0; }
.ratio-finance-grid span { display: grid; grid-template-rows: auto auto auto; gap: 3px; min-height: 72px; padding: 7px; border: 1px solid #dbeafe; border-top: 3px solid #2563eb; border-radius: 8px; background: #fff; color: #64748b; font-size: 10px; font-weight: 950; }
.ratio-finance-grid span.gross { border-color: #bae6fd; border-top-color: #0891b2; }
.ratio-finance-grid span.expense { border-color: #fed7aa; border-top-color: #f97316; }
.ratio-finance-grid span.net { border-color: #bbf7d0; border-top-color: #16a34a; }
.ratio-finance-grid span.danger { border-color: #fecdd3; border-top-color: #dc2626; background: #fff1f2; }
.ratio-finance-grid strong { color: #0f172a; font-size: 11px; overflow: visible; text-overflow: clip; white-space: nowrap; }
.ratio-finance-grid b { color: #1d4ed8; font-size: 11px; }
.distribution-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 8px; min-height: 0; }
.distribution-card { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-width: 0; min-height: 310px; padding: 8px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; overflow: hidden; }
.distribution-card header { display: flex; align-items: start; justify-content: space-between; gap: 8px; min-width: 0; }
.distribution-card h3 { margin: 0 0 2px; color: #0f172a; font-size: 12px; }
.distribution-card p { margin: 0; color: #64748b; font-size: 9px; font-weight: 850; }
.distribution-card-body { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-height: 0; align-items: start; }
.distribution-pie { width: 78px; aspect-ratio: 1; margin: 0 auto; border-radius: 50%; background: var(--pie); box-shadow: inset 0 0 0 1px rgba(15,23,42,.08); }
.distribution-list { display: grid; align-content: start; gap: 4px; min-width: 0; min-height: 0; max-height: 240px; overflow: auto; padding-right: 2px; }
.distribution-list article { display: grid; grid-template-columns: 8px minmax(0, 1fr) minmax(88px, auto); gap: 2px 5px; align-items: center; padding: 5px; border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; }
.distribution-list article::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--slice, #2563eb); }
.distribution-list strong, .distribution-list span, .distribution-list b { min-width: 0; font-size: 9px; }
.distribution-list strong { color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.distribution-list span { grid-column: 2; color: #64748b; font-size: 8px; font-weight: 900; white-space: nowrap; }
.distribution-list b { grid-column: 3; grid-row: 1 / span 2; align-self: center; color: #1d4ed8; font-size: 8px; line-height: 1.15; text-align: right; white-space: normal; overflow-wrap: anywhere; }
.distribution-list b small { display: block; margin-top: 2px; color: #64748b; font-size: 8px; font-weight: 950; line-height: 1.1; }
.management-intelligence-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 9px; align-items: stretch; }
.management-alarm-panel, .management-trend-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-height: 146px; padding: 8px; }
.management-alarm-panel .line-toolbar h2, .management-trend-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 14px; }
.management-alarm-panel .line-toolbar p, .management-trend-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.management-alarm-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; min-height: 0; overflow: auto; }
.management-alarm-list button { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 3px; min-height: 76px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; padding: 7px; background: #eff6ff; text-align: left; cursor: pointer; }
.management-alarm-list button.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.management-alarm-list button.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.management-alarm-list button.info { border-color: #bfdbfe; border-left-color: #2563eb; background: #eff6ff; }
.management-alarm-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 11px; }
.management-alarm-list span { min-width: 0; color: #475569; font-size: 10px; line-height: 1.2; overflow: hidden; }
.management-alarm-list b { color: #1d4ed8; font-size: 9px; text-transform: uppercase; }
.management-alarm-list button.warn b { color: #92400e; }
.management-alarm-list button.danger b { color: #be123c; }
.management-trend-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; min-height: 0; }
.management-trend-list article { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); gap: 3px; min-width: 0; min-height: 76px; border: 1px solid #bbf7d0; border-top: 4px solid #18a058; border-radius: 8px; padding: 7px; background: #f0fdf4; }
.management-trend-list article.warn { border-color: #fde68a; border-top-color: #f59e0b; background: #fffbeb; }
.management-trend-list article.danger { border-color: #fecdd3; border-top-color: #dc2626; background: #fff1f2; }
.management-trend-list strong { color: #0f172a; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-trend-list span { color: #1d4ed8; font-size: 11px; font-weight: 950; overflow-wrap: anywhere; }
.management-trend-list small { color: #64748b; font-size: 9px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-trend-list b { align-self: end; color: #166534; font-size: 13px; }
.management-trend-list article.warn b { color: #92400e; }
.management-trend-list article.danger b { color: #be123c; }
.management-decision-grid { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.08fr) minmax(270px, .72fr); gap: 9px; align-items: stretch; }
.management-decision-panel, .management-risk-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-height: 128px; padding: 8px; }
.management-decision-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; align-content: start; overflow: visible; }
.management-risk-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.management-decision-cards button { display: grid; gap: 2px; min-width: 0; min-height: 33px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 5px 6px; background: #eff6ff; color: #1d4ed8; text-align: left; cursor: pointer; }
.management-risk-cards button { display: grid; grid-template-rows: auto 1fr auto; gap: 3px; min-width: 0; min-height: 48px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; padding: 6px; background: #eff6ff; color: #1d4ed8; text-align: left; cursor: pointer; }
.management-decision-cards button.warn, .management-risk-cards button.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; color: #92400e; }
.management-decision-cards button.danger, .management-risk-cards button.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; color: #be123c; }
.management-decision-cards button.safe, .management-risk-cards button.safe { border-color: #bbf7d0; border-left-color: #18a058; background: #f0fdf4; color: #166534; }
.management-decision-cards span, .management-risk-cards span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #475569; font-size: 10px; font-weight: 950; }
.management-decision-cards strong { color: #0f172a; font-size: 14px; line-height: 1; text-align: left; }
.management-risk-cards strong { color: #0f172a; font-size: 16px; line-height: 1; }
.management-decision-cards b, .management-risk-cards b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.management-recommendations { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 6px; min-height: 128px; padding: 8px; }
.management-recommendations .line-toolbar { align-items: start; }
.management-recommendations .line-toolbar h2 { margin: 0 0 3px; font-size: 15px; }
.management-recommendations .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.management-recommendation-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; min-height: 0; overflow: auto; padding-right: 2px; }
.management-recommendation-list button { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 4px; min-height: 74px; border: 1px solid #dbeafe; border-top: 3px solid #2563eb; border-radius: 8px; padding: 7px; background: #eff6ff; cursor: pointer; text-align: left; }
.management-recommendation-list button.warn { border-color: #fde68a; border-top-color: #f59e0b; background: #fffbeb; }
.management-recommendation-list button.danger { border-color: #fecdd3; border-top-color: #dc2626; background: #fff1f2; }
.management-recommendation-list button.info { border-color: #bfdbfe; border-top-color: #2563eb; background: #eff6ff; }
.management-recommendation-list strong { color: #0f172a; font-size: 11px; line-height: 1.15; }
.management-recommendation-list span { color: #475569; font-size: 10px; line-height: 1.2; overflow: hidden; }
.management-recommendation-list b { color: #1d4ed8; font-size: 9px; text-transform: uppercase; }
.management-recommendation-list button.warn b { color: #92400e; }
.management-recommendation-list button.danger b { color: #be123c; }
.management-main-grid { display: grid; grid-template-columns: minmax(220px, .85fr) minmax(260px, 1fr) minmax(250px, .82fr); gap: 9px; align-items: stretch; }
.management-company-panel, .management-queue-panel, .management-price-panel, .management-list-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 6px; min-height: 170px; padding: 8px; }
.management-company-list, .management-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; }
.management-company-list article { display: grid; grid-template-columns: minmax(86px, .7fr) minmax(0, 1.25fr) minmax(0, 1.15fr) minmax(0, .95fr) minmax(105px, auto); gap: 6px; align-items: center; padding: 6px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; font-size: 10px; }
.management-list article, .management-list > button { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, auto) minmax(115px, auto); gap: 6px; align-items: center; padding: 6px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; font-size: 10px; text-align: left; }
.management-list > button { width: 100%; cursor: pointer; }
.management-list > button:hover { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); }
.management-company-list strong, .management-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; }
.management-company-list span, .management-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-weight: 850; }
.management-company-list b, .management-list b { color: #1d4ed8; text-align: right; white-space: nowrap; }
.management-price-list { max-height: 150px; overflow-y: auto; padding-right: 2px; }
.management-price-list button { display: grid; grid-template-columns: minmax(0, 1fr) minmax(90px, auto); gap: 3px 6px; align-items: center; min-height: 46px; height: 46px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 7px; padding: 5px 6px; background: #eff6ff; text-align: left; cursor: pointer; }
.management-price-list button.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.management-price-list button.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.management-price-list button.safe { border-color: #bbf7d0; border-left-color: #18a058; background: #f0fdf4; }
.management-price-list button strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 10px; }
.management-price-list button span { grid-column: 1 / -1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 9px; font-weight: 850; }
.management-price-list button b { color: #1d4ed8; font-size: 10px; text-align: right; white-space: nowrap; }
.management-price-list button.warn b { color: #92400e; }
.management-price-list button.danger b { color: #be123c; }
.management-queue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; align-content: start; }
.management-queue-grid button { display: grid; gap: 4px; min-height: 46px; border: 1px solid #bfdbfe; border-radius: 8px; padding: 7px; background: #eff6ff; color: #1d4ed8; cursor: pointer; text-align: left; }
.management-queue-grid span { font-size: 10px; font-weight: 950; text-transform: none; }
.management-queue-grid strong { color: #0f172a; font-size: 16px; }
.management-list-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; align-items: stretch; }
.management-list-panel { height: 190px; min-height: 190px; }
.management-control-grid { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(300px, .85fr) minmax(280px, .75fr); gap: 9px; align-items: stretch; }
.management-control-panel, .management-reconciliation-panel, .management-audit-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-height: 168px; padding: 8px; }
.management-control-panel .line-toolbar, .management-reconciliation-panel .line-toolbar, .management-audit-panel .line-toolbar { align-items: start; }
.management-control-panel h2, .management-reconciliation-panel h2, .management-audit-panel h2 { margin: 0 0 3px; font-size: 14px; }
.management-control-panel p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.management-control-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; align-content: start; }
.management-control-cards button { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 3px; min-height: 58px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; padding: 7px; background: #eff6ff; text-align: left; cursor: pointer; }
.management-control-cards button.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.management-control-cards button.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.management-control-cards button.safe { border-color: #bbf7d0; border-left-color: #18a058; background: #f0fdf4; }
.management-control-cards span { color: #475569; font-size: 10px; font-weight: 950; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-control-cards strong { color: #0f172a; font-size: 17px; line-height: 1; }
.management-control-cards b { color: #1d4ed8; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-reconciliation-list, .management-audit-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; }
.management-reconciliation-list button, .management-audit-list article { display: grid; gap: 3px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; text-align: left; }
.management-reconciliation-list button { cursor: pointer; }
.management-reconciliation-list strong, .management-audit-list strong { color: #0f172a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-reconciliation-list span, .management-audit-list span { color: #64748b; font-size: 10px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-reconciliation-list b, .management-audit-list b { color: #1d4ed8; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-formula-panel { display: grid; gap: 8px; min-height: 112px; padding: 9px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 74px); }
.management-formula-panel h2 { margin: 0 0 3px; font-size: 14px; }
.management-formula-panel p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.management-formula-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.management-formula-grid article { display: grid; gap: 3px; min-height: 58px; padding: 7px; border: 1px solid #bfdbfe; border-left: 4px solid #2563eb; border-radius: 8px; background: #eff6ff; }
.management-formula-grid article.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.management-formula-grid article.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.management-formula-grid article.safe { border-color: #bbf7d0; border-left-color: #18a058; background: #f0fdf4; }
.management-formula-grid span { color: #475569; font-size: 10px; font-weight: 950; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-formula-grid strong { color: #0f172a; font-size: 13px; line-height: 1.1; overflow-wrap: anywhere; }
.management-formula-grid b { color: #1d4ed8; font-size: 9px; line-height: 1.15; overflow: hidden; }
.management-insight-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 18px; background: rgba(15, 23, 42, .38); backdrop-filter: blur(3px); }
.management-insight-detail { display: grid; gap: 8px; width: min(980px, calc(100vw - 36px)); max-height: min(760px, calc(100vh - 36px)); min-height: 220px; overflow: hidden; padding: 12px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 92px); box-shadow: 0 28px 80px rgba(15, 23, 42, .28); }
.management-insight-detail .line-toolbar h2 { margin: 0 0 3px; font-size: 14px; }
.management-insight-detail .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.management-insight-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.management-insight-metrics span { display: grid; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; color: #64748b; font-size: 10px; font-weight: 900; }
.management-insight-metrics strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.management-insight-lines { display: grid; gap: 5px; min-height: 0; overflow: auto; padding-right: 2px; }
.management-insight-lines article { display: grid; grid-template-columns: minmax(0, 1.2fr) 86px 96px minmax(120px, auto); gap: 7px; align-items: center; padding: 7px; border: 1px solid #e5eaf0; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; font-size: 10px; }
.management-insight-lines article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.management-insight-lines article.danger { border-left-color: #dc2626; background: #fff1f2; }
.management-insight-lines article.safe { border-left-color: #18a058; background: #f0fdf4; }
.management-insight-lines strong, .management-insight-lines span, .management-insight-lines b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-insight-lines strong { color: #0f172a; }
.management-insight-lines span { color: #64748b; font-weight: 850; }
.management-insight-lines b { color: #1d4ed8; text-align: right; }
.management-decision-book-grid { display: grid; grid-template-columns: minmax(300px, .74fr) minmax(0, 1.26fr); gap: 8px; align-items: stretch; }
.management-decision-book-form, .management-decision-book-list { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 6px; height: min(640px, calc(100vh - 186px)); min-height: 430px; padding: 8px; border: 1px solid #dbeafe; border-top: 3px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 58px); box-shadow: none; overflow: hidden; }
.management-decision-book-form .line-toolbar, .management-decision-book-list .line-toolbar { align-items: start; }
.management-decision-book-form h2, .management-decision-book-list h2 { margin: 0 0 3px; font-size: 14px; }
.management-decision-book-form p, .management-decision-book-list .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.decision-template-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.decision-template-strip button { min-height: 24px; border: 1px solid #bfdbfe; border-radius: 6px; padding: 0 6px; background: #fff; color: #1d4ed8; font-size: 9px; font-weight: 950; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.management-decision-book-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; min-height: 0; overflow: auto; padding-right: 2px; align-content: start; }
.management-decision-book-fields label { display: grid; gap: 3px; color: #475569; font-size: 10px; font-weight: 900; }
.management-decision-book-fields input, .management-decision-book-fields select, .management-decision-book-fields textarea { width: 100%; min-height: 28px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 10px; }
.management-decision-book-fields textarea { min-height: 58px; padding: 7px; resize: vertical; }
.management-decision-book-fields .wide { grid-column: 1 / -1; }
.management-decision-book-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 7px; min-height: 0; overflow: hidden; padding-right: 0; }
.management-decision-book-items article { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 4px; min-width: 0; min-height: 118px; padding: 7px; border: 1px solid #dbeafe; border-left: 3px solid #2563eb; border-radius: 7px; background: rgba(255,255,255,.92); }
.management-decision-book-items article.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.management-decision-book-items article.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.management-decision-book-items header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: start; }
.management-decision-book-items header div { display: grid; gap: 2px; min-width: 0; }
.management-decision-book-items strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.management-decision-book-items span, .management-decision-book-items p, .management-decision-book-items footer span { color: #64748b; font-size: 10px; font-weight: 850; overflow-wrap: anywhere; }
.management-decision-book-items p { margin: 0; color: #334155; line-height: 1.22; max-height: 32px; overflow: hidden; }
.management-decision-book-items footer { display: flex; align-items: center; justify-content: space-between; gap: 5px; flex-wrap: wrap; padding-top: 4px; border-top: 1px solid #e5eaf0; }
.management-decision-book-items footer button { min-height: 24px; padding: 0 7px; font-size: 9px; }
.management-decision-book-form .form-actions { margin-top: 0; padding-top: 4px; border-top: 1px solid #e5eaf0; }
.management-decision-book-form .form-actions button { min-height: 30px; }
.danger-text { color: #dc2626 !important; }
.performance-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.35fr); gap: 12px; align-items: start; }
.performance-chart, .performance-detail { max-height: calc(100vh - 255px); overflow: auto; }
.ratio-list { display: grid; gap: 10px; }
.ratio-list article { display: grid; gap: 6px; padding: 10px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.ratio-list div { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; }
.ratio-list strong { color: #0f172a; }
.ratio-list span { color: #1d4ed8; font-weight: 950; }
.ratio-list i { display: block; height: 9px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.ratio-list i::before { content: ""; display: block; width: var(--w); height: 100%; border-radius: inherit; background: #2563eb; }
.ratio-list i.warn::before { background: #f59e0b; }
.ratio-list i.danger::before { background: #dc2626; }
.performance-detail table { min-width: 760px; }
.profit-board { display: grid; gap: 10px; max-height: calc(100vh - 560px); min-height: 220px; overflow: hidden; }
.profit-board-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profit-board-head h2 { margin: 0 0 4px; }
.profit-board-head p { margin: 0; color: #64748b; font-size: 12px; }
.profit-board-head select { min-height: 34px; min-width: 190px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; color: #334155; font-weight: 850; }
.profit-table { overflow: auto; }
.profit-table table { min-width: 980px; }
.profit-table td:first-child, .profit-table th:first-child { max-width: 260px; white-space: normal; }
.profit-insight-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 12px; align-items: stretch; }
.insight-card { display: grid; gap: 10px; min-height: 210px; }
.insight-list { display: grid; gap: 7px; max-height: 170px; overflow: auto; }
.insight-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(145px, auto) minmax(150px, auto); gap: 8px; align-items: center; padding: 8px; border-radius: 8px; border: 1px solid #fde68a; background: #fffbeb; font-size: 11px; }
.insight-list article.danger { border-color: #fecdd3; background: #fff1f2; }
.insight-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; }
.insight-list span { color: #64748b; font-weight: 850; }
.insight-list b { color: #92400e; text-align: right; }
.rep-score-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.rep-score-grid article { display: grid; gap: 4px; padding: 9px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.rep-score-grid span { color: #64748b; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.rep-score-grid strong { color: #0f172a; font-size: 14px; overflow-wrap: anywhere; }
.rep-score-grid small { color: #64748b; font-size: 10px; line-height: 1.25; }
.rep-status { margin: 0; padding: 9px 10px; border-radius: 8px; font-size: 12px; font-weight: 950; }
.rep-status.safe { background: #dcfce7; color: #14532d; }
.rep-status.warn { background: #fffbeb; color: #92400e; }
.rep-status.danger { background: #fff1f2; color: #9f1239; }
.pricing-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 12px; align-items: start; }
.pricing-workflow-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; align-items: stretch; }
.pricing-workflow-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-width: 0; min-height: 82px; padding: 10px; border: 1px solid #dbeafe; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 100%); box-shadow: 0 8px 18px rgba(37,99,235,.06); }
.pricing-workflow-card.active { border-color: var(--company-accent, #2563eb); background: #fff; box-shadow: 0 12px 24px rgba(37,99,235,.14); }
.pricing-workflow-card div { display: grid; gap: 4px; min-width: 0; }
.pricing-workflow-card strong { min-width: 0; color: #0f172a; font-size: 12px; font-weight: 950; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pricing-workflow-card span { min-width: 0; color: #475569; font-size: 10px; font-weight: 850; line-height: 1.25; }
.pricing-workflow-card button { min-height: 30px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 9px; background: #fff; color: #1d4ed8; font-size: 10px; font-weight: 950; white-space: nowrap; cursor: pointer; }
.pricing-workflow-card.active button { border-color: var(--company-accent, #2563eb); background: var(--company-accent, #2563eb); color: #fff; }
.pricing-production-bridge { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; align-items: stretch; }
.pricing-production-bridge article { display: grid; gap: 4px; min-width: 0; min-height: 72px; padding: 9px 10px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #f8fbff; }
.pricing-production-bridge article.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.pricing-production-bridge article.safe { border-color: #bbf7d0; border-left-color: #18a058; background: #f0fdf4; }
.pricing-production-bridge span { color: #64748b; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.pricing-production-bridge strong { min-width: 0; color: #0f172a; font-size: 15px; line-height: 1.15; overflow-wrap: anywhere; }
.pricing-production-bridge small { color: #475569; font-size: 10px; font-weight: 850; line-height: 1.25; }
.pricing-view-tabs { display: flex; align-items: center; gap: 7px; padding: 8px; overflow-x: auto; }
.pricing-view-tabs button { min-height: 34px; border: 1px solid #bfdbfe; border-radius: 8px; padding: 0 13px; background: #eff6ff; color: #1e3a8a; font-size: 11px; font-weight: 950; white-space: nowrap; cursor: pointer; }
.pricing-view-tabs button.active { border-color: var(--company-accent, #2563eb); background: var(--company-accent, #2563eb); color: #fff; box-shadow: 0 10px 22px rgba(37,99,235,.16); }
.pricing-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; align-items: start; }
.pricing-summary-card { display: grid; gap: 4px; min-height: 82px; padding: 10px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: #eff6ff; }
.pricing-summary-card.warn { border-left-color: #f59e0b; background: #fffbeb; }
.pricing-summary-card.danger { border-left-color: #dc2626; background: #fff1f2; }
.pricing-summary-card.safe { border-left-color: #18a058; background: #f0fdf4; }
.pricing-summary-card span { color: #64748b; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.pricing-summary-card strong { color: #0f172a; font-size: 18px; line-height: 1.1; overflow-wrap: anywhere; }
.pricing-summary-card small { color: #475569; font-size: 10px; font-weight: 850; line-height: 1.25; }
.pricing-summary-actions { grid-column: 1 / -1; }
.pricing-compare-panel { overflow: auto; }
.pricing-compare-panel table { min-width: 980px; }
.pricing-compare-grid { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(300px, .8fr) minmax(390px, 1.15fr); gap: 10px; align-items: start; }
.pricing-compare-groups-panel, .pricing-compare-products-panel, .pricing-compare-detail-panel { display: grid; align-content: start; gap: 8px; min-width: 0; min-height: 520px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 84px); }
.pricing-compare-groups, .pricing-compare-products { display: grid; gap: 6px; max-height: 68vh; overflow: auto; padding-right: 2px; }
.pricing-compare-groups button, .pricing-compare-products button { display: grid; gap: 3px; min-width: 0; width: 100%; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; padding: 7px; background: rgba(255,255,255,.92); color: #0f172a; text-align: left; cursor: pointer; }
.pricing-compare-groups button { min-height: 50px; }
.pricing-compare-products button { min-height: 58px; }
.pricing-compare-groups button.active, .pricing-compare-products button.active { border-color: #93c5fd; border-left-color: var(--company-accent, #2563eb); background: #fff; box-shadow: 0 8px 18px rgba(37,99,235,.1); }
.pricing-compare-products button.warn { border-left-color: #f59e0b; background: #fffbeb; }
.pricing-compare-products button.danger { border-left-color: #dc2626; background: #fff1f2; }
.pricing-compare-products button.safe { border-left-color: #18a058; background: #f0fdf4; }
.pricing-compare-groups strong, .pricing-compare-groups span, .pricing-compare-groups small, .pricing-compare-products strong, .pricing-compare-products span, .pricing-compare-products b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pricing-compare-groups strong, .pricing-compare-products strong { color: #0f172a; font-size: 11px; }
.pricing-compare-groups span, .pricing-compare-products span { color: #64748b; font-size: 9px; font-weight: 850; }
.pricing-compare-groups small { color: #1d4ed8; font-size: 9px; font-weight: 950; }
.pricing-compare-products b { color: #1d4ed8; font-size: 10px; font-weight: 950; }
.pricing-compare-detail-body { display: grid; gap: 8px; min-width: 0; }
.pricing-compare-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.pricing-compare-kpis article { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.92); color: #64748b; font-size: 10px; font-weight: 950; }
.pricing-compare-kpis article.warn { border-color: #fde68a; background: #fffbeb; }
.pricing-compare-kpis article.danger { border-color: #fecdd3; background: #fff1f2; }
.pricing-compare-kpis article.safe { border-color: #bbf7d0; background: #f0fdf4; }
.pricing-compare-kpis strong { min-width: 0; color: #1d4ed8; font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.pricing-compare-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pricing-compare-actions button { min-height: 32px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; color: #1d4ed8; font-size: 11px; font-weight: 950; cursor: pointer; }
.pricing-list-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; min-width: 0; }
.pricing-list-actions input { width: min(260px, 28vw); min-height: 31px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.pricing-list-actions button { min-height: 31px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 10px; background: #fff; color: #1d4ed8; font-size: 11px; font-weight: 950; cursor: pointer; }
.pricing-list-actions button:disabled { opacity: .45; cursor: not-allowed; }
.pricing-cost-grid { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(340px, .88fr) minmax(340px, .88fr); gap: 10px; align-items: start; }
.pricing-cost-tree, .pricing-cost-products, .pricing-cost-detail { display: grid; align-content: start; gap: 8px; min-width: 0; min-height: 520px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 80px); }
.pricing-cost-groups, .pricing-cost-product-list { display: grid; gap: 6px; max-height: 68vh; overflow: auto; padding-right: 2px; }
.pricing-cost-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; }
.pricing-cost-product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; }
.pricing-cost-groups button, .pricing-cost-product-list button { display: grid; gap: 3px; min-width: 0; width: 100%; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; padding: 8px; background: rgba(255,255,255,.92); color: #0f172a; text-align: left; cursor: pointer; }
.pricing-cost-groups button { min-height: 54px; padding: 6px; }
.pricing-cost-product-list button { min-height: 64px; padding: 7px; }
.pricing-cost-groups button.active, .pricing-cost-product-list button.active { border-color: #93c5fd; border-left-color: var(--company-accent, #2563eb); background: #fff; box-shadow: 0 8px 18px rgba(37,99,235,.1); }
.pricing-cost-groups strong, .pricing-cost-product-list strong, .pricing-cost-product-list b, .pricing-cost-groups span, .pricing-cost-groups small, .pricing-cost-product-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pricing-cost-groups strong, .pricing-cost-product-list strong { color: #0f172a; font-size: 11px; }
.pricing-cost-groups strong { font-size: 10px; }
.pricing-cost-groups span, .pricing-cost-product-list span { color: #64748b; font-size: 9px; font-weight: 850; }
.pricing-cost-groups small { color: #1d4ed8; font-size: 9px; font-weight: 950; }
.pricing-cost-product-list b { color: #1d4ed8; font-size: 9px; font-weight: 950; white-space: normal; line-height: 1.15; }
.pricing-cost-detail-body { display: grid; gap: 8px; min-width: 0; }
.pricing-cost-kpis, .pricing-cost-result { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.pricing-cost-kpis article, .pricing-cost-result span { display: grid; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.9); color: #64748b; font-size: 9px; font-weight: 950; }
.pricing-cost-kpis strong, .pricing-cost-result strong { min-width: 0; color: #1d4ed8; font-size: 12px; line-height: 1.15; overflow-wrap: anywhere; }
.pricing-cost-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.pricing-cost-fields label { display: grid; gap: 4px; min-width: 0; color: #475569; font-size: 9px; font-weight: 900; }
.pricing-cost-fields input { width: 100%; min-height: 31px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 10px; font-weight: 850; }
.pricing-cost-fields input[readonly] { background: #eff6ff; color: #1d4ed8; }
.pricing-cost-breakdown { display: grid; gap: 5px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; }
.pricing-cost-breakdown .line-toolbar { min-height: auto; padding: 0 0 4px; border-bottom: 1px solid #dbeafe; }
.pricing-cost-breakdown .line-toolbar h2 { margin: 0 0 2px; font-size: 13px; }
.pricing-cost-breakdown .line-toolbar p { margin: 0; color: #64748b; font-size: 9px; font-weight: 850; }
.pricing-cost-breakdown article { display: grid; grid-template-columns: minmax(96px, .85fr) minmax(0, 1.25fr) minmax(72px, .55fr); gap: 7px; align-items: center; min-width: 0; padding: 5px 6px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; }
.pricing-cost-breakdown article.strong { border-color: #bfdbfe; background: var(--company-soft-solid, #eff6ff); }
.pricing-cost-breakdown span, .pricing-cost-breakdown small, .pricing-cost-breakdown b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pricing-cost-breakdown span { color: #0f172a; font-size: 10px; font-weight: 950; }
.pricing-cost-breakdown small { color: #64748b; font-size: 9px; font-weight: 850; }
.pricing-cost-breakdown b { color: #1d4ed8; font-size: 10px; font-weight: 950; text-align: right; }
.pricing-calc-grid { display: grid; grid-template-columns: minmax(180px, .48fr) minmax(280px, .78fr) minmax(0, 1.55fr); gap: 10px; align-items: start; }
.pricing-calc-groups-panel, .pricing-calc-products-panel, .pricing-calc-result { display: grid; align-content: start; gap: 8px; min-width: 0; min-height: 460px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 80px); }
.pricing-list-menu, .pricing-list-products, .pricing-calc-result-list { display: grid; gap: 6px; max-height: 68vh; overflow: auto; padding-right: 2px; }
.pricing-list-menu button, .pricing-list-products button, .pricing-calc-result-list button { border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; color: #1d4ed8; font-size: 9px; font-weight: 950; cursor: pointer; }
.pricing-list-menu button { display: grid; gap: 2px; min-width: 0; min-height: 48px; padding: 7px; text-align: left; border-left: 4px solid transparent; }
.pricing-list-menu button.active { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); }
.pricing-list-menu strong, .pricing-list-menu span, .pricing-list-menu small, .pricing-list-products strong, .pricing-list-products span, .pricing-list-products small, .pricing-list-products b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pricing-list-menu strong { color: #0f172a; font-size: 10px; }
.pricing-list-menu span { color: #64748b; font-size: 9px; font-weight: 850; }
.pricing-list-menu small { color: #1d4ed8; font-size: 8px; font-weight: 950; }
.pricing-list-products button { display: grid; grid-template-columns: 42px minmax(0, 1fr) 66px 84px; gap: 6px; align-items: center; min-height: 28px; padding: 4px 7px; text-align: left; }
.pricing-list-products button.active { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); }
.pricing-list-products span { color: #1d4ed8; font-size: 8px; font-weight: 950; }
.pricing-list-products strong { color: #0f172a; font-size: 10px; }
.pricing-list-products small { color: #64748b; font-size: 8px; font-weight: 850; }
.pricing-list-products b { color: #0f172a; font-size: 9px; text-align: right; }
.pricing-result-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.pricing-result-actions label { display: grid; gap: 2px; min-width: 110px; color: #475569; font-size: 9px; font-weight: 950; }
.pricing-result-actions input { width: 110px; min-height: 30px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 8px; color: #0f172a; font-size: 10px; font-weight: 900; }
.pricing-calc-result-list article { display: grid; grid-template-columns: minmax(150px, 1.35fr) repeat(5, minmax(76px, .58fr)) 58px 82px 62px 54px; gap: 7px; align-items: center; min-width: 0; padding: 7px 8px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.pricing-calc-result-list article.head { position: sticky; top: 0; z-index: 1; min-height: 28px; background: var(--company-soft-solid, #eff6ff); border-color: #bfdbfe; }
.pricing-calc-result-list strong, .pricing-calc-result-list span, .pricing-calc-result-list b, .pricing-calc-result-list small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pricing-calc-result-list strong { color: #0f172a; font-size: 10px; }
.pricing-calc-result-list span { color: #64748b; font-size: 9px; font-weight: 850; }
.pricing-calc-result-list b { color: #1d4ed8; font-size: 10px; text-align: right; }
.pricing-calc-result-list small { color: #0f766e; font-size: 9px; font-weight: 950; text-align: right; }
.pricing-calc-result-list small.danger { color: #dc2626; }
.pricing-calc-result-list em { color: #64748b; font-size: 9px; font-style: normal; font-weight: 950; text-align: center; }
.pricing-calc-result-list input { width: 100%; min-width: 0; min-height: 26px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 6px; color: #0f172a; font-size: 9px; font-weight: 900; text-align: right; }
.pricing-calc-result-list button { min-height: 25px; }
.pricing-params { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: calc(100vh - 185px); overflow: auto; }
.pricing-params h2 { grid-column: 1 / -1; margin: 0; font-size: 15px; }
.pricing-params label { display: grid; gap: 4px; color: #475569; font-size: 11px; font-weight: 900; }
.pricing-params input, .pricing-params select { width: 100%; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; }
.pricing-params .form-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pricing-products { max-height: calc(100vh - 185px); }
.pricing-products table { min-width: 1180px; }
.pricing-products td:first-child, .pricing-products th:first-child { width: 50px; text-align: center; }
.pricing-products input[type="checkbox"] { width: 18px; height: 18px; accent-color: #1d4ed8; }
.pricing-inline-input { width: 96px; min-height: 28px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; font-size: 11px; font-weight: 850; }
.task-page { display: grid; gap: 10px; }
.task-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.task-board { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(300px, .95fr) minmax(0, 1.25fr); gap: 10px; align-items: start; }
.task-create-panel, .task-list-panel, .task-detail-panel { display: grid; align-content: start; gap: 8px; min-width: 0; min-height: 520px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 88px); }
.task-create-panel form, .task-status-editor { display: grid; gap: 8px; min-width: 0; }
.task-create-panel label, .task-status-editor label { display: grid; gap: 4px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.task-create-panel input, .task-create-panel select, .task-create-panel textarea, .task-status-editor select, .task-status-editor textarea { width: 100%; min-width: 0; border: 1px solid #cbd5e1; border-radius: 7px; padding: 7px 8px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.task-create-panel textarea, .task-status-editor textarea { resize: vertical; }
.task-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; align-items: end; }
.task-worker-note { display: grid; gap: 8px; align-content: start; padding: 8px; }
.task-worker-note h2 { margin: 0; color: #0f172a; font-size: 16px; }
.task-worker-note p { margin: 0; color: #64748b; font-size: 12px; font-weight: 850; line-height: 1.35; }
.task-filter-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.task-filter-tabs button { min-height: 30px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; color: #1d4ed8; font-size: 9px; font-weight: 950; cursor: pointer; }
.task-filter-tabs button.active { border-color: var(--company-accent, #2563eb); background: var(--company-accent, #2563eb); color: #fff; }
.task-list { display: grid; gap: 6px; max-height: 430px; overflow: auto; padding-right: 2px; }
.task-list > button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-left: 4px solid #2563eb; border-radius: 8px; background: rgba(255,255,255,.94); text-align: left; cursor: pointer; }
.task-list > button.active { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); box-shadow: 0 8px 18px rgba(37,99,235,.10); }
.task-list > button.warn { border-left-color: #f59e0b; }
.task-list > button.danger { border-left-color: #dc2626; }
.task-list > button.safe { border-left-color: #18a058; }
.task-list strong, .task-list span, .task-list small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-list strong { color: #0f172a; font-size: 12px; }
.task-list span { color: #475569; font-size: 10px; font-weight: 850; }
.task-list small { color: #64748b; font-size: 9px; font-weight: 850; }
.task-list .badge { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.task-detail-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.task-detail-meta span { display: grid; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; color: #64748b; font-size: 9px; font-weight: 950; }
.task-detail-meta strong { min-width: 0; color: #1d4ed8; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-description { margin: 0; padding: 9px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; color: #334155; font-size: 12px; font-weight: 850; line-height: 1.4; overflow-wrap: anywhere; }
.task-update-list { display: grid; gap: 6px; max-height: 220px; overflow: auto; padding-right: 2px; }
.task-update-list h3 { margin: 4px 0 0; color: #0f172a; font-size: 13px; }
.task-update-list article { display: grid; gap: 2px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; }
.task-update-list strong { color: #1d4ed8; font-size: 11px; }
.task-update-list span { color: #64748b; font-size: 9px; font-weight: 850; }
.task-update-list p { margin: 0; color: #334155; font-size: 11px; font-weight: 850; line-height: 1.35; overflow-wrap: anywhere; }
.pricing-group-list { display: grid; gap: 10px; }
.pricing-product-group { display: grid; gap: 8px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; overflow: hidden; }
.production-operation-panel { display: grid; gap: 10px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 94px); }
.production-operation-grid { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(360px, 1.1fr) minmax(240px, .7fr); gap: 10px; align-items: start; }
.production-stage-split { display: grid; grid-template-columns: minmax(360px, .88fr) minmax(500px, 1.12fr); gap: 10px; align-items: stretch; }
.production-stage-entry, .production-stage-history { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.96); }
.production-stage-entry .production-operation-form, .production-stage-entry .production-operation-lines, .production-stage-entry .production-operation-preview { padding: 8px; }
.production-stage-entry .production-operation-form .wide { grid-column: auto; }
.production-stage-entry .production-operation-form .production-operation-note { grid-column: 1 / -1; }
.production-stage-entry .production-operation-form textarea { min-height: 42px; }
.production-stage-entry .production-operation-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.production-stage-entry .production-operation-preview .form-actions { grid-column: 1 / -1; }
.production-operation-form, .production-operation-lines, .production-operation-preview { display: grid; gap: 8px; min-width: 0; padding: 9px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.94); }
.production-operation-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.production-operation-form label, .production-operation-line { min-width: 0; }
.production-operation-form label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.production-operation-form .wide { grid-column: 1 / -1; }
.production-operation-form input, .production-operation-form select, .production-operation-form textarea, .production-operation-line input, .production-operation-line select { width: 100%; min-width: 0; border: 1px solid #cbd5e1; border-radius: 7px; padding: 7px 8px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.production-operation-form .production-product-field { gap: 3px; padding: 7px; border: 2px solid #60a5fa; border-radius: 8px; background: #eff6ff; color: #1d4ed8; box-shadow: 0 2px 8px rgba(37, 99, 235, .12); }
.production-operation-form .production-product-field input { border-color: #3b82f6; background: #fff; }
.production-operation-form .production-product-kg-field { gap: 3px; padding: 7px; border: 2px solid #4ade80; border-radius: 8px; background: #f0fdf4; color: #166534; box-shadow: 0 2px 8px rgba(22, 163, 74, .12); }
.production-operation-form .production-product-kg-field input { border-color: #22c55e; background: #fff; color: #14532d; }
.production-operation-form .production-product-kg-field.is-auto input { cursor: default; }
.production-operation-form .production-unmeasured-output { display: grid; align-content: center; min-width: 0; }
.production-operation-form .production-unmeasured-output span { font-size: 9px; font-weight: 950; text-transform: uppercase; }
.production-operation-form .production-unmeasured-output strong { color: #166534; font-size: 13px; }
.production-operation-form .production-unmeasured-output small { color: #64748b; font-size: 9px; line-height: 1.3; }
.production-operation-form .production-auto-total-field { padding: 7px; border: 2px solid #fbbf24; border-radius: 8px; background: #fffbeb; color: #92400e; }
.production-operation-form .production-auto-total-field input { border-color: #f59e0b; background: #fff7d6; color: #78350f; cursor: default; }
.searchable-select { min-width: 0; }
.searchable-select input { width: 100%; }
.product-search-combo { min-width: 0; }
.product-search-combo input { width: 100%; }
.production-operation-form textarea { min-height: 64px; resize: vertical; }
.production-operation-lines .compact { min-height: auto; padding: 0 0 4px; border-bottom: 1px solid #dbeafe; }
.production-operation-lines h3 { margin: 0; color: #0f172a; font-size: 13px; }
.production-operation-lines p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.fixed-output-lines { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.fixed-output-lines > .line-toolbar { grid-column: 1 / -1; }
.fixed-output-row { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; align-items: end; padding: 6px 8px; border: 1px solid #e2e8f0; border-radius: 7px; background: #f8fafc; }
.fixed-output-row.main-output { border-color: #93c5fd; background: #eff6ff; }
.fixed-output-row > strong { align-self: center; color: #17324d; font-size: 11px; font-weight: 950; }
.fixed-output-row label { display: grid; gap: 3px; color: #64748b; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.fixed-output-row input { width: 100%; min-width: 0; padding: 6px 7px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 900; text-align: right; }
.production-operation-line { display: grid; grid-template-columns: minmax(170px, 1.35fr) minmax(80px, .6fr) 68px 68px minmax(110px, .9fr) 42px; gap: 6px; align-items: center; padding: 7px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.production-operation-line > .searchable-select:first-child { grid-column: auto; }
.production-operation-line:not(:has(> select)) > .searchable-select:first-child { grid-column: span 2; }
.production-operation-preview article { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #e5eaf0; border-left: 4px solid #2563eb; border-radius: 8px; background: #fff; }
.production-operation-preview article.out { border-left-color: #dc2626; background: #fff1f2; }
.production-operation-preview article.in { border-left-color: #18a058; background: #f0fdf4; }
.production-operation-preview span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.production-operation-preview strong { min-width: 0; color: #0f172a; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-operation-preview b { color: #1d4ed8; font-size: 12px; }
.production-operation-preview article.warn { border-left-color: #d97706; background: #fffbeb; }
.production-stage-history > .line-toolbar { min-height: auto; padding: 0 0 7px; border-bottom: 1px solid #dbeafe; }
.production-stage-history h3 { margin: 0; color: #0f172a; font-size: 14px; }
.production-stage-history .line-toolbar p { margin: 2px 0 0; color: #64748b; font-size: 9px; font-weight: 800; }
.production-stage-history-head, .production-stage-history-item > summary { display: grid; grid-template-columns: 76px minmax(110px, .9fr) minmax(110px, .9fr) minmax(140px, 1.15fr) 104px; gap: 7px; align-items: center; }
.production-stage-history-head { padding: 6px 8px; border-radius: 6px; background: #eaf5fc; color: #24465d; }
.production-stage-history-head b { min-width: 0; font-size: 8px; font-weight: 950; text-transform: uppercase; }
.production-stage-history-list { display: grid; gap: 5px; max-height: 560px; overflow: auto; padding-right: 2px; }
.production-stage-history-item { min-width: 0; border: 1px solid #dbe4ee; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 7px; background: #fff; overflow: hidden; }
.production-stage-history-item > summary { position: relative; min-width: 0; padding: 7px 26px 7px 8px; cursor: pointer; list-style: none; }
.production-stage-history-item > summary::-webkit-details-marker { display: none; }
.production-stage-history-item > summary::after { content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); color: var(--company-accent, #2563eb); font-size: 15px; font-weight: 950; }
.production-stage-history-item[open] > summary { border-bottom: 1px solid #dbeafe; background: #f4f9fd; }
.production-stage-history-item[open] > summary::after { content: "−"; }
.production-stage-history-item > summary > span { color: #334155; font-size: 10px; font-weight: 900; }
.production-stage-history-item > summary > div { display: grid; gap: 2px; min-width: 0; }
.production-stage-history-item > summary strong, .production-stage-history-item > summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-stage-history-item > summary strong { color: #0f172a; font-size: 10px; font-weight: 950; }
.production-stage-history-item > summary small { color: #64748b; font-size: 8px; font-weight: 800; }
.production-stage-byproducts { display: flex !important; flex-wrap: wrap; gap: 3px !important; }
.production-stage-byproducts small { padding: 3px 5px; border: 1px solid #dbeafe; border-radius: 5px; background: #eff6ff; color: #1d4ed8 !important; }
.production-stage-history-user { grid-template-columns: minmax(0, 1fr) auto !important; align-items: center; }
.production-stage-history-user small { grid-column: 1; }
.production-stage-expand-label { grid-column: 2; grid-row: 1 / span 2; align-self: center; padding: 3px 5px; border-radius: 5px; background: #eaf5fc; color: #31566f; font-size: 8px; font-weight: 950; }
.production-stage-history-detail { display: grid; gap: 8px; padding: 9px; background: #fbfdff; }
.production-stage-detail-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.production-stage-detail-kpis article { display: grid; align-content: start; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #dbe7f0; border-radius: 6px; background: #fff; }
.production-stage-detail-kpis span, .production-stage-detail-kpis small { color: #64748b; font-size: 8px; font-weight: 850; }
.production-stage-detail-kpis strong { overflow-wrap: anywhere; color: #0f172a; font-size: 10px; }
.production-stage-detail-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.production-stage-detail-groups section, .production-stage-detail-movements { min-width: 0; padding: 8px; border: 1px solid #dbe7f0; border-radius: 7px; background: #fff; }
.production-stage-history-detail h4 { margin: 0 0 6px; color: #31566f; font-size: 10px; }
.production-stage-detail-groups p { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin: 0; padding: 4px 0; border-top: 1px solid #edf2f7; color: #475569; font-size: 9px; }
.production-stage-detail-movements p { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto minmax(90px, .7fr); gap: 7px; align-items: center; margin: 0; padding: 5px 0; border-top: 1px solid #edf2f7; }
.production-stage-detail-movements strong, .production-stage-detail-movements b, .production-stage-detail-movements small { min-width: 0; color: #334155; font-size: 9px; }
.production-stage-detail-movements strong, .production-stage-detail-movements small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-stage-detail-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; padding: 7px 8px; border-radius: 6px; background: #eef6fb; color: #486174; font-size: 9px; }
.production-stage-detail-backdrop { z-index: 5400; }
.production-stage-detail-modal { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(900px, 96vw); max-height: min(760px, 92vh); overflow: hidden; border: 1px solid #bfdbfe; border-radius: 8px; background: #f8fbfe; box-shadow: 0 28px 80px rgba(15, 23, 42, .28); }
.production-stage-detail-modal-head { padding: 14px 16px; border-bottom: 1px solid #dbeafe; background: #fff; }
.production-stage-detail-modal-head h2 { margin: 0; color: #0f172a; font-size: 18px; }
.production-stage-detail-modal-head p { margin: 3px 0 0; color: #64748b; font-size: 11px; font-weight: 850; }
.production-stage-detail-modal-body { min-height: 0; overflow: auto; padding: 12px; }
.production-stage-detail-modal-actions { margin: 0; padding: 10px 14px; border-top: 1px solid #dbeafe; background: #fff; }
.production-stage-pagination { margin-top: auto; }
.production-history-panel { display: grid; gap: 10px; }
.production-history-filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 8px; align-items: end; }
.production-history-filters label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.production-history-filters label.wide { grid-column: span 2; }
.production-history-filters select, .production-history-filters input { width: 100%; min-width: 0; padding: 7px 8px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; font-weight: 800; }
.production-history-list { display: grid; gap: 6px; }
.production-history-item { border: 1px solid #dbe4ee; border-radius: 8px; background: #fff; overflow: hidden; }
.production-history-item summary { display: grid; grid-template-columns: 120px 92px minmax(130px, 1fr) 130px 90px 150px; gap: 8px; align-items: center; padding: 9px 10px; cursor: pointer; list-style: none; }
.production-history-item summary::-webkit-details-marker { display: none; }
.production-history-item summary strong { color: #0f172a; }
.production-history-item summary span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #475569; font-size: 11px; font-weight: 800; }
.production-history-item summary b { color: #1d4ed8; text-align: right; }
.production-history-movements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 9px; border-top: 1px solid #dbe4ee; background: #f8fafc; }
.production-history-movements article { display: grid; grid-template-columns: auto 1fr auto; gap: 6px; align-items: center; padding: 8px; border: 1px solid #dbe4ee; border-left: 4px solid #18a058; border-radius: 7px; background: #fff; }
.production-history-movements article.out { border-left-color: #dc2626; }
.production-history-movements article span, .production-history-movements article small { color: #64748b; font-size: 9px; font-weight: 850; }
.production-history-movements article small { grid-column: 1 / -1; }
.production-run-edit-modal { width: min(760px, calc(100vw - 24px)); }
.production-run-edit-fields { display: grid; grid-template-columns: 1fr 180px; gap: 9px; }
.production-run-edit-fields label { display: grid; gap: 4px; font-size: 11px; font-weight: 900; color: #486174; }
.production-run-edit-fields label.wide { grid-column: 1 / -1; }
.production-run-edit-fields input, .production-run-edit-fields select, .production-run-edit-fields textarea { min-width: 0; border: 1px solid #d7e3ed; border-radius: 7px; padding: 8px; background: #fff; }
.production-run-edit-lines { display: grid; gap: 6px; max-height: 330px; overflow: auto; }
.production-run-edit-lines article { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 10px; align-items: end; padding: 8px; border: 1px solid #dbe7f0; border-radius: 7px; background: #f8fbfd; }
.production-run-edit-lines article div, .production-run-edit-lines article label { display: grid; gap: 3px; min-width: 0; }
.production-run-edit-lines article small { color: #64748b; font-weight: 800; }
.production-run-edit-lines input { width: 100%; border: 1px solid #cbd5e1; border-radius: 6px; padding: 7px; }
.production-cards-panel { display: grid; gap: 10px; }
.production-card-filters { display: grid; grid-template-columns: minmax(150px, .75fr) minmax(170px, .9fr) minmax(180px, .9fr) minmax(220px, 1.2fr); gap: 8px; }
.production-card-filters label, .production-card-form label { display: grid; gap: 4px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.production-card-filters input, .production-card-filters select, .production-card-form input, .production-card-form select, .production-card-form textarea { width: 100%; min-width: 0; padding: 7px 8px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 800; }
.production-card-workspace { display: grid; grid-template-columns: minmax(360px, .95fr) minmax(480px, 1.25fr); gap: 10px; align-items: start; }
.production-card-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; max-height: 620px; overflow: auto; padding: 2px; }
.production-product-card { display: grid; gap: 3px; min-width: 0; min-height: 105px; padding: 9px; border: 1px solid #dbe4ee; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 8px; background: #fff; color: #0f172a; text-align: left; cursor: pointer; }
.production-product-card:hover, .production-product-card.active { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); box-shadow: 0 4px 12px rgba(15,23,42,.08); }
.production-product-card span { overflow: hidden; color: #64748b; font-size: 9px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.production-product-card strong { display: -webkit-box; overflow: hidden; font-size: 11px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.production-product-card small { color: #475569; font-size: 9px; font-weight: 850; }
.production-product-card b { align-self: end; color: var(--company-accent-strong, #1d4ed8); font-size: 9px; }
.production-card-detail { display: grid; gap: 9px; min-width: 0; padding: 10px; border: 1px solid #dbe4ee; border-top: 4px solid var(--company-accent, #2563eb); border-radius: 8px; background: #fff; }
.production-card-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.production-card-form .wide { grid-column: 1 / -1; }
.production-card-form textarea { min-height: 58px; resize: vertical; }
.recipe-home-simple > :not(.recipe-workspace-split) { display: none; }
.recipe-home-simple { display: grid; align-content: start; gap: 10px; min-height: 0; }
.recipe-workspace-split { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(0, 2fr); gap: 10px; align-items: stretch; }
.recipe-workspace-split.editing { grid-template-columns: minmax(300px, 1fr) minmax(0, 2fr); }
.recipe-workspace-split.editing .recipe-inline-stages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.recipe-workspace-split.editing .recipe-inline-output-list { grid-template-columns: 1fr; }
.recipe-fire-entry-hint { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 9px; border: 1px dashed #bfdbfe; border-radius: 7px; background: #f8fbff; text-align: center; }
.recipe-create-pane, .recipe-saved-pane { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 12px; border: 1px solid #dbe4ee; border-top: 4px solid var(--company-accent, #2563eb); border-radius: 8px; background: #fff; }
.recipe-create-pane h2, .recipe-saved-pane h2 { margin: 0; color: #0f172a; font-size: 16px; }
.recipe-create-pane .line-toolbar p, .recipe-saved-pane .line-toolbar p { margin-top: 3px; font-size: 10px; }
.recipe-create-inline-form { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.recipe-create-inline-form label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.recipe-create-inline-form input, .recipe-create-inline-form select { width: 100%; min-width: 0; min-height: 34px; padding: 7px 8px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 800; }
.recipe-create-inline-form input:disabled { background: #f1f5f9; color: #94a3b8; }
.recipe-create-inline-form .wide { grid-column: auto; }
.recipe-create-actions { margin-top: -1px; }
.recipe-create-actions button { min-height: 34px; }
.recipe-create-flow-preview { display: grid; gap: 6px; padding: 9px; border: 1px solid #dbeafe; border-radius: 7px; background: #f8fbff; }
.recipe-create-flow-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid #dbeafe; }
.recipe-create-flow-head strong { color: #17324d; font-size: 11px; }
.recipe-create-flow-head span { color: #64748b; font-size: 9px; font-weight: 900; }
.recipe-create-flow-preview article { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 7px; align-items: center; padding: 6px 7px; border: 1px solid #e2e8f0; border-radius: 6px; background: #fff; }
.recipe-create-flow-preview article em { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: var(--company-accent, #2563eb); color: #fff; font-size: 9px; font-style: normal; font-weight: 950; }
.recipe-create-flow-preview article div { display: grid; grid-template-columns: minmax(90px, .7fr) minmax(130px, 1fr); gap: 2px 8px; min-width: 0; align-items: center; }
.recipe-create-flow-preview article strong, .recipe-create-flow-preview article span, .recipe-create-flow-preview article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recipe-create-flow-preview article strong { color: #0f172a; font-size: 10px; }
.recipe-create-flow-preview article span { color: #334155; font-size: 9px; font-weight: 850; }
.recipe-create-flow-preview article small { grid-column: 1 / -1; color: #64748b; font-size: 8px; font-weight: 750; }
.recipe-inline-stage-editor { display: grid; gap: 5px; margin-top: 2px; padding: 6px; border: 1px solid #bfdbfe; border-radius: 7px; background: #f8fbff; }
.recipe-inline-stage-editor .recipe-create-flow-head > div { display: grid; gap: 2px; }
.recipe-inline-stage-editor .recipe-create-flow-head small { color: #64748b; font-size: 8px; font-weight: 800; }
.recipe-inline-stage-editor .recipe-inline-total-heading { justify-self: center; padding: 5px 9px; border: 1px solid #bfdbfe; border-radius: 5px; background: #eff6ff; color: #1d4ed8; font-size: 10px; white-space: nowrap; }
.recipe-inline-base-fields { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(105px, .55fr); gap: 6px; }
.recipe-inline-base-fields label, .recipe-inline-stage label, .recipe-inline-note { display: grid; gap: 1px; min-width: 0; color: #475569; font-size: 7px; font-weight: 900; }
.recipe-inline-base-fields input, .recipe-inline-stage input, .recipe-inline-note textarea { width: 100%; min-width: 0; padding: 3px 5px; border: 1px solid #cbd5e1; border-radius: 5px; background: #fff; color: #0f172a; font-size: 8px; font-weight: 850; }
.recipe-inline-stage { display: grid; gap: 3px; padding: 5px; border: 1px solid #dbe4ee; border-radius: 7px; background: #fff; }
.recipe-inline-stages-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; align-items: start; }
.recipe-inline-stage-head { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 5px; align-items: center; }
.recipe-inline-stage-head em { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--company-accent, #2563eb); color: #fff; font-size: 8px; font-style: normal; font-weight: 950; }
.recipe-inline-stage-head > strong { align-self: center; color: #17324d; font-size: 9px; }
.recipe-inline-total-product { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; align-items: center; padding: 7px; border: 1px solid #cbd5e1; border-radius: 6px; background: #f8fafc; }
.recipe-inline-total-product span { color: #475569; font-size: 9px; font-weight: 900; }
.recipe-inline-total-product strong { color: #0f172a; font-size: 13px; }
.recipe-inline-total-product small { grid-column: 1 / -1; color: #64748b; font-size: 8px; font-weight: 800; }
.recipe-inline-stage-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.recipe-inline-output-title { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding-top: 1px; border-top: 1px solid #e2e8f0; }
.recipe-inline-output-title strong { color: #17324d; font-size: 8px; }
.recipe-inline-output-title small { color: #64748b; font-size: 7px; font-weight: 800; }
.recipe-inline-output-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; }
.recipe-inline-output-row { display: grid; grid-template-columns: minmax(0, 1fr) 74px; gap: 4px; align-items: center; min-height: 34px; padding: 3px 4px; border: 1px solid #dbe4ee; border-radius: 5px; background: #f8fafc; }
.recipe-inline-output-row.main { border-color: #93c5fd; background: #eff6ff; }
.recipe-inline-output-row.byproduct { border-color: #86efac; background: #f0fdf4; }
.recipe-inline-output-row.waste { border-color: #fca5a5; background: #fff1f2; }
.recipe-inline-output-row > strong { align-self: center; color: #17324d; font-size: 8px; font-weight: 950; }
.recipe-inline-output-row small { color: #64748b; font-size: 7px; font-weight: 850; }
.recipe-inline-note textarea { min-height: 30px; resize: vertical; }
.recipe-saved-inline-list { max-height: calc(100vh - 265px); overflow: auto; padding-right: 2px; }
.recipe-saved-inline-list article { background: #fff; }
.recipe-home-header { max-width: 760px; margin: 18px auto 0; text-align: center; }
.recipe-home-header h2 { margin: 0; color: #0f172a; font-size: 22px; }
.recipe-home-header p { margin: 6px 0 0; color: #64748b; font-size: 11px; font-weight: 800; }
.recipe-home-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: min(760px, 100%); margin: 0 auto; }
.recipe-home-actions button { display: grid; gap: 5px; min-height: 92px; align-content: center; padding: 15px; border-radius: 7px; text-align: left; }
.recipe-home-actions strong { font-size: 15px; }
.recipe-home-actions span { font-size: 10px; font-weight: 750; line-height: 1.4; opacity: .82; }
.production-card-form .production-recipe-check { display: flex; grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 7px; padding: 8px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; color: #1e3a8a; }
.production-card-form .production-recipe-check input { width: 16px; height: 16px; margin: 0; accent-color: #2563eb; }
.production-card-form .production-recipe-check span { font-size: 10px; font-weight: 850; }
.production-recipe-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.production-recipe-overview article { display: grid; gap: 3px; min-width: 0; padding: 9px; border: 1px solid #dbe4ee; border-radius: 7px; background: #f8fafc; }
.production-recipe-overview article.main { border-color: #93c5fd; background: #eff6ff; }
.production-recipe-overview article.warn { border-color: #fca5a5; background: #fff1f2; }
.production-recipe-overview span { color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.production-recipe-overview strong { color: #0f172a; font-size: 15px; }
.production-recipe-overview small { overflow: hidden; color: #475569; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.production-recipe-guide { display: grid; gap: 7px; padding: 9px; border: 1px solid #bfdbfe; border-radius: 8px; background: #f8fbff; }
.production-recipe-guide article { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; padding: 8px; border: 1px solid #dbeafe; border-radius: 7px; background: #fff; }
.production-recipe-guide article > em { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #2563eb; color: #fff; font-size: 10px; font-style: normal; font-weight: 950; }
.production-recipe-guide article > div { min-width: 0; }
.production-recipe-guide article strong { color: #0f172a; font-size: 12px; }
.production-recipe-guide article p { margin: 3px 0 5px; color: #475569; font-size: 10px; font-weight: 750; line-height: 1.45; }
.production-recipe-guide ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; }
.production-recipe-guide li { padding: 4px 6px; border: 1px solid #cbd5e1; border-radius: 5px; background: #f8fafc; color: #334155; font-size: 9px; font-weight: 850; }
.production-recipe-guide li.main { border-color: #93c5fd; background: #eff6ff; color: #1d4ed8; }
.production-recipe-guide li.waste { border-color: #fecaca; background: #fff1f2; color: #be123c; }
.production-recipe-create-modal { width: min(620px, 100%); }
.production-recipe-create-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.production-recipe-create-form.recipe-create-inline-form { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-areas:
    "company company date date type type"
    "output output output input input input"
    "packaging packaging packaging packagingkg packagingkg packagingkg";
}
.production-recipe-create-form.recipe-create-inline-form.repack-mode > label:nth-child(1) { grid-area: company; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode > label:nth-child(2) { grid-area: date; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode > label:nth-child(3) { grid-area: type; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode .recipe-create-output-field { grid-area: output; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode .recipe-create-input-field { grid-area: input; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode .recipe-create-packaging-field { grid-area: packaging; }
.production-recipe-create-form.recipe-create-inline-form.repack-mode .recipe-create-package-kg-field { grid-area: packagingkg; }
.production-recipe-choice select { border-color: #7dd3fc; background: #f0f9ff; color: #075985; font-weight: 900; }
.production-recipe-target { border-color: #93c5fd; background: #eff6ff; }
.production-recipe-target strong { color: #1d4ed8; }
.production-recipe-create-form.repack-mode .recipe-create-output-field { padding: 7px; border: 1px solid #93c5fd; border-left: 4px solid #2563eb; border-radius: 7px; background: #eff6ff; color: #1e3a8a; }
.production-recipe-create-form.repack-mode .recipe-create-input-field { padding: 7px; border: 1px solid #fdba74; border-left: 4px solid #ea580c; border-radius: 7px; background: #fff7ed; color: #9a3412; }
.production-recipe-create-form.repack-mode .recipe-create-output-field input,
.production-recipe-create-form.repack-mode .recipe-create-input-field input { background: #fff; }
.production-recipe-create-form label { min-width: 0; }
.production-recipe-create-form label:nth-child(2) { grid-column: 1 / -1; }
.production-recipe-create-form.recipe-create-inline-form label:nth-child(2) { grid-column: auto; }
.production-recipe-list-modal { width: min(820px, 100%); max-height: min(760px, calc(100vh - 36px)); overflow: auto; }
.production-recipe-saved-list { display: grid; gap: 7px; }
.production-recipe-saved-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid #dbe4ee; border-radius: 7px; background: #f8fafc; }
.production-recipe-saved-list article > div:first-child { display: grid; gap: 3px; min-width: 0; }
.production-recipe-saved-list strong, .production-recipe-saved-list span, .production-recipe-saved-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-recipe-saved-list strong { color: #0f172a; font-size: 12px; }
.production-recipe-saved-list span { color: #334155; font-size: 10px; font-weight: 850; }
.production-recipe-saved-list small { color: #64748b; font-size: 9px; font-weight: 750; }
.production-recipe-saved-meta { display: flex; align-items: center; gap: 7px; }
.mix-recipe-formula-editor { display: grid; gap: 8px; padding: 9px; border: 1px solid #bfdbfe; border-radius: 8px; background: #f8fbff; }
.mix-recipe-formula-editor .line-toolbar.compact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; }
.mix-recipe-formula-editor .line-toolbar.compact > div { min-width: 0; }
.mix-recipe-formula-editor .mix-add-material { justify-self: end; width: auto; max-width: 96px; min-height: 24px; padding: 3px 6px; border-color: #0e7490 !important; border-radius: 6px; background: #0e7490 !important; color: #fff !important; font-size: 8px; font-weight: 950; line-height: 1; white-space: nowrap; box-shadow: 0 2px 5px rgba(14, 116, 144, .16); }
.mix-recipe-formula-editor .mix-add-material:hover { border-color: #155e75 !important; background: #155e75 !important; }
.mix-recipe-formula-head, .mix-recipe-formula-row { display: grid; grid-template-columns: minmax(180px, 1fr) 100px 120px 64px; gap: 7px; align-items: center; }
.mix-recipe-formula-head { padding: 0 7px; color: #64748b; font-size: 9px; text-transform: uppercase; }
.mix-recipe-formula-row { padding: 7px; border: 1px solid #dbeafe; border-radius: 7px; background: #fff; }
.mix-recipe-formula-row label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px; align-items: center; }
.mix-recipe-formula-row input { width: 100%; min-width: 0; padding: 7px; border: 1px solid #cbd5e1; border-radius: 7px; font-weight: 850; }
.mix-recipe-formula-row strong { color: #166534; text-align: right; }
.repack-recipe-selector { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.repack-recipe-product { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 10px; border: 1px solid #cbd5e1; border-left: 4px solid #64748b; border-radius: 8px; background: #fff; }
.repack-recipe-product.out { border-left-color: #dc2626; background: #fff7f7; }
.repack-recipe-product.output { border-left-color: #2563eb; background: #f5f9ff; }
.repack-recipe-product.packaging { border-left-color: #d97706; background: #fffbeb; }
.repack-recipe-product.output { order: 1; }
.repack-recipe-product.out { order: 2; }
.repack-recipe-product.packaging { grid-column: 1 / -1; order: 3; }
.repack-recipe-product > span { color: #64748b; font-size: 8px; font-weight: 950; text-transform: uppercase; }
.repack-recipe-product > strong { color: #17324d; font-size: 12px; }
.repack-recipe-product input { width: 100%; min-width: 0; padding: 8px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; font-size: 10px; font-weight: 850; }
.repack-recipe-readonly { display: grid; gap: 3px; min-height: 35px; padding: 8px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; }
.repack-recipe-readonly b { overflow: hidden; color: #1e3a8a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.repack-recipe-readonly small { color: #64748b; font-size: 8px; font-weight: 850; }
.recipe-inline-total-heading.warn { border-color: #fca5a5; background: #fff1f2; color: #b91c1c; }
.mix-production-formula-list { display: grid; gap: 6px; }
.mix-production-formula-list article { display: grid; grid-template-columns: minmax(0, 1fr) 58px 92px 118px; gap: 7px; align-items: center; padding: 8px; border: 1px solid #dbeafe; border-radius: 7px; background: #f8fbff; }
.mix-production-formula-list article div { display: grid; gap: 2px; min-width: 0; }
.mix-production-formula-list strong { overflow: hidden; color: #17324d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.mix-production-formula-list span, .mix-production-formula-list b { text-align: right; }
.mix-production-formula-list b { color: #166534; font-size: 12px; }
.mix-production-formula-list small { color: #64748b; font-size: 9px; font-weight: 800; }
.mix-production-formula-list small.safe { color: #15803d; text-align: right; }
.mix-production-formula-list small.warn { color: #b91c1c; text-align: right; }
.modal-backdrop.production-recipe-editor-backdrop { position: static; inset: auto; z-index: auto; display: block; padding: 0; background: transparent; backdrop-filter: none; }
.production-recipe-editor-modal { display: grid; gap: 11px; width: 100%; max-height: none; overflow: visible; padding: 14px; border-top: 4px solid var(--company-accent, #2563eb); background: #fff; box-shadow: 0 8px 22px rgba(15, 23, 42, .08); }
.production-recipe-editor-head { position: static; z-index: auto; margin: -14px -14px 0; padding: 13px 14px; border-bottom: 1px solid #dbe4ee; background: #fff; }
.production-recipe-editor-head h2 { margin: 0; color: #0f172a; font-size: 18px; }
.production-recipe-editor-head p { margin: 3px 0 0; color: #64748b; font-size: 10px; font-weight: 800; }
.production-recipe-editor-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.production-recipe-editor-summary article { display: grid; gap: 3px; min-width: 0; padding: 9px; border: 1px solid #dbe4ee; border-radius: 7px; background: #f8fafc; }
.production-recipe-editor-summary article.main { border-color: #93c5fd; background: #eff6ff; }
.production-recipe-editor-summary article.waste { border-color: #fecaca; background: #fff1f2; }
.production-recipe-editor-summary span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.production-recipe-editor-summary strong { color: #0f172a; font-size: 15px; }
.production-recipe-editor-summary small { overflow: hidden; color: #475569; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.production-recipe-editor-base { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 10px; border: 1px solid #dbeafe; border-radius: 7px; background: #f8fbff; }
.production-recipe-editor-base label, .production-recipe-stage-grid label, .production-recipe-stage-title label, .production-recipe-editor-note { display: grid; gap: 5px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.production-recipe-editor-stages { display: grid; gap: 9px; }
.production-recipe-editor-stages > article { display: grid; gap: 8px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; }
.production-recipe-stage-title { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.production-recipe-stage-title em { display: grid; width: 28px; height: 28px; place-items: center; align-self: center; border-radius: 50%; background: var(--company-accent, #2563eb); color: #fff; font-size: 11px; font-style: normal; font-weight: 950; }
.production-recipe-stage-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.production-recipe-stage-grid label { padding: 8px; border: 1px solid #dbe4ee; border-radius: 7px; background: #fff; }
.production-recipe-stage-grid label.main-output { border-color: #93c5fd; background: #eff6ff; }
.production-recipe-stage-grid label.byproduct-output { border-color: #a7f3d0; background: #ecfdf5; }
.production-recipe-stage-grid label.waste-output { border-color: #fecaca; background: #fff1f2; }
.production-recipe-stage-grid label > div { display: grid; grid-template-columns: minmax(0, 80px) minmax(0, 1fr); gap: 6px; align-items: center; }
.production-auto-rate:disabled { border-color: #93c5fd; background: #dbeafe; color: #1e3a8a; font-weight: 950; opacity: 1; cursor: not-allowed; }
.production-recipe-stage-grid b, .production-recipe-stage-grid small { color: #475569; font-size: 9px; font-weight: 850; }
.production-recipe-editor-note textarea { min-height: 58px; resize: vertical; }
.production-recipe-editor-actions { position: static; z-index: auto; margin: 0 -14px -14px; padding: 10px 14px; border-top: 1px solid #dbe4ee; background: #fff; }
.production-card-flow { display: grid; gap: 6px; }
.production-card-flow article { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid #e2e8f0; border-radius: 7px; background: #f8fafc; }
.production-card-flow em { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--company-accent, #2563eb); color: #fff; font-size: 10px; font-style: normal; font-weight: 950; }
.production-card-flow article div { display: grid; gap: 2px; min-width: 0; }
.production-card-flow strong { color: #0f172a; font-size: 11px; }
.production-card-flow span, .production-card-flow small { overflow: hidden; color: #64748b; font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.production-card-flow.editable article { grid-template-columns: 28px minmax(0, 1fr) auto; align-items: start; }
.production-flow-fields { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px !important; }
.production-flow-fields label { display: grid; gap: 3px; min-width: 0; color: #64748b; font-size: 9px; font-weight: 900; }
.production-flow-fields input { width: 100%; min-width: 0; padding: 6px 7px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #0f172a; font-size: 10px; font-weight: 800; }
.production-flow-actions { display: flex !important; flex-direction: column; gap: 5px !important; }
.pricing-product-group > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; background: #eef7f0; cursor: pointer; }
.pricing-product-group > header strong { display: block; color: #1d4ed8; font-size: 14px; }
.pricing-product-group > header span { color: #64748b; font-size: 11px; font-weight: 850; }
.pricing-product-group.open > header { background: #dcfce7; }
.pricing-group-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pricing-group-actions button { min-height: 29px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; color: #1d4ed8; font-size: 11px; font-weight: 950; cursor: pointer; }
.pricing-product-group table { margin: 0; background: #fff; }
.pricing-list table { min-width: 920px; }
.pricing-toolbar input { width: min(320px, 30vw); }
.pricing-toolbar select { width: min(260px, 26vw); }
.pricing-access-panel, .pricing-formula-panel { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 66px; padding: 10px 12px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 74px); }
.pricing-access-panel h2, .pricing-formula-panel h2 { margin: 0 0 3px; color: #0f172a; font-size: 15px; }
.pricing-access-panel p, .pricing-formula-panel p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; line-height: 1.35; }
.pricing-decision-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.pricing-decision-kpis .metric { height: 58px; min-height: 58px; padding: 8px 9px; border-left-width: 4px; gap: 4px; overflow: hidden; }
.pricing-decision-kpis .metric span { font-size: 10px; line-height: 1.1; }
.pricing-decision-kpis .metric strong { font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.pricing-decision-panel { display: grid; gap: 8px; padding: 10px; }
.pricing-decision-panel .line-toolbar { align-items: start; }
.pricing-decision-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 15px; }
.pricing-decision-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.pricing-decision-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pricing-decision-list article { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto; gap: 4px; min-height: 150px; padding: 8px; border: 1px solid #dbeafe; border-top: 3px solid #2563eb; border-radius: 8px; background: #eff6ff; }
.pricing-decision-list article.warn { border-color: #fde68a; border-top-color: #f59e0b; background: #fffbeb; }
.pricing-decision-list article.danger { border-color: #fecdd3; border-top-color: #dc2626; background: #fff1f2; }
.pricing-decision-list article.safe { border-color: #bbf7d0; border-top-color: #18a058; background: #f0fdf4; }
.pricing-decision-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.pricing-decision-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 10px; font-weight: 850; }
.pricing-decision-list b { color: #1d4ed8; font-size: 11px; line-height: 1.2; }
.pricing-decision-list small { color: #475569; font-size: 10px; line-height: 1.25; overflow: hidden; }
.pricing-decision-list button { min-height: 27px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; color: #1d4ed8; font-size: 10px; font-weight: 950; cursor: pointer; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.decision-cross { position: relative; align-items: stretch; }
.decision-cross > .panel { min-height: 420px; }
.panel { padding: 14px; }
.decision-list { display: grid; gap: 8px; }
.decision-list article { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 8px; padding: 10px; border-radius: 8px; background: #f8fafc; }
.decision-list article.has-detail { cursor: pointer; }
.decision-list article.has-detail::after { content: "Aç"; align-self: center; grid-column: 3; grid-row: 1 / span 2; min-width: 46px; border-radius: 999px; padding: 5px 8px; background: rgba(37,99,235,.08); color: #1d4ed8; font-size: 11px; font-weight: 950; text-align: center; }
.decision-list article.open::after { content: "Kapat"; }
.decision-list article p { grid-column: 2; margin: 0; color: #52635a; }
.decision-list article.danger { background: #fff1f2; }
.decision-list article.warn { background: #fffbeb; }
.decision-list article.safe { background: #ecfdf5; }
.decision-list article.info { background: #eff6ff; }
.decision-list article.purple { background: #faf5ff; }
.center-command-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: start; }
.center-command-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.center-work-panel { display: grid; grid-template-rows: 46px minmax(0, 1fr); gap: 6px; min-width: 0; height: 230px; min-height: 230px; padding: 8px; border: 1px solid #dbeafe; border-top: 3px solid #2563eb; box-shadow: 0 8px 18px rgba(15, 23, 42, .045); overflow: hidden; }
.center-priority-grid .center-work-panel { height: 200px; min-height: 200px; }
.center-support-grid .center-work-panel { height: 200px; min-height: 200px; }
.center-work-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 74px); }
.center-work-panel.info { border-top-color: #2563eb; background: linear-gradient(180deg, #eff6ff 0, #fff 74px); }
.center-work-panel.purple { border-top-color: #8b5cf6; background: linear-gradient(180deg, #faf5ff 0, #fff 74px); }
.center-work-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 74px); }
.center-work-panel.danger { border-top-color: #dc2626; background: linear-gradient(180deg, #fff1f2 0, #fff 74px); }
.center-work-panel .line-toolbar { align-items: start; gap: 6px; }
.center-work-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 12px; line-height: 1.2; }
.center-work-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.center-work-list { display: grid; align-content: start; gap: 5px; height: 100%; min-height: 0; overflow: auto; padding-right: 2px; }
.center-priority-grid .center-work-list { height: 100%; }
.center-work-list article { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: rgba(255,255,255,.94); }
.center-work-list .empty-detail { align-self: stretch; min-height: 0; padding: 8px; }
.center-work-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.center-work-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #475569; font-size: 11px; font-weight: 850; }
.center-work-list b { color: #1d4ed8; font-size: 11px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.center-work-list small { color: #64748b; font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
.center-card-actions { display: flex; gap: 4px; flex-wrap: wrap; padding-top: 3px; }
.center-card-actions button { min-height: 25px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 7px; background: #fff; color: #1d4ed8; font-size: 10px; font-weight: 950; cursor: pointer; }
.center-card-actions button.danger { border-color: #fecdd3; background: #fff1f2; color: #be123c; }
.center-card-actions button:disabled { opacity: .55; cursor: not-allowed; }
.accounting-dashboard { gap: 8px; }
.accounting-hero-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 76px; padding: 12px 14px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 8px; background: linear-gradient(135deg, var(--company-accent, #0f766e), var(--company-accent-2, #38bdf8)); color: #fff; box-shadow: 0 10px 25px color-mix(in srgb, var(--company-accent, #2563eb) 12%, transparent); }
.accounting-hero-panel h1 { margin: 0 0 3px; font-size: 22px; }
.accounting-hero-panel p { margin: 0; color: #dffafe; font-size: 12px; font-weight: 850; }
.accounting-kpi-strip { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; }
.accounting-kpi-strip .metric { min-height: 58px; padding: 8px 9px; border-left-width: 4px; gap: 4px; }
.accounting-kpi-strip .metric span { font-size: 10px; line-height: 1.15; }
.accounting-kpi-strip .metric strong { font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.accounting-dashboard-grid { display: grid; grid-template-columns: repeat(7, minmax(145px, 1fr)); gap: 8px; align-items: stretch; }
.accounting-task-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-width: 0; min-height: 390px; padding: 10px; border-top: 4px solid #2563eb; }
.accounting-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 74px); }
.accounting-task-panel.info { border-top-color: #2563eb; background: linear-gradient(180deg, #eff6ff 0, #fff 74px); }
.accounting-task-panel.purple { border-top-color: #8b5cf6; background: linear-gradient(180deg, #faf5ff 0, #fff 74px); }
.accounting-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 74px); }
.accounting-task-panel.danger { border-top-color: #dc2626; background: linear-gradient(180deg, #fff1f2 0, #fff 74px); }
.accounting-task-panel .line-toolbar { align-items: start; gap: 6px; }
.accounting-task-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 12px; line-height: 1.2; }
.accounting-task-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.accounting-task-list { display: grid; align-content: start; gap: 6px; max-height: 315px; overflow: auto; padding-right: 2px; }
.accounting-task-list article { display: grid; gap: 3px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 8px; background: rgba(255,255,255,.9); }
.accounting-task-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.accounting-task-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #475569; font-size: 11px; font-weight: 850; }
.accounting-task-list b { color: #1d4ed8; font-size: 11px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.accounting-task-list small { color: #64748b; font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
.order-lines-mini { display: grid; gap: 3px; min-width: 0; margin-top: 4px; }
.order-lines-mini p { display: grid; grid-template-columns: minmax(0, 1fr) 58px 72px minmax(88px, .8fr); gap: 5px; align-items: center; margin: 0; padding: 4px 5px; border: 1px solid #dbeafe; border-radius: 6px; background: #f8fbff; }
.order-lines-mini strong,
.order-lines-mini span,
.order-lines-mini b,
.order-lines-mini em,
.order-lines-mini small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; line-height: 1.2; }
.order-lines-mini strong { color: #0f172a; font-weight: 950; }
.order-lines-mini span { color: #475569; font-weight: 900; text-align: right; }
.order-lines-mini b { color: #1d4ed8; font-weight: 950; text-align: right; }
.order-lines-mini em { color: #64748b; font-style: normal; font-weight: 900; text-align: right; }
.order-lines-mini small { color: #64748b; font-weight: 850; }
.accounting-card-actions { display: flex; gap: 4px; flex-wrap: wrap; padding-top: 3px; }
.accounting-card-actions button { min-height: 24px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 7px; background: #fff; color: #1d4ed8; font-size: 10px; font-weight: 950; cursor: pointer; }
.accounting-card-actions button.secondary { border-color: #dbe5ef; color: #475569; }
.accounting-card-actions button.danger { border-color: #fecdd3; background: #fff1f2; color: #be123c; }
.accounting-control-center { display: grid; gap: 8px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 88px); }
.accounting-control-center.collapsed { gap: 0; padding-bottom: 10px; }
.accounting-control-center .line-toolbar { align-items: start; }
.accounting-control-center .line-toolbar h2 { margin: 0 0 3px; font-size: 15px; }
.accounting-control-center .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.accounting-control-toggle { flex: 0 0 auto; min-width: 68px; min-height: 32px; border: 1px solid var(--company-accent, #2563eb); border-radius: 7px; background: #fff; color: var(--company-accent, #1d4ed8); font-size: 11px; font-weight: 950; cursor: pointer; }
.accounting-control-toggle:hover { background: var(--company-soft-solid, #eff6ff); }
.accounting-control-list { display: grid; gap: 6px; max-height: 360px; overflow: auto; padding-right: 2px; }
.accounting-control-list article { display: grid; grid-template-columns: 82px minmax(190px, 1.35fr) minmax(120px, .7fr) minmax(92px, .55fr) minmax(130px, .7fr) minmax(210px, 1fr); gap: 8px; align-items: center; min-width: 0; padding: 7px; border: 1px solid #e5eaf0; border-left: 5px solid #2563eb; border-radius: 8px; background: rgba(255,255,255,.94); }
.accounting-control-list article.warn { border-left-color: #f59e0b; }
.accounting-control-list article.purple { border-left-color: #8b5cf6; }
.accounting-control-list article.safe { border-left-color: #18a058; }
.accounting-control-list article.danger { border-left-color: #dc2626; }
.accounting-control-list article.info { border-left-color: #2563eb; }
.accounting-control-list div { display: grid; gap: 2px; min-width: 0; }
.accounting-control-list strong, .accounting-control-list span, .accounting-control-list small, .accounting-control-list b, .accounting-control-list em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.accounting-control-list strong { color: #0f172a; font-size: 12px; }
.accounting-control-list span, .accounting-control-list small { color: #64748b; font-size: 10px; font-weight: 850; }
.accounting-control-list b { color: #1d4ed8; font-size: 11px; text-align: right; }
.accounting-control-list em { color: #475569; font-size: 10px; font-style: normal; font-weight: 900; }
.accounting-control-list .accounting-card-actions { justify-content: flex-end; padding-top: 0; }
.daily-control-mailbar { display: flex; align-items: center; gap: 8px; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: rgba(255,255,255,.78); }
.daily-control-tabs { flex: 1 1 auto; }
.daily-control-tabs button { min-width: 92px; font-size: 11px; }
.daily-control-select-all { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: #475569; font-size: 11px; font-weight: 900; }
.daily-control-select-all input, .daily-control-kind input { width: 17px; height: 17px; accent-color: var(--company-accent, #2563eb); }
.daily-control-mailbar > button:disabled { opacity: .5; cursor: not-allowed; }
.accounting-control-list.daily-control-list article { grid-template-columns: 118px minmax(190px, 1.35fr) minmax(120px, .7fr) minmax(92px, .55fr) minmax(130px, .7fr) minmax(210px, 1fr); }
.daily-control-list article.read { opacity: .76; background: #f8fafc; border-left-color: #94a3b8; }
.daily-control-kind { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); gap: 6px !important; align-items: center; }
.daily-control-kind .badge { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-read-mark { display: grid !important; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #dcfce7; color: #047857 !important; font-size: 11px !important; font-weight: 950; }
.accounting-support-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
.accounting-support-grid .accounting-task-panel { min-height: 250px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 18px; background: rgba(15, 23, 42, .36); backdrop-filter: blur(2px); }
.accounting-action-modal { display: grid; gap: 12px; width: min(520px, 100%); padding: 16px; border: 1px solid #bfdbfe; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(15,23,42,.22); }
.accounting-action-modal h2 { margin: 0 0 3px; color: #0f172a; font-size: 18px; }
.accounting-action-modal p { margin: 0; color: #64748b; font-size: 12px; font-weight: 850; }
.accounting-action-modal label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.accounting-action-modal input, .accounting-action-modal textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 7px; padding: 9px 10px; background: #fff; color: #0f172a; font: inherit; }
.accounting-action-modal textarea { resize: vertical; min-height: 82px; }
.cash-action-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cash-action-summary span { display: grid; gap: 3px; padding: 9px; border: 1px solid #dbeafe; border-radius: 7px; background: #f8fbff; color: #64748b; font-size: 10px; font-weight: 900; }
.cash-action-summary strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .accounting-control-list article {
    grid-template-columns: 76px minmax(180px, 1fr) minmax(120px, .7fr) minmax(90px, .55fr) minmax(170px, 1fr);
  }
  .accounting-control-list.daily-control-list article {
    grid-template-columns: 108px minmax(180px, 1fr) minmax(120px, .7fr) minmax(90px, .55fr) minmax(170px, 1fr);
  }
  .accounting-support-grid { grid-template-columns: 1fr; }
  .accounting-control-list article em {
    display: none;
  }
}
@media (max-width: 700px) {
  .product-price-hero {
    align-items: start;
    flex-direction: column;
  }
  .product-price-grid {
    grid-template-columns: 1fr;
  }
  .product-price-pdf-grid,
  .pdf-price-list article {
    grid-template-columns: 1fr;
  }
  .product-price-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-price-tabs button,
  .pdf-preview-actions,
  .pdf-preview-actions select {
    width: 100%;
  }
  .pdf-preview-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .price-qr-panel {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .pdf-price-list {
    max-height: none;
  }
  .price-product-metrics {
    grid-template-columns: 1fr;
  }
  .product-price-toolbar input,
  .product-price-toolbar select,
  .product-price-toolbar button {
    width: 100%;
  }
  .accounting-control-list {
    max-height: none;
  }
  .accounting-control-list article {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .accounting-control-list.daily-control-list article { grid-template-columns: 1fr; }
  .daily-control-mailbar { align-items: stretch; flex-direction: column; }
  .daily-control-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-control-tabs button { min-width: 0; padding: 0 5px; }
  .accounting-control-list strong,
  .accounting-control-list span,
  .accounting-control-list small,
  .accounting-control-list b,
  .accounting-control-list em {
    white-space: normal;
    text-align: left;
  }
  .accounting-control-list article em {
    display: block;
  }
  .accounting-control-list .accounting-card-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 700px) {
  .sales-follow-grid,
  .route-grid,
  .sales-follow-row,
  .route-plan-list article {
    grid-template-columns: 1fr;
  }
  .sales-note-list,
  .route-plan-list {
    max-height: none;
  }
  .route-plan-list footer,
  .sales-note-list footer,
  .sales-note-list header {
    align-items: stretch;
    flex-direction: column;
  }
}
.decision-hover-detail { display: none; grid-column: 1 / -1; max-height: 330px; overflow: auto; gap: 7px; margin-top: 8px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .03); cursor: default; }
.decision-list article.open .decision-hover-detail { display: grid; }
.decision-detail-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 6px; background: #fff; }
.decision-detail-head h3 { margin: 0; color: #1d4ed8; font-size: 12px; }
.decision-detail-head button { min-height: 28px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; color: #334155; font-size: 11px; font-weight: 950; cursor: pointer; }
.decision-hover-detail p { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(220px, 1.6fr) minmax(105px, .6fr); gap: 8px; align-items: start; margin: 0; padding: 8px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; font-size: 11px; }
.decision-hover-detail strong, .decision-hover-detail b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.decision-hover-detail span { min-width: 0; overflow: visible; white-space: normal; line-height: 1.35; overflow-wrap: anywhere; }
.decision-hover-detail b { color: #1d4ed8; text-align: right; }
.new-customer-approval { border-color: #93c5fd; background: #eff6ff; }
.new-customer-approval.approved-customer-approval { border-color: #86efac; background: #f0fdf4; }
.approved-customer-approval .new-customer-approval-grid article { border-color: #bbf7d0; }
.new-customer-approval .line-toolbar h2 { margin: 0; }
.new-customer-approval-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.new-customer-approval-grid article { display: grid; gap: 8px; padding: 12px; border: 1px solid #bfdbfe; border-radius: 8px; background: #fff; }
.new-customer-approval-grid article strong { display: block; color: #0f172a; font-size: 14px; }
.new-customer-approval-grid article small, .new-customer-approval-grid article p { margin: 0; color: #64748b; font-size: 12px; }
.missing-fields { display: grid; gap: 3px; padding: 8px; border: 1px solid #f59e0b; border-radius: 7px; background: #fffbeb; color: #92400e; font-size: 12px; }
.missing-fields strong { color: #78350f; font-size: 12px; }
.missing-fields.warn { border-color: #93c5fd; background: #eff6ff; color: #1e3a8a; }
.missing-fields.warn strong { color: #1e40af; }
.new-customer-approval-grid footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.customer-edit-panel { border-color: #cbd5e1; }
.customer-edit-panel .line-toolbar h2 { margin: 0; }
.customer-edit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.customer-edit-grid label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.customer-edit-grid input, .customer-edit-grid select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.customer-edit-grid .wide { grid-column: 1 / -1; }
.badge { display: inline-flex; align-items: center; justify-content: center; min-height: 24px; border-radius: 999px; padding: 0 9px; background: #e2e8f0; color: #334155; font-size: 11px; font-weight: 950; white-space: nowrap; }
.badge.safe { background: #bbf7d0; color: #14532d; }
.badge.warn { background: #fde68a; color: #92400e; }
.badge.danger { background: #fecdd3; color: #9f1239; }
.badge.info { background: #bfdbfe; color: #1e3a8a; }
.badge.purple { background: #e9d5ff; color: #581c87; }
.bar-list { display: grid; gap: 10px; }
.bar-list article { position: relative; display: grid; gap: 5px; padding: 8px; border-radius: 8px; background: #f8fafc; }
.bar-list article.has-detail { cursor: pointer; }
.bar-list article.has-detail::after { content: "Aç"; justify-self: end; width: fit-content; border-radius: 999px; padding: 5px 8px; background: rgba(37,99,235,.08); color: #1d4ed8; font-size: 11px; font-weight: 950; }
.bar-list article.open::after { content: "Kapat"; }
.bar-list div { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; }
.bar-list i, .capacity { display: block; height: 9px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.bar-list i::before, .capacity i { content: ""; display: block; width: var(--w); height: 100%; border-radius: inherit; background: #2563eb; }
.bar-hover-detail { display: none; max-height: 330px; overflow: auto; gap: 7px; margin-top: 8px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; cursor: default; }
.bar-list article.open .bar-hover-detail { display: grid; }
.bar-detail-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 6px; background: #fff; }
.bar-detail-head h3 { margin: 0; color: #1d4ed8; font-size: 12px; }
.bar-detail-head button { min-height: 28px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; color: #334155; font-size: 11px; font-weight: 950; cursor: pointer; }
.bar-hover-detail p { display: grid; grid-template-columns: minmax(110px, .75fr) minmax(220px, 1.4fr); gap: 8px; align-items: start; margin: 0; padding: 8px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; font-size: 11px; }
.bar-hover-detail strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-hover-detail span { min-width: 0; overflow: visible; white-space: normal; line-height: 1.35; overflow-wrap: anywhere; }
.toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.toolbar h2 { margin: 0; margin-right: auto; }
.toolbar input, .toolbar select { min-height: 38px; width: 220px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; }
.toolbar button, .data-panel th button { min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; color: #334155; font-weight: 900; cursor: pointer; }
.toolbar button.active, .data-panel th button.active-sort { border-color: var(--company-accent, #1d4ed8); background: var(--company-accent, #1d4ed8); color: #fff; }
.data-panel { overflow: auto; }
.customer-search-box { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.customer-search-box input, .customer-search-box select { width: min(420px, 72vw); min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.customer-table-search { position: sticky; top: -14px; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: -14px -14px 10px; padding: 12px 14px; border-bottom: 1px solid #e5eaf0; background: #fff; }
.customer-decision-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); gap: 12px; align-items: start; }
.customer-decision-table { max-height: calc(100vh - 165px); }
.customer-decision-table table { width: 100%; min-width: 0; table-layout: fixed; }
.customer-decision-table th, .customer-decision-table td { min-width: 0; padding: 6px 3px; font-size: 9px; line-height: 1.18; white-space: normal; vertical-align: top; overflow: hidden; overflow-wrap: anywhere; word-break: break-word; }
.customer-decision-table th button { width: 100%; min-width: 0; height: auto; min-height: 28px; padding: 3px 3px; white-space: normal; line-height: 1.1; overflow-wrap: anywhere; text-align: center; }
.customer-decision-table th:nth-child(1), .customer-decision-table td:nth-child(1) { width: 14%; }
.customer-decision-table th:nth-child(2), .customer-decision-table td:nth-child(2) { width: 6%; }
.customer-decision-table th:nth-child(3), .customer-decision-table td:nth-child(3) { width: 11%; }
.customer-decision-table th:nth-child(4), .customer-decision-table td:nth-child(4),
.customer-decision-table th:nth-child(5), .customer-decision-table td:nth-child(5),
.customer-decision-table th:nth-child(6), .customer-decision-table td:nth-child(6),
.customer-decision-table th:nth-child(7), .customer-decision-table td:nth-child(7),
.customer-decision-table th:nth-child(8), .customer-decision-table td:nth-child(8),
.customer-decision-table th:nth-child(9), .customer-decision-table td:nth-child(9),
.customer-decision-table th:nth-child(10), .customer-decision-table td:nth-child(10) { width: 6.5%; }
.customer-decision-table th:nth-child(11), .customer-decision-table td:nth-child(11) { width: 6%; }
.customer-decision-table th:nth-child(12), .customer-decision-table td:nth-child(12) { width: 8%; }
.customer-decision-table td strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #0f172a; font-size: 9px; line-height: 1.15; overflow-wrap: anywhere; }
.customer-name-link { display: block; width: 100%; border: 0; padding: 0; background: transparent; color: #1d4ed8; font-size: 9px; font-weight: 950; line-height: 1.15; text-align: left; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-name-link:hover { color: #2563eb; }
.statement-preview-panel { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); gap: 10px; position: fixed; inset: 64px 18px 18px; z-index: 140; overflow: hidden; border: 1px solid #cbd5e1; border-radius: 8px; padding: 12px; background: #fff; box-shadow: 0 24px 70px rgba(15, 23, 42, .28); }
.statement-preview-panel::before { content: ""; position: fixed; inset: 0; z-index: -1; background: rgba(15, 23, 42, .34); }
.statement-preview-head { position: sticky; top: 0; z-index: 1; margin: -12px -12px 0; padding: 12px; border-bottom: 1px solid #e2e8f0; background: #fff; }
.statement-preview-head h3 { margin: 0; color: #1d4ed8; }
.statement-preview-head small { display: block; margin-top: 2px; color: #64748b; font-size: 11px; font-weight: 900; overflow-wrap: anywhere; }
.statement-preview-filters { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.statement-preview-filters label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.statement-preview-filters input { min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; }
.statement-preview-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.statement-preview-summary span { display: grid; gap: 4px; min-width: 0; padding: 9px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; color: #64748b; font-size: 11px; font-weight: 950; overflow: hidden; }
.statement-preview-summary strong { color: #0f172a; font-size: 13px; line-height: 1.25; overflow-wrap: anywhere; }
.statement-preview-table { min-height: 0; overflow: auto; border: 1px solid #e2e8f0; border-radius: 8px; }
.statement-preview-table table { min-width: 980px; table-layout: fixed; font-size: 11px; }
.statement-preview-table th, .statement-preview-table td { padding: 7px 8px; white-space: normal; vertical-align: top; }
.statement-preview-table td:nth-child(6), .statement-preview-table td:nth-child(7), .statement-preview-table td:nth-child(8) { text-align: right; font-weight: 950; }
.statement-preview-table tfoot td { position: sticky; bottom: 0; z-index: 1; background: #dbeafe; color: #0f172a; font-weight: 950; border-top: 2px solid #2563eb; }
.statement-total-note { margin: 0; padding: 7px 10px; border: 1px solid #bfdbfe; border-radius: 6px; background: #eff6ff; color: #334155; font-size: 10px; font-weight: 800; }
.statement-inline-preview { display: grid; gap: 10px; min-height: 100%; align-content: start; padding: 12px; }
.statement-inline-head { position: sticky; top: 0; z-index: 2; margin: -12px -12px 2px; padding: 12px; border: 0; border-bottom: 2px solid #2563eb; border-radius: 0; background: #eff6ff; }
.statement-inline-head h3 { margin: 0; color: #1d4ed8; font-size: 14px; }
.statement-inline-head small { display: block; margin-top: 2px; color: #475569; font-size: 11px; font-weight: 900; overflow-wrap: anywhere; }
.statement-inline-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.statement-inline-table { max-height: none; min-height: 220px; background: #fff; border-color: #bfdbfe; }
.statement-inline-table table { width: 100%; min-width: 0; table-layout: fixed; }
.statement-inline-table th, .statement-inline-table td { padding: 7px 6px; font-size: 10px; line-height: 1.25; overflow-wrap: anywhere; word-break: break-word; }
.statement-inline-table th:nth-child(1), .statement-inline-table td:nth-child(1),
.statement-inline-table th:nth-child(2), .statement-inline-table td:nth-child(2) { width: 13%; }
.statement-inline-table th:nth-child(3), .statement-inline-table td:nth-child(3) { width: 15%; }
.statement-inline-table th:nth-child(4), .statement-inline-table td:nth-child(4) { width: 12%; }
.statement-inline-table th:nth-child(5), .statement-inline-table td:nth-child(5) { width: 19%; }
.statement-inline-table th:nth-child(6), .statement-inline-table td:nth-child(6),
.statement-inline-table th:nth-child(7), .statement-inline-table td:nth-child(7),
.statement-inline-table th:nth-child(8), .statement-inline-table td:nth-child(8) { width: 9%; }
.statement-paper { display: grid; gap: 12px; padding: 18px; border: 1px solid #dbe3ea; border-radius: 6px; background: #fff; box-shadow: 0 12px 28px rgba(15, 23, 42, .08); }
.statement-paper-head { display: flex; align-items: start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 2px solid #2563eb; }
.statement-paper-head strong { display: block; color: #1d4ed8; font-size: 17px; font-weight: 950; }
.statement-paper-head h3 { margin: 2px 0; color: #0f172a; font-size: 18px; }
.statement-paper-head span, .statement-paper-head small { display: block; color: #64748b; font-size: 11px; font-weight: 900; }
.statement-paper-head > div:last-child { display: grid; justify-items: end; gap: 4px; text-align: right; }
.statement-paper-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.statement-paper-summary span { display: grid; gap: 4px; padding: 9px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; color: #64748b; font-size: 11px; font-weight: 950; }
.statement-paper-summary strong { color: #0f172a; font-size: 14px; }
.statement-paper-actions { margin: 0; padding: 0; }
.statement-paper-table { overflow: auto; border: 1px solid #e2e8f0; border-radius: 7px; }
.statement-paper-table table { min-width: 920px; table-layout: fixed; font-size: 11px; }
.statement-paper-table th { background: #dbeafe; color: #1e40af; }
.statement-paper-table th, .statement-paper-table td { padding: 7px 8px; white-space: normal; vertical-align: top; }
.statement-paper-table td:nth-child(6), .statement-paper-table td:nth-child(7), .statement-paper-table td:nth-child(8) { text-align: right; font-weight: 950; }
.customer-statement-preview { display: block; min-height: 100%; }
.customer-statement-preview .statement-paper { min-height: 420px; align-content: start; }
.customer-statement-preview .empty-detail { margin: 0; padding: 18px; border: 1px dashed #bfdbfe; border-radius: 8px; background: #eff6ff; color: #1e40af; font-weight: 900; }
.customer-decision-table td small { display: block; overflow: hidden; color: #64748b; font-size: 8px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.customer-decision-table .customer-balance-cell { color: #0f172a; font-size: 9px; font-weight: 950; text-align: right; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.customer-decision-table th:nth-child(3) button { white-space: nowrap; }
.customer-decision-table .badge, .customer-decision-table .inline-action { width: 100%; min-width: 0; min-height: 20px; height: auto; padding: 2px 3px; font-size: 8px; white-space: normal; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
.intro-open-button { width: 100%; min-width: 0; min-height: 22px; margin-top: 4px; border: 1px solid #1d4ed8; border-radius: 6px; padding: 2px 4px; background: #1d4ed8; color: #fff; font-size: 8px; font-weight: 950; line-height: 1.1; cursor: pointer; overflow-wrap: anywhere; }
.customer-decision-table tbody tr { cursor: pointer; }
.customer-decision-table tr.selected-row td { box-shadow: inset 0 0 0 9999px rgba(37, 99, 235, .08); }
.customer-row-actions { display: grid; gap: 4px; align-items: start; }
.customer-detail-panel { position: sticky; top: 16px; display: grid; gap: 12px; max-height: calc(100vh - 32px); overflow: auto; background: linear-gradient(180deg, #ffffff 0, #f8fbff 100%); }
.customer-detail-panel, .customer-detail-content { color: #0f172a; }
.customer-detail-panel > .line-toolbar:first-child { position: sticky; top: -14px; z-index: 3; margin: -14px -14px 0; padding: 14px; border-bottom: 1px solid #dbeafe; background: linear-gradient(135deg, #eff6ff 0, #fff 72%); }
.customer-detail-panel .line-toolbar { align-items: start; }
.customer-detail-panel .line-toolbar h2 { margin: 0; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.customer-detail-panel .line-toolbar small { display: block; margin-top: 2px; color: #64748b; font-size: 11px; font-weight: 900; }
.customer-detail-panel .line-toolbar button { min-height: 30px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 9px; background: #fff; color: #1d4ed8; font-size: 11px; font-weight: 950; cursor: pointer; box-shadow: 0 6px 14px rgba(37, 99, 235, .08); }
.customer-detail-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.customer-detail-summary span { display: grid; gap: 5px; min-width: 0; min-height: 62px; padding: 10px 11px; border: 1px solid #bfdbfe; border-left: 4px solid #60a5fa; border-radius: 8px; background: linear-gradient(180deg, #fff 0, #f8fbff 100%); color: #64748b; font-size: 10px; font-weight: 900; overflow: hidden; box-shadow: 0 8px 18px rgba(15, 23, 42, .04); }
.customer-detail-summary strong { display: block; width: 100%; max-width: 100%; padding: 3px 7px; border: 1px solid #dbeafe; border-radius: 6px; background: #eff6ff; color: #0f172a; font-size: 13px; line-height: 1.25; overflow-wrap: anywhere; word-break: break-word; }
.customer-risk-box { grid-column: 1 / -1; display: grid; gap: 9px; min-height: auto; padding: 11px; border: 1px solid #bfdbfe; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(135deg, #ffffff 0, var(--company-soft-solid, #eff6ff) 100%); box-shadow: 0 10px 22px rgba(15, 23, 42, .05); }
.customer-risk-box .line-toolbar { align-items: start; }
.customer-risk-box h3 { margin: 0 0 2px; color: var(--company-accent, #1d4ed8); font-size: 13px; line-height: 1.2; }
.customer-risk-box p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.customer-risk-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.customer-risk-grid span { min-height: 54px; padding: 8px; border-left-width: 3px; background: #fff; }
.customer-risk-grid .wide { grid-column: 1 / -1; }
.customer-risk-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.customer-risk-form label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.customer-risk-form input, .customer-risk-form select, .customer-risk-form textarea { width: 100%; min-height: 32px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 6px 8px; background: #fff; color: #0f172a; font-size: 12px; font-weight: 800; }
.customer-risk-form textarea { min-height: 62px; resize: vertical; }
.customer-risk-form .wide { grid-column: 1 / -1; }
.customer-detail-list { display: grid; gap: 7px; }
.customer-detail-list h3 { margin: 4px 0 0; color: #1d4ed8; font-size: 12px; }
.customer-detail-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 10px; border: 1px solid #dbeafe; border-left: 4px solid #60a5fa; border-radius: 8px; background: #fff; box-shadow: 0 7px 16px rgba(15, 23, 42, .035); }
.customer-detail-list article strong { min-width: 0; width: fit-content; max-width: 100%; padding: 3px 7px; border: 1px solid #e2e8f0; border-radius: 6px; background: #f8fafc; color: #0f172a; font-size: 11px; overflow-wrap: anywhere; }
.customer-detail-list article span { grid-column: 1 / -1; padding: 6px 8px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fbff; color: #64748b; font-size: 10px; line-height: 1.35; }
.customer-detail-list article b { align-self: start; padding: 4px 7px; border: 1px solid #bfdbfe; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font-size: 11px; white-space: nowrap; }
.customer-detail-panel .badge.safe { background: #dbeafe; color: #1e40af; }
.customer-accordion { display: grid; gap: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; overflow: hidden; box-shadow: 0 12px 26px rgba(37, 99, 235, .07); }
.customer-accordion summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; min-height: 46px; padding: 10px 12px; background: linear-gradient(135deg, #eff6ff 0, #ffffff 100%); color: #1d4ed8; font-size: 12px; font-weight: 950; cursor: pointer; list-style: none; border-left: 4px solid #60a5fa; }
.customer-accordion summary:hover { background: linear-gradient(135deg, #dbeafe 0, #ffffff 100%); }
.customer-accordion summary::-webkit-details-marker { display: none; }
.customer-accordion summary span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-accordion summary::after { content: "+"; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: #dbeafe; color: #1e40af; font-size: 16px; line-height: 1; box-shadow: inset 0 0 0 1px #bfdbfe; }
.customer-accordion[open] summary { border-bottom: 1px solid #dbeafe; }
.customer-accordion[open] summary::after { content: "-"; }
.customer-accordion > .customer-detail-list, .customer-accordion > .customer-intro-summary, .customer-accordion > .customer-intro-form { margin: 0; padding: 2px 12px 12px; background: #fbfdff; }
.customer-accordion[open] > .customer-detail-list, .customer-accordion[open] > .customer-intro-summary, .customer-accordion[open] > .customer-intro-form { max-height: min(58vh, 520px); overflow: auto; overscroll-behavior: contain; }
.customer-intro-card.customer-accordion { padding: 0; }
.customer-intro-card.customer-accordion > .customer-intro-head { display: none; }
.empty-detail { margin: 0; padding: 10px; border: 1px dashed #cbd5e1; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 12px; }
.customer-decision-layout { grid-template-columns: 1fr; position: relative; }
.customer-decision-search { position: sticky; top: 0; z-index: 5; margin: 0; }
.customer-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.customer-workspace.has-detail { grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); }
.customer-decision-board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.customer-workspace.has-detail .customer-decision-board { grid-template-columns: 1fr; }
.customer-decision-column { max-height: calc(100vh - 210px); overflow: auto; }
.customer-column-head { position: sticky; top: -14px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: -14px -14px 10px; padding: 12px 14px; border-bottom: 1px solid #e5eaf0; background: #fff; }
.customer-column-head h2 { margin: 0; font-size: 15px; }
.customer-decision-column.safe { border-left: 6px solid #2563eb; }
.customer-decision-column.warn { border-left: 6px solid #f59e0b; }
.customer-decision-column.purple { border-left: 6px solid #8b5cf6; }
.customer-decision-column.purple .customer-column-head h2 { color: #581c87; }
.customer-decision-column.danger { border-left: 6px solid #dc2626; background: #fff7f8; }
.customer-decision-column.danger .customer-column-head h2 { color: #1d4ed8; }
.customer-decision-column.safe { background: #eff6ff; }
.customer-decision-column.safe .customer-column-head h2 { color: #1d4ed8; }
.customer-decision-column.safe .customer-column-head { border-bottom-color: #bfdbfe; background: #dbeafe; }
.customer-decision-column.danger .customer-column-head { border-bottom-color: #fecdd3; background: #ffe4e6; }
.customer-decision-column.safe thead th { background: #bfdbfe; color: #1e40af; }
.customer-decision-column.danger thead th { background: #fecdd3; color: #1d4ed8; }
.customer-decision-column.safe tbody td { background: #eff6ff; }
.customer-decision-column.danger tbody td { background: #fff1f2; }
.customer-decision-column.safe tbody tr:hover td { background: #dbeafe; }
.customer-decision-column.danger tbody tr:hover td { background: #ffe4e6; }
.customer-debt-stack { display: grid; gap: 10px; min-width: 0; align-content: start; }
.supplier-creditor-panel { display: grid; gap: 8px; border-left: 6px solid #dc2626; background: #fff7f8; }
.supplier-creditor-panel .customer-column-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 7px; border-bottom: 1px solid #fecdd3; }
.supplier-creditor-panel .customer-column-head h2 { margin: 0; color: #b91c1c; font-size: 14px; }
.supplier-creditor-panel .customer-column-head small { color: #78716c; font-size: 10px; }
.supplier-creditor-list { display: grid; gap: 4px; min-width: 0; overflow-x: hidden; }
.supplier-creditor-row { display: grid; grid-template-columns: minmax(92px,1.45fr) 52px repeat(3,minmax(54px,.78fr)) 42px; gap: 4px; align-items: center; min-width: 0; padding: 7px 6px; border: 1px solid #fecdd3; border-radius: 6px; }
.supplier-creditor-row.head { background: #ffe4e6; color: #991b1b; font-size: 10px; }
.supplier-creditor-row.body { width: 100%; background: #fff; color: #334155; text-align: left; cursor: pointer; }
.supplier-creditor-row.body:hover { border-color: #dc2626; background: #fff1f2; }
.supplier-creditor-row span,.supplier-creditor-row strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.supplier-creditor-row > div { display: grid; min-width: 0; gap: 1px; }
.supplier-creditor-row > div small { overflow: hidden; color: #64748b; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-creditor-row span,.supplier-creditor-row > strong { text-align: right; }
.supplier-creditor-row .supplier-debt-value { color: #b91c1c; font-weight: 950; }
.supplier-creditor-action { padding: 4px 3px; border-radius: 5px; background: #dc2626; color: #fff; font-weight: 900; text-align: center !important; }
.supplier-creditor-modal { width: min(980px,calc(100vw - 28px)); max-height: calc(100vh - 28px); overflow: auto; }
.supplier-payment-head-actions { display: flex; align-items: center; gap: 6px; }
.supplier-payment-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0 0 10px; padding: 10px; border: 1px solid #fecdd3; border-left: 5px solid #dc2626; border-radius: 7px; background: #fff7f8; }
.supplier-payment-form-head { display: flex; align-items: center; justify-content: space-between; grid-column: 1/-1; color: #991b1b; }
.supplier-payment-form label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.supplier-payment-form input,.supplier-payment-form select { width: 100%; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 6px 8px; background: #fff; color: #172033; }
.supplier-payment-form .wide { grid-column: 1/-1; }
.supplier-payment-row-actions { display: flex; gap: 4px; margin-top: 3px; }
.supplier-payment-row-actions button { min-height: 24px; border: 1px solid #93c5fd; border-radius: 5px; padding: 2px 7px; background: #eff6ff; color: #1d4ed8; font-size: 8px; font-weight: 900; cursor: pointer; }
.supplier-payment-row-actions button.danger { border-color: #fecaca; background: #fff1f2; color: #b91c1c; }
.supplier-payment-row-actions button:disabled { opacity: .5; cursor: not-allowed; }
.customer-detail-hidden { display: none; }
.customer-detail-inline { position: sticky; top: 74px; max-height: calc(100dvh - 88px); overflow: auto; align-content: start; box-shadow: 0 18px 40px rgba(37, 99, 235, .14); border-color: #bfdbfe; }
.customer-detail-floating { position: fixed; inset: 14px; top: 14px; left: 14px; right: 14px; bottom: 14px; z-index: 60; width: auto; max-width: 1080px; max-height: none; margin: 0 auto; transform: none; overflow-y: auto; overscroll-behavior: contain; align-content: start; box-shadow: 0 24px 60px rgba(15, 23, 42, .28); border-color: #2563eb; }
.customer-intro-card { display: grid; gap: 10px; padding: 10px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fbff; }
.customer-intro-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.customer-intro-head h3 { margin: 0; color: #1d4ed8; font-size: 13px; }
.customer-intro-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.customer-intro-form label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 950; }
.customer-intro-form input, .customer-intro-form select, .customer-intro-form textarea { width: 100%; min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 7px 9px; background: #fff; color: #0f172a; font-size: 11px; }
.customer-intro-form textarea { min-height: 70px; resize: vertical; line-height: 1.35; }
.customer-intro-form input:disabled, .customer-intro-form select:disabled, .customer-intro-form textarea:disabled { background: #f1f5f9; color: #64748b; }
.customer-intro-form .wide, .customer-intro-summary .wide { grid-column: 1 / -1; }
.customer-intro-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.customer-intro-summary span { display: grid; gap: 5px; padding: 9px; border: 1px solid #dbeafe; border-left: 4px solid #bfdbfe; border-radius: 8px; background: #fff; color: #64748b; font-size: 10px; font-weight: 900; }
.customer-intro-summary strong { min-width: 0; padding: 5px 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fbff; color: #0f172a; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.intro-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; }
.intro-photo-grid figure { position: relative; margin: 0; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; aspect-ratio: 1; }
.intro-photo-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.intro-photo-grid button { position: absolute; right: 5px; bottom: 5px; min-height: 24px; border: 0; border-radius: 6px; padding: 0 7px; background: rgba(190, 18, 60, .92); color: #fff; font-size: 10px; font-weight: 950; cursor: pointer; }
.intro-location { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.intro-location button, .intro-location a { min-height: 32px; border: 0; border-radius: 7px; padding: 7px 10px; background: #1d4ed8; color: #fff; font-size: 11px; font-weight: 950; text-align: center; text-decoration: none; cursor: pointer; }
.intro-location input { width: 100%; min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 7px 9px; background: #fff; color: #0f172a; font-size: 11px; }
table { width: 100%; min-width: 1000px; border-collapse: collapse; }
th, td { padding: 10px 9px; border-bottom: 1px solid #e5eaf0; text-align: left; white-space: nowrap; font-size: 12px; }
th { color: #475569; background: #f8fafc; font-size: 11px; text-transform: capitalize; }
.panel h2, .line-toolbar h2, .toolbar h2, .customer-column-head h2 { text-transform: capitalize; }
td strong, td small { display: block; }
td small { color: #64748b; }
.customer-mini-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; max-width: 260px; }
.customer-mini-tags span { display: inline-flex; align-items: center; min-height: 18px; padding: 0 6px; border: 1px solid #dbeafe; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font-size: 9px; font-weight: 900; line-height: 1; }
.customer-mini-tags .badge { min-height: 18px; padding: 0 6px; font-size: 9px; }
td:nth-child(n+3), th:nth-child(n+3) { text-align: right; }
td:last-child, th:last-child { text-align: left; }
tr.row-safe td { background: #ecfdf5; }
tr.row-warn td { background: #f8fafc; }
tr.row-danger td { background: #fff1f2; }
tr.row-info td { background: #eff6ff; }
tr.row-purple td { background: #faf5ff; }
.order-tower-table { overflow-x: hidden; overflow-y: visible; padding: 8px; }
.order-tower-table table { width: 100%; min-width: 0; table-layout: fixed; border-spacing: 0; }
.order-tower-table th, .order-tower-table td { height: 76px; padding: 6px 5px; font-size: 9px; line-height: 1.15; white-space: normal; text-align: center; vertical-align: middle; overflow: hidden; }
.order-tower-table th { height: 32px; color: #475569; font-size: 8px; letter-spacing: 0; text-align: center; vertical-align: middle; }
.order-tower-table td:nth-child(7), .order-tower-table td:nth-child(8), .order-tower-table td:nth-child(9),
.order-tower-table th:nth-child(7), .order-tower-table th:nth-child(8), .order-tower-table th:nth-child(9) { text-align: right; }
.order-tower-table td:nth-child(4) { color: #0f172a; font-weight: 950; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-tower-table td:nth-child(5), .order-tower-table td:nth-child(6), .order-tower-table td:nth-child(7), .order-tower-table td:nth-child(9) { white-space: nowrap; }
.tower-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; align-items: stretch; }
.tower-actions button { min-height: 22px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 3px; background: #ecfdf5; color: #1d4ed8; font-size: 8px; font-weight: 950; cursor: pointer; }
.tower-actions button.delete { border-color: #fecdd3; background: #fff1f2; color: #be123c; }
.mikro-transfer-panel { order: -1; display: grid; gap: 10px; border-left: 5px solid #f59e0b; }
.mikro-transfer-panel.ready { border-left-color: #18a058; background: #f7fff9; }
.mikro-transfer-panel.missing { border-left-color: #f59e0b; background: #fffaf0; }
.mikro-transfer-panel .line-toolbar h2, .mikro-transfer-panel .line-toolbar p { margin: 0; }
.mikro-transfer-panel .line-toolbar p { color: #64748b; font-size: 12px; }
.mikro-preview-summary { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.mikro-preview-summary span { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #dbe5df; border-radius: 7px; background: #fff; color: #64748b; font-size: 10px; font-weight: 900; }
.mikro-preview-summary strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.mikro-map-section { display: grid; gap: 8px; }
.mikro-map-section h3 { margin: 0; color: #1d4ed8; font-size: 13px; }
.mikro-field-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.mikro-field { display: grid; align-content: start; gap: 5px; min-width: 0; padding: 8px; border: 1px solid #dbe5df; border-radius: 7px; background: #fff; }
.mikro-field.warn { border-color: #facc15; background: #fffbea; }
.mikro-field.error { border-color: #fecdd3; background: #fff1f2; }
.mikro-field strong { color: #0f172a; font-size: 11px; overflow-wrap: anywhere; }
.mikro-field span { color: #334155; font-size: 12px; font-weight: 950; overflow-wrap: anywhere; }
.mikro-field small { color: #64748b; font-size: 10px; min-height: 12px; overflow-wrap: anywhere; }
.mikro-field .badge { width: fit-content; max-width: 100%; justify-content: flex-start; text-align: left; }
.mikro-line-detail { border: 1px solid #dbe5df; border-radius: 8px; background: #fff; overflow: hidden; }
.mikro-line-detail summary { display: flex; gap: 10px; align-items: center; padding: 9px 10px; cursor: pointer; color: #1d4ed8; font-size: 12px; font-weight: 950; }
.mikro-line-detail summary span { color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mikro-line-detail .mikro-field-grid { padding: 8px; border-top: 1px solid #e5eaf0; }
.order-tower-dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.order-tower-task-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; min-height: 230px; padding: 10px; border-top: 4px solid var(--company-accent, #2563eb); }
.order-tower-task-panel.info { border-top-color: var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 78px); }
.order-tower-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 78px); }
.order-tower-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 78px); }
.order-tower-task-panel.purple { border-top-color: #8b5cf6; background: linear-gradient(180deg, #faf5ff 0, #fff 78px); }
.order-tower-task-panel .line-toolbar { align-items: start; gap: 6px; }
.order-tower-task-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 13px; line-height: 1.2; }
.order-tower-task-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.order-tower-mini-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.order-tower-mini-kpis span { display: grid; gap: 4px; padding: 9px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; color: #64748b; font-size: 11px; font-weight: 950; }
.order-tower-mini-kpis strong { color: #0f172a; font-size: 13px; overflow-wrap: anywhere; }
.order-tower-task-list { max-height: 220px; }
.order-tower-status-list { display: grid; gap: 6px; max-height: 170px; overflow: auto; padding-right: 2px; }
.order-tower-status-list button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 32px; border: 1px solid #e9d5ff; border-radius: 8px; padding: 0 9px; background: rgba(255,255,255,.9); color: #581c87; cursor: pointer; }
.order-tower-status-list button.active { border-color: #8b5cf6; background: #f3e8ff; box-shadow: inset 3px 0 0 #8b5cf6; }
.order-tower-status-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 950; text-align: left; }
.order-tower-status-list strong { color: #1e1b4b; font-size: 12px; }
.order-detail-cell { position: relative; display: grid; align-content: center; justify-items: center; gap: 3px; min-width: 0; cursor: default; text-align: center; }
.order-detail-cell > strong, .order-detail-cell > small, .order-tower-table td > strong, .order-tower-table td > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-detail-open { max-width: 100%; border: 0; padding: 0; background: transparent; color: #0f172a; font-size: 10px; font-weight: 950; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.order-detail-open:hover { color: var(--company-accent, #1d4ed8); text-decoration: underline; }
.order-visible-line { width: 100%; min-height: 17px; border: 1px solid #dbeafe; border-radius: 6px; padding: 2px 5px; background: #f8fbff; color: #1d4ed8; font-size: 8px; font-weight: 950; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.order-visible-line:hover { border-color: var(--company-accent, #1d4ed8); background: var(--company-soft-solid, #eff6ff); }
.order-card-line { display: block; width: 100%; max-width: 100%; margin-top: 2px; padding: 3px 5px; border: 1px solid #dbeafe; border-radius: 6px; background: #f8fbff; color: #1d4ed8 !important; font-size: 9px !important; font-weight: 950 !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-detail-cell .order-lines-mini { width: 100%; margin-top: 1px; }
.order-detail-cell .order-lines-mini p { grid-template-columns: minmax(0, 1fr) 42px; gap: 3px; padding: 3px 4px; }
.order-detail-cell .order-lines-mini strong,
.order-detail-cell .order-lines-mini span { font-size: 8px; }
.order-detail-cell .order-lines-mini b,
.order-detail-cell .order-lines-mini em,
.order-detail-cell .order-lines-mini small { display: none; }
.order-tower-table .badge { min-height: 20px; padding: 0 5px; font-size: 9px; white-space: normal; text-align: center; }
.order-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; width: 100%; margin-top: 4px; }
.order-flow span { min-width: 0; height: 4px; border-radius: 999px; overflow: hidden; text-indent: -999px; background: #dbe5df; }
.order-flow span.done { background: #2563eb; }
.order-hover-pop { display: none; position: absolute; z-index: 22; top: calc(100% + 8px); left: 0; width: min(520px, 78vw); max-height: 360px; overflow: auto; gap: 7px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; box-shadow: 0 18px 38px rgba(15, 23, 42, .18); white-space: normal; }
.order-detail-cell:hover .order-hover-pop { display: none; }
.order-hover-pop h3 { margin: 0; color: #1d4ed8; font-size: 12px; }
.order-hover-pop article { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(130px, .8fr) minmax(110px, .6fr); gap: 8px; align-items: center; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; }
.order-hover-pop article strong, .order-hover-pop article span, .order-hover-pop article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-hover-pop article strong { color: #0f172a; font-size: 11px; }
.order-hover-pop article span, .order-hover-pop article small { color: #64748b; font-size: 10px; }
.order-hover-pop article .line-state { grid-column: 1 / -1; display: inline-flex; align-items: center; width: fit-content; min-height: 22px; border-radius: 999px; padding: 0 8px; font-size: 10px; font-style: normal; font-weight: 950; }
.line-state.safe { background: #bbf7d0; color: #14532d; }
.line-state.info { background: #bfdbfe; color: #1e3a8a; }
.line-state.purple { background: #e9d5ff; color: #581c87; }
.line-state.danger { background: #fecdd3; color: #9f1239; }
.order-hover-pop p { margin: 0; color: #64748b; font-size: 11px; }
.order-hover-pop footer { display: flex; gap: 8px; justify-content: space-between; padding-top: 4px; border-top: 1px solid #e5eaf0; color: #334155; font-size: 11px; font-weight: 900; }
.customer-hover-cell { position: relative; display: grid; align-content: center; justify-items: center; gap: 3px; min-width: 0; cursor: default; text-align: center; }
.customer-hover-cell > strong, .customer-hover-cell > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-hover-pop { display: none; position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; width: min(640px, 82vw); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; box-shadow: 0 18px 38px rgba(15, 23, 42, .18); white-space: normal; }
.customer-hover-cell:hover .customer-hover-pop { display: none; }
.order-customer-open { max-width: 100%; border: 0; padding: 0; background: transparent; color: #0f172a; font-size: 9px; font-weight: 950; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.order-customer-open:hover { color: #1d4ed8; text-decoration: underline; }
.order-customer-modal-backdrop { z-index: 5100; }
.order-customer-modal { display: grid; gap: 10px; width: min(940px, calc(100vw - 36px)); max-height: min(720px, calc(100vh - 36px)); overflow: auto; padding: 12px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 92px); box-shadow: 0 28px 80px rgba(15, 23, 42, .28); }
.order-customer-modal .line-toolbar h2 { margin: 0 0 3px; font-size: 16px; color: var(--company-accent, #1d4ed8); }
.order-customer-modal .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.order-lines-modal-backdrop { z-index: 5200; }
.order-lines-modal { display: grid; gap: 10px; width: min(940px, calc(100vw - 36px)); max-height: min(720px, calc(100vh - 36px)); overflow: auto; padding: 12px; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 88px); box-shadow: 0 28px 80px rgba(15, 23, 42, .28); }
.order-lines-modal .line-toolbar h2 { margin: 0 0 3px; font-size: 16px; color: var(--company-accent, #1d4ed8); }
.order-lines-modal .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.order-summary-status-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.order-summary-screen { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 10px; align-items: start; }
.order-summary-card { display: grid; align-content: start; align-self: start; gap: 7px; min-width: 0; padding: 10px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.order-summary-card h3,
.order-summary-flow h3,
.order-lines-modal-list h3 { margin: 0; color: var(--company-accent, #1d4ed8); font-size: 13px; }
.order-summary-card span { display: grid; gap: 2px; min-width: 0; padding: 6px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 10px; font-weight: 900; }
.order-summary-card strong { min-width: 0; color: #0f172a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-summary-content { display: grid; gap: 9px; min-width: 0; }
.order-lines-modal-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.order-lines-modal-summary span { display: grid; gap: 4px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; color: #64748b; font-size: 10px; font-weight: 950; }
.order-lines-modal-summary strong { min-width: 0; color: #0f172a; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-mikro-match-detail { display: grid; gap: 8px; padding: 9px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; }
.order-mikro-match-detail.warn { border-color: #fcd34d; background: #fffaf0; }
.order-mikro-match-detail.safe { border-color: #bfdbfe; background: #f7fbff; }
.order-mikro-match-detail .line-toolbar h3 { margin: 0; color: var(--company-accent, #1d4ed8); font-size: 13px; }
.order-mikro-match-detail .line-toolbar p { margin: 2px 0 0; color: #64748b; font-size: 10px; font-weight: 850; }
.order-mikro-match-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.order-mikro-match-grid span { display: grid; gap: 3px; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; color: #64748b; font-size: 9px; font-weight: 950; }
.order-mikro-match-grid strong { min-width: 0; color: #0f172a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-mikro-match-checks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.order-mikro-match-checks article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 6px; align-items: center; min-width: 0; padding: 7px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.order-mikro-match-checks article.warn { border-color: #fde68a; background: #fffbeb; }
.order-mikro-match-checks article.safe { border-color: #bfdbfe; background: #f8fbff; }
.order-mikro-match-checks strong { min-width: 0; color: #0f172a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-mikro-match-checks span { grid-column: 1 / -1; min-width: 0; color: #475569; font-size: 10px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-summary-flow { display: grid; gap: 7px; padding: 9px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; }
.order-summary-flow > div { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.order-summary-flow article { display: grid; gap: 5px; justify-items: center; min-width: 0; color: #64748b; font-size: 9px; font-weight: 950; text-align: center; }
.order-summary-flow article span { width: 100%; height: 6px; border-radius: 999px; background: #dbe5df; }
.order-summary-flow article.done span { background: var(--company-accent, #1d4ed8); }
.order-summary-flow article strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-lines-modal-list { display: grid; gap: 7px; }
.order-lines-modal-head { display: grid; grid-template-columns: minmax(0, 1.4fr) 72px 82px 96px minmax(170px, 1fr); gap: 8px; align-items: center; padding: 0 8px 2px; color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.order-lines-modal-head strong,
.order-lines-modal-head span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-lines-modal-head span { text-align: right; }
.order-lines-modal-list article { display: grid; grid-template-columns: minmax(0, 1.4fr) 72px 82px 96px minmax(170px, 1fr); gap: 8px; align-items: center; padding: 8px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; }
.order-lines-modal-list strong,
.order-lines-modal-list span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.order-lines-modal-list strong { color: #0f172a; font-weight: 950; }
.order-lines-modal-list span { color: #334155; font-weight: 900; text-align: right; }
.order-lines-modal-list .badge { min-width: 0; justify-content: center; white-space: normal; text-align: center; font-size: 9px; }
.order-line-product-note { min-width: 0; display: grid; gap: 3px; }
.order-line-product-note strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-line-product-note small,
.order-line-mini-note,
.order-line-card-note,
.order-line-confirm-note { display: block; color: #9a3412; font-size: 10px; font-weight: 800; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
.order-line-card-note,
.order-line-confirm-note { grid-column: 1 / -1; }
.order-detail-header-actions { display: flex; gap: 7px; align-items: center; }
.order-note-modal { width: min(760px, calc(100vw - 24px)); max-height: min(82vh, 760px); overflow: auto; }
.order-note-backdrop { z-index: 5400; }
.order-note-list { display: grid; gap: 8px; margin: 10px 0; }
.order-note-list label { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); gap: 10px; align-items: center; padding: 9px; border: 1px solid #dbeafe; border-radius: 7px; background: #f8fbff; }
.order-note-list strong { color: #15324b; font-size: 11px; }
.order-note-list textarea { width: 100%; min-height: 54px; resize: vertical; border: 1px solid #cbd5e1; border-radius: 7px; padding: 8px; background: #fff; font: inherit; }
@media (max-width: 700px) {
  .order-detail-header-actions { width: 100%; }
  .order-detail-header-actions button { flex: 1; }
  .order-note-list label { grid-template-columns: 1fr; }
}
.accounting-control-list article.clickable-accounting-card,
.accounting-task-list article.clickable-accounting-card,
.accounting-control-list article:has(.order-lines-mini) { cursor: pointer; }
.accounting-control-list article.clickable-accounting-card:hover,
.accounting-task-list article.clickable-accounting-card:hover,
.accounting-control-list article:has(.order-lines-mini):hover { border-color: var(--company-accent, #1d4ed8); box-shadow: 0 12px 24px color-mix(in srgb, var(--company-accent, #2563eb) 14%, transparent); }
.accounting-order-brief { display: grid; gap: 2px; min-width: 0; }
.accounting-order-brief strong,
.accounting-order-brief span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.accounting-order-brief strong { color: #0f172a; font-size: 11px; font-weight: 950; }
.accounting-order-brief span { color: #475569; font-size: 10px; font-weight: 900; }
.order-customer-modal-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.order-customer-modal-summary span { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; color: #64748b; font-size: 10px; font-weight: 900; }
.order-customer-modal-summary strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.order-customer-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.order-customer-modal-grid section { display: grid; align-content: start; gap: 7px; min-width: 0; }
.order-customer-modal-grid h3 { margin: 0; color: #1d4ed8; font-size: 13px; }
.order-customer-modal-grid article { display: grid; gap: 3px; padding: 8px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.order-customer-modal-grid article strong, .order-customer-modal-grid article span, .order-customer-modal-grid article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-customer-modal-grid article strong { color: #0f172a; font-size: 11px; }
.order-customer-modal-grid article span, .order-customer-modal-grid article small, .order-customer-modal-grid p { margin: 0; color: #64748b; font-size: 10px; }
.customer-hover-finance { grid-column: 1 / -1; }
.customer-hover-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.customer-hover-summary span { display: grid; gap: 2px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 10px; font-weight: 900; }
.customer-hover-summary strong { color: #0f172a; font-size: 11px; overflow-wrap: anywhere; }
.customer-hover-pop section { display: grid; align-content: start; gap: 6px; min-width: 0; }
.customer-hover-pop h3 { margin: 0; color: #1d4ed8; font-size: 12px; }
.customer-hover-pop article { display: grid; gap: 2px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; }
.customer-hover-pop article strong, .customer-hover-pop article span, .customer-hover-pop article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-hover-pop article strong { color: #0f172a; font-size: 11px; }
.customer-hover-pop article span, .customer-hover-pop article small { color: #64748b; font-size: 10px; }
.customer-hover-pop p { margin: 0; color: #64748b; font-size: 11px; }
.edit-drawer { position: sticky; bottom: 12px; z-index: 12; border-color: #cbd5e1; box-shadow: 0 22px 45px rgba(37, 99, 235, .18); }
.edit-drawer .line-toolbar h2 { margin: 0; }
.order-edit-backdrop { z-index: 82; display: grid; place-items: center; padding: 14px; }
.order-edit-modal { position: relative; bottom: auto; width: min(920px, calc(100vw - 28px)); max-height: min(82vh, 720px); overflow: auto; margin: auto; border-color: var(--company-accent, #2563eb); background: #fff; box-shadow: 0 28px 80px rgba(15, 23, 42, .32); }
.order-edit-modal .line-toolbar { position: sticky; top: -14px; z-index: 2; margin: -14px -14px 12px; padding: 14px; background: #fff; border-bottom: 1px solid #e5eaf0; }
.order-edit-modal .line-toolbar p { margin: 3px 0 0; color: #64748b; font-size: 11px; font-weight: 800; }
.edit-order-grid { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; align-items: end; }
.edit-order-grid label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.edit-order-grid input, .edit-order-grid select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.edit-order-grid .form-actions { justify-content: start; }
.my-order-correction-actions { display: flex; justify-content: flex-end; gap: 7px; padding-top: 8px; border-top: 1px solid #e5eaf0; }
.my-order-correction-actions button { min-height: 32px; border: 1px solid #93c5fd; border-radius: 7px; padding: 0 12px; background: #eff6ff; color: #1d4ed8; font-size: 11px; font-weight: 950; cursor: pointer; }
.my-order-correction-actions button.danger { border-color: #fecaca; background: #fff1f2; color: #be123c; }
.my-order-edit-lines { grid-column: 1 / -1; display: grid; gap: 7px; padding: 10px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; }
.my-order-edit-lines .line-toolbar { position: static; margin: 0; padding: 0 0 7px; background: transparent; }
.my-order-edit-lines h3 { margin: 0; font-size: 13px; }
.my-order-edit-line { display: grid; grid-template-columns: minmax(220px, 1.8fr) 100px 120px 100px auto; gap: 7px; align-items: center; }
.my-order-edit-line input { width: 100%; min-width: 0; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; }
.my-order-edit-line button { min-height: 32px; border: 1px solid #fecaca; border-radius: 7px; padding: 0 9px; background: #fff1f2; color: #be123c; font-size: 10px; font-weight: 950; cursor: pointer; }
.my-order-edit-line button:disabled { opacity: .45; cursor: not-allowed; }
.my-order-edit-line .order-edit-line-note { grid-column: 1 / -1; min-height: 50px; padding: 8px; resize: vertical; }
.order-edit-product-picker { position: relative; display: grid; gap: 3px; }
.order-edit-selected-product { color: #2563eb; font-size: 9px; font-weight: 900; }
.order-edit-product-results { position: absolute; z-index: 8; top: calc(100% + 2px); left: 0; right: 0; display: grid; max-height: 210px; overflow: auto; padding: 4px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; box-shadow: 0 14px 32px rgba(15, 23, 42, .18); }
.order-edit-product-results button { display: grid; gap: 2px; min-height: 0; padding: 7px 8px; border: 0; border-radius: 5px; background: #fff; color: #0f172a; text-align: left; }
.order-edit-product-results button:hover { background: #eff6ff; }
.order-edit-product-results button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.order-edit-product-results button small, .order-edit-product-results > span { color: #64748b; font-size: 9px; font-weight: 800; }
.order-edit-empty-lines { grid-column: 1 / -1; margin: 0; }
.order-entry-customer-label { position: relative; }
.order-entry-customer-picker { position: relative; display: grid; gap: 3px; min-width: 0; }
.order-entry-selected-customer { color: #2563eb; font-size: 9px; font-weight: 900; }
.order-entry-customer-results { position: absolute; z-index: 12; top: calc(100% + 2px); left: 0; right: 0; display: grid; max-height: 260px; overflow: auto; padding: 4px; border: 1px solid #bfdbfe; border-radius: 7px; background: #fff; box-shadow: 0 16px 36px rgba(15, 23, 42, .2); }
.order-entry-customer-results button { display: grid; gap: 2px; min-height: 0; padding: 8px; border: 0; border-radius: 5px; background: #fff; color: #0f172a; text-align: left; cursor: pointer; }
.order-entry-customer-results button:hover { background: #eff6ff; }
.order-entry-customer-results button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.order-entry-customer-results button small, .order-entry-customer-results > span { color: #64748b; font-size: 9px; font-weight: 800; }
.my-order-edit-message, .my-order-edit-actions { grid-column: 1 / -1; }
.partial-shipment-panel { position: fixed; top: 50%; left: 50%; z-index: 80; width: min(980px, calc(100vw - 28px)); max-height: min(820px, calc(100vh - 32px)); overflow: auto; transform: translate(-50%, -50%); border-color: #93c5fd; background: #f8fbff; box-shadow: 0 26px 70px rgba(15, 23, 42, .3); }
.partial-shipment-panel .line-toolbar h2, .partial-shipment-panel .line-toolbar p { margin: 0; }
.partial-shipment-form { display: grid; gap: 12px; }
.partial-shipment-head { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 10px; }
.partial-shipment-head label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.partial-shipment-head input, .partial-shipment-head select, .partial-shipment-head textarea, .partial-shipment-line input { width: 100%; min-height: 36px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 8px 10px; background: #fff; }
.partial-shipment-head textarea { min-height: 70px; resize: vertical; }
.partial-shipment-head .wide { grid-column: 1 / -1; }
.partial-shipment-lines { display: grid; gap: 6px; }
.partial-shipment-line { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(100px, .7fr)); gap: 8px; align-items: center; padding: 8px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; }
.partial-shipment-line.head { background: #eff6ff; color: #1d4ed8; font-size: 11px; }
.partial-shipment-line span { min-width: 0; overflow-wrap: anywhere; font-weight: 900; }
.partial-shipment-line b { color: #334155; font-size: 12px; white-space: nowrap; }
.order-completion-backdrop { z-index: 5300; }
.order-completion-modal { width: min(560px, calc(100vw - 28px)); }
.order-completion-modal .line-toolbar h2, .order-completion-modal .line-toolbar p { margin: 0; }
.order-completion-form { display: grid; gap: 12px; }
.order-completion-form label { display: grid; gap: 6px; color: #334155; font-size: 12px; font-weight: 900; }
.order-completion-form textarea { width: 100%; min-height: 110px; border: 1px solid #94a3b8; border-radius: 7px; padding: 10px; background: #fff; color: #0f172a; font: inherit; resize: vertical; }
.order-completion-note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; margin: 10px 0; padding: 10px 12px; border: 1px solid #fdba74; border-radius: 7px; background: #fff7ed; color: #7c2d12; }
.order-completion-note span { overflow-wrap: anywhere; }
.order-completion-note small { color: #9a3412; }
.order-grid, .stock-grid, .shipment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.order-card, .stock-card, .shipment-card { display: grid; gap: 10px; padding: 14px; border-left: 5px solid #18a058; }
.order-card.warn, .stock-card.warn { border-left-color: #f59e0b; }
.order-card.danger, .stock-card.danger { border-left-color: #dc2626; }
.order-card div:first-child, .order-card footer, .shipment-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.order-card h3 { margin: 0; font-size: 17px; }
.order-card p, .shipment-card p { margin: 0; color: #64748b; }
.mini-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.mini-metrics span, .stock-card p { display: grid; gap: 3px; padding: 8px; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 11px; }
.mini-metrics b, .stock-card b { color: #0f172a; font-size: 13px; }
.order-entry-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.order-entry-head p { margin: 0; color: #64748b; }
.order-entry-command-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 12px; align-items: stretch; }
.order-entry-dashboard-grid { display: grid; gap: 12px; align-content: start; }
.order-entry-task-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; min-height: 205px; padding: 10px; border-top: 4px solid var(--company-accent, #2563eb); }
.order-entry-task-panel.info { border-top-color: var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 78px); }
.order-entry-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 78px); }
.order-entry-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 78px); }
.order-entry-task-panel .line-toolbar { align-items: start; gap: 6px; }
.order-entry-task-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 13px; line-height: 1.2; }
.order-entry-task-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.order-entry-mini-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.order-entry-mini-kpis span { display: grid; gap: 4px; padding: 9px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; color: #64748b; font-size: 11px; font-weight: 950; }
.order-entry-mini-kpis strong { color: #0f172a; font-size: 13px; overflow-wrap: anywhere; }
.order-entry-side-list { max-height: 220px; }
.order-entry-form { display: grid; gap: 12px; }
.entry-block { display: grid; gap: 10px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; }
.entry-block h3 { margin: 0; font-size: 15px; }
.entry-fields { display: grid; grid-template-columns: 1.4fr 1fr 160px 130px 170px; gap: 10px; }
.entry-fields label, .entry-line select, .entry-line input, .typeahead-cell { min-width: 0; }
.entry-fields label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.entry-fields select, .entry-fields input, .entry-line select, .entry-line input, .typeahead-cell input { width: 100%; min-height: 40px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.product-search-cell { position: relative; z-index: 4; }
.product-search-cell:focus-within { z-index: 30; }
.product-search-results { position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; width: min(440px, 86vw); max-height: 260px; overflow-y: auto; display: grid; gap: 3px; padding: 6px; border: 1px solid #9fc4da; border-radius: 7px; background: #fff; box-shadow: 0 14px 30px rgba(15, 23, 42, .18); }
.product-search-results button { display: grid; gap: 2px; min-height: 42px; padding: 6px 8px; border: 1px solid transparent; border-radius: 6px; background: #fff; color: #17364c; text-align: left; cursor: pointer; }
.product-search-results button:hover, .product-search-results button:focus { border-color: var(--company-accent, #4f8fb7); background: var(--company-soft-solid, #edf7ff); outline: none; }
.product-search-results strong { overflow: hidden; color: #102f45; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.product-search-results span, .product-search-results small { color: #64748b; font-size: 9px; font-weight: 800; }
.new-customer-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px; border: 1px dashed #bfdbfe; border-radius: 8px; background: #eff6ff; }
.new-customer-actions button, .inline-action { min-height: 32px; border: 1px solid var(--company-accent, #1d4ed8); border-radius: 7px; padding: 0 10px; background: var(--company-accent, #1d4ed8); color: #fff; font-size: 11px; font-weight: 950; cursor: pointer; }
.inline-action.secondary { border-color: #94a3b8; background: #fff; color: #334155; }
.inline-action.danger { border-color: #fecdd3; background: #fff1f2; color: #be123c; }
.inline-action:disabled { border-color: #cbd5e1; background: #e2e8f0; color: #64748b; cursor: not-allowed; }
.new-customer-actions .primary-add { min-height: 42px; padding: 0 16px; background: #2563eb; border-color: #2563eb; font-size: 13px; }
.new-customer-actions small { color: #1e40af; font-size: 12px; font-weight: 850; }
.new-customer-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 10px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }
.new-customer-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.new-customer-form input { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.new-customer-form .wide { grid-column: 1 / -1; }
.duplicate-warning { display: grid; gap: 4px; padding: 9px; border: 1px solid #f59e0b; border-radius: 7px; background: #fffbeb; color: #92400e; font-size: 12px; }
.duplicate-warning strong { color: #78350f; }
.duplicate-warning span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-snapshot { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.entry-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.customer-snapshot span, .entry-totals span { display: grid; gap: 3px; padding: 9px; border-radius: 7px; background: #fff; color: #64748b; font-size: 11px; font-weight: 900; }
.customer-snapshot strong, .entry-totals strong { color: #0f172a; font-size: 14px; }
.my-order-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.my-orders-list { display: grid; grid-auto-rows: max-content; align-content: start; gap: 8px; max-height: calc(100vh - 240px); overflow-y: auto; overflow-x: hidden; }
.my-order-card { display: block; min-width: 0; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; overflow: hidden; }
.my-order-card summary { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(180px, 2fr) minmax(140px, 1.2fr) minmax(120px, .8fr); gap: 10px; align-items: center; min-height: 54px; padding: 10px 12px; cursor: pointer; list-style: none; }
.my-order-card summary::-webkit-details-marker { display: none; }
.my-order-card summary > * { min-width: 0; }
.my-order-card summary .my-order-no, .my-order-card summary .my-order-customer { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.my-order-card summary .my-order-state { display: flex; min-width: 0; }
.my-order-card summary .my-order-state > * { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.my-order-card summary .my-order-amount { color: #1d4ed8; text-align: right; white-space: nowrap; }
.my-order-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 10px 12px 12px; border-top: 1px solid #e5eaf0; background: #f8fafc; }
.my-order-detail p { display: grid; gap: 3px; margin: 0; padding: 8px; border-radius: 7px; background: #fff; color: #64748b; font-size: 11px; font-weight: 900; }
.my-order-detail p strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.my-order-detail .wide, .my-order-lines { grid-column: 1 / -1; }
.my-order-lines { display: grid; gap: 6px; }
.my-order-lines h3 { margin: 2px 0; color: #1d4ed8; font-size: 12px; }
.my-order-lines article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; padding: 8px; border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; }
.my-order-lines article strong { overflow-wrap: anywhere; }
.my-order-lines article span, .my-order-lines article b { color: #64748b; font-size: 11px; white-space: nowrap; }
.product-price-page { display: grid; gap: 10px; }
.product-price-hero { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 84px; border: 1px solid var(--company-border, #bfdbfe); background: linear-gradient(135deg, var(--company-accent, #2563eb), var(--company-accent-2, #38bdf8)); color: #fff; }
.product-price-hero h1 { margin: 0 0 4px; font-size: 24px; line-height: 1.15; }
.product-price-hero p { margin: 0; color: #e0f2fe; font-size: 12px; font-weight: 850; }
.product-price-toolbar { gap: 8px; }
.product-price-toolbar input { min-width: 260px; flex: 1 1 260px; }
.product-price-toolbar select { min-width: 140px; }
.product-price-toolbar button.active { background: #0f172a; }
.product-price-tabs { display: flex; align-items: center; gap: 8px; padding: 8px; }
.product-price-tabs button { min-height: 38px; border: 1px solid #bfdbfe; border-radius: 8px; padding: 0 16px; background: #eff6ff; color: #1e3a8a; font-weight: 950; cursor: pointer; }
.product-price-tabs button.active { border-color: var(--company-accent, #2563eb); background: var(--company-accent, #2563eb); color: #fff; box-shadow: 0 10px 24px rgba(37, 99, 235, .18); }
.product-price-pdf-grid { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(380px, 1.45fr); gap: 10px; align-items: stretch; }
.product-price-pdf-form { display: grid; align-content: start; gap: 8px; border-top: 4px solid var(--company-accent, #2563eb); }
.product-price-pdf-form .line-toolbar { align-items: start; }
.product-price-pdf-form h2, .product-price-pdf-preview h2 { margin: 0 0 3px; font-size: 14px; }
.product-price-pdf-form p, .product-price-pdf-preview p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.product-price-pdf-form label { display: grid; gap: 5px; color: #475569; font-size: 11px; font-weight: 900; }
.product-price-pdf-form input, .product-price-pdf-form select { width: 100%; min-height: 36px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; }
.product-price-pdf-form input[type="file"] { padding: 8px; min-height: 42px; }
.product-price-pdf-preview { display: grid; grid-template-rows: auto minmax(360px, 1fr); gap: 8px; min-height: 430px; border-top: 4px solid var(--company-accent-2, #38bdf8); background: linear-gradient(180deg, #f0f9ff 0, #fff 90px); }
.product-price-pdf-preview iframe { width: 100%; height: 100%; min-height: 360px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fafc; }
.pdf-preview-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 0; }
.pdf-preview-actions select { max-width: 260px; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.price-qr-panel { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px; border: 1px solid #bfdbfe; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px rgba(37, 99, 235, .08); }
.price-qr-panel img { width: 124px; height: 124px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.price-qr-panel div { display: grid; gap: 4px; min-width: 0; }
.price-qr-panel strong { color: #0f172a; font-size: 14px; }
.price-qr-panel span { color: #334155; font-size: 12px; font-weight: 850; }
.price-qr-panel small { color: #64748b; font-size: 10px; font-weight: 800; overflow-wrap: anywhere; }
.pdf-price-list { display: grid; gap: 7px; max-height: 230px; overflow: auto; padding-right: 2px; }
.pdf-price-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid #e9d5ff; border-radius: 8px; background: rgba(255,255,255,.95); }
.pdf-price-list article div:first-child { display: grid; gap: 2px; min-width: 0; }
.pdf-price-list strong, .pdf-price-list span, .pdf-price-list small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdf-price-list strong { color: #0f172a; font-size: 12px; }
.pdf-price-list span, .pdf-price-list small { color: #64748b; font-size: 10px; font-weight: 850; }
.success-text { color: #166534; font-size: 12px; }
.error-text { color: #be123c; font-size: 12px; }
.product-price-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; align-items: start; }
.price-product-card { display: grid; gap: 9px; min-width: 0; padding: 11px; border: 1px solid #e5eaf0; border-left: 5px solid #18a058; border-radius: 8px; background: #fff; box-shadow: 0 10px 22px rgba(37, 99, 235, .06); }
.price-product-card.warn { border-left-color: #f59e0b; }
.price-product-card.danger { border-left-color: #dc2626; }
.price-product-card header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.price-product-card header div { display: grid; gap: 3px; min-width: 0; }
.price-product-card strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 13px; }
.price-product-card span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 10px; font-weight: 850; }
.price-product-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.price-product-metrics span { display: grid; gap: 3px; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 10px; font-weight: 950; }
.price-product-metrics strong { color: #1d4ed8; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
.product-price-table { overflow: auto; }
.accounting-product-catalog table { width: 100%; min-width: 0; table-layout: fixed; }
.catalogue-workspace { display: grid; gap: 12px; align-items: stretch; min-width: 0; }
.catalogue-workspace.with-entry { grid-template-columns: minmax(220px, 24%) minmax(0, 1fr); }
.catalogue-workspace > * { min-width: 0; }
.catalogue-entry .depot-edit-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.catalogue-entry h3 { font-size: 15px; }
.catalogue-entry label { font-size: 12px; }
.catalogue-entry { margin: 0; padding: 12px; }
.catalogue-entry input, .catalogue-entry select { min-height: 32px; padding: 6px 8px; font-size: 12px; }
.catalogue-workspace > .accounting-product-catalog { margin: 0; }
.catalogue-name-matches { list-style: none; margin: 0; padding: 0; }
.catalogue-name-matches button { width: 100%; text-align: left; padding: 5px 7px; font-size: 11px; white-space: normal; overflow-wrap: anywhere; border-radius: 4px; }
.catalogue-sort { appearance: none; border: 0; padding: 0; margin: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; text-align: inherit; cursor: pointer; width: 100%; }
.catalogue-sort:hover, .catalogue-sort:focus-visible { color: #175c91; text-decoration: underline; }
@media (max-width: 950px) { .catalogue-workspace.with-entry { grid-template-columns: minmax(0, 1fr); } }
.accounting-product-catalog th, .accounting-product-catalog td { padding: 7px 5px; font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
.accounting-product-catalog th:nth-child(1) { width: 7%; }
.accounting-product-catalog th:nth-child(2) { width: 22%; }
.accounting-product-catalog th:nth-child(3) { width: 10%; }
.accounting-product-catalog th:nth-child(4) { width: 7%; }
.accounting-product-catalog th:nth-child(5), .accounting-product-catalog th:nth-child(6) { width: 12%; }
.accounting-product-catalog th:nth-child(7) { width: 10%; }
.accounting-product-catalog th:nth-child(8) { width: 12%; }
.accounting-product-catalog th:nth-child(9) { width: 8%; }
.accounting-product-catalog td small, .accounting-product-catalog td strong { display: block; font-size: 11px; }
.accounting-product-catalog .inline-action { padding: 3px; font-size: 9px; white-space: nowrap; overflow-wrap: normal; }
.product-price-table table { min-width: 980px; table-layout: fixed; }
.product-price-table th, .product-price-table td { padding: 8px 7px; font-size: 11px; white-space: normal; line-height: 1.25; }
.product-price-table th:nth-child(1), .product-price-table td:nth-child(1) { width: 112px; }
.product-price-table th:nth-child(2), .product-price-table td:nth-child(2) { width: 82px; }
.product-price-table th:nth-child(3), .product-price-table td:nth-child(3) { width: 25%; }
.product-price-table th:nth-child(4), .product-price-table td:nth-child(4) { width: 145px; }
.product-price-table th:nth-child(5), .product-price-table td:nth-child(5) { width: 145px; }
.product-price-table th:nth-child(6), .product-price-table td:nth-child(6) { width: 105px; text-align: right; }
.product-price-table th:nth-child(7), .product-price-table td:nth-child(7) { width: 112px; text-align: right; }
.product-price-table th:nth-child(8), .product-price-table td:nth-child(8) { width: 92px; }
.product-price-table td strong { font-size: 11px; overflow-wrap: anywhere; }
.line-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.line-toolbar button, .form-actions button, .entry-line button { min-height: 36px; border: 0; border-radius: 7px; padding: 0 12px; background: var(--company-accent, #1d4ed8); color: #fff; font-weight: 900; cursor: pointer; }
.entry-line-head, .entry-line { display: grid; grid-template-columns: minmax(220px, 1.5fr) 105px 115px 90px 70px 130px 70px; gap: 8px; align-items: center; }
.entry-line-head { color: #64748b; font-size: 11px; font-weight: 950; }
.entry-line strong { text-align: right; }
.discount-limit { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 11px; font-weight: 950; }
.discount-limit.danger { background: #fecdd3; color: #9f1239; }
.discount-warning { margin: 0; padding: 9px; border: 1px solid #f59e0b; border-radius: 7px; background: #fffbeb; color: #92400e; font-size: 12px; font-weight: 900; }
.entry-line button { background: #ffe4e6; color: #be123c; border: 1px solid #fecdd3; }
.entry-line button:disabled { opacity: .45; cursor: not-allowed; }
.entry-line .entry-line-note { grid-column: 1 / -1; min-height: 48px; padding: 8px 10px; resize: vertical; }
.form-actions { display: flex; align-items: center; gap: 12px; justify-content: flex-end; }
.form-actions strong { color: #1d4ed8; }
.stock-card div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.stock-production-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.stock-list-panel, .production-need-panel { max-height: calc(100vh - 230px); min-height: 430px; overflow: auto; }
.stock-list-panel .line-toolbar, .production-need-panel .line-toolbar { position: sticky; top: -14px; z-index: 2; margin: -14px -14px 10px; padding: 14px; background: #fff; border-bottom: 1px solid #e5eaf0; }
.stock-list-panel table, .production-need-panel table { min-width: 0; table-layout: fixed; }
.stock-list-panel th, .stock-list-panel td, .production-need-panel th, .production-need-panel td { padding: 7px 6px; font-size: 10px; white-space: normal; line-height: 1.25; vertical-align: top; }
.stock-list-panel td strong, .production-need-panel td strong { font-size: 10px; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; }
.stock-list-panel td small, .production-need-panel td small { font-size: 9px; line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
.stock-list-panel .badge, .production-need-panel .badge { min-height: 20px; padding: 0 6px; font-size: 9px; white-space: normal; text-align: center; }
.production-recipe-grid { display: grid; grid-template-columns: .75fr 1fr 1.55fr; gap: 12px; align-items: start; }
.production-recipe-groups, .production-recipe-products, .production-recipe-detail { min-height: calc(100vh - 185px); max-height: calc(100vh - 185px); overflow: auto; }
.production-recipe-groups > button, .production-recipe-products > button { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 9px 10px; margin-bottom: 7px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; color: #1f3650; text-align: left; cursor: pointer; }
.production-recipe-groups > button.active, .production-recipe-products > button.active { border-color: #5a9fcf; background: #eaf5fc; box-shadow: inset 3px 0 0 #2f8ac0; }
.production-recipe-groups strong, .production-recipe-products strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.production-recipe-groups span, .production-recipe-products span, .production-recipe-groups small, .production-recipe-products small { color: #64748b; font-size: 10px; }
.production-recipe-products b { color: #0f5f89; font-size: 11px; text-align: right; }
.production-recipe-body { display: grid; gap: 12px; }
.production-recipe-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.production-recipe-form label { display: grid; gap: 5px; color: #486174; font-size: 11px; font-weight: 800; }
.production-recipe-form input, .production-recipe-form textarea { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 9px; font-size: 12px; color: #19324a; background: #fff; }
.production-recipe-form textarea { min-height: 64px; resize: vertical; }
.production-recipe-form .wide { grid-column: 1 / -1; }
.production-recipe-head-form { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.production-template-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.production-template-actions button { min-height: 30px; border: 1px solid #c9ddeb; border-radius: 7px; background: #f4f9fd; color: #1f4f6c; font-size: 11px; font-weight: 900; cursor: pointer; }
.production-flow-table { display: grid; gap: 7px; }
.production-flow-row { display: grid; grid-template-columns: .75fr 1fr 1fr 1.05fr 1.05fr .7fr .85fr 44px; gap: 6px; align-items: stretch; padding: 7px; border: 1px solid #dce8f2; border-radius: 8px; background: #fbfdff; }
.production-flow-row.head { position: sticky; top: -14px; z-index: 2; padding: 7px; background: #eaf5fc; color: #24465d; font-size: 10px; font-weight: 950; }
.production-flow-row label { display: grid; gap: 4px; color: #64748b; font-size: 9px; font-weight: 900; }
.production-flow-row input { width: 100%; min-width: 0; min-height: 26px; border: 1px solid #d7e3ed; border-radius: 6px; padding: 0 6px; font-size: 10px; color: #19324a; background: #fff; }
.production-flow-row button { align-self: center; min-height: 28px; padding: 0 7px; border: 1px solid #fecdd3; border-radius: 6px; background: #fff1f2; color: #be123c; font-size: 10px; font-weight: 900; cursor: pointer; }
.production-flow-row button:disabled { opacity: .45; cursor: not-allowed; }
.production-recipe-result { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.production-recipe-result article { display: grid; gap: 4px; min-height: 58px; padding: 9px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; }
.production-recipe-result span { color: #64748b; font-size: 10px; font-weight: 800; }
.production-recipe-result strong { color: #15324b; font-size: 14px; line-height: 1.15; }
.production-recipe-result article.strong { background: #eaf5fc; border-color: #89bfdf; }
.production-recipe-result .form-actions, .production-recipe-result .small-note { grid-column: 1 / -1; margin: 0; }
.production-daily-grid { display: grid; grid-template-columns: 1.35fr .85fr; gap: 12px; align-items: start; }
.production-daily-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.production-daily-form label { display: grid; gap: 5px; color: #486174; font-size: 11px; font-weight: 850; }
.production-daily-form input, .production-daily-form select, .production-daily-form textarea { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 9px; font-size: 12px; color: #19324a; background: #fff; }
.production-daily-form textarea { min-height: 60px; resize: vertical; }
.production-daily-form .wide { grid-column: span 2; }
.production-movement-preview { display: grid; gap: 8px; }
.production-movement-preview article, .production-run-cards article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding: 10px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; }
.production-movement-preview article.in { border-color: #bbf7d0; background: #f0fdf4; }
.production-movement-preview article.out { border-color: #fed7aa; background: #fff7ed; }
.production-movement-preview span, .production-run-cards span, .production-run-cards small { color: #64748b; font-size: 10px; font-weight: 800; }
.production-movement-preview strong, .production-run-cards strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #15324b; font-size: 12px; }
.production-movement-preview b { color: #1f3650; font-size: 12px; }
.production-run-list { display: grid; gap: 10px; }
.production-run-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.production-run-cards article { grid-template-columns: minmax(0, 1fr); }
.stock-workspace { gap: 9px; }
.stock-workspace > .toolbar { min-height: 54px; padding: 10px 14px; border-left: 4px solid var(--company-accent, #2563eb); }
.stock-workspace > .toolbar > div { display: grid; gap: 2px; }
.stock-workspace > .toolbar h2, .stock-workspace > .toolbar p { margin: 0; }
.stock-workspace > .toolbar p { color: #64748b; font-size: 10px; font-weight: 800; }
.stock-view-tabs { padding: 4px; border: 1px solid #dbe5ee; border-radius: 8px; background: #fff; }
.stock-view-tabs .segmented { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100%; height: auto; padding: 3px; }
.stock-view-tabs .segmented button { min-width: 0; min-height: 32px; padding: 0 7px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.stock-view-tabs > .badge { flex: 0 0 auto; }
.compact-module-view-tabs .segmented { max-width: calc(100% - 92px); overflow-x: auto; overflow-y: hidden; }
.compact-module-view-tabs .segmented button { flex: 0 0 auto; white-space: nowrap; }
.compact-module-view-tabs > .badge { flex: 0 0 auto; }
.production-module-tabs .segmented { display: grid; grid-template-columns: repeat(6, minmax(92px, 1fr)); width: 100%; max-width: calc(100% - 112px); gap: 5px; overflow: visible; background: #f8fafc; }
.production-module-tabs .segmented .production-tab { min-width: 0; min-height: 38px; border: 1px solid var(--production-tab-border); padding: 4px 8px; background: var(--production-tab-soft); color: var(--production-tab-color); line-height: 1.15; white-space: normal; }
.production-module-tabs .segmented .production-tab:hover { filter: brightness(.97); }
.production-module-tabs .segmented .production-tab.active { border-color: var(--production-tab-color); background: var(--production-tab-color); color: #fff; box-shadow: 0 3px 9px color-mix(in srgb, var(--production-tab-color) 28%, transparent); }
.production-tab-cleaning { --production-tab-color: #0f766e; --production-tab-soft: #ccfbf1; --production-tab-border: #99f6e4; }
.production-tab-milling { --production-tab-color: #1d4ed8; --production-tab-soft: #dbeafe; --production-tab-border: #bfdbfe; }
.production-tab-repack { --production-tab-color: #b45309; --production-tab-soft: #fef3c7; --production-tab-border: #fde68a; }
.production-tab-mix { --production-tab-color: #7c3aed; --production-tab-soft: #ede9fe; --production-tab-border: #ddd6fe; }
.production-tab-hulling { --production-tab-color: #be123c; --production-tab-soft: #ffe4e6; --production-tab-border: #fecdd3; }
.production-tab-product_cards { --production-tab-color: #475569; --production-tab-soft: #e2e8f0; --production-tab-border: #cbd5e1; }
.stock-entry-panel { display: grid; gap: 6px; }
.stock-entry-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.local-product-modal { width: min(620px, calc(100vw - 28px)); }
.local-product-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 10px; }
.local-product-form-grid label { display: grid; gap: 4px; color: #486174; font-size: 11px; font-weight: 850; }
.local-product-form-grid input, .local-product-form-grid select, .local-product-form-grid textarea { width: 100%; min-width: 0; min-height: 36px; border: 1px solid #d7e3ed; border-radius: 8px; padding: 7px 9px; background: #fff; color: #19324a; font-size: 12px; }
.local-product-form-grid textarea { min-height: 64px; resize: vertical; }
.local-product-form-grid .wide { grid-column: 1 / -1; }
.supplier-entry-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: end; }
.supplier-entry-row > label { min-width: 0; }
.supplier-card-actions { display: flex; gap: 5px; padding-bottom: 1px; }
.supplier-card-actions .inline-action { min-height: 30px; padding: 4px 8px; white-space: nowrap; }
.supplier-balance-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 9px; border: 1px solid #fed7aa; border-radius: 7px; background: #fff7ed; color: #9a3412; }
.supplier-balance-summary span { font-size: 10px; font-weight: 850; }
.supplier-balance-summary strong { font-size: 13px; }
.supplier-statement-modal { width: min(980px, calc(100vw - 28px)); max-height: min(760px, calc(100vh - 28px)); overflow: auto; }
.supplier-statement-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0; }
.supplier-statement-summary article { display: grid; gap: 3px; padding: 10px; border: 1px solid #d7e3ed; border-radius: 7px; background: #f8fbff; }
.supplier-statement-summary article.balance { border-color: #fed7aa; background: #fff7ed; }
.supplier-statement-summary span { color: #64748b; font-size: 10px; font-weight: 850; }
.supplier-statement-summary strong { color: #17324a; font-size: 15px; }
.supplier-statement-table { display: grid; min-width: 760px; border: 1px solid #dbe4ec; border-radius: 7px; overflow: hidden; }
.supplier-statement-row { display: grid; grid-template-columns: 90px 120px minmax(210px, 1fr) 110px 110px 120px; align-items: center; min-height: 42px; border-top: 1px solid #e5edf3; background: #fff; }
.supplier-statement-row:first-child { border-top: 0; }
.supplier-statement-row.head { min-height: 34px; background: #eaf2f8; color: #24465d; font-size: 10px; font-weight: 900; }
.supplier-statement-row > * { min-width: 0; padding: 7px 8px; font-size: 10px; overflow-wrap: anywhere; }
.supplier-statement-row > b { text-align: right; color: #17324a; }
.supplier-statement-row > div { display: grid; gap: 2px; }
.supplier-statement-row small { color: #64748b; }
.supplier-product-summary { display: grid; gap: 4px; padding: 8px; margin-top: 5px; background: #eff6ff; border-left: 3px solid #6097bd; color: #202a35; }
.supplier-product-summary span { font-size: 12px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cari-product-details { grid-column: 1 / -1; min-width: 0; margin-top: 6px; }
.cari-product-details > summary { cursor: pointer; color: #245477; font-size: 12px; font-weight: 700; padding: 6px 0; }
.cari-product-table { max-width: 100%; overflow-x: auto; }
.cari-product-table table { width: 100%; border-collapse: collapse; font-size: 12px; }
.cari-product-table th { background: #eaf2f8; color: #24465d; }
.cari-product-table th, .cari-product-table td { padding: 7px; border-bottom: 1px solid #dce7ef; text-align: right; white-space: normal; }
.cari-product-table th:first-child, .cari-product-table td:first-child { text-align: left; min-width: 130px; }
.cari-product-table td strong, .cari-product-table td small { display: block; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .stock-entry-head-actions { width: 100%; justify-content: space-between; }
  .local-product-form-grid { grid-template-columns: 1fr; }
  .local-product-form-grid .wide { grid-column: auto; }
  .supplier-entry-row { grid-template-columns: 1fr; }
  .supplier-card-actions { justify-content: flex-start; }
  .supplier-statement-summary { grid-template-columns: 1fr; }
  .supplier-statement-modal { overflow: auto; }
}
.stock-entry-split { display: grid; grid-template-columns: minmax(350px, .72fr) minmax(0, 1.45fr); gap: 8px; align-items: start; }
.stock-entry-left, .stock-entry-right { min-width: 0; display: grid; gap: 6px; }
.stock-entry-card { padding: 7px; border: 1px solid #d7e3ed; border-top: 3px solid var(--company-accent, #2563eb); border-radius: 7px; background: #fbfdff; box-shadow: 0 6px 16px rgba(15, 23, 42, .045); }
.stock-entry-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 6px; }
.stock-entry-form > label { gap: 2px; font-size: 9px; }
.stock-entry-form > label > input, .stock-entry-form > label > select, .stock-entry-form > label > textarea { min-height: 29px; padding: 5px 7px; font-size: 10px; }
.stock-entry-form .wide { grid-column: 1 / -1; }
.stock-entry-form .supplier-field { grid-column: 1 / -1; }
.supplier-suggestion-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; max-height: 86px; overflow: auto; padding: 5px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; }
.supplier-suggestion-list button { min-height: 26px; padding: 4px 6px; border: 1px solid #cfe0ec; border-radius: 7px; background: #fff; color: #24465d; font-size: 10px; font-weight: 850; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.supplier-suggestion-list button:hover { border-color: #7bb7d8; background: #edf7ff; color: #12344d; }
.supplier-suggestion-list small { grid-column: 1 / -1; color: #64748b; font-size: 10px; font-weight: 800; }
.stock-entry-form textarea { min-height: 32px; }
.stock-entry-attachments { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px dashed #b9cfe2; border-radius: 7px; background: #f8fbff; }
.stock-entry-attachments img { width: 52px; height: 52px; object-fit: cover; border: 1px solid #d7e3ed; border-radius: 6px; background: #fff; }
.stock-entry-lines { display: grid; gap: 4px; padding: 5px; border: 1px solid #dbeafe; border-radius: 7px; background: #f8fbff; }
.stock-entry-lines .line-toolbar h2 { font-size: 13px; }
.stock-entry-lines .line-toolbar p { font-size: 10px; }
.stock-entry-line { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(165px, .92fr); gap: 4px 6px; padding: 6px; border: 1px solid #dce8f2; border-radius: 7px; background: #fff; }
.stock-entry-line-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.stock-entry-line strong { color: #15324b; font-size: 11px; }
.stock-entry-line label { margin: 0; font-size: 9px; gap: 3px; }
.stock-entry-line input, .stock-entry-line select { min-height: 30px; padding: 5px 6px; font-size: 10px; }
.stock-entry-line button { align-self: end; min-height: 30px; padding: 4px 7px; font-size: 10px; }
.stock-entry-line-head { grid-column: 1 / -1; }
.stock-entry-line-measure { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.stock-entry-line-measure label:first-child { grid-column: 1 / -1; }
.stock-entry-package-hint { grid-column: 1 / -1; margin: 0; padding: 7px 8px; border: 1px dashed #cbd5e1; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 9px; font-weight: 800; }
.stock-entry-line .product-select-field { grid-column: 1; }
.stock-entry-price-field { grid-column: 1; grid-row: 3; }
.stock-entry-lot-fields { grid-column: 1 / -1; }
.stock-entry-line-note { grid-column: 1 / -1; }
.stock-entry-line-measure { grid-column: 2; grid-row: 2 / span 2; align-content: start; }
.stock-entry-price-summary { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.stock-entry-price-summary article { min-width: 0; padding: 7px 9px; border: 1px solid #cfe0ec; border-radius: 7px; background: #edf7ff; display: grid; gap: 2px; }
.stock-entry-price-summary span { color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.stock-entry-price-summary strong { color: #15324b; font-size: 12px; font-weight: 950; overflow-wrap: anywhere; }
.stock-entry-history { display: grid; gap: 4px; max-height: calc(100vh - 252px); overflow: auto; padding-right: 2px; }
.stock-entry-history-card { display: grid; grid-template-columns: 90px minmax(135px, 1.1fr) minmax(135px, 1fr) 96px; gap: 6px; align-items: center; min-width: 0; padding: 7px 8px; border: 1px solid #dce8f2; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 7px; background: #fff; }
.stock-entry-history-card > div:not(.stock-entry-actions) { display: grid; gap: 2px; min-width: 0; }
.stock-entry-history-card strong, .stock-entry-history-card span, .stock-entry-history-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-entry-history-card strong { color: #15324b; font-size: 11px; }
.stock-entry-history-card span { color: #334155; font-size: 10px; font-weight: 900; }
.stock-entry-history-card small { color: #64748b; font-size: 9px; font-weight: 800; }
.stock-history-product small { color: var(--company-accent-strong, #1d4ed8); }
.stock-entry-history-row { display: grid; grid-template-columns: 108px 76px minmax(140px, 1.25fr) 82px minmax(112px, .9fr) minmax(86px, .75fr) 112px; gap: 7px; align-items: center; padding: 8px; border: 1px solid #dce8f2; border-radius: 8px; background: #fff; }
.stock-entry-history-row.depot-movement-row { grid-template-columns: 112px 82px minmax(120px, .9fr) minmax(180px, 1.3fr) 88px minmax(160px, 1fr) minmax(100px, .8fr) minmax(140px, 1fr); }
.stock-entry-history-row.depot-movement-row.editable, .stock-entry-history-row.depot-movement-row:has(.stock-entry-actions) { grid-template-columns: 112px 82px minmax(120px, .9fr) minmax(180px, 1.3fr) 88px minmax(150px, 1fr) minmax(96px, .75fr) minmax(130px, .9fr) 112px; }
.depot-edit-modal { width: min(760px, calc(100vw - 28px)); max-height: calc(100vh - 40px); overflow: auto; }
.depot-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.depot-edit-grid label { display: grid; gap: 5px; color: #486174; font-size: 11px; font-weight: 850; }
.depot-edit-grid input, .depot-edit-grid select, .depot-edit-grid textarea { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 9px; font-size: 12px; color: #19324a; background: #fff; }
.depot-edit-grid textarea { min-height: 70px; resize: vertical; }
.depot-edit-grid .wide { grid-column: 1 / -1; }
.stock-entry-history-row.head { position: sticky; top: 0; z-index: 2; background: #eaf5fc; color: #24465d; font-size: 10px; font-weight: 950; }
.stock-entry-history-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #15324b; font-size: 11px; }
.stock-entry-history-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #475569; font-size: 10px; font-weight: 850; }
.stock-entry-actions { display: flex; gap: 4px; justify-content: flex-end; }
.stock-entry-actions .inline-action { min-height: 26px; padding: 3px 6px; font-size: 9px; }
.stock-entry-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
.stock-entry-pagination select { min-height: 27px; border: 1px solid #d7e3ed; border-radius: 7px; padding: 3px 22px 3px 6px; background: #fff; color: #24465d; font-size: 9px; font-weight: 850; }
.stock-entry-pagination > span:not(.badge) { min-width: 34px; color: #486174; font-size: 9px; font-weight: 900; text-align: center; }
.stock-entry-pagination .inline-action { width: 27px; min-height: 27px; padding: 2px; font-size: 16px; line-height: 1; }
.stock-status-panel { display: grid; gap: 10px; }
.stock-status-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.stock-status-actions .inline-action { min-height: 30px; padding: 0 9px; white-space: nowrap; }
.stock-status-summary { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.stock-status-summary article { min-width: 0; padding: 10px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; display: grid; gap: 4px; }
.stock-status-summary article.warn { border-color: #f6d68f; background: #fff9e8; }
.stock-status-summary article.danger { border-color: #fecaca; background: #fff1f2; }
.stock-status-summary article.safe { border-color: #b7e4cf; background: #effdf7; }
.stock-status-summary span { color: #64748b; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.stock-status-summary strong { color: #14324a; font-size: 16px; font-weight: 950; overflow-wrap: anywhere; }
.stock-status-summary small { color: #64748b; font-size: 10px; font-weight: 800; }
.stock-status-filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 8px; align-items: end; }
.stock-status-filters label.wide { grid-column: span 2; }
.stock-status-filters label { display: grid; gap: 4px; color: #486174; font-size: 11px; font-weight: 900; }
.stock-status-filters input, .stock-status-filters select { min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 9px; font-size: 12px; color: #19324a; background: #fff; }
.stock-status-filters input:disabled, .stock-status-filters select:disabled { background: #f1f5f9; color: #94a3b8; cursor: not-allowed; }
.stock-status-table { display: grid; gap: 6px; max-height: calc(100vh - 360px); overflow: auto; }
.stock-status-row { display: grid; grid-template-columns: 64px minmax(135px, 1.25fr) minmax(72px,.7fr) minmax(110px,.95fr) minmax(92px,.8fr) repeat(4,minmax(68px,.64fr)) 78px 96px; gap: 5px; align-items: center; padding: 7px; border: 1px solid #dce8f2; border-radius: 8px; background: #fff; }
.stock-status-row.head { position: sticky; top: 0; z-index: 2; background: #eaf5fc; color: #24465d; font-size: 10px; font-weight: 950; }
.stock-status-row.warn { border-color: #f6d68f; background: #fffaf0; }
.stock-status-row.danger { border-color: #fecaca; background: #fff5f5; }
.stock-status-row.safe { border-color: #dce8f2; }
.stock-status-row span, .stock-status-row b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #475569; font-size: 9px; font-weight: 850; }
.stock-status-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #15324b; font-size: 10px; font-weight: 950; }
.stock-status-row .stock-cost-cell { display: grid; gap: 1px; white-space: normal; }
.stock-status-row .stock-cost-cell small { color: #64748b; font-size: 7.5px; line-height: 1.15; }
.stock-status-row .stock-value-cell { color: #17324a; font-weight: 950; text-align: right; }
.stock-ledger-summary { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
.stock-status-product-link { min-width: 0; padding: 0; border: 0; background: transparent; color: #0f5f91; font-size: 10px; font-weight: 950; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.stock-status-product-link:hover, .stock-status-product-link:focus-visible { color: #073f64; text-decoration: underline; outline: none; }
.stock-ledger-backdrop { z-index: 1250; }
.stock-ledger-modal { width: min(1180px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: hidden; display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 10px; }
.stock-ledger-head { border-bottom: 1px solid #dce8f2; padding-bottom: 9px; }
.stock-ledger-head-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.stock-ledger-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.stock-ledger-summary article { min-width: 0; padding: 9px 10px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; display: grid; gap: 3px; }
.stock-ledger-summary article.in { border-color: #b7e4cf; background: #effdf7; }
.stock-ledger-summary article.out { border-color: #fecaca; background: #fff5f5; }
.stock-ledger-summary article.balance { border-color: #a9d2ea; background: #eaf5fc; }
.stock-ledger-summary article.warn { border-color: #f6d68f; background: #fff9e8; }
.stock-ledger-summary article.safe { border-color: #b7e4cf; background: #effdf7; }
.stock-ledger-summary span { color: #64748b; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.stock-ledger-summary strong { color: #14324a; font-size: 14px; font-weight: 950; }
.stock-ledger-summary small { color: #64748b; font-size: 9px; font-weight: 800; }
.stock-ledger-table-wrap { min-height: 0; overflow: auto; border: 1px solid #dce8f2; border-radius: 8px; background: #fff; }
.stock-ledger-row { min-width: 950px; display: grid; grid-template-columns: 92px 105px 110px minmax(140px, 1fr) minmax(170px, 1.2fr) 105px 105px 115px; gap: 7px; align-items: center; padding: 8px 10px; border-bottom: 1px solid #e5edf4; }
.stock-ledger-row.head { position: sticky; top: 0; z-index: 2; background: #eaf5fc; color: #24465d; font-size: 10px; font-weight: 950; }
.stock-ledger-row.opening { background: #f8fbff; }
.stock-ledger-row.body { width: 100%; border-width: 0 0 1px; border-radius: 0; background: #fff; color: #475569; text-align: left; cursor: pointer; }
.stock-ledger-row.body:disabled { opacity: 1; cursor: default; }
.stock-ledger-row.body:not(:disabled):hover { background: #f3f9fd; }
.stock-ledger-row span, .stock-ledger-row strong, .stock-ledger-row b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.stock-ledger-row strong { color: #15324b; font-weight: 950; }
.stock-ledger-row .stock-in { color: #16845b; }
.stock-ledger-row .stock-out { color: #c2413c; }
.stock-row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; align-items: center; }
.stock-row-actions .inline-action { min-width: 0; padding: 5px 6px; font-size: 9px; white-space: nowrap; }
.stock-setting-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.stock-setting-fields label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.stock-setting-fields .wide { grid-column: 1 / -1; }
.stock-setting-fields input, .stock-setting-fields select { width: 100%; min-width: 0; border: 1px solid #cbd5e1; border-radius: 7px; padding: 8px; background: #fff; }
.production-operation-form .production-lot-field { padding: 7px; border: 1px solid #c7d2fe; border-radius: 8px; background: #eef2ff; color: #3730a3; }
.production-operation-form .production-lot-field input { border-color: #a5b4fc; }
.stock-entry-lot-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.recipe-version-modal { width: min(720px, calc(100vw - 28px)); }
.recipe-version-list { display: grid; gap: 7px; max-height: 58vh; overflow: auto; }
.recipe-version-list article { display: grid; grid-template-columns: 54px minmax(0, 1fr) 84px; gap: 9px; align-items: center; padding: 9px; border: 1px solid #dbe4ee; border-radius: 8px; background: #fff; }
.recipe-version-list article div { display: grid; gap: 2px; min-width: 0; }
.recipe-version-list article strong, .recipe-version-list article p, .recipe-version-list article small { margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recipe-version-list article small, .recipe-version-list article span { color: #64748b; font-size: 10px; font-weight: 800; }
.recipe-version-actions { display: grid; gap: 4px; justify-items: end; }
.recipe-version-actions .inline-action { padding: 5px 7px; font-size: 9px; white-space: nowrap; }
.stock-lot-modal { width: min(680px, calc(100vw - 28px)); }
.stock-lot-list { display: grid; gap: 6px; }
.stock-lot-row { display: grid; grid-template-columns: minmax(130px,1fr) 110px 105px 110px; gap: 8px; align-items: center; padding: 8px; border: 1px solid #dbe4ee; border-left: 4px solid #60a5fa; border-radius: 7px; background: #fff; }
.stock-lot-row.warn { border-left-color: #f59e0b; background: #fffbeb; }
.stock-lot-row.danger { border-left-color: #ef4444; background: #fff5f5; }
.stock-lot-row.safe { border-left-color: #22c55e; }
.stock-lot-row.head { border-left-color: #2563eb; background: #eaf5fc; font-size: 10px; font-weight: 950; }
.stock-lot-row span, .stock-lot-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.stock-count-entry-control { display: grid; grid-template-columns: minmax(0,1fr) 82px; gap: 4px; min-width: 0; }
.stock-count-entry-control input, .stock-count-entry-control select { width: 100%; min-width: 0; }
.opening-stock-note { padding: 8px; border: 1px solid #f6d68f; border-radius: 7px; background: #fffaf0; color: #854d0e; }
.stock-adjustment-button { width: 100%; min-height: 27px; padding: 4px 6px; font-size: 9px; }
.stock-adjustment-readonly { color: #94a3b8 !important; font-size: 9px !important; text-align: center; }
.stock-adjustment-success { margin: 0; padding: 8px 10px; border: 1px solid #a7f3d0; border-radius: 7px; background: #ecfdf5; color: #047857; }
.stock-adjustment-modal { width: min(620px, 100%); }
.stock-adjustment-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.stock-adjustment-summary article { min-width: 0; padding: 10px; border: 1px solid #dbe7f0; border-radius: 7px; background: #f8fbff; display: grid; gap: 4px; }
.stock-adjustment-summary article.in { border-color: #a7f3d0; background: #ecfdf5; }
.stock-adjustment-summary article.out { border-color: #fecaca; background: #fff1f2; }
.stock-adjustment-summary span { color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.stock-adjustment-summary strong { color: #15324b; font-size: 15px; font-weight: 950; overflow-wrap: anywhere; }
.stock-adjustment-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.stock-adjustment-fields .wide { grid-column: 1 / -1; }
.stock-adjustment-info { padding: 8px 10px; border-left: 3px solid #60a5fa; background: #eff6ff; color: #31536d !important; }
.stock-movements-panel { display: grid; gap: 10px; }
.product-review-panel { display: grid; gap: 10px; }
.product-review-toolbar { display: grid; grid-template-columns: auto minmax(240px, 1fr) auto; gap: 8px; align-items: center; }
.product-review-toolbar > input { min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 10px; }
.product-review-workspace { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(480px, 1.5fr); gap: 10px; min-height: 460px; }
.product-review-list { display: grid; align-content: start; gap: 6px; max-height: calc(100vh - 300px); overflow: auto; padding-right: 3px; }
.product-review-list > button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 8px; text-align: left; border: 1px solid #d9e5ee; border-left: 4px solid #f59e0b; border-radius: 7px; padding: 9px; background: #fff; color: #19324a; }
.product-review-list > button.active { border-color: var(--company-accent, #2563eb); border-left-color: var(--company-accent, #2563eb); background: #eef7fd; }
.product-review-list > button div { display: grid; gap: 2px; min-width: 0; }
.product-review-list > button strong, .product-review-list > button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-review-list > button > small { grid-column: 1 / -1; color: #64748b; }
.product-review-detail, .product-review-empty { display: grid; align-content: start; gap: 12px; border: 1px solid #d9e5ee; border-radius: 8px; padding: 12px; background: #f8fbfd; }
.product-review-empty { place-content: center; text-align: center; color: #64748b; }
.product-review-title { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.product-review-title div { display: grid; gap: 3px; }
.product-review-title span, .product-review-title p { color: #64748b; font-size: 10px; font-weight: 850; }
.product-review-title h3 { margin: 0; font-size: 17px; }
.product-review-companies { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 7px; border: 0; padding: 0; }
.product-review-companies legend { margin-bottom: 6px; color: #486174; font-size: 11px; font-weight: 950; }
.product-review-companies label { display: flex; align-items: center; gap: 7px; border: 1px solid #d7e3ed; border-radius: 7px; padding: 8px; background: #fff; font-size: 11px; font-weight: 900; }
.product-review-companies label.selected { border-color: var(--company-accent, #2563eb); background: #eaf5fc; }
.product-review-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.product-review-fields label { display: grid; gap: 4px; color: #486174; font-size: 10px; font-weight: 900; }
.product-review-fields label.wide { grid-column: 1 / -1; }
.product-review-fields input, .product-review-fields select, .product-review-fields textarea { min-width: 0; border: 1px solid #d7e3ed; border-radius: 7px; padding: 8px; background: #fff; }
.product-review-registrations { display: grid; gap: 5px; }
.product-review-registrations article { display: grid; grid-template-columns: minmax(0, 1fr) 100px auto; gap: 8px; align-items: center; padding: 7px; border: 1px solid #dbe7f0; border-radius: 7px; background: #fff; }
.stock-movement-ledger { display: grid; gap: 5px; max-height: calc(100vh - 310px); overflow: auto; }
.stock-movement-row { display: grid; grid-template-columns: 82px 128px 88px 96px 68px minmax(155px,1fr) minmax(120px,.78fr) minmax(190px,1.18fr) 82px 82px 104px; gap: 7px; align-items: center; width: 100%; min-width: 1280px; padding: 7px 8px; border: 1px solid #dce8f2; border-left: 4px solid #60a5fa; border-radius: 7px; background: #fff; box-sizing: border-box; }
.stock-movement-row.out { border-left-color: #f87171; }
.stock-movement-row.head { position: sticky; top: 0; z-index: 2; border-left-color: var(--company-accent, #2563eb); background: #eaf5fc; color: #24465d; font-size: 9px; font-weight: 950; }
.stock-movement-row.head b { text-align: left; }
.stock-movement-row.head b:nth-child(9), .stock-movement-row.head b:nth-child(10) { text-align: right; }
.stock-movement-row span, .stock-movement-row strong, .stock-movement-row b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.stock-movement-row strong { color: #15324b; font-weight: 950; }
.stock-movement-row span { color: #52697b; font-weight: 800; }
.stock-movement-row b { text-align: right; }
.stock-movement-row .stock-in { color: #047857; }
.stock-movement-row .stock-out { color: #be123c; }
.stock-movement-row .stock-movement-party { color: #334155; font-weight: 900; text-align: left; }
.stock-movement-product-link { min-width: 0; padding: 0; border: 0; background: transparent; color: #0f4f7a; font: inherit; font-weight: 950; text-align: left; text-decoration: underline; text-decoration-color: #93c5fd; text-underline-offset: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.stock-movement-product-link:hover, .stock-movement-product-link:focus-visible { color: #0b6aa2; text-decoration-color: currentColor; outline: none; }
.stock-movement-detail-modal { width: min(880px, 96vw); }
.stock-movement-detail-body { min-height: 0; overflow: auto; padding: 14px; display: grid; gap: 12px; }
.stock-movement-detail-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.stock-movement-detail-kpis article { min-width: 0; padding: 10px 12px; border: 1px solid #cfe2ef; border-radius: 7px; background: #fff; }
.stock-movement-detail-kpis article.in { border-left: 4px solid #10b981; background: #effcf7; }
.stock-movement-detail-kpis article.out { border-left: 4px solid #ef4444; background: #fff5f5; }
.stock-movement-detail-kpis span, .stock-movement-detail-grid span { display: block; margin-bottom: 3px; color: #60788a; font-size: 10px; font-weight: 900; }
.stock-movement-detail-kpis strong { display: block; color: #16364d; font-size: 14px; overflow-wrap: anywhere; }
.stock-movement-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d9e7f0; border-radius: 7px; overflow: hidden; background: #fff; }
.stock-movement-detail-grid article { min-width: 0; padding: 9px 11px; border-right: 1px solid #e4edf4; border-bottom: 1px solid #e4edf4; }
.stock-movement-detail-grid strong { display: block; color: #18384f; font-size: 12px; overflow-wrap: anywhere; }
.stock-movement-detail-grid.unified { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top-width: 4px; }
.stock-movement-detail-grid.unified.in { border-top-color: #10b981; }
.stock-movement-detail-grid.unified.out { border-top-color: #ef4444; }
.stock-movement-detail-grid.unified article { min-height: 62px; display: flex; flex-direction: column; justify-content: center; }
.stock-movement-detail-grid.unified span { margin-bottom: 5px; }
.stock-movement-detail-grid.unified strong { line-height: 1.35; }
.stock-movement-source-box, .stock-movement-detail-note { padding: 11px 12px; border: 1px solid #d9e7f0; border-radius: 7px; background: #fff; }
.stock-movement-source-box h3, .stock-movement-detail-note h3 { margin: 0 0 8px; color: #18384f; font-size: 13px; }
.stock-movement-source-box { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.stock-movement-source-box h3 { grid-column: 1 / -1; }
.stock-movement-source-box p { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 8px; margin: 0; padding: 6px 0; border-bottom: 1px solid #edf3f7; font-size: 11px; }
.stock-movement-source-box span { color: #60788a; font-weight: 850; }
.stock-movement-source-box b { color: #18384f; overflow-wrap: anywhere; }
.stock-movement-detail-note p { margin: 0; color: #456173; font-size: 11px; line-height: 1.55; }
@media (max-width: 700px) {
  .stock-movement-detail-kpis, .stock-movement-detail-grid, .stock-movement-detail-grid.unified, .stock-movement-source-box { grid-template-columns: 1fr; }
  .stock-movement-source-box h3 { grid-column: auto; }
}
@media (min-width: 701px) and (max-width: 980px) {
  .stock-movement-detail-grid.unified { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.stock-group-assignment-panel { display: grid; gap: 10px; }
.stock-group-legend { display: grid; align-content: center; gap: 2px; padding: 6px 9px; border: 1px solid #d7e3ed; border-radius: 8px; background: #f8fbff; }
.stock-group-legend strong { color: #24465d; font-size: 10px; }
.stock-group-legend span { color: #64748b; font-size: 10px; font-weight: 800; }
.stock-group-assignment-list { display: grid; gap: 5px; max-height: calc(100vh - 320px); overflow: auto; }
.stock-group-assignment-row { display: grid; grid-template-columns: 92px minmax(210px,1.4fr) minmax(130px,.85fr) minmax(210px,1.1fr) minmax(120px,.8fr); gap: 7px; align-items: center; min-width: 850px; padding: 7px 8px; border: 1px solid #dce8f2; border-radius: 7px; background: #fff; }
.stock-group-assignment-row.head { position: sticky; top: 0; z-index: 2; background: #eaf5fc; color: #24465d; font-size: 9px; font-weight: 950; }
.stock-group-assignment-row span, .stock-group-assignment-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.stock-group-assignment-row strong { color: #15324b; font-weight: 950; }
.stock-group-assignment-row span { color: #52697b; font-weight: 800; }
.stock-group-assignment-row select { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 7px; padding: 7px 8px; background: #fff; color: #19324a; font-size: 10px; font-weight: 850; }
.stock-invoice-control-panel { display: grid; gap: 10px; }
.stock-invoice-control-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: 10px; min-height: 0; }
.stock-invoice-control-grid > section { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 8px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; }
.stock-invoice-entry-list, .stock-mikro-purchase-list { display: grid; gap: 5px; max-height: calc(100vh - 360px); overflow: auto; }
.stock-invoice-entry-list article { display: grid; grid-template-columns: minmax(0,1fr) 90px auto; gap: 5px 8px; align-items: center; padding: 8px; border: 1px solid #dce8f2; border-left: 4px solid #60a5fa; border-radius: 7px; background: #fff; }
.stock-invoice-entry-list article.warn { border-left-color: #f59e0b; }
.stock-invoice-entry-list article.danger { border-left-color: #ef4444; }
.stock-invoice-entry-list article.safe { border-left-color: #10b981; }
.stock-invoice-entry-list article > div { display: grid; min-width: 0; }
.stock-invoice-entry-list strong, .stock-invoice-entry-list span, .stock-invoice-entry-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-invoice-entry-list strong { color: #15324b; font-size: 10px; }
.stock-invoice-entry-list span, .stock-invoice-entry-list small { color: #64748b; font-size: 9px; font-weight: 800; }
.stock-invoice-entry-list article > b { color: #24465d; font-size: 10px; text-align: right; }
.stock-invoice-entry-list article > small { grid-column: 1 / -1; }
.stock-mikro-purchase-list article { display: grid; grid-template-columns: 76px minmax(150px,1.2fr) minmax(130px,1fr) 76px 80px 96px minmax(118px,.8fr); gap: 6px; align-items: center; min-width: 840px; padding: 7px 8px; border: 1px solid #dce8f2; border-radius: 7px; background: #fff; }
.stock-mikro-purchase-list article.safe { border-color: #9fd8bd; background: #f3fbf7; }
.stock-mikro-purchase-list article.danger { border-color: #efb2b2; background: #fff6f6; }
.stock-mikro-import-action { display: grid; gap: 4px; align-items: center; }
.stock-mikro-import-action .badge { white-space: normal; line-height: 1.2; }
.stock-mikro-import-action .inline-action { width: 100%; padding: 5px 7px; font-size: 9px; }
.stock-mikro-purchase-list span, .stock-mikro-purchase-list strong, .stock-mikro-purchase-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.stock-mikro-purchase-list strong { color: #15324b; font-weight: 950; }
.stock-mikro-purchase-list span { color: #64748b; font-weight: 800; }
.stock-mikro-purchase-list b { color: #24465d; text-align: right; }

@media (max-width: 980px) {
  .stock-entry-split { grid-template-columns: 1fr; }
  .stock-entry-history { max-height: 480px; }
  .stock-view-tabs { align-items: stretch; flex-direction: column; }
  .stock-view-tabs .segmented { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stock-status-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-status-panel > .line-toolbar { align-items: stretch; }
  .stock-status-actions { justify-content: stretch; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stock-status-actions .badge { grid-column: 1 / -1; justify-self: start; }
  .stock-status-actions .inline-action { width: 100%; }
  .stock-status-filters { grid-template-columns: 1fr; }
  .product-review-toolbar, .product-review-workspace { grid-template-columns: 1fr; }
  .product-review-list { max-height: 280px; }
  .product-review-companies { grid-template-columns: 1fr; }
  .stock-status-table { max-height: none; }
  .stock-status-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .stock-status-row.head { display: none; }
  .stock-ledger-modal { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
  .stock-ledger-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-adjustment-summary, .stock-adjustment-fields { grid-template-columns: 1fr; }
  .stock-adjustment-fields .wide { grid-column: auto; }
  .recipe-workspace-split { grid-template-columns: 1fr; }
  .recipe-saved-inline-list { max-height: 460px; }
  .stock-invoice-control-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .compact-module-view-tabs .segmented { max-width: 100%; }
  .production-module-tabs .segmented { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 100%; overflow: visible; }
  .stock-view-tabs .segmented { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .stock-view-tabs .segmented button { width: 100%; min-height: 40px; white-space: normal; }
  .stock-entry-form, .stock-entry-line, .stock-entry-line-measure, .stock-entry-price-summary { grid-template-columns: 1fr; }
  .stock-entry-form .wide, .stock-entry-form .supplier-field, .stock-entry-line-measure label:first-child { grid-column: auto; }
  .stock-entry-line .product-select-field, .stock-entry-line-note, .stock-entry-line-measure { grid-column: 1; grid-row: auto; }
  .stock-entry-history-card { grid-template-columns: minmax(0, 1fr) auto; }
  .stock-entry-history-card .stock-history-product, .stock-entry-history-card .stock-history-party { grid-column: 1; }
  .stock-entry-history-card .stock-entry-actions { grid-column: 2; grid-row: 1 / span 3; flex-direction: column; }
}
.production-count-grid { display: grid; grid-template-columns: 1.45fr .75fr; gap: 12px; align-items: start; }
.production-count-form { display: grid; grid-template-columns: 160px 160px minmax(220px, 1fr) minmax(220px, 1fr) auto; gap: 10px; align-items: end; margin-bottom: 10px; }
.production-count-form label { display: grid; gap: 5px; color: #486174; font-size: 11px; font-weight: 850; }
.production-count-form input { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 9px; font-size: 12px; color: #19324a; background: #fff; }
.production-count-form .wide { grid-column: auto; }
.stock-count-table { display: grid; gap: 6px; max-height: calc(100vh - 360px); overflow: auto; }
.stock-count-row { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(100px, .8fr) 105px 115px 95px; gap: 8px; align-items: center; padding: 7px 8px; border: 1px solid #dce8f2; border-radius: 8px; background: #fbfdff; }
.stock-count-row.head { position: sticky; top: 0; z-index: 2; background: #eaf5fc; color: #24465d; font-size: 10px; font-weight: 950; }
.stock-count-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; color: #15324b; }
.stock-count-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 10px; font-weight: 800; }
.stock-count-row b, .stock-count-row em { color: #1f3650; font-size: 11px; font-style: normal; text-align: right; }
.stock-count-row.plus em { color: #15803d; }
.stock-count-row.minus em { color: #be123c; }
.stock-count-row input { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 6px; padding: 6px 7px; font-size: 11px; text-align: right; }
.stock-count-cards { display: grid; gap: 8px; }
.stock-count-cards article { display: grid; gap: 4px; padding: 10px; border: 1px solid #dce8f2; border-radius: 8px; background: #f8fbff; }
.stock-count-cards strong { color: #15324b; font-size: 12px; }
.stock-count-cards span, .stock-count-cards small { color: #64748b; font-size: 10px; font-weight: 800; }
.stock-count-edit-modal { width: min(980px, 96vw); max-height: 90vh; grid-template-rows: auto auto auto minmax(180px, 1fr) auto; }
.stock-count-edit-fields { display: grid; grid-template-columns: 180px 180px minmax(260px, 1fr); gap: 10px; }
.stock-count-edit-fields .wide { min-width: 0; }
.stock-count-edit-add { max-width: 520px; }
.stock-count-edit-lines { min-height: 180px; overflow: auto; display: grid; align-content: start; gap: 5px; padding-right: 3px; }
.stock-count-edit-line { display: grid; grid-template-columns: minmax(220px, 1.5fr) 145px 135px 135px 72px; gap: 8px; align-items: center; padding: 7px 8px; border: 1px solid #dce8f2; border-radius: 7px; background: #f8fbff; }
.stock-count-edit-line.head { position: sticky; top: 0; z-index: 2; background: #dbeafe; color: #24465d; font-size: 10px; font-weight: 950; }
.stock-count-edit-line > div { min-width: 0; display: grid; gap: 2px; }
.stock-count-edit-line strong, .stock-count-edit-line small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-count-edit-line strong { color: #15324b; font-size: 11px; }
.stock-count-edit-line small, .stock-count-edit-line span { color: #64748b; font-size: 10px; font-weight: 800; }
.stock-count-edit-line input { min-width: 0; padding: 7px 8px; text-align: right; }
.stock-count-edit-line b { color: #334155; font-size: 11px; text-align: right; }
.stock-count-edit-line b.positive { color: #15803d; }
.stock-count-edit-line b.negative { color: #be123c; }
.stock-count-panel { display: grid; gap: 10px; }
.stock-count-layout { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr); }
.stock-count-main, .stock-count-side { min-width: 0; display: grid; gap: 8px; align-content: start; }
.stock-count-clean-form { grid-template-columns: 150px 150px 140px minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 8px; margin-bottom: 0; }
.stock-count-clean-form .wide { grid-column: auto; }
.stock-count-clean-form select { width: 100%; min-width: 0; border: 1px solid #d7e3ed; border-radius: 8px; padding: 8px 9px; font-size: 12px; color: #19324a; background: #fff; }
.stock-count-clean-row { grid-template-columns: 78px minmax(190px, 1.45fr) minmax(120px, .9fr) 105px 120px 92px; }
.stock-count-clean-row span, .stock-count-clean-row strong, .stock-count-clean-row b, .stock-count-clean-row em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-count-side .stock-count-cards { max-height: calc(100vh - 390px); overflow: auto; padding-right: 2px; }
.stock-table { width: 100%; }
.stock-table th:nth-child(1), .stock-table td:nth-child(1) { width: 30%; }
.stock-table th:nth-child(2), .stock-table td:nth-child(2) { width: 13%; }
.stock-table th:nth-child(3), .stock-table td:nth-child(3),
.stock-table th:nth-child(4), .stock-table td:nth-child(4),
.stock-table th:nth-child(5), .stock-table td:nth-child(5),
.stock-table th:nth-child(6), .stock-table td:nth-child(6) { width: 11%; }
.stock-table th:nth-child(7), .stock-table td:nth-child(7) { width: 13%; }
.stock-table td:nth-child(n+3), .stock-table th:nth-child(n+3) { text-align: right; }
.stock-table td:last-child, .stock-table th:last-child { text-align: left; }
.production-need-table { width: 100%; }
.production-need-table th:nth-child(1), .production-need-table td:nth-child(1) { width: 34%; }
.production-need-table th:nth-child(2), .production-need-table td:nth-child(2),
.production-need-table th:nth-child(3), .production-need-table td:nth-child(3),
.production-need-table th:nth-child(4), .production-need-table td:nth-child(4),
.production-need-table th:nth-child(5), .production-need-table td:nth-child(5),
.production-need-table th:nth-child(6), .production-need-table td:nth-child(6) { width: 11%; }
.production-need-table th:nth-child(7), .production-need-table td:nth-child(7) { width: 12%; }
.production-need-table td:nth-child(n+2), .production-need-table th:nth-child(n+2) { text-align: right; }
.production-need-table td:last-child, .production-need-table th:last-child { text-align: left; }
.shipment-card strong { font-size: 16px; }
.approval-page { display: grid; gap: 12px; }
.approval-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: end; }
.approval-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.approval-form input, .approval-form select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.approval-form .wide { grid-column: span 4; }
.advance-deduction-preview { display: grid; align-content: center; gap: 3px; min-height: 58px; padding: 7px 10px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; }
.advance-deduction-preview span { color: #64748b; font-size: 9px; font-weight: 900; }
.advance-deduction-preview strong { color: #1e3a8a; font-size: 13px; text-align: right; }
.advance-open-warning { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 8px 10px; border: 1px solid #fecaca; border-left: 4px solid #dc2626; border-radius: 7px; background: #fff1f2; }
.advance-open-warning strong { color: #991b1b; font-size: 11px; }
.advance-open-warning span { color: #7f1d1d; font-size: 10px; }
.advance-open-warning label { grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; color: #7f1d1d; font-size: 10px; }
.advance-open-warning label input { width: 16px; min-height: 16px; margin: 0; }
.request-intro-panel { border-left: 5px solid #2563eb; }
.request-intro-panel.intro-only { border-left-color: #1d4ed8; }
.request-intro-panel .line-toolbar h2, .request-intro-panel .line-toolbar p { margin: 0; }
.request-intro-panel .line-toolbar p { color: #64748b; font-size: 12px; }
.customer-intro-form.tabbed-intro-form { align-items: start; }
.intro-tabs { width: 100%; max-width: 100%; overflow-x: auto; justify-content: flex-start; }
.intro-tabs button { white-space: nowrap; }
.approval-list table, .approval-decision-panel table { min-width: 1180px; }
.approval-list td:first-child, .approval-decision-panel td:first-child { min-width: 220px; white-space: normal; }
.approval-list td:first-child strong, .approval-list td:first-child small, .approval-decision-panel td:first-child strong, .approval-decision-panel td:first-child small { display: block; overflow-wrap: anywhere; }
.approval-list td:first-child small, .approval-decision-panel td:first-child small { margin-top: 3px; color: #64748b; font-size: 11px; font-weight: 850; }
.approval-note { min-width: 160px; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; }
.approval-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.request-tower-page { display: grid; gap: 12px; }
.request-tower-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.request-type-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.request-type-strip button { display: grid; gap: 3px; min-height: 58px; border: 1px solid #bfdbfe; border-radius: 8px; padding: 8px; background: #fff; color: #1d4ed8; text-align: left; cursor: pointer; }
.request-type-strip button.active { border-color: #2563eb; background: #eff6ff; }
.request-type-strip span { font-size: 10px; font-weight: 950; }
.request-type-strip strong { color: #0f172a; font-size: 17px; }
.request-type-strip small { color: #64748b; font-size: 10px; font-weight: 850; }
.request-tower-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 10px; align-items: start; }
.request-card { display: grid; gap: 9px; min-width: 0; border-top: 4px solid #2563eb; }
.request-card.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 80px); }
.request-card.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 80px); }
.request-card.purple { border-top-color: #8b5cf6; background: linear-gradient(180deg, #faf5ff 0, #fff 80px); }
.request-card.danger { border-top-color: #dc2626; background: linear-gradient(180deg, #fff1f2 0, #fff 80px); }
.request-card header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.request-card header strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 14px; }
.request-card header span { color: #64748b; font-size: 11px; font-weight: 850; }
.request-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.request-flow span { min-width: 0; min-height: 26px; display: grid; place-items: center; border: 1px solid #cbd5e1; border-radius: 7px; background: #f8fafc; color: #64748b; font-size: 10px; font-weight: 950; text-align: center; }
.request-flow span.done { border-color: #93c5fd; background: #dbeafe; color: #1e40af; }
.request-card-info { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.request-card-info span { display: grid; gap: 3px; min-width: 0; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; color: #64748b; font-size: 10px; font-weight: 950; }
.request-card-info strong { color: #0f172a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.advance-recovery-card { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding: 8px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; }
.advance-recovery-card div { display: grid; gap: 3px; min-width: 0; }
.advance-recovery-card span { color: #64748b; font-size: 9px; font-weight: 900; }
.advance-recovery-card strong { color: #1e3a8a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-history { display: grid; gap: 5px; max-height: 116px; overflow: auto; }
.request-history p { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 4px 7px; margin: 0; padding: 6px; border: 1px solid #e5eaf0; border-radius: 7px; background: rgba(255,255,255,.8); font-size: 10px; }
.request-history strong { color: #1d4ed8; }
.request-history span { min-width: 0; color: #334155; overflow-wrap: anywhere; }
.request-history small { grid-column: 2; color: #64748b; }
.request-card footer { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; border-top: 1px solid #e5eaf0; padding-top: 8px; }
.request-card footer input { flex: 1 1 160px; min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; }
.request-card footer .safe-action { border-color: #16a34a; background: #16a34a; color: #fff; }
.request-card footer .safe-action:hover { background: #15803d; }
.request-tower-list-panel { display: grid; gap: 0; padding: 0; overflow: hidden; }
.request-tower-list-head, .request-tower-list-row { display: grid; grid-template-columns: minmax(230px, 1.65fr) minmax(145px, .9fr) minmax(140px, .85fr) 120px 100px 130px; gap: 10px; align-items: center; }
.request-tower-list-head { min-height: 34px; padding: 0 12px; border-bottom: 1px solid #cbd5e1; background: #f1f5f9; color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.request-tower-list { display: grid; max-height: min(560px, calc(100vh - 350px)); overflow: auto; }
.request-tower-list-row { position: relative; width: 100%; min-height: 52px; border: 0; border-bottom: 1px solid #e5eaf0; border-left: 4px solid #2563eb; border-radius: 0; padding: 7px 12px 7px 8px; background: #fff; color: #334155; text-align: left; cursor: pointer; }
.request-tower-list-row:hover, .request-tower-list-row:focus-visible { background: #eff6ff; outline: none; }
.request-tower-list-row.warn { border-left-color: #f59e0b; }
.request-tower-list-row.safe { border-left-color: #16a34a; }
.request-tower-list-row.purple { border-left-color: #8b5cf6; }
.request-tower-list-row.danger { border-left-color: #dc2626; }
.request-tower-list-row > span { display: grid; gap: 2px; min-width: 0; font-size: 10px; font-weight: 850; }
.request-tower-list-row strong, .request-tower-list-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-tower-list-row strong { color: #0f172a; font-size: 11px; }
.request-tower-list-row small { color: #64748b; font-size: 9px; }
.request-tower-list-row .request-list-title strong { color: #17324d; font-size: 12px; }
.request-tower-list-row .request-list-amount { color: #0f172a; font-size: 11px; font-weight: 950; text-align: right; }
.request-detail-backdrop { z-index: 180; }
.request-detail-modal { display: grid; gap: 10px; width: min(860px, 100%); max-height: min(760px, calc(100vh - 36px)); overflow: auto; border-top: 5px solid #2563eb; }
.request-detail-modal.warn { border-top-color: #f59e0b; }
.request-detail-modal.safe { border-top-color: #16a34a; }
.request-detail-modal.purple { border-top-color: #8b5cf6; }
.request-detail-modal.danger { border-top-color: #dc2626; }
.request-detail-head { align-items: start; }
.request-detail-head h2 { margin: 0 0 3px; color: #0f172a; font-size: 18px; }
.request-detail-head p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.request-detail-head-actions { display: flex; align-items: center; gap: 6px; }
.request-detail-description { display: grid; gap: 5px; padding: 9px; border: 1px solid #dbe4ee; border-radius: 7px; background: #f8fafc; }
.request-detail-description span { color: #64748b; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.request-detail-description p { margin: 0; color: #334155; font-size: 11px; font-weight: 800; line-height: 1.45; white-space: pre-wrap; }
.request-detail-history-section { display: grid; gap: 6px; min-height: 0; }
.request-detail-history-section h3 { margin: 0; font-size: 13px; }
.request-detail-modal .request-history { max-height: 210px; }
.request-detail-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; padding-top: 9px; border-top: 1px solid #e5eaf0; }
.request-detail-actions input { flex: 1 1 220px; min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; }
.request-detail-actions .advance-recovery-input { flex: 0 1 150px; }
.request-detail-actions .safe-action { border-color: #16a34a; background: #16a34a; color: #fff; }
@media (max-width: 900px) {
  .request-tower-list-head { display: none; }
  .request-tower-list { max-height: none; overflow: visible; }
  .request-tower-list-row { grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; min-height: 78px; }
  .request-tower-list-row > span:nth-child(2), .request-tower-list-row > span:nth-child(3) { grid-column: 1; }
  .request-tower-list-row > span:nth-child(4), .request-tower-list-row > span:nth-child(5), .request-tower-list-row > span:nth-child(6) { grid-column: 2; text-align: right; }
  .request-tower-list-row > span:nth-child(4) { grid-row: 1; }
  .request-tower-list-row > span:nth-child(5) { grid-row: 2; }
  .request-tower-list-row > span:nth-child(6) { grid-row: 3; }
  .request-detail-head, .request-detail-head-actions { align-items: stretch; flex-direction: column; }
}
.payment-page { display: grid; gap: 10px; }
.payment-page > .toolbar { display: grid; grid-template-columns: auto minmax(140px, 1fr) 104px 154px minmax(170px, 1.15fr) 132px auto auto; gap: 6px; padding: 10px; }
.payment-page > .toolbar h2 { margin: 0; font-size: 15px; white-space: nowrap; }
.payment-page > .toolbar input, .payment-page > .toolbar select { width: 100%; min-width: 0; min-height: 34px; padding: 0 7px; font-size: 10px; font-weight: 850; }
.payment-page > .toolbar button { min-height: 30px; padding: 0 8px; font-size: 10px; }
.payment-page > .metric-grid { gap: 7px; }
.payment-page > .metric-grid .metric { min-height: 72px; padding: 9px; }
.payment-page > .metric-grid .metric span { font-size: 9px; }
.payment-page > .metric-grid .metric strong { font-size: 14px; line-height: 1.15; }
.payment-form { display: grid; grid-template-columns: minmax(220px, 1.4fr) 150px 145px 145px 150px minmax(220px, 1.1fr) auto; gap: 10px; align-items: end; }
.payment-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.payment-form input, .payment-form select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.payment-notice-page { display: grid; gap: 12px; }
.payment-notice-command-grid { display: grid; grid-template-columns: minmax(220px, 260px) minmax(390px, .85fr) minmax(520px, 1.15fr); gap: 8px; align-items: stretch; overflow-x: auto; padding-bottom: 4px; }
.payment-notice-entry-panel { display: grid; align-content: start; gap: 8px; height: 460px; min-height: 460px; max-height: 460px; overflow: hidden; padding: 10px; }
.payment-notice-entry-panel .line-toolbar { align-items: start; }
.payment-notice-entry-panel .line-toolbar h2 { margin: 0 0 2px; font-size: 13px; }
.payment-notice-entry-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.payment-notice-dashboard-grid { display: grid; grid-template-columns: minmax(112px, .7fr) repeat(2, minmax(130px, 1fr)); gap: 8px; align-items: stretch; height: 460px; min-height: 460px; max-height: 460px; }
.payment-notice-task-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 6px; min-height: 0; padding: 8px; border-top: 4px solid var(--company-accent, #2563eb); overflow: hidden; }
.payment-notice-task-panel.info { border-top-color: var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 78px); }
.payment-notice-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 78px); }
.payment-notice-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 78px); }
.payment-notice-task-panel .line-toolbar { align-items: start; gap: 6px; }
.payment-notice-task-panel .line-toolbar h2 { margin: 0 0 2px; font-size: 12px; line-height: 1.2; }
.payment-notice-task-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.payment-notice-mini-kpis { display: grid; grid-template-columns: 1fr; gap: 6px; }
.payment-notice-mini-kpis span { display: grid; gap: 2px; padding: 6px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; color: #64748b; font-size: 10px; font-weight: 950; }
.payment-notice-mini-kpis strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.payment-notice-task-list { max-height: 370px; }
.payment-notice-task-list article { padding: 6px 7px; gap: 2px; }
.payment-notice-task-list strong { font-size: 11px; }
.payment-notice-task-list span, .payment-notice-task-list b { font-size: 10px; }
.payment-notice-task-list small { font-size: 9px; line-height: 1.2; }
.payment-notice-form { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(220px, 1.4fr) 120px 135px 140px 130px minmax(240px, 1.5fr) auto; gap: 10px; align-items: end; }
.payment-notice-entry-panel .payment-notice-form { grid-template-columns: 1fr; gap: 6px; overflow: auto; padding-right: 2px; }
.payment-notice-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.payment-notice-form input, .payment-notice-form select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.payment-notice-entry-panel .payment-notice-form label { gap: 2px; font-size: 10px; line-height: 1.2; }
.payment-notice-entry-panel .payment-notice-form input, .payment-notice-entry-panel .payment-notice-form select { min-height: 30px; border-radius: 6px; padding: 0 7px; font-size: 11px; }
.payment-notice-entry-panel .form-actions button { min-height: 30px; border-radius: 6px; font-size: 11px; }
.payment-notice-form .wide { min-width: 0; }
.payment-notice-entry-panel .payment-notice-form .wide { grid-column: 1 / -1; }
.payment-notice-list table { min-width: 1180px; }
.payment-notice-list td:nth-child(6) { text-align: right; font-weight: 950; color: #1d4ed8; }
.payment-notice-history-panel { height: 460px; min-height: 460px; max-height: 460px; overflow: auto; padding: 10px; }
.payment-notice-history-head { position: sticky; top: -10px; z-index: 4; margin: -10px -10px 8px; padding: 10px; border-bottom: 1px solid #e5eaf0; background: #fff; }
.payment-notice-history-head h2 { margin: 0 0 2px; font-size: 13px; }
.payment-notice-history-head p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.payment-notice-filter-strip { display: grid; grid-template-columns: minmax(150px, 1.4fr) minmax(120px, .9fr) minmax(120px, .9fr); gap: 6px; min-width: min(100%, 430px); }
.payment-notice-filter-strip input, .payment-notice-filter-strip select { width: 100%; min-height: 30px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.payment-notice-history-panel table { min-width: 760px; table-layout: fixed; }
.payment-notice-history-panel th, .payment-notice-history-panel td { padding: 5px 3px; font-size: 9px; line-height: 1.15; white-space: normal; vertical-align: top; }
.payment-notice-history-panel th:nth-child(1), .payment-notice-history-panel td:nth-child(1) { width: 66px; }
.payment-notice-history-panel th:nth-child(2), .payment-notice-history-panel td:nth-child(2) { width: 76px; }
.payment-notice-history-panel th:nth-child(3), .payment-notice-history-panel td:nth-child(3) { width: 120px; }
.payment-notice-history-panel th:nth-child(4), .payment-notice-history-panel td:nth-child(4) { width: 56px; }
.payment-notice-history-panel th:nth-child(5), .payment-notice-history-panel td:nth-child(5) { width: 58px; }
.payment-notice-history-panel th:nth-child(6), .payment-notice-history-panel td:nth-child(6) { width: 74px; }
.payment-notice-history-panel th:nth-child(7), .payment-notice-history-panel td:nth-child(7) { width: 82px; }
.payment-notice-history-panel th:nth-child(8), .payment-notice-history-panel td:nth-child(8) { width: 58px; }
.payment-notice-history-panel th:nth-child(9), .payment-notice-history-panel td:nth-child(9) { width: 92px; }
.payment-notice-history-panel th:nth-child(10), .payment-notice-history-panel td:nth-child(10) { width: 78px; }
.payment-notice-history-panel .badge { min-height: 18px; padding: 0 4px; font-size: 8px; white-space: normal; text-align: center; }
.payment-notice-history-panel .inline-action { min-height: 21px; padding: 0 5px; font-size: 8px; }
.visit-page { display: grid; gap: 12px; }
.visit-entry-panel { display: grid; gap: 12px; }
.visit-entry-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 12px; font-weight: 850; }
.visit-form { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.45fr) 135px minmax(160px, 1fr) 135px minmax(240px, 1.6fr); gap: 10px; align-items: end; }
.visit-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.visit-form input, .visit-form select, .visit-form textarea { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; color: #0f172a; }
.visit-form textarea { min-height: 82px; padding: 9px 10px; resize: vertical; }
.visit-form .wide { grid-column: span 2; }
.visit-location-box { display: grid; gap: 5px; align-self: stretch; min-height: 82px; padding: 9px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; color: #1e3a8a; font-size: 12px; font-weight: 900; }
.visit-location-box span { overflow-wrap: anywhere; }
.visit-location-box small { color: #64748b; font-weight: 850; }
.visit-location-box button, .map-link { align-self: end; width: fit-content; min-height: 32px; border: 1px solid #93c5fd; border-radius: 7px; padding: 0 10px; background: #fff; color: #1d4ed8; font-size: 12px; font-weight: 950; cursor: pointer; text-decoration: none; }
.visit-location-box button:disabled { opacity: .65; cursor: wait; }
.visit-photo-input input { padding: 8px; }
.visit-photo-strip { grid-column: span 2; display: flex; gap: 8px; flex-wrap: wrap; min-height: 42px; align-items: center; }
.visit-photo-strip img { width: 58px; height: 58px; border: 1px solid #cbd5e1; border-radius: 8px; object-fit: cover; background: #f8fafc; }
.visit-list table { min-width: 1040px; }
.visit-list td:nth-child(5) { max-width: 360px; white-space: normal; overflow-wrap: anywhere; }
.sales-follow-page { display: grid; gap: 12px; }
.sales-follow-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 12px; align-items: stretch; }
.sales-follow-form, .sales-follow-list { border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 88px); }
.sales-follow-form { display: grid; align-content: start; gap: 9px; }
.sales-follow-form .line-toolbar, .sales-follow-list .line-toolbar { align-items: start; margin-bottom: 4px; }
.sales-follow-form h2, .sales-follow-list h2 { margin: 0 0 3px; font-size: 14px; }
.sales-follow-form p, .sales-follow-list p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.sales-follow-form label { display: grid; gap: 5px; color: #475569; font-size: 11px; font-weight: 900; }
.sales-follow-form input, .sales-follow-form select, .sales-follow-form textarea,
.sales-follow-list select, .sales-follow-list input { width: 100%; min-height: 36px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; color: #0f172a; }
.sales-follow-form textarea { min-height: 92px; padding: 9px; resize: vertical; }
.sales-follow-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sales-note-list, .route-plan-list { display: grid; gap: 8px; max-height: 560px; overflow: auto; padding-right: 2px; }
.sales-note-list article { display: grid; gap: 6px; padding: 10px; border: 1px solid #dbeafe; border-left: 5px solid var(--company-accent, #2563eb); border-radius: 8px; background: rgba(255,255,255,.94); }
.sales-note-list article.warn { border-left-color: #f59e0b; background: #fffbeb; }
.sales-note-list article.danger { border-left-color: #dc2626; background: #fff1f2; }
.sales-note-list header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sales-note-list strong { min-width: 0; color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.sales-note-list span, .sales-note-list small { color: #64748b; font-size: 10px; font-weight: 850; }
.sales-note-list p { color: #334155; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.sales-note-list footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 6px; border-top: 1px solid #e5eaf0; }
.route-grid { grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr); }
.route-plan-list article { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 10px; border: 1px solid #dbeafe; border-left: 5px solid var(--company-accent, #2563eb); border-radius: 8px; background: #fff; }
.route-plan-list article.safe { border-left-color: #18a058; background: #f0fdf4; }
.route-plan-list article.danger { border-left-color: #dc2626; background: #fff1f2; }
.route-plan-list article > b { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: var(--company-accent, #2563eb); color: #fff; font-size: 12px; }
.route-plan-list div { display: grid; gap: 3px; min-width: 0; }
.route-plan-list strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.route-plan-list span, .route-plan-list small { min-width: 0; color: #64748b; font-size: 10px; font-weight: 850; overflow-wrap: anywhere; }
.route-plan-list footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding-top: 7px; border-top: 1px solid #e5eaf0; }
.route-plan-list footer a, .route-plan-list footer span { color: #1d4ed8; font-size: 11px; font-weight: 950; text-decoration: none; }
.payment-list table { min-width: 1020px; }
.payment-split-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.payment-split-panel { min-width: 0; overflow: hidden; padding: 10px; }
.payment-split-panel .line-toolbar { gap: 6px; margin-bottom: 6px; }
.payment-split-panel .line-toolbar h2 { margin: 0 0 2px; font-size: 13px; }
.payment-split-panel .line-toolbar p { margin: 0; font-size: 9px; }
.payment-split-panel.safe { border-top: 4px solid #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 74px); }
.payment-split-panel.purple { border-top: 4px solid #8b5cf6; background: linear-gradient(180deg, #faf5ff 0, #fff 74px); }
.payment-split-panel .line-toolbar h2 { text-transform: uppercase; letter-spacing: 0; }
.payment-split-panel.safe .line-toolbar h2 { color: #14532d; }
.payment-split-panel.purple .line-toolbar h2 { color: #581c87; }
.payment-split-panel.safe thead th { background: #dcfce7; color: #14532d; }
.payment-split-panel.purple thead th { background: #f3e8ff; color: #581c87; }
.payment-split-panel table { min-width: 0; width: 100%; table-layout: fixed; font-size: 9px; }
.payment-split-panel th, .payment-split-panel td { min-width: 0; padding: 6px 3px; vertical-align: middle; line-height: 1.15; }
.payment-split-panel th { font-size: 8px; }
.payment-split-panel th:nth-child(1), .payment-split-panel td:nth-child(1) { width: 12%; }
.payment-split-panel th:nth-child(2), .payment-split-panel td:nth-child(2) { width: 12%; }
.payment-split-panel th:nth-child(3), .payment-split-panel td:nth-child(3) { width: 20%; }
.payment-split-panel th:nth-child(4), .payment-split-panel td:nth-child(4) { width: 13%; }
.payment-split-panel th:nth-child(5), .payment-split-panel td:nth-child(5) { width: 18%; text-align: right; }
.payment-split-panel th:nth-child(6), .payment-split-panel td:nth-child(6) { width: 10%; }
.payment-split-panel th:nth-child(7), .payment-split-panel td:nth-child(7) { width: 7%; }
.payment-split-panel th:nth-child(8), .payment-split-panel td:nth-child(8) { width: 8%; }
.payment-split-panel td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.payment-split-panel .badge { max-width: 100%; min-height: 18px; padding: 0 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.payment-panel-summary { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.payment-panel-summary small { color: #64748b; font-size: 9px; font-weight: 900; }
.payment-pager { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 10px; border-top: 1px solid #e5eaf0; }
.payment-pager span { color: #475569; font-size: 12px; font-weight: 900; }
.payment-pager button { min-height: 30px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #1d4ed8; font-size: 12px; font-weight: 950; cursor: pointer; }
.payment-pager button:disabled { opacity: .45; cursor: not-allowed; }
.payment-actions { display: flex; gap: 3px; flex-wrap: nowrap; }
.payment-split-panel .payment-actions .inline-action { width: 100%; min-height: 22px; padding: 0 3px; border-radius: 5px; font-size: 8px; white-space: nowrap; }
.receipt-preview-dialog { position: fixed; inset: 22px; z-index: 220; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; box-shadow: 0 28px 80px rgba(15, 23, 42, .34); }
.receipt-preview-dialog::before { content: ""; position: fixed; inset: 0; z-index: -1; background: rgba(15, 23, 42, .48); }
.receipt-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #e2e8f0; background: #fff; }
.receipt-preview-head h2 { margin: 0 0 2px; color: #0f172a; font-size: 15px; }
.receipt-preview-head p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.receipt-preview-actions { display: flex; align-items: center; gap: 6px; }
.receipt-preview-actions button { min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; color: #334155; font-size: 10px; font-weight: 950; cursor: pointer; }
.receipt-preview-actions button.danger { border-color: #fecaca; background: #fff1f2; color: #be123c; }
.receipt-preview-frame { width: 100%; height: 100%; border: 0; background: #e2e8f0; }

@media (max-width: 1320px) {
  .payment-page > .toolbar { grid-template-columns: auto minmax(130px, 1fr) 96px 135px minmax(150px, 1fr) 124px auto auto; }
  .payment-page > .toolbar h2 { font-size: 13px; }
}

@media (max-width: 1100px) {
  .payment-page > .toolbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .payment-page > .toolbar h2 { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .my-order-edit-line { grid-template-columns: 1fr 1fr; }
  .my-order-edit-line .typeahead-cell { grid-column: 1 / -1; }
  .receipt-preview-dialog { inset: 8px; }
  .receipt-preview-head { align-items: stretch; flex-direction: column; }
  .receipt-preview-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .receipt-preview-actions button { min-height: 38px; padding: 0 5px; }
}
.cash-page { display: grid; gap: 12px; }
.cash-method-filter { min-width: 0; overflow-x: auto; padding: 2px 0; }
.cash-method-filter .segmented { width: max-content; min-width: 100%; box-sizing: border-box; }
.cash-method-filter .segmented button { flex: 1 0 auto; white-space: nowrap; }
.cash-balance-hero { display: grid; grid-template-columns: 1.15fr 1fr 1.15fr; gap: 9px; }
.cash-balance-hero article { display: grid; gap: 3px; min-width: 0; min-height: 78px; padding: 10px 12px; border: 1px solid #bfdbfe; border-left: 5px solid #2563eb; border-radius: 8px; background: #eff6ff; }
.finance-section-switch { width: fit-content; margin-bottom: 10px; }
.finance-section-switch button { min-width: 150px; }
.cash-transfer-work { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 12px; align-items: start; }
.cash-transfer-form-panel, .cash-transfer-history { border-top: 4px solid var(--company-accent, #2563eb); }
.cash-transfer-form-panel .line-toolbar h2, .cash-transfer-history .line-toolbar h2 { margin: 0; font-size: 15px; }
.cash-transfer-form-panel .line-toolbar p, .cash-transfer-history .line-toolbar p { margin: 3px 0 0; color: #64748b; font-size: 11px; }
.cash-transfer-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cash-transfer-form label { display: grid; gap: 4px; font-size: 11px; font-weight: 850; }
.cash-transfer-form .wide { grid-column: 1 / -1; }
.cash-transfer-list { display: grid; gap: 6px; max-height: 520px; overflow: auto; }
.cash-transfer-list article { display: grid; grid-template-columns: 90px minmax(150px, 1fr) minmax(140px, .8fr) 120px; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid #dbe4ee; border-radius: 7px; background: #f8fafc; }
.cash-transfer-list article span, .cash-transfer-list article small { color: #64748b; font-size: 11px; }
.cash-transfer-list article b { text-align: right; color: #1d4ed8; }
.cash-physical-work { display: grid; gap: 12px; }
.negotiable-work { display: grid; gap: 10px; }
.negotiable-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.negotiable-layout { display: grid; grid-template-columns: minmax(310px, 360px) minmax(0, 1fr); gap: 10px; align-items: start; }
.negotiable-entry, .negotiable-list-panel { border-top: 4px solid var(--company-accent, #2563eb); }
.negotiable-entry { position: sticky; top: 10px; }
.negotiable-entry-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 9px; }
.negotiable-entry-mode button { min-width: 0; padding-inline: 7px; font-size: 10px; }
.negotiable-entry-head { padding-top: 7px; border-top: 1px solid #dbe4ee; }
.negotiable-entry .line-toolbar h2, .negotiable-list-panel .line-toolbar h2 { margin: 0; font-size: 15px; }
.negotiable-entry .line-toolbar p, .negotiable-list-panel .line-toolbar p { margin: 2px 0 0; color: #64748b; font-size: 10px; font-weight: 800; }
.negotiable-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
.negotiable-form label, .negotiable-action-form label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.negotiable-form input, .negotiable-form select, .negotiable-action-form input, .negotiable-action-form select, .negotiable-action-form textarea { width: 100%; min-height: 33px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 8px; background: #fff; font-size: 11px; }
.negotiable-form .wide { grid-column: 1 / -1; }
.negotiable-exit-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 8px; border: 1px solid #bfdbfe; border-radius: 6px; background: #eff6ff; }
.negotiable-exit-summary span { display: grid; gap: 1px; color: #64748b; font-size: 9px; font-weight: 850; }
.negotiable-exit-summary strong { overflow: hidden; color: #172554; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.negotiable-filters { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin: 8px 0; }
.negotiable-filters select, .compact-search { min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; font-size: 11px; }
.compact-search { width: min(310px, 45%); }
.negotiable-table-wrap { max-height: 650px; overflow: auto; border: 1px solid #dbe4ee; border-radius: 7px; }
.negotiable-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.negotiable-table thead { position: sticky; top: 0; z-index: 2; }
.negotiable-table th { padding: 8px; background: var(--company-soft-solid, #eff6ff); color: #334155; text-align: left; white-space: nowrap; }
.negotiable-table td { padding: 8px; border-top: 1px solid #e5eaf0; vertical-align: middle; }
.negotiable-table tbody tr { cursor: pointer; }
.negotiable-table tbody tr:hover { background: #f8fafc; }
.negotiable-table td strong, .negotiable-table td small { display: block; }
.negotiable-table td small { margin-top: 2px; color: #64748b; font-size: 9px; }
.negotiable-table .amount-cell { color: #0f172a; font-size: 11px; font-weight: 950; text-align: right; white-space: nowrap; }
.negotiable-detail-modal { width: min(1050px, 94vw); max-height: 90vh; overflow: auto; padding: 16px; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(15,23,42,.28); }
.negotiable-detail-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding-bottom: 10px; border-bottom: 2px solid var(--company-accent, #2563eb); }
.negotiable-detail-head h2, .negotiable-detail-head p { margin: 0; }
.negotiable-detail-head h2 { font-size: 19px; }
.negotiable-detail-head p { margin-top: 3px; color: #64748b; font-size: 11px; font-weight: 800; }
.negotiable-detail-head > div:last-child { display: flex; gap: 7px; align-items: center; }
.negotiable-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 11px 0; }
.negotiable-detail-grid article { display: grid; gap: 3px; min-width: 0; padding: 9px; border: 1px solid #dbeafe; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 7px; background: #f8fbff; }
.negotiable-detail-grid span { color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.negotiable-detail-grid strong { color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.negotiable-detail-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 10px; align-items: start; }
.negotiable-detail-columns h3 { margin: 0 0 7px; font-size: 13px; }
.negotiable-history { display: grid; gap: 6px; }
.negotiable-history article { display: grid; gap: 4px; padding: 9px; border: 1px solid #e2e8f0; border-left: 4px solid #2563eb; border-radius: 7px; background: #fff; }
.negotiable-history article > div { display: flex; justify-content: space-between; gap: 8px; }
.negotiable-history strong { font-size: 11px; }
.negotiable-history span, .negotiable-history small { color: #64748b; font-size: 9px; font-weight: 800; }
.negotiable-history p { margin: 0; color: #334155; font-size: 10px; font-weight: 850; }
.negotiable-action-form { display: grid; gap: 7px; padding: 11px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; }
.negotiable-action-form textarea { min-height: 70px; padding: 7px; resize: vertical; }
@media (max-width: 900px) { .negotiable-metrics, .negotiable-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .negotiable-layout, .negotiable-detail-columns { grid-template-columns: 1fr; } .negotiable-entry { position: static; } }
@media (max-width: 900px) { .cash-transfer-work { grid-template-columns: 1fr; } .cash-transfer-list article { grid-template-columns: 80px minmax(0, 1fr) 110px; } .cash-transfer-list article small { grid-column: 2; } }
@media (max-width: 600px) { .finance-section-switch { width: 100%; } .finance-section-switch button { min-width: 0; } .negotiable-metrics, .negotiable-detail-grid, .negotiable-form { grid-template-columns: 1fr; } .negotiable-form .wide { grid-column: auto; } .negotiable-filters, .negotiable-detail-head { align-items: stretch; flex-direction: column; } .compact-search { width: 100%; } }
.cash-balance-hero article.safe { border-color: #bbf7d0; border-left-color: #16a34a; background: #f0fdf4; }
.cash-balance-hero article.danger { border-color: #fecaca; border-left-color: #dc2626; background: #fff1f2; }
.cash-balance-hero article.carry { border-color: #fde68a; border-left-color: #d97706; background: #fffbeb; }
.cash-balance-hero span { color: #475569; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.cash-balance-hero strong { color: #0f172a; font-size: 21px; line-height: 1.1; overflow-wrap: anywhere; }
.cash-balance-hero small { color: #64748b; font-size: 9px; font-weight: 800; line-height: 1.25; }
.cash-command-grid { --cash-panel-height: 540px; display: grid; grid-template-columns: minmax(320px, 360px) minmax(230px, 270px) minmax(190px, 230px) minmax(220px, 270px) minmax(330px, 1fr); gap: 10px; align-items: stretch; overflow-x: auto; padding-bottom: 4px; }
.cash-entry-panel { grid-column: 1; grid-row: 1; }
.cash-entry-panel, .cash-day-panel { display: grid; gap: 10px; }
.cash-entry-panel { grid-template-rows: auto minmax(0, 1fr); height: var(--cash-panel-height); min-height: var(--cash-panel-height); overflow: hidden; }
.cash-entry-panel .line-toolbar, .cash-day-panel .line-toolbar { align-items: start; }
.cash-entry-panel .line-toolbar h2, .cash-day-panel .line-toolbar h2 { margin-bottom: 2px; font-size: 14px; }
.cash-entry-panel .line-toolbar p, .cash-day-panel .line-toolbar p, .cash-list .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; line-height: 1.25; font-weight: 850; }
.cash-advance-selection { display: grid; align-content: center; gap: 2px; min-height: 50px; padding: 7px 9px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; }
.cash-advance-selection span, .cash-advance-selection small { color: #64748b; font-size: 9px; font-weight: 850; }
.cash-advance-selection strong { color: #1e3a8a; font-size: 11px; }
.cash-form { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; align-items: end; }
.cash-entry-panel .cash-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 8px; align-content: start; min-height: 0; }
.cash-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.cash-form input, .cash-form select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.cash-entry-panel .cash-form label { gap: 2px; font-size: 10px; line-height: 1.2; }
.cash-entry-panel .cash-form input, .cash-entry-panel .cash-form select { min-height: 31px; border-radius: 6px; padding: 0 7px; font-size: 11px; }
.cash-entry-panel .form-actions button { min-height: 31px; border-radius: 6px; font-size: 11px; }
.cash-form .wide { grid-column: span 2; }
.cash-entry-panel .cash-form .wide { grid-column: 1 / -1; }
.cash-dashboard-grid { display: contents; }
.cash-dashboard-grid .cash-task-panel.info { grid-column: 2; grid-row: 1; }
.cash-dashboard-grid .cash-task-panel.warn { grid-column: 3; grid-row: 1; }
.cash-dashboard-grid .cash-task-panel.safe { grid-column: 4; grid-row: 1; }
.cash-task-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; height: var(--cash-panel-height); min-height: var(--cash-panel-height); padding: 9px; border-top: 4px solid var(--company-accent, #2563eb); overflow: hidden; }
.cash-closed-days-panel { display: grid; gap: 0; padding: 0; border-top: 4px solid var(--company-accent, #2563eb); background: #fff; overflow: hidden; }
.cash-closed-days-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 7px 10px; cursor: pointer; list-style: none; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff), #fff); }
.cash-closed-days-summary::-webkit-details-marker { display: none; }
.cash-closed-days-summary > div { display: grid; gap: 2px; min-width: 0; }
.cash-closed-days-summary > div:last-child { display: flex; align-items: center; gap: 7px; }
.cash-closed-days-summary h2, .cash-closed-days-summary p { margin: 0; }
.cash-closed-days-summary h2 { font-size: 13px; }
.cash-closed-days-summary p { color: #64748b; font-size: 10px; font-weight: 800; }
.cash-closed-days-toggle { color: var(--company-accent-strong, #1d4ed8); font-size: 10px; font-weight: 950; }
.cash-closed-days-panel[open] .cash-closed-days-toggle { font-size: 0; }
.cash-closed-days-panel[open] .cash-closed-days-toggle::after { content: "Kapat"; font-size: 10px; }
.cash-closed-days-content { padding: 0 10px 10px; border-top: 1px solid #e5eaf0; }
.cash-closed-days-panel .line-toolbar h2 { margin: 0; font-size: 13px; }
.cash-closed-days-panel .line-toolbar p { margin: 2px 0 0; color: #64748b; font-size: 10px; }
.cash-closed-day-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.cash-closed-day-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: stretch; min-width: 0; padding: 6px; border: 1px solid #dbe4ee; border-radius: 7px; background: #fff; }
.cash-closed-day-main { display: grid; gap: 1px; min-width: 0; border: 0; padding: 0; background: transparent; color: #0f172a; text-align: left; cursor: pointer; }
.cash-closed-day-main strong { color: var(--company-accent, #1d4ed8); font-size: 11px; }
.cash-closed-day-main span, .cash-closed-day-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cash-closed-day-main span { font-size: 10px; font-weight: 900; }
.cash-closed-day-main small { color: #64748b; font-size: 9px; }
.cash-closed-day-list .inline-action { align-self: center; min-height: 30px; padding: 0 8px; white-space: nowrap; }
@media (max-width: 1100px) { .cash-closed-day-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cash-closed-day-list { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .cash-balance-hero { grid-template-columns: 1fr; } }
.cash-task-panel.info { border-top-color: var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 78px); }
.cash-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 78px); }
.cash-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 78px); }
.cash-task-panel .line-toolbar { align-items: start; gap: 6px; }
.cash-task-panel .line-toolbar h2 { margin: 0 0 2px; font-size: 12px; line-height: 1.2; }
.cash-task-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 10px; font-weight: 850; }
.cash-task-list { max-height: 388px; }
.cash-balance-strip { display: grid; grid-template-columns: 1fr; gap: 6px; }
.cash-balance-strip span { display: grid; gap: 2px; padding: 7px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; color: #64748b; font-size: 10px; font-weight: 950; }
.cash-balance-strip strong { color: #0f172a; font-size: 12px; }
.cash-closing-box { display: grid; grid-template-columns: 1fr; gap: 6px; margin-top: 1px; }
.cash-closing-box span { display: grid; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; color: #475569; font-size: 10px; font-weight: 950; }
.cash-closing-box label { display: grid; gap: 3px; min-width: 0; color: #475569; font-size: 10px; font-weight: 950; }
.cash-closing-box input { width: 100%; min-height: 31px; border: 1px solid #bfdbfe; border-radius: 7px; padding: 0 7px; background: #fff; color: #0f172a; font-size: 11px; font-weight: 850; }
.cash-closing-box input:disabled { background: #f1f5f9; color: #475569; }
.cash-closing-box strong { min-width: 0; color: #0f172a; font-size: 12px; overflow-wrap: anywhere; }
.cash-closing-box button { width: 100%; min-height: 31px; font-size: 11px; }
.cash-method-list { display: grid; gap: 7px; }
.cash-method-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: center; padding: 9px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; }
.cash-method-list article.recent { background: #f8fafc; border-style: dashed; }
.cash-method-list strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.cash-method-list span { color: #64748b; font-size: 11px; font-weight: 900; }
.cash-method-list b { color: #1d4ed8; font-size: 12px; text-align: right; }
.cash-list table { min-width: 1120px; }
.cash-card-panel { grid-column: 5; grid-row: 1; min-width: 0; height: var(--cash-panel-height); max-height: var(--cash-panel-height); overflow: auto; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 82px); }
.cash-card-panel .line-toolbar { align-items: start; position: sticky; top: -14px; z-index: 3; margin: -14px -14px 10px; padding: 14px; border-bottom: 1px solid #e5eaf0; background: #fff; }
.cash-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 8px; align-items: start; }
.cash-movement-card { display: grid; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #e5eaf0; border-left: 4px solid #18a058; border-radius: 8px; background: rgba(255,255,255,.94); }
.cash-movement-card.expense { border-left-color: #dc2626; }
.cash-movement-card header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.cash-movement-card header div { display: grid; gap: 2px; min-width: 0; }
.cash-movement-card strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.cash-movement-card header span, .cash-movement-card p, .cash-movement-card footer > span { color: #64748b; font-size: 10px; font-weight: 850; overflow-wrap: anywhere; }
.cash-movement-card b { color: #1d4ed8; font-size: 12px; white-space: nowrap; }
.cash-card-meta { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }
.cash-card-meta span { min-height: 22px; border-radius: 999px; padding: 4px 7px; background: #f1f5f9; color: #475569; font-size: 10px; font-weight: 950; }
.cash-movement-card p { min-height: 28px; margin: 0; line-height: 1.3; }
.cash-card-tree { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.cash-card-tree span { display: grid; gap: 2px; min-width: 0; padding: 5px; border: 1px solid #cbd5e1; border-left: 3px solid #cbd5e1; border-radius: 7px; background: #f8fafc; color: #64748b; }
.cash-card-tree span.done { border-color: #93c5fd; border-left-color: #2563eb; background: #eff6ff; color: #1e40af; }
.cash-card-tree strong { font-size: 9px; }
.cash-card-tree small { color: #64748b; font-size: 8px; line-height: 1.15; overflow-wrap: anywhere; }
.cash-movement-card footer { display: grid; gap: 7px; padding-top: 7px; border-top: 1px solid #e5eaf0; }
.cash-tree-row td { padding: 0 8px 10px; background: #f8fbff; }
.cash-tree { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; padding: 8px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.cash-tree span { display: grid; gap: 3px; min-width: 0; min-height: 48px; padding: 7px 8px; border: 1px solid #cbd5e1; border-left: 4px solid #cbd5e1; border-radius: 7px; background: #f8fafc; color: #64748b; }
.cash-tree span.done { border-color: #93c5fd; border-left-color: #2563eb; background: #eff6ff; color: #1e40af; }
.cash-tree span.done.close.danger, .cash-tree span.done.close { border-left-color: #2563eb; }
.cash-tree strong { min-width: 0; color: #0f172a; font-size: 11px; font-weight: 950; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cash-tree small { min-width: 0; color: #64748b; font-size: 10px; font-weight: 850; overflow-wrap: anywhere; }
.expense-command-grid { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 12px; align-items: stretch; }
.expense-entry-panel { display: grid; align-content: start; gap: 12px; }
.expense-entry-panel .line-toolbar { align-items: start; }
.expense-entry-panel .line-toolbar h2 { margin: 0 0 3px; }
.expense-entry-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 12px; font-weight: 850; }
.expense-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.expense-task-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; min-height: 260px; padding: 10px; border-top: 4px solid var(--company-accent, #2563eb); }
.expense-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 78px); }
.expense-task-panel.info { border-top-color: var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 78px); }
.expense-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 78px); }
.expense-task-panel .line-toolbar { align-items: start; gap: 6px; }
.expense-task-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 13px; line-height: 1.2; }
.expense-task-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.expense-mini-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.expense-mini-kpis span { display: grid; gap: 4px; padding: 9px; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; color: #64748b; font-size: 11px; font-weight: 950; }
.expense-mini-kpis strong { color: #0f172a; font-size: 13px; overflow-wrap: anywhere; }
.expense-task-list { max-height: 176px; gap: 5px; }
.expense-task-list article { padding: 6px 7px; gap: 2px; }
.expense-task-list strong { font-size: 11px; }
.expense-task-list span, .expense-task-list b { font-size: 10px; }
.expense-task-list small { font-size: 9px; line-height: 1.2; }
.mini-pager { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding-top: 7px; border-top: 1px solid #e5eaf0; }
.mini-pager span { color: #475569; font-size: 10px; font-weight: 950; white-space: nowrap; }
.mini-pager button { min-height: 26px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; color: var(--company-accent, #1d4ed8); font-size: 10px; font-weight: 950; cursor: pointer; }
.mini-pager button:disabled { opacity: .42; cursor: not-allowed; }
.expense-form { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: end; }
.expense-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 900; }
.expense-form input, .expense-form select { width: 100%; min-height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.expense-form .wide { grid-column: 1 / -1; }
.expense-type-switch { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.expense-type-switch button { min-height: 32px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 4px 6px; background: #fff; color: #475569; font-size: 10px; font-weight: 950; cursor: pointer; }
.expense-type-switch button.active { border-color: var(--company-accent, #2563eb); background: var(--company-accent, #2563eb); color: #fff; }
.expense-allocation-box { display: grid; gap: 6px; padding: 8px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }
.expense-allocation-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #1e3a8a; font-size: 11px; }
.expense-allocation-head span { color: #b91c1c; font-weight: 950; }
.expense-allocation-head span.matched { color: #047857; }
.expense-allocation-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px 30px; gap: 5px; }
.expense-allocation-row input { min-width: 0; }
.expense-allocation-row button { min-height: 32px; border: 1px solid #fecaca; border-radius: 7px; background: #fff; color: #b91c1c; font-size: 17px; font-weight: 900; cursor: pointer; }
.expense-allocation-box > button { width: fit-content; min-height: 28px; border: 1px solid #93c5fd; border-radius: 7px; padding: 0 9px; background: #fff; color: #1d4ed8; font-size: 10px; font-weight: 950; cursor: pointer; }
.expense-save-message { margin: 0; color: #047857; font-size: 11px; font-weight: 900; }
.expense-card-board { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: 12px; align-items: start; }
.expense-card-panel { min-width: 0; border-top: 4px solid var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 82px); }
.expense-card-panel .line-toolbar { align-items: start; margin-bottom: 10px; }
.expense-card-panel .line-toolbar h2 { margin: 0 0 3px; font-size: 14px; }
.expense-card-panel .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.expense-group-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 8px; align-items: start; }
.expense-group-list article { display: grid; gap: 8px; padding: 10px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; cursor: pointer; }
.expense-group-list article.open { border-color: #2563eb; background: #f0fdf4; box-shadow: 0 12px 24px rgba(37, 99, 235, .08); }
.expense-group-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; align-items: center; }
.expense-group-list strong { color: #0f172a; }
.expense-group-list span { color: #64748b; font-size: 12px; font-weight: 850; }
.expense-group-list b { color: #1d4ed8; text-align: right; }
.expense-group-main span { grid-column: 1; }
.expense-group-main b { grid-column: 2; grid-row: 1; }
.expense-group-main button { grid-column: 2; grid-row: 2; }
.expense-group-main button { min-height: 30px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #1d4ed8; font-size: 11px; font-weight: 950; cursor: pointer; }
.expense-group-detail { display: grid; gap: 6px; padding-top: 8px; border-top: 1px solid #e2e8f0; }
.expense-group-detail h3 { margin: 4px 0 0; color: #1d4ed8; font-size: 12px; }
.expense-group-detail p { display: grid; grid-template-columns: minmax(0, 1fr) 82px 120px; gap: 8px; align-items: center; margin: 0; padding: 7px; border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; font-size: 11px; }
.expense-group-detail p span { min-width: 0; overflow-wrap: anywhere; }
.expense-item-breakdown { display: grid; gap: 6px; }
.expense-item-breakdown > button { display: grid; grid-template-columns: minmax(0, 1fr) 82px 120px; gap: 8px; align-items: center; min-height: 36px; border: 1px solid #cfe3d7; border-radius: 7px; padding: 7px; background: #fff; color: inherit; text-align: left; cursor: pointer; }
.expense-item-breakdown > button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expense-item-breakdown > button span { color: #64748b; font-size: 11px; font-weight: 900; }
.expense-item-breakdown > button b { color: #1d4ed8; text-align: right; }
.expense-item-breakdown.open > button { border-color: #2563eb; background: #dcfce7; }
.expense-sub-breakdown { display: grid; gap: 5px; margin-left: 12px; padding: 8px; border-left: 4px solid #2563eb; border-radius: 7px; background: rgba(255,255,255,.72); }
.expense-sub-breakdown h4 { margin: 3px 0 0; color: #14532d; font-size: 11px; }
.expense-sub-breakdown p { grid-template-columns: minmax(0, 1fr) 78px 112px; background: #fff; }
.expense-detail-hint { color: #64748b; font-size: 11px; font-weight: 850; }
.expense-record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; align-items: start; }
.expense-record-card { display: grid; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #e5eaf0; border-radius: 8px; background: rgba(255,255,255,.92); }
.expense-record-card header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.expense-record-card strong { min-width: 0; color: #0f172a; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expense-record-card b { color: #1d4ed8; font-size: 12px; white-space: nowrap; }
.expense-record-card p { min-height: 34px; margin: 0; color: #475569; font-size: 11px; font-weight: 850; line-height: 1.35; overflow-wrap: anywhere; }
.expense-record-card footer { display: flex; align-items: center; gap: 6px; justify-content: space-between; flex-wrap: wrap; padding-top: 7px; border-top: 1px solid #e5eaf0; }
.expense-record-card footer span { color: #64748b; font-size: 10px; font-weight: 950; }
.expense-list table { min-width: 760px; }
.expense-top-grid { grid-template-columns: minmax(390px, 440px) minmax(0, 1fr); align-items: stretch; justify-content: stretch; }
.expense-top-grid > .expense-entry-panel,
.expense-top-grid > .expense-full-list { height: 570px; min-height: 570px; max-height: 570px; overflow: hidden; }
.expense-top-grid > .expense-group-summary-panel { grid-column: 1 / -1; height: 250px; min-height: 250px; max-height: 250px; overflow: hidden; }
.expense-top-grid > .expense-entry-panel { height: 570px; min-height: 570px; max-height: 570px; overflow: hidden; }
.expense-top-grid > .expense-group-summary-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); align-content: stretch; }
.expense-top-grid > .expense-group-summary-panel .expense-group-list { display: grid; grid-template-columns: 1fr; align-content: start; gap: 6px; max-height: none; min-height: 0; overflow: auto; padding-right: 2px; }
.expense-top-grid > .expense-entry-panel .line-toolbar h2,
.expense-top-grid > .expense-group-summary-panel .line-toolbar h2 { font-size: 14px; }
.expense-top-grid > .expense-entry-panel .line-toolbar p,
.expense-top-grid > .expense-group-summary-panel .line-toolbar p { font-size: 11px; }
.expense-top-grid > .expense-entry-panel .expense-form label { font-size: 12px; }
.expense-top-grid > .expense-entry-panel .expense-form input,
.expense-top-grid > .expense-entry-panel .expense-form select { min-height: 34px; font-size: 12px; }
.expense-top-grid > .expense-entry-panel .expense-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.expense-top-grid > .expense-entry-panel .expense-form { gap: 6px; }
.expense-top-grid > .expense-entry-panel .form-actions button { min-height: 34px; }
.expense-top-grid > .expense-group-summary-panel .expense-group-list { gap: 4px; }
.expense-top-grid > .expense-group-summary-panel .expense-group-list article { padding: 7px 8px; border-left-width: 3px; gap: 5px; background: #fff; }
.expense-top-grid > .expense-group-summary-panel .expense-group-main { grid-template-columns: minmax(0, 1fr) 58px 94px 52px; gap: 7px; }
.expense-top-grid > .expense-group-summary-panel .expense-group-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expense-top-grid > .expense-group-summary-panel .expense-group-list strong { font-size: 11px; }
.expense-top-grid > .expense-group-summary-panel .expense-group-main span { grid-column: auto; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.expense-top-grid > .expense-group-summary-panel .expense-group-main b { grid-column: auto; grid-row: auto; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.expense-top-grid > .expense-group-summary-panel .expense-group-main button { grid-column: auto; grid-row: auto; min-height: 24px; padding: 0 6px; font-size: 9px; }
.expense-top-grid > .expense-group-summary-panel .expense-group-detail { max-height: 130px; overflow: auto; padding-top: 6px; }
.expense-top-grid > .expense-group-summary-panel .expense-group-detail p { grid-template-columns: minmax(0, 1fr) 48px 74px; gap: 5px; padding: 4px 5px; font-size: 9px; }
.expense-top-grid > .expense-task-panel.warn .expense-mini-kpis { grid-template-columns: 1fr; gap: 6px; }
.expense-top-grid > .expense-task-panel.warn .expense-mini-kpis span { padding: 7px; font-size: 10px; }
.expense-top-grid > .expense-task-panel.warn .expense-mini-kpis strong { font-size: 12px; }
.expense-top-grid .expense-full-list .expense-record-grid,
.expense-top-grid > .expense-group-summary-panel .expense-group-list { max-height: 415px; overflow: auto; padding-right: 2px; }
.expense-top-grid > .expense-full-list .expense-record-grid { grid-template-columns: 1fr; gap: 0; overflow: auto; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; }
.expense-top-grid > .expense-full-list .expense-record-card { grid-template-columns: 64px minmax(0, 1.3fr) minmax(72px, .55fr) 78px minmax(128px, .8fr); gap: 5px; align-items: center; padding: 6px 7px; border: 0; border-bottom: 1px solid #e5eaf0; border-radius: 0; background: #fff; box-shadow: none; }
.expense-top-grid .expense-record-card:last-child { border-bottom: 0; }
.expense-record-date,
.expense-record-group { color: #64748b; font-size: 9px; font-weight: 950; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.expense-record-main { min-width: 0; display: grid; gap: 2px; }
.expense-record-main strong { min-width: 0; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expense-record-main small { min-width: 0; color: #64748b; font-size: 9px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expense-top-grid .expense-record-card b { font-size: 10px; text-align: right; }
.expense-record-action { display: flex; justify-content: flex-end; }
.expense-record-action .inline-action { min-height: 24px; padding: 0 8px; font-size: 10px; }
.expense-record-actions { display: flex; justify-content: flex-end; gap: 3px; flex-wrap: wrap; }
.expense-record-actions .badge { min-height: 18px; padding: 0 4px; font-size: 7px; }
.expense-record-actions .inline-action { min-height: 19px; padding: 0 4px; font-size: 8px; }
.expense-bottom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; align-items: stretch; }
.expense-bottom-grid > .expense-full-list,
.expense-bottom-grid > .expense-task-panel.info { min-height: 310px; max-height: 310px; overflow: hidden; }
.expense-bottom-grid .line-toolbar h2 { font-size: 11px; }
.expense-bottom-grid .line-toolbar p { font-size: 9px; }
.expense-bottom-grid .badge { font-size: 9px; min-height: 22px; padding: 4px 6px; }
.expense-bottom-grid .expense-mini-kpis span { padding: 6px; font-size: 9px; }
.expense-bottom-grid .expense-mini-kpis strong { font-size: 11px; }
.expense-bottom-grid .expense-task-list article { padding: 5px 6px; gap: 2px; }
.expense-bottom-grid .expense-task-list strong { font-size: 10px; }
.expense-bottom-grid .expense-task-list span,
.expense-bottom-grid .expense-task-list b { font-size: 9px; }
.expense-bottom-grid .expense-task-list small { font-size: 8px; line-height: 1.15; }
.expense-bottom-grid .expense-full-list { overflow: hidden; }
.expense-bottom-grid .expense-full-list .expense-record-grid { grid-template-columns: 1fr; }
.expense-bottom-grid .expense-full-list .expense-record-grid,
.expense-bottom-grid > .expense-task-panel.info .expense-task-list { max-height: 214px; overflow: auto; padding-right: 2px; }
.expense-bottom-grid .expense-group-list { grid-template-columns: 1fr; max-height: 176px; overflow: auto; padding-right: 2px; }
.expense-bottom-grid .expense-group-list article { padding: 7px; gap: 5px; }
.expense-bottom-grid .expense-group-main { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; }
.expense-bottom-grid .expense-group-main span { grid-column: 1; }
.expense-bottom-grid .expense-group-main b { grid-column: 2; grid-row: 1; font-size: 11px; }
.expense-bottom-grid .expense-group-main button { grid-column: 2; grid-row: 2; min-height: 26px; font-size: 10px; }
.expense-bottom-grid .expense-group-detail { max-height: 116px; overflow: auto; padding-top: 6px; }
.expense-bottom-grid .expense-group-detail p { grid-template-columns: minmax(0, 1fr) 62px 92px; padding: 5px 6px; font-size: 10px; }
.expense-notice-command-grid { grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 10px; align-items: stretch; }
.expense-notice-dashboard-grid { display: grid; grid-template-columns: .85fr 1fr 1fr; gap: 10px; align-items: stretch; }
.expense-notice-command-grid .expense-entry-panel,
.expense-notice-dashboard-grid .expense-task-panel { min-height: 250px; max-height: 250px; overflow: hidden; }
.expense-notice-dashboard-grid .expense-task-list,
.expense-notice-dashboard-grid .expense-group-list { max-height: 158px; overflow: auto; padding-right: 2px; }
.expense-full-list { margin-top: 0; max-height: 420px; overflow: auto; }
.expense-full-list .expense-record-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* Expense screen: calmer ledger-style layout */
.expense-page .metric-grid { grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 8px; }
.expense-page .metric { min-height: 72px; padding: 10px; }
.expense-page .metric span { font-size: 10px; }
.expense-page .metric strong { font-size: 15px; overflow-wrap: anywhere; }
.expense-page .toolbar { min-height: 54px; }
.expense-page .toolbar h2 { font-size: 17px; }
.expense-page .expense-command-grid { grid-template-columns: minmax(300px, 330px) minmax(0, 1fr); gap: 10px; }
.expense-page .expense-entry-panel,
.expense-page .expense-task-panel,
.expense-page .expense-card-panel { border: 1px solid #dbeafe; border-top: 4px solid var(--company-accent, #2563eb); box-shadow: 0 12px 28px rgba(15, 23, 42, .05); }
.expense-page .expense-entry-panel { min-height: 246px; }
.expense-page .expense-dashboard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.expense-page .expense-task-panel { min-height: 246px; max-height: 246px; }
.expense-page .expense-task-panel.warn,
.expense-page .expense-task-panel.info,
.expense-page .expense-task-panel.safe { background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 74px); }
.expense-page .expense-mini-kpis { gap: 6px; }
.expense-page .expense-mini-kpis span { min-height: 56px; }
.expense-page .expense-card-board { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 10px; }
.expense-page .expense-card-panel { max-height: 500px; padding: 12px; background: #fff; }
.expense-page .expense-card-panel .line-toolbar { position: sticky; top: -12px; z-index: 2; margin: -12px -12px 10px; padding: 12px; border-bottom: 1px solid #e5eaf0; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff), #fff); }
.expense-page .expense-group-list,
.expense-page .expense-record-grid { gap: 6px; }
.expense-page .expense-group-list article,
.expense-page .expense-record-card { border-radius: 7px; box-shadow: none; }
.expense-page .expense-group-main { grid-template-columns: minmax(0, 1fr) 70px 112px 62px; min-height: 36px; }
.expense-page .expense-group-main strong,
.expense-page .expense-record-card strong,
.expense-page .expense-item-breakdown > button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.expense-page .expense-group-main b,
.expense-page .expense-record-card b,
.expense-page .expense-item-breakdown > button b { font-size: 11px; }
.expense-page .expense-group-detail { max-height: 260px; overflow: auto; padding: 8px; border: 1px solid #dbeafe; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 7px; background: #f8fbff; }
.expense-page .expense-group-detail h3,
.expense-page .expense-sub-breakdown h4 { margin-top: 0; }
.expense-page .expense-item-breakdown > button,
.expense-page .expense-group-detail p,
.expense-page .expense-sub-breakdown p { grid-template-columns: minmax(0, 1fr) 68px 104px; }
.expense-page .expense-record-card { grid-template-columns: minmax(0, 1fr); border-left-color: var(--company-accent, #2563eb); }
.expense-page .expense-record-card p { min-height: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.expense-page .expense-record-card footer { gap: 5px; }

/* Expense screen: six-part workspace */
.expense-page { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; align-items: start; }
.expense-page > .toolbar,
.expense-page > .metric-grid { grid-column: 1 / -1; }
.expense-page .expense-command-grid,
.expense-page .expense-dashboard-grid,
.expense-page .expense-card-board { display: contents; }
.expense-page .expense-entry-panel,
.expense-page .expense-task-panel,
.expense-page .expense-group-panel,
.expense-page .expense-list { min-width: 0; height: 300px; min-height: 300px; max-height: 300px; overflow: auto; }
.expense-page .expense-entry-panel { grid-column: 1 / span 2; }
.expense-page .expense-task-panel.warn { grid-column: 3 / span 2; }
.expense-page .expense-task-panel.info { grid-column: 5 / span 2; }
.expense-page .expense-task-panel.safe { grid-column: 1 / span 2; }
.expense-page .expense-group-panel { grid-column: 3 / span 2; }
.expense-page .expense-list { grid-column: 5 / span 2; }
.expense-page .expense-task-list { max-height: 176px; }
.expense-page .expense-group-detail { max-height: 188px; }
.expense-page .expense-group-main { grid-template-columns: minmax(0, 1fr) 54px 96px 52px; }
.expense-page .expense-group-list b,
.expense-page .expense-record-card b,
.expense-page .expense-item-breakdown > button b { font-size: 10px; }

/* Expense screen: accounting-dashboard style */
.expense-page { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: stretch; }
.expense-page > .toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 76px; padding: 12px 14px; border: 1px solid var(--company-border, #bfdbfe); border-radius: 8px; background: linear-gradient(135deg, var(--company-accent, #0f766e), var(--company-accent-2, #38bdf8)); color: #fff; box-shadow: 0 10px 25px color-mix(in srgb, var(--company-accent, #2563eb) 12%, transparent); }
.expense-page > .toolbar h2 { margin: 0; color: #fff; font-size: 22px; }
.expense-page > .toolbar select { min-width: 130px; min-height: 34px; border: 1px solid rgba(255,255,255,.45); border-radius: 7px; background: rgba(255,255,255,.94); color: #0f172a; font-size: 12px; font-weight: 900; }
.expense-page > .metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.expense-page > .metric-grid .metric { min-height: 58px; padding: 8px 9px; border-left-width: 4px; gap: 4px; }
.expense-page > .metric-grid .metric span { font-size: 10px; line-height: 1.15; }
.expense-page > .metric-grid .metric strong { font-size: 14px; line-height: 1.15; overflow-wrap: anywhere; }
.expense-page .expense-command-grid { display: grid; grid-template-columns: minmax(240px, 280px) repeat(3, minmax(154px, 1fr)); gap: 8px; align-items: stretch; }
.expense-page .expense-dashboard-grid { display: contents; }
.expense-page .expense-card-board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); gap: 8px; align-items: stretch; }
.expense-page .expense-entry-panel,
.expense-page .expense-task-panel,
.expense-page .expense-card-panel { height: 390px; min-height: 390px; max-height: 390px; overflow: hidden; padding: 10px; border: 1px solid #e5eaf0; border-top: 4px solid #2563eb; border-radius: 8px; box-shadow: none; }
.expense-page .expense-entry-panel { border-top-color: var(--company-accent, #2563eb); background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff) 0, #fff 74px); }
.expense-page .expense-task-panel.warn { border-top-color: #f59e0b; background: linear-gradient(180deg, #fffbeb 0, #fff 74px); }
.expense-page .expense-task-panel.info { border-top-color: #2563eb; background: linear-gradient(180deg, #eff6ff 0, #fff 74px); }
.expense-page .expense-task-panel.safe { border-top-color: #18a058; background: linear-gradient(180deg, #f0fdf4 0, #fff 74px); }
.expense-page .expense-card-panel { background: #fff; overflow: auto; }
.expense-page .expense-card-panel .line-toolbar { position: sticky; top: -10px; z-index: 2; margin: -10px -10px 8px; padding: 10px; border-bottom: 1px solid #e5eaf0; background: #fff; }
.expense-page .line-toolbar h2 { margin: 0 0 3px; font-size: 12px; line-height: 1.2; }
.expense-page .line-toolbar p { margin: 0; color: #64748b; font-size: 11px; font-weight: 850; }
.expense-page .expense-task-list,
.expense-page .expense-group-list,
.expense-page .expense-record-grid { display: grid; align-content: start; gap: 6px; max-height: 315px; overflow: auto; padding-right: 2px; }
.expense-page .expense-mini-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.expense-page .expense-mini-kpis span,
.expense-page .expense-task-list article,
.expense-page .expense-group-list article,
.expense-page .expense-record-card { display: grid; gap: 3px; padding: 7px; border: 1px solid #e5eaf0; border-left-width: 1px; border-radius: 8px; background: rgba(255,255,255,.9); }
.expense-page .expense-group-list article { cursor: pointer; }
.expense-page .expense-group-list article.open { border-color: #93c5fd; background: #f8fbff; box-shadow: none; }
.expense-page .expense-group-main { grid-template-columns: minmax(0, 1fr) auto; gap: 3px 8px; min-height: auto; }
.expense-page .expense-group-main span { grid-column: 1; }
.expense-page .expense-group-main b { grid-column: 2; grid-row: 1; }
.expense-page .expense-group-main button { grid-column: 2; grid-row: 2; min-height: 26px; }
.expense-page .expense-group-detail { max-height: 220px; overflow: auto; padding: 7px; border: 1px solid #dbeafe; border-radius: 7px; background: #fff; }
.expense-page .expense-item-breakdown > button,
.expense-page .expense-group-detail p,
.expense-page .expense-sub-breakdown p { grid-template-columns: minmax(0, 1fr) 64px 92px; }
.security-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 12px; align-items: start; }
.security-form h3 { margin: 0; color: #1d4ed8; }
.security-table table { min-width: 820px; }
.security-health-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.security-health-grid article { display: grid; gap: 3px; min-height: 58px; padding: 9px; border: 1px solid #bfdbfe; border-left: 4px solid #2563eb; border-radius: 8px; background: #eff6ff; }
.security-health-grid article.warn { border-color: #fde68a; border-left-color: #f59e0b; background: #fffbeb; }
.security-health-grid article.danger { border-color: #fecdd3; border-left-color: #dc2626; background: #fff1f2; }
.security-health-grid article.safe { border-color: #bbf7d0; border-left-color: #18a058; background: #f0fdf4; }
.security-health-grid span { color: #475569; font-size: 10px; font-weight: 950; }
.security-health-grid strong { color: #0f172a; font-size: 18px; line-height: 1; }
.security-health-grid b { color: #1d4ed8; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.security-form .checkbox-line { display: flex; align-items: center; gap: 7px; min-height: 30px; color: #334155; }
.security-form .checkbox-line input { width: 16px; height: 16px; min-height: 16px; padding: 0; accent-color: #1d4ed8; }
.permission-groups { display: grid; gap: 8px; }
.permission-groups details { border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; overflow: hidden; }
.permission-groups summary { padding: 9px 10px; background: #f8fafc; color: #1d4ed8; font-size: 12px; font-weight: 950; cursor: pointer; }
.permission-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 8px; }
.permission-checks label { display: flex; align-items: center; gap: 6px; min-height: 30px; color: #334155; font-size: 11px; font-weight: 850; }
.permission-checks input { width: 16px; height: 16px; accent-color: #1d4ed8; }
.sales-rep-mapping-box { display: grid; gap: 8px; padding: 10px; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; }
.sales-rep-mapping-box h4 { margin: 0; color: #1d4ed8; font-size: 13px; }
.sales-rep-mapping-box p { margin: 2px 0 0; color: #64748b; font-size: 11px; }
.rep-map-row { display: grid; grid-template-columns: minmax(150px, 1.3fr) minmax(70px, .45fr) minmax(100px, .8fr) auto; gap: 6px; align-items: center; }
.rep-map-row select, .rep-map-row input { min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 8px; background: #fff; font-size: 12px; }
.permission-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 8px; }
.permission-list article { display: grid; gap: 3px; padding: 8px; border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; }
.permission-list strong { color: #0f172a; font-size: 11px; overflow-wrap: anywhere; }
.permission-list span { color: #64748b; font-size: 11px; }
.security-role-list { display: grid; gap: 8px; }
.security-role-list article { display: grid; grid-template-columns: minmax(0, 1fr) 90px minmax(170px, auto); gap: 8px; align-items: center; padding: 10px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.security-role-list article div { display: grid; gap: 4px; }
.security-role-list strong { color: #0f172a; }
.security-role-list span, .security-role-list small { color: #64748b; font-size: 12px; }
.security-role-actions { display: flex !important; gap: 5px; justify-content: flex-end; flex-wrap: wrap; }
.security-menu-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.security-menu-preview article { display: grid; align-content: start; gap: 6px; padding: 10px; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; }
.security-menu-preview h3 { margin: 0; color: #1d4ed8; font-size: 13px; }
.security-menu-preview p { display: grid; gap: 2px; margin: 0; padding: 7px; border-radius: 7px; background: #fff; }
.security-menu-preview strong { color: #0f172a; }
.security-menu-preview span { color: #64748b; font-size: 11px; overflow-wrap: anywhere; }
.security-menu-editor { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(440px, 1.4fr); gap: 12px; align-items: start; }
.menu-category-editor, .menu-page-editor { display: grid; align-content: start; gap: 8px; }
.menu-category-editor .line-toolbar h3, .menu-page-editor .line-toolbar h3 { margin: 0; color: var(--company-accent, #1d4ed8); font-size: 15px; }
.menu-category-editor .line-toolbar p, .menu-page-editor .line-toolbar p { margin: 2px 0 0; color: #64748b; font-size: 11px; }
.menu-category-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) 30px 30px 42px; gap: 5px; align-items: center; padding: 6px; border: 1px solid #dbe3ee; border-radius: 6px; background: #f8fafc; }
.menu-category-row input, .menu-page-row select, .menu-page-row input { width: 100%; min-width: 0; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 5px; padding: 0 8px; background: #fff; color: #0f172a; font-size: 12px; font-weight: 850; }
.menu-category-row .inline-action { min-width: 0; min-height: 30px; padding: 0 5px; }
.menu-order-number { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--company-soft-solid, #dbeafe); color: var(--company-ink, #1e3a8a); font-size: 11px; font-weight: 950; }
.menu-page-list { display: grid; gap: 5px; max-height: min(64vh, 680px); overflow: auto; padding-right: 3px; }
.menu-page-row { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(170px, .8fr) 78px 88px; gap: 8px; align-items: center; padding: 7px 8px; border: 1px solid #e2e8f0; border-radius: 6px; background: #f8fafc; }
.menu-page-row strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f172a; font-size: 12px; }
.menu-page-row label { display: grid; grid-template-columns: auto 42px; align-items: center; gap: 4px; color: #64748b; font-size: 10px; font-weight: 900; }
.menu-page-row label input { padding: 0 4px; text-align: center; }
.menu-page-row .menu-pin-option { display: inline-flex; grid-template-columns: none; justify-content: center; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 5px; background: #fff; color: #111827; }
.menu-page-row .menu-pin-option input { width: 16px; height: 16px; min-height: 16px; accent-color: var(--company-accent, #2563eb); }
.error, .loading { padding: 20px; border-radius: 8px; background: #fff; }
.mikro-loading-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; margin-bottom: 10px; padding: 10px 12px; border: 1px solid #bfdbfe; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 8px; background: linear-gradient(180deg, var(--company-soft-solid, #eff6ff), #fff); }
.mikro-loading-panel.warning { border-color: #fed7aa; border-left-color: #f97316; background: linear-gradient(180deg, #fff7ed, #fff); }
.mikro-loading-panel strong { color: #0f172a; font-size: 13px; }
.mikro-loading-panel span { color: #475569; font-size: 11px; font-weight: 850; }
.mikro-loading-panel .badge { grid-row: span 2; }
@media (max-width: 1100px) { .shell { grid-template-columns: 1fr; } aside { position: static; height: auto; } nav { grid-template-columns: repeat(3, 1fr); } .order-grid, .stock-grid, .shipment-grid, .split, .stock-production-split, .customer-decision-layout, .performance-grid, .profit-insight-grid, .pricing-layout, .cash-command-grid, .center-command-grid, .expense-command-grid, .expense-card-board, .order-entry-command-grid, .payment-notice-command-grid { grid-template-columns: repeat(2, 1fr); } .center-kpi-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); } .center-priority-grid, .center-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cash-dashboard-grid, .expense-dashboard-grid, .order-tower-dashboard-grid, .payment-notice-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .center-work-panel { min-height: 300px; } .performance-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); } .rep-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .entry-fields, .customer-snapshot, .entry-totals, .new-customer-form, .customer-edit-grid, .customer-intro-form, .customer-intro-summary, .my-order-metrics, .partial-shipment-head { grid-template-columns: 1fr 1fr; } .cash-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cash-form .wide, .expense-form .wide { grid-column: 1 / -1; } .entry-line-head { display: none; } .entry-line { grid-template-columns: 1fr 1fr; padding: 8px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; } .edit-order-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)); } .partial-shipment-line { grid-template-columns: minmax(0, 1fr) 1fr 1fr; } .partial-shipment-line.head { display: none; } .my-order-card summary { grid-template-columns: minmax(100px, .75fr) minmax(160px, 1.6fr) minmax(130px, 1fr) minmax(110px, .8fr); } .my-order-detail { grid-template-columns: 1fr 1fr; } }
@media (max-width: 1100px) { .management-insight-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } .management-insight-lines article { grid-template-columns: minmax(0, 1fr) 90px 90px minmax(100px, auto); } }
@media (max-width: 1100px) { .management-chart-grid, .management-budget-grid, .management-budget-definition-grid, .management-commission-grid, .management-payment-calendar-grid { grid-template-columns: 1fr; } .management-budget-grid { grid-template-areas: "control" "company" "compare" "mapping"; } .management-payment-calendar-grid { grid-template-areas: "company" "summary" "fridays" "list"; } .payment-calendar-list-panel { min-height: 420px; } .management-performance-title, .management-chart-summary, .line-panel, .management-ratio-panel, .distribution-panel { grid-column: 1; grid-row: auto; } .management-chart-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } .management-ratio-panel { min-height: auto; } .ratio-company-list { grid-template-columns: 1fr; } .distribution-grid { grid-template-columns: 1fr; } .distribution-card { min-height: 260px; } .management-chart-panel.wide { grid-column: auto; } .management-month-chart { grid-template-columns: repeat(6, minmax(0, 1fr)); } .management-company-chart article { grid-template-columns: 1fr; } }
@media (max-width: 1200px) { .pricing-cost-grid { grid-template-columns: minmax(190px, .55fr) minmax(0, 1fr); } .pricing-cost-detail { grid-column: 1 / -1; min-height: auto; } }
@media (max-width: 1200px) { .pricing-cost-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1200px) { .pricing-calc-grid { grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr); } .pricing-calc-result { grid-column: 1 / -1; min-height: auto; } }
@media (max-width: 1200px) { .pricing-workflow-grid, .pricing-production-bridge, .pricing-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1200px) { .task-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } .task-detail-panel { grid-column: 1 / -1; min-height: auto; } }
@media (max-width: 1200px) { .production-operation-grid { grid-template-columns: 1fr 1fr; } .production-operation-preview { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); } .production-stage-split { grid-template-columns: minmax(330px, .82fr) minmax(440px, 1.18fr); } }
@media (max-width: 1200px) { .production-card-workspace { grid-template-columns: minmax(320px, .85fr) minmax(420px, 1.15fr); } .production-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 850px) { .pricing-calc-grid { grid-template-columns: 1fr; } .pricing-calc-result { grid-column: auto; } .pricing-list-products button, .pricing-calc-result-list article { grid-template-columns: 1fr; } .pricing-calc-groups-panel, .pricing-calc-products-panel, .pricing-calc-result { min-height: auto; } .pricing-calc-result-list b, .pricing-calc-result-list small, .pricing-calc-result-list em { text-align: left; } }
@media (max-width: 850px) { .pricing-workflow-grid, .pricing-production-bridge, .pricing-summary-grid { grid-template-columns: 1fr; } .pricing-workflow-card { grid-template-columns: 1fr; } .pricing-workflow-card button { width: 100%; } }
@media (max-width: 850px) { .production-operation-grid, .production-operation-form, .production-operation-preview, .production-operation-line, .production-stage-split { grid-template-columns: 1fr; } .production-stage-history-head { display: none; } .production-stage-history-list { max-height: 480px; } .production-stage-history-item > summary { grid-template-columns: 82px minmax(0, 1fr); } .production-stage-history-item > summary > div:nth-of-type(n+2) { grid-column: 2; } .production-stage-detail-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .production-stage-detail-groups { grid-template-columns: 1fr; } .production-stage-detail-movements p { grid-template-columns: 58px minmax(0, 1fr) auto; } .production-stage-detail-movements small { grid-column: 2 / -1; } }
@media (max-width: 850px) { .production-card-filters, .production-card-workspace, .production-card-form { grid-template-columns: 1fr; } .production-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 360px; } .production-card-form .wide { grid-column: auto; } .production-flow-fields { grid-template-columns: 1fr 1fr; } .production-recipe-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 980px) { .production-recipe-editor-base, .production-recipe-editor-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .production-recipe-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .recipe-home-actions, .production-card-list, .production-recipe-overview, .production-recipe-create-form, .production-recipe-saved-list article, .production-recipe-editor-base, .production-recipe-editor-summary, .production-recipe-stage-grid, .fixed-output-lines { grid-template-columns: 1fr; } .fixed-output-lines > .line-toolbar { grid-column: auto; } .recipe-home-simple { min-height: 280px; } .recipe-home-header { margin-top: 6px; text-align: left; } .recipe-home-actions button { min-height: 76px; } .production-recipe-create-form label:nth-child(2) { grid-column: auto; } .production-recipe-saved-meta { justify-content: space-between; } .production-recipe-editor-modal { width: calc(100vw - 12px); max-height: calc(100vh - 12px); padding: 10px; } .production-recipe-editor-head { top: -10px; margin: -10px -10px 0; padding: 10px; } .production-recipe-editor-head, .production-recipe-stage-title { grid-template-columns: 1fr; } .production-recipe-editor-actions { bottom: -10px; margin: 0 -10px -10px; padding: 9px 10px; } .production-card-flow article { grid-template-columns: 28px minmax(0, 1fr); } .production-card-flow article button { grid-column: 2; justify-self: start; } }
@media (max-width: 700px) { .mix-recipe-formula-head { display: none; } .mix-recipe-formula-row, .mix-production-formula-list article { grid-template-columns: 1fr 1fr; } .mix-recipe-formula-row .searchable-select, .mix-production-formula-list article div { grid-column: 1 / -1; } }
@media (max-width: 850px) { .repack-recipe-selector { grid-template-columns: 1fr; } .repack-recipe-product.packaging { grid-column: auto; } }
@media (max-width: 420px) {
  .production-recipe-create-form.recipe-create-inline-form.repack-mode {
    grid-template-columns: 1fr;
    grid-template-areas: "company" "date" "type" "output" "input" "packaging" "packagingkg";
  }
}
@media (max-width: 700px) { .recipe-inline-stages-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .recipe-inline-base-fields, .recipe-inline-stage-context, .recipe-inline-output-row { grid-template-columns: 1fr; } }
@media (max-width: 850px) { .task-kpis, .task-board, .task-form-row, .task-filter-tabs, .task-detail-meta { grid-template-columns: 1fr; } .task-create-panel, .task-list-panel, .task-detail-panel { min-height: auto; grid-column: auto; } }
@media (max-width: 1100px) { .management-decision-book-items { grid-template-columns: 1fr; overflow: auto; padding-right: 2px; } }
@media (max-width: 1100px) { .customer-decision-layout { grid-template-columns: 1fr; } .customer-decision-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .approval-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .approval-form .wide { grid-column: 1 / -1; } }
@media (max-width: 1100px) { .payment-form, .payment-notice-form, .visit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .payment-split-grid { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .payment-notice-dashboard-grid { grid-template-columns: minmax(130px, .55fr) repeat(2, minmax(170px, 1fr)); } }
@media (max-width: 1100px) { .expense-page .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .expense-page .expense-command-grid { grid-template-columns: 1fr; } .expense-page .expense-dashboard-grid { grid-template-columns: repeat(3, minmax(220px, 1fr)); overflow-x: auto; padding-bottom: 4px; } .expense-page .expense-card-board { grid-template-columns: 1fr; } .expense-page .expense-card-panel { max-height: 480px; } }
@media (max-width: 1100px) { .expense-page { grid-template-columns: repeat(4, minmax(0, 1fr)); } .expense-page .expense-entry-panel, .expense-page .expense-task-panel, .expense-page .expense-group-panel, .expense-page .expense-list { grid-column: span 2; height: 290px; min-height: 290px; max-height: 290px; } }
@media (max-width: 700px) { main { padding: 10px; } nav, .order-grid, .stock-grid, .shipment-grid, .split, .stock-production-split, .customer-decision-layout, .performance-grid, .profit-insight-grid, .pricing-layout, .pricing-params, .rep-score-grid, .mini-metrics, .entry-fields, .customer-snapshot, .entry-totals, .entry-line, .edit-order-grid, .new-customer-form, .new-customer-approval-grid, .customer-edit-grid, .customer-intro-form, .customer-intro-summary, .intro-location, .cash-form, .cash-command-grid, .cash-dashboard-grid, .cash-balance-strip, .cash-tree, .expense-form, .expense-command-grid, .expense-card-board, .expense-dashboard-grid, .expense-group-list, .expense-mini-kpis, .expense-record-grid, .order-entry-command-grid, .order-entry-dashboard-grid, .order-entry-mini-kpis, .order-tower-dashboard-grid, .order-tower-mini-kpis, .payment-notice-command-grid, .payment-notice-dashboard-grid, .payment-notice-mini-kpis, .payment-notice-form, .visit-form, .center-command-grid, .center-priority-grid, .center-support-grid, .request-tower-kpis, .request-type-strip, .request-card-info, .expense-group-list article, .expense-group-main, .expense-group-detail p, .expense-item-breakdown > button, .expense-sub-breakdown p, .insight-list article, .my-order-detail, .my-order-lines article, .partial-shipment-head, .partial-shipment-line { grid-template-columns: 1fr; } .center-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .center-hero-panel { align-items: start; flex-direction: column; } .center-work-panel, .cash-task-panel, .expense-task-panel, .order-entry-task-panel, .order-tower-task-panel, .payment-notice-task-panel { min-height: auto; } .performance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .performance-chart, .performance-detail, .profit-board, .pricing-params, .pricing-products { max-height: none; } .profit-board-head, .pricing-product-group > header { align-items: stretch; flex-direction: column; } .pricing-group-actions { justify-content: flex-start; } .insight-list b { text-align: left; } .cash-form .wide, .expense-form .wide, .visit-form .wide, .visit-photo-strip { grid-column: auto; } .stock-list-panel, .production-need-panel, .customer-decision-table, .customer-detail-panel { max-height: none; min-height: auto; position: static; } .decision-cross > .panel { min-height: auto; } .decision-hover-detail p, .bar-hover-detail p, .request-history p { grid-template-columns: 1fr; } .decision-list article { grid-template-columns: auto 1fr; } .decision-list article.has-detail::after { grid-column: 1 / -1; grid-row: auto; width: fit-content; } .order-entry-head, .line-toolbar, .form-actions { align-items: stretch; flex-direction: column; } .hero-panel { align-items: start; flex-direction: column; } h1 { font-size: 26px; } table, thead, tbody, tr, th, td { display: block; min-width: 0; } thead { display: none; } tr { margin-bottom: 8px; border: 1px solid #e5eaf0; border-radius: 8px; overflow: visible; } td { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; white-space: normal; } td::before { content: attr(data-label); color: #64748b; font-weight: 900; } .tower-actions { justify-content: flex-start; flex-wrap: wrap; } .order-hover-pop, .customer-hover-pop { left: auto; right: 0; width: min(420px, 86vw); } .customer-hover-cell:hover .customer-hover-pop { display: grid; grid-template-columns: 1fr; } .order-hover-pop article { grid-template-columns: 1fr; } .expense-sub-breakdown { margin-left: 0; } }

@media (max-width: 1100px) {
  .production-recipe-grid { grid-template-columns: .85fr 1.15fr; }
  .production-recipe-detail { grid-column: 1 / -1; min-height: auto; max-height: none; }
  .production-daily-grid { grid-template-columns: 1fr; }
  .production-count-grid { grid-template-columns: 1fr; }
  .production-run-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-count-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-count-clean-form .wide { grid-column: 1 / -1; }
  .stock-count-row { grid-template-columns: minmax(0, 1.2fr) .8fr 90px 100px 80px; }
  .stock-count-clean-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .production-recipe-head-form, .production-flow-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-flow-row.head { display: none; }
}

@media (max-width: 700px) {
  .production-recipe-grid, .production-recipe-form, .production-recipe-head-form, .production-flow-row, .production-recipe-result, .production-daily-form, .production-run-cards { grid-template-columns: 1fr; }
  .production-count-form, .stock-count-row, .stock-count-clean-row { grid-template-columns: 1fr; }
  .stock-count-edit-modal { width: calc(100vw - 12px); max-height: calc(100vh - 12px); padding: 10px; }
  .stock-count-edit-fields { grid-template-columns: 1fr 1fr; }
  .stock-count-edit-fields .wide { grid-column: 1 / -1; }
  .stock-count-edit-line { grid-template-columns: minmax(0, 1fr) 95px 78px; }
  .stock-count-edit-line.head { display: none; }
  .stock-count-edit-line > div { grid-column: 1 / -1; }
  .stock-count-edit-line b { text-align: left; }
  .production-daily-form .wide { grid-column: auto; }
  .stock-count-row.head { display: none; }
  .stock-count-row b, .stock-count-row em { text-align: left; }
  .production-recipe-groups, .production-recipe-products, .production-recipe-detail { min-height: auto; max-height: none; }
}
@media (max-width: 700px) { .management-insight-metrics, .management-insight-lines article { grid-template-columns: 1fr; } .management-insight-lines b { text-align: left; } }
@media (max-width: 700px) { .management-view-tabs { align-items: stretch; flex-direction: column; } .management-view-tabs .segmented { width: 100%; overflow-x: auto; } .management-performance-title { align-items: start; flex-direction: column; } .management-performance-title h2 { font-size: 17px; } .management-performance-title p { text-align: left; } .management-chart-summary, .budget-summary-grid, .budget-control-summary, .budget-alert-strip, .budget-company-card-grid, .commission-summary-strip, .commission-metric-grid, .commission-detail-hero, .commission-detail-grid, .commission-target-strip, .payment-calendar-kpis, .payment-friday-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .commission-calc-flow, .commission-rule-fields, .commission-target-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .commission-calc-flow > b { min-height: 24px; } .management-chart-panel { min-height: 220px; } .line-chart-months { grid-template-columns: repeat(6, minmax(0, 1fr)); } .management-month-chart { grid-template-columns: repeat(3, minmax(0, 1fr)); } .management-chart-row, .budget-compare-list article, .budget-company-list article, .budget-record-list article, .budget-definition-list article, .commission-rule-list article, .payment-company-list button, .payment-calendar-list article, .payment-calendar-group-list article > button, .payment-general-subgroup-list section > button, .payment-general-subgroup-list .payment-detail-row, .payment-friday-breakdown-list article > button, .payment-friday-group-list section > button, .payment-friday-detail-list .payment-detail-row { grid-template-columns: minmax(0, 1fr); } .management-chart-row span, .budget-compare-list b, .budget-company-list b, .budget-record-list b, .payment-company-list b, .payment-calendar-list b, .payment-calendar-list small, .payment-calendar-group-list b, .payment-general-subgroup-list b, .payment-friday-breakdown-list b, .payment-friday-group-list b { text-align: left; } .management-chart-row small, .management-chart-row em, .budget-progress, .commission-rule-list small, .commission-rule-list .payment-actions, .payment-calendar-list small { grid-column: auto; grid-row: auto; } .ratio-company-list, .budget-entry-fields, .budget-entry-fields.compact, .budget-person-grid, .budget-definition-form, .budget-person-company-grid { grid-template-columns: 1fr; } .budget-entry-fields .wide, .budget-person-grid .wide, .budget-definition-form .wide { grid-column: auto; } .distribution-pie { width: 112px; } .management-company-bars div { grid-template-columns: 38px minmax(0, 1fr); } .management-company-bars b { grid-column: 2; text-align: left; } }
@media (max-width: 700px) { .management-decision-book-form, .management-decision-book-list { height: auto; max-height: none; } .management-decision-book-items { grid-template-columns: 1fr; overflow: visible; } }
@media (max-width: 700px) { .expense-page .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .expense-page .expense-dashboard-grid { grid-template-columns: repeat(3, minmax(210px, 1fr)); } .expense-page .expense-task-panel { min-height: 230px; max-height: 230px; } .expense-page .expense-group-main { grid-template-columns: minmax(0, 1fr) 58px 96px 54px; } .expense-page .expense-group-detail p, .expense-page .expense-item-breakdown > button, .expense-page .expense-sub-breakdown p { grid-template-columns: minmax(0, 1fr) 58px 94px; } }
@media (max-width: 700px) { .expense-page { grid-template-columns: 1fr; } .expense-page .expense-entry-panel, .expense-page .expense-task-panel, .expense-page .expense-group-panel, .expense-page .expense-list { grid-column: 1 / -1; height: auto; min-height: 240px; max-height: none; } }
@media (max-width: 1100px) { .expense-page { grid-template-columns: 1fr; } .expense-page > .metric-grid { grid-template-columns: repeat(6, minmax(105px, 1fr)); overflow-x: auto; padding-bottom: 2px; } .expense-page .expense-command-grid { grid-template-columns: repeat(4, minmax(150px, 1fr)); overflow-x: auto; padding-bottom: 4px; } .expense-page .expense-card-board { grid-template-columns: repeat(2, minmax(260px, 1fr)); overflow-x: auto; padding-bottom: 4px; } .expense-page .expense-entry-panel, .expense-page .expense-task-panel, .expense-page .expense-card-panel { grid-column: auto; height: 330px; min-height: 330px; max-height: 330px; } }
@media (max-width: 700px) { .expense-page > .toolbar { align-items: start; flex-direction: column; min-height: 66px; padding: 10px 12px; } .expense-page > .toolbar h2 { font-size: 18px; } .expense-page > .metric-grid { grid-template-columns: repeat(6, minmax(105px, 1fr)); } .expense-page .expense-command-grid { grid-template-columns: repeat(4, minmax(145px, 1fr)); } .expense-page .expense-card-board { grid-template-columns: repeat(2, minmax(240px, 1fr)); } .expense-page .expense-entry-panel, .expense-page .expense-task-panel, .expense-page .expense-card-panel { height: 310px; min-height: 310px; max-height: 310px; } }
@media (max-width: 700px) { .payment-notice-dashboard-grid { grid-template-columns: minmax(112px, .55fr) repeat(2, minmax(150px, 1fr)); overflow-x: auto; padding-bottom: 4px; } .payment-notice-mini-kpis { grid-template-columns: 1fr; } .payment-notice-task-panel { min-width: 0; min-height: 180px; } }
@media (max-width: 1100px) {
  .payment-notice-command-grid { grid-template-columns: minmax(220px, 250px) minmax(380px, 420px) minmax(520px, 1fr); overflow-x: auto; }
  .payment-notice-dashboard-grid { grid-template-columns: minmax(112px, .7fr) repeat(2, minmax(130px, 1fr)); height: 460px; min-height: 460px; max-height: 460px; overflow: visible; padding-bottom: 0; }
}
@media (max-width: 700px) {
  .payment-notice-command-grid { grid-template-columns: minmax(215px, 240px) minmax(360px, 400px) minmax(500px, 1fr); }
  .payment-notice-entry-panel, .payment-notice-dashboard-grid, .payment-notice-history-panel { height: 430px; min-height: 430px; max-height: 430px; }
  .payment-notice-filter-strip { grid-template-columns: minmax(140px, 1.2fr) 110px 110px; }
}

@media (max-width: 1100px) {
  .management-control-grid { grid-template-columns: 1fr; }
  .management-formula-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .budget-mapping-form { grid-template-columns: repeat(4, minmax(130px, 1fr)); overflow-x: auto; }
  .security-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .security-layout { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .management-control-grid, .management-control-cards, .security-health-grid { grid-template-columns: 1fr; }
  .management-formula-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .budget-mapping-form, .budget-mapping-list article { grid-template-columns: 1fr; }
  .management-control-panel, .management-reconciliation-panel, .management-audit-panel { min-height: auto; }
  .security-role-list article { grid-template-columns: 1fr; }
  .security-role-actions { justify-content: flex-start; }
}
@media (max-width: 1100px) { .cash-command-grid { --cash-panel-height: 540px; grid-template-columns: minmax(320px, 360px) minmax(230px, 270px) minmax(190px, 230px) minmax(220px, 270px) minmax(330px, 1fr); align-items: stretch; overflow-x: auto; padding-bottom: 4px; } .cash-entry-panel { grid-column: 1; grid-row: 1; } .cash-dashboard-grid { display: contents; } .cash-dashboard-grid .cash-task-panel.info { grid-column: 2; grid-row: 1; } .cash-dashboard-grid .cash-task-panel.warn { grid-column: 3; grid-row: 1; } .cash-dashboard-grid .cash-task-panel.safe { grid-column: 4; grid-row: 1; } .cash-card-panel { grid-column: 5; grid-row: 1; } }
@media (max-width: 700px) { .cash-command-grid { --cash-panel-height: 520px; grid-template-columns: minmax(320px, 350px) minmax(220px, 255px) minmax(180px, 220px) minmax(200px, 250px) minmax(320px, 1fr); } .cash-entry-panel, .cash-task-panel, .cash-card-panel { height: var(--cash-panel-height); min-height: var(--cash-panel-height); max-height: var(--cash-panel-height); } .cash-entry-panel .cash-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 7px; } .cash-entry-panel .cash-form input, .cash-entry-panel .cash-form select { min-height: 31px; } .cash-task-list { max-height: 348px; } .cash-card-tree { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .payment-form, .payment-notice-form, .visit-form { grid-template-columns: 1fr; } .payment-actions { flex-direction: column; } }
@media (max-width: 700px) { .approval-form { grid-template-columns: 1fr; } .approval-form .wide { grid-column: auto; } .approval-actions { flex-direction: column; } }

@media (max-width: 1100px) {
  .center-kpi-strip { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); overflow-x: visible; padding-bottom: 2px; }
  .center-priority-grid, .center-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; padding-bottom: 4px; }
  .center-priority-grid .center-work-panel, .center-support-grid .center-work-panel { height: 220px; min-height: 220px; }
  .management-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .management-intelligence-grid { grid-template-columns: 1fr; }
  .management-alarm-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .management-trend-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .management-decision-grid { grid-template-columns: 1fr; }
  .management-decision-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-risk-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .management-recommendation-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pricing-decision-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pricing-decision-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-main-grid { grid-template-columns: 1fr; }
  .management-list-grid { grid-template-columns: repeat(3, minmax(210px, 1fr)); overflow-x: auto; padding-bottom: 4px; }
  .management-decision-book-grid { grid-template-columns: 1fr; }
  .management-decision-book-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accounting-kpi-strip { grid-template-columns: repeat(9, minmax(105px, 1fr)); overflow-x: auto; padding-bottom: 2px; }
  .accounting-dashboard-grid { grid-template-columns: repeat(7, minmax(145px, 1fr)); overflow-x: auto; padding-bottom: 4px; }
  .accounting-task-panel { min-height: 330px; }
}

@media (max-width: 700px) {
  .center-hero-panel { min-height: 66px; padding: 10px 12px; }
  .center-hero-panel h1 { font-size: 18px; }
  .management-hero-panel { align-items: stretch; flex-direction: column; min-height: 66px; padding: 10px 12px; }
  .management-hero-panel > div:first-child { text-align: right; }
  .management-hero-panel h1 { font-size: 18px; }
  .management-filter { justify-content: flex-start; width: 100%; }
  .management-filter select { flex: 1 1 120px; min-width: 0; }
  .management-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-kpis .metric { height: 54px; min-height: 54px; }
  .management-intelligence-grid { grid-template-columns: 1fr; }
  .management-alarm-list, .management-trend-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-decision-grid { grid-template-columns: 1fr; }
  .management-decision-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-risk-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-recommendation-list { grid-template-columns: 1fr; }
  .management-recommendation-list button { min-height: 82px; }
  .pricing-decision-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-decision-list { grid-template-columns: 1fr; }
  .pricing-decision-list article { min-height: 124px; }
  .management-company-list article, .management-list article, .management-list > button { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .management-company-list b, .management-list b { text-align: left; }
  .management-price-list button { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .management-price-list button b { text-align: left; }
  .management-queue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-list-grid { grid-template-columns: 1fr; overflow-x: visible; }
  .management-list-panel { height: 190px; min-height: 190px; }
  .management-decision-book-grid { grid-template-columns: 1fr; }
  .management-decision-book-fields { grid-template-columns: 1fr; }
  .decision-template-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-decision-book-fields .wide { grid-column: 1 / -1; }
  .management-decision-book-form, .management-decision-book-list { min-height: auto; }
  .center-priority-grid, .center-support-grid { grid-template-columns: 1fr; }
  .center-priority-grid .center-work-panel, .center-support-grid .center-work-panel { height: 230px; min-height: 230px; overflow: hidden; }
  .center-priority-grid .center-work-list, .center-support-grid .center-work-list { height: 100%; }
  .accounting-hero-panel { align-items: start; flex-direction: column; min-height: 66px; padding: 10px 12px; }
  .accounting-hero-panel h1 { font-size: 18px; }
  .accounting-dashboard-grid { grid-template-columns: repeat(7, minmax(145px, 1fr)); }
  .accounting-task-panel { min-height: 310px; }
}

@media (min-width: 521px) and (max-width: 700px) {
  .management-hero-panel { align-items: center; flex-direction: row-reverse; min-height: 62px; }
  .management-filter { width: auto; }
  .management-filter select { flex: 0 0 auto; }
  .management-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .management-decision-grid { grid-template-columns: 1fr; }
  .management-decision-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-risk-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-recommendation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-decision-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pricing-decision-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-main-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .management-company-panel, .management-price-panel, .management-queue-panel { min-height: 170px; height: 170px; overflow: hidden; }
  .management-list-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: visible; }
  .management-list-panel { height: 170px; min-height: 170px; }
  .management-decision-book-grid { grid-template-columns: 1fr; }
  .management-decision-book-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .management-decision-book-fields .wide { grid-column: 1 / -1; }
  .management-company-list article, .management-list article, .management-list > button { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .management-company-list b, .management-list b { text-align: left; }
  .center-kpi-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .center-kpi-strip .metric { height: 50px; min-height: 50px; padding: 7px; }
  .center-kpi-strip .metric span { font-size: 9px; }
  .center-kpi-strip .metric strong { font-size: 13px; }
  .center-priority-grid, .center-support-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .center-priority-grid .center-work-panel, .center-support-grid .center-work-panel { grid-template-rows: 43px minmax(0, 1fr); height: 185px; min-height: 185px; padding: 7px; }
  .center-priority-grid .center-work-list, .center-support-grid .center-work-list { height: 100%; }
  .center-work-panel .line-toolbar h2 { font-size: 11px; }
  .center-work-panel .line-toolbar p { font-size: 10px; }
  .center-work-list article { padding: 7px; }
  .center-work-list strong { font-size: 11px; }
  .center-work-list span, .center-work-list b { font-size: 10px; }
  .center-work-list small { font-size: 9px; }
}

/* PC + mobile guard layer */
html { -webkit-text-size-adjust: 100%; }
img, svg, canvas { max-width: 100%; }
.panel, .metric, .order-card, .stock-card, .shipment-card { min-width: 0; }
.toolbar input, .toolbar select, .toolbar button, .inline-action, nav button { touch-action: manipulation; }

@media (max-width: 900px) {
  .shell { display: block; min-height: 100vh; }
  aside {
    position: sticky;
    top: 0;
    z-index: 40;
    height: auto;
    grid-template-rows: auto auto;
    gap: 10px;
    padding: 10px;
    box-shadow: 0 12px 28px rgba(37, 99, 235, .2);
  }
  .brand { grid-template-columns: auto 1fr; align-items: baseline; gap: 8px; padding: 0; }
  .brand b { font-size: 18px; }
  .brand span { font-size: 10px; }
  nav {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  nav button {
    flex: 0 0 auto;
    min-height: 38px;
    max-width: 170px;
    padding: 0 11px;
    white-space: nowrap;
    text-align: center;
    font-size: 12px;
  }
  .mikro-box, .user-box { display: none; }
  main { padding: 10px; }
  .page { gap: 10px; }
  .hero-panel { min-height: auto; padding: 16px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .performance-grid { grid-template-columns: 1fr; }
  .performance-chart, .performance-detail, .profit-board { max-height: none; }
  .profit-board-head { align-items: stretch; flex-direction: column; }
  .metric { min-height: 78px; padding: 10px; }
  .metric span { font-size: 10px; }
  .metric strong { font-size: 17px; overflow-wrap: anywhere; }
  .toolbar { align-items: stretch; }
  .toolbar h2 { width: 100%; }
  .toolbar input, .toolbar select, .toolbar button, .customer-search-box input { width: 100%; min-height: 42px; }
  .customer-table-search { position: static; margin: -14px -14px 10px; flex-direction: column; align-items: stretch; }
  .customer-decision-board { grid-template-columns: 1fr; }
  .customer-decision-column { max-height: none; }
  .customer-detail-floating { position: fixed; inset: auto; top: 50%; left: 50%; width: min(860px, calc(100vw - 20px)); max-height: min(78vh, 640px); transform: translate(-50%, -50%); }
  .order-hover-pop, .customer-hover-pop {
    position: static;
    display: none;
    width: 100%;
    max-height: 320px;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .06);
  }
  .order-detail-cell:hover .order-hover-pop,
  .customer-hover-cell:hover .customer-hover-pop { display: grid; }
  .customer-hover-summary { grid-template-columns: 1fr 1fr; }
  .mikro-preview-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mikro-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  body { background: #f1f5f9; }
  h1 { font-size: 22px; line-height: 1.15; }
  h2 { font-size: 16px; }
  .panel { padding: 10px; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .new-customer-actions, .customer-detail-summary { grid-template-columns: 1fr; }
  .entry-block { padding: 10px; }
  .entry-line { gap: 9px; }
  .entry-line label, .entry-line input, .entry-line select, .entry-line button,
  .entry-fields input, .entry-fields select, .new-customer-form input,
  .customer-edit-grid input, .customer-edit-grid select, .cash-form input,
  .cash-form select, .expense-form input, .expense-form select {
    min-height: 44px;
    font-size: 16px;
  }
  .line-toolbar button, .form-actions button, .entry-line button, .new-customer-actions button, .inline-action {
    min-height: 42px;
  }
  .data-panel { overflow: visible; }
  table { width: 100%; }
  tr { box-shadow: 0 8px 18px rgba(37, 99, 235, .05); }
  td {
    min-height: 34px;
    align-items: start;
    padding: 8px;
    font-size: 12px;
    overflow-wrap: anywhere;
  }
  td::before { font-size: 10px; text-transform: uppercase; }
  td strong, td small { white-space: normal; overflow-wrap: anywhere; }
  td:nth-child(n+3), th:nth-child(n+3), td:last-child, th:last-child { text-align: left; }
  .customer-decision-table th, .customer-decision-table td,
  .stock-list-panel th, .stock-list-panel td,
  .production-need-panel th, .production-need-panel td {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 8px;
    width: auto !important;
    max-width: none;
    font-size: 12px;
    overflow: hidden;
  }
  .customer-decision-table td strong,
  .stock-list-panel td strong,
  .production-need-panel td strong { font-size: 12px; }
  .customer-decision-table .badge, .customer-decision-table .inline-action {
    justify-self: stretch;
    width: 100%;
  }
  .customer-detail-panel {
    border-color: #cbd5e1;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .08);
  }
  .stock-list-panel .line-toolbar, .production-need-panel .line-toolbar {
    position: static;
    margin: -10px -10px 10px;
    padding: 10px;
  }
  .mikro-preview-summary, .mikro-field-grid { grid-template-columns: 1fr; }
  .statement-preview-summary { grid-template-columns: 1fr 1fr; }
  .statement-inline-table table { min-width: 0 !important; }
  .statement-inline-table th, .statement-inline-table td {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    width: auto !important;
    text-align: left !important;
  }
}

@media (max-width: 420px) {
  main { padding: 8px; }
  .metric-grid { grid-template-columns: 1fr; }
  td, .customer-decision-table th, .customer-decision-table td,
  .stock-list-panel th, .stock-list-panel td,
  .production-need-panel th, .production-need-panel td {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 7px;
  }
  .badge { white-space: normal; }
  .statement-preview-summary { grid-template-columns: 1fr; }
  .statement-inline-table th, .statement-inline-table td { grid-template-columns: 82px minmax(0, 1fr); }
}

/* Adaptive app shell for Android, iPhone and tablet use */
html { min-width: 0; overflow-x: hidden; }
body { min-width: 0; overflow-x: hidden; }
input, select, textarea, button { max-width: 100%; }
textarea { resize: vertical; }
.page, .panel, .data-panel, form, section, article, table, tr, td, th { min-width: 0; }
.empty-detail { margin: 0; color: #64748b; font-size: 12px; line-height: 1.4; }
.inline-action.secondary { border-color: #cbd5e1; background: #f8fafc; color: #334155; }
.inline-action.danger, button.delete { border-color: #fecdd3; background: #fff1f2; color: #be123c; }

@media (max-width: 1180px) {
  .shell { grid-template-columns: 200px minmax(0, 1fr); }
  aside { padding: 14px; }
  .pricing-layout, .performance-grid, .profit-insight-grid, .stock-production-split, .split {
    grid-template-columns: 1fr;
  }
  .security-layout {
    grid-template-columns: 1fr;
  }
  .security-menu-editor { grid-template-columns: 1fr; }
  .pricing-params, .performance-chart, .performance-detail, .pricing-products, .stock-list-panel, .production-need-panel {
    max-height: none;
  }
  .approval-form, .payment-form, .payment-notice-form, .cash-form, .expense-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .approval-form .wide, .payment-form .wide, .payment-notice-form .wide, .cash-form .wide, .expense-form .wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .shell {
    display: grid;
    grid-template-columns: 1fr;
  }
  .shell.menu-collapsed {
    grid-template-columns: 1fr;
  }
  .shell.menu-collapsed aside { max-height: none; }
  .shell.menu-collapsed .side-company-switcher,
  .shell.menu-collapsed .side-notification-alert,
  .shell.menu-collapsed .side-nav { display: none; }
  aside {
    position: sticky;
    top: 0;
    z-index: 80;
    height: max-content;
    align-self: start;
    width: 100%;
    max-height: 58vh;
    gap: 9px;
    padding: calc(8px + env(safe-area-inset-top)) 10px 9px;
  }
  .brand {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
  }
  .brand b { font-size: 18px; }
  .brand span { font-size: 10px; }
  .shell.menu-collapsed .brand {
    display: flex;
    justify-items: stretch;
  }
  .shell.menu-collapsed .brand b, .shell.menu-collapsed .brand span {
    display: inline;
  }
  .shell.menu-collapsed .menu-toggle {
    width: 54px;
  }
  nav { display: grid; gap: 4px; padding: 0; }
  nav button {
    min-height: 34px;
    max-width: none;
    padding: 0 8px;
    border-radius: 5px;
    white-space: nowrap;
    text-align: left;
    font-size: 11px;
  }
  .side-nav {
    display: grid;
    max-height: 42vh;
    overflow: auto;
  }
  .nav-group {
    display: grid;
    gap: 2px;
  }
  .nav-group-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-group-toggle { min-height: 30px; }
  .nav-group-title { display: block; }
  .nav-customizer-backdrop { padding: 8px; }
  .nav-customizer-dialog { max-height: calc(100vh - 16px); padding: 12px; }
  .nav-customizer-actions { grid-template-columns: 1fr 1fr; }
  .nav-customizer-actions span { grid-column: 1 / -1; }
  .menu-page-row { grid-template-columns: minmax(120px, 1fr) minmax(130px, .9fr) 70px 82px; }
  .shell.menu-collapsed .side-nav button {
    justify-content: center;
    padding: 0 8px;
  }
  .shell.menu-collapsed .nav-text {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    overflow: hidden;
    text-indent: 0;
  }
  .user-box, .mikro-box { display: none; }
  main { padding: 10px; }
  .app-header {
    position: sticky;
    top: 62px;
    margin: -10px -10px 10px;
    padding: 10px;
    align-items: stretch;
    flex-direction: column;
  }
  .app-header-actions {
    justify-content: stretch;
  }
  .app-header-actions button {
    flex: 1 1 140px;
    min-height: 40px;
  }
  .profile-popover, .notification-popover {
    position: fixed;
    inset: 10px;
    width: auto;
    max-height: calc(100dvh - 20px);
  }
  .hero-panel {
    min-height: 150px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px;
  }
  h1 { font-size: 26px; line-height: 1.15; }
  h2 { font-size: 17px; line-height: 1.25; }
  .toolbar, .line-toolbar, .form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .toolbar h2, .line-toolbar h2 { width: 100%; }
  .toolbar input, .toolbar select, .toolbar button, .line-toolbar button, .form-actions button, .inline-action {
    width: 100%;
    min-height: 42px;
  }
  .segmented, .intro-tabs {
    display: flex;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .toolbar .segmented button, .toolbar .intro-tabs button {
    width: auto;
  }
  .segmented button, .intro-tabs button {
    flex: 0 0 auto;
    min-height: 38px;
  }
  .metric-grid, .performance-metrics, .my-order-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .order-grid, .stock-grid, .shipment-grid, .rep-score-grid, .new-customer-approval-grid, .customer-decision-board, .profile-summary {
    grid-template-columns: 1fr;
  }
  .entry-fields, .new-customer-form, .customer-edit-grid, .customer-intro-form, .customer-intro-summary,
  .customer-snapshot, .entry-totals, .partial-shipment-head, .edit-order-grid, .pricing-params {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .entry-fields .wide, .new-customer-form .wide, .customer-edit-grid .wide, .customer-intro-form .wide,
  .customer-intro-summary .wide, .partial-shipment-head .wide {
    grid-column: 1 / -1;
  }
  .customer-detail-floating, .partial-shipment-panel {
    position: fixed;
    inset: auto 10px 10px 10px;
    top: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100dvh - 20px);
    transform: none;
  }
  .my-orders-list, .customer-decision-column, .customer-detail-panel {
    max-height: none;
  }
  .my-order-card summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .my-order-card summary span, .my-order-card summary b {
    grid-column: 1 / -1;
  }
  .my-order-detail, .my-order-lines article, .insight-list article {
    grid-template-columns: 1fr;
  }
  .profit-table, .pricing-list, .pricing-products, .performance-detail, .approval-list, .approval-decision-panel,
  .payment-list, .cash-list, .expense-list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 820px) {
  main { padding: 8px; }
  .panel { padding: 10px; }
  .login-page { padding: 12px; }
  .login-card { padding: 16px; }
  .login-brand b { font-size: 24px; }
  h1 { font-size: 22px; }
  h2 { font-size: 16px; }
  .hero-panel { min-height: 132px; }
  .hero-panel p { font-size: 13px; line-height: 1.4; }
  .metric-grid, .performance-metrics, .my-order-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .metric {
    min-height: 74px;
    padding: 10px;
  }
  .metric span { font-size: 10px; }
  .metric strong { font-size: 16px; overflow-wrap: anywhere; }
  .approval-form, .payment-form, .payment-notice-form, .cash-form, .expense-form, .entry-fields, .new-customer-form,
  .customer-edit-grid, .customer-intro-form, .customer-intro-summary, .customer-snapshot, .entry-totals,
  .partial-shipment-head, .edit-order-grid, .pricing-params, .intro-location, .expense-group-main, .security-layout,
  .expense-group-detail p, .expense-item-breakdown > button, .expense-sub-breakdown p, .partial-shipment-line,
  .my-order-detail, .my-order-lines article {
    grid-template-columns: 1fr;
  }
  .approval-form .wide, .payment-form .wide, .payment-notice-form .wide, .cash-form .wide, .expense-form .wide,
  .new-customer-form .wide, .customer-edit-grid .wide, .customer-intro-form .wide, .customer-intro-summary .wide {
    grid-column: auto;
  }
  input, select, textarea, button {
    font-size: 16px;
  }
  input, select {
    min-height: 44px;
  }
  textarea {
    min-height: 92px;
  }
  .entry-line-head, .partial-shipment-line.head {
    display: none;
  }
  .entry-line, .partial-shipment-line {
    padding: 9px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
  }
  .entry-line strong {
    text-align: left;
    font-size: 14px;
  }
  .discount-limit {
    justify-content: flex-start;
    border-radius: 7px;
    padding: 0 9px;
  }
  .data-panel {
    overflow: visible;
  }
  table, thead, tbody, tr, th, td {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }
  thead {
    display: none;
  }
  tr {
    margin-bottom: 9px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .05);
  }
  th, td {
    white-space: normal;
  }
  td {
    display: grid;
    grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    min-height: 36px;
    padding: 8px;
    border-bottom: 1px solid #edf2f7;
    font-size: 12px;
    text-align: left !important;
    overflow-wrap: anywhere;
  }
  td:last-child {
    border-bottom: 0;
  }
  td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 10px;
    font-weight: 950;
    line-height: 1.25;
    text-transform: uppercase;
  }
  td:empty {
    display: none;
  }
  td strong, td small, td span, td b {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .order-tower-table table, .customer-decision-table table, .stock-list-panel table,
  .production-need-panel table, .approval-list table, .approval-decision-panel table,
  .payment-list table, .cash-list table, .expense-list table, .performance-detail table,
  .profit-table table, .pricing-list table, .pricing-products table {
    min-width: 0 !important;
    table-layout: auto;
  }
  .order-tower-table th, .order-tower-table td, .customer-decision-table th, .customer-decision-table td,
  .stock-list-panel th, .stock-list-panel td, .production-need-panel th, .production-need-panel td {
    width: auto !important;
    max-width: none;
    font-size: 12px;
  }
  .tower-actions, .approval-actions, .payment-actions, .pricing-group-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  .permission-checks, .permission-list, .security-role-list article, .security-menu-preview {
    grid-template-columns: 1fr;
  }
  .tower-actions button, .approval-actions button, .payment-actions button, .pricing-group-actions button {
    width: 100%;
    min-height: 40px;
  }
  .order-flow {
    max-width: 220px;
  }
  .order-hover-pop, .customer-hover-pop {
    position: static;
    width: 100%;
    max-height: none;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .05);
  }
  .order-hover-pop article, .customer-hover-summary, .customer-hover-pop {
    grid-template-columns: 1fr;
  }
  .customer-table-search {
    position: static;
    margin: -10px -10px 10px;
    padding: 10px;
    flex-direction: column;
    align-items: stretch;
  }
  .customer-search-box input {
    width: 100%;
  }
  .customer-detail-panel {
    position: static;
    max-height: none;
  }
  .customer-detail-floating {
    position: fixed;
    inset: 8px;
    width: auto;
    max-height: calc(100dvh - 16px);
    overflow: auto;
  }
  .intro-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .partial-shipment-panel {
    inset: 8px;
    width: auto;
    max-height: calc(100dvh - 16px);
  }
  .expense-group-list article {
    grid-template-columns: 1fr;
  }
  .expense-group-list b, .expense-item-breakdown > button b {
    text-align: left;
  }
  .stock-list-panel .line-toolbar, .production-need-panel .line-toolbar {
    position: static;
    margin: -10px -10px 10px;
    padding: 10px;
  }
}

@media (max-width: 430px) {
  main { padding: 7px; }
  .page { gap: 8px; }
  .panel { padding: 9px; border-radius: 7px; }
  nav button {
    min-height: 38px;
    padding: 0 10px;
    font-size: 11px;
  }
  .metric-grid, .performance-metrics, .my-order-metrics {
    grid-template-columns: 1fr;
  }
  .hero-actions, .form-actions {
    width: 100%;
  }
  td {
    grid-template-columns: minmax(82px, 32%) minmax(0, 1fr);
    gap: 7px;
    padding: 7px;
  }
  .tower-actions, .approval-actions, .payment-actions, .pricing-group-actions {
    grid-template-columns: 1fr;
  }
  .badge {
    width: fit-content;
    max-width: 100%;
    min-height: 22px;
    white-space: normal;
    text-align: left;
  }
  .intro-photo-grid {
    grid-template-columns: 1fr;
  }
}

.customer-detail-floating {
  position: fixed;
  inset: 14px;
  top: 14px;
  left: 14px;
  right: 14px;
  bottom: 14px;
  width: min(1080px, calc(100vw - 28px));
  max-height: none;
  margin: 0 auto;
  transform: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  align-content: start;
}

.customer-accordion[open] > .customer-detail-list,
.customer-accordion[open] > .customer-intro-summary,
.customer-accordion[open] > .customer-intro-form {
  max-height: min(58dvh, 520px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.customer-detail-floating {
  grid-template-columns: 220px minmax(0, 1fr);
  grid-auto-rows: min-content;
  column-gap: 12px;
  row-gap: 10px;
}

.customer-detail-floating > .line-toolbar,
.customer-detail-floating > .customer-detail-summary {
  grid-column: 1 / -1;
}

.customer-detail-floating .customer-accordion {
  display: contents;
}

.customer-detail-floating .customer-accordion summary {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border: 1px solid #dbeafe;
  border-left: 5px solid #bfdbfe;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .06);
}

.customer-detail-floating .customer-accordion[open] summary {
  border-left-color: #2563eb;
  background: linear-gradient(135deg, #dbeafe 0, #fff 100%);
}

.customer-detail-floating .customer-accordion[open] > .customer-detail-list,
.customer-detail-floating .customer-accordion[open] > .customer-intro-summary,
.customer-detail-floating .customer-accordion[open] > .customer-intro-form {
  grid-column: 2;
  grid-row: 3 / span 8;
  max-height: calc(100dvh - 245px);
  min-height: 360px;
  overflow: auto;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #fbfdff;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .04);
}

@media (max-width: 820px) {
  .customer-detail-floating {
    grid-template-columns: 1fr;
  }
  .customer-detail-floating .customer-accordion summary,
  .customer-detail-floating .customer-accordion[open] > .customer-detail-list,
  .customer-detail-floating .customer-accordion[open] > .customer-intro-summary,
  .customer-detail-floating .customer-accordion[open] > .customer-intro-form {
    grid-column: 1;
    grid-row: auto;
  }
  .customer-detail-floating .customer-accordion[open] > .customer-detail-list,
  .customer-detail-floating .customer-accordion[open] > .customer-intro-summary,
  .customer-detail-floating .customer-accordion[open] > .customer-intro-form {
    min-height: 0;
    max-height: 56dvh;
  }
}

@media (max-width: 700px) {
  .customer-detail-floating {
    inset: 8px;
    width: calc(100vw - 16px);
    max-height: none;
  }
  .customer-accordion[open] > .customer-detail-list,
  .customer-accordion[open] > .customer-intro-summary,
  .customer-accordion[open] > .customer-intro-form {
    max-height: 56dvh;
  }
}

.customer-detail-inline {
  display: grid;
  grid-template-columns: 158px minmax(0, 1fr);
  grid-auto-rows: min-content;
  gap: 10px;
}

.customer-detail-inline > .line-toolbar,
.customer-detail-inline > .customer-detail-summary {
  grid-column: 1 / -1;
}

.customer-detail-inline .customer-detail-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.customer-detail-inline .customer-accordion {
  display: contents;
}

.customer-detail-inline .customer-accordion summary {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 42px;
  border: 1px solid #dbeafe;
  border-left: 5px solid #bfdbfe;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .06);
}

.customer-detail-inline .customer-accordion[open] summary {
  border-left-color: #2563eb;
  background: linear-gradient(135deg, #dbeafe 0, #fff 100%);
}

.customer-detail-inline .customer-accordion[open] > .customer-detail-list,
.customer-detail-inline .customer-accordion[open] > .customer-intro-summary,
.customer-detail-inline .customer-accordion[open] > .customer-intro-form,
.customer-detail-inline .customer-accordion[open] > .customer-detail-body {
  grid-column: 2;
  grid-row: 3 / span 8;
  max-height: calc(100dvh - 275px);
  min-height: 320px;
  overflow-y: auto;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #fbfdff;
}

@media (max-width: 1180px) {
  .customer-workspace.has-detail {
    grid-template-columns: 1fr;
  }
  .customer-workspace.has-detail .customer-decision-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .customer-detail-inline {
    position: static;
    max-height: none;
  }
}

@media (max-width: 820px) {
  .customer-workspace.has-detail .customer-decision-board,
  .customer-detail-inline {
    grid-template-columns: 1fr;
  }
  .customer-detail-inline .customer-accordion summary,
  .customer-detail-inline .customer-accordion[open] > .customer-detail-list,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-summary,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-form {
    grid-column: 1;
    grid-row: auto;
  }
  .customer-detail-inline .customer-accordion[open] > .customer-detail-list,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-summary,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-form {
    min-height: 0;
    max-height: none;
  }
}

.customer-workspace.has-detail {
  grid-template-columns: 1fr;
}

.customer-workspace.has-detail .customer-decision-board {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.customer-detail-inline {
  position: fixed;
  z-index: 5000;
  isolation: isolate;
  top: 50%;
  left: 50%;
  width: min(1120px, calc(100vw - 32px));
  height: min(780px, calc(100dvh - 32px));
  max-height: none;
  transform: translate(-50%, -50%);
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  grid-auto-rows: min-content;
  gap: 12px;
  overflow: auto;
  border: 1px solid #93c5fd;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0, #f8fbff 100%);
  box-shadow: 0 30px 80px rgba(15, 23, 42, .34);
  -webkit-overflow-scrolling: touch;
}

.customer-detail-inline.statement-open {
  width: min(1280px, calc(100vw - 20px));
}

.customer-detail-inline.statement-open .customer-detail-screen {
  grid-template-columns: minmax(0, 1fr);
}

.customer-detail-inline.statement-open .customer-detail-content {
  min-height: 610px;
}

.customer-detail-inline > .customer-accordion {
  display: none !important;
}

.customer-detail-screen {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 12px;
  min-height: 520px;
}

.customer-detail-screen.statement-screen {
  grid-template-columns: minmax(0, 1fr);
  min-height: 620px;
}

.customer-detail-screen.statement-screen .customer-detail-content {
  grid-column: 1;
}

.customer-detail-menu {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #eff6ff;
}

.customer-detail-menu button {
  min-height: 42px;
  border: 1px solid #bfdbfe;
  border-left: 5px solid transparent;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: #1e40af;
  text-align: left;
  font-weight: 950;
  cursor: pointer;
}

.customer-detail-menu button.active {
  border-left-color: #2563eb;
  background: linear-gradient(135deg, #dbeafe 0, #fff 100%);
  color: #1d4ed8;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .12);
}

.customer-detail-content {
  min-width: 0;
  overflow: auto;
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #fbfdff;
}

.customer-detail-content.preview-mode {
  padding: 0;
  border: 2px solid #2563eb;
  background: #fff;
  color: #0f172a;
}

.customer-preview-top {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 2px solid #2563eb;
  border-radius: 8px;
  background: #eff6ff;
  box-shadow: 0 12px 28px rgba(37, 99, 235, .12);
}

.customer-preview-top-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.customer-preview-top-head h3 {
  margin: 0;
  color: #1d4ed8;
  font-size: 15px;
}

.customer-preview-top-head small {
  display: block;
  margin-top: 2px;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.customer-preview-top-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.customer-preview-top-summary span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #fff;
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
}

.customer-preview-top-summary strong {
  color: #0f172a;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.customer-preview-top-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 8px;
  padding: 8px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #fff;
}

.customer-preview-top-row strong,
.customer-preview-top-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.customer-preview-top-row strong {
  color: #0f172a;
  font-size: 11px;
}

.customer-preview-top-row span {
  grid-column: 1 / -1;
  color: #475569;
  font-size: 10px;
}

.customer-preview-top-row b {
  color: #1d4ed8;
  font-size: 11px;
  white-space: normal;
  text-align: right;
}

.customer-intro-card-content {
  display: grid;
  gap: 10px;
}

.customer-detail-inline::before {
  content: "";
  position: fixed;
  inset: -40px;
  z-index: -1;
  background: rgba(15, 23, 42, .34);
}

.customer-detail-panel.customer-detail-inline {
  position: fixed !important;
  z-index: 5000 !important;
}

.customer-detail-inline > .line-toolbar:first-child {
  grid-column: 1 / -1;
  position: sticky;
  top: -14px;
  z-index: 4;
}

.customer-detail-inline > .customer-detail-summary {
  grid-column: 1 / -1;
}

.customer-detail-inline .customer-accordion {
  display: contents;
}

.customer-detail-inline .customer-accordion summary {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 44px;
  border: 1px solid #dbeafe;
  border-left: 5px solid #bfdbfe;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .06);
}

.customer-detail-inline .customer-accordion[open] summary {
  border-left-color: #2563eb;
  background: linear-gradient(135deg, #dbeafe 0, #fff 100%);
}

.customer-detail-inline .customer-accordion[open] > .customer-detail-list,
.customer-detail-inline .customer-accordion[open] > .customer-intro-summary,
.customer-detail-inline .customer-accordion[open] > .customer-intro-form {
  grid-column: 2;
  grid-row: 3 / span 8;
  height: calc(min(780px, calc(100dvh - 32px)) - 205px);
  max-height: none;
  min-height: 360px;
  overflow-y: auto;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #fbfdff;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .04);
}

.customer-detail-inline .customer-card-tab summary { order: 1; }
.customer-detail-inline .customer-status-tab summary { order: 2; }
.customer-detail-inline .customer-sales-tab summary { order: 3; }
.customer-detail-inline .customer-payments-tab summary { order: 4; }
.customer-detail-inline .customer-preview-tab summary { order: 5; }

@media (max-width: 820px) {
  .customer-workspace.has-detail .customer-decision-board,
  .customer-detail-inline {
    grid-template-columns: 1fr;
  }
  .customer-detail-inline {
    inset: 8px;
    top: 8px;
    left: 8px;
    width: auto;
    height: calc(100dvh - 16px);
    transform: none;
  }
  .customer-detail-screen {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .customer-preview-top-summary {
    grid-template-columns: 1fr;
  }
  .customer-preview-top-row {
    grid-template-columns: 1fr;
  }
  .customer-preview-top-row b {
    text-align: left;
  }
  .customer-detail-menu {
    grid-template-columns: 1fr;
  }
  .customer-detail-inline .customer-accordion summary,
  .customer-detail-inline .customer-accordion[open] > .customer-detail-list,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-summary,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-form,
  .customer-detail-inline .customer-accordion[open] > .customer-detail-body {
    grid-column: 1;
    grid-row: auto;
  }
  .customer-detail-inline .customer-accordion[open] > .customer-detail-list,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-summary,
  .customer-detail-inline .customer-accordion[open] > .customer-intro-form,
  .customer-detail-inline .customer-accordion[open] > .customer-detail-body {
    height: auto;
    min-height: 0;
    max-height: none;
  }
}



/* Final expense layout: same structure as Accounting Dashboard */
.expense-page.accounting-dashboard {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.expense-page .expense-hero-panel select {
  min-width: 128px;
  min-height: 34px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 7px;
  padding: 0 9px;
  background: rgba(255,255,255,.95);
  color: #0f172a;
  font-size: 12px;
  font-weight: 900;
}
.expense-page .expense-accounting-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(154px, 1fr));
  gap: 8px;
  align-items: stretch;
}
.expense-page .expense-card-board {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
}
.expense-page .expense-dashboard-grid {
  display: contents;
}
.expense-page .expense-entry-panel,
.expense-page .expense-task-panel,
.expense-page .expense-card-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 7px;
  min-width: 0;
  height: auto;
  min-height: 390px;
  max-height: none;
  overflow: hidden;
  padding: 10px;
  border-radius: 8px;
}
.expense-page .expense-card-panel {
  overflow: hidden;
}
.expense-page .expense-card-panel .line-toolbar {
  position: static;
  margin: 0;
  padding: 0;
  border-bottom: 0;
  background: transparent;
}
.expense-page .expense-task-list,
.expense-page .expense-group-list,
.expense-page .expense-record-grid {
  display: grid;
  align-content: start;
  gap: 6px;
  max-height: 315px;
  overflow: auto;
  padding-right: 2px;
}
.expense-page .expense-form {
  align-content: start;
  gap: 8px;
  min-height: 0;
  overflow: auto;
}
.expense-page .expense-mini-kpis {
  align-content: start;
}
.expense-page .expense-group-main {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
}
.expense-page .expense-group-main span {
  grid-column: 1;
}
.expense-page .expense-group-main b {
  grid-column: 2;
  grid-row: 1;
}
.expense-page .expense-group-main button {
  grid-column: 2;
  grid-row: 2;
}
.expense-page .expense-group-detail {
  max-height: 220px;
  overflow: auto;
}

@media (max-width: 1100px) {
  .expense-page .expense-accounting-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .expense-page .expense-card-board {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
  }
  .expense-page .expense-entry-panel,
  .expense-page .expense-task-panel,
  .expense-page .expense-card-panel {
    min-height: 330px;
  }
}

@media (max-width: 700px) {
  .expense-page .expense-hero-panel {
    align-items: start;
    flex-direction: column;
  }
  .expense-page .expense-accounting-grid {
    grid-template-columns: repeat(4, minmax(145px, 1fr));
  }
  .expense-page .expense-card-board {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }
  .expense-page .expense-entry-panel,
  .expense-page .expense-task-panel,
  .expense-page .expense-card-panel {
    min-height: 310px;
  }
}

.customer-hover-cell:hover .customer-hover-pop {
  display: none !important;
}

@media (max-width: 820px) {
  .order-customer-modal-summary,
  .order-customer-modal-grid {
    grid-template-columns: 1fr;
  }
}

.reporting-dashboard {
  display: grid;
  gap: 10px;
}
.reporting-head {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-left: 4px solid #2563eb;
}
.reporting-head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.reporting-head-copy {
  min-width: 0;
}
.reporting-head h1,
.reporting-head p,
.reporting-table-head h2,
.reporting-table-head p {
  margin: 0;
}
.reporting-head h1 {
  color: #0f172a;
  font-size: 28px;
  line-height: 1.05;
}
.reporting-head p,
.reporting-table-head p {
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
}
.reporting-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.reporting-range-summary {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 2px 10px;
  min-width: 258px;
  padding: 9px 12px;
  border: 1px solid #bfdbfe;
  border-left: 3px solid #2563eb;
  border-radius: 7px;
  background: #eff6ff;
  text-align: right;
}
.reporting-range-summary span {
  grid-row: 1 / span 2;
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.reporting-range-summary strong {
  color: #1e3a8a;
  font-size: 13px;
  white-space: nowrap;
}
.reporting-range-summary small {
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
}
.reporting-filterbar {
  display: flex;
  align-items: stretch;
  gap: 10px;
  padding: 8px;
  border: 1px solid #dbe3ee;
  border-radius: 7px;
  background: #f8fafc;
}
.reporting-date-editor {
  display: flex;
  align-items: stretch;
  min-width: 190px;
  margin-left: auto;
}
.reporting-date-editor.is-custom {
  min-width: 330px;
}
.reporting-date-editor label {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  padding: 4px 5px 4px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
}
.reporting-date-editor label span {
  flex: 0 0 auto;
  color: #64748b;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.reporting-date-editor input {
  width: 100%;
  min-width: 0;
  min-height: 28px;
  border: 0;
  border-left: 1px solid #e2e8f0;
  border-radius: 0;
  padding: 2px 7px;
  background: #fff;
  color: #0f172a;
  font-size: 12px;
  font-weight: 900;
  outline: none;
}
.reporting-date-editor label:focus-within {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .11);
}
.reporting-date-editor input:focus {
  box-shadow: none;
}
.reporting-custom-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
}
.reporting-period-modes,
.reporting-period-navigation {
  display: grid;
  align-items: center;
  gap: 3px;
}
.reporting-period-modes {
  grid-template-columns: repeat(4, minmax(72px, 1fr));
  padding: 3px;
  border: 1px solid #dbe3ee;
  border-radius: 6px;
  background: #fff;
}
.reporting-period-modes button {
  min-height: 32px;
  border: 0;
  border-radius: 5px;
  padding: 4px 10px;
  background: transparent;
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}
.reporting-period-modes button:hover {
  background: #eff6ff;
  color: #1d4ed8;
}
.reporting-period-modes button.active {
  background: #2563eb;
  color: #fff;
  box-shadow: 0 4px 10px rgba(37, 99, 235, .2);
}
.reporting-period-navigation {
  grid-template-columns: 34px auto 34px;
}
.reporting-period-navigation button {
  min-height: 38px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 0 10px;
  background: #fff;
  color: #334155;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}
.reporting-period-navigation button:first-child,
.reporting-period-navigation button:last-child {
  padding: 0;
  color: #1d4ed8;
  font-size: 20px;
}
.reporting-period-navigation button:hover {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #1d4ed8;
}
.reporting-actions label {
  display: grid;
  gap: 2px;
  color: #64748b;
  font-size: 9px;
  font-weight: 800;
}
.reporting-actions input {
  min-height: 34px;
  padding: 6px 9px;
}
.reporting-tabs {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding: 2px 0 5px;
  scrollbar-width: thin;
}
.reporting-tabs button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
}
.reporting-tabs button.active {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}
.reporting-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}
.reporting-kpis .metric {
  min-height: 78px;
  padding: 10px;
}
.reporting-kpis .metric span {
  font-size: 11px;
}
.reporting-kpis .metric strong {
  font-size: 14px;
  letter-spacing: 0;
  text-align: right;
  white-space: nowrap;
}
.reporting-table-panel {
  min-width: 0;
  padding: 12px;
}
.reporting-table-head {
  margin-bottom: 9px;
}
.reporting-actions input {
  width: min(240px, 26vw);
}
.reporting-table-wrap {
  width: 100%;
  max-height: calc(100vh - 355px);
  min-height: 280px;
  overflow: auto;
  border: 1px solid #dbe3ee;
}
.reporting-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 9px;
}
.reporting-summary-grid article {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #bfdbfe;
  border-top: 3px solid #2563eb;
  background: #eff6ff;
}
.reporting-summary-grid span,
.reporting-summary-grid strong {
  display: block;
}
.reporting-summary-grid span {
  color: #475569;
  font-size: 10px;
  font-weight: 700;
}
.reporting-summary-grid strong {
  margin-top: 4px;
  color: #172033;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.reporting-cost-confidence {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 9px;
  padding: 9px 11px;
  border: 1px solid #cbd5e1;
  border-left: 4px solid #64748b;
  background: #f8fafc;
}
.reporting-cost-confidence.is-strong {
  border-left-color: #2563eb;
  background: #eff6ff;
}
.reporting-cost-confidence.is-mixed {
  border-left-color: #d97706;
  background: #fffbeb;
}
.reporting-cost-confidence.is-weak {
  border-left-color: #dc2626;
  background: #fef2f2;
}
.reporting-cost-confidence strong,
.reporting-cost-confidence span {
  display: block;
}
.reporting-cost-confidence > div:first-child span {
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
}
.reporting-cost-confidence-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 12px;
  text-align: right;
}
.reporting-cost-confidence-values span {
  color: #64748b;
  font-size: 9px;
}
.reporting-cost-confidence-values b {
  display: block;
  margin-top: 2px;
  color: #172033;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.report-table-sales {
  table-layout: fixed;
}
.report-table-sales th:first-child,
.report-table-sales td:first-child {
  width: 17%;
}
.report-table-sales th:not(:first-child),
.report-table-sales td:not(:first-child) {
  width: 16.6%;
  text-align: right;
}
.reporting-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.reporting-table th,
.reporting-table td {
  padding: 7px 8px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  white-space: nowrap;
}
.reporting-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  background: #dbeafe;
  color: #1e3a8a;
  font-size: 10px;
  text-transform: uppercase;
}
.reporting-table th.is-sorted {
  background: #bfdbfe;
  color: #1e3a8a;
}
.report-sort-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  width: 100%;
  min-height: 24px;
  border: 0;
  border-radius: 4px;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 950;
  text-align: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.reporting-table th.numeric .report-sort-button {
  justify-content: flex-end;
}
.report-sort-button:hover,
.report-sort-button:focus-visible {
  background: rgba(255, 255, 255, .48);
  outline: none;
}
.report-sort-indicator {
  flex: 0 0 auto;
  min-width: 14px;
  color: #64748b;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}
.reporting-table th.is-sorted .report-sort-indicator {
  color: #1d4ed8;
}
.reporting-table tbody tr {
  cursor: pointer;
}
.reporting-table tbody tr:nth-child(even) {
  background: #f8fafc;
}
.reporting-table tbody tr:hover {
  background: #eff6ff;
}
.reporting-table th.numeric,
.reporting-table td.numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.reporting-table td.numeric {
  font-weight: 700;
}
.reporting-formula-note {
  display: flex;
  gap: 5px;
  padding-top: 9px;
  color: #64748b;
  font-size: 10px;
}
.reporting-formula-note strong {
  color: #1e3a8a;
}
.reporting-modal-backdrop {
  z-index: 90;
}
.reporting-detail-modal {
  width: min(1180px, 96vw);
  max-height: 88vh;
  overflow: auto;
}
.reporting-detail-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 12px 0;
}
.reporting-detail-summary article {
  min-width: 0;
  padding: 9px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
}
.reporting-detail-summary span,
.reporting-detail-summary strong {
  display: block;
}
.reporting-detail-summary span {
  color: #64748b;
  font-size: 10px;
}
.reporting-detail-summary strong {
  margin-top: 3px;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.reporting-source-list {
  display: grid;
  gap: 5px;
}
.reporting-source-list h3 {
  margin: 6px 0 2px;
}
.reporting-source-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 150px;
  gap: 10px;
  align-items: center;
  padding: 7px 9px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 11px;
}
.reporting-source-list article span {
  color: #64748b;
}
.reporting-source-list article b {
  text-align: right;
}
.product-sales-head,
.reporting-source-list article.product-sale-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.8fr) 100px 100px 120px 130px 130px;
  gap: 10px;
  align-items: center;
}
.product-sales-head {
  padding: 7px 9px;
  border-radius: 6px;
  background: #dbeafe;
  color: #1e3a8a;
  font-size: 10px;
  font-weight: 950;
}
.reporting-source-list article.product-sale-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reporting-source-list article.product-sale-row span:nth-of-type(n+2),
.reporting-source-list article.product-sale-row em {
  text-align: right;
  white-space: nowrap;
}
.reporting-source-list article.product-sale-row em {
  color: #15803d;
  font-style: normal;
  font-weight: 950;
}
.reporting-source-list article.product-sale-row em.negative {
  color: #dc2626;
}
.reporting-breakdown {
  margin-top: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #f8fbff;
  overflow: hidden;
}
.reporting-breakdown > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: center;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}
.reporting-breakdown > summary::-webkit-details-marker {
  display: none;
}
.reporting-breakdown > summary span {
  color: #1e3a8a;
  font-size: 13px;
  font-weight: 950;
}
.reporting-breakdown > summary strong {
  color: #0f172a;
  font-size: 12px;
}
.reporting-breakdown > summary small {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
}
.reporting-breakdown[open] > summary {
  border-bottom: 1px solid #bfdbfe;
  background: #dbeafe;
}
.sales-detail-source {
  padding: 8px;
  overflow-x: auto;
  background: #fff;
}
.sales-detail-head,
.reporting-source-list article.sales-detail-row {
  display: grid;
  grid-template-columns: 115px minmax(210px, 1.5fr) minmax(170px, 1.2fr) 95px 95px 110px 125px 125px 125px;
  gap: 9px;
  align-items: center;
  min-width: 1210px;
}
.sales-detail-head {
  padding: 7px 9px;
  border-radius: 6px;
  background: #e2e8f0;
  color: #334155;
  font-size: 10px;
  font-weight: 950;
}
.reporting-source-list article.sales-detail-row strong,
.reporting-source-list article.sales-detail-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reporting-source-list article.sales-detail-row span:nth-of-type(n+4),
.reporting-source-list article.sales-detail-row b,
.reporting-source-list article.sales-detail-row em {
  text-align: right;
}
.reporting-source-list article.sales-detail-row em {
  color: #15803d;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}
.reporting-source-list article.sales-detail-row em.negative {
  color: #dc2626;
}
.budget-report-breakdowns {
  display: grid;
  gap: 8px;
}
.budget-plan-source,
.budget-expense-source {
  padding: 8px;
  overflow-x: auto;
  background: #fff;
}
.budget-plan-head,
.reporting-source-list article.budget-plan-row {
  display: grid;
  grid-template-columns: 120px minmax(190px, 1.3fr) minmax(150px, 1fr) 100px minmax(220px, 1.5fr) 130px;
  gap: 9px;
  align-items: center;
  min-width: 980px;
}
.budget-expense-head,
.reporting-source-list article.budget-expense-row {
  display: grid;
  grid-template-columns: 100px minmax(160px, 1fr) minmax(280px, 2fr) 100px 140px;
  gap: 9px;
  align-items: center;
  min-width: 900px;
}
.budget-plan-head,
.budget-expense-head {
  padding: 7px 9px;
  border-radius: 6px;
  background: #e2e8f0;
  color: #334155;
  font-size: 10px;
  font-weight: 950;
}
.reporting-source-list article.budget-plan-row strong,
.reporting-source-list article.budget-plan-row span,
.reporting-source-list article.budget-expense-row strong,
.reporting-source-list article.budget-expense-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reporting-source-list article.budget-plan-row b,
.reporting-source-list article.budget-expense-row b {
  text-align: right;
  white-space: nowrap;
}
.finance-detail-source {
  padding: 8px;
  overflow-x: auto;
  background: #fff;
}
.finance-detail-head,
.reporting-source-list article.finance-detail-row {
  display: grid;
  grid-template-columns: 95px 120px minmax(230px, 1.6fr) 95px 120px 110px 110px 120px 135px;
  gap: 9px;
  align-items: center;
  min-width: 1220px;
}
.finance-detail-head {
  padding: 7px 9px;
  border-radius: 6px;
  background: #e2e8f0;
  color: #334155;
  font-size: 10px;
  font-weight: 950;
}
.reporting-source-list article.finance-detail-row strong,
.reporting-source-list article.finance-detail-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reporting-source-list article.finance-detail-row b {
  text-align: right;
  white-space: nowrap;
}
.customer-product-source {
  overflow-x: auto;
}
.customer-product-head,
.reporting-source-list article.customer-product-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.7fr) 100px 100px 120px 130px 130px 130px;
  gap: 10px;
  align-items: center;
  min-width: 980px;
}
.customer-product-head {
  padding: 7px 9px;
  border-radius: 6px;
  background: #dbeafe;
  color: #1e3a8a;
  font-size: 10px;
  font-weight: 950;
}
.reporting-source-list article.customer-product-row strong,
.reporting-source-list article.customer-product-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reporting-source-list article.customer-product-row span:nth-of-type(n+2),
.reporting-source-list article.customer-product-row b,
.reporting-source-list article.customer-product-row em {
  text-align: right;
}
.reporting-source-list article.customer-product-row em {
  color: #15803d;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}
.reporting-source-list article.customer-product-row em.negative {
  color: #dc2626;
}
.decision-impact-input {
  width: 125px;
  min-height: 29px;
  padding: 4px 7px;
}

@media (max-width: 1050px) {
  .reporting-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .reporting-detail-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-sales-source {
    overflow-x: auto;
  }
  .product-sales-head,
  .reporting-source-list article.product-sale-row {
    min-width: 850px;
  }
  .reporting-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .reporting-cost-confidence {
    align-items: stretch;
    flex-direction: column;
  }
  .reporting-cost-confidence-values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    text-align: left;
  }
  .reporting-filterbar {
    flex-wrap: wrap;
  }
  .reporting-period-modes {
    flex: 1 1 100%;
  }
  .reporting-date-editor {
    flex: 1 1 280px;
    margin-left: 0;
  }
  .reporting-table td {
    display: block;
    min-height: 52px;
    text-align: left !important;
  }
  .reporting-table td.numeric {
    text-align: right !important;
  }
  .reporting-table td::before {
    display: block;
    margin-bottom: 5px;
    text-align: left;
  }
}
@media (max-width: 700px) {
  .reporting-table-head {
    align-items: stretch;
    flex-direction: column;
  }
  .reporting-head {
    padding: 13px;
  }
  .reporting-head-top {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
  .reporting-head h1 {
    font-size: 24px;
  }
  .reporting-range-summary {
    min-width: 0;
    text-align: left;
  }
  .reporting-actions {
    flex-wrap: wrap;
  }
  .reporting-period-modes {
    width: 100%;
  }
  .reporting-period-modes button {
    min-width: 0;
    flex: 1 1 0;
    padding: 4px 5px;
    white-space: normal;
  }
  .reporting-date-editor,
  .reporting-date-editor.is-custom {
    flex-basis: 100%;
    min-width: 0;
  }
  .reporting-custom-range {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .reporting-custom-range label,
  .reporting-custom-range input {
    width: 100%;
  }
  .reporting-period-navigation {
    width: 100%;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
  }
  .reporting-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .reporting-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .reporting-table-wrap {
    max-height: none;
  }
  .reporting-source-list article {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .reporting-source-list article b {
    text-align: left;
  }
}

.pricing-v2 {
  display: grid;
  gap: 10px;
}
.pricing-v2-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-left: 4px solid var(--company-accent, #2563eb);
}
.pricing-v2-head h1,
.pricing-v2-head p,
.pricing-v2-panel-head h2,
.pricing-v2-panel-head h3,
.pricing-v2-panel-head p {
  margin: 0;
}
.pricing-v2-head p,
.pricing-v2-panel-head p {
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
}
.pricing-v2-head-actions,
.pricing-v2-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pricing-v2-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}
.pricing-v2-kpis .metric {
  min-height: 64px;
  padding: 8px 10px;
  gap: 4px;
}
.pricing-v2-kpis .metric span {
  font-size: 10px;
}
.pricing-v2-kpis .metric strong {
  font-size: 14px;
}
.pricing-v2-tabs {
  display: flex;
  gap: 6px;
  padding: 2px 0;
  overflow-x: auto;
}
.pricing-v2-tabs button {
  flex: 0 0 auto;
  min-height: 35px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
}
.pricing-v2-tabs button.active {
  border-color: var(--company-accent, #2563eb);
  background: var(--company-accent, #2563eb);
  color: #fff;
}
.pricing-v2-workspace {
  display: grid;
  grid-template-columns: minmax(200px, .82fr) minmax(190px, .78fr) minmax(360px, 1.45fr) minmax(220px, .9fr);
  gap: 9px;
  align-items: start;
  min-width: 0;
}
.pricing-v2-workspace > .panel {
  min-width: 0;
  height: calc(100vh - 290px);
  min-height: 530px;
  padding: 10px;
  overflow: auto;
}
.pricing-v2-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.pricing-v2-panel-head h2 {
  font-size: 15px;
}
.pricing-v2-panel-head h3 {
  font-size: 13px;
}
.pricing-v2-panel-head > span {
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
}
.pricing-v2-products > input {
  width: 100%;
  min-height: 34px;
  margin-bottom: 7px;
}
.pricing-v2-group-list,
.pricing-v2-product-list {
  display: grid;
  gap: 4px;
}
.pricing-v2-group-list {
  grid-template-columns: 1fr;
}
.pricing-v2-group-list button,
.pricing-v2-product-list button {
  display: grid;
  min-width: 0;
  border: 1px solid #dbe3ee;
  background: #f8fafc;
  color: #334155;
  text-align: left;
}
.pricing-v2-group-list button {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 42px;
  padding: 5px 7px;
}
.pricing-v2-group-list button strong,
.pricing-v2-product-list button strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pricing-v2-group-list button strong {
  font-size: 9px;
}
.pricing-v2-group-list button span {
  font-size: 9px;
}
.pricing-v2-product-list button {
  min-height: 44px;
  padding: 6px 8px;
}
.pricing-v2-product-list button strong {
  font-size: 10px;
}
.pricing-v2-product-list button span {
  margin-top: 2px;
  color: #64748b;
  font-size: 9px;
}
.pricing-v2-group-list button.active,
.pricing-v2-product-list button.active {
  border-color: var(--company-accent, #2563eb);
  border-left: 4px solid var(--company-accent, #2563eb);
  background: var(--company-soft-solid, #eff6ff);
  color: var(--company-strong, #1e3a8a);
}
.pricing-v2-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.pricing-v2-fields label,
.pricing-v2-list-fields label {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: #475569;
  font-size: 9px;
  font-weight: 850;
}
.pricing-v2-fields .wide,
.pricing-v2-list-fields .wide {
  grid-column: 1 / -1;
}
.pricing-v2-fields input,
.pricing-v2-fields select,
.pricing-v2-fields textarea,
.pricing-v2-list-fields input {
  width: 100%;
  min-height: 32px;
  padding: 5px 7px;
  font-size: 11px;
}
.pricing-v2-fields small {
  color: #64748b;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.25;
}
.pricing-v2-byproducts {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid #dbe3ee;
}
.pricing-v2-byproduct-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px 64px 38px;
  gap: 5px;
  align-items: center;
  margin-bottom: 5px;
}
.pricing-v2-byproduct-row input,
.pricing-v2-byproduct-row button {
  min-height: 30px;
  padding: 4px 6px;
  font-size: 10px;
}
.pricing-v2-byproduct-row strong {
  grid-column: 1 / 4;
  grid-row: 2;
  text-align: right;
  white-space: nowrap;
  font-size: 10px;
}
.pricing-v2-byproduct-row button {
  grid-column: 4;
  grid-row: 1 / 3;
  align-self: stretch;
}
.pricing-v2-result {
  border-top: 4px solid var(--company-accent, #2563eb);
}
.pricing-v2-result-list {
  display: grid;
  gap: 0;
  margin-bottom: 10px;
  border: 1px solid #dbe3ee;
}
.pricing-v2-result-list p {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin: 0;
  padding: 6px 7px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 10px;
}
.pricing-v2-result-list p:last-child {
  border-bottom: 0;
}
.pricing-v2-result-list span {
  color: #64748b;
}
.pricing-v2-result-list strong {
  text-align: right;
  white-space: nowrap;
}
.pricing-v2-price-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.pricing-v2-price-stack article {
  min-width: 0;
  padding: 8px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
}
.pricing-v2-price-stack article.primary {
  border-color: #86efac;
  background: #f0fdf4;
}
.pricing-v2-price-stack article.floor {
  border-color: #fde68a;
  background: #fffbeb;
}
.pricing-v2-price-stack span,
.pricing-v2-price-stack strong,
.pricing-v2-price-stack small {
  display: block;
}
.pricing-v2-price-stack span {
  color: #64748b;
  font-size: 9px;
  font-weight: 800;
}
.pricing-v2-price-stack strong {
  margin-top: 4px;
  text-align: right;
  white-space: nowrap;
  font-size: 13px;
}
.pricing-v2-price-stack small {
  margin-top: 3px;
  color: #64748b;
  text-align: right;
  white-space: nowrap;
  font-size: 8px;
  font-weight: 750;
}
.pricing-v2-formula {
  margin: 9px 0;
  padding: 7px;
  border-left: 3px solid #f59e0b;
  background: #fffbeb;
  color: #78350f;
  font-size: 9px;
  line-height: 1.35;
}
.pricing-v2-result > button {
  width: 100%;
  min-height: 38px;
}
.pricing-v2-table-panel {
  min-width: 0;
  padding: 11px;
}
.pricing-v2-table-wrap {
  max-height: calc(100vh - 330px);
  min-height: 380px;
  overflow: auto;
  border: 1px solid #dbe3ee;
}
.pricing-v2-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}
.pricing-v2-table th,
.pricing-v2-table td {
  padding: 7px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  white-space: nowrap;
}
.pricing-v2-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  background: #dbeafe;
  color: #1e3a8a;
}
.pricing-v2-table td.numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}
.pricing-v2-table td strong,
.pricing-v2-table td small {
  display: block;
}
.pricing-v2-table td small {
  margin-top: 2px;
  color: #64748b;
}
.pricing-v2-row-actions button {
  min-height: 28px;
  padding: 4px 7px;
  font-size: 9px;
}
.pricing-v2-list-layout {
  display: grid;
  grid-template-columns: minmax(420px, 1.15fr) minmax(360px, .85fr);
  gap: 9px;
  align-items: start;
}
.pricing-v2-list-layout > .panel {
  height: calc(100vh - 290px);
  min-height: 520px;
  overflow: auto;
}
.pricing-v2-list-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px 140px;
  gap: 7px;
  margin-bottom: 9px;
}
.pricing-v2-approved-list {
  display: grid;
  gap: 5px;
  margin-bottom: 9px;
}
.pricing-v2-approved-list label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 115px;
  gap: 7px;
  align-items: center;
  min-height: 44px;
  padding: 6px 8px;
  border: 1px solid #dbe3ee;
  background: #f8fafc;
}
.pricing-v2-approved-list label.disabled {
  opacity: .45;
}
.pricing-v2-approved-list span strong,
.pricing-v2-approved-list span small {
  display: block;
}
.pricing-v2-approved-list span strong {
  font-size: 10px;
}
.pricing-v2-approved-list span small {
  margin-top: 2px;
  color: #64748b;
  font-size: 9px;
}
.pricing-v2-approved-list b {
  text-align: right;
  white-space: nowrap;
  font-size: 10px;
}
.pricing-v2-list-builder > button {
  width: 100%;
  min-height: 38px;
}
.pricing-v2-saved-lists {
  display: grid;
  align-content: start;
  gap: 6px;
}
.pricing-v2-saved-lists > article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid #dbe3ee;
}
.pricing-v2-saved-lists article strong,
.pricing-v2-saved-lists article span,
.pricing-v2-saved-lists article small {
  display: block;
}
.pricing-v2-saved-lists article strong {
  font-size: 11px;
}
.pricing-v2-saved-lists article span,
.pricing-v2-saved-lists article small {
  margin-top: 2px;
  color: #64748b;
  font-size: 9px;
}
.pricing-v2-saved-lists article button {
  min-height: 30px;
  padding: 4px 8px;
  font-size: 9px;
}
@media (max-width: 1180px) {
  .pricing-v2-workspace {
    grid-template-columns: minmax(240px, .78fr) minmax(0, 1fr);
  }
  .pricing-v2-form,
  .pricing-v2-result {
    grid-column: 1 / -1;
  }
  .pricing-v2-result {
    height: auto !important;
    min-height: 0 !important;
  }
  .pricing-v2-result-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .pricing-v2-result-list p {
    display: block;
    border-right: 1px solid #e2e8f0;
  }
  .pricing-v2-result-list strong {
    display: block;
    margin-top: 4px;
  }
}
@media (max-width: 820px) {
  .pricing-v2-head {
    align-items: stretch;
    flex-direction: column;
  }
  .pricing-v2-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pricing-v2-workspace,
  .pricing-v2-list-layout {
    grid-template-columns: 1fr;
  }
  .pricing-v2-workspace > .panel,
  .pricing-v2-list-layout > .panel {
    height: auto;
    min-height: 0;
    max-height: none;
  }
  .pricing-v2-form,
  .pricing-v2-result {
    grid-column: auto;
  }
  .pricing-v2-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pricing-v2-group-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pricing-v2-table-wrap {
    max-height: none;
  }
  .pricing-v2-table td.numeric {
    text-align: right !important;
  }
  .pricing-v2-list-fields {
    grid-template-columns: 1fr 1fr;
  }
  .pricing-v2-list-fields .wide {
    grid-column: 1 / -1;
  }
}
@media (max-width: 520px) {
  .pricing-v2-fields,
  .pricing-v2-list-fields {
    grid-template-columns: 1fr;
  }
  .pricing-v2-fields .wide,
  .pricing-v2-list-fields .wide {
    grid-column: auto;
  }
  .pricing-v2-group-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pricing-v2-byproduct-row {
    grid-template-columns: 1fr 1fr;
  }
  .pricing-v2-byproduct-row input:first-child,
  .pricing-v2-byproduct-row strong {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .pricing-v2-byproduct-row button {
    grid-column: auto;
    grid-row: auto;
  }
  .pricing-v2-result-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pricing-v2-approved-list label,
  .pricing-v2-saved-lists > article {
    grid-template-columns: 20px minmax(0, 1fr);
  }
  .pricing-v2-approved-list b,
  .pricing-v2-saved-lists article button {
    grid-column: 2;
    text-align: left;
  }
}
.central-price-layout,
.customer-price-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
  gap: 12px;
  align-items: start;
}

.central-price-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.central-price-fields .wide { grid-column: 1 / -1; }

.central-company-picker {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 0;
}

.central-company-picker label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f8fafc;
}

.central-company-picker label.selected { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #dbeafe); }
.central-product-picker { display: grid; gap: 7px; margin-bottom: 10px; }
.central-product-picker > input { width: 100%; }
.central-product-search { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(220px, 1.3fr); gap: 7px; }
.central-product-search > select,
.central-product-search > input { width: 100%; min-width: 0; }
.central-product-catalog {
  display: grid;
  gap: 4px;
  padding: 7px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
}
.central-product-catalog-head { display: flex; align-items: center; gap: 8px; min-height: 30px; }
.central-product-catalog-head > span { color: #64748b; font-size: 11px; }
.central-product-pagination { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.central-product-pagination button { width: 28px; min-width: 28px; height: 28px; padding: 0; }
.central-product-pagination b { min-width: 46px; text-align: center; font-size: 11px; }
.central-product-catalog-columns,
.central-product-catalog-row { display: grid; grid-template-columns: 78px minmax(170px, 1fr) 105px 60px; gap: 7px; align-items: center; }
.central-product-catalog-columns { padding: 5px 7px; background: #f1f5f9; color: #475569; font-size: 11px; font-weight: 900; }
.central-product-catalog-row { min-height: 39px; padding: 4px 7px; border-bottom: 1px solid #e2e8f0; font-size: 12px; }
.central-product-catalog-row:last-child { border-bottom: 0; }
.central-product-catalog-row.selected { background: var(--company-soft-solid, #eff6ff); }
.central-product-catalog-row > span:nth-child(2) { display: grid; min-width: 0; }
.central-product-catalog-row strong,
.central-product-catalog-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.central-product-catalog-row small { color: #64748b; }
.central-product-catalog-row > b { text-align: right; font-size: 11px; }
.central-product-catalog-row > button { min-height: 29px; padding: 0 8px; font-size: 11px; }
.central-price-items { display: grid; gap: 5px; }
.central-price-item {
  display: grid;
  grid-template-columns: 90px minmax(180px, 1fr) 130px 80px 52px;
  gap: 7px;
  align-items: center;
  min-height: 38px;
  padding: 5px 7px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
}

.central-price-item.head { min-height: 30px; background: #f1f5f9; font-size: 12px; font-weight: 700; }
.central-price-saved,
.customer-price-rules { display: grid; gap: 7px; max-height: 690px; overflow: auto; }
.central-price-saved article,
.customer-price-rules article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  padding: 9px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
}

.central-price-saved article div,
.customer-price-rules article div,
.price-approval-title { display: grid; gap: 2px; min-width: 0; }
.price-approval-center { display: grid; gap: 8px; }
.price-approval-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(330px, 1.35fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 9px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
}

.price-approval-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.price-approval-steps span { display: grid; gap: 2px; padding: 6px; border-left: 3px solid #d1a347; background: #fff8df; }
.price-approval-steps span.done { border-color: #31836d; background: #e8f6f1; }
.price-approval-steps span.rejected { border-color: #c44a54; background: #fff0f1; }
.order-entry-price-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.order-line-price-source { display: block; color: var(--company-accent, #2563eb); margin-top: 3px; }
.product-mapping-page { display: grid; gap: 10px; }
.product-mapping-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.product-mapping-workspace { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr); gap: 10px; align-items: start; }
.product-mapping-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.product-mapping-filters > select:last-child { grid-column: 1 / -1; }
.product-mapping-rows { display: grid; gap: 4px; max-height: 600px; overflow: auto; padding-right: 3px; }
.product-mapping-group-head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; min-height: 30px; padding: 5px 8px; border-left: 4px solid var(--company-accent, #2563eb); background: #e8eef6; color: #24364d; }
.product-mapping-group-head strong { font-size: 11px; }
.product-mapping-group-head span { color: #64748b; font-size: 10px; font-weight: 800; }
.product-mapping-rows > button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 48px; padding: 6px 8px; border: 1px solid #dbe3ed; border-radius: 5px; background: #fff; color: #172033; text-align: left; }
.product-mapping-rows > button:hover,
.product-mapping-rows > button.active { border-color: var(--company-accent, #2563eb); background: var(--company-soft-solid, #eff6ff); }
.product-mapping-rows > button span { display: grid; min-width: 0; }
.product-mapping-rows strong,
.product-mapping-rows small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-mapping-rows small { color: #64748b; font-size: 10px; }
.product-mapping-detail { display: grid; gap: 12px; }
.product-mapping-arrow { display: grid; grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr); gap: 8px; align-items: stretch; }
.product-mapping-arrow > span { display: grid; place-items: center; color: var(--company-accent, #2563eb); font-size: 26px; font-weight: 900; }
.product-mapping-arrow article { display: grid; align-content: center; gap: 3px; min-height: 100px; padding: 10px; border: 1px solid #cbd5e1; border-left: 4px solid var(--company-accent, #2563eb); border-radius: 6px; background: #f8fafc; }
.product-mapping-arrow article small { color: #64748b; }
.product-mapping-arrow article b { color: var(--company-accent, #2563eb); }
.product-mapping-editor { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.product-mapping-editor label { display: grid; gap: 5px; }

@media (max-width: 980px) {
  .central-price-layout,
  .customer-price-layout { grid-template-columns: 1fr; }
  .price-approval-row { grid-template-columns: 1fr; }
  .product-mapping-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .central-price-fields { grid-template-columns: 1fr; }
  .central-price-fields .wide { grid-column: auto; }
  .central-price-item { grid-template-columns: 72px minmax(120px, 1fr) 95px 68px 44px; font-size: 12px; }
  .central-product-catalog-columns,
  .central-product-catalog-row { grid-template-columns: 58px minmax(130px, 1fr) 56px; }
  .central-product-catalog-columns span:nth-child(3),
  .central-product-catalog-row > b { display: none; }
  .price-approval-steps { grid-template-columns: 1fr; }
  .product-mapping-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-mapping-filters,
  .product-mapping-editor { grid-template-columns: 1fr; }
  .product-mapping-filters > select:last-child { grid-column: auto; }
  .central-product-search { grid-template-columns: 1fr; }
  .product-mapping-arrow { grid-template-columns: 1fr; }
  .product-mapping-arrow > span { min-height: 24px; transform: rotate(90deg); }
}

/* Expense quick-entry workspace */
.expense-page .expense-command-grid.expense-top-grid {
  display: grid;
  grid-template-columns: minmax(390px, 440px) minmax(0, 1fr);
  gap: 8px;
}

.payment-plan-message { margin: 8px 0 0; padding: 8px 10px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; color: #1e40af; font-size: 11px; font-weight: 900; }
.payment-plan-mode-switch { display: inline-grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 3px; margin-bottom: 8px; padding: 3px; border: 1px solid #cbd5e1; border-radius: 7px; background: #eef2f7; }
.payment-plan-mode-switch button { min-height: 32px; border: 0; border-radius: 5px; padding: 0 12px; background: transparent; color: #64748b; font-size: 10px; font-weight: 950; cursor: pointer; }
.payment-plan-mode-switch button.active { background: #fff; color: #1d4ed8; box-shadow: 0 1px 3px rgba(15, 23, 42, .14); }
.payment-plan-week-switch { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 6px; margin-bottom: 9px; }
.payment-plan-week-switch button { min-width: 0; min-height: 48px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 6px 9px; background: #f8fafc; color: #475569; text-align: left; cursor: pointer; }
.payment-plan-week-switch span,
.payment-plan-week-switch strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payment-plan-week-switch span { font-size: 9px; font-weight: 900; }
.payment-plan-week-switch strong { margin-top: 3px; color: #172033; font-size: 12px; text-align: right; }
.payment-plan-week-switch button.active { border-color: #2563eb; border-top: 3px solid #2563eb; background: #eff6ff; color: #1e40af; }
.payment-plan-update { display: grid; gap: 12px; }
.payment-plan-status-switch { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.payment-plan-status-switch button { min-height: 34px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #475569; font-size: 10px; font-weight: 950; cursor: pointer; }
.payment-plan-status-switch button.active { border-color: var(--company-accent, #2563eb); background: var(--company-accent, #2563eb); color: #fff; }
.payment-plan-update-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.payment-plan-update-grid label { display: grid; gap: 5px; color: #475569; font-size: 11px; font-weight: 900; }
.payment-plan-update-grid input, .payment-plan-update-grid select { min-height: 36px; border: 1px solid #cbd5e1; border-radius: 7px; padding: 0 9px; background: #fff; }
.payment-plan-update-grid .wide { grid-column: 1 / -1; }
.report-table-payment_plan td:last-child { font-weight: 900; }
.report-table-payment_plan { table-layout: fixed; font-size: 10px; }
.report-table-payment_plan th,
.report-table-payment_plan td { overflow: hidden; text-overflow: ellipsis; }
.report-table-payment_plan th:nth-child(1), .report-table-payment_plan td:nth-child(1) { width: 8%; }
.report-table-payment_plan th:nth-child(2), .report-table-payment_plan td:nth-child(2) { width: 10%; }
.report-table-payment_plan th:nth-child(3), .report-table-payment_plan td:nth-child(3) { width: 24%; }
.report-table-payment_plan th:nth-child(4), .report-table-payment_plan td:nth-child(4),
.report-table-payment_plan th:nth-child(5), .report-table-payment_plan td:nth-child(5) { width: 7%; }
.report-table-payment_plan th:nth-child(6), .report-table-payment_plan td:nth-child(6),
.report-table-payment_plan th:nth-child(8), .report-table-payment_plan td:nth-child(8) { width: 11%; }
.report-table-payment_plan th:nth-child(7), .report-table-payment_plan td:nth-child(7) { width: 10%; }
.report-table-payment_plan th:nth-child(9), .report-table-payment_plan td:nth-child(9) { width: 9%; }
.reporting-detail-actions { display: flex; align-items: center; gap: 6px; }
.payment-plan-group-detail { overflow-x: auto; border: 1px solid #dbe3ee; }
.payment-plan-group-head,
.payment-plan-group-row { display: grid; grid-template-columns: 105px minmax(185px, 1fr) 82px 100px 90px 100px 82px 252px; align-items: center; gap: 7px; min-width: 1080px; padding: 7px 9px; }
.payment-plan-group-head { position: sticky; top: 0; z-index: 1; background: #dbeafe; color: #1e3a8a; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.payment-plan-group-row { border-top: 1px solid #e2e8f0; font-size: 10px; }
.payment-plan-group-row:nth-child(odd) { background: #f8fafc; }
.payment-plan-group-row span,
.payment-plan-group-row strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payment-plan-customer-link { min-width: 0; overflow: hidden; padding: 0; border: 0; background: transparent; color: var(--company-accent, #1d4ed8); font: inherit; font-weight: 900; text-align: left; text-decoration: underline; text-underline-offset: 2px; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.payment-plan-customer-link:hover { color: #2563eb; }
.payment-plan-customer-link:focus-visible { outline: 2px solid var(--company-accent, #2563eb); outline-offset: 2px; }
.payment-plan-group-row b { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.payment-plan-group-row em { color: #b45309; font-style: normal; font-weight: 900; }
.payment-plan-group-row em.is-paid { color: #15803d; }
.payment-plan-row-actions { display: grid; grid-template-columns: 66px 94px 82px; gap: 4px; }
.payment-plan-row-actions button { min-height: 28px; border: 1px solid #cbd5e1; border-radius: 5px; padding: 3px 5px; background: #fff; color: #334155; font-size: 8px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.payment-plan-row-actions button.is-paid { border-color: #86efac; background: #f0fdf4; color: #15803d; }
.payment-plan-row-actions button.is-different { border-color: #93c5fd; background: #eff6ff; color: #1d4ed8; }
.payment-plan-row-actions button.is-cancel { border-color: #fca5a5; background: #fef2f2; color: #b91c1c; }
.payment-plan-row-actions button:disabled { opacity: .45; cursor: not-allowed; }
.expense-page .expense-top-grid > .expense-entry-panel,
.expense-page .expense-top-grid > .expense-full-list {
  grid-column: auto;
  height: 570px;
  min-height: 570px;
  max-height: 570px;
}
.expense-page .expense-top-grid > .expense-group-summary-panel {
  grid-column: 1 / -1;
  height: 250px;
  min-height: 250px;
  max-height: 250px;
}
.expense-page .expense-top-grid .expense-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.expense-page .expense-top-grid .expense-form .wide { grid-column: 1 / -1; }

@media (max-width: 900px) {
  .expense-page .expense-command-grid.expense-top-grid { grid-template-columns: 1fr; }
  .expense-page .expense-top-grid > .expense-group-summary-panel { grid-column: auto; }
}

@media (max-width: 560px) {
  .supplier-payment-form { grid-template-columns: 1fr; }
  .supplier-payment-form .wide,.supplier-payment-form-head { grid-column: auto; }
  .supplier-payment-head-actions { flex-wrap: wrap; justify-content: flex-end; }
  .advance-recovery-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expense-page .expense-top-grid .expense-form { grid-template-columns: 1fr; }
  .expense-page .expense-top-grid .expense-form .wide { grid-column: auto; }
  .expense-type-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expense-allocation-row { grid-template-columns: minmax(0, 1fr) 94px 30px; }
  .payment-plan-status-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-plan-mode-switch { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .payment-plan-week-switch { grid-template-columns: 1fr; }
  .payment-plan-update-grid { grid-template-columns: 1fr; }
  .payment-plan-update-grid .wide { grid-column: auto; }
}

/* Factory sales */
.factory-sales-page { display: grid; gap: 9px; }
.factory-sales-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; padding: 8px; }
.factory-sales-summary article { display: grid; gap: 3px; min-width: 0; padding: 8px 10px; border-left: 4px solid var(--company-accent, #b45309); background: #f8fafc; }
.factory-sales-summary article.warn { border-color: #d97706; background: #fff7ed; }
.factory-sales-summary article.safe { border-color: #15803d; background: #f0fdf4; }
.factory-sales-summary span { color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.factory-sales-summary strong { overflow: hidden; color: #172033; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.factory-sales-grid { display: grid; grid-template-columns: minmax(620px, 1.25fr) minmax(420px, .85fr); gap: 9px; align-items: start; }
.factory-sale-form, .factory-sale-history { display: grid; gap: 9px; min-width: 0; }
.factory-sale-head-fields { display: grid; grid-template-columns: 135px minmax(240px, 1fr) 150px; gap: 7px; }
.factory-instrument-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; padding: 8px; border: 1px solid #f5c278; border-radius: 6px; background: #fff8e8; }
.factory-instrument-fields label { display: grid; gap: 4px; color: #7c2d12; font-size: 10px; font-weight: 900; }
.factory-sale-head-fields label, .factory-sale-form > label, .factory-collection-modal label { display: grid; gap: 4px; color: #475569; font-size: 10px; font-weight: 900; }
.factory-sale-form input, .factory-sale-form select, .factory-sale-form textarea,
.factory-collection-modal input, .factory-collection-modal select { min-height: 34px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 6px 8px; background: #fff; color: #172033; }
.factory-sale-form textarea { min-height: 48px; resize: vertical; }
.factory-sale-lines { display: grid; gap: 4px; min-width: 0; }
.factory-sale-line { display: grid; grid-template-columns: minmax(210px, 1.7fr) 78px 76px 94px 70px 108px 42px; gap: 5px; align-items: center; min-width: 0; }
.factory-sale-line.head { min-height: 28px; padding: 0 5px; background: #e8eef6; color: #334155; font-size: 9px; text-transform: uppercase; }
.factory-sale-line > * { min-width: 0; }
.factory-sale-line > strong { padding-right: 4px; color: #172033; font-size: 11px; text-align: right; white-space: nowrap; }
.factory-sale-stock-conversion { display: block; margin-top: 2px; color: #64748b; font-size: 8px; font-weight: 600; white-space: normal; }
.factory-sale-line .inline-action { min-width: 0; padding: 5px; }
.factory-add-line { width: max-content; }
.factory-sale-total { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: center; padding: 9px 11px; border: 1px solid #fdba74; border-radius: 6px; background: #fff7ed; color: #7c2d12; font-size: 11px; }
.factory-sale-total strong { font-size: 17px; text-align: right; }
.factory-sale-history { max-height: 720px; overflow: auto; }
.factory-sale-card { border: 1px solid #dbe3ed; border-radius: 6px; background: #fff; }
.factory-sale-card.cancelled { opacity: .62; }
.factory-sale-card summary { display: grid; grid-template-columns: 92px minmax(120px, 1fr) 82px 105px auto; gap: 7px; align-items: center; min-height: 42px; padding: 7px 9px; cursor: pointer; font-size: 10px; }
.factory-sale-card summary strong, .factory-sale-card summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.factory-sale-detail { display: grid; gap: 5px; padding: 8px; border-top: 1px solid #e2e8f0; background: #f8fafc; }
.factory-sale-detail > p { display: grid; grid-template-columns: minmax(150px, 1fr) 90px 125px 105px; gap: 7px; align-items: center; margin: 0; padding: 5px 6px; border-bottom: 1px solid #e2e8f0; font-size: 10px; }
.factory-sale-detail > p strong, .factory-sale-detail > p b { text-align: right; white-space: nowrap; }
.factory-sale-payments { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.factory-sale-payments span { padding: 6px; border-left: 3px solid var(--company-accent, #b45309); background: #fff; font-size: 9px; font-weight: 800; }
.factory-collection-modal { width: min(430px, calc(100vw - 28px)); display: grid; gap: 9px; }

@media (max-width: 1150px) {
  .factory-sales-grid { grid-template-columns: 1fr; }
  .factory-sale-history { max-height: none; }
}

@media (max-width: 720px) {
  .factory-sales-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .factory-sale-head-fields { grid-template-columns: 1fr; }
  .factory-instrument-fields { grid-template-columns: 1fr; }
  .factory-sale-line.head { display: none; }
  .factory-sale-line { grid-template-columns: minmax(145px, 1fr) 68px 62px; padding: 7px; border: 1px solid #dbe3ed; border-radius: 6px; }
  .factory-sale-line > :nth-child(4), .factory-sale-line > :nth-child(5), .factory-sale-line > :nth-child(6) { grid-row: 2; }
  .factory-sale-line > :nth-child(7) { grid-column: 3; grid-row: 2; }
  .factory-sale-total { grid-template-columns: 1fr; }
  .factory-sale-total strong { text-align: left; }
  .factory-sale-card summary { grid-template-columns: 80px minmax(110px, 1fr) auto; }
  .factory-sale-card summary > :nth-child(3), .factory-sale-card summary > :nth-child(4) { display: none; }
  .factory-sale-detail > p { grid-template-columns: 1fr auto; }
  .factory-sale-detail > p > :nth-child(3), .factory-sale-detail > p > :nth-child(4) { grid-column: auto; }
  .factory-sale-payments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Factory collections and supplier payments */
.factory-finance-page { display: grid; gap: 9px; }
.factory-finance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; padding: 8px; }
.factory-finance-summary article { display: grid; gap: 3px; min-width: 0; padding: 9px 11px; border-left: 4px solid #64748b; background: #f8fafc; }
.factory-finance-summary article.income { border-color: #0f766e; background: #f0fdfa; }
.factory-finance-summary article.expense { border-color: #dc2626; background: #fef2f2; }
.factory-finance-summary article.receivable { border-color: #2563eb; background: #eff6ff; }
.factory-finance-summary article.payable { border-color: #b45309; background: #fff7ed; }
.factory-finance-summary span { color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.factory-finance-summary strong { overflow: hidden; color: #172033; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.factory-finance-message { margin: 0; padding: 8px 12px; }
.factory-finance-forms,
.factory-finance-history { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; align-items: start; }
.factory-finance-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; border-top: 4px solid #0f766e; }
.factory-finance-form.payment { border-top-color: #dc2626; }
.factory-finance-form .wide { grid-column: 1 / -1; }
.factory-finance-form label { display: grid; gap: 4px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.factory-finance-form input,
.factory-finance-form select { width: 100%; min-width: 0; min-height: 34px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 6px 8px; background: #fff; color: #172033; }
.factory-finance-balance { margin: 0; padding: 7px 9px; border-left: 3px solid #d97706; background: #fff7ed; color: #7c2d12; font-size: 10px; font-weight: 900; }
.factory-finance-list { display: grid; gap: 4px; min-width: 0; overflow: hidden; }
.factory-finance-row { display: grid; grid-template-columns: 78px minmax(145px, 1fr) 92px 100px 105px; gap: 7px; align-items: center; min-height: 38px; padding: 6px 8px; border-bottom: 1px solid #e2e8f0; font-size: 10px; }
.factory-finance-row.payment { grid-template-columns: 78px minmax(130px, 1fr) 88px 95px 100px 44px; }
.factory-finance-row.head { min-height: 28px; background: #e8eef6; color: #334155; font-size: 8px; text-transform: uppercase; }
.factory-finance-row > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.factory-finance-row > span:nth-last-child(1),
.factory-finance-row > strong:nth-last-child(1) { text-align: right; }
.factory-finance-row span > strong,
.factory-finance-row span > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.factory-finance-row span > small { margin-top: 2px; color: #64748b; font-size: 8px; }
.factory-finance-row .inline-action { min-width: 0; padding: 5px; }

.cash-edit-modal { width: min(620px, calc(100vw - 28px)); display: grid; gap: 10px; }
.cash-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cash-edit-grid label { display: grid; gap: 4px; min-width: 0; color: #475569; font-size: 10px; font-weight: 900; }
.cash-edit-grid input,
.cash-edit-grid select { width: 100%; min-width: 0; min-height: 35px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 6px 8px; background: #fff; color: #172033; }
.cash-edit-grid .wide { grid-column: 1 / -1; }
.cash-edit-customer { grid-column: 1 / -1; margin: 0; padding: 7px 9px; border-left: 3px solid #2563eb; background: #eff6ff; color: #1e3a8a; font-size: 10px; font-weight: 900; }

@media (max-width: 1000px) {
  .factory-finance-forms,
  .factory-finance-history { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .factory-finance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .factory-finance-form { grid-template-columns: 1fr; }
  .factory-finance-form .wide { grid-column: auto; }
  .factory-finance-list { overflow-x: auto; }
  .factory-finance-row { min-width: 590px; }
  .factory-finance-row.payment { min-width: 650px; }
  .cash-edit-grid { grid-template-columns: 1fr; }
  .cash-edit-grid .wide,
  .cash-edit-customer { grid-column: auto; }
}

.manual-payment-list { margin: 12px 0; border-bottom: 1px solid #cbd5e1; padding-bottom: 12px; }
.manual-payment-list h3 { font-size: 15px; margin: 8px 0; }
.payment-week-tabs button { display: flex; align-items: center; gap: 8px; }
.manual-payment-group { border-bottom: 1px solid #dbe3ec; }
.manual-payment-group summary { display: flex; align-items: center; gap: 12px; padding: 12px 8px; cursor: pointer; background: #eef4fa; }
.manual-payment-group summary::before { content: ">"; font-weight: bold; }
.manual-payment-group[open] summary::before { transform: rotate(90deg); }
.manual-payment-group summary span { color: #475569; font-size: 12px; }
.manual-payment-group summary b { margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.manual-payment-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.manual-payment-table th { text-align: left; background: #eef4fa; }
.manual-payment-table th, .manual-payment-table td { padding: 7px; border-bottom: 1px solid #dbe3ec; }
.manual-payment-table input, .manual-payment-table select { width: 100%; min-width: 105px; font-size: 12px; padding: 6px; }
.manual-payment-table td:nth-child(6) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.manual-payment-table input[type="checkbox"] { width: 16px; min-width: 16px; height: 16px; padding: 0; }
.reporting-kpis.simple-payment-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simple-payment-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.simple-payment-table th { background: #eef4fa; text-align: left; }
.simple-payment-table th, .simple-payment-table td { padding: 10px 8px; border-bottom: 1px solid #dbe3ec; }
.simple-payment-table td:nth-child(n+4) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.simple-payment-customer { border: 0; background: transparent; color: inherit; padding: 0; text-align: left; font-size: 12px; font-weight: 600; }
.simple-payment-customer:hover { text-decoration: underline; }
.simple-payment-warning { display: block; color: #92400e; font-size: 10px; }
.simple-payment-detail { width: min(1180px, 96vw); }
.cari-registry { min-width: 0; }
.cash-statement-balances { display: flex; flex-direction: column; gap: 12px; margin: 10px 0; padding: 10px; border: 1px solid #bfdbfe; background: #eff6ff; }
.cash-statement-balances span { font-size: 12px; }
.cash-statement-balances strong { display: block; margin-top: 4px; font-variant-numeric: tabular-nums; }
.negotiable-layout.mikro-portfolio-layout { grid-template-columns: minmax(0, 1fr); }
.negotiable-table th .negotiable-sort { border: 0; background: transparent; color: inherit; padding: 0; font: inherit; text-align: inherit; white-space: normal; cursor: pointer; box-shadow: none; }
.cari-registry-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.cari-registry-table th, .cari-registry-table td { padding: 9px 8px; border-bottom: 1px solid #dbe3ec; text-align: left; vertical-align: middle; }
.cari-registry-table th { background: #eef4fa; }
.cari-registry-table td:first-child { min-width: 180px; max-width: 320px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .reporting-kpis.simple-payment-kpis { grid-template-columns: 1fr; }
  .simple-payment-table th, .simple-payment-table td { padding: 8px 5px; }
}
