@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-background: #F6F7F9;--color-surface: #FFFFFF;--color-surface-hover: #F1F3F6;--color-ink: #16181D;--color-graphite: #5A6472;--color-muted: #8A93A0;--color-border: #E3E6EA;--color-accent: #0E7490;--color-accent-strong: #155E75;--color-accent-soft: #DDF1F7;--color-accent-foreground: #FFFFFF;--color-success: #16A34A;--color-danger: #DC2626}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.flex{display:flex}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}}:root{--color-background: #F6F7F9;--color-surface: #FFFFFF;--color-surface-hover: #F1F3F6;--color-ink: #16181D;--color-ink-inverse: #FFFFFF;--color-graphite: #5A6472;--color-muted: #8A93A0;--color-border: #E3E6EA;--color-accent: #0E7490;--color-accent-strong: #155E75;--color-accent-soft: #DDF1F7;--color-accent-foreground: #FFFFFF;--color-success: #16A34A;--color-warning: #D97706;--color-danger: #DC2626;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .05);--shadow-card-hover: 0 4px 12px rgba(16, 24, 40, .08);--shadow-modal: 0 8px 24px rgba(16, 24, 40, .12);--focus-ring: 0 0 0 3px rgba(14, 116, 144, .25);--sidebar-w: 236px}.dark{--color-background: #0B0E13;--color-surface: #12161D;--color-surface-hover: #1A2029;--color-ink: #EDEFF3;--color-ink-inverse: #0B0E13;--color-graphite: #A6B0BE;--color-muted: #6E7887;--color-border: rgba(255, 255, 255, .07);--color-accent: #22D3EE;--color-accent-strong: #67E8F9;--color-accent-soft: rgba(34, 211, 238, .12);--color-accent-foreground: #062A33;--color-success: #34D399;--color-warning: #FBBF24;--color-danger: #F87171;--shadow-card: none;--shadow-card-hover: none;--shadow-modal: none;--focus-ring: 0 0 0 3px rgba(34, 211, 238, .25)}*,*:before,*:after{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"cv01","ss03";-webkit-font-smoothing:antialiased;color:var(--color-ink);background:var(--color-background);transition:background .15s ease-out,color .15s ease-out}body{margin:0;min-height:100vh;background:var(--color-background);color:var(--color-ink);font-size:14px;line-height:1.5}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty;max-width:70ch}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-strong)}button{font-family:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:var(--space-4) var(--space-3)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:30}.content{padding:var(--space-8) var(--space-6);max-width:1200px;width:100%;margin:0 auto}.nav-item{display:flex;align-items:center;gap:var(--space-2);padding:8px 12px;border-radius:var(--radius-sm);color:var(--color-graphite);font-size:13px;font-weight:500;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;min-height:36px}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-ink)}.nav-item.active{background:var(--color-accent-soft);color:var(--color-accent-strong)}.nav-item svg{width:16px;height:16px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;border:1px solid transparent;min-height:40px;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform .1s ease-out;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--color-accent);color:var(--color-accent-foreground)}.btn-primary:hover{background:var(--color-accent-strong)}.btn-secondary{background:transparent;border-color:var(--color-border);color:var(--color-ink)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-ghost{background:transparent;color:var(--color-graphite)}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-ink)}.btn-danger{background:transparent;color:var(--color-danger)}.btn-danger:hover{background:#dc262614}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{padding:6px 12px;min-height:32px;font-size:12px}.btn-icon{padding:8px;min-height:36px;min-width:36px}.input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);font-size:14px;line-height:1.5;min-height:40px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.input::placeholder{color:var(--color-muted)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A93A0' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.label{display:block;font-size:13px;font-weight:500;color:var(--color-ink);margin-bottom:6px}.field-hint{font-size:12px;color:var(--color-muted);margin-top:4px}.field-error{font-size:12px;color:var(--color-danger);margin-top:4px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-card)}.card-hover{transition:box-shadow .15s ease-out,transform .15s ease-out,border-color .15s ease-out}.card-hover:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px);border-color:#0e749040}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.kpi-value{font-family:var(--font-mono);font-size:24px;font-weight:500;color:var(--color-ink);font-variant-numeric:tabular-nums}.kpi-label{font-size:12px;color:var(--color-muted)}.table-container{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;font-size:12px;font-weight:500;color:var(--color-muted);padding:10px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}tbody td{padding:10px 16px;border-bottom:1px solid var(--color-border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .1s ease-out}tbody tr:hover{background:var(--color-surface-hover)}.mono{font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums}.mono-sm{font-family:var(--font-mono);font-size:12px;font-weight:500}.badge{display:inline-flex;align-items:center;gap:6px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-family:var(--font-mono);font-size:12px;font-weight:500;border-radius:var(--radius-full);padding:2px 10px}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-graphite)}.status-pill .dot{width:7px;height:7px;border-radius:50%}.status-pill.active .dot{background:var(--color-success)}.status-pill.active{color:var(--color-success)}.status-pill.inactive .dot{background:var(--color-muted)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-title{font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0}.page-subtitle{color:var(--color-graphite);margin:4px 0 0;font-size:14px}.section-title{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 var(--space-4)}.filters-bar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.filters-bar .input{max-width:280px}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.dark .modal-overlay{background:#000000bf}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:480px;box-shadow:var(--shadow-modal);animation:slide-up .2s cubic-bezier(.22,1,.36,1)}.modal h3{margin:0 0 var(--space-2);font-size:20px;font-weight:600}.modal p{color:var(--color-graphite);margin:0 0 var(--space-6)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);z-index:200}.toast{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;box-shadow:var(--shadow-modal);font-size:13px;font-weight:500;min-width:240px;animation:slide-up .2s cubic-bezier(.22,1,.36,1)}.toast-success{color:var(--color-success)}.toast-error{color:var(--color-danger)}.toast-info{color:var(--color-graphite)}.skeleton{background:var(--color-surface-hover);border-radius:var(--radius-sm);animation:pulse 1.2s ease-in-out infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state .empty-icon{font-family:var(--font-mono);font-size:48px;color:var(--color-muted);margin-bottom:var(--space-4);letter-spacing:-.05em}.empty-state h3{margin:0 0 var(--space-2);font-size:16px;font-weight:600}.empty-state p{color:var(--color-graphite);margin:0 0 var(--space-6);max-width:42ch}.qr-frame{display:inline-block;padding:var(--space-4);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.qr-frame img,.qr-frame canvas{display:block;width:100%;height:auto}.chart-bars{display:flex;align-items:flex-end;gap:2px;height:140px}.chart-bar{flex:1;background:var(--color-accent-soft);border-radius:2px 2px 0 0;transition:height .2s ease-out;min-width:2px}.chart-bar.has-value{background:var(--color-accent)}.breakdown-row{display:flex;align-items:center;gap:var(--space-3);padding:6px 0}.breakdown-label{flex:0 0 160px;font-size:13px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-track{flex:1;height:6px;background:var(--color-surface-hover);border-radius:var(--radius-full);overflow:hidden}.breakdown-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full)}.breakdown-count{flex:0 0 44px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--color-graphite)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-background)}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card)}.auth-logo{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.auth-logo .logo-mark{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-accent);display:flex;align-items:center;justify-content:center;color:var(--color-accent-foreground);font-family:var(--font-mono);font-weight:600;font-size:13px}.auth-logo .logo-text{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.form-section{display:flex;flex-direction:column;gap:var(--space-4)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.content{padding:var(--space-6) var(--space-4)}.kpi-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.page-title{font-size:24px}.filters-bar .input{max-width:100%}.sidebar{width:64px;padding:var(--space-3) var(--space-2)}.sidebar .nav-label{display:none}.nav-item{justify-content:center}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid}}}
