/* BodegaCam web workspace: brand tokens, navigation, forms and responsive surfaces. */
@font-face{font-family:Manrope;src:url('../fonts/Manrope-Variable.ttf');font-display:swap}
@font-face{font-family:Barlow;src:url('../fonts/BarlowCondensed-Bold.ttf');font-weight:700;font-display:swap}
:root{--navy:#06182f;--navy2:#0a2a53;--blue:#1459d9;--yellow:#ffd000;--ink:#10223c;--muted:#52647b;--line:#d5dee9;--soft:#f3f5f8}
body{background:var(--soft);background-image:none}::selection{background:var(--yellow);color:var(--navy)}html{scrollbar-color:#8295ac var(--soft)}input,textarea{caret-color:var(--blue)}
.app-frame{grid-template-columns:240px minmax(0,1fr)}.app-sidebar{padding:22px 16px;background:var(--navy);border:0;box-shadow:none;overflow-y:auto}.sidebar-brand{height:76px;padding:4px}.sidebar-nav{margin-top:24px;gap:6px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid transparent;border-radius:6px;font-size:14px}.sidebar-nav a.active{color:var(--yellow);background:#122e4d;border-color:#36516c}.sidebar-nav a:hover{background:#193b60;color:#fff}.nav-label{color:#a5b8d0;margin-top:22px}.sidebar-user{background:none;border:0;border-top:1px solid #36516c;border-radius:0;padding:18px 0 0;margin-top:18px}.sidebar-user small{color:#bdcbdc}.sidebar-user>a{color:#d9e7fa}.sidebar-chappie{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:28px;color:#bdcbdc;font-size:13px}.sidebar-chappie img{width:46px;height:46px;object-fit:contain}
.ui-icon{width:21px;height:21px;fill:none;flex-shrink:0}.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;padding:12px;background:var(--yellow);color:var(--navy);font-weight:800}.skip-link:focus{top:12px}
.topbar{min-height:70px;background:#fff;backdrop-filter:none;box-shadow:none;padding:14px 32px}.topbar .eyebrow{display:none}.topbar strong{font-size:17px}.topbar-brand{font-size:13px;color:var(--muted)}.main-content{width:100%;max-width:1780px;padding:32px}.page-head{gap:18px;margin-bottom:28px}.page-head .eyebrow,.panel-head .eyebrow{display:none}.page-head h1{font-size:46px;line-height:1.06;letter-spacing:0;margin-bottom:10px}.page-head p{max-width:64ch;font-size:14px;line-height:1.6}.command-head{border:0;padding:0}
.btn{min-height:44px;border-radius:6px;font-size:14px;transition:background 140ms ease-out,border-color 140ms ease-out}.btn:hover{transform:none}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:#0d43aa}.btn.secondary:hover{background:#edf3fb}.btn.small{min-height:40px;font-size:13px}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-sidebar a:focus,.app-sidebar button:focus{outline:3px solid var(--yellow);outline-offset:2px}.icon-button{height:44px;width:44px;border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center}
.metric-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;margin-bottom:28px}.metric-card{min-width:0;min-height:138px;border:0;border-right:1px solid var(--line)!important;border-radius:0;box-shadow:none;padding:22px}.metric-card:last-child{border-right:0!important}.metric-card::after{display:none}.metric-card strong{font-size:48px;line-height:1.1;color:var(--ink)}.metric-card>span{font-size:13px;font-weight:700}.metric-card>small{font-size:12px}.metric-card.success strong{color:#08724f}.metric-card.danger-metric strong{color:#b52638}
.panel,.camera-card,.wall-card,.event-gallery article{box-shadow:none;border-radius:10px}.panel-head{padding:20px 22px}.panel-head h2{font-size:26px;line-height:1.1}.panel-head>a{font-size:13px;font-weight:700}.dashboard-columns{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:24px}.health-grid{grid-template-columns:1fr;padding:0 22px}.health-camera{grid-template-columns:80px minmax(0,1fr) auto;gap:14px;padding:14px 0}.health-thumb{width:80px;height:55px}.health-camera strong{font-size:14px}.health-camera small,.health-camera div>span{font-size:12px}.event-row{padding:14px 0}.event-row span,.event-row time{font-size:12px}.empty-inline,.empty-state{padding:38px 24px;line-height:1.7}
.filter-bar.panel{padding:12px;background:#fff}.filter-bar input{min-height:46px}.camera-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:20px}.camera-card:hover{transform:none;box-shadow:none;border-color:#8295ac}.camera-media{height:220px}.camera-info h2{font-size:28px;line-height:1.1}.camera-info{min-height:126px}.camera-card footer{gap:8px;flex-wrap:wrap}.status{font-size:12px}.capability-list span{font-size:11px}
.wall-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.wall-card{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.wall-preview{border:0;border-radius:0;min-height:150px;padding:24px;background:#0d2644}.mini-wall{grid-template-columns:repeat(3,1fr);grid-auto-rows:29px;gap:6px}.mini-wall i{background:#183c63;border-color:#4b6b8d}.mini-wall i:first-child{border-color:var(--yellow);background:#504821}.wall-preview>span{font-size:12px;color:#c1d0e1}.wall-copy{padding:22px}.wall-copy .eyebrow{font-size:11px}.wall-copy h2{font-size:30px;line-height:1.1;margin:8px 0}.wall-copy code{font-size:15px;color:var(--blue)}.wall-copy p{font-size:13px;line-height:1.5}.wall-card footer{padding:0 22px 22px;margin-top:auto;align-self:stretch;gap:8px;display:flex;flex-wrap:wrap}.wall-card .btn.primary{flex:1;min-width:120px}
input,select{min-height:46px}label{font-size:14px}label small{line-height:1.5}.form-grid{gap:18px}.modal-panel{border-radius:12px;box-shadow:0 20px 60px #03142b33;max-width:calc(100vw - 32px)}.modal-panel h2{line-height:1.1}.modal.open .modal-panel{animation:none}th{font-size:12px;text-transform:none;letter-spacing:0}td{font-size:14px;padding-top:16px;padding-bottom:16px}.table-wrap{overscroll-behavior:contain}.gateway-note{box-shadow:none}.security-note{border-left:1px solid var(--line);line-height:1.6}
.login-body{padding:28px;background:var(--navy);background-image:none}.login-shell{min-height:calc(100vh - 56px);grid-template-columns:1.15fr 1fr;border-radius:12px;box-shadow:none}.login-visual{padding:44px;background:var(--navy)}.login-lockup{width:240px;top:28px;left:42px}.login-mascot{width:48%;max-height:48vh;object-fit:contain;transform:translate(-50%,-64%)}.login-copy h1{font-size:56px;line-height:1.04;max-width:9em;margin:0}.login-panel{padding:44px}.login-panel .stack-form{gap:22px}.login-panel h2{font-size:42px;margin:0;line-height:1.1}.login-help{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.login-panel input{min-height:50px;font-size:16px}.login-panel .btn.primary{min-height:50px}.login-panel label{gap:8px}
@media(max-width:1150px){.dashboard-columns{grid-template-columns:1fr}.metric-card{padding:18px}.main-content{padding:26px}.wall-list{grid-template-columns:repeat(2,minmax(0,1fr))}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.health-camera{grid-template-columns:60px minmax(0,1fr)}.health-thumb{width:60px}.health-camera>.status{grid-column:2;justify-self:start}.login-copy h1{font-size:46px}}
@media(max-width:800px){.app-frame{grid-template-columns:1fr}.app-sidebar{position:fixed;width:260px;max-width:90vw;height:100vh;height:100dvh}.main-content{padding:24px 18px}.topbar{padding:12px 18px;gap:12px}.topbar-brand{font-size:11px;margin-left:auto;max-width:12em}.metric-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{border-bottom:1px solid var(--line);min-height:120px}.metric-card strong{font-size:42px}.page-head h1{font-size:40px}.health-grid{grid-template-columns:1fr}.health-camera{grid-template-columns:70px minmax(0,1fr) auto}.health-camera>.status{grid-column:auto}.login-body{padding:0}.login-shell{display:block;min-height:100vh;border-radius:0}.login-visual{display:flex;align-items:center;min-height:100px;padding:18px 24px}.login-lockup{position:static;width:170px}.login-mascot,.login-copy{display:none}.login-panel{padding:36px 24px}}
@media(max-width:520px){.wall-list{grid-template-columns:1fr}.camera-grid{grid-template-columns:minmax(0,1fr)}.filter-bar{flex-wrap:wrap}.filter-bar input,.filter-bar select{min-width:0;width:100%}.filter-bar .search-field{min-width:0;flex-basis:100%}.panel-head{padding:18px;align-items:flex-start;flex-wrap:wrap;gap:12px}.health-grid{padding:0 18px}.health-camera{grid-template-columns:52px minmax(0,1fr)}.health-thumb{width:52px}.health-camera>.status{grid-column:2}.metric-card{padding:16px}.metric-card strong{font-size:38px}.topbar-brand{display:none}.page-head p{font-size:13px}.main-content{padding:22px 12px}.event-row{grid-template-columns:42px minmax(0,1fr)}.event-row time{grid-column:2}.page-head h1{font-size:36px}.login-panel h2{font-size:36px}}
@media(max-width:320px){.metric-grid-5{grid-template-columns:1fr}.head-actions{flex-direction:column;align-items:stretch}.head-actions .btn{width:100%}.wall-copy{padding:18px}.wall-card footer{padding:0 18px 18px}.login-panel{padding:28px 18px}.check-grid{grid-template-columns:1fr}.panel-head h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.sidebar-brand{background:#f4f7fb;border-radius:8px;padding:8px}.login-lockup{background:#f4f7fb;border-radius:8px;padding:8px}
.mini-wall{width:100%}
.camera-media[data-stream-state="quota"]::before,.focus-media[data-stream-state="quota"]::before{display:none}
.tv-camera .camera-media[data-stream-state="quota"],.tv-camera .camera-media[data-stream-state="error"]{position:relative;z-index:7}
