:root{--background:0 0% 100%;--background-alt:220 20% 97%;--foreground:222.2 47% 11%;--card:0 0% 100%;--card-foreground:222.2 47% 11%;--popover:0 0% 100%;--popover-foreground:222.2 47% 11%;--primary:222.2 47.4% 11.2%;--primary-variant:222.2 47.4% 24.2%;--primary-foreground:210 40% 98%;--secondary:220 16% 94%;--secondary-foreground:222.2 17.4% 36.2%;--secondary-highlight:220 16% 91%;--muted:220 20% 96.5%;--muted-foreground:220 9% 46%;--accent:220 20% 95%;--accent-foreground:222.2 47.4% 11.2%;--selected:152 58% 44%;--selected-foreground:0 0% 100%;--selected-soft:152 48% 94%;--selected-strong:152 62% 34%;--success:152 58% 40%;--success-foreground:0 0% 100%;--success-soft:152 48% 94%;--warning:38 92% 50%;--warning-foreground:26 83% 20%;--warning-soft:42 100% 95%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--destructive-soft:0 86% 97%;--info:152 58% 40%;--info-soft:152 48% 94%;--border:220 13% 91%;--border-strong:220 13% 84%;--input:220 13% 91%;--ring:152 58% 44%;--radius-xs:6px;--radius-sm:8px;--radius:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px #0f172a0f;--shadow-sm:0 1px 3px #0f172a14,0 1px 2px #0f172a0a;--shadow-md:0 6px 16px -4px #0f172a1a,0 2px 6px -2px #0f172a0f;--shadow-lg:0 18px 40px -12px #0f172a29,0 6px 14px -6px #0f172a14;--shadow-xl:0 32px 64px -24px #0f172a3d;--shadow-panel:-18px 10px 28px -18px #0f172a38;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SFMono-Regular",ui-monospace,Menlo,Consolas,"Courier New",monospace;--sidebar-width:248px;--sidebar-width-collapsed:76px;--topbar-height:68px;--mobilenav-height:62px;--content-max:1440px;--content-gutter:clamp(16px,2.2vw,32px);--ease:cubic-bezier(0.4,0,0.2,1);--speed-fast:0.12s;--speed:0.18s;--speed-slow:0.28s;color-scheme:light}:root[data-theme=dark]{--background:0 0% 5%;--background-alt:0 0% 8%;--foreground:0 0% 98%;--card:0 0% 10%;--card-foreground:0 0% 98%;--popover:0 0% 12%;--popover-foreground:0 0% 98%;--primary:0 0% 96%;--primary-variant:0 0% 72%;--primary-foreground:0 0% 9%;--secondary:0 0% 13%;--secondary-foreground:0 0% 68%;--secondary-highlight:0 0% 20%;--muted:0 0% 14%;--muted-foreground:0 0% 62%;--accent:0 0% 18%;--accent-foreground:0 0% 98%;--selected:152 58% 44%;--selected-foreground:0 0% 100%;--selected-soft:152 36% 16%;--selected-strong:152 58% 56%;--success:152 55% 46%;--success-foreground:0 0% 100%;--success-soft:152 36% 15%;--warning:38 92% 55%;--warning-foreground:40 90% 92%;--warning-soft:34 45% 15%;--destructive:0 72% 58%;--destructive-foreground:0 0% 100%;--destructive-soft:0 45% 15%;--info:152 50% 50%;--info-soft:152 36% 16%;--border:0 0% 20%;--border-strong:0 0% 28%;--input:0 0% 22%;--ring:152 58% 44%;--shadow-xs:0 1px 2px #00000080;--shadow-sm:0 1px 3px #0000008c,0 1px 2px #0006;--shadow-md:0 6px 16px -4px #0009,0 2px 6px -2px #00000073;--shadow-lg:0 18px 40px -12px #000000b3,0 6px 14px -6px #00000080;--shadow-xl:0 32px 64px -24px #000c;--shadow-panel:-18px 10px 28px -18px #000000b3;color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{background-color:hsl(var(--background));color:hsl(var(--foreground))}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-sans);font-size:14px;line-height:1.5;transition:background-color var(--speed-slow) var(--ease),color var(--speed-slow) var(--ease)}button,input,select,textarea{font-family:inherit}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=image]):not([type=hidden]),select,textarea{font-size:16px!important}}a{color:hsl(var(--selected));text-decoration:none}a:hover{color:hsl(var(--selected-strong))}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ui-scroll{scrollbar-color:hsl(var(--border-strong)) #0000;scrollbar-width:thin}.ui-scroll::-webkit-scrollbar{height:8px;width:8px}.ui-scroll::-webkit-scrollbar-track{background:#0000}.ui-scroll::-webkit-scrollbar-thumb{background-color:hsl(var(--border-strong));border-radius:var(--radius-pill)}.ui-scroll::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground)/.6)}.ui-page{display:flex;flex-direction:column;gap:24px}.ui-page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.ui-page-head__text{min-width:0}.ui-page-head__title{color:hsl(var(--foreground));font-size:clamp(24px,2.4vw,32px);font-weight:650;letter-spacing:-.02em;line-height:1.15;margin:0}.ui-page-head__subtitle{color:hsl(var(--muted-foreground));font-size:14px;margin:6px 0 0;max-width:68ch}.ui-page-head__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ui-breadcrumbs{align-items:center;display:flex;font-size:13px;gap:8px}.ui-breadcrumbs,.ui-breadcrumbs a{color:hsl(var(--muted-foreground))}.ui-breadcrumbs a{transition:color var(--speed) var(--ease)}.ui-breadcrumbs a:hover,.ui-section-title{color:hsl(var(--foreground))}.ui-section-title{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.ui-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:hsl(var(--card-foreground))}.ui-card--flat{box-shadow:none}.ui-card--interactive{transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease),transform var(--speed) var(--ease)}.ui-card--interactive:hover{border-color:hsl(var(--border-strong));box-shadow:var(--shadow-md)}.ui-card__header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;padding:18px 20px}.ui-card__title{color:hsl(var(--foreground));font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.ui-card__desc{color:hsl(var(--muted-foreground));font-size:13px;margin:4px 0 0}.ui-card__body{padding:20px}.ui-card__footer{align-items:center;border-top:1px solid hsl(var(--border));display:flex;gap:10px;padding:16px 20px}.ui-icon-tile{align-items:center;background-color:hsl(var(--selected-soft));border-radius:var(--radius-md);color:hsl(var(--selected));display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.ui-icon-tile img,.ui-icon-tile svg{height:20px;width:20px}.ui-icon-tile img{display:block}:root[data-theme=dark] .ui-icon-tile img{filter:brightness(0) invert(1);opacity:.92}:root[data-theme=dark] .ui-icon-tile--success img{filter:brightness(0) saturate(100%) invert(64%) sepia(45%) saturate(500%) hue-rotate(110deg) brightness(95%) contrast(90%);opacity:1}:root[data-theme=dark] .ui-icon-tile--danger img{filter:brightness(0) saturate(100%) invert(42%) sepia(70%) saturate(1800%) hue-rotate(330deg) brightness(100%) contrast(95%);opacity:1}.ui-icon-tile--muted{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}:root[data-theme=dark] .ui-icon-tile--muted{background-color:hsl(var(--selected-soft));color:hsl(var(--selected-strong))}.ui-icon-tile--success{background-color:hsl(var(--success-soft));color:hsl(var(--success))}.ui-icon-tile--danger{background-color:hsl(var(--destructive-soft));color:hsl(var(--destructive))}.ui-btn{align-items:center;background-color:hsl(var(--secondary));border:1px solid #0000;border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;line-height:1;padding:0 16px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),color var(--speed) var(--ease),box-shadow var(--speed) var(--ease),opacity var(--speed) var(--ease);white-space:nowrap}.ui-btn:hover{background-color:hsl(var(--secondary-highlight))}.ui-btn:active{transform:translateY(.5px)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;transform:none}.ui-btn svg{flex-shrink:0;height:16px;width:16px}.ui-btn--primary{background-color:hsl(var(--selected));box-shadow:var(--shadow-xs);color:hsl(var(--selected-foreground))}.ui-btn--primary:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.ui-btn--dark{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ui-btn--dark:hover:not(:disabled){background-color:hsl(var(--primary-variant))}.ui-btn--outline{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.ui-btn--outline:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.ui-btn--ghost{background-color:initial;color:hsl(var(--muted-foreground))}.ui-btn--ghost:hover:not(:disabled){background-color:hsl(var(--muted));color:hsl(var(--foreground))}.ui-btn--danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.ui-btn--danger:hover:not(:disabled){background-color:hsl(var(--destructive)/.88)}.ui-btn--danger-soft{background-color:hsl(var(--destructive-soft));color:hsl(var(--destructive))}.ui-btn--danger-soft:hover:not(:disabled){background-color:hsl(var(--destructive)/.16)}.ui-btn--link{background:none;color:hsl(var(--selected));font-weight:500;height:auto;padding:0}.ui-btn--link:hover:not(:disabled){background:none;color:hsl(var(--selected-strong));text-decoration:underline}.ui-btn--sm{border-radius:var(--radius-sm);font-size:13px;height:34px;padding:0 12px}.ui-btn--lg{border-radius:var(--radius-md);font-size:15px;height:44px;padding:0 22px}.ui-btn--block{width:100%}.ui-btn--icon{height:40px;padding:0;width:40px}.ui-btn--icon.ui-btn--sm{height:34px;width:34px}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-label{color:hsl(var(--secondary-foreground));font-size:13px;font-weight:500}.ui-input,.ui-select,.ui-textarea{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease),background-color var(--speed) var(--ease);width:100%}.ui-textarea{height:auto;min-height:96px;padding:10px 12px;resize:vertical}.ui-input::placeholder,.ui-textarea::placeholder{color:hsl(var(--muted-foreground))}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:hsl(var(--border-strong))}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.ui-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23888' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;cursor:pointer;padding-right:34px}.ui-checkbox{align-items:center;background-color:hsl(var(--card));border:1.5px solid hsl(var(--border-strong));border-radius:var(--radius-xs);display:inline-flex;flex-shrink:0;height:20px;justify-content:center;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease);width:20px}.ui-checkbox:after{border-bottom:2px solid hsl(var(--selected-foreground));border-left:2px solid hsl(var(--selected-foreground));content:"";height:6px;opacity:0;transform:rotate(-45deg) translate(1px,-1px) scale(.6);transition:opacity var(--speed) var(--ease),transform var(--speed) var(--ease);width:10px}input:checked+.ui-checkbox{background-color:hsl(var(--selected));border-color:hsl(var(--selected))}input:checked+.ui-checkbox:after{opacity:1;transform:rotate(-45deg) translate(1px,-1px) scale(1)}.ui-badge{align-items:center;background-color:hsl(var(--muted));border:1px solid #0000;border-radius:var(--radius-pill);color:hsl(var(--muted-foreground));display:inline-flex;font-size:12px;font-weight:500;gap:6px;line-height:1.4;padding:4px 10px;white-space:nowrap}.ui-badge--accent{background-color:hsl(var(--selected-soft));color:hsl(var(--selected-strong))}.ui-badge--success{background-color:hsl(var(--success-soft));color:hsl(var(--success))}.ui-badge--danger{background-color:hsl(var(--destructive-soft));color:hsl(var(--destructive))}.ui-badge--warning{background-color:hsl(var(--warning-soft));color:hsl(var(--warning-foreground))}.ui-badge--info{background-color:hsl(var(--info-soft));color:hsl(var(--info))}.ui-badge--outline{background-color:initial;border-color:hsl(var(--border));color:hsl(var(--foreground))}.ui-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;height:6px;width:6px}.ui-table-wrap{border-radius:var(--radius-md);overflow-x:auto;width:100%}.ui-table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.ui-table th{background-color:hsl(var(--muted)/.6);border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;letter-spacing:.02em;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.ui-table th:first-child{border-top-left-radius:var(--radius-md)}.ui-table th:last-child{border-top-right-radius:var(--radius-md)}.ui-table td{border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));padding:14px;vertical-align:middle}.ui-table tbody tr{transition:background-color var(--speed) var(--ease)}.ui-table tbody tr:hover{background-color:hsl(var(--muted)/.55)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-tabs{align-items:center;background-color:hsl(var(--muted));border-radius:var(--radius);display:inline-flex;gap:4px;padding:4px}.ui-tabs__btn{background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.ui-tabs__btn:hover{color:hsl(var(--foreground))}.ui-tabs__btn--active,.ui-tabs__btn[aria-selected=true]{background-color:hsl(var(--card));box-shadow:var(--shadow-xs);color:hsl(var(--foreground))}.ui-menu{animation:ui-pop var(--speed) var(--ease);background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:hsl(var(--popover-foreground));min-width:190px;padding:6px}.ui-menu__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:9px 10px;text-align:left;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:100%}.ui-menu__item svg{flex-shrink:0;height:16px;width:16px}.ui-menu__item:hover{background-color:hsl(var(--muted))}.ui-menu__item--danger{color:hsl(var(--destructive))}.ui-menu__item--danger:hover{background-color:hsl(var(--destructive-soft))}.ui-menu__sep{background-color:hsl(var(--border));height:1px;margin:6px 4px}.ui-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.ui-modal__backdrop{animation:ui-fade var(--speed) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:hsl(var(--background)/.7);border:none;cursor:default;inset:0;padding:0;position:absolute;width:100%}.ui-modal__dialog{animation:ui-pop var(--speed-slow) var(--ease);background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:hsl(var(--card-foreground));display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:520px;overflow:hidden;position:relative;width:100%;z-index:1}.ui-modal__header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;padding:18px 20px}.ui-modal__title{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.ui-modal__close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;line-height:1;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.ui-modal__close:hover:not(:disabled){background-color:hsl(var(--muted));color:hsl(var(--foreground))}.ui-modal__body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.ui-modal__dialog--sm{max-width:420px}.ui-modal__dialog--lg{max-width:760px}.ui-modal__dialog--xl{max-width:1000px}.ui-modal__footer{align-items:center;border-top:1px solid hsl(var(--border));display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.ui-empty{display:flex;flex-direction:column;font-size:14px;gap:8px;padding:40px 20px;text-align:center}.ui-empty,.ui-empty__icon{align-items:center;color:hsl(var(--muted-foreground));justify-content:center}.ui-empty__icon{background-color:hsl(var(--muted));border-radius:var(--radius-md);display:inline-flex;height:48px;margin-bottom:4px;width:48px}.ui-empty__title{color:hsl(var(--foreground));font-size:15px;font-weight:600}.ui-loading{color:hsl(var(--muted-foreground));font-size:14px;padding:32px 20px;text-align:center}.ui-alert{align-items:flex-start;border:1px solid #0000;border-radius:var(--radius);display:flex;font-size:14px;gap:10px;line-height:1.45;padding:12px 14px}.ui-alert--danger{background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.25);color:hsl(var(--destructive))}.ui-alert--warning{background-color:hsl(var(--warning-soft));border-color:hsl(var(--warning)/.3);color:hsl(var(--warning-foreground))}.ui-alert--info{background-color:hsl(var(--info-soft));border-color:hsl(var(--info)/.25);color:hsl(var(--info))}.ui-alert--success{background-color:hsl(var(--success-soft));border-color:hsl(var(--success)/.25);color:hsl(var(--success))}.ui-skeleton{background-color:hsl(var(--muted));border-radius:var(--radius-sm);overflow:hidden;position:relative}.ui-skeleton:after{animation:ui-shimmer 1.4s infinite;background:linear-gradient(90deg,#0000,hsl(var(--foreground)/.06),#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ui-shimmer{to{transform:translateX(100%)}}@keyframes ui-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0}code{font-family:var(--font-mono)}.sub-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.sub-modal__backdrop{animation:ui-fade var(--speed) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:hsl(var(--background)/.72);inset:0;position:absolute}.sub-modal__dialog{animation:ui-pop var(--speed-slow) var(--ease);background:radial-gradient(600px 220px at 100% 0,hsl(var(--selected)/.12),#0000 65%),hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:hsl(var(--card-foreground));max-height:calc(100vh - 48px);max-width:480px;overflow-y:auto;padding:28px;position:relative;width:100%;z-index:1}.sub-modal__close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:14px;top:14px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.sub-modal__close:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.sub-modal__title{color:hsl(var(--foreground));font-size:20px;font-weight:650;letter-spacing:-.02em;margin:0 0 20px;padding-right:36px}.sub-modal__features{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.sub-modal__feature{align-items:flex-start;border-radius:var(--radius);display:flex;gap:12px;padding:10px;transition:background-color var(--speed) var(--ease)}.sub-modal__feature:hover{background-color:hsl(var(--muted)/.6)}.sub-modal__icon{align-items:center;background-color:hsl(var(--selected-soft));border-radius:var(--radius-md);color:hsl(var(--selected));display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.sub-modal__icon-img{background-color:currentColor;display:block;-webkit-mask-image:var(--sub-modal-icon);mask-image:var(--sub-modal-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.sub-modal__icon-img,.sub-modal__icon-svg{height:20px;width:20px}.sub-modal__feature-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sub-modal__feature-title{color:hsl(var(--foreground));font-size:14px;font-weight:500}.sub-modal__feature-desc{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.sub-modal__balance-row{align-items:center;background-color:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.sub-modal__balance-label{color:hsl(var(--muted-foreground));font-size:13px}.sub-modal__balance-value{font-feature-settings:"tnum";color:hsl(var(--foreground));font-size:15px;font-variant-numeric:tabular-nums;font-weight:600}.sub-modal__hint{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;margin:10px 0 0}.sub-modal__error{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.25);border-radius:var(--radius);color:hsl(var(--destructive));font-size:13px;margin:12px 0 0;padding:10px 12px}.sub-modal__footer{align-items:center;border-top:1px solid hsl(var(--border));display:flex;gap:16px;justify-content:space-between;margin-top:20px;padding-top:18px}.sub-modal__price{font-feature-settings:"tnum";color:hsl(var(--foreground));font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em}.sub-modal__cta{align-items:center;background-color:hsl(var(--selected));border:none;border-radius:var(--radius);box-shadow:var(--shadow-xs);color:hsl(var(--selected-foreground));cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:44px;justify-content:center;padding:0 22px;transition:background-color var(--speed) var(--ease),opacity var(--speed) var(--ease)}.sub-modal__cta:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.sub-modal__cta:disabled{cursor:not-allowed;opacity:.55}@media (max-width:520px){.sub-modal__dialog{padding:22px 18px}.sub-modal__footer{align-items:stretch;flex-direction:column;gap:12px}.sub-modal__cta{width:100%}}.loader-container{align-items:center;display:flex;justify-content:center;padding:24px}.loader-container.loader--fullscreen{background-color:hsl(var(--background));inset:0;padding:0;position:fixed;z-index:9999}.loader{flex-direction:column;gap:20px}.loader,.loader__spinner{align-items:center;display:flex;justify-content:center}.loader__spinner{position:relative}.loader__spinner-ring{animation:spin 1.1s cubic-bezier(.5,0,.5,1) infinite;border:3px solid hsl(var(--border));border-radius:50%;border-top-color:hsl(var(--selected));position:absolute}.loader__spinner-ring--delay{animation-delay:-.55s;animation-duration:1.6s;border-color:#0000;border-top-color:hsl(var(--selected)/.35)}.loader__logo{align-items:center;animation:pulse 2s ease-in-out infinite;display:flex;justify-content:center;position:relative;z-index:2}.loader__logo-image{max-height:100%;max-width:100%;object-fit:contain}.loader__logo-image--dark,:root[data-theme=dark] .loader__logo-image--light{display:none}:root[data-theme=dark] .loader__logo-image--dark{display:block}.loader--small .loader__spinner-ring{border-width:2px;height:36px;width:36px}.loader--small .loader__logo{height:20px;width:20px}.loader--medium .loader__spinner-ring{border-width:3px;height:60px;width:60px}.loader--medium .loader__logo{height:34px;width:34px}.loader--large .loader__spinner-ring{border-width:3px;height:96px;width:96px}.loader--large .loader__logo{height:56px;width:56px}.loader__text{animation:fadeInOut 2s ease-in-out infinite;color:hsl(var(--muted-foreground));font-size:14px;font-weight:500;letter-spacing:.02em}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.model-icon{background-color:currentColor;display:inline-block;flex:0 0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.sidebar{--sidebar-surface:0 0% 13%;--sidebar-surface-highlight:0 0% 20%;--sidebar-fg:0 0% 68%;--sidebar-fg-strong:0 0% 98%;--sidebar-muted:0 0% 62%;--sidebar-border:0 0% 22%;--sidebar-user-bg:0 0% 8%;--sidebar-selected:152 58% 44%;--sidebar-selected-soft:152 40% 17%;--sidebar-selected-strong:152 58% 62%;--tab-notch:18px;--tab-radius:12px;bottom:12px;color:hsl(var(--sidebar-fg-strong));display:flex;flex-direction:column;left:12px;overflow:visible;padding:18px 0 14px 14px;position:fixed;top:12px;transition:width var(--speed-slow) var(--ease);width:var(--sidebar-width);z-index:60}.sidebar__shell{background-color:hsl(var(--sidebar-surface));border-radius:var(--radius-2xl);box-shadow:var(--shadow-panel);inset:0;position:absolute;z-index:-1}.sidebar__top{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:4px 16px 22px 6px}.sidebar__logo{align-items:center;border-radius:var(--radius-sm);display:inline-flex;min-width:0}.sidebar__logo-img{display:block;height:34px;width:auto}.sidebar__logo-img--icon{display:none;height:36px;width:36px}.sidebar__logo-img--light.sidebar__logo-img--full{display:none}.sidebar__logo-img--dark.sidebar__logo-img--full{display:block}.sidebar__collapse{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:50%;box-shadow:var(--shadow-sm);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;position:absolute;right:0;top:0;transform:translate(50%,-50%);transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease),border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:28px;z-index:5}.sidebar__collapse:hover{background-color:hsl(var(--background));border-color:hsl(var(--border-strong));box-shadow:var(--shadow-md);color:hsl(var(--foreground))}.sidebar__collapse svg{display:block}.sidebar__close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--sidebar-muted));cursor:pointer;display:none;height:32px;justify-content:center;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.sidebar__close:hover{background-color:hsl(var(--sidebar-surface-highlight));color:hsl(var(--sidebar-fg-strong))}.sidebar__nav{display:flex;flex:1 1;flex-direction:column;gap:2px;margin:calc(var(--tab-notch)*-1) 0;min-height:0;overflow-y:auto;padding:var(--tab-notch) 0}.sidebar__item{align-items:center;background-color:initial;border:none;border-radius:0;color:hsl(var(--sidebar-fg));cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:11px 16px 11px 12px;position:relative;text-align:left;transition:color var(--speed) var(--ease),background-color var(--speed) var(--ease);width:100%}.sidebar__item svg{flex-shrink:0}.sidebar__item>.model-icon{color:hsl(var(--sidebar-muted))}.sidebar__item--active>.model-icon,.sidebar__item:hover>.model-icon{color:hsl(var(--sidebar-selected))}.sidebar__item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__item:after,.sidebar__item:before{content:"";height:var(--tab-notch);opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity var(--speed) var(--ease);width:var(--tab-notch)}.sidebar__item:before{background:radial-gradient(circle at top left,#0000 calc(var(--tab-notch) - 1px),hsl(var(--background)) var(--tab-notch));top:calc(var(--tab-notch)*-1)}.sidebar__item:after{background:radial-gradient(circle at bottom left,#0000 calc(var(--tab-notch) - 1px),hsl(var(--background)) var(--tab-notch));bottom:calc(var(--tab-notch)*-1)}.sidebar__item--active,.sidebar__item:hover{background-color:hsl(var(--background));border-bottom-left-radius:var(--tab-radius);border-top-left-radius:var(--tab-radius);color:hsl(var(--foreground));z-index:2}.sidebar__item--active{font-weight:600}.sidebar__item--active svg:first-of-type{color:hsl(var(--sidebar-selected))}.sidebar__item--active:after,.sidebar__item--active:before,.sidebar__item:hover:after,.sidebar__item:hover:before{opacity:1}.sidebar__nav:has(.sidebar__item:hover) .sidebar__item--active:not(:hover){background-color:initial;border-radius:0;color:hsl(var(--sidebar-fg));z-index:auto}.sidebar__nav:has(.sidebar__item:hover) .sidebar__item--active:not(:hover):after,.sidebar__nav:has(.sidebar__item:hover) .sidebar__item--active:not(:hover):before{opacity:0}.sidebar__count{background-color:hsl(var(--sidebar-surface-highlight));border-radius:var(--radius-pill);color:hsl(var(--sidebar-muted));flex-shrink:0;font-size:11px;font-weight:600;min-width:22px;padding:1px 6px;text-align:center}.sidebar__item--active .sidebar__count,.sidebar__item:hover .sidebar__count{background-color:hsl(var(--muted))}.sidebar__chevron{color:hsl(var(--sidebar-muted));flex-shrink:0;transition:transform var(--speed) var(--ease)}.sidebar__group--open .sidebar__chevron{transform:rotate(180deg)}.sidebar__sub{animation:ui-fade var(--speed) var(--ease);border-left:1px solid hsl(var(--sidebar-border));display:flex;flex-direction:column;gap:1px;margin:2px 12px 6px 22px;padding-left:10px}.sidebar__subitem{align-items:center;border-radius:var(--radius-sm);color:hsl(var(--sidebar-fg));display:flex;font-size:13px;font-weight:500;gap:9px;padding:8px 10px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease)}.sidebar__subitem svg{color:hsl(var(--sidebar-muted));flex-shrink:0}.sidebar__subitem:hover{background-color:hsl(var(--sidebar-surface-highlight));color:hsl(var(--sidebar-fg-strong))}.sidebar__subitem--active{background-color:hsl(var(--sidebar-selected-soft));color:hsl(var(--sidebar-selected-strong))}.sidebar__subitem--active svg{color:hsl(var(--sidebar-selected))}.sidebar__subitem--muted{color:hsl(var(--sidebar-muted))}.sidebar__divider{background-color:hsl(var(--sidebar-border));height:1px;margin:10px 16px 10px 12px}.sidebar__footer{border-top:1px solid hsl(var(--sidebar-border));display:flex;flex-direction:column;flex-shrink:0;gap:8px;margin-top:28px;padding:12px 14px 0 0;position:relative}.sidebar__ghost-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--sidebar-fg));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:9px 12px;text-align:left;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:100%}.sidebar__ghost-btn:hover{background-color:hsl(var(--sidebar-surface-highlight));color:hsl(var(--sidebar-fg-strong))}.sidebar__user{align-items:center;background-color:hsl(var(--sidebar-user-bg)/.85);border-radius:var(--radius-md);display:flex;gap:10px;padding:8px 10px}.sidebar__avatar{align-items:center;background-color:hsl(var(--sidebar-selected));border-radius:50%;color:hsl(var(--selected-foreground));display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;height:34px;justify-content:center;width:34px}.sidebar__user-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.sidebar__user-name{color:hsl(var(--sidebar-fg-strong));font-size:13px;font-weight:600}.sidebar__user-mail,.sidebar__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__user-mail{color:hsl(var(--sidebar-muted));font-size:11px}.sidebar__logout{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--sidebar-muted));cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.sidebar__logout:hover{background-color:hsl(var(--destructive-soft));color:hsl(var(--destructive))}.sidebar--collapsed{align-items:stretch;padding:16px 8px 12px;width:var(--sidebar-width-collapsed)}.sidebar--collapsed .sidebar__top{align-items:center;flex-direction:column;gap:10px;justify-content:flex-start;padding:0 0 16px}.sidebar--collapsed .sidebar__logo{justify-content:center}.sidebar--collapsed .sidebar__logo-img--full{display:none!important}.sidebar--collapsed .sidebar__logo-img--icon{display:block}.sidebar--collapsed .sidebar__ghost-btn,.sidebar--collapsed .sidebar__item{border-radius:var(--radius);gap:0;justify-content:center;margin:0 2px;padding:11px 0;width:calc(100% - 4px)}.sidebar--collapsed .sidebar__chevron,.sidebar--collapsed .sidebar__count,.sidebar--collapsed .sidebar__item-label,.sidebar--collapsed .sidebar__user-text{display:none}.sidebar--collapsed .sidebar__item--active,.sidebar--collapsed .sidebar__item:hover{border-radius:var(--radius);margin-right:2px;width:calc(100% - 4px)}.sidebar--collapsed .sidebar__item:after,.sidebar--collapsed .sidebar__item:before{display:none}.sidebar--collapsed .sidebar__divider{margin:10px 8px}.sidebar--collapsed .sidebar__footer{align-items:center;padding:12px 0 0}.sidebar--collapsed .sidebar__ghost-btn{justify-content:center;padding:10px 0;width:calc(100% - 4px)}.sidebar--collapsed .sidebar__user{flex-direction:column;gap:8px;padding:8px 6px;width:100%}.sidebar--collapsed .sidebar__logout{width:100%}.sidebar-scrim{background-color:#00000073;border:none;display:none;inset:0;opacity:0;padding:0;pointer-events:none;position:fixed;transition:opacity var(--speed-slow) var(--ease);z-index:55}@media (max-width:1024px){.sidebar{bottom:0;left:0;top:0;transform:translateX(-102%);transition:transform var(--speed-slow) var(--ease)}.sidebar,.sidebar--collapsed{padding:18px 0 14px 14px;width:min(300px,86vw)}.sidebar--collapsed{align-items:stretch}.sidebar--collapsed .sidebar__top{align-items:center;flex-direction:row;gap:8px;justify-content:space-between;padding:4px 16px 22px 6px}.sidebar--collapsed .sidebar__logo-img--full{display:block!important}.sidebar--collapsed .sidebar__logo-img--light.sidebar__logo-img--full{display:none!important}.sidebar--collapsed .sidebar__logo-img--dark.sidebar__logo-img--full{display:block!important}.sidebar--collapsed .sidebar__logo-img--icon,.sidebar__collapse{display:none}.sidebar--collapsed .sidebar__ghost-btn,.sidebar--collapsed .sidebar__item{gap:12px;justify-content:flex-start;margin:0;padding:11px 16px 11px 12px;width:100%}.sidebar--collapsed .sidebar__chevron,.sidebar--collapsed .sidebar__count,.sidebar--collapsed .sidebar__item-label,.sidebar--collapsed .sidebar__user-text{display:inline;display:initial}.sidebar__item-label{display:block}.sidebar--collapsed .sidebar__count{display:inline-block}.sidebar--collapsed .sidebar__chevron{display:block}.sidebar--collapsed .sidebar__user-text{display:flex}.sidebar--collapsed .sidebar__user{flex-direction:row;gap:10px;padding:8px 10px}.sidebar--collapsed .sidebar__footer{align-items:stretch;padding:12px 14px 0 0}.sidebar__shell{border-radius:0 var(--radius-2xl) var(--radius-2xl) 0}.sidebar--open{transform:translateX(0)}.sidebar__close{display:inline-flex}.sidebar__item--active,.sidebar__item:hover{border-radius:var(--radius);margin-right:14px;width:calc(100% - 14px)}.sidebar__item:after,.sidebar__item:before{display:none}.sidebar-scrim{display:block}.sidebar-scrim--visible{opacity:1;pointer-events:auto}}.notifications{display:inline-flex;position:relative}.notifications__trigger[aria-expanded=true]{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong));color:hsl(var(--foreground))}.notifications__badge{align-items:center;background-color:hsl(var(--selected));border-radius:var(--radius-pill);color:hsl(var(--selected-foreground));display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px;pointer-events:none;position:absolute;right:-5px;top:-5px}.notifications__panel{overflow:hidden;padding:0;position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 24px));z-index:50}.notifications__head{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:10px;justify-content:space-between;padding:12px 14px}.notifications__title{color:hsl(var(--foreground));font-size:14px;font-weight:600}.notifications__mark-all{background:none;border:none;color:hsl(var(--selected));cursor:pointer;font-size:12px;font-weight:500;padding:0;transition:color var(--speed) var(--ease);white-space:nowrap}.notifications__mark-all:hover{color:hsl(var(--selected-strong));text-decoration:underline}.notifications__list{max-height:min(60vh,380px);overflow-y:auto;padding:6px}.notifications__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:10px;padding:10px;text-align:left;transition:background-color var(--speed) var(--ease);width:100%}.notifications__item:hover{background-color:hsl(var(--muted))}.notifications__dot{background-color:initial;border-radius:50%;flex-shrink:0;height:7px;width:7px}.notifications__item--new .notifications__dot{background-color:hsl(var(--selected))}.notifications__item-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.notifications__item-title{color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications__item--new .notifications__item-title{color:hsl(var(--foreground));font-weight:600}.notifications__item-meta{font-size:12px;overflow:hidden;text-overflow:ellipsis}.notifications__item-meta,.notifications__item-time{color:hsl(var(--muted-foreground));white-space:nowrap}.notifications__item-time{align-self:flex-start;flex-shrink:0;font-size:11px}.notifications__footer{border-top:1px solid hsl(var(--border))}.notifications__all{background:none;border:none;color:hsl(var(--selected));cursor:pointer;font-size:13px;font-weight:500;padding:11px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:100%}.notifications__all:hover{background-color:hsl(var(--muted));color:hsl(var(--selected-strong))}.notifications__list .ui-empty,.notifications__list .ui-loading{padding:28px 16px}.notifications__list .ui-empty{gap:6px}@media (max-width:720px){.notifications__panel{left:10px;position:fixed;right:10px;top:calc(var(--topbar-height) + 4px);width:auto}}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:hsl(var(--background)/.82);gap:16px;height:var(--topbar-height);justify-content:space-between;padding:0 var(--content-gutter);position:-webkit-sticky;position:sticky;top:0;z-index:40}.topbar,.topbar__left{align-items:center;display:flex}.topbar__left{gap:12px;min-width:0}.topbar__burger{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;display:none;flex-shrink:0;height:40px;justify-content:center;transition:background-color var(--speed) var(--ease);width:40px}.topbar__burger:hover{background-color:hsl(var(--muted))}.topbar__title{color:hsl(var(--foreground));font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__right{align-items:center;display:flex;flex-shrink:0;gap:10px}.topbar__icon-btn{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--secondary-foreground));cursor:pointer;display:inline-flex;height:40px;justify-content:center;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease),border-color var(--speed) var(--ease);width:40px}.topbar__icon-btn:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong));color:hsl(var(--foreground))}.topbar__balance{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;gap:8px;height:40px;padding:0 14px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.topbar__balance:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.topbar__balance-label{color:hsl(var(--muted-foreground));font-size:12px;line-height:1}.topbar__balance-value{font-feature-settings:"tnum";color:hsl(var(--foreground));font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1;white-space:nowrap}.topbar__user{position:relative}.topbar__user-trigger{align-items:center;background-color:initial;border:1px solid #0000;border-radius:var(--radius-pill);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;gap:9px;height:40px;padding:0 10px 0 6px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.topbar__user-trigger:hover,.topbar__user-trigger[aria-expanded=true]{background-color:hsl(var(--muted));border-color:hsl(var(--border))}.topbar__avatar{align-items:center;background-color:hsl(var(--selected));border-radius:50%;color:hsl(var(--selected-foreground));display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.topbar__user-name{font-size:14px;font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__chevron{color:hsl(var(--muted-foreground));transition:transform var(--speed) var(--ease)}.topbar__chevron--open{transform:rotate(180deg)}.topbar__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50}@media (max-width:1024px){.topbar__burger{display:inline-flex}}@media (max-width:720px){.topbar{gap:8px;padding:0 14px}.topbar__right{gap:10px}.topbar__balance-label,.topbar__theme,.topbar__title,.topbar__user-name{display:none}.topbar__balance{padding:0 10px}}.app-shell,.app-shell__main{background-color:hsl(var(--background));min-height:100vh}.app-shell__main{display:flex;flex-direction:column;margin-left:calc(var(--sidebar-width) + 32px);transition:margin-left var(--speed-slow) var(--ease)}.app-shell--sidebar-collapsed .app-shell__main{margin-left:calc(var(--sidebar-width-collapsed) + 32px)}.impersonation-banner{align-items:center;background-color:hsl(var(--warning-soft));border-bottom:1px solid hsl(var(--warning)/.35);color:hsl(var(--warning-foreground));display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:10px 20px}.impersonation-banner strong{font-weight:650}.impersonation-banner__btn{background-color:hsl(var(--card));border:1px solid hsl(var(--warning)/.45);border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;height:32px;padding:0 12px;transition:background-color var(--speed) var(--ease)}.impersonation-banner__btn:hover:not(:disabled){background-color:hsl(var(--muted))}.impersonation-banner__btn:disabled{cursor:wait;opacity:.7}.app-shell__main .container{margin-left:0;margin-right:0;max-width:none}.app-shell__main .container,.app-shell__main .topbar{padding-left:20px;padding-right:20px}.app-shell__content{animation:ui-rise var(--speed-slow) var(--ease);flex:1 1;padding:28px 0 48px}.mobile-nav{align-items:stretch;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:hsl(var(--background)/.94);border-top:1px solid hsl(var(--border));bottom:0;display:none;height:var(--mobilenav-height);left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:45}.mobile-nav__item{align-items:center;background:#0000;border:none;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:10.5px;font-weight:500;gap:3px;justify-content:center;min-width:0;padding:6px 2px;transition:color var(--speed) var(--ease)}.mobile-nav__item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav__item:hover{color:hsl(var(--foreground))}.mobile-nav__item--active{color:hsl(var(--selected))}@media (max-width:1024px){.app-shell__main{border-radius:0;margin-left:0}.app-shell__content{padding-bottom:calc(var(--mobilenav-height) + env(safe-area-inset-bottom, 0px) + 32px)}.mobile-nav{display:flex}}@media (max-width:720px){.app-shell__content{padding-top:20px}}.App{min-height:100vh;width:100%}.container{margin:0 auto;max-width:var(--content-max);padding-left:var(--content-gutter);padding-right:var(--content-gutter);width:100%}.container .container{max-width:none;padding-left:0;padding-right:0}.login-container{align-items:center;background-color:hsl(var(--background-alt));display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.login-container:before{background:radial-gradient(680px 380px at 15% 10%,hsl(var(--selected)/.12),#0000 60%),radial-gradient(560px 320px at 85% 90%,hsl(var(--info)/.1),#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.login-modal{animation:ui-pop var(--speed-slow) var(--ease);background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:430px;padding:32px;position:relative;width:100%;z-index:1}.login-header{align-items:center;display:flex;justify-content:center;margin-bottom:22px}.login-logo{display:block;height:28px;width:auto}.login-logo--dark,:root[data-theme=dark] .login-logo--light{display:none}:root[data-theme=dark] .login-logo--dark{display:block}.login-title{color:hsl(var(--foreground));font-size:22px;font-weight:650;letter-spacing:-.02em;margin:0;text-align:center}.login-subtitle{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;margin:8px 0 24px;text-align:center}.login-tabs{background-color:hsl(var(--muted));border-radius:var(--radius);display:flex;gap:4px;margin-bottom:22px;padding:4px}.login-tab{background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:9px 0;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.login-tab.active,.login-tab:hover{color:hsl(var(--foreground))}.login-tab.active{background-color:hsl(var(--card));box-shadow:var(--shadow-xs);font-weight:600}.login-form{display:flex;flex-direction:column;gap:12px}.login-input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:44px;outline:none;padding:0 14px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:100%}.login-input::placeholder{color:hsl(var(--muted-foreground))}.login-input:hover{border-color:hsl(var(--border-strong))}.login-input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.login-button{background-color:hsl(var(--selected));border:1px solid #0000;border-radius:var(--radius);box-shadow:var(--shadow-xs);color:hsl(var(--selected-foreground));cursor:pointer;font-size:15px;font-weight:500;height:44px;margin-top:4px;transition:background-color var(--speed) var(--ease),opacity var(--speed) var(--ease);width:100%}.login-button:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-button--secondary{background-color:hsl(var(--card));border-color:hsl(var(--border));box-shadow:none;color:hsl(var(--foreground))}.login-button--secondary:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.login-hint{background-color:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;padding:10px 12px;text-align:center}.login-hint b{color:hsl(var(--foreground))}.login-error{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.25);border-radius:var(--radius);color:hsl(var(--destructive));font-size:13px;padding:10px 12px;text-align:center}.login-options{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:4px}.login-legal{display:flex;flex-direction:column;gap:10px;margin:2px 0 4px}.login-checkbox-label{align-items:center;color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;font-size:13px;gap:8px;-webkit-user-select:none;user-select:none}.login-checkbox-label--legal{align-items:flex-start;line-height:1.4}.login-checkbox-label--legal .login-checkbox{flex-shrink:0;margin-top:2px}.login-checkbox-label--legal a{color:hsl(var(--selected));text-decoration:underline;text-underline-offset:2px}.login-checkbox-label--legal a:hover{color:hsl(var(--selected-strong))}.login-checkbox{accent-color:hsl(var(--selected));cursor:pointer;height:16px;width:16px}.login-forgot{background:#0000;border:0;color:hsl(var(--selected));cursor:pointer;font-size:13px;padding:0}.login-forgot:hover{color:hsl(var(--selected-strong));text-decoration:underline}.login-divider{align-items:center;display:flex;gap:12px;margin:18px 0}.login-divider-line{background-color:hsl(var(--border));flex:1 1;height:1px}.login-divider-text{color:hsl(var(--muted-foreground));font-size:12px}.login-social{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.login-social-button{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:14px;gap:8px;height:44px;justify-content:center;transition:background-color var(--speed) var(--ease)}.login-social-button:hover{background-color:hsl(var(--muted))}.login-social-icon{height:16px;width:16px}@media (max-width:480px){.login-modal{padding:24px 20px}.login-title{font-size:20px}}.det-stats-modal__dialog{display:flex;flex-direction:column;max-height:min(90vh,880px);max-width:none;width:min(940px,calc(100vw - 32px))}.det-stats__subtitle{color:hsl(var(--muted-foreground));font-size:13px;font-weight:400;margin:4px 0 0}.det-stats-modal__body{flex:1 1;overflow-y:auto;padding:20px}.det-stats__empty,.det-stats__error,.det-stats__loading{color:hsl(var(--muted-foreground));font-size:14px;padding:32px 16px;text-align:center}.det-stats__error{color:hsl(var(--destructive))}.det-stats__cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:22px}.det-stats__card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:4px;padding:18px 20px}.det-stats__card--day{background:radial-gradient(420px 160px at 100% 0,hsl(var(--selected)/.14),#0000 65%),hsl(var(--card));border-color:hsl(var(--selected)/.28)}.det-stats__card--week{background:radial-gradient(420px 160px at 100% 0,hsl(var(--info)/.14),#0000 65%),hsl(var(--card));border-color:hsl(var(--info)/.28)}.det-stats__card-label{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.det-stats__card-value{font-feature-settings:"tnum";color:hsl(var(--foreground));font-size:36px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.03em;line-height:1.1}.det-stats__card-hint{color:hsl(var(--muted-foreground));font-size:12px}.det-stats__section{margin-bottom:22px}.det-stats__section--areas{border-top:1px solid hsl(var(--border));margin-top:8px;padding-top:20px}.det-stats__section-title{color:hsl(var(--foreground));font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0 0 12px}.det-stats__chart{align-items:flex-end;background-color:hsl(var(--muted)/.45);border:1px solid hsl(var(--border));border-radius:var(--radius-md);display:flex;gap:8px;height:150px;padding:14px 14px 8px}.det-stats__chart-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;min-width:0}.det-stats__chart-value{font-feature-settings:"tnum";color:hsl(var(--muted-foreground));font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;margin-bottom:4px;min-height:16px}.det-stats__chart-bar-wrap{align-items:flex-end;display:flex;flex:1 1;justify-content:center;max-width:34px;width:100%}.det-stats__chart-bar{background:linear-gradient(180deg,hsl(var(--selected)) 0,hsl(var(--selected-strong)) 100%);border-radius:var(--radius-xs) var(--radius-xs) 2px 2px;min-height:4px;transition:height .25s var(--ease);width:100%}.det-stats__chart-col:hover .det-stats__chart-bar{filter:brightness(1.08)}.det-stats__chart-label{color:hsl(var(--muted-foreground));font-size:11px;margin-top:6px;white-space:nowrap}.det-stats__split{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.det-stats__bars{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.det-stats__bar-row{display:flex;flex-direction:column;gap:5px}.det-stats__bar-meta{align-items:baseline;display:flex;font-size:13px;gap:8px;justify-content:space-between}.det-stats__bar-label{color:hsl(var(--foreground));font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.det-stats__bar-value{font-feature-settings:"tnum";color:hsl(var(--foreground));flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.det-stats__bar-share{color:hsl(var(--muted-foreground));font-weight:400}.det-stats__bar-track{background-color:hsl(var(--muted));border-radius:var(--radius-pill);height:8px;overflow:hidden}.det-stats__bar-fill{background-color:hsl(var(--selected));border-radius:var(--radius-pill);height:100%;min-width:4px;transition:width .3s var(--ease)}.det-stats__areas{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));list-style:none;margin:0;padding:0}.det-stats__area-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.det-stats__area-card:hover{border-color:hsl(var(--border-strong));box-shadow:var(--shadow-md)}.det-stats__area-top{align-items:flex-start;background-color:hsl(var(--muted)/.4);border-bottom:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.det-stats__area-title-wrap{align-items:center;display:flex;gap:10px;min-width:0}.det-stats__area-icon-wrap{align-items:center;background-color:hsl(var(--selected-soft));border-radius:var(--radius-md);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.det-stats__area-icon{color:hsl(var(--selected));height:20px;width:20px}.det-stats__area-name{color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.det-stats__area-badges{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:6px;min-width:124px}.det-stats__area-badge{align-items:center;border:1px solid #0000;border-radius:var(--radius-pill);display:flex;font-size:12px;gap:12px;justify-content:space-between;line-height:1.3;padding:5px 11px;width:100%}.det-stats__area-badge--day{background-color:hsl(var(--selected-soft));border-color:hsl(var(--selected)/.25)}.det-stats__area-badge--week{background-color:hsl(var(--info-soft));border-color:hsl(var(--info)/.25)}.det-stats__area-badge-label{color:hsl(var(--muted-foreground));font-weight:500}.det-stats__area-badge-value{font-feature-settings:"tnum";color:hsl(var(--foreground));flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.det-stats__area-body{padding:14px 16px 16px}.det-stats__area-body-label{color:hsl(var(--muted-foreground));display:block;font-size:11px;font-weight:600;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.det-stats__area-models{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.det-stats__area-model{display:flex;flex-direction:column;gap:5px}.det-stats__area-model-meta{align-items:baseline;display:flex;font-size:13px;gap:8px;justify-content:space-between}.det-stats__area-model-label{color:hsl(var(--foreground));font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.det-stats__area-model-value{font-feature-settings:"tnum";color:hsl(var(--foreground));flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.det-stats__area-model-share{color:hsl(var(--muted-foreground));font-weight:400}.det-stats__area-model-track{background-color:hsl(var(--muted));border-radius:var(--radius-pill);height:6px;overflow:hidden}.det-stats__area-model-fill{background-color:hsl(var(--selected));border-radius:var(--radius-pill);height:100%;min-width:4px;transition:width .3s var(--ease)}.det-stats__area-empty{color:hsl(var(--muted-foreground));font-size:13px;margin:0;padding:8px 0 2px;text-align:center}@media (max-width:720px){.det-stats__areas,.det-stats__cards,.det-stats__split{grid-template-columns:1fr}.det-stats__card-value{font-size:30px}}.area-page{width:100%}.area-main{gap:24px}.area-cameras,.area-main{display:flex;flex-direction:column}.area-cameras{gap:18px}.area-cameras__header{display:flex;flex-direction:column;gap:6px}.area-cameras__title-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.area-cameras-title-container{align-items:center;display:flex;flex-wrap:wrap;gap:14px;min-width:0}.area-cameras__title{color:hsl(var(--foreground));font-size:clamp(22px,2.2vw,28px);font-weight:650;letter-spacing:-.02em;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.area-cameras__description{color:hsl(var(--muted-foreground));font-size:14px;line-height:1.55;margin:0;max-width:70ch}.area-cameras__select{appearance:none;-webkit-appearance:none;background-color:hsl(var(--card));background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23888' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:14px;height:40px;max-width:280px;min-width:190px;outline:none;padding:0 34px 0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.area-cameras__select:hover{border-color:hsl(var(--border-strong))}.area-cameras__select:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.area-cameras__controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.area-cameras__icon-button{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;padding:0;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),opacity var(--speed) var(--ease);width:40px}.area-cameras__icon-button:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.area-cameras__icon-button:disabled{cursor:not-allowed;opacity:.45}.area-cameras__icon-button--danger:hover:not(:disabled){background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.3)}.area-cameras__icon-button--barrier,.area-cameras__icon-button--direction-vector,.area-cameras__icon-button--plates,.area-cameras__icon-button--presence,.area-cameras__icon-button--residents,.area-cameras__icon-button--roi{background-color:hsl(var(--selected-soft));border-color:hsl(var(--selected)/.25)}.area-cameras__icon-button--barrier:hover:not(:disabled),.area-cameras__icon-button--direction-vector:hover:not(:disabled),.area-cameras__icon-button--plates:hover:not(:disabled),.area-cameras__icon-button--presence:hover:not(:disabled),.area-cameras__icon-button--residents:hover:not(:disabled),.area-cameras__icon-button--roi:hover:not(:disabled){background-color:hsl(var(--selected)/.16);border-color:hsl(var(--selected)/.4)}.area-card__icon-image{display:block;height:16px;width:16px}:root[data-theme=dark] .area-card__icon-image{filter:invert(1) brightness(1.6)}.area-cameras__add{align-items:center;background-color:hsl(var(--selected));border:none;border-radius:var(--radius);box-shadow:var(--shadow-xs);color:hsl(var(--selected-foreground));cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;padding:0 16px;transition:background-color var(--speed) var(--ease)}.area-cameras__add:hover{background-color:hsl(var(--selected-strong))}.area-cameras__add-plus{align-items:center;border:1px solid;border-radius:50%;display:inline-flex;font-size:14px;height:18px;justify-content:center;line-height:1;opacity:.85;width:18px}.area-cameras__empty{padding:56px 24px}.area-cameras__single{align-items:center;display:flex;justify-content:center;width:100%}.area-cameras__single .area-cameras__video{aspect-ratio:16/9;max-height:620px;max-width:1100px;width:100%}.area-cameras__layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.area-cameras__main{min-width:0}.area-cameras__video{aspect-ratio:16/11;background:#0b1220;border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;position:relative;width:100%}.area-cameras__video iframe{border:none;height:100%;width:100%}.area-cameras__video-placeholder{background:radial-gradient(900px 350px at 20% 25%,#ffffff1f,#0000 55%),radial-gradient(600px 260px at 75% 60%,hsl(var(--selected)/.16),#0000 60%),linear-gradient(135deg,#111827f2,#020617f2);height:100%;width:100%}.area-cameras__video-placeholder--waiting{align-items:center;background:#0a0a0a;display:flex;flex-direction:column;gap:14px;justify-content:center}.area-cameras__thumb-placeholder.area-cameras__thumb-placeholder--unpaid{align-items:center;background:#0a0a0a;color:#ffffffb3;display:flex;font-size:12px;font-weight:600;height:100%;justify-content:center;padding:8px;text-align:center;width:100%}.area-cameras__video-placeholder--unpaid{align-items:center;background:#0a0a0a;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;padding:20px;position:absolute;text-align:center;z-index:3}.area-cameras__unpaid-title{color:#fffffff2;font-size:16px;font-weight:600}.area-cameras__unpaid-text{color:#ffffffa6;font-size:13px;line-height:1.45;max-width:420px}.area-cameras__unpaid-error{color:hsl(var(--destructive));font-size:13px;max-width:420px}.area-cameras__wait-spinner{animation:area-wait-spin .85s linear infinite;border:3px solid #ffffff1f;border-radius:50%;border-top:3px solid hsl(var(--warning));height:36px;width:36px}.area-cameras__wait-spinner--sm{border-width:2px;height:22px;width:22px}.area-cameras__wait-text{color:#ffffffb8;font-size:13px;font-weight:500;letter-spacing:.01em}.area-cameras__video-bottom--waiting{background:#0000008c;border-color:hsl(var(--warning)/.35);color:hsl(var(--warning))}.area-cameras__wait-dot{background:hsl(var(--warning));border-radius:50%;box-shadow:0 0 0 3px hsl(var(--warning)/.28);flex:0 0 auto;height:8px;position:relative;width:8px}.area-cameras__wait-dot:after{animation:area-live-pulse 1.4s ease-out infinite;background:hsl(var(--warning)/.55);border-radius:50%;content:"";inset:0;position:absolute}.area-cameras__thumb-placeholder--waiting{align-items:center;background:#0a0a0a;display:flex;height:100%;justify-content:center;width:100%}@keyframes area-wait-spin{to{transform:rotate(1turn)}}.area-cameras__video-overlay{display:flex;flex-direction:column;inset:0;justify-content:space-between;padding:14px;pointer-events:none;position:absolute}.area-cameras__video-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.area-cameras__video-label{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border-radius:var(--radius-pill);color:#fffffff2;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:6px 12px}.area-cameras__video-label--deleting{background:hsl(var(--warning)/.85);color:hsl(var(--warning-foreground))}.area-cameras__video-bottom{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0000006b;border:1px solid #ffffff29;border-radius:var(--radius-pill);color:#fffffff2;display:inline-flex;font-size:13px;font-weight:600;gap:8px;line-height:1;padding:7px 14px;width:-webkit-fit-content;width:fit-content}.area-cameras__live-dot{background:hsl(var(--selected));border-radius:50%;box-shadow:0 0 0 3px hsl(var(--selected)/.28);flex:0 0 auto;height:8px;position:relative;width:8px}.area-cameras__video-bottom>span{display:inline-block;line-height:1}.area-cameras__live-dot:after{animation:area-live-pulse 1.4s ease-out infinite;background:hsl(var(--selected)/.55);border-radius:50%;content:"";inset:0;opacity:.65;position:absolute;transform:scale(1);will-change:transform,opacity}@keyframes area-live-pulse{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(3.2)}to{opacity:0;transform:scale(3.2)}}.area-cameras__video-bottom--counter{gap:10px}.area-cameras__counter-label{font-weight:500}.area-cameras__people-count-value{color:#fff;font-size:18px;font-weight:700;min-width:1.5ch}.area-cameras__counter-ws-hint{color:#ffffff8c;font-size:12px;font-weight:400}.area-cameras__video--people-counter{align-items:center;background:linear-gradient(160deg,#16161a,#26262e);display:flex;justify-content:center;min-height:280px}.area-cameras__people-counter-panel{color:#ffffffeb;padding:32px 24px;text-align:center}.area-cameras__people-counter-number{font-size:64px;font-weight:700;letter-spacing:-.03em;line-height:1}.area-cameras__people-counter-caption{color:#fff9;font-size:15px;font-weight:500;margin-top:10px}.area-cameras__grid-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));margin-top:20px}.area-cameras__grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.area-cameras__thumb{-webkit-appearance:none;appearance:none;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;text-align:left;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease),transform var(--speed) var(--ease)}.area-cameras__thumb:hover{border-color:hsl(var(--border-strong));box-shadow:var(--shadow-md)}.area-cameras__thumb--active{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.area-cameras__thumb-media{aspect-ratio:16/9;background:#0b1220;border-radius:var(--radius-sm);overflow:hidden;position:relative;width:100%}.area-cameras__thumb-media iframe{border:none;height:100%;pointer-events:none;width:100%}.area-cameras__thumb-placeholder{background:radial-gradient(400px 160px at 25% 25%,#ffffff1a,#0000 60%),linear-gradient(135deg,#111827f2,#020617f2);height:100%;width:100%}.area-cameras__thumb-title{color:hsl(var(--foreground));font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.area-cameras__thumb-title--top{order:-1;padding:2px 4px}.area-cameras__thumb--active .area-cameras__thumb-title{color:hsl(var(--selected-strong));font-weight:600}.area-logs{display:flex;flex-direction:column;gap:16px}.area-logs__header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.area-logs__title{color:hsl(var(--foreground));font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.area-logs__count{color:hsl(var(--muted-foreground));font-weight:500}.area-logs__controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.area-logs__control{display:inline-flex;min-width:0}.area-logs__range,.area-logs__stats-btn{align-items:center;display:inline-flex}.area-logs__stats-btn{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:13px;font-weight:500;gap:8px;height:40px;padding:0 14px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.area-logs__stats-btn:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.area-logs__stats-btn-icon{align-items:center;color:hsl(var(--selected));display:inline-flex}.area-logs__stats-btn-icon svg{height:16px;width:16px}.area-logs-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.area-logs-card__head{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.area-logs-card__title{color:hsl(var(--foreground));font-size:15px;font-weight:600;margin:0}.area-logs-card__camera{color:hsl(var(--muted-foreground));font-size:13px}.area-logs-card__camera-select{appearance:none;-webkit-appearance:none;background-color:hsl(var(--card));background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23888' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:13px;height:40px;max-width:240px;min-width:170px;outline:none;padding:0 34px 0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.area-logs-card__camera-select:hover{border-color:hsl(var(--border-strong))}.area-logs-card__camera-select:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.area-logs-table{width:100%}.area-logs-table__head,.area-logs-table__row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:minmax(140px,.9fr) minmax(0,1.4fr) minmax(120px,.7fr);padding:0 20px}.area-logs-table__head{background-color:hsl(var(--muted)/.6);border-bottom:1px solid hsl(var(--border));height:42px}.area-logs-table__row{border-bottom:1px solid hsl(var(--border));min-height:52px;padding-bottom:10px;padding-top:10px;transition:background-color var(--speed) var(--ease)}.area-logs-table__row:last-child{border-bottom:none}.area-logs-table__row:hover{background-color:hsl(var(--muted)/.55)}.area-logs-table__cell{color:hsl(var(--foreground));font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis}.area-logs-table__cell--muted,.area-logs-table__head .area-logs-table__cell{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.area-logs-table__cell--model{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.area-logs-table__row .area-logs-table__cell{color:hsl(var(--foreground));font-size:14px;font-weight:400;letter-spacing:normal;text-transform:none}.area-logs-table__head>:nth-child(3),.area-logs-table__row>:nth-child(3){justify-self:end;text-align:right}.area-logs-table__sort{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;gap:6px;padding:0;transition:color var(--speed) var(--ease)}.area-logs-table__sort:hover{color:hsl(var(--foreground))}.area-logs-table__sort-icon{align-items:center;display:inline-flex}.area-logs-table__chev{color:hsl(var(--muted-foreground));height:14px;width:14px}.area-logs-table__chev--up{transform:rotate(180deg)}.area-logs-table__dash{color:hsl(var(--muted-foreground))}.area-logs-card__photo-btn{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;height:34px;padding:0 12px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.area-logs-card__photo-btn:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.area-logs-card__photo-btn-icon{display:block;height:16px;width:16px}:root[data-theme=dark] .area-logs-card__photo-btn-icon{filter:invert(1) brightness(1.6)}.area-logs-card__more{align-items:center;background:none;border:none;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:12px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:100%}.area-logs-card__more:hover:not(:disabled){background-color:hsl(var(--muted));color:hsl(var(--foreground))}.area-logs-card__chev{height:16px;width:16px}.area-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.area-modal__backdrop{animation:ui-fade var(--speed) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:hsl(var(--background)/.7);inset:0;position:absolute}.area-modal__dialog{animation:ui-pop var(--speed-slow) var(--ease);background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:hsl(var(--card-foreground));display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:860px;overflow:hidden;position:relative;width:100%;z-index:1}.area-modal__dialog--small{max-width:440px;padding-bottom:0}.area-modal__dialog--photo{max-width:900px}.area-modal__dialog--photo .area-modal__photo-body{align-items:center;background-color:hsl(var(--background-alt));display:flex;justify-content:center;min-height:240px;overflow:auto;padding:20px}.area-modal__dialog--photo .area-modal__photo-img{border-radius:var(--radius-md);display:block;max-height:70vh;max-width:100%}.area-modal__photo-status{color:hsl(var(--muted-foreground));font-size:14px}.area-modal__photo-status--error{color:hsl(var(--destructive))}.area-modal__photo-meta{align-items:center;color:hsl(var(--foreground));display:flex;flex-wrap:wrap;font-size:14px;gap:8px 10px;padding:0 20px 16px}.area-modal__photo-meta-label{color:hsl(var(--muted-foreground));font-size:12px;letter-spacing:.04em;text-transform:uppercase}.area-modal__photo-meta-label:not(:first-child){margin-left:8px}.area-modal__photo-meta-value{font-weight:600}.area-modal__dialog--photo .area-modal__footer{justify-content:flex-end}.area-modal__header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:18px 20px}.area-modal__title{color:hsl(var(--foreground));font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.area-modal__close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;line-height:1;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.area-modal__close:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.area-modal__body{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow-y:auto;padding:20px}.area-modal__left,.area-modal__right{display:flex;flex-direction:column;gap:12px;min-width:0}.area-modal__field{width:100%}.area-modal__input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:100%}.area-modal__input::placeholder{color:hsl(var(--muted-foreground))}.area-modal__input:hover:not(:disabled){border-color:hsl(var(--border-strong))}.area-modal__input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.area-modal__input:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.area-modal__input--select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23888' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;cursor:pointer;padding-right:34px}.area-modal__subtitle{color:hsl(var(--muted-foreground));font-size:13px;font-weight:600;letter-spacing:.02em;margin:0;text-transform:uppercase}.area-modal__analytics-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.area-modal__note{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.45;margin:0}.area-modal__confirm-text{color:hsl(var(--foreground));font-size:14px;line-height:1.55;padding:20px}.area-modal__error{grid-column:1/-1;margin:0 20px}.area-modal-analytic{align-items:center;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:14px;gap:10px;padding:9px 10px;transition:background-color var(--speed) var(--ease);-webkit-user-select:none;user-select:none}.area-modal-analytic:hover,.area-modal-analytic__icon{background-color:hsl(var(--muted))}.area-modal-analytic__icon{align-items:center;border-radius:var(--radius-sm);display:inline-flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.area-modal-analytic__icon img{display:block;height:16px;width:16px}:root[data-theme=dark] .area-modal-analytic__icon img{filter:invert(1) brightness(1.6)}.area-modal-analytic__text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.area-modal-analytic input{height:0;opacity:0;position:absolute;width:0}.area-modal-analytic__checkbox{align-items:center;background-color:hsl(var(--card));border:1.5px solid hsl(var(--border-strong));border-radius:var(--radius-xs);display:inline-flex;flex-shrink:0;height:20px;justify-content:center;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease);width:20px}.area-modal-analytic__checkbox:after{border-bottom:2px solid hsl(var(--selected-foreground));border-left:2px solid hsl(var(--selected-foreground));content:"";height:6px;opacity:0;transform:rotate(-45deg) translate(1px,-1px) scale(.6);transition:opacity var(--speed) var(--ease),transform var(--speed) var(--ease);width:10px}.area-modal-analytic input:checked+.area-modal-analytic__checkbox,.area-modal__people-counter-option input:checked+.area-modal-analytic__checkbox{background-color:hsl(var(--selected));border-color:hsl(var(--selected))}.area-modal-analytic input:checked+.area-modal-analytic__checkbox:after,.area-modal__people-counter-option input:checked+.area-modal-analytic__checkbox:after{opacity:1;transform:rotate(-45deg) translate(1px,-1px) scale(1)}.area-modal__people-options{display:flex;flex-direction:column;gap:2px}.area-modal__people-counter-option{align-items:center;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 10px;transition:background-color var(--speed) var(--ease);-webkit-user-select:none;user-select:none}.area-modal__people-counter-option:hover{background-color:hsl(var(--muted))}.area-modal__people-counter-option input{height:0;opacity:0;position:absolute;width:0}.area-modal__footer{align-items:center;border-top:1px solid hsl(var(--border));display:flex;flex-shrink:0;gap:10px;grid-column:1/-1;justify-content:flex-end;padding:16px 20px}.area-modal__submit{align-items:center;background-color:hsl(var(--selected));border:1px solid #0000;border-radius:var(--radius);color:hsl(var(--selected-foreground));cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;padding:0 18px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),opacity var(--speed) var(--ease)}.area-modal__submit:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.area-modal__submit:disabled{cursor:not-allowed;opacity:.55}.area-modal__submit--secondary{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.area-modal__submit--secondary:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.area-modal__submit--danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.area-modal__submit--danger:hover:not(:disabled){background-color:hsl(var(--destructive)/.88)}.area-modal__submit-plus{align-items:center;border:1px solid;border-radius:50%;display:inline-flex;font-size:14px;height:18px;justify-content:center;line-height:1;opacity:.85;width:18px}@media (max-width:1200px){.area-cameras__grid-container{grid-template-columns:1fr}}@media (max-width:1024px){.area-cameras__layout{grid-template-columns:1fr}.area-cameras__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.area-modal__body{gap:16px;grid-template-columns:1fr}}@media (max-width:768px){.area-cameras__title-row{align-items:flex-start}.area-cameras__controls{width:100%}.area-cameras__add{flex:1 0 100%}.area-cameras__grid,.area-logs__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.area-logs__controls{align-items:stretch;display:grid;width:100%}.area-logs__range,.area-logs__stats-btn{grid-column:1/-1}.area-logs__stats-btn{justify-content:center}.area-logs__control{width:100%}.area-logs-card__camera-select{max-width:none;min-width:0;width:100%}.area-logs__range .logs-daterange{width:100%}.area-logs__range .logs-daterange__trigger{flex:1 1;min-width:0}.area-logs-card__photo-btn{padding:0 8px}.area-logs-card__photo-btn-text{display:none}}@media (max-width:560px){.area-cameras__grid{grid-template-columns:1fr}.area-logs-table__head,.area-logs-table__row{grid-template-columns:minmax(0,1fr) auto;padding-left:14px;padding-right:14px}.area-logs-table__head>:nth-child(2),.area-logs-table__row>:nth-child(2){display:none}.area-modal__dialog{max-height:calc(100vh - 24px)}}.area-modal__billing{background-color:hsl(var(--muted)/.45);border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;margin-top:16px;padding:12px 14px}.area-modal__billing-row{color:hsl(var(--muted-foreground));display:flex;font-size:13px;gap:12px;justify-content:space-between}.area-modal__billing-row strong{color:hsl(var(--foreground));font-weight:600;white-space:nowrap}.area-modal__billing-note{color:hsl(var(--muted-foreground));font-size:12px;margin:0}.area-modal__billing-warning{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.3);border-radius:var(--radius);color:hsl(var(--destructive));font-size:13px;padding:8px 10px}.area-modal__billing-link{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:0;text-decoration:underline}.skeleton{background-color:hsl(var(--muted));overflow:hidden;position:relative}.skeleton:after{animation:skeleton-loading 1.4s ease-in-out infinite;background:linear-gradient(90deg,#0000,hsl(var(--foreground)/.06),#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes skeleton-loading{to{transform:translateX(100%)}}.skeleton-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px}.skeleton-card__header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.skeleton-card__menu{flex-shrink:0}.skeleton-card__stats{display:flex;flex-direction:column;gap:6px}.skeleton-card__button{margin-top:4px}.dashboard{width:100%}.dashboard-welcome{display:flex;flex-direction:column;gap:22px}.dashboard-welcome__title{color:hsl(var(--foreground));font-size:clamp(26px,3vw,36px);font-weight:650;letter-spacing:-.025em;line-height:1.15;margin:0}.dashboard-welcome-title-span{color:hsl(var(--muted-foreground));font-weight:500}.dashboard-welcome__text{color:hsl(var(--muted-foreground));font-size:14px;line-height:1.55;margin:8px 0 0;max-width:60ch}.dashboard-welcome__name-skeleton{display:inline-block;vertical-align:middle}.dashboard-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-stat-card{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:18px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.dashboard-stat-card:hover{border-color:hsl(var(--border-strong));box-shadow:var(--shadow-md)}.dashboard-stat-card__icon{display:block;height:20px;width:20px}.dashboard-stat-card__icon--chart{color:currentColor}.dashboard-stat-card__body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dashboard-stat-card__label{color:hsl(var(--muted-foreground));font-size:13px;font-weight:500}.dashboard-stat-card__value{font-feature-settings:"tnum";color:hsl(var(--foreground));font-size:28px;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.02em;line-height:1.2}.dashboard-stat-card__value-skeleton{border-radius:var(--radius-sm);height:32px;width:84px}.dashboard-stat-card__hint{color:hsl(var(--muted-foreground));font-size:12px}.dashboard-stat-card__hint--up{color:hsl(var(--success));font-weight:500}.dashboard-stat-card__hint--down{color:hsl(var(--destructive));font-weight:500}.dashboard-panels{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.dashboard-panel{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}#dashboard-events{scroll-margin-top:calc(var(--topbar-height) + 16px)}.dashboard-panel__header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.dashboard-panel__title{color:hsl(var(--foreground));font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.dashboard-panel__link{background:none;border:none;color:hsl(var(--selected));cursor:pointer;font-size:13px;font-weight:500;padding:0;transition:color var(--speed) var(--ease)}.dashboard-panel__link:hover{color:hsl(var(--selected-strong));text-decoration:underline}.dashboard-events-list{list-style:none;margin:0;padding:6px}.dashboard-event-row{grid-gap:12px;align-items:center;background:none;border:none;border-radius:var(--radius);cursor:pointer;display:grid;gap:12px;grid-template-columns:auto auto 1fr auto;padding:10px 12px;text-align:left;transition:background-color var(--speed) var(--ease);width:100%}.dashboard-event-row:hover{background-color:hsl(var(--muted))}.dashboard-event-row__icon{display:block;height:auto;width:20px}.dashboard-event-row__time{font-feature-settings:"tnum";color:hsl(var(--muted-foreground));font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-event-row__content{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-event-row__title{color:hsl(var(--foreground));font-size:14px;font-weight:500}.dashboard-event-row__meta,.dashboard-event-row__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-event-row__meta{color:hsl(var(--muted-foreground));font-size:12px}.dashboard-event-row__badge{justify-content:center;justify-self:end;min-width:104px}.dashboard-event-row__badge--viewed{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.dashboard-panel__more{align-items:center;background:none;border:none;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:12px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:100%}.dashboard-panel__more:hover:not(:disabled){background-color:hsl(var(--muted));color:hsl(var(--foreground))}.dashboard-panel__more-chevron{display:block;flex-shrink:0;height:16px;width:16px}.dashboard-actions-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:6px}.dashboard-action-row{align-items:center;background:#0000;border:none;border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:background-color var(--speed) var(--ease);width:100%}.dashboard-action-row:hover{background-color:hsl(var(--muted))}.dashboard-action-row__icon-svg,.dashboard-action-row__icon-wrap img{display:block;height:20px;width:20px}.dashboard-action-row__text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dashboard-action-row__title{color:hsl(var(--foreground));font-size:14px;font-weight:500}.dashboard-action-row__desc{color:hsl(var(--muted-foreground));font-size:12px}.dashboard-action-row__chevron{color:hsl(var(--muted-foreground));font-size:20px;line-height:1;transition:transform var(--speed) var(--ease)}.dashboard-action-row:hover .dashboard-action-row__chevron{color:hsl(var(--foreground));transform:translateX(2px)}.dashboard-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-card__head{border-bottom:1px solid hsl(var(--border));padding:18px 20px}.dashboard-card__title{color:hsl(var(--foreground));font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.dashboard-card__form{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:20px}.dashboard-card__field{display:flex;flex-direction:column;gap:6px;min-width:0}.dashboard-button{height:40px}.dashboard-button__icon{align-items:center;border:1px solid;border-radius:50%;display:inline-flex;font-size:14px;height:18px;justify-content:center;line-height:1;opacity:.8;width:18px}.dashboard-areas__head{align-items:center;display:flex;gap:12px;margin-bottom:16px}.dashboard-areas__title{color:hsl(var(--foreground));font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.dashboard-areas__grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.area-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px}.area-card__header{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.area-card__title{color:hsl(var(--foreground));font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0;min-width:0}.area-card__desc,.area-card__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.area-card__desc{color:hsl(var(--muted-foreground));font-size:12px;margin:-4px 0 0}.area-card__stats{display:flex;flex-direction:column;gap:6px;margin-top:auto}.area-card__cameras-total{color:hsl(var(--foreground));font-size:13px;font-weight:500;margin:0}.area-card__cameras-status{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin:0}.area-card__status-offline,.area-card__status-online{align-items:center;display:inline-flex;font-weight:500;gap:5px}.area-card__status-online{color:hsl(var(--success))}.area-card__status-offline{color:hsl(var(--destructive))}.area-card__open{margin-top:4px;width:100%}.area-card__open:hover{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground))}.area-card__menu-wrap{flex-shrink:0;position:relative}.area-card__menu-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background-color var(--speed) var(--ease);width:32px}.area-card__menu-btn:hover,.area-card__menu-btn[aria-expanded=true]{background-color:hsl(var(--muted))}.area-card__menu-dots{align-items:center;display:flex;flex-direction:column;gap:3px;justify-content:center}.area-card__menu-dots span{background-color:hsl(var(--muted-foreground));border-radius:50%;height:3.5px;width:3.5px}.area-card__menu{min-width:168px;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.delete-confirm-modal__text{color:hsl(var(--foreground));font-size:14px;line-height:1.55;margin:0 0 14px}.delete-confirm-modal__text strong{font-weight:600}.delete-confirm-modal__alert{margin-bottom:12px}.delete-confirm-modal__alert-title{font-weight:600}.delete-confirm-modal__hint{color:hsl(var(--muted-foreground));font-size:13px;margin:0 0 12px}@media (max-width:1280px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.dashboard-panels{grid-template-columns:1fr}.dashboard-card__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-card__form .dashboard-button{grid-column:1/-1}}@media (max-width:640px){.dashboard-areas__grid,.dashboard-card__form,.dashboard-stats{grid-template-columns:1fr}.dashboard-event-row{grid-template-areas:"icon content" "time badge";grid-template-columns:auto 1fr;row-gap:8px}.dashboard-event-row__icon-wrap{grid-area:icon}.dashboard-event-row__time{grid-area:time}.dashboard-event-row__content{grid-area:content}.dashboard-event-row__badge{grid-area:badge;justify-self:start}}.roi-modal-overlay{align-items:center;animation:ui-fade var(--speed) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:hsl(var(--background)/.75);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.roi-modal-content{animation:ui-pop var(--speed-slow) var(--ease);background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:hsl(var(--card-foreground));margin:auto;max-height:calc(100vh - 48px);max-width:1000px;overflow-y:auto;padding:24px;width:100%}.roi-modal-header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.roi-modal-header h2{align-items:center;color:hsl(var(--foreground));display:flex;font-size:18px;font-weight:600;gap:10px;letter-spacing:-.01em;margin:0}.roi-modal-title-icon{display:block;flex-shrink:0;height:20px;width:20px}:root[data-theme=dark] .roi-modal-title-icon{filter:invert(1) brightness(1.6)}.roi-modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;line-height:1;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.roi-modal-close:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.roi-controls{gap:14px;margin-bottom:20px}.roi-control-group,.roi-controls{display:flex;flex-direction:column}.roi-control-group{gap:6px}.roi-control-group label{color:hsl(var(--secondary-foreground));font-size:13px;font-weight:500}.roi-control-group select,.roi-input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:100%}.roi-control-group select:focus,.roi-input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.roi-warning{background-color:hsl(var(--warning-soft));border:1px solid hsl(var(--warning)/.3);border-radius:var(--radius);color:hsl(var(--warning-foreground))}.roi-instruction,.roi-warning{font-size:13px;padding:10px 12px}.roi-instruction{background-color:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));line-height:1.5}.roi-video-container{aspect-ratio:16/9;background:#000;border:1px solid hsl(var(--border));border-radius:var(--radius-md);margin-bottom:20px;overflow:hidden;position:relative;touch-action:none;width:100%}.roi-video-container iframe{border:none;pointer-events:none}.roi-canvas-overlay,.roi-video-container iframe{height:100%;-webkit-user-select:none;user-select:none;width:100%}.roi-canvas-overlay{cursor:crosshair;left:0;pointer-events:auto;position:absolute;top:0;touch-action:none}.roi-no-video{border:1px dashed hsl(var(--border));border-radius:var(--radius-md);font-size:14px;margin-bottom:20px;padding:40px 20px;text-align:center}.roi-info,.roi-no-video{background-color:hsl(var(--muted)/.5);color:hsl(var(--muted-foreground))}.roi-info{border:1px solid hsl(var(--border));border-radius:var(--radius);font-family:var(--font-mono);font-size:12px;line-height:1.6;margin-bottom:14px;padding:12px 14px;word-break:break-word}.roi-status{border:1px solid #0000;border-radius:var(--radius);font-size:13px;margin-bottom:14px;padding:11px 13px}.roi-status--success{background-color:hsl(var(--success-soft));border-color:hsl(var(--success)/.25);color:hsl(var(--success))}.roi-status--error{background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.25);color:hsl(var(--destructive))}.roi-status--loading{background-color:hsl(var(--info-soft));border-color:hsl(var(--info)/.25);color:hsl(var(--info))}.roi-buttons{display:flex;flex-direction:column;gap:10px}.roi-btn{border:1px solid #0000;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:500;height:44px;padding:0 22px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),opacity var(--speed) var(--ease);width:100%}.roi-btn__inner{align-items:center;display:inline-flex;gap:8px;justify-content:center}.roi-btn__icon{display:block;flex-shrink:0;object-fit:contain;pointer-events:none}.roi-btn:disabled{cursor:not-allowed;opacity:.55}.roi-btn--primary{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground))}.roi-btn--primary:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.roi-btn--secondary{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.roi-btn--secondary:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}:root[data-theme=dark] .roi-btn--secondary .roi-btn__icon{filter:invert(1) brightness(1.6)}@media (max-width:640px){.roi-modal-content{padding:18px}}.presence-loading{color:hsl(var(--muted-foreground));font-size:14px;margin:0 0 12px}.presence-schedule-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.presence-schedule-row{align-items:center;background-color:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px}.presence-schedule-row label{align-items:center;color:hsl(var(--secondary-foreground));display:flex;font-size:13px;gap:6px}.presence-schedule-row input[type=time]{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius-sm);color:hsl(var(--foreground));font-size:14px;height:34px;outline:none;padding:0 8px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.presence-schedule-row input[type=time]:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.presence-schedule-remove{align-items:center;background-color:hsl(var(--destructive-soft));border:none;border-radius:var(--radius-sm);color:hsl(var(--destructive));cursor:pointer;display:inline-flex;font-size:18px;height:32px;justify-content:center;line-height:1;margin-left:auto;transition:background-color var(--speed) var(--ease);width:32px}.presence-schedule-remove:hover{background-color:hsl(var(--destructive)/.16)}.presence-add-interval{background:none;border:none;color:hsl(var(--selected));cursor:pointer;font-size:14px;font-weight:500;margin-top:10px;padding:0}.presence-add-interval:hover{color:hsl(var(--selected-strong));text-decoration:underline}.presence-enabled-row{align-items:center;color:hsl(var(--foreground));display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:4px}.presence-zone-hint{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;margin:0 0 8px}.presence-section-title{color:hsl(var(--foreground));font-size:14px;font-weight:600;margin:18px 0 8px}.presence-summary{border-collapse:collapse;font-size:14px;margin-top:12px;width:100%}.presence-summary td,.presence-summary th{border-bottom:1px solid hsl(var(--border));padding:10px;text-align:left}.presence-schedule-row button:not(.presence-schedule-remove):not(.presence-add-interval){background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;padding:6px 10px}.presence-stats__filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.presence-stats__filters label{align-items:center;display:flex;gap:8px}.presence-stats__totals{margin-top:18px}.presence-stats__duration{font-feature-settings:"tnum";font-size:24px;font-variant-numeric:tabular-nums;font-weight:700}.presence-stats__table{width:100%}.presence-status{display:inline-flex;flex-direction:column;font-weight:600;gap:4px}.presence-status--present{color:hsl(var(--selected-strong))}.presence-status--absent{color:hsl(var(--destructive))}.presence-status__duration{font-size:12px;font-weight:400;white-space:nowrap}.presence-stats__table td,.presence-stats__table th{padding:12px;text-align:left}@media (max-width:600px){.presence-stats__totals{grid-template-columns:1fr}}.direction-vector-canvas{cursor:crosshair}.area-plates__dialog{max-width:900px}.area-plates__count{color:hsl(var(--muted-foreground));font-size:13px;margin-left:auto;margin-right:12px;white-space:nowrap}.area-plates__body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.area-plates__form{background-color:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px;padding:16px}.area-plates__form-title{color:hsl(var(--foreground));font-size:14px;font-weight:600}.area-plates__form-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px}.area-plates__form-field{display:flex;flex:1 1 220px;flex-direction:column;gap:4px;min-width:0}.area-plates__plate-input{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.area-plates__plate-input--error{border-color:hsl(var(--destructive))}.area-plates__plate-input--error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 3px hsl(var(--destructive)/.16)}.area-plates__hint{color:hsl(var(--muted-foreground));font-size:12px;overflow-wrap:anywhere}.area-plates__add-btn{align-self:flex-start;flex:0 0 auto}.area-plates__message{border:1px solid #0000;border-radius:var(--radius);font-size:13px;line-height:1.45;padding:8px 12px}.area-plates__message--error{background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.3);color:hsl(var(--destructive))}.area-plates__message--success{background-color:hsl(var(--success-soft));border-color:hsl(var(--success)/.3);color:hsl(var(--success))}.area-plates__message--warning{background-color:hsl(var(--warning-soft));border-color:hsl(var(--warning)/.3);color:hsl(var(--warning-foreground))}.area-plates__list{min-width:0}.area-plates__table{width:100%}.area-plates__table td{border-top:1px solid hsl(var(--border));padding:10px 14px;vertical-align:middle}.area-plates__plate{align-items:center;background-color:hsl(var(--muted));border:1px solid hsl(var(--border-strong));border-radius:var(--radius-sm);color:hsl(var(--foreground));display:inline-flex;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.04em;padding:4px 10px;white-space:nowrap}.area-plates__mode{color:hsl(var(--muted-foreground));overflow-wrap:anywhere}.area-plates__broad-mark{color:hsl(var(--warning-foreground));display:inline-block;font-weight:700;margin-right:6px}.area-plates__value{color:hsl(var(--foreground));font-family:var(--font-mono);font-size:13px;overflow-wrap:anywhere}.area-plates__actions{text-align:right;white-space:nowrap}.area-plates__legend{color:hsl(var(--muted-foreground));font-size:12px;margin-top:10px}@media (max-width:640px){.area-plates__dialog{max-width:100%}.area-plates__body{gap:12px;padding:14px}.area-plates__dialog .area-modal__header{flex-wrap:wrap}.area-plates__dialog .area-modal__title{flex:1 1 auto;min-width:0}.area-plates__count{flex-basis:100%;font-size:12px;margin:2px 0 0;order:3}.area-plates__form{gap:8px;padding:12px}.area-plates__form-row{align-items:stretch;flex-direction:column;gap:10px}.area-plates__form-field{flex:0 0 auto;width:100%}.area-plates__add-btn{align-self:stretch;width:100%}.area-plates__table,.area-plates__table tbody,.area-plates__table td,.area-plates__table tr{display:block;width:100%}.area-plates__table thead{display:none}.area-plates__table tr{border-top:1px solid hsl(var(--border));padding:10px 92px 10px 0;position:relative}.area-plates__table tr:first-child{border-top:none}.area-plates__table td{border:none;padding:2px 0}.area-plates__table td:nth-child(3){display:none}.area-plates__actions{position:absolute;right:0;top:10px;width:auto}.area-plates__mode{font-size:13px}}.confirm-dialog{z-index:1100}.confirm-dialog__box{max-width:420px}.confirm-dialog__highlight{align-items:baseline;background-color:hsl(var(--selected-soft));border:1px solid hsl(var(--selected)/.25);border-radius:var(--radius);color:hsl(var(--foreground));display:flex;font-size:14px;gap:12px;justify-content:space-between;margin-bottom:14px;padding:12px 14px}.confirm-dialog__highlight strong{color:hsl(var(--selected));color:hsl(var(--selected-strong,var(--selected)));font-size:18px;font-weight:700;white-space:nowrap}@media (max-width:480px){.confirm-dialog .area-modal__footer .area-modal__submit{flex:1 1}}.residents__dialog{max-width:900px}.residents__count{color:hsl(var(--muted-foreground));font-size:13px;margin-left:auto;margin-right:12px;white-space:nowrap}.residents__body{gap:16px;overflow-y:auto;padding:20px}.residents__body,.residents__form{display:flex;flex-direction:column}.residents__form{background-color:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:var(--radius-md);gap:10px;padding:16px}.residents__form-title{color:hsl(var(--foreground));font-size:14px;font-weight:600}.residents__form-row{display:flex;flex-wrap:wrap;gap:12px}.residents__field{display:flex;flex:1 1 180px;flex-direction:column;gap:4px;min-width:0}.residents__field--wide{flex:2 1 240px}.residents__field--narrow{flex:0 1 130px}.residents__label{color:hsl(var(--secondary-foreground));font-size:12px;font-weight:500}.residents__input--error{border-color:hsl(var(--destructive))}.residents__hint{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;margin:0}.residents__bot-link{color:hsl(var(--selected));font-weight:500;text-decoration:underline;text-underline-offset:2px}.residents__bot-link:hover{color:hsl(var(--selected));color:hsl(var(--selected-strong,var(--selected)))}.residents__message--success .residents__bot-link{color:inherit;font-weight:600}.residents__form-actions{display:flex;gap:10px;justify-content:flex-end}.residents__message{border:1px solid #0000;border-radius:var(--radius);font-size:13px;line-height:1.45;padding:8px 12px}.residents__message--error{background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.3);color:hsl(var(--destructive))}.residents__message--success{background-color:hsl(var(--success-soft));border-color:hsl(var(--success)/.3);color:hsl(var(--success))}.residents__items{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.residents__item{border-top:1px solid hsl(var(--border));padding:12px 0}.residents__item:first-child{border-top:none}.residents__item--editing{background-color:hsl(var(--selected-soft));border-radius:var(--radius);margin:0 -10px;padding:12px 10px}.residents__row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.residents__who{display:flex;flex:1 1 220px;flex-direction:column;gap:2px;min-width:0}.residents__name{color:hsl(var(--foreground));font-size:14px;font-weight:600;overflow-wrap:anywhere}.residents__phone{font-feature-settings:"tnum";color:hsl(var(--muted-foreground));font-size:13px;font-variant-numeric:tabular-nums}.residents__guests{background-color:hsl(var(--muted));border-radius:var(--radius-pill);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap}.residents__guests--full{background-color:hsl(var(--warning-soft));color:hsl(var(--warning-foreground))}.residents__actions{display:flex;flex-wrap:wrap;gap:8px}.residents__delete:hover:not(:disabled){border-color:hsl(var(--destructive)/.5);color:hsl(var(--destructive))}.residents__passes{background-color:hsl(var(--muted)/.35);border:1px solid hsl(var(--border));border-radius:var(--radius);margin-top:10px;padding:10px 12px}.residents__passes-empty{color:hsl(var(--muted-foreground));font-size:13px}.residents__pass-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.residents__pass{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px}.residents__plate{align-items:center;background-color:hsl(var(--muted));border:1px solid hsl(var(--border-strong));border-radius:var(--radius-sm);color:hsl(var(--foreground));display:inline-flex;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.04em;padding:4px 10px;white-space:nowrap}.residents__pass-meta{color:hsl(var(--muted-foreground));font-size:13px}@media (max-width:640px){.residents__dialog{max-width:100%}.residents__body{gap:12px;padding:14px}.residents__dialog .area-modal__header{flex-wrap:wrap}.residents__dialog .area-modal__title{flex:1 1 auto;min-width:0}.residents__count{flex-basis:100%;font-size:12px;margin:2px 0 0;order:3}.residents__form{padding:12px}.residents__form-row{flex-direction:column;gap:10px}.residents__field,.residents__field--narrow,.residents__field--wide{flex:0 0 auto;width:100%}.residents__form-actions .area-modal__submit{flex:1 1}.residents__actions{width:100%}.residents__actions .ui-btn{flex:1 1}}.barrier__dialog{max-width:480px}.barrier__body{gap:16px;overflow-y:auto;padding:20px}.barrier__body,.barrier__field{display:flex;flex-direction:column}.barrier__field{gap:6px;min-width:0}.barrier__label{color:hsl(var(--secondary-foreground));font-size:13px;font-weight:500;padding:0}.barrier__hint{color:hsl(var(--muted-foreground));font-size:12px}.barrier__input--error,.barrier__input--error:focus{border-color:hsl(var(--destructive))}.barrier__input--error:focus{box-shadow:0 0 0 3px hsl(var(--destructive)/.16)}.barrier__fieldset{border:none;gap:8px;margin:0;padding:0}.barrier__radio{align-items:center;color:hsl(var(--foreground));cursor:pointer;display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.barrier__radio input{accent-color:hsl(var(--selected));cursor:pointer}.barrier__radio--blocked{color:hsl(var(--muted-foreground));cursor:not-allowed}.barrier__radio--blocked input{cursor:not-allowed}.barrier__radio-note{color:hsl(var(--muted-foreground));font-size:13px}.barrier__radio-hint{color:hsl(var(--warning-foreground));font-size:12px}.barrier__toggle{align-items:center;cursor:pointer;display:inline-flex;gap:8px;margin-left:auto;margin-right:12px;-webkit-user-select:none;user-select:none}.barrier__toggle input{height:0;opacity:0;position:absolute;width:0}.barrier__toggle-track{background-color:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius-pill);display:inline-block;height:22px;position:relative;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease);width:38px}.barrier__toggle-track:after{background-color:hsl(var(--foreground));border-radius:50%;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform var(--speed) var(--ease);width:16px}.barrier__toggle input:checked+.barrier__toggle-track{background-color:hsl(var(--selected));border-color:hsl(var(--selected))}.barrier__toggle input:checked+.barrier__toggle-track:after{background-color:hsl(var(--selected-foreground));transform:translateX(16px)}.barrier__toggle input:focus-visible+.barrier__toggle-track{box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.barrier__toggle input:disabled+.barrier__toggle-track{opacity:.6}.barrier__toggle-label{color:hsl(var(--muted-foreground));font-size:13px}.barrier__message{border:1px solid #0000;border-radius:var(--radius);font-size:13px;line-height:1.45;padding:8px 12px}.barrier__message--error{background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.3);color:hsl(var(--destructive))}.barrier__message--success{background-color:hsl(var(--success-soft));border-color:hsl(var(--success)/.3);color:hsl(var(--success))}.barrier__footer{flex-wrap:wrap}@media (max-width:560px){.barrier__footer .area-modal__submit{flex:1 1 100%}}.logs-daterange{align-items:center;display:inline-flex;gap:4px;position:relative}.logs-daterange__trigger{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;gap:10px;height:40px;max-width:100%;outline:none;padding:0 12px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.logs-daterange__trigger:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.logs-daterange__trigger:focus-visible{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.logs-daterange__value{align-items:center;display:inline-flex;gap:6px;white-space:nowrap}.logs-daterange__all,.logs-daterange__sep{color:hsl(var(--muted-foreground))}.logs-daterange__sep{-webkit-user-select:none;user-select:none}.logs-daterange__part{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logs-daterange__icon{flex-shrink:0}.logs-daterange__clear,.logs-daterange__icon{color:hsl(var(--muted-foreground));display:inline-flex}.logs-daterange__clear{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:18px;height:32px;justify-content:center;line-height:1;padding:0;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.logs-daterange__clear:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.logs-daterange__popover{animation:ui-pop var(--speed) var(--ease);background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:hsl(var(--popover-foreground));max-height:min(420px,calc(100vh - 24px));overflow-y:auto;padding:12px;position:fixed;width:min(320px,calc(100vw - 24px));z-index:80}.logs-daterange__hint{color:hsl(var(--muted-foreground));font-size:12px;margin-bottom:10px;text-align:center}.logs-daterange__nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.logs-daterange__nav-btn{align-items:center;background-color:hsl(var(--muted));border:none;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:18px;height:34px;justify-content:center;line-height:1;transition:background-color var(--speed) var(--ease);width:34px}.logs-daterange__nav-btn:hover{background-color:hsl(var(--secondary-highlight))}.logs-daterange__month{color:hsl(var(--foreground));font-size:14px;font-weight:600}.logs-daterange__weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.logs-daterange__wd{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500;padding:4px 0;text-align:center}.logs-daterange__grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.logs-daterange__cell{font-feature-settings:"tnum";aspect-ratio:1;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;font-family:inherit;font-size:13px;font-variant-numeric:tabular-nums;min-height:34px;padding:0;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease)}.logs-daterange__cell--empty{min-height:34px;pointer-events:none}.logs-daterange__cell:hover:not(.logs-daterange__cell--empty){background-color:hsl(var(--muted))}.logs-daterange__cell--in-range{background-color:hsl(var(--selected-soft));color:hsl(var(--selected-strong))}.logs-daterange__cell--edge{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground));font-weight:600}.logs-daterange__cell--edge:hover{background-color:hsl(var(--selected-strong));color:hsl(var(--selected-foreground))}.logs-daterange__popover--with-time{max-height:min(560px,calc(100vh - 24px))}.logs-daterange__preview{font-feature-settings:"tnum";align-items:center;color:hsl(var(--foreground));display:flex;font-size:12px;font-variant-numeric:tabular-nums;gap:6px;justify-content:center;margin-top:12px}.logs-daterange__time{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:10px}.logs-daterange__time-field{color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex-direction:column;font-size:11px;font-weight:500;gap:4px}.logs-daterange__time-field input{font-feature-settings:"tnum";background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-family:inherit;font-size:13px;font-variant-numeric:tabular-nums;height:36px;outline:none;padding:0 8px;width:100%}.logs-daterange__time-field input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.logs-daterange__apply{align-items:center;background-color:hsl(var(--selected));border:none;border-radius:var(--radius);color:hsl(var(--selected-foreground));cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;height:36px;justify-content:center;margin-top:10px;padding:0 12px;transition:background-color var(--speed) var(--ease),opacity var(--speed) var(--ease);width:100%}.logs-daterange__apply:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.logs-daterange__apply:disabled{cursor:not-allowed;opacity:.45}.profile-page{width:100%}.profile-main{display:block}.profile-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.profile-header__title{color:hsl(var(--foreground));font-size:clamp(24px,2.4vw,32px);font-weight:650;letter-spacing:-.025em;margin:0}.profile-header__user{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:0}.profile-header__name{color:hsl(var(--foreground));font-size:15px;font-weight:600}.profile-header__meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.profile-header__balance{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-pill);color:hsl(var(--foreground));display:inline-flex;font-size:13px;font-weight:500;height:34px;padding:0 14px;white-space:nowrap}.profile-header__tariff{color:hsl(var(--muted-foreground));font-size:13px}.profile-header__tariff--btn{align-items:center;background-color:hsl(var(--selected-soft));border:1px solid hsl(var(--selected)/.3);border-radius:var(--radius-pill);color:hsl(var(--selected-strong));cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;height:34px;padding:0 14px;transition:background-color var(--speed) var(--ease);white-space:nowrap}.profile-header__tariff--btn:hover{background-color:hsl(var(--selected)/.16)}.profile-link-btn{background:none;border:none;color:hsl(var(--selected));cursor:pointer;font-size:13px;font-weight:500;padding:0}.profile-link-btn:hover{color:hsl(var(--selected-strong));text-decoration:underline}.profile-content{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.profile-column{display:flex;flex-direction:column;gap:16px;min-width:0}.profile-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:20px}.profile-card__title{color:hsl(var(--foreground));font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 14px}.profile-field{align-items:center;display:flex;gap:12px;min-width:0;padding:12px 0}.profile-field+.profile-field{border-top:1px solid hsl(var(--border))}.profile-field__value{color:hsl(var(--foreground));flex:1 1;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-field__edit{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease);width:32px}.profile-field__edit:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.profile-field__edit-icon{display:block;height:16px;width:16px}:root[data-theme=dark] .profile-field__edit-icon{filter:invert(1) brightness(1.6)}.profile-field__editor{display:flex;flex-direction:column;gap:8px;width:100%}.profile-field__editor-actions{display:flex;gap:8px}.profile-field__error{color:hsl(var(--destructive));font-size:13px}.profile-field__input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:100%}.profile-field__input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.profile-field__cancel-btn,.profile-field__save-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;height:34px;justify-content:center;padding:0 14px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),opacity var(--speed) var(--ease)}.profile-field__save-btn{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground))}.profile-field__save-btn:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.profile-field__cancel-btn{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.profile-field__cancel-btn:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.profile-field__cancel-btn:disabled,.profile-field__save-btn:disabled{cursor:not-allowed;opacity:.55}.profile-actions-row{display:flex;flex-wrap:wrap;gap:10px}.profile-card__actions--full{margin-top:14px}.profile-button{align-items:center;border:1px solid #0000;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:40px;justify-content:center;padding:0 16px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.profile-button--secondary{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.profile-button--secondary:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.profile-button--primary{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground));width:100%}.profile-button--primary:hover{background-color:hsl(var(--selected-strong))}.profile-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.profile-modal__backdrop{animation:ui-fade var(--speed) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:hsl(var(--background)/.7);inset:0;position:absolute}.profile-modal__dialog{animation:ui-pop var(--speed-slow) var(--ease);background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:hsl(var(--card-foreground));display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:460px;overflow:hidden;position:relative;width:100%;z-index:1}.profile-modal__header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:18px 20px}.profile-modal__title{color:hsl(var(--foreground));font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.profile-modal__close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;line-height:1;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:32px}.profile-modal__close:hover:not(:disabled){background-color:hsl(var(--muted));color:hsl(var(--foreground))}.profile-modal__close:disabled{cursor:not-allowed;opacity:.5}.profile-modal__body{overflow-y:auto;padding:20px}.profile-modal__field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.profile-modal__field:last-of-type{margin-bottom:0}.profile-modal__label{color:hsl(var(--secondary-foreground));font-size:13px;font-weight:500}.profile-modal__input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:100%}.profile-modal__input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.profile-modal__input:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.profile-modal__error{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.25);border-radius:var(--radius);color:hsl(var(--destructive));font-size:13px;margin-top:14px;padding:10px 12px}.profile-modal__footer{align-items:center;border-top:1px solid hsl(var(--border));display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 20px}.profile-modal__button{align-items:center;border:1px solid #0000;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:40px;justify-content:center;padding:0 16px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),opacity var(--speed) var(--ease)}.profile-modal__button--secondary{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.profile-modal__button--secondary:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.profile-modal__button--primary{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground))}.profile-modal__button--primary:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.profile-modal__button:disabled{cursor:not-allowed;opacity:.55}.tg-box{background-color:hsl(var(--muted)/.45);border:1px solid hsl(var(--border));border-radius:var(--radius);flex-direction:column;padding:14px}.tg-box,.tg-row{display:flex;gap:12px}.tg-row{align-items:center;justify-content:space-between}.tg-label{color:hsl(var(--muted-foreground));font-size:13px}.tg-value{color:hsl(var(--foreground));font-size:14px;font-weight:500}.tg-actions{display:flex;gap:8px}.tg-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.tg-connect{margin-top:16px}.tg-link-hint{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;margin-top:10px}@media (max-width:960px){.profile-content{grid-template-columns:1fr}.profile-header,.profile-header__user{align-items:flex-start}.profile-header__meta{justify-content:flex-start}}@media (max-width:560px){.profile-actions-row .profile-button{width:100%}}.topup-modal{align-items:center;animation:ui-fade var(--speed) var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:hsl(var(--background)/.7);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.topup-modal__dialog{animation:ui-pop var(--speed-slow) var(--ease);background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:hsl(var(--card-foreground));max-width:420px;padding:24px;width:100%}.topup-modal__title{color:hsl(var(--foreground));font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.topup-modal__balance{color:hsl(var(--muted-foreground));font-size:13px;margin:6px 0 8px}.topup-modal__hint{color:hsl(var(--muted-foreground));font-size:12px;margin:0 0 16px}.topup-modal__balance strong{font-feature-settings:"tnum";color:hsl(var(--foreground));font-variant-numeric:tabular-nums;font-weight:600}.topup-modal__presets{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.topup-modal__preset{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:13px;font-weight:500;height:40px;padding:0 6px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),color var(--speed) var(--ease);white-space:nowrap}.topup-modal__preset:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.topup-modal__preset--active{background-color:hsl(var(--selected-soft));border-color:hsl(var(--selected));color:hsl(var(--selected-strong));font-weight:600}.topup-modal__field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.topup-modal__field span{color:hsl(var(--secondary-foreground));font-size:13px;font-weight:500}.topup-modal__field input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);width:100%}.topup-modal__field input::placeholder{color:hsl(var(--muted-foreground))}.topup-modal__field input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.topup-modal__error{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.25);border-radius:var(--radius);color:hsl(var(--destructive));font-size:13px;margin:0 0 14px;padding:10px 12px}.topup-modal__submit{background-color:hsl(var(--selected));border:none;border-radius:var(--radius);color:hsl(var(--selected-foreground));cursor:pointer;font-size:14px;font-weight:500;height:44px;transition:background-color var(--speed) var(--ease),opacity var(--speed) var(--ease);width:100%}.topup-modal__submit:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.topup-modal__submit:disabled{cursor:not-allowed;opacity:.6}.balance-page{width:100%}.balance-main{display:block}.balance-breadcrumbs{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:13px;gap:8px;margin-bottom:12px}.balance-breadcrumbs a{color:hsl(var(--muted-foreground));transition:color var(--speed) var(--ease)}.balance-breadcrumbs a:hover{color:hsl(var(--foreground))}.balance-header{margin-bottom:24px}.balance-header__title{color:hsl(var(--foreground));font-size:clamp(24px,2.4vw,32px);font-weight:650;letter-spacing:-.025em;margin:0}.balance-header__subtitle{color:hsl(var(--muted-foreground));font-size:14px;margin:6px 0 0}.balance-error{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.25);border-radius:var(--radius);color:hsl(var(--destructive));font-size:14px;margin:0 0 16px;padding:12px 14px}.balance-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.balance-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.balance-card--current{background:radial-gradient(700px 220px at 100% 0,hsl(var(--selected)/.1),#0000 65%),hsl(var(--card));grid-column:1;padding:24px}.balance-card--payments{grid-column:2;grid-row:1}.balance-card--transactions{grid-column:1;overflow:hidden;padding:0}.balance-side{display:flex;flex-direction:column;gap:20px;grid-column:2;grid-row:2}.balance-card__top{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.balance-card__label{color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;margin:0}.balance-card__amount{font-feature-settings:"tnum";color:hsl(var(--foreground));font-size:clamp(30px,3.4vw,42px);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:6px 0 0}.balance-card__hint{color:hsl(var(--muted-foreground));font-size:13px;margin:6px 0 0}.balance-card__primary-btn{align-items:center;background-color:hsl(var(--selected));border:none;border-radius:var(--radius);box-shadow:var(--shadow-xs);color:hsl(var(--selected-foreground));cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:500;height:44px;justify-content:center;padding:0 20px;transition:background-color var(--speed) var(--ease)}.balance-card__primary-btn:hover{background-color:hsl(var(--selected-strong))}.balance-card__meta{grid-gap:12px;border-top:1px solid hsl(var(--border));display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:18px}.balance-card__meta-item{display:flex;flex-direction:column;gap:4px;min-width:0}.balance-card__meta-label{color:hsl(var(--muted-foreground));font-size:12px}.balance-card__meta-value{color:hsl(var(--foreground));font-size:14px;font-weight:500}.balance-card__row-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.balance-card--transactions .balance-card__row-header{border-bottom:1px solid hsl(var(--border));margin-bottom:0;padding:16px 20px}.balance-card__title{color:hsl(var(--foreground));font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.balance-card__title--small{font-size:15px}.balance-card__link-btn{background:none;border:none;color:hsl(var(--selected));cursor:pointer;font-size:13px;font-weight:500;padding:0;transition:color var(--speed) var(--ease)}.balance-card__link-btn:hover:not(:disabled){color:hsl(var(--selected-strong));text-decoration:underline}.balance-card__link-btn:disabled{color:hsl(var(--muted-foreground));cursor:not-allowed}.balance-payments-empty{background-color:hsl(var(--muted)/.5);border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:13px;padding:26px 16px;text-align:center}.balance-payments{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.balance-payment{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:border-color var(--speed) var(--ease),background-color var(--speed) var(--ease);width:100%}.balance-payment:hover{background-color:hsl(var(--muted)/.35);border-color:hsl(var(--selected)/.45)}.balance-payment--active{background-color:hsl(var(--selected-soft)/.55);border-color:hsl(var(--selected)/.5)}.balance-payment__logo{align-items:center;background:linear-gradient(145deg,#1a66ff,#0047cc);border-radius:10px;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:40px;justify-content:center;letter-spacing:-.02em;width:40px}.balance-payment__logo--card{background:linear-gradient(145deg,#e85d6a,#c93a4a);font-size:16px}.balance-payment__logo--sbp{background:linear-gradient(145deg,#1a1a2e,#16213e);font-size:9px;letter-spacing:.02em}.balance-payment__logo--sber{background:linear-gradient(145deg,#21a038,#14802a);font-size:16px}.balance-payment__logo--yumoney{background:linear-gradient(145deg,#8b3dff,#6b2fd6);font-size:16px}.balance-payment__logo--tpay{background:linear-gradient(145deg,#ffdd2d,#f5c400);color:#1a1a1a;font-size:16px}.balance-payment__logo--alfa{background:linear-gradient(145deg,#ef3124,#c41e14);font-size:16px}.balance-payment__content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.balance-payment__name{color:hsl(var(--foreground));font-size:14px;font-weight:600}.balance-payment__meta{color:hsl(var(--muted-foreground));font-size:12px}.balance-payment__badge{background-color:hsl(var(--success-soft));border-radius:var(--radius-pill);color:hsl(var(--success));flex-shrink:0;font-size:11px;font-weight:600;padding:4px 8px;white-space:nowrap}.balance-card__footer-link,.balance-card__nav-link{align-items:center;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:space-between;margin-top:14px;padding:10px 12px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease);width:100%}.balance-card__footer-link:hover:not(:disabled),.balance-card__nav-link:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.balance-card__footer-link:disabled,.balance-card__nav-link:disabled{color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.7}.balance-card__empty,.balance-card__loading{color:hsl(var(--muted-foreground));font-size:14px;margin:0;padding:32px 20px;text-align:center}.balance-card__text{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;margin:0}.balance-transactions{list-style:none;margin:0;padding:6px}.balance-transaction{align-items:center;border-radius:var(--radius);display:flex;gap:12px;padding:10px 12px;transition:background-color var(--speed) var(--ease)}.balance-transaction:hover{background-color:hsl(var(--muted))}.balance-transaction__icon{align-items:center;background-color:hsl(var(--selected-soft));border-radius:var(--radius-md);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.balance-transaction__icon img{display:block;height:20px;width:20px}:root[data-theme=dark] .balance-transaction__icon img{filter:brightness(0) invert(1);opacity:.92}.balance-transaction__content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.balance-transaction__title{color:hsl(var(--foreground));font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-transaction__date{color:hsl(var(--muted-foreground));font-size:12px}.balance-transaction__right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.balance-transaction__amount{font-feature-settings:"tnum";font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.balance-transaction__amount--plus{color:hsl(var(--success))}.balance-transaction__amount--minus{color:hsl(var(--foreground))}.balance-transaction__status{color:hsl(var(--muted-foreground));font-size:11px}.balance-card__more{align-items:center;background:none;border:none;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:12px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease);width:100%}.balance-card__more:hover:not(:disabled){background-color:hsl(var(--muted));color:hsl(var(--foreground))}.balance-tariff{background-color:hsl(var(--muted)/.45);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:14px}.balance-tariff__head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.balance-tariff__name{color:hsl(var(--foreground));font-size:15px;font-weight:600;margin:0}.balance-tariff__price{color:hsl(var(--muted-foreground));font-size:13px;margin:4px 0 0}.balance-tariff__badge{background-color:hsl(var(--success-soft));border-radius:var(--radius-pill);color:hsl(var(--success));flex-shrink:0;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.balance-tariff__badge--inactive{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.balance-tariff__next{color:hsl(var(--muted-foreground));font-size:12px;margin:12px 0 0}.camera-subs__summary{color:hsl(var(--muted-foreground));font-size:13px;margin:-4px 0 12px}.camera-subs__list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;max-height:520px;overflow-y:auto;padding:0}.camera-subs__title{min-width:0}.camera-subs__name{overflow-wrap:anywhere}.camera-subs__badge--inactive{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.camera-subs__badge--deleting{background-color:hsl(var(--warning-soft));color:hsl(var(--warning-foreground))}.camera-subs__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:12px}.camera-subs__toggle{align-items:center;color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.camera-subs__toggle input{accent-color:hsl(var(--selected));cursor:pointer}.camera-subs__empty{border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:13px;padding:14px}.camera-subs__message{background-color:hsl(var(--success-soft));border:1px solid hsl(var(--success)/.3);border-radius:var(--radius);color:hsl(var(--success));font-size:13px;margin-top:12px;padding:8px 12px}.camera-subs__message--error{background-color:hsl(var(--destructive-soft));border-color:hsl(var(--destructive)/.3);color:hsl(var(--destructive))}.camera-subs__link{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;margin-left:8px;padding:0;text-decoration:underline}@media (max-width:1100px){.balance-grid{grid-template-columns:1fr}.balance-card--current,.balance-card--payments,.balance-card--transactions,.balance-side{grid-column:1;grid-row:auto}}@media (max-width:600px){.balance-card__top{align-items:stretch;flex-direction:column}.balance-card__primary-btn{width:100%}.balance-card__meta{grid-template-columns:1fr}}.admin-page{width:100%}.admin-main{display:block}.admin-header{margin-bottom:20px}.admin-header__title{color:hsl(var(--foreground));font-size:clamp(24px,2.4vw,32px);font-weight:650;letter-spacing:-.025em;margin:0}.admin-header__subtitle{color:hsl(var(--muted-foreground));font-size:14px;margin:6px 0 0}.admin-tabs{align-items:center;background-color:hsl(var(--muted));border-radius:var(--radius);display:inline-flex;gap:4px;margin-bottom:18px;padding:4px}.admin-tabs__btn{background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease),box-shadow var(--speed) var(--ease);white-space:nowrap}.admin-tabs__btn--active,.admin-tabs__btn:not(.admin-tabs__btn--active):hover{color:hsl(var(--foreground))}.admin-tabs__btn--active{background-color:hsl(var(--card));box-shadow:var(--shadow-xs)}.admin-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-error{background-color:hsl(var(--destructive-soft));border:1px solid hsl(var(--destructive)/.25);border-radius:var(--radius);color:hsl(var(--destructive));font-size:14px;margin-bottom:16px;padding:12px 14px}.admin-table-wrap{overflow-x:auto;width:100%}.admin-table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.admin-table th{background-color:hsl(var(--muted)/.6);color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;letter-spacing:.02em;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td,.admin-table th{border-bottom:1px solid hsl(var(--border));padding:12px 14px}.admin-table td{color:hsl(var(--foreground));vertical-align:middle}.admin-table tbody tr{transition:background-color var(--speed) var(--ease)}.admin-table tbody tr:hover{background-color:hsl(var(--muted)/.55)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-badge{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap}.admin-badge--admin{background-color:hsl(var(--selected-soft));color:hsl(var(--selected-strong))}.admin-badge--user{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.admin-badge--active{background-color:hsl(var(--success-soft));color:hsl(var(--success))}.admin-badge--inactive{background-color:hsl(var(--destructive-soft));color:hsl(var(--destructive))}.admin-input{background-color:hsl(var(--card));border:1px solid hsl(var(--input));border-radius:var(--radius-sm);color:hsl(var(--foreground));font-size:13px;height:34px;min-width:190px;outline:none;padding:0 10px;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.admin-input::placeholder{color:hsl(var(--muted-foreground))}.admin-input:focus{border-color:hsl(var(--selected));box-shadow:0 0 0 3px hsl(var(--selected)/.16)}.admin-input:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.admin-input--narrow{max-width:120px;min-width:108px}.admin-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:8px}.admin-btn{align-items:center;background-color:hsl(var(--secondary));border:1px solid #0000;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;height:34px;justify-content:center;padding:0 14px;transition:background-color var(--speed) var(--ease),border-color var(--speed) var(--ease),opacity var(--speed) var(--ease);white-space:nowrap}.admin-btn:disabled{cursor:not-allowed;opacity:.55}.admin-btn--primary{background-color:hsl(var(--selected));color:hsl(var(--selected-foreground))}.admin-btn--primary:hover:not(:disabled){background-color:hsl(var(--selected-strong))}.admin-btn--secondary{background-color:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.admin-btn--secondary:hover:not(:disabled){background-color:hsl(var(--muted));border-color:hsl(var(--border-strong))}.admin-btn--danger{background-color:hsl(var(--destructive-soft));color:hsl(var(--destructive))}.admin-btn--danger:hover:not(:disabled){background-color:hsl(var(--destructive)/.16)}@media (max-width:768px){.admin-tabs{display:flex;width:100%}.admin-tabs__btn{flex:1 1;font-size:13px;padding:8px 10px}.admin-input{min-width:150px}}.plates-page{width:100%}.plates-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.plates-camera{display:flex;flex-direction:column;gap:12px;min-width:0}.plates-camera__head{align-items:center;display:flex;gap:12px;justify-content:space-between}.plates-camera__select{font-size:13px;height:36px;max-width:240px;min-width:160px;width:auto}.plates-camera__video{aspect-ratio:16/9;background:#0b1220;border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;position:relative;width:100%}.plates-camera__video iframe{border:none;height:100%;width:100%}.plates-camera__placeholder{background:radial-gradient(700px 300px at 25% 25%,#ffffff1a,#0000 55%),radial-gradient(500px 220px at 75% 65%,hsl(var(--selected)/.16),#0000 60%),linear-gradient(135deg,#111827f2,#020617f2);height:100%;width:100%}.plates-camera__placeholder.plates-camera__placeholder--unpaid{align-items:center;background:#0a0a0a;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:20px;text-align:center}.plates-camera__unpaid-title{color:#ffffffe6;font-size:15px;font-weight:600}.plates-camera__overlay{display:flex;flex-direction:column;inset:0;justify-content:space-between;padding:12px;pointer-events:none;position:absolute}.plates-camera__top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.plates-camera__label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border-radius:var(--radius-pill);padding:6px 12px}.plates-camera__bottom,.plates-camera__label{align-items:center;color:#fffffff2;display:inline-flex;font-size:13px;font-weight:600}.plates-camera__bottom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000006b;border:1px solid #ffffff29;border-radius:var(--radius-pill);gap:8px;line-height:1;padding:7px 14px;width:-webkit-fit-content;width:fit-content}.plates-camera__live-dot{background:hsl(var(--selected));border-radius:50%;box-shadow:0 0 0 3px hsl(var(--selected)/.28);flex:0 0 auto;height:8px;position:relative;width:8px}.plates-camera__live-dot:after{animation:area-live-pulse 1.4s ease-out infinite;background:hsl(var(--selected)/.55);border-radius:50%;content:"";inset:0;opacity:.65;position:absolute}.plates-camera__hint{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;margin:0}.plates-camera__hint .ui-btn--link{border:none;cursor:pointer;font-size:13px}.plates-error{align-items:center;flex-wrap:wrap;gap:16px;justify-content:space-between}.plates-journal{min-width:0;overflow:visible}.plates-journal__head{align-items:center;border-bottom:none;display:flex;gap:12px;justify-content:space-between;padding:16px 20px 12px}.plates-filters{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px;position:relative;z-index:6}.plates-filters__plate{flex:1 1 180px;max-width:280px;min-width:160px;position:relative}.plates-filters__plate .ui-input{height:40px}.plates-suggest{background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-md);left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.plates-suggest--empty{color:hsl(var(--muted-foreground));font-size:13px;padding:10px 12px}.plates-suggest__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.04em;padding:8px 10px;text-align:left;width:100%}.plates-suggest__item--active,.plates-suggest__item:hover{background-color:hsl(var(--selected-soft));color:hsl(var(--selected-strong))}.plates-journal__title{align-items:center;display:flex;flex-wrap:wrap;gap:12px;min-width:0}.plates-journal__page{font-size:13px}.plates-journal__live,.plates-journal__page{color:hsl(var(--muted-foreground));white-space:nowrap}.plates-journal__live{align-items:center;display:inline-flex;font-size:12px;gap:6px}.plates-journal__live-dot{background-color:hsl(var(--success));border-radius:50%;flex-shrink:0;height:7px;position:relative;width:7px}.plates-journal__live-dot:after{animation:plates-pulse 2s ease-out infinite;background-color:hsl(var(--success)/.5);border-radius:50%;content:"";inset:0;position:absolute}@keyframes plates-pulse{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}.plates-journal__pending{background-color:hsl(var(--selected-soft));border:none;border-bottom:1px solid hsl(var(--border));color:hsl(var(--selected-strong));cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:background-color var(--speed) var(--ease);width:100%}.plates-journal__pending:hover{background-color:hsl(var(--selected)/.16)}.plates-table__row--fresh>td{animation:plates-fresh 6s ease-out forwards}@keyframes plates-fresh{0%{background-color:hsl(var(--selected)/.22)}to{background-color:initial}}@media (prefers-reduced-motion:reduce){.plates-journal__live-dot:after{animation:none}.plates-table__row--fresh>td{animation:none;background-color:hsl(var(--selected)/.1)}}.plates-table td:last-child,.plates-table th:last-child{text-align:right}.plates-table__time{font-feature-settings:"tnum";color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;white-space:nowrap}.plates-table__plate{align-items:center;background-color:hsl(var(--muted));border:1px solid hsl(var(--border-strong));border-radius:var(--radius-sm);color:hsl(var(--foreground));display:inline-flex;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.04em;padding:4px 10px;white-space:nowrap}.plates-table__camera{color:hsl(var(--muted-foreground))}.plates-table__camera-name{display:block;line-height:1.35;max-width:200px;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.plates-table__dash{color:hsl(var(--muted-foreground))}.plates-journal__footer{align-items:center;border-top:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:space-between;padding:14px 20px}.plates-journal__range{font-feature-settings:"tnum";color:hsl(var(--muted-foreground));font-size:13px;font-variant-numeric:tabular-nums}@media (max-width:1100px){.plates-layout{grid-template-columns:1fr}}@media (max-width:720px){.plates-camera__head{align-items:stretch;flex-direction:column}.plates-camera__select{max-width:none;width:100%}.plates-filters{padding:0 16px 14px}.plates-filters__plate{flex:1 1 100%;max-width:none}.plates-journal__footer{flex-wrap:wrap;justify-content:center}.plates-journal__range{order:-1;text-align:center;width:100%}.plates-table__camera-name{max-width:120px}}.model-category-page{width:100%}.model-category-model{align-items:center;background:hsl(var(--selected-soft));border-radius:var(--radius-pill);color:hsl(var(--selected-strong));display:inline-flex;font-size:12px;font-weight:600;gap:7px;padding:4px 9px;white-space:nowrap}.model-category-page .plates-camera__select{max-width:320px}.model-category-filter-select{height:40px;max-width:260px;min-width:170px}.model-category-video-blocker{inset:0;position:absolute;z-index:4}.model-category-video-blocker__text{color:#ffffffa6;font-size:13px;line-height:1.45;max-width:420px}@media (max-width:720px){.model-category-filter-select{max-width:none;width:100%}}
/*# sourceMappingURL=main.d84106d4.css.map*/