@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap";:root{color:#0f172a;background:#f8fafc;font-family:DM Sans,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh;background:#f8fafc}.sidebar{background:#fff;border-right:1px solid #e2e8f0;padding:0;position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:18px 20px 16px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.mark{width:36px;height:36px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;background:#4f46e5;border-radius:10px;letter-spacing:-.5px;flex-shrink:0;border:none}.brand strong{display:block;font-size:14px;font-weight:700;color:#0f172a;letter-spacing:-.2px;line-height:1.2}.brand span{display:block;color:#94a3b8;font-size:11px;margin-top:2px}.branch-select{display:block;width:100%;margin-top:4px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#4f46e5;font-size:11px;font-weight:600;min-height:24px;padding:2px 6px;cursor:pointer}.branch-select:focus{outline:none;border-color:#4f46e5}nav{display:flex;flex-direction:column;gap:1px;padding:10px;flex:1;overflow-y:auto;position:relative;z-index:1}nav button{border:0;background:transparent;color:#475569;display:flex;gap:10px;align-items:center;text-align:left;padding:9px 12px 9px 9px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:400;border-left:3px solid transparent;transition:background .1s ease,color .1s ease;width:100%}nav button:hover{background:#f8fafc;color:#0f172a}nav button.active{background:#eef2ff;color:#4f46e5;font-weight:600;border-left:3px solid #4f46e5;padding-left:9px}.sidebar-footer{padding:14px 16px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#818cf8);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.sidebar-name{font-size:13px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-email{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer button{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:8px;padding:7px 10px;cursor:pointer;font-size:12px;font-weight:500;width:100%}.sidebar-footer button:hover{background:#f8fafc;color:#0f172a}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#1e1b4b,#312e81);padding:24px}.login-card{background:#fff;border-radius:18px;padding:40px 36px;width:min(420px,100%);text-align:center;box-shadow:0 24px 60px #0f172a59}.login-card .mark{margin:0 auto 18px}.login-card h1{font-size:22px;margin-bottom:8px}.login-card p{margin-bottom:24px}.login-card .primary{width:100%;min-height:48px}.login-card .ghost{width:100%;min-height:44px}.login-form{display:grid;gap:10px;margin-bottom:14px}.login-form input{min-height:44px}.password-field{position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:6px;display:grid;place-items:center;background:transparent;color:#64748b;cursor:pointer}.password-toggle:hover{background:#f1f5f9;color:#0f172a}.password-rules{display:flex;flex-wrap:wrap;gap:6px;text-align:left}.password-rules span{border:1px solid #e2e8f0;border-radius:999px;color:#64748b;font-size:11px;font-weight:700;padding:4px 8px}.password-rules span.met{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.login-divider{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:12px;font-weight:600;margin:14px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}.login-tabs,.login-methods{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:4px;margin:0 0 18px}.login-methods{margin-top:14px}.login-tabs button,.login-methods button{border:0;border-radius:6px;background:transparent;color:#64748b;min-height:34px;font-size:13px;font-weight:700;cursor:pointer}.login-tabs button.active,.login-methods button.active{background:#fff;color:#4f46e5;box-shadow:0 1px 3px #0f172a14}.success-note{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:10px 12px;margin:0 0 10px;font-size:13px;text-align:left}.text-button{border:0;background:transparent;color:#4f46e5;font-size:13px;font-weight:700;cursor:pointer;padding:4px 0;justify-self:center}.text-button:hover{color:#3730a3}main{padding:28px 32px 48px;overflow:hidden}.dash-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.dash-line{display:none}h1{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.4px;color:#0f172a}h3{margin:0;font-size:14px;font-weight:600;letter-spacing:0;color:#0f172a}p{margin:0;color:#94a3b8;font-size:13px}.primary,.ghost{border:0;border-radius:8px;min-height:36px;padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:background .1s ease;font-family:inherit}.primary{background:#4f46e5;color:#fff;border:none}.primary:hover{background:#4338ca}.primary:disabled{background:#a5b4fc;cursor:not-allowed}.ghost{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.ghost:hover{background:#f1f5f9;color:#0f172a}.ghost:disabled{opacity:.5;cursor:not-allowed}.error{color:#dc2626;margin:0 0 10px;font-size:13px}.dash-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dash-actions button,.report-link{min-height:36px;border:1px solid #e2e8f0;background:#fff;color:#475569;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;font-weight:500;cursor:pointer;font-size:13px;box-shadow:0 1px 2px #0f172a0a;text-decoration:none}.dash-actions button:hover,.report-link:hover{background:#f8fafc;color:#0f172a}.metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px;margin-bottom:16px}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 18px 16px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden;min-height:0}.metric-top{display:flex;gap:10px;align-items:center;margin-bottom:14px}.metric-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);flex-shrink:0}.metric-card span{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.metric-card strong{display:block;font-size:23px;font-weight:700;line-height:1;margin:0 0 3px;letter-spacing:-.5px;color:#0f172a}.metric-card small{display:block;color:#94a3b8;font-size:12px;margin:0 0 8px}.metric-card em{display:block;font-style:normal;font-size:12px;color:var(--accent, #4f46e5)}.dash-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:14px;margin-bottom:14px}.table-grid{grid-template-columns:1fr 1fr}.dash-grid.registry-first{grid-template-columns:1.4fr 1fr}.dashboard-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;padding:20px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.report-link{min-height:32px;border-radius:7px;padding:0 12px;font-size:12px;box-shadow:none}.category-body{display:flex;align-items:center;gap:18px}.legend-list{flex:1;min-width:0}.legend-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #f8fafc;font-size:12px;color:#475569}.legend-row span{display:flex;align-items:center;gap:7px;overflow:hidden}.legend-row i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-row strong{color:#0f172a;font-weight:600;font-size:12px;flex-shrink:0}.legend-total{display:flex;justify-content:space-between;padding-top:9px;font-size:13px}.legend-total span{color:#94a3b8}.legend-total strong{color:#4f46e5;font-weight:700}.dash-table{width:100%;min-width:0;border-collapse:collapse}.dash-table th,.dash-table td{padding:9px 10px 9px 0;border-bottom:1px solid #f1f5f9;text-align:left;font-size:13px;color:#0f172a;vertical-align:middle}.dash-table th{background:transparent;color:#94a3b8;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding-bottom:10px;border-bottom:none}.dash-table tr:hover td{background:#f8fafc}.mini-line{width:72px;height:28px}.bar-track{width:72px;height:5px;background:#f1f5f9;border-radius:999px;overflow:hidden;flex-shrink:0}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:inherit}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.search,input,select{border:1px solid #e2e8f0;border-radius:8px;min-height:36px;padding:7px 11px;background:#fff;color:#0f172a;font-size:13px}.search{width:min(220px,100%)}input:focus,select:focus{outline:2px solid #4f46e5;outline-offset:1px;border-color:#4f46e5}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-actions .primary,.page-actions .ghost{min-height:36px;padding:0 14px}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.form{padding:20px;margin-bottom:16px;border-radius:12px;overflow:visible}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:14px}.field span{display:block;font-size:11px;font-weight:700;color:#475569;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.field input,.field select{width:100%}.search-select{position:relative}.search-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f;max-height:220px;overflow-y:auto;z-index:60}.search-select-option{padding:8px 11px;font-size:13px;cursor:pointer}.search-select-option:hover,.search-select-option.active{background:#f1f5f9}.search-select-empty{padding:8px 11px;font-size:13px;color:#94a3b8}.kpis,.charts,.split{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}.kpis{grid-template-columns:repeat(6,minmax(130px,1fr))}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.kpi span{display:block;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:9px}.kpi strong{font-size:21px;letter-spacing:-.3px;font-weight:700}.charts .panel{padding:18px;min-width:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:11px 14px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:middle;font-size:13px}th{background:#f8fafc;color:#94a3b8;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}tr:hover td{background:#f8fafc}.empty,.loading{color:#94a3b8;padding:24px;font-size:13px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:50}.modal{background:#fff;border-radius:16px;width:min(580px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 80px #0f172a38;animation:modalIn .22s ease-out}.modal-body .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-wide{width:min(960px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;border-bottom:1px solid #f1f5f9;position:sticky;top:0;background:#fff;z-index:1}.modal-body{padding:18px 22px 22px}.icon-button{border:0;background:transparent;color:#94a3b8;cursor:pointer;display:grid;place-items:center;border-radius:8px;width:32px;height:32px;flex-shrink:0}.icon-button:hover{background:#f1f5f9;color:#475569}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid #f1f5f9;margin-top:16px}.modal-note{margin:0 0 14px;font-size:13px;color:#64748b}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:70}.app-confirm-modal{width:min(360px,100%);background:#fff;border-radius:14px;padding:24px;box-shadow:0 24px 80px #0f172a3d;animation:modalIn .18s ease-out}.app-confirm-modal .mark{margin-bottom:14px}.app-confirm-modal p{margin-top:8px;color:#64748b}.price-import-picker{display:flex;align-items:center;gap:12px;padding:12px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:6px;margin-bottom:16px}.price-import-picker span{color:#475569;font-size:13px}.import-sheet-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:14px 0;max-height:190px;overflow:auto}.import-sheet-picker label{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid #dbe3ee;border-radius:6px;color:#334155;font-size:13px}.import-sheet-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-default,.import-mapping-grid label{display:grid;gap:5px;color:#475569;font-size:12px}.import-default{margin:10px 0;max-width:280px}.import-default input,.import-default select,.import-mapping-grid select{min-width:0;padding:8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.import-mapping{margin:10px 0;border:1px solid #dbe3ee;border-radius:6px}.import-mapping summary{cursor:pointer;padding:10px;font-weight:600;color:#334155}.import-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:0 10px 10px}.import-progress{display:grid;gap:7px;margin:14px 0}.import-progress div{display:flex;align-items:center;gap:8px;color:#475569;font-size:13px}.import-progress strong{margin-left:auto;color:#0f172a}.import-progress progress{width:100%;height:8px;accent-color:#2563eb}.spin{animation:import-spin .9s linear infinite}@keyframes import-spin{to{transform:rotate(360deg)}}.import-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.import-stats span{border:1px solid #e2e8f0;padding:9px 10px;font-size:12px;color:#64748b;border-radius:6px}.import-stats strong{display:block;color:#0f172a;font-size:16px}.price-import-table{max-height:380px;overflow:auto;border:1px solid #e2e8f0}.price-import-table .dash-table{min-width:720px}.price-import-table thead{position:sticky;top:0;background:#fff;z-index:1}.import-warnings{margin-top:12px;padding:10px 12px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:12px;max-height:110px;overflow:auto}.import-warnings p{margin:0 0 6px}.import-warnings p:last-child{margin-bottom:0}@media(max-width:720px){.import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.status-ok{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.status-badge.status-low{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.status-badge.status-out{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-badge.status-pending{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.status-badge.status-default{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.registry-table{min-width:900px}.registry-row-category td{padding-top:11px;padding-bottom:11px}.registry-row-category{cursor:pointer;background:#f8fafc;font-weight:600;border-top:1px solid #e2e8f0}.registry-row-category:hover td{background:#f1f5f9}.registry-toggle{display:inline-flex;align-items:center;gap:8px}.registry-row-product:hover td{background:#f8fafc}.registry-row-product td:first-child{padding-left:36px}.registry-actions{display:flex;justify-content:flex-end;gap:6px}.registry-actions .ghost{min-height:28px;padding:0 10px;font-size:12px;border-radius:6px}.registry-actions .ghost:hover{background:#eef2ff;color:#4f46e5;border-color:#c7d2fe}.registry-actions .ghost:last-child:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.cell-sub{color:#94a3b8;font-size:12px;margin-top:2px}.daily-compare-wrap{max-height:320px;overflow:auto}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:12px;color:#94a3b8}.pagination-btns{display:flex;gap:8px}.pagination .ghost:disabled{opacity:.4;cursor:not-allowed}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9,#e8eef4,#f1f5f9 80%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:6px;display:block}.skeleton-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;box-shadow:0 1px 2px #0f172a0a}.skeleton-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #f8fafc}@keyframes toastIn{0%{transform:translate(calc(100% + 24px));opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut{0%{transform:translate(0);opacity:1}to{transform:translate(calc(100% + 24px));opacity:0}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast{background:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 8px 24px #0f172a1f;min-width:280px;max-width:360px;animation:toastIn .3s ease-out;pointer-events:auto;display:flex;align-items:center;gap:10px}.toast.toast-success{border:1px solid #a7f3d0}.toast.toast-error{border:1px solid #fecaca}.toast.toast-info{border:1px solid #bfdbfe}.toast.toast-warning{border:1px solid #fde68a}.toast.toast-exit{animation:toastOut .25s ease-in forwards}.toast-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.toast.toast-success .toast-icon{background:#ecfdf5;color:#059669}.toast.toast-error .toast-icon{background:#fef2f2;color:#dc2626}.toast.toast-info .toast-icon{background:#eff6ff;color:#2563eb}.toast.toast-warning .toast-icon{background:#fffbeb;color:#d97706}.toast-message{font-size:13px;font-weight:500;color:#0f172a;flex:1}.toast-close{border:none;background:none;cursor:pointer;color:#94a3b8;display:grid;place-items:center;padding:2px;border-radius:4px;flex-shrink:0;line-height:1}.toast-close:hover{color:#475569}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeUp .3s ease-out}@media(max-width:1260px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.dash-grid,.table-grid,.dash-grid.registry-first{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.metrics-grid,.form-grid,.kpis,.charts,.split{grid-template-columns:1fr}.dash-head,.page-head,.category-body{display:grid}.dash-actions{flex-wrap:wrap}}.purchase-lines{margin-top:18px}.purchase-line{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(90px,1fr)) 42px;gap:10px;align-items:end}.purchase-item-card{padding:14px;margin-top:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.promo-subtasks{margin:14px 0 0 24px;padding:12px;border-left:3px solid #cbd5e1;background:#fff}.promo-subtasks-head,.promo-subtask{display:flex;align-items:end;gap:10px}.promo-subtasks-head{justify-content:space-between;align-items:center}.promo-subtask{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.7fr) minmax(150px,1fr) 42px;margin-top:10px}.promo-empty{margin:10px 0 0;color:#64748b;font-size:13px}.registry-row-promo td{background:#f8fafc;color:#64748b;font-size:12px}.icon-button{height:40px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:900px){.purchase-line{grid-template-columns:1fr 1fr}.promo-subtask{grid-template-columns:1fr}.promo-subtasks{margin-left:0}}
