/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--tracking-wide:.025em;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Outfit","Segoe UI",sans-serif;--font-body:"DM Sans","Segoe UI",sans-serif}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.max-h-6{max-height:calc(var(--spacing) * 6)}.max-h-8{max-height:calc(var(--spacing) * 8)}.max-h-10{max-height:calc(var(--spacing) * 10)}.max-h-16{max-height:calc(var(--spacing) * 16)}.max-h-32{max-height:calc(var(--spacing) * 32)}.min-h-dvh{min-height:100dvh}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded{border-radius:.25rem}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[rgba\(6\,12\,9\,0\.8\)\]{background-color:#060c09cc}.bg-\[var\(--accent-soft\)\]{background-color:var(--accent-soft)}.bg-\[var\(--bg-panel\)\]{background-color:var(--bg-panel)}.p-4{padding:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.2rem\]{font-size:1.2rem}.text-\[1\.3rem\]{font-size:1.3rem}.text-\[1\.25rem\]{font-size:1.25rem}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-\[\#c8f0d6\]{color:#c8f0d6}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-none{--tw-outline-style:none;outline-style:none}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:shadow-\[0_0_0_3px_var\(--accent-soft\)\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--accent-soft));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:hidden{display:none}}}:root{--bg:#08120e;--bg-elevated:#101c16;--bg-panel:#122018e0;--bg-panel-solid:#142018;--border:#7ea88e29;--border-strong:#7ea88e57;--text:#eef6f0;--text-muted:#8fa99a;--accent:#3d9a5f;--accent-hover:#4eb574;--accent-soft:#3d9a5f29;--warn:#d4a017;--danger:#d4604e;--info:#4a9bc4;--radius:14px;--radius-sm:10px;--shadow:0 22px 56px #00000052;--font-display:"Outfit","Segoe UI",sans-serif;--font-body:"DM Sans","Segoe UI",sans-serif;--sidebar-w:268px;--content-max:1280px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}body,html{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-bg{background-color:#0000;background-image:radial-gradient(85% 50% at 8% -8%,#2f6e4847 0,#0000 55%),radial-gradient(60% 40% at 100% 0,#1c3a2c59 0,#0000 50%),linear-gradient(165deg,#08120e,#0d1813 48%,#0a1510);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100dvh}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh;display:grid;position:relative}.shell-loading{place-items:center;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);padding:1.1rem .85rem 1rem;padding-top:calc(1.1rem + var(--safe-top));z-index:40;scrollbar-width:thin;background:#060e0ae0;flex-direction:column;gap:1rem;height:100dvh;display:flex;position:sticky;top:0;overflow:auto}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.7rem;padding:.25rem .4rem;font-size:1.15rem;font-weight:700;display:flex}.brand>div{min-width:0}.brand span{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem;font-size:.66rem;font-weight:600;display:block}.brand-mark-sm{width:36px;height:36px;font-family:var(--font-display);letter-spacing:.04em;color:#04110a;background:linear-gradient(145deg,#6bc789 0,var(--accent) 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex;box-shadow:0 6px 18px #3d9a5f47}.nav{flex-direction:column;flex:1;gap:.12rem}.nav,.nav a{display:flex}.nav a{min-height:40px;color:var(--text-muted);border-radius:10px;align-items:center;padding:.58rem .8rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.nav a:hover{color:var(--text);background:#ffffff0a}.nav a.active{background:var(--accent-soft);color:#c8f0d6;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:.65rem;margin-top:auto;padding-top:.75rem;display:flex}.sidebar-user{border-radius:12px;width:100%;padding:.55rem .65rem}.main{padding:1.25rem 1.55rem calc(2rem + var(--safe-bottom));padding-left:max(1.55rem,var(--safe-left));padding-right:max(1.55rem,var(--safe-right));width:100%;min-width:0}.main>*{max-width:var(--content-max);margin-left:auto;margin-right:auto}.mobile-bar{padding:.75rem 1rem;padding-top:calc(.75rem + var(--safe-top));padding-left:max(1rem,var(--safe-left));padding-right:max(1rem,var(--safe-right));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#060e0af0;justify-content:space-between;align-items:center;gap:.75rem;display:none;position:sticky;top:0}.icon-btn{appearance:none;border:1px solid var(--border);background:var(--bg-panel-solid);color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;font-size:1.2rem;line-height:1;display:inline-flex}.nav-overlay{z-index:35;cursor:pointer;background:#0000008c;border:0;padding:0;display:none;position:fixed;inset:0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;display:flex}.topbar h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:700}.topbar p{color:var(--text-muted);max-width:52ch;margin:.35rem 0 0;font-size:.92rem;line-height:1.45}.user-chip{border:1px solid var(--border);background:#122018eb;border-radius:999px;align-items:center;gap:.7rem;padding:.45rem .85rem;font-size:.85rem;display:flex}.user-chip strong{font-size:.88rem;font-weight:650;display:block}.user-role{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.user-avatar{color:#c8f0d6;background:linear-gradient(145deg,#3d9a5f73,#14281ce6);border:1px solid #6bc78959;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.72rem;font-weight:700;display:inline-flex}.grid{gap:1rem;display:grid}.grid.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.1rem 1.2rem}.card h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .4rem;font-size:.72rem;font-weight:650}.card .value{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:520px;font-size:.9rem}td,th{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.8rem 1rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-panel-solid);position:sticky;top:0}.badge,th{font-size:.72rem;font-weight:650}.badge{border:1px solid var(--border);background:var(--bg-elevated);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;height:fit-content;padding:.22rem .65rem;line-height:1.2;display:inline-flex}.badge.ok{color:#8fd4a8;background:#2f6b4538;border-color:#2f6b458c}.badge.warn{color:#e6d08a;background:#7a642038;border-color:#7a64208c}.badge.danger{color:#f0a89c;background:#8a3d3238;border-color:#8a3d328c}.status-pill{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-self:flex-start;align-items:center;gap:.45rem;padding:.38rem .75rem .38rem .55rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.status-pill .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-pill.online{color:#9de0b4;background:#2f784838;border-color:#4fb06e73}.status-pill.online .status-dot{background:#4eb574;animation:pulse-dot 2s infinite;box-shadow:0 0 0 3px #4eb57440}.status-pill.offline{color:#f0a89c;background:#8a3d3233;border-color:#d4604e66}.status-pill.offline .status-dot{background:#d4604e}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #4eb57438}50%{box-shadow:0 0 0 5px #4eb57414}}.camera-grid{gap:1rem}.camera-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.camera-code{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .25rem;font-size:.7rem;font-weight:650}.camera-name{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.25rem;font-weight:700}.camera-events{margin-top:1rem}.camera-event{border-top:1px solid var(--border);color:var(--text-muted);padding:.7rem 0;font-size:.88rem}.camera-event:last-child{padding-bottom:0}.camera-event-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.2rem;display:flex}.camera-event strong{color:var(--text);font-weight:650}.camera-event p{margin:0;line-height:1.45}.event-conf{color:#9de0b4;background:#2f784833;border:1px solid #4fb06e4d;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700}.btn{appearance:none;border:1px solid var(--border);background:var(--accent-soft);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.01em;padding:.65rem 1.05rem;font-weight:650;transition:filter .15s,transform .15s,background .15s,box-shadow .15s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#57bf7d 0,var(--accent) 100%);color:#04110a;border-color:#63c688;box-shadow:0 8px 22px #3d9a5f47}.btn.ghost{background:0 0}.btn.block{width:100%;margin-top:.65rem;display:block}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.login-page{grid-template-columns:1.08fr .92fr;align-items:stretch;min-height:100dvh;display:grid}.login-hero{border-right:1px solid var(--border);background:radial-gradient(70% 55% at 18% 22%,#3d9a5f52,#0000 58%),radial-gradient(50% 40% at 88% 78%,#24503759,#0000 55%),linear-gradient(165deg,#0a1611,#0c1a13 55%,#08120e);flex-direction:column;justify-content:flex-end;padding:clamp(2rem,5vw,3.75rem);display:flex;position:relative;overflow:hidden}.login-hero-glow{background:radial-gradient(circle,#5bc4822e,#0000 68%);height:55%;animation:drift 14s ease-in-out infinite alternate;inset:-20% 20% auto -10%}.login-hero-glow,.login-hero-grid{pointer-events:none;position:absolute}.login-hero-grid{background-image:linear-gradient(#7ea88e0d 1px,#0000 0),linear-gradient(90deg,#7ea88e0d 1px,#0000 0);background-size:48px 48px;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 85%);mask-image:linear-gradient(#0000008c,#0000 85%)}.login-hero-inner{z-index:1;max-width:34rem;animation:rise .55s both;position:relative}.login-brand-row{align-items:center;gap:.85rem;margin-bottom:2.4rem;display:flex}.login-brand-mark{width:44px;height:44px;font-family:var(--font-display);letter-spacing:.04em;color:#04110a;background:linear-gradient(145deg,#78d09a 0,var(--accent) 100%);border-radius:12px;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex;box-shadow:0 10px 28px #3d9a5f59}.login-brand-kicker{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700}.login-brand-sub{color:var(--text-muted);margin:.15rem 0 0;font-size:.75rem}.login-hero-index{letter-spacing:.14em;text-transform:uppercase;color:#7dcaa0;margin:0 0 .75rem;font-size:.72rem;font-weight:700}.login-hero .brand-mark{font-family:var(--font-display);letter-spacing:-.045em;color:#0000;background:linear-gradient(#fff 20%,#b8e0c6);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.75rem,6.2vw,4.35rem);font-weight:800;line-height:.95}.login-hero .hero-copy{color:var(--text-muted);max-width:38ch;margin:1.1rem 0 0;font-size:1.05rem;line-height:1.55}.login-hero-points{gap:.65rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.login-hero-points li{color:#d5e8dc;align-items:center;gap:.75rem;font-size:.92rem;font-weight:500;display:flex}.login-hero-points span{font-family:var(--font-display);letter-spacing:.08em;color:#7dcaa0;min-width:1.6rem;font-size:.72rem;font-weight:700}@keyframes drift{0%{transform:translate(0)}to{transform:translate(4%,6%)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.login-panel{padding:max(1.5rem,var(--safe-top)) max(1.5rem,var(--safe-right)) max(1.5rem,var(--safe-bottom)) max(1.5rem,var(--safe-left));place-items:center;display:grid}.login-card{border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0e1a14f0;border-radius:22px;padding:clamp(1.45rem,3vw,2.05rem);animation:rise .5s both}.login-card-kicker{color:#7dcaa0;text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.68rem;font-weight:700}.login-card-title{font-family:var(--font-display);letter-spacing:-.03em;margin:.4rem 0 .45rem;font-size:clamp(1.55rem,3.5vw,1.9rem);font-weight:750}.login-card-lead{line-height:1.5;margin:0 0 1.35rem!important}.login-card .subtitle{color:var(--text-muted);line-height:1.5}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field label{color:var(--text-muted);font-size:.85rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#060c09cc;outline:none;padding:.78rem .9rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.check{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:.65rem;margin:.35rem 0 .85rem;font-size:.8rem;line-height:1.45;display:flex}.check input{accent-color:var(--accent);flex-shrink:0;margin-top:.2rem}.or-row{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.75rem;margin:1.05rem 0 .95rem;font-size:.78rem;font-weight:650;display:flex}.or-row:after,.or-row:before{content:"";background:var(--border);flex:1;height:1px}.oauth-wrap{justify-content:center;display:flex}.login-foot{color:var(--text-muted);text-align:center;margin:1rem 0 0;font-size:.78rem;line-height:1.45}.error{color:#f0a89c}.error,.ok{margin:.5rem 0;font-size:.85rem}.ok{color:#8fd4a8}.subtitle{color:var(--text-muted)}.stack-2{grid-template-columns:1.4fr 1fr;gap:1rem;display:grid}.chat-layout{grid-template-columns:minmax(180px,240px) 1fr minmax(160px,200px);min-height:min(62vh,720px);padding:0;display:grid;overflow:hidden}.chat-pane{-webkit-overflow-scrolling:touch;overflow:auto}.chat-pane.channels{border-right:1px solid var(--border);padding:.85rem}.chat-pane.thread{flex-direction:column;min-height:min(62vh,720px);display:flex}.chat-pane.directory{border-left:1px solid var(--border);padding:.85rem}@media (max-width:1100px){.chat-layout{grid-template-columns:200px 1fr}.chat-pane.directory{display:none}}@media (max-width:900px){.shell{grid-template-columns:1fr}.mobile-bar{display:flex}.sidebar{border-right:1px solid var(--border-strong);width:min(86vw,300px);height:100dvh;box-shadow:var(--shadow);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.shell.nav-open .sidebar{transform:translate(0)}.shell.nav-open .nav-overlay{display:block}.main{padding:1rem 1rem calc(1.5rem + var(--safe-bottom))}.login-page,.stack-2{grid-template-columns:1fr}.login-hero{border-right:none;border-bottom:1px solid var(--border);min-height:auto;padding:1.65rem 1.25rem 1.4rem}.login-brand-row{margin-bottom:1.35rem}.login-hero-points{display:none}.btn{min-height:44px}.chat-layout{grid-template-columns:1fr;min-height:70vh}.chat-pane.channels{border-right:none;border-bottom:1px solid var(--border);max-height:180px}.chat-pane.directory{border-left:none;border-top:1px solid var(--border);max-height:200px;display:block}}@media (max-width:560px){.topbar{flex-direction:column;align-items:stretch}.grid.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.camera-card-head{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.igos-login{grid-template-columns:1.05fr .95fr;min-height:100dvh;display:grid}.igos-hero{border-right:1px solid var(--border);color:var(--text);background:radial-gradient(70% 55% at 18% 22%,#3d9a5f52,#0000 58%),radial-gradient(50% 40% at 88% 78%,#24503759,#0000 55%),linear-gradient(165deg,#0a1611,#0c1a13 55%,#08120e);flex-direction:column;justify-content:space-between;padding:clamp(2rem,4.5vw,3.25rem);display:flex;position:relative;overflow:hidden}.igos-hero-glow{background:radial-gradient(circle,#5bc4822e,#0000 68%);height:55%;animation:drift 14s ease-in-out infinite alternate;inset:-20% 20% auto -10%}.igos-hero-glow,.igos-hero-grid{pointer-events:none;position:absolute}.igos-hero-grid{background-image:linear-gradient(#7ea88e0d 1px,#0000 0),linear-gradient(90deg,#7ea88e0d 1px,#0000 0);background-size:48px 48px;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 85%);mask-image:linear-gradient(#0000008c,#0000 85%)}.igos-hero-inner{z-index:1;max-width:34rem;padding-top:.5rem;position:relative}.igos-lab{font-family:var(--font-body);letter-spacing:.04em;color:var(--text-muted);margin:0 0 1.75rem;font-size:.82rem;font-weight:650}.igos-badge{color:#c8f0d6;background:#3d9a5f24;border:1px solid #7ea88e47;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:1.25rem;padding:.45rem .85rem;font-size:.84rem;font-weight:600;display:inline-flex}.igos-badge span{color:#4eb574;font-size:.55rem;line-height:1}.igos-title{font-family:var(--font-display);letter-spacing:-.04em;color:#eef6f0;margin:0;padding-bottom:.08em;font-size:clamp(2.6rem,5.5vw,3.9rem);font-weight:750;line-height:1.12;overflow:visible}.igos-lead{max-width:38ch;color:var(--text-muted);margin:1.1rem 0 0;font-size:1.05rem;font-weight:400;line-height:1.55}.igos-highlight{border:1px solid var(--border);background:#101c16b8;border-radius:16px;align-items:flex-start;gap:.85rem;margin-top:2.2rem;padding:1.05rem 1.15rem;display:flex}.igos-highlight p{color:#d5e8dc;margin:0;font-size:.95rem;line-height:1.5}.igos-shield{color:#7dcaa0;flex-shrink:0;margin-top:.1rem}.igos-copy{z-index:1;color:#8fa99abf;margin:2rem 0 0;font-size:.78rem;position:relative}.igos-panel{padding:max(1.5rem,var(--safe-top)) max(1.5rem,var(--safe-right)) max(1.5rem,var(--safe-bottom)) max(1.5rem,var(--safe-left));background:radial-gradient(60% 40% at 100% 0,#1c3a2c40 0,#0000 50%),linear-gradient(165deg,#08120e,#0d1813);place-items:center;display:grid}.igos-card{border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0e1a14f0;border-radius:22px;padding:clamp(1.5rem,3vw,2.1rem);animation:rise .45s both}.igos-card-kicker{color:#7dcaa0;text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.68rem;font-weight:700}.igos-card-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:.4rem 0 .45rem;font-size:clamp(1.55rem,3vw,1.9rem);font-weight:700;line-height:1.2}.igos-card-sub{color:var(--text-muted);margin:0 0 1.35rem;font-size:.95rem;line-height:1.5}.igos-form{gap:.95rem}.igos-field,.igos-form{flex-direction:column;display:flex}.igos-field{color:var(--text-muted);gap:.4rem;font-size:.88rem;font-weight:650}.igos-field input{border:1px solid var(--border);width:100%;color:var(--text);background:#060c09cc;border-radius:12px;outline:none;padding:.8rem .95rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.igos-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.igos-field input::placeholder{color:#8fa99a8c;font-weight:400}.igos-password{position:relative}.igos-password input{padding-right:4.2rem}.igos-eye{background:0 0;border:0;padding:.35rem .45rem;font-size:.8rem;font-weight:650;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.igos-check,.igos-eye{color:var(--text-muted);cursor:pointer}.igos-check{align-items:flex-start;gap:.6rem;font-size:.78rem;font-weight:500;line-height:1.45;display:flex}.igos-check input{accent-color:var(--accent);flex-shrink:0;margin-top:.15rem}.igos-btn{appearance:none;background:linear-gradient(180deg,#57bf7d 0,var(--accent) 100%);color:#04110a;cursor:pointer;border:1px solid #63c688;border-radius:12px;padding:.85rem 1rem;font-size:.98rem;font-weight:700;box-shadow:0 8px 22px #3d9a5f47}.igos-btn:hover{filter:brightness(1.05)}.igos-btn:disabled{opacity:.6;cursor:not-allowed}.igos-link-btn{appearance:none;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:12px;padding:.7rem 1rem;font-size:.9rem;font-weight:650}.igos-or{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.75rem;margin:1.1rem 0 .95rem;font-size:.78rem;font-weight:650;display:flex}.igos-or:after,.igos-or:before{content:"";background:var(--border);flex:1;height:1px}.igos-foot,.login-muted{text-align:center;color:var(--text-muted);margin:1rem 0 0;font-size:.8rem;line-height:1.45}.igos-error{color:#f0a89c}.igos-error,.igos-ok{margin:0;font-size:.85rem}.igos-ok{color:#8fd4a8}.brand,.camera-name,.card .value,.topbar h1{overflow-wrap:anywhere;line-height:1.15}@media (max-width:900px){.igos-login{grid-template-columns:1fr}.igos-hero{border-right:none;border-bottom:1px solid var(--border);min-height:auto;padding-bottom:1.5rem}.igos-highlight{margin-top:1.5rem}.igos-copy{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}