.arrow-sidebar{background:#fff;border-right:1px solid #ececec;width:240px;padding:24px 16px}.arrow-logo{margin-bottom:28px;font-size:20px;font-weight:600}.sidebar-section{letter-spacing:1px;color:#999;margin-top:20px;margin-bottom:8px;font-size:11px;font-weight:600}.sidebar-link{color:#333;border-radius:10px;margin-bottom:4px;padding:10px 12px;text-decoration:none;transition:all .2s;display:block}.sidebar-link:hover{background:#f3f4f6}.sidebar-link.active{color:#fff;background:#111}.arrow-shell{background:#f5f5f7;min-height:100vh;display:flex}.arrow-main{flex:1;padding:24px 32px;overflow-y:auto}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:24px;width:100%;max-width:480px;padding:3rem;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-title{color:#1a1a1a;margin-bottom:.5rem;font-size:2rem;font-weight:700}.auth-subtitle{color:#666;font-size:1rem}.auth-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:#333;letter-spacing:.025em;font-size:.875rem;font-weight:600}.form-input{color:#1a1a1a;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 4px #667eea1a}.form-input::placeholder{color:#9ca3af}.auth-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;padding:.875rem 1rem;font-size:.875rem;font-weight:500}.auth-footer{text-align:center;color:#666;margin-top:.5rem;font-size:.875rem}.auth-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:#764ba2;text-decoration:underline}.auth-demo-credentials{background:#667eea0d;border:1px solid #667eea1a;border-radius:12px;margin-top:2rem;padding:1.5rem}.demo-title{color:#667eea;text-align:center;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.demo-creds{color:#555;font-size:.8125rem;line-height:1.6}.demo-creds p{margin:.25rem 0}.demo-creds strong{color:#333;font-weight:600}@media (width<=640px){.auth-card{padding:2rem}.auth-title{font-size:1.75rem}.form-row{grid-template-columns:1fr}}.admin-panel{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.admin-header{margin-bottom:var(--spacing-xl)}.admin-title{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:32px;font-weight:700}.admin-subtitle{color:var(--color-text-tertiary);font-size:16px}.admin-error{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--color-error);border-radius:var(--border-radius-lg);color:var(--color-error);margin-bottom:var(--spacing-lg);background:#fee;display:flex}.admin-error button{color:var(--color-error);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:4px;display:flex}.admin-error button:hover{background:#ff3b301f}.admin-tabs{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border-light);display:flex}.admin-tab{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;font-size:15px;font-weight:600;display:flex}.admin-tab:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-content{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.admin-toolbar{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.admin-loading{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-tertiary);font-size:16px}.admin-table-container{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table thead{background:var(--color-bg-secondary)}.admin-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border-light);font-size:13px;font-weight:600}.admin-table td{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:14px}.admin-table tbody tr:hover{background:var(--color-bg-secondary)}.admin-table .font-semibold{color:var(--color-text-primary);font-weight:600}.table-actions{gap:var(--spacing-sm);display:flex}.btn-primary{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:14px;font-weight:600;display:flex}.btn-secondary{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:14px;font-weight:600;display:flex}.btn-icon{padding:var(--spacing-sm);color:var(--color-text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-icon.danger:hover{background:var(--color-error);color:#fff}.badge{background:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.3px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-badge{border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.3px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-badge.active{color:#065f46;background:#d1fae5}.status-badge.inactive{color:#991b1b;background:#fee2e2}.event-types{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--color-text-primary);text-transform:capitalize;font-size:20px;font-weight:700}.modal-form{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);font-size:14px;font-weight:600;display:block}.form-row{gap:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.modal-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light);justify-content:flex-end;display:flex}.admin-sim-card{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);margin-top:var(--spacing-xl)}.admin-sim-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.admin-sim-field label{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:13px;font-weight:600;display:block}.admin-sim-actions{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.admin-sim-result{border-top:1px solid var(--color-border-light);padding-top:var(--spacing-lg)}.admin-sim-kv{border-collapse:collapse;width:100%}.admin-sim-kv td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);font-size:14px}.admin-sim-k{width:220px;color:var(--color-text-secondary)}.admin-sim-v{color:var(--color-text-primary);font-weight:600}@media (width<=768px){.admin-panel{padding:var(--spacing-lg)}.form-row,.admin-sim-grid{grid-template-columns:1fr}.modal-content{width:95%;max-height:95vh}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Inter,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:SF Mono,SFMono-Regular,ui-monospace,Roboto Mono,Menlo,Monaco,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}html,body,#root{height:100%}body{color:#111;background:#f7f7f8;margin:0;font-family:Inter,system-ui,sans-serif}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.kpi-card{background:var(--color-surface);border-radius:var(--border-radius-lg);border:1px solid var(--color-border-light);transition:all var(--transition-base);padding:20px 24px;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border);transform:translateY(-2px)}.kpi-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.kpi-card-icon{border-radius:var(--border-radius-md);background:var(--color-bg-secondary);width:40px;height:40px;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.kpi-card:hover .kpi-card-icon{transform:scale(1.1)}.kpi-card-value{letter-spacing:-.5px;color:var(--color-text-primary);margin-bottom:4px;font-size:32px;font-weight:700;line-height:1.2}.kpi-card-label{color:var(--color-text-secondary);margin-bottom:12px;font-size:13px;font-weight:500}.kpi-card-trend{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.kpi-card-trend.positive{color:var(--color-success)}.kpi-card-trend.negative{color:var(--color-error)}.kpi-card-trend.neutral{color:var(--color-text-tertiary)}.chart-container{background:var(--color-surface);border-radius:var(--border-radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);padding:24px}.chart-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.chart-title{color:var(--color-text-primary);font-size:17px;font-weight:600}.chart-subtitle{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.btn{border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-text-inverted)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-tertiary)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{color:var(--color-success);background:#34c7591a}.badge-warning{color:var(--color-warning);background:#ff95001a}.badge-error{color:var(--color-error);background:#ff3b301a}.badge-info{color:var(--color-info);background:#5856d61a}.badge-neutral{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.status-indicator.active{background:var(--color-success);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.status-indicator.warning{background:var(--color-warning)}.status-indicator.error{background:var(--color-error)}.spinner{border:2px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.divider{background:var(--color-border-light);height:1px;margin:20px 0}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=1400px){.grid-4{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
