:root{--purple: #6425fe;--purple-600: #5419e8;--purple-700: #3e0fb0;--purple-900: #2a0a7a;--purple-soft: #ede7fe;--mint: #a6f7e2;--skyblue: #aed1fb;--yellow: #ffe5a5;--pink: #f6d0ec;--lavender: #e1d6fe;--dark-card: #211d2e;--page-bg: #ece6fc;--bg: #f7f5fe;--bg-2: #f1ecfd;--panel: #ffffff;--panel-2: #faf8ff;--elev: #f4f0fe;--line: #e8e1fb;--line-soft: #f1ecfb;--text: #1e1b2e;--text-dim: #6c6683;--text-mute: #9a93b3;--ok: #16b878;--ok-bg: rgba(22, 184, 120, .14);--warn: #e2a100;--warn-bg: rgba(226, 161, 0, .15);--danger: #ef4b76;--danger-bg: rgba(239, 75, 118, .13);--info: #4c8dfb;--info-bg: rgba(76, 141, 251, .14);--radius: 20px;--radius-sm: 12px;--shadow: 0 12px 28px rgba(100, 37, 254, .09), 0 2px 8px rgba(30, 27, 46, .05);--shadow-sm: 0 4px 14px rgba(100, 37, 254, .08);--font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--page-bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--text-mute)}.link{color:var(--purple);text-decoration:none;font-size:.9rem}.link:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 17px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s,transform .08s;white-space:nowrap;color:var(--text);background:transparent}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn__icon{margin-left:-2px}.btn--sm{padding:6px 13px;font-size:.85rem}.btn--block{width:100%;justify-content:center}.btn--primary{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 6px 16px #6425fe47}.btn--primary:hover:not(:disabled){background:var(--purple-600);border-color:var(--purple-600)}.btn--outline{border-color:var(--line);color:var(--text);background:var(--panel-2)}.btn--outline:hover:not(:disabled){border-color:var(--purple-600);background:var(--elev)}.btn--ghost{color:var(--text-dim);border-color:transparent;background:transparent}.btn--ghost:hover:not(:disabled){background:var(--elev);color:var(--text)}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.08)}.btn--dark{background:var(--dark-card);border-color:var(--dark-card);color:#fff}.btn--dark:hover:not(:disabled){filter:brightness(1.15)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .12s,color .12s}.icon-btn:hover{background:var(--elev);color:var(--purple)}.icon-btn--danger:hover{background:var(--danger-bg);color:var(--danger)}.input,.select,.textarea{width:100%;padding:10px 13px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px #6425fe2e}.input::placeholder,.textarea::placeholder{color:var(--text-mute)}.input--error{border-color:var(--danger)}.input--error:focus{box-shadow:0 0 0 3px #ef4b7633}.textarea{resize:vertical;min-height:42px}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-mute) 50%),linear-gradient(135deg,var(--text-mute) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}input[type=date],input[type=datetime-local]{color-scheme:light}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:.8rem;font-weight:600;color:var(--text-dim)}.field__req{color:var(--danger);margin-left:3px}.field__hint{font-size:.76rem;color:var(--text-mute)}.field__error{font-size:.78rem;color:var(--danger)}.pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.5}.pill--ok{background:var(--ok-bg);color:var(--ok)}.pill--warn{background:var(--warn-bg);color:var(--warn)}.pill--danger{background:var(--danger-bg);color:var(--danger)}.pill--info{background:var(--info-bg);color:var(--info)}.pill--muted{background:var(--elev);color:var(--text-mute)}.tag{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700}.tag--in{background:var(--ok-bg);color:var(--ok)}.tag--out{background:var(--danger-bg);color:var(--danger)}.tag--good{background:var(--info-bg);color:var(--info)}.tag--bad{background:var(--warn-bg);color:var(--warn)}.tag--adj{background:var(--elev);color:var(--text-dim)}.alert{padding:11px 14px;border-radius:var(--radius-sm);font-size:.88rem;border:1px solid transparent}.alert--error{background:var(--danger-bg);color:var(--danger);border-color:#ef4b7659}.login{min-height:100%;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(100,37,254,.12) 0%,var(--page-bg) 55%);padding:40px}.login__panel{width:400px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:34px 32px;box-shadow:var(--shadow)}.login__brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.login__mark,.brand__mark{object-fit:contain;flex-shrink:0}.login__mark{width:52px;height:52px}.user__avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;font-size:.85rem;font-weight:800;letter-spacing:.5px;color:#fff;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-700) 100%)}.login__title{margin:0;font-size:1.5rem;letter-spacing:.3px}.login__sub{margin:2px 0 0;color:var(--text-mute);font-size:.82rem}.login__form{display:flex;flex-direction:column;gap:16px}.login__foot{margin:22px 0 0;text-align:center;color:var(--text-mute);font-size:.76rem}.shell{display:grid;grid-template-columns:264px 1fr;margin:18px;min-height:calc(100vh - 36px);background:var(--panel);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:18px;height:calc(100vh - 36px)}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.brand__mark{width:40px;height:40px;border-radius:12px;font-size:.95rem}.brand__text{display:flex;flex-direction:column}.brand__name{font-weight:800;letter-spacing:.3px;font-size:1.02rem}.brand__sub{font-size:.72rem;color:var(--text-mute)}.sidebar__label{padding:0 12px;margin:4px 0 8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute)}.nav{display:flex;flex-direction:column;gap:3px}.nav__link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;color:var(--text-dim);text-decoration:none;font-weight:600;font-size:.9rem;transition:background .12s,color .12s}.nav__link:hover{background:var(--elev);color:var(--text)}.nav__link.is-active{background:var(--purple-soft);color:var(--purple)}.nav__icon{color:currentColor;flex-shrink:0}.sidebar__tip{margin-top:22px;padding:16px;border-radius:18px;background:linear-gradient(160deg,var(--mint) 0%,#d7fbef 100%);text-align:center}.sidebar__tip-icon{width:34px;height:34px;margin:0 auto 8px;border-radius:50%;background:#fff9;display:grid;place-items:center;color:#0f7a5d}.sidebar__tip-title{margin:0 0 6px;font-size:.78rem;font-weight:800;color:#0f7a5d}.sidebar__tip-body{margin:0;font-size:.76rem;line-height:1.5;color:#12604a}.sidebar__foot{margin-top:auto;padding-top:14px}.sidebar__logout{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;color:var(--text-dim);text-decoration:none;font-weight:600;font-size:.9rem;background:none;border:none;cursor:pointer;font-family:inherit;width:100%;text-align:left}.sidebar__logout:hover{background:var(--danger-bg);color:var(--danger)}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--panel);border-bottom:1px solid var(--line-soft);position:sticky;top:18px;z-index:20}.topbar__title{font-weight:700;color:var(--text);font-size:1.05rem}.topbar__right{display:flex;align-items:center;gap:18px}.user{display:flex;align-items:center;gap:9px}.user__badge{background:var(--purple-soft);color:var(--purple);padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700}.user__name{font-weight:600;font-size:.9rem}.content{padding:26px 28px 48px;max-width:1600px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-head__title{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:.2px}.page-head__sub{margin:5px 0 0;color:var(--text-mute);font-size:.88rem}.page-head__actions{display:flex;gap:10px;flex-shrink:0}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;gap:13px;align-items:center;box-shadow:var(--shadow-sm)}.kpi__icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff9;color:var(--text);flex-shrink:0}.kpi--mint{background:var(--mint);border-color:transparent}.kpi--skyblue{background:var(--skyblue);border-color:transparent}.kpi--yellow{background:var(--yellow);border-color:transparent}.kpi--pink{background:var(--pink);border-color:transparent}.kpi--lavender{background:var(--lavender);border-color:transparent}.kpi--amber .kpi__icon,.kpi--red .kpi__icon{background:#fff9}.kpi__body{display:flex;flex-direction:column;min-width:0}.kpi__label{font-size:.76rem;color:var(--text-dim);font-weight:700}.kpi__value{font-size:1.32rem;font-weight:800;letter-spacing:.2px;margin-top:2px;color:var(--text);white-space:nowrap}.kpi__value.is-alert{color:var(--danger)}.kpi__hint{font-size:.72rem;color:var(--text-dim)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm)}.panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel__title{margin:0;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px}.panel__icon{color:var(--warn)}.crit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.crit-item{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius-sm)}.crit-item__info{display:flex;flex-direction:column}.crit-item__sku{font-family:var(--mono);font-size:.76rem;color:var(--text-mute)}.crit-item__name{font-weight:600;font-size:.88rem}.crit-item__stock{display:flex;align-items:center;gap:10px}.crit-item__min{font-size:.74rem;color:var(--text-mute)}.fase-note{margin-top:20px;display:flex;align-items:center;gap:8px;padding:12px 15px;background:var(--info-bg);border:1px solid rgba(76,141,251,.3);border-radius:var(--radius-sm);color:var(--info);font-size:.84rem}.fase-note__icon{color:var(--info);flex-shrink:0}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.toolbar--wrap{flex-wrap:wrap}.toolbar__field--grow{flex:1;min-width:280px}.toolbar__date{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--text-dim)}.toolbar__date .input{width:auto}.search{position:relative;flex:1;max-width:420px}.search__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-mute)}.search__input{width:100%;padding:10px 13px 10px 38px;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;color:var(--text);font-family:inherit;font-size:.9rem}.search__input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px #6425fe2e}.toolbar .select{width:auto;min-width:150px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto;background:var(--panel);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table thead th{text-align:left;padding:13px 16px;background:var(--panel-2);color:var(--text-dim);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);position:sticky;top:0;white-space:nowrap}.table tbody td{padding:12px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--panel-2)}.table--compact thead th,.table--compact tbody td{padding:7px 10px;font-size:.82rem}.table-wrap--movements .table tbody td{white-space:nowrap}.table__state{text-align:center;padding:34px!important;color:var(--text-mute)}.row--low{background:#e2a1000f}.row--low:hover{background:#e2a1001a!important}.row--total{background:var(--bg-2);font-weight:700}.row--total:hover{background:var(--bg-2)!important}.cell-name{display:flex;align-items:center;gap:8px}.row-actions{display:flex;gap:4px;justify-content:flex-end}.qty{font-family:var(--mono);font-weight:700}.qty--pos{color:var(--ok)}.qty--neg{color:var(--danger)}.qty--bad{color:var(--warn)}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.pager__info{font-size:.82rem;color:var(--text-mute)}.pager__controls{display:flex;align-items:center;gap:10px}.pager__page{font-size:.84rem;color:var(--text-dim)}.form-layout{display:grid;grid-template-columns:minmax(0,620px) 320px;gap:22px;align-items:start}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}.form-card{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.field--wide{grid-column:1 / -1}.form-card__foot{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-top:4px;border-top:1px solid var(--line-soft);padding-top:16px}.side{display:flex;flex-direction:column;gap:16px}.split-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.split-input{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--bg-2)}.split-inputs--3col{grid-template-columns:1fr 1fr 1fr}.split-input--good{border-left:3px solid var(--ok)}.split-input--bad{border-left:3px solid var(--warn)}.split-input--lost{border-left:3px solid var(--danger)}.split-input__head{display:flex;align-items:center;gap:7px;font-weight:700;font-size:.9rem}.split-input--good .split-input__head{color:var(--ok)}.split-input--bad .split-input__head{color:var(--warn)}.split-input--lost .split-input__head{color:var(--danger)}.split-input__desc{margin:5px 0 10px;font-size:.75rem;color:var(--text-mute)}.outstanding-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);font-size:.84rem;line-height:1.5}.outstanding-banner.is-ok{background:var(--ok-bg);color:var(--ok)}.outstanding-banner.is-warn{background:var(--warn-bg);color:var(--warn)}.outstanding-banner b{color:inherit}.tier-section{display:flex;flex-direction:column;gap:10px}.tier-lines{display:flex;flex-direction:column;gap:8px}.tier-line{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr auto auto;gap:8px;align-items:center}.tier-line__subtotal{font-size:.82rem;color:var(--text-dim);font-family:var(--mono);white-space:nowrap}.tier-total{margin:0;font-size:.85rem;color:var(--text-dim)}.tier-total b{color:var(--text)}.product-lines{display:flex;flex-direction:column;gap:10px}.product-line{display:grid;grid-template-columns:1fr 140px auto;gap:10px;align-items:start}.product-line__qty{display:flex;flex-direction:column;gap:4px}.product-line__hint{grid-column:1 / -1;margin:-4px 0 0;font-size:.78rem;color:var(--danger)}.product-lines__add{align-self:flex-start}.return-lines{display:flex;flex-direction:column;gap:16px}.return-line-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);padding:16px;display:flex;flex-direction:column;gap:14px}.return-line-card__head{display:flex;gap:10px;align-items:flex-start}.return-line-card__head .pselect{flex:1}.return-line-card__index{display:flex;align-items:center;justify-content:center;width:26px;height:38px;font-weight:700;color:var(--text-mute);font-size:.82rem;flex-shrink:0}.grand-total-bar{display:flex;gap:28px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--ok-bg);border:1px solid var(--ok)}.grand-total-bar__item{display:flex;flex-direction:column;gap:2px}.grand-total-bar__label{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.grand-total-bar__value{font-size:1.25rem;font-weight:800;color:var(--ok);font-family:var(--mono)}.tier-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px}.tier-list__row{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2)}.tier-list__row.is-inactive{opacity:.55}.tier-list__label{flex:1;font-weight:600}.tier-list__minqty{font-size:.78rem;color:var(--text-mute);width:90px}.tier-list__price{font-family:var(--mono);color:var(--text-dim)}.tier-add{display:grid;grid-template-columns:1.6fr 1fr 1fr auto auto;gap:8px;align-items:center}.block-error{grid-column:1 / -1;display:flex;gap:13px;padding:15px 17px;background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-sm)}.block-error__icon{color:var(--danger);flex-shrink:0;margin-top:2px}.block-error__title{color:var(--danger);font-size:1rem}.block-error__body{margin:4px 0 0;color:var(--danger);font-size:.86rem;line-height:1.5}.block-error__body b{color:var(--danger)}.stock-card__head{display:flex;flex-direction:column;gap:3px;padding-bottom:14px;border-bottom:1px solid var(--line-soft);margin-bottom:14px}.stock-card__sku{font-size:.76rem;color:var(--text-mute)}.stock-card__name{font-weight:700;font-size:.98rem}.stock-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.stock-card__stat{display:flex;flex-direction:column;gap:3px}.stock-card__stat-label{font-size:.74rem;color:var(--text-mute)}.stock-card__stat-value{font-size:1.5rem;font-weight:800;color:var(--ok)}.stock-card__stat-value small{font-size:.7rem;font-weight:600;color:var(--text-mute)}.stock-card__stat-value.is-low,.stock-card__stat-value--bad{color:var(--warn)}.stock-card__meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.78rem;color:var(--text-dim);align-items:center}.stock-card--empty{text-align:center;padding:30px 22px}.result-card{display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--ok)}.result-card__label{font-size:.74rem;color:var(--text-mute)}.result-card__value{font-size:1.4rem;font-weight:800;color:var(--ok);font-family:var(--mono)}.result-card__sub{font-size:.8rem;color:var(--text-dim)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px}.form-note{margin:16px 0 0;padding:10px 13px;background:var(--bg-2);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-mute)}.pselect{position:relative}.pselect__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-mute);font-size:1.2rem;cursor:pointer;line-height:1}.pselect__clear:hover{color:var(--text)}.pselect__menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:300px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:5px}.pselect__opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 11px;border:none;background:transparent;border-radius:9px;cursor:pointer;text-align:left;color:var(--text);font-family:inherit}.pselect__opt.is-active{background:var(--purple);color:#fff}.pselect__opt.is-active .pselect__sku,.pselect__opt.is-active .pselect__opt-stock{color:#ffffffbf}.pselect__opt.is-selected{outline:1px solid var(--purple-700)}.pselect__opt-main{display:flex;flex-direction:column;gap:2px;min-width:0}.pselect__sku{font-family:var(--mono);font-size:.74rem;color:var(--text-mute)}.pselect__name{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pselect__opt-stock{font-size:.76rem;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.pselect__empty{padding:14px;text-align:center;color:var(--text-mute);font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e143c73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:100;padding:40px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);width:100%;display:flex;flex-direction:column;max-height:calc(100vh - 80px)}.modal--sm{max-width:440px}.modal--md{max-width:620px}.modal--lg{max-width:940px}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line-soft)}.modal__title{margin:0;font-size:1.1rem;font-weight:700}.modal__x{background:none;border:none;color:var(--text-mute);font-size:1.5rem;line-height:1;cursor:pointer}.modal__x:hover{color:var(--text)}.modal__body{padding:22px 24px;overflow-y:auto}.modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--line-soft)}.confirm-msg{margin:0;line-height:1.55;color:var(--text-dim)}.import{display:flex;flex-direction:column;gap:16px}.import__toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.import__hint{font-size:.78rem}.import__drop{display:flex;align-items:center;gap:14px;padding:16px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--bg-2)}.import__file{display:none}.import__filename{font-size:.85rem;color:var(--text-dim)}.import__summary{display:flex;align-items:center;gap:10px;margin-bottom:12px}.import__errors{background:var(--danger-bg);border:1px solid rgba(239,75,118,.35);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:14px;font-size:.82rem;color:var(--danger)}.import__errors ul{margin:8px 0 0;padding-left:18px}.import__errors li{margin:3px 0}.import__preview{max-height:340px}.import__more{padding:8px 12px;font-size:.78rem}.toast-stack{position:fixed;top:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);border-left-width:3px;box-shadow:var(--shadow);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast--success{border-left-color:var(--ok)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast__msg{flex:1;font-size:.86rem;line-height:1.45}.toast__close{background:none;border:none;color:var(--text-mute);font-size:1.2rem;line-height:1;cursor:pointer}.toast__close:hover{color:var(--text)}.date-range{display:inline-flex;align-items:flex-end;gap:8px}.date-range__field{display:flex;flex-direction:column;gap:3px;font-size:.72rem;color:var(--text-mute)}.date-range__sep{padding-bottom:7px;color:var(--text-mute)}.segmented{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.segmented__btn{padding:6px 14px;border:none;background:transparent;color:var(--text-dim);font-family:inherit;font-size:.84rem;font-weight:600;border-radius:999px;cursor:pointer;transition:background .12s,color .12s}.segmented__btn:hover{color:var(--text)}.segmented__btn.is-active{background:var(--purple);color:#fff}.dash-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;margin:20px 0;align-items:start}.dash-grid__wide{min-width:0}.panel__note{font-size:.78rem}.legend-inline{display:flex;gap:16px}.legend-inline__item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-dim)}.legend-inline__item i{width:11px;height:11px;border-radius:3px;display:inline-block}.chart-skeleton,.chart-empty{height:220px;display:grid;place-items:center;color:var(--text-mute);font-size:.88rem}.chart-tip{background:var(--purple-900);border:none;border-radius:12px;padding:10px 13px;box-shadow:var(--shadow);font-size:.82rem;color:#fff}.chart-tip__title{font-weight:700;margin-bottom:6px;color:#fff}.chart-tip__row{display:flex;align-items:center;gap:8px;padding:1px 0}.chart-tip__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chart-tip__name{color:#ffffffbf}.chart-tip__val{margin-left:auto;font-weight:700;font-family:var(--mono);color:#fff}.dash-foot{margin-top:16px;font-size:.78rem}.link--btn{background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.recharts-text{fill:var(--text-mute)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--line)}.filter-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.filter-toggle:hover{border-color:var(--warn);color:var(--text)}.filter-toggle.is-on{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.filter-toggle__x{font-size:1.05rem;line-height:1;margin-left:1px}.crit-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;background:var(--warn-bg);border:1px solid rgba(226,161,0,.4);color:var(--warn);font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:filter .12s}.crit-chip:hover{filter:brightness(1.12)}.alert-pop{display:flex;flex-direction:column;gap:16px}.alert-pop__lead{display:flex;align-items:center;gap:13px}.alert-pop__badge{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--warn-bg);color:var(--warn);flex-shrink:0}.alert-pop__lead p{margin:0;line-height:1.5;color:var(--text-dim);font-size:.9rem}.alert-pop__table{max-height:320px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#cabdf5}.card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card__title{margin:0;font-size:15px;font-weight:700;color:var(--text)}.opname-form{display:flex;flex-direction:column;gap:14px}.opname-form__top{display:flex;gap:14px;align-items:flex-end}.field--grow{flex:1}.opname-add{max-width:520px}.opname-form__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:4px;border-top:1px solid var(--line-soft)}.input--sm{padding:5px 8px;font-size:13px}.ta-r{text-align:right}.grid{width:100%;border-collapse:collapse;font-size:13.5px}.grid th{text-align:left;font-weight:700;color:var(--text-dim);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:9px 11px;border-bottom:1px solid var(--line);white-space:nowrap}.grid td{padding:9px 11px;border-bottom:1px solid var(--line-soft);color:var(--text);vertical-align:middle}.grid tbody tr:hover td{background:var(--panel-2)}.grid__empty{text-align:center;color:var(--text-mute);padding:22px!important}.icon-btn--danger{color:var(--danger)}.icon-btn--danger:hover{background:var(--danger-bg)}.opname-meta{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:14px;padding:13px 15px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius-sm)}.opname-meta>div{display:flex;flex-direction:column;gap:2px}.opname-meta>div>span{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.opname-meta__note{flex-basis:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px}
