@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;1,14..32,400&display=swap";:root{--font-sans:"Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Inter", "Segoe UI", -apple-system, sans-serif;--font-mono:"Cascadia Code", "SF Mono", "Fira Code", monospace;--color-ink:#0f172a;--color-ink-soft:#64748b;--color-ink-muted:#94a3b8;--color-surface:#fff;--color-surface-strong:#fff;--color-surface-accent:#eff6ff;--color-surface-muted:#f8fafc;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-primary:#1e40af;--color-primary-strong:#1e3a8a;--color-primary-light:#dbeafe;--color-secondary:#4f46e5;--color-secondary-light:#eef2ff;--color-success:#10b981;--color-success-light:#d1fae5;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#ef4444;--color-danger-light:#fee2e2;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-muted:#64748b;--shadow-xs:0 1px 2px #0f172a0d;--shadow-soft:0 1px 3px #0f172a0f, 0 4px 12px #0f172a0a;--shadow-tight:0 1px 4px #0f172a14, 0 2px 8px #0f172a0f;--shadow-md:0 4px 16px #0f172a1a;--shadow-lg:0 8px 32px #0f172a1f;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--sidebar-width:260px;--sidebar-width-collapsed:72px;--topbar-height:64px}body{color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{min-height:100vh;font-family:var(--font-sans);font-feature-settings:"cv11", "ss01";margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}h1,h2,h3,h4,p,ul,dl{margin:0}ul{padding-left:1.2rem}.text-link{color:var(--color-primary);font-weight:600}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;transition:grid-template-columns .22s;display:grid}.app-shell--collapsed{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.app-sidebar{color:#f8fafc;z-index:20;background:#0f172a;flex-direction:column;height:100vh;padding:0;transition:width .22s;display:flex;position:sticky;top:0;overflow:hidden}.app-sidebar--collapsed{width:var(--sidebar-width-collapsed)}.app-sidebar__brand{min-height:var(--topbar-height);border-bottom:1px solid #f8fafc14;flex-shrink:0;align-items:center;gap:.65rem;padding:1.25rem 1rem;display:flex}.app-sidebar__logo{border-radius:var(--radius-sm);background:#f4efe4;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;padding:.45rem .6rem;display:flex}.app-sidebar__logo img{object-fit:contain;width:100%;height:auto;max-height:32px;display:block}.app-sidebar__eyebrow,.page-header__eyebrow,.ui-empty-state__eyebrow,.stat-card__label,.login-page__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-soft);font-size:.7rem;font-weight:600}.app-sidebar__eyebrow{color:#f8fafc66;letter-spacing:.12em;white-space:nowrap;font-size:.68rem;overflow:hidden}.app-sidebar__nav{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;padding:.75rem;display:flex;overflow-y:auto}.app-sidebar__nav::-webkit-scrollbar{display:none}.app-sidebar__link{border-radius:var(--radius-sm);color:#f8fafca6;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.7rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:flex;overflow:hidden}.app-sidebar__link:hover{color:#f8fafc;background:#f8fafc12}.app-sidebar__link--logout{color:#fda4af;width:100%;font:inherit;text-align:left;cursor:pointer;background:#f8fafc0a;border:1px solid #f8fafc1f;font-weight:600}.app-sidebar__link--logout:hover{color:#fecdd3;background:#ef444429;border-color:#f8717152}.app-sidebar__link--active{color:#93c5fd;background:#3b82f626;font-weight:600}.app-sidebar__link--active:hover{color:#bfdbfe;background:#3b82f633}.app-sidebar__link-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.app-sidebar__link-icon svg{width:18px;height:18px}.app-sidebar__link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-sidebar--collapsed .app-sidebar__brand{justify-content:center;padding:1.25rem .75rem}.app-sidebar--collapsed .app-sidebar__eyebrow{display:none}.app-sidebar--collapsed .app-sidebar__link{justify-content:center;gap:0;padding:.625rem}.app-sidebar--collapsed .app-sidebar__link-label{display:none}.app-sidebar__footer{border-top:1px solid #f8fafc14;flex-shrink:0;padding:.75rem}.app-sidebar-backdrop{display:none}.app-shell__content{flex-direction:column;min-width:0;display:flex}.app-shell__main{padding:var(--space-4);gap:var(--space-4);flex:1;align-content:start;display:grid}.app-topbar{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-4);height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);display:flex;position:sticky;top:0}.app-topbar__identity,.app-topbar__actions{align-items:center;gap:var(--space-3);display:flex}.app-topbar__menu-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:36px;height:36px;padding:0 9px;transition:background-color .15s;display:inline-flex}.app-topbar__menu-btn:hover{background:var(--color-surface-muted)}.app-topbar__menu-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-topbar__menu-btn span{background:var(--color-ink-soft);border-radius:999px;width:100%;height:1.5px;transition:transform .2s,opacity .2s;display:block}.app-topbar__menu-btn.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.app-topbar__menu-btn.is-open span:nth-child(2){opacity:0}.app-topbar__menu-btn.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.app-topbar__welcome{color:var(--color-ink-muted);font-size:.75rem;font-weight:500;line-height:1.2}.app-topbar__identity>div>h3{color:var(--color-ink);font-size:.9375rem;font-weight:600;line-height:1.25}.app-topbar__role{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.app-topbar__role span{color:var(--color-ink);font-size:.8125rem;font-weight:600}.app-topbar__role small{color:var(--color-ink-soft);font-size:.75rem}.ui-button{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;height:36px;padding:0 1rem;font-size:.875rem;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.ui-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-button--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 1px 2px #1e40af33}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-strong);border-color:var(--color-primary-strong);box-shadow:0 2px 6px #1e40af4d}.ui-button--secondary{background:var(--color-primary-light);border-color:var(--color-primary-light);color:var(--color-primary)}.ui-button--secondary:hover:not(:disabled){background:#bfdbfe;border-color:#bfdbfe}.ui-button--ghost{border-color:var(--color-border-strong);color:var(--color-ink);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-border-strong)}.ui-button--sm{border-radius:var(--radius-xs);height:30px;padding:0 .65rem;font-size:.8125rem}.ui-button--md{height:38px}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow:hidden}.ui-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:1rem 1.25rem;display:flex}.ui-card__body{padding:1.25rem}.ui-card__title{color:var(--color-ink);font-size:.9375rem;font-weight:600;line-height:1.3}.ui-card__subtitle{color:var(--color-ink-soft);margin-top:.2rem;font-size:.8125rem;line-height:1.4}.ui-card__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.page-header{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.page-header__eyebrow{color:var(--color-primary);margin-bottom:.25rem}.page-header h1,.login-page h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-ink);font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:700;line-height:1.15}.page-header__description,.login-page p,.ui-empty-state p{color:var(--color-ink-soft);max-width:62ch;margin-top:.4rem;font-size:.9rem}.page-header__actions{flex-shrink:0}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card .ui-card__body{padding:1.1rem 1.25rem}.stat-card__label{color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.stat-card__value{color:var(--color-ink);letter-spacing:-.03em;margin-top:.35rem;font-size:1.875rem;font-weight:700;line-height:1}.stat-card__caption{color:var(--color-ink-soft);margin-top:.4rem;font-size:.78rem}.page-grid{gap:var(--space-4);display:grid}.page-grid--two{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.toolbar-grid,.form-grid{gap:var(--space-3);display:grid}.toolbar-grid--wide{margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-grid--inline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.form-field{gap:.35rem;display:grid}.form-field__label{color:var(--color-ink);font-size:.8125rem;font-weight:600;line-height:1}.form-field__control{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:38px;color:var(--color-ink);appearance:auto;padding:.5rem .75rem;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}input.form-field__control,select.form-field__control,button.form-field__control{height:38px;padding-top:0;padding-bottom:0}textarea.form-field__control{resize:vertical;min-height:90px}input[type=file].form-field__control{cursor:pointer;height:auto;padding:.4rem .6rem}.form-field__control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #1e40af1f}.form-field__control::placeholder{color:var(--color-ink-muted)}.form-field__control--error{border-color:var(--color-danger)}.form-field__control--error:focus{box-shadow:0 0 0 3px #ef44441f}.form-field__error{color:var(--color-danger);font-size:.78rem;font-weight:500}.form-field__file-name{color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.table-shell{border-radius:var(--radius-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table thead{z-index:2;position:sticky;top:0}.data-table th{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--color-ink-soft);white-space:nowrap;padding:.65rem .875rem;font-size:.72rem;font-weight:700}.data-table td{border-bottom:1px solid var(--color-border);color:var(--color-ink);vertical-align:middle;padding:.75rem .875rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table__row--clickable{cursor:pointer;transition:background-color .1s}.data-table__row--clickable:hover{background:var(--color-surface-accent)}.detail-list{gap:0;display:grid}.detail-list div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(120px,160px) 1fr;align-items:baseline;gap:1rem;padding:.75rem 0;display:grid}.detail-list div:last-child{border-bottom:none}.detail-list dt{text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft);font-size:.78rem;font-weight:600}.detail-list dd{color:var(--color-ink);margin:0;font-size:.9rem;font-weight:500}.status-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.status-badge--success{background:var(--color-success-light);color:#065f46}.status-badge--warning{background:var(--color-warning-light);color:#92400e}.status-badge--info{background:var(--color-info-light);color:#1e40af}.status-badge--accent{background:var(--color-secondary-light);color:#3730a3}.status-badge--muted{color:var(--color-muted);background:#f1f5f9}.pagination-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);margin-top:var(--space-2);display:flex}.pagination-bar__summary,.pagination-bar__actions,.pagination-bar__size{align-items:center;gap:.6rem;display:flex}.pagination-bar__summary{color:var(--color-ink-soft);font-size:.8125rem}.pagination-bar select{border-radius:var(--radius-xs);border:1px solid var(--color-border-strong);background:var(--color-surface);height:32px;color:var(--color-ink);padding:0 .6rem;font-size:.8125rem}.pagination-bar .ui-button{height:32px;padding:0 .75rem;font-size:.8125rem}.ui-loader{min-height:180px;color:var(--color-ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:.9rem;font-size:.875rem;display:flex}.ui-loader__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.ui-empty-state{text-align:center;min-height:200px;padding:var(--space-5) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex}.ui-empty-state__eyebrow{color:var(--color-ink-muted);margin-bottom:.2rem}.ui-empty-state h3{color:var(--color-ink);font-size:.9375rem;font-weight:600}.ui-empty-state p{max-width:40ch;margin:0;font-size:.875rem}.ui-modal-backdrop{padding:var(--space-4);z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;place-items:center;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.ui-modal{border-radius:var(--radius-lg);background:var(--color-surface);width:min(640px,100%);max-height:90vh;box-shadow:var(--shadow-lg);animation:.2s slideUp;overflow-y:auto}.ui-modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding:1.1rem 1.25rem;display:flex}.ui-modal__header h3{color:var(--color-ink);font-size:1rem;font-weight:600}.ui-modal__body{padding:1.25rem}.ui-modal__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;display:flex}.toast-stack{z-index:100;pointer-events:none;gap:.6rem;display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.toast{border-radius:var(--radius-md);color:#fff;width:min(380px,100vw - 2.5rem);box-shadow:var(--shadow-lg);pointer-events:all;align-items:flex-start;gap:.875rem;padding:.9rem 1rem;animation:.2s slideInRight;display:flex}.toast strong{margin-bottom:.15rem;font-size:.875rem;font-weight:600;display:block}.toast p{color:#ffffffe0;margin:0;font-size:.8125rem;line-height:1.45}.toast button{border-radius:var(--radius-xs);color:#ffffffd9;cursor:pointer;background:#ffffff26;border:none;flex-shrink:0;margin-left:auto;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:background .15s}.toast button:hover{background:#ffffff40}.toast--success{background:#065f46}.toast--error{background:#991b1b}.toast--info{background:var(--color-primary-strong)}.inline-actions{flex-wrap:wrap;gap:.35rem;display:flex}.list-grid{gap:.6rem;display:grid}.list-grid li{color:var(--color-ink);border-bottom:1px solid var(--color-border);padding:.5rem 0;font-size:.9rem}.list-grid li:last-child{border-bottom:none}.login-page,.unauthorized-page,.not-found-page{background:var(--color-surface-muted);min-height:100vh;padding:clamp(1.5rem,4vw,4rem)}.multi-select{position:relative}.multi-select__trigger{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;font:inherit;cursor:pointer;font-size:.875rem;display:flex}.multi-select__placeholder{color:var(--color-ink-muted)}.multi-select__chevron{color:var(--color-ink-soft);flex-shrink:0;font-size:.75rem}.multi-select__panel{z-index:30;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);gap:.4rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0}.multi-select__search{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font:inherit;padding:.45rem .65rem;font-size:.875rem}.multi-select__search:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #1e40af1a}.multi-select__bulk-actions{gap:var(--space-2);display:flex}.multi-select__bulk-actions button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600}.multi-select__bulk-actions button:hover{color:var(--color-primary-strong)}.multi-select__options{gap:1px;max-height:200px;display:grid;overflow-y:auto}.multi-select__option{border-radius:var(--radius-xs);cursor:pointer;align-items:center;gap:.5rem;padding:.45rem .5rem;font-size:.875rem;transition:background .1s;display:flex}.multi-select__option:hover{background:var(--color-surface-accent)}.multi-select__option input{accent-color:var(--color-primary);cursor:pointer;margin:0}.multi-select__empty{color:var(--color-ink-muted);margin:0;padding:.45rem .5rem;font-size:.875rem}.multi-select__chips{flex-wrap:wrap;gap:.4rem;margin-top:.45rem;display:flex}.multi-select__chip{background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:999px;align-items:stretch;height:24px;display:inline-flex;overflow:hidden}.multi-select__chip-label{color:var(--color-primary-strong);white-space:nowrap;align-items:center;padding:0 .6rem;font-size:.75rem;font-weight:600;display:flex}.multi-select__chip-remove{width:20px;color:var(--color-primary-strong);border:none;border-left:1px solid var(--color-primary);cursor:pointer;opacity:.6;background:0 0;justify-content:center;align-items:center;font-size:.9rem;line-height:1;transition:opacity .12s;display:flex}.multi-select__chip-remove:hover{opacity:1}.checkbox-group__header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:.5rem;display:flex}.checkbox-group__bulk{gap:.5rem;display:flex}.checkbox-group__bulk button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.checkbox-group__bulk button:hover{color:var(--color-primary-strong)}.checkbox-group__options{flex-wrap:wrap;gap:.3rem;display:flex}.checkbox-pill{border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8125rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.checkbox-pill input{accent-color:var(--color-primary);cursor:pointer;width:13px;height:13px;margin:0}.checkbox-pill:hover{border-color:var(--color-primary);background:var(--color-surface-accent)}.checkbox-pill--checked{background:var(--color-primary-light);color:var(--color-primary-strong);border-color:#1e40af59;font-weight:600}.checkbox-group__hint{color:var(--color-ink-muted);margin-top:.35rem;font-size:.75rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.app-sidebar{height:100dvh;width:min(var(--sidebar-width), 84vw);z-index:60;box-shadow:var(--shadow-lg);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.app-sidebar--mobile-open{transform:translate(0)}.app-sidebar-backdrop{z-index:55;cursor:pointer;background:#0f172a80;border:0;padding:0;display:block;position:fixed;inset:0}.page-grid--two{grid-template-columns:1fr}.app-topbar,.pagination-bar{flex-wrap:wrap}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}}@media (width<=640px){.app-shell__main{padding:var(--space-3)}.ui-card__header,.ui-card__body,.ui-modal__header,.ui-modal__body,.ui-modal__footer{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}}.dashboard-page,.analytics-page,.clients-page,.stores-page,.store-members-page,.daily-reports-page,.monthly-reports-page,.yearly-reports-page,.profile-page{gap:var(--space-4);display:grid}.dashboard-page__selector .form-field{min-width:220px}
