
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#121212;color:#eeeeee;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #c5c5c5;outline-offset:2px}h1,h2,h3,p{margin:0}.shell{display:flex;min-height:100vh}.sidebar{flex:0 0 245px;background:#141414;border-right:1px solid #2f2f2f;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;justify-content:space-between;padding:29px 15px 20px}.brand{display:flex;align-items:center;gap:12px;margin:0 12px}.brand .mark{font-size:31px;background:#383838;color:#cecece;border:1px solid #5f5f5f;display:grid;place-items:center;width:45px;height:45px;border-radius:12px}.brand b{display:block;font-size:21px;letter-spacing:.19em;line-height:1}.brand small{display:block;font-size:10px;font-weight:800;letter-spacing:.25em;color:#cdcdcd;margin-top:6px}.sep{margin:28px 11px 24px;border-bottom:1px solid #313131}.sidebar-label{font-size:10px;letter-spacing:.16em;font-weight:800;color:#828282;padding:0 12px;margin:0 0 12px}.role-title{margin:0 3px 30px;padding:15px;background:#232323;border:1px solid #3f3f3f;border-radius:9px;font-size:12px;font-weight:700;color:#e0e0e0}.nav{width:100%;text-align:left;background:transparent;border:0;color:#aaaaaa;font-size:13px;font-weight:650;padding:13px 15px;border-radius:8px;margin:2px 0;display:block}.nav:hover,.preview button:hover{background:#2f2f2f}.nav.chosen{background:linear-gradient(90deg,#464646,#232323);color:#dddddd;box-shadow:inset 3px 0 #bfbfbf}.preview{background:#1d1d1d;border:1px solid #3d3d3d;padding:12px;border-radius:11px}.preview small{display:block;color:#a9a9a9;font-size:10px;letter-spacing:.08em;font-weight:800;margin-bottom:9px}.preview button{width:100%;background:transparent;border:0;border-radius:7px;text-align:left;padding:9px 10px;font-size:12px;color:#b5b5b5}.preview button.chosen{background:#404040;color:#dedede}.main{flex:1;min-width:0;background:radial-gradient(circle at top right,#1e1e1e 0,#121212 34%);display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #323232;background:#161616;padding:0 39px;font-size:12px;color:#919191}.topbar b{color:#f1f1f1;margin-left:8px}.demo{background:#2b2b2b;border:1px solid #494949;color:#cbcbcb;font-weight:850;letter-spacing:.08em;border-radius:6px;padding:9px 12px;font-size:10px}.content{padding:37px 39px 60px;max-width:1840px;width:100%;margin:0 auto;flex:1}.hero{margin:0 0 29px}.hero small{display:block;color:#c4c4c4;font-weight:850;letter-spacing:.18em;font-size:10px;margin-bottom:11px}.hero h1{font-size:clamp(28px,2.5vw,36px);letter-spacing:-.04em;font-weight:760}.hero p{color:#a2a2a2;font-size:13px;margin-top:11px;line-height:1.55}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:29px}.metric{background:linear-gradient(145deg,#232323,#181818);border:1px solid #393939;border-radius:11px;min-height:132px;padding:20px;display:flex;flex-direction:column}.metric span{color:#b0b0b0;font-size:12px}.metric strong{font-size:35px;font-weight:760;letter-spacing:-.03em;margin-top:8px}.metric small{font-size:11px;color:#888888;margin-top:7px}.panel{background:#1d1d1d;border:1px solid #383838;border-radius:11px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #383838;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2,.section-title h2{font-size:17px;letter-spacing:-.02em}.panel-head small{font-size:10px;letter-spacing:.1em;font-weight:800;display:block;margin-bottom:8px}.red{color:#a9a9a9}.panel-foot{padding:15px 22px;border-top:1px solid #373737;color:#8c8c8c;font-size:11px}.pill{display:inline-flex;align-items:center;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:800;background:#282828;border:1px solid #434343;color:#c3c3c3;white-space:nowrap}.pill.green{background:#323232;border-color:#616161;color:#d1d1d1}.pill.red{background:#303030;border-color:#4e4e4e;color:#b1b1b1}.pill.amber{background:#373737;border-color:#626262;color:#d5d5d5}.kc-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:27px;align-items:start}.event-row{border:0;border-bottom:1px solid #383838;background:transparent;display:flex;gap:13px;align-items:center;padding:19px 22px;width:100%;text-align:left}.event-row:hover{background:#2c2c2c}.event-row:last-child{border-bottom:0}.event-row .grow{flex:1;min-width:0}.event-row strong{display:block;color:#f1f1f1;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-row small{display:block;color:#9a9a9a;font-size:11px;margin-top:7px}.alert-icon{display:grid;place-items:center;background:#313131;color:#b3b3b3;width:39px;height:39px;border-radius:9px;font-size:19px;flex-shrink:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.sites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-card{background:#202020;border:1px solid #3e3e3e;border-radius:11px;min-height:184px;text-align:left;padding:19px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.site-card:hover{background:#2d2d2d;border-color:#7c7c7c}.site-symbol{width:38px;height:38px;background:#333333;border:1px solid #565656;color:#d1d1d1;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:22px}.site-symbol span{position:absolute;transform:translateX(105px);font-size:15px;color:#949494}.site-card h3{font-size:15px;font-weight:740}.site-card p{color:#979797;font-size:11px;margin-top:5px}.site-foot{border-top:1px solid #3d3d3d;padding-top:12px}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:10px 14px;background:#2c2c2c;border:1px solid #4d4d4d;border-radius:7px;color:#e3e3e3;font-size:12px;font-weight:750;white-space:nowrap}.btn:hover{filter:brightness(1.2)}.btn.text{border:0;background:transparent;color:#cacaca;padding:8px 4px}.btn.secondary{background:#3a3a3a;border-color:#5a5a5a;color:#e2e2e2}.btn.primary{background:#bdbdbd;border-color:#bdbdbd;color:#1d1d1d}.btn.outline{background:#262626}.hint{margin-top:20px;padding:17px 19px;background:#242424;border:1px solid #505050;border-radius:9px;color:#cacaca;font-size:12px}table{width:100%;border-collapse:collapse;min-width:655px}th{text-align:left;font-size:10px;color:#8d8d8d;background:#191919;padding:17px 21px;letter-spacing:.08em}td{padding:18px 21px;border-top:1px solid #373737;font-size:12px;color:#b9b9b9}td b{color:#f1f1f1}.toggle{border:0;border-radius:15px;width:39px;height:22px;background:#616161;padding:3px;vertical-align:middle}.toggle span{display:block;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .18s}.toggle.on{background:#acacac}.toggle.on span{transform:translateX(17px)}.dual{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:19px}.pad{padding:16px}.video{position:relative;background:radial-gradient(ellipse at 75% 5%,#4c4c4c,transparent 55%),linear-gradient(165deg,#3a3a3a,#1b1b1b 75%,#363636);border:1px solid #505050;border-radius:7px;aspect-ratio:16/9;overflow:hidden}.video:before{content:"";position:absolute;inset:35% 18% 12%;border:3px solid #dfdfdf;opacity:.08;transform:perspective(150px) rotateX(7deg)}.video:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#b8b8b813 5px);pointer-events:none}.video-top,.video-foot{position:absolute;left:13px;right:13px;font-size:9px;letter-spacing:.1em;color:#d0d0d0;font-weight:850;z-index:1}.video-top{top:12px;display:flex;justify-content:space-between}.video-top span{padding:5px 8px;background:#151515ba;border-radius:4px}.video-foot{bottom:12px}.video-empty{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;flex-direction:column;color:#d2d2d2;z-index:1;white-space:nowrap}.video-empty>span{font-size:26px}.video-empty small{font-size:11px}.subtle{color:#9b9b9b;font-size:11px;margin-top:16px}.action-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px}.action-bar p{font-size:12px;color:#929292;margin-top:8px}.site-controls{border:1px solid #4b4b4b;background:#232323;border-radius:10px;padding:18px;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.site-controls>div{display:flex;gap:10px;align-items:center}.camera-section{margin-bottom:32px}.camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.cam-card{border:1px solid #3d3d3d;background:#202020;border-radius:10px;overflow:hidden}.cam-card .video{border:0;border-radius:0}.cam-card .video-empty small{font-size:9px}.cam-name{padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.cam-name strong{font-size:12px}.cam-action{border:0;border-top:1px solid #3d3d3d;background:#262626;color:#cecece;font-size:11px;padding:12px;width:100%}.customer-box{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #5d5d5d;border-radius:12px;background:linear-gradient(110deg,#333333,#202020);padding:25px;margin-bottom:32px}.customer-box small{color:#c7c7c7;letter-spacing:.15em;font-size:10px}.customer-box h2{font-size:21px;margin-top:10px}.log-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #3b3b3b;padding:18px 23px}.log-row b{font-size:12px}.log-row small{font-size:11px;color:#929292}.empty{padding:55px;text-align:center;color:#979797;font-size:12px}.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#121212e8;z-index:10;backdrop-filter:blur(5px)}.dialog{width:100%;max-width:470px;background:#242424;border:1px solid #5b5b5b;border-radius:13px;padding:26px;box-shadow:0 28px 100px #0009}.dialog h2{font-size:23px}.dialog p{color:#b0b0b0;font-size:12px;margin-top:13px;line-height:1.65}.dialog label{display:block;font-size:12px;color:#e4e4e4;font-weight:750;margin:22px 0 9px}.dialog textarea,.dialog select{border:1px solid #585858;border-radius:7px;background:#191919;color:#f1f1f1;padding:12px;width:100%;font-size:12px}.dialog textarea{min-height:80px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.close{float:right;border:0;background:transparent;color:#c0c0c0;font-size:26px}footer{border-top:1px solid #2f2f2f;padding:16px 39px;color:#7e7e7e;display:flex;justify-content:space-between;gap:18px;font-size:10px}@media(max-width:1320px){.kc-grid{grid-template-columns:1fr}.sites-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dual{grid-template-columns:1fr}.content{padding:28px}.topbar{padding:0 25px}.site-controls,.action-bar{flex-wrap:wrap}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;width:auto;padding:16px}.sidebar .sep,.sidebar .sidebar-label,.sidebar .role-title{display:none}.sidebar nav{display:flex;gap:6px;overflow-x:auto;margin:15px 0}.sidebar .nav{white-space:nowrap;width:auto}.preview{padding:7px}.preview small{display:none}.preview button{width:auto;display:inline-block;font-size:11px}.topbar{height:56px;padding:0 16px}.demo{font-size:8px;padding:7px}.content{padding:22px 15px 38px}.hero h1{font-size:28px}.metrics{gap:10px}.metric{min-height:115px;padding:15px}.metric strong{font-size:28px}.site-card{min-height:160px}.sites-grid,.camera-grid{grid-template-columns:1fr}.panel{overflow-x:auto}.event-row{padding:14px}.event-row .pill{display:none}.customer-box,.site-controls,.action-bar{flex-direction:column;align-items:flex-start}.video-empty small{font-size:10px}footer{padding:15px;flex-direction:column}}


/* KC V0.2 – approved hierarchy: event log first, site modules below.
   These rules intentionally override legacy dashboard columns and KPI layout. */
.kc-dashboard{display:flex;flex-direction:column;gap:35px}
.kc-activity{width:100%;border-color:#414141;box-shadow:0 16px 50px #12121213}
.kc-activity .panel-head{padding:19px 23px;background:#202020}
.kc-activity .panel-head h2{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.kc-alert-count{display:inline-flex;align-items:center;background:#2e2e2e;color:#c5c5c5;border:1px solid #494949;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:750;letter-spacing:0}
.kc-event-body{padding:16px 19px 6px}
.event-feature{width:100%;display:flex;align-items:center;gap:18px;text-align:left;padding:23px 24px;border-radius:11px;background:linear-gradient(105deg,#252525,#242424 55%,#222222);border:1px solid #4e4e4e;color:#f5f5f5;min-height:140px;transition:background .15s,border-color .15s}
.event-feature:hover{background:linear-gradient(105deg,#2f2f2f,#323232 60%,#2c2c2c);border-color:#8b8b8b}
.event-feature-icon{display:grid;place-items:center;width:53px;height:53px;border-radius:12px;flex-shrink:0;background:#3d3d3d;color:#b6b6b6;font-size:27px}
.event-feature-content{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0}
.event-feature-eyebrow{color:#adadad;font-size:10px;font-weight:850;letter-spacing:.09em}
.event-feature-content strong{font-size:18px;letter-spacing:-.02em}
.event-feature-content small{font-size:12px;color:#b5b5b5}
.event-feature-cta{display:inline-flex;align-items:center;gap:15px;padding:13px 16px;background:#f3f3f3;color:#242424;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}
.event-feature-cta span{font-size:18px}
.kc-event-rows{margin:14px 0 4px;border:1px solid #3e3e3e;border-radius:9px;overflow:hidden}
.kc-event-rows .event-row{background:#1e1e1e;padding:17px 20px;min-height:72px}
.kc-event-rows .event-row:not(:last-child){border-bottom:1px solid #3e3e3e}
.kc-event-rows .event-row:hover{background:#303030}
.kc-event-rows .event-row:last-child{border-bottom:0}
.kc-activity .panel-foot{border-top:0;padding:11px 23px 18px}
.kc-event-empty{padding:35px;color:#b5b5b5;display:flex;flex-direction:column;gap:9px}
.kc-event-empty strong{color:#ededed;font-size:15px}
.kc-sites .section-title{margin:0 0 20px;align-items:center}
.kc-sites .section-title h2{display:flex;align-items:center;gap:12px;font-size:21px}
.kc-sites .section-title p{color:#9f9f9f;margin-top:8px;font-size:12px}
.kc-section-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:.15em;color:#bbbbbb;margin-bottom:9px}
.kc-site-count{background:#343434;color:#d5d5d5;font-size:12px;padding:4px 10px;border-radius:20px}
.kc-sites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kc-sites .site-card{min-height:204px;padding:21px 22px;gap:17px;background:linear-gradient(140deg,#272727,#1e1e1e);border:1px solid #454545;transition:border-color .15s,background .15s,transform .15s}
.kc-sites .site-card:hover{background:linear-gradient(140deg,#363636,#2a2a2a);border-color:#9f9f9f;transform:translateY(-2px)}
.site-card-top{display:flex;align-items:center;justify-content:space-between}
.kc-sites .site-symbol{height:43px;width:43px;border-radius:11px}
.site-link{font-size:22px;color:#a0a0a0}
.site-card-content{flex:1}
.site-card-content h3{font-size:17px;line-height:1.4}
.site-card-content p{font-size:12px;margin-top:7px;color:#a6a6a6}
.site-card-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px;border-top:1px solid #434343;padding-top:15px}
.site-cameras{color:#b0b0b0;font-size:11px;font-weight:650}
@media(max-width:1200px){.kc-sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kc-dashboard{gap:25px}.kc-sites-grid{grid-template-columns:1fr}.kc-event-body{padding:11px}.event-feature{padding:17px;gap:12px;flex-wrap:wrap}.event-feature-icon{width:40px;height:40px;font-size:21px}.event-feature-content strong{font-size:15px}.event-feature-cta{width:100%;justify-content:space-between}.kc-activity .panel-head{padding:16px}.kc-activity .panel-head h2{font-size:16px}.kc-sites .section-title{flex-wrap:wrap}.kc-sites .site-card{min-height:176px}.kc-event-rows .event-row{padding:14px}}


/* v0.3: Compact topbar replaces the former space-consuming sidebar. */
.shell{display:block;min-height:100vh}
.main{width:100%;min-height:100vh}
.topbar{
  height:62px;min-height:62px;position:sticky;top:0;z-index:8;
  display:flex;align-items:center;gap:31px;
  padding:0 32px;border-bottom:1px solid #373737;
  background:#151515;box-shadow:0 5px 22px #12121221;
}
.top-brand{
  flex-shrink:0;display:inline-flex;align-items:center;gap:10px;
  background:transparent;border:0;padding:0;color:#f5f5f5;
  font-size:15px;font-weight:850;letter-spacing:.075em;white-space:nowrap;
}
.top-brand strong{font-size:12px;letter-spacing:.12em;color:#c7c7c7;font-weight:850}
.top-brand-mark{
  height:30px;width:30px;display:grid;place-items:center;
  background:#3a3a3a;border:1px solid #6a6a6a;border-radius:8px;
  font-size:23px;color:#d1d1d1;line-height:1;
}
.top-brand:hover strong{color:#eaeaea}
.top-nav{display:flex;align-items:stretch;gap:7px;height:100%;min-width:0}
.top-nav-link{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;white-space:nowrap;border:0;border-bottom:2px solid transparent;
  background:transparent;color:#b5b5b5;font-size:13px;font-weight:690;
  padding:2px 14px 0;border-radius:0;
}
.top-nav-link:hover{background:#282828;color:#efefef}
.top-nav-link.chosen{border-bottom-color:#c1c1c1;color:#d8d8d8;background:#222222}
.top-event-count{
  min-width:20px;text-align:center;background:#2e2e2e;border-radius:10px;
  padding:3px 6px;color:#b3b3b3;font-size:10px;font-weight:800;
}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:15px;white-space:nowrap}
.topbar .demo{color:#b9b9b9;background:transparent;border:0;padding:0;font-size:10px;letter-spacing:.09em}
.role-select{
  width:100px;padding:8px 23px 8px 10px;background:#232323;
  color:#e0e0e0;border:1px solid #4b4b4b;border-radius:7px;
  font-size:12px;font-weight:730;cursor:pointer;
}
.role-select:hover{border-color:#868686}
.content{max-width:none;margin:0 auto;padding:33px 32px 54px}
@media(max-width:1000px){
  .topbar{padding:0 22px;gap:19px}
  .top-nav-link{padding:2px 10px 0;font-size:12px}
  .top-actions{gap:10px}
}
@media(max-width:700px){
  .topbar{
    height:auto;min-height:0;display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand actions" "navigation navigation";
    column-gap:10px;row-gap:6px;padding:10px 15px 0;
  }
  .top-brand{grid-area:brand;font-size:13px}
  .top-brand strong{font-size:10px}
  .top-actions{grid-area:actions;margin-left:0;gap:8px}
  .top-nav{
    grid-area:navigation;overflow-x:auto;overflow-y:hidden;
    height:40px;gap:2px;scrollbar-width:thin;
  }
  .top-nav-link{padding:0 12px;font-size:12px}
  .role-select{width:88px;padding:6px;font-size:11px}
  .content{padding:21px 15px 36px}
}

/* Functional status only: no duplicate eyebrow headings or explanatory captions. */
.live-dot{font-size:11px;color:#a1a1a1;vertical-align:middle;margin-right:6px}
.incident-meta{color:#b4b4b4;font-size:12px;font-weight:600;margin:-13px 0 24px;line-height:1.5}
.kc-activity .panel-head h2{font-size:19px}
.kc-sites .section-title{align-items:center}
.kc-sites .section-title h2{font-size:20px}
.site-card-content{min-height:49px}
.site-card-foot{justify-content:flex-start}
@media(max-width:700px){.incident-meta{margin:-10px 0 18px}}

/* One camera label per tile: the name belongs in the tile footer. */
.cam-card .video-top{justify-content:flex-end}


/* Elwerk Management – compact Central administration and site-local Edge workspace. */
.mg-stack{display:flex;flex-direction:column;gap:20px}
.mg-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mg-panel{min-width:0}
.mg-panel .panel-head{padding:17px 20px;min-height:60px}
.mg-panel .panel-head h2{font-size:17px}
.mg-table-scroll{max-width:100%;overflow-x:auto}
.mg-table{min-width:570px}
.mg-table th,.mg-table td{padding:13px 18px}
.mg-table .pill{padding:4px 7px}
.mg-sub{display:block;margin-top:7px}
.mg-rows{display:flex;flex-direction:column}
.mg-row{
  width:100%;padding:17px 20px;background:transparent;color:#e3e3e3;
  border:0;border-bottom:1px solid #3b3b3b;
  text-align:left;display:flex;align-items:center;justify-content:space-between;
  gap:15px;font-size:13px
}
button.mg-row:hover{background:#2d2d2d}
.mg-row:last-child{border-bottom:0}
.mg-row>span{font-size:12px;color:#b6b6b6}
.mg-site-shell{display:flex;flex-direction:column;gap:17px}
.mg-site-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mg-remote-state{display:flex;align-items:center;gap:10px}
.mg-remote-state>span{font-size:11px;color:#a2a2a2;letter-spacing:.04em;font-weight:680}
.mg-site-identity{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}
.mg-site-identity h1{font-size:26px;letter-spacing:-.025em}
.mg-site-identity>span{color:#aaaaaa;font-size:12px}
.mg-tabs{
  display:flex;align-items:stretch;gap:6px;overflow-x:auto;
  border-bottom:1px solid #3f3f3f;
  scrollbar-width:thin
}
.mg-tab{
  background:transparent;border:0;border-bottom:2px solid transparent;
  padding:13px 15px;color:#b3b3b3;font-size:12px;font-weight:700;
  white-space:nowrap
}
.mg-tab:hover{background:#272727;color:#efefef}
.mg-tab.current{border-bottom-color:#bebebe;color:#dadada}
.mg-edge-content{max-width:1100px}
.mg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px}
.mg-field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:750;color:#b9b9b9}
.mg-field input,.mg-field select{
  height:41px;border:1px solid #4c4c4c;border-radius:7px;
  padding:0 11px;background:#191919;color:#f2f2f2;font-size:13px;
  width:100%;min-width:0
}
.mg-field input:focus-visible,.mg-field select:focus-visible{outline:2px solid #c5c5c5}
.mg-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 19px}
.mg-quick{display:flex;align-items:center;gap:15px;padding:20px;border-bottom:1px solid #3d3d3d;flex-wrap:wrap}
.mg-quick>span:first-child{min-width:100px;color:#bbbbbb;font-size:12px;font-weight:680}
.mg-property{padding:17px 20px;border-bottom:1px solid #3d3d3d;display:flex;justify-content:space-between;align-items:center;gap:12px}
.mg-property:last-child{border-bottom:0}
.mg-property>span{font-size:12px;color:#a4a4a4}
.mg-property>strong{font-size:12px;color:#f0f0f0}
.mg-dialog h2{font-size:21px}
.mg-dialog .mg-form-grid{grid-template-columns:1fr;padding:18px 0 5px}
.mg-form-error{min-height:15px;color:#b3b3b3;font-size:12px}
.mg-empty{padding:24px;color:#acacac;font-size:12px}
@media(max-width:900px){.mg-two{grid-template-columns:1fr}}
@media(max-width:700px){
  .mg-form-grid{grid-template-columns:1fr;padding:15px}
  .mg-property{padding:13px 15px}
  .mg-site-top{align-items:flex-start;flex-wrap:wrap}
  .mg-site-identity h1{font-size:22px}
  .mg-panel .panel-head{padding:12px 15px}
}

/* Central-only login wrapper and pairing widgets; approved UI theme unchanged. */
.central-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#121212}
.central-login-shell[hidden],#app[hidden],.central-login-field[hidden]{display:none!important}
.central-login-panel{width:min(100%,430px);padding:24px}
.central-login-panel h3{margin:0 0 22px;font-size:14px;color:#bbbbbb}
.central-login-field{display:grid;gap:9px;margin:14px 0;font-size:13px;color:#c7c7c7}
.central-login-field input,.central-pair-form input{background:#191919;border:1px solid #4c4c4c;color:#eeeeee;border-radius:7px;padding:11px;width:100%}
.central-login-panel .btn{margin:10px 0}
#central-login-message,#central-pair-feedback{font-size:12px;margin:10px 0;color:#bebebe}
.central-pair-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:16px 0}
.central-pair-form label{display:grid;gap:9px;flex:1;min-width:220px;font-size:13px}
.central-pair-key{display:grid;gap:8px;margin:15px 0;min-width:0}
.central-pair-key input{width:100%;min-width:0;max-width:100%;padding:10px;background:#191919;border:1px solid #4c4c4c;color:#eeeeee;font:inherit;font-size:12px}
.central-site-row{padding:11px 4px;border-bottom:1px solid #404040;font-size:13px;color:#dedede}

.central-live-feedback{max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
font-size:11px;color:#d1d1d1;align-self:center}
@media(max-width:800px){.central-live-feedback{max-width:170px}}

/* Central on-demand WHEP player, scoped to chosen site/camera. */
.central-media-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,8,16,.90);display:grid;place-items:center;padding:24px}
.central-media-panel{width:min(1080px,100%);border:1px solid #4b4b4b;background:#1c1c1c;border-radius:11px;padding:14px;box-shadow:0 20px 100px rgba(0,0,0,.5)}
.central-media-panel header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.central-media-panel header strong{font-size:15px;max-width:85%;overflow:hidden;text-overflow:ellipsis}
.central-media-panel video{width:100%;background:#121212;display:block;max-height:72vh;aspect-ratio:16/9}
.central-media-panel p{margin:12px 2px 0;color:#bababa;font-size:12px}
.central-camera-grants{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.central-camera-grants label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #444444;border-radius:7px;cursor:pointer}
.central-camera-grants input{accent-color:#cbcbcb}

.central-edge-frame{width:100%;min-height:76vh;border:1px solid #3f3f3f;border-radius:8px;background:#131313}
.central-archive-range{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:12px 0}
.central-archive-range label{display:grid;gap:6px;font-size:12px}
.central-archive-range input{padding:10px;border:1px solid #4b4b4b;border-radius:6px;color:#f0f0f0;background:#202020}
#archive-player{display:block;width:100%;max-height:53vh;margin-top:13px;background:#121212}
#archive-player[hidden]{display:none}

/* KC operational incident controls */
.kc-site-wrap{min-width:0}
.kc-site-wrap .site-card{width:100%}
.kc-site-health{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;
  padding:10px 12px;font-size:12px;color:#c4c4c4}
.kc-site-health small{font-size:11px}
.kc-offline-warning{margin:9px 14px;padding:10px 12px;border-left:3px solid #bcbcbc;
  background:rgba(245,180,81,.09);font-size:12px;color:#cecece}
.kc-commands{display:grid;padding:0 12px 12px}
.kc-search-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.kc-search-tools label{display:grid;gap:7px;flex:1;min-width:155px;font-size:12px}
.kc-search-tools input,.kc-search-tools select{width:100%;padding:10px 11px;border-radius:6px;
  border:1px solid #474747;color:#e7e7e7;background:#1f1f1f}
.kc-case-meta{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;
  padding:8px 0 16px;color:#c4c4c4;font-size:13px}
.kc-case-actions{display:grid;gap:12px;min-width:240px;max-width:450px}
.kc-note-field{display:grid;gap:8px;font-size:13px}
.kc-note-field textarea{min-height:94px;width:100%;padding:10px 12px;border-radius:6px;
  background:#1f1f1f;color:#f0f0f0;border:1px solid #4c4c4c;resize:vertical}
.kc-case-history{max-height:370px;overflow-y:auto}
.kc-case-history .central-site-row{padding:12px 18px}
.kc-case-history p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:750px){.kc-case-actions{min-width:0;max-width:none;width:100%}}


/* KC on-demand streams live inside the approved camera cards. */
.kc-inline-live{background:#121212}
.kc-inline-live:before,.kc-inline-live:after{display:none}
.kc-inline-live>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#121212}
.kc-inline-live .video-top{z-index:2;pointer-events:none}
.kc-media-state{position:absolute;left:12px;bottom:12px;right:12px;z-index:2;
  padding:7px 9px;border-radius:5px;background:#171717e8;color:#dedede;font-size:11px;
  pointer-events:none;max-width:calc(100% - 24px);white-space:normal}
.kc-inline-archive video[hidden]{display:none}
.kc-inline-archive .btn{position:absolute;bottom:45px;left:12px;z-index:3}
.kc-inline-archive .btn[hidden]{display:none}

/* KC: acknowledge individual, selected or all alarms within a site. */
.kc-ack-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kc-select-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px}
.kc-select-row label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}
.kc-select-row input[type="checkbox"]{accent-color:#bdbdbd;width:17px;height:17px;flex-shrink:0}
.kc-select-row .kc-case-actions{display:flex;gap:8px;min-width:0;max-width:none}
@media(max-width:760px){
  .kc-select-row{align-items:flex-start;flex-direction:column}
  .kc-select-row .kc-case-actions{width:100%}
}

/* The status pill must disappear completely when live/recording is ready.
   An empty status was drawing a dark horizontal stripe over the video. */
.kc-media-state:empty{display:none}
.kc-archive-layout{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.kc-archive-layout>.video{width:100%}
.kc-archive-layout .kc-object-crop{
 display:block;object-fit:contain;max-width:220px;max-height:180px;
 width:auto;height:auto;border-radius:6px;border:1px solid #474747;
 background:#191919;
}
.kc-archive-layout .kc-object-crop[hidden]{display:none}


/* Clean operator camera presentation: no decorative scan lines across video. */
.video:before,.video:after{display:none}

/* KC: keep alarm action controls and status readable on narrow screens. */
.kc-site-health,.kc-case-meta,.kc-select-row{min-width:0}
.kc-select-row label{overflow-wrap:anywhere}
.kc-ack-actions .btn{white-space:normal;text-align:center}
@media(max-width:760px){
 .kc-site-health{flex-wrap:wrap}
 .kc-site-health small{overflow-wrap:anywhere}
 .kc-select-row .kc-case-actions{flex-wrap:wrap}
 .kc-ack-actions{width:100%}
 .kc-ack-actions .btn{flex:1 1 150px}
}

/* Elwerk / DAAN System: charcoal and neutral grey palette. */
:root{background:#1b1b1d;color:#ececec;color-scheme:dark}
.main{background:#202022}
.topbar{background:#19191b;border-bottom-color:#424244}
.top-brand{padding:0;display:inline-flex;align-items:center;min-width:165px;flex-shrink:0}
.top-brand-logo{display:block;width:165px;height:62px;object-fit:contain}
.central-login-shell{background:#202022}
.central-login-panel{background:#2a2a2d;border-color:#48484c}
.central-login-panel .panel-head{justify-content:center;padding:5px 6px 18px}
.central-login-logo{width:min(100%,270px);height:118px;object-fit:contain;display:block}
.panel,.site-card,.cam-card,.dialog,.customer-box,.site-controls{background-color:#2b2b2e}
.top-nav-link.chosen{color:#f5f5f5;border-color:#999}
.btn.primary{background:#d0d0d2;border-color:#d0d0d2;color:#19191b}
.btn.secondary{background:#434346;border-color:#6d6d72;color:#f1f1f1}
.btn.text{color:#d6d6d9}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#bbb}
.pill.green{background:#293d34;border-color:#4a8569;color:#abdec1}
.pill.red{background:#492b31;border-color:#98505b;color:#ffc0c5}
.pill.amber{background:#493f2c;border-color:#84724a;color:#ffe0a8}
.live-dot{color:#d9d9db}
.video{background:#111113}
@media(max-width:700px){
 .top-brand{min-width:115px}
 .top-brand-logo{width:118px;height:48px}
 .central-login-logo{height:105px}
}

/* Management: preserve layout while preventing overflow on compact screens. */
.mg-site-shell,.mg-edge-content,.mg-panel,.mg-stack,.mg-form-grid{min-width:0}
.mg-site-top,.mg-site-identity,.mg-form-actions{flex-wrap:wrap}
.mg-tabs{overflow-x:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:#6d6d72 #242426}
.mg-tab{flex-shrink:0}
.mg-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.mg-table td,.mg-table th{vertical-align:middle}
.mg-table td:last-child{white-space:normal}
.mg-table td:last-child .btn{margin:3px;white-space:normal}
.mg-panel .mg-empty{overflow-wrap:anywhere}
.mg-field input,.mg-field select{max-width:100%;min-width:0}
@media(max-width:760px){
 .mg-site-top,.mg-site-identity{gap:10px}
 .mg-form-grid{grid-template-columns:minmax(0,1fr)}
 .mg-panel .panel-head{flex-wrap:wrap}
 .mg-panel .panel-head .btn{white-space:normal}
}

/* KC alarm crop preview: same alarm row layout, no video loaded. */
.kc-alarm-thumb{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:8px;overflow:hidden;background:#29292b}
.kc-alarm-thumb .alert-icon{width:100%;height:100%}
.kc-alarm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kc-alarm-thumb img[hidden]{display:none}
.kc-alarm-thumb.has-crop .alert-icon{display:none}
@media(max-width:700px){.kc-alarm-thumb{width:44px;height:44px;flex-basis:44px}}

/* KC dashboard: approved split layout, preserving the current theme. */
.kc-dashboard.kc-dashboard-split{
 display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);
 gap:20px;align-items:start;
}
.kc-dashboard-split .kc-dashboard-sites,
.kc-dashboard-split .kc-dashboard-alarms{min-width:0}
.kc-dashboard-split .kc-sites-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.kc-dashboard-split .kc-sites .section-title{margin-bottom:14px}
.kc-dashboard-split .kc-sites .site-card{
 min-height:142px;padding:13px 14px;gap:9px;
}
.kc-dashboard-split .site-card-content h3{font-size:14px}
.kc-dashboard-split .site-card-content p{font-size:11px;margin-top:3px}
.kc-dashboard-split .kc-sites .site-symbol{width:31px;height:31px}
.kc-dashboard-split .site-card-foot{padding-top:9px}
.kc-dashboard-split .kc-site-health{font-size:11px}
.kc-dashboard-split .kc-event-body{padding:7px 12px 12px}
.kc-dashboard-split .event-row{gap:12px;padding:12px 9px;min-width:0}
.kc-dashboard-split .kc-alarm-thumb{width:84px;height:65px;flex-basis:84px}
.kc-dashboard-split .kc-activity .panel-head{flex-wrap:wrap;gap:10px}
@media(max-width:1120px){
 .kc-dashboard.kc-dashboard-split{grid-template-columns:1fr}
 .kc-dashboard-split .kc-sites-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .kc-dashboard-split .kc-sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kc-dashboard-split .kc-alarm-thumb{width:56px;height:54px;flex-basis:56px}
}
@media(max-width:480px){
 .kc-dashboard-split .kc-sites-grid{grid-template-columns:1fr}
}

/* Management updates retain the existing panel and table theme. */
.mg-update-error{padding:12px 20px;color:#ffc0c5;font-size:12px;line-height:1.5}

/* Management update branch selector: reuse existing input and panel palette. */
.mg-update-branch-label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;font-size:12px;color:#c4c4c4}
.mg-update-branch-label select{max-width:100%;min-width:min(340px,100%);background:#242424;color:#ececec;border:1px solid #555;border-radius:7px;padding:9px 11px}

/* GitHub connection settings follow the existing Management look. */
.mg-update-key-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:14px 20px}
.mg-update-key-form label{display:flex;flex:1 1 300px;flex-direction:column;gap:7px;font-size:12px;color:#c4c4c4}
.mg-update-key-form input{width:100%;background:#242424;color:#ececec;border:1px solid #555;border-radius:7px;padding:10px 12px}
#mg-github-key-feedback{padding:0 20px 12px;color:#c4c4c4;font-size:12px}


/* Management overview widgets: reuse existing dark theme and panels. */
.mg-dash-heading h1{font-size:25px;font-weight:700;letter-spacing:-.025em}
.mg-dash-heading p{font-size:12px;color:#a9adb2;margin-top:6px}
.mg-dash-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mg-dash-kpi{display:flex;flex-direction:column;gap:9px;padding:19px 20px;border:1px solid #393c40;border-radius:10px;background:#24272a;min-width:0}
.mg-dash-kpi>span{font-size:12px;color:#b8bec3}
.mg-dash-kpi>strong{font-size:30px;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums;color:#e8eff2}
.mg-dash-kpi>small{font-size:11px;color:#939ba1;line-height:1.5}
.mg-dash-kpi.warning>strong{color:#eebd76}
.mg-dash-columns>.mg-panel{overflow:hidden}
.mg-dash-status-list{display:flex;flex-direction:column}
.mg-dash-site{display:flex;align-items:center;gap:11px;padding:13px 18px;width:100%;border:0;border-bottom:1px solid #373b3e;background:transparent;color:inherit;text-align:left;font:inherit}
.mg-dash-site:hover{background:#303438}
.mg-dash-site:last-child{border-bottom:0}
.mg-dash-status{width:8px;height:8px;border-radius:100%;background:#8c9298;flex:0 0 auto}
.mg-dash-status.ok{background:#54af82}
.mg-dash-status.down{background:#d68b75}
.mg-dash-site-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-dash-site-meta{margin-left:auto;color:#aeb4ba;font-size:11px;white-space:nowrap}
.mg-dash-alarm{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #373b3e}
.mg-dash-alarm:last-child{border-bottom:0}
.mg-dash-alarm>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.mg-dash-alarm strong{font-size:13px;font-weight:600}
.mg-dash-alarm small{color:#a6adb3;font-size:11px}
@media(max-width:1100px){.mg-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mg-dash-kpis{grid-template-columns:1fr}.mg-dash-site{flex-wrap:wrap}.mg-dash-site-meta{margin-left:19px}.mg-dash-heading h1{font-size:22px}}

/* Edge device settings: containment and consistent site-key controls. */
.mg-edge-content{width:100%;max-width:1100px;min-width:0}
.mg-edge-content>.mg-panel{min-width:0}
.mg-site-shell .mg-tabs{display:flex;min-width:0;max-width:100%;overflow-x:auto}
.mg-site-shell .mg-site-top>a{max-width:100%;overflow-wrap:anywhere}
.mg-site-shell .mg-property{min-width:0;overflow-wrap:anywhere}
.mg-site-key-inner{padding:16px 20px 20px;display:grid;justify-items:start;gap:13px;min-width:0}
.mg-site-key-inner>p{margin:0;max-width:75ch;line-height:1.5;color:#c4c4c4}
.mg-site-key-feedback{min-height:0;overflow-wrap:anywhere}
.mg-site-key-result{display:grid;gap:12px;width:100%;min-width:0;max-width:720px}
.mg-site-key-result[hidden]{display:none}
.mg-site-key-result .mg-field{display:grid;gap:7px;min-width:0;width:100%}
.mg-site-key-result input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #555;border-radius:7px;padding:11px;background:#242424;color:#f0f0f0;font-family:ui-monospace,Consolas,monospace;font-size:12px}
.mg-site-key-actions{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:760px){.mg-site-key-inner{padding:14px 15px}.mg-site-key-inner>.btn{max-width:100%;white-space:normal}.mg-site-key-actions>.btn{flex:1 1 140px}}

/* Central update controls: same Management panels, no new navigation. */
.mg-update-install-form{display:grid;gap:13px;padding:16px 20px;max-width:760px}
.mg-update-install-form label{display:grid;gap:7px;font-size:12px;color:#c4c4c4;min-width:0}
.mg-update-install-form input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #555;border-radius:7px;background:#242424;color:#ececec;padding:10px}
.mg-update-install-form>.btn{justify-self:start}
.mg-update-warning{font-size:12px;line-height:1.5;color:#d6c3a2;overflow-wrap:anywhere}
#mg-update-install-feedback,#mg-update-job-status{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#mg-update-job-status{padding:16px 20px}
@media(max-width:700px){.mg-update-install-form{padding:14px 15px}.mg-update-install-form>.btn{max-width:100%;white-space:normal}}

/* Discreet footer shared by Management, KC and customer portal. */
.app-footer{padding:12px 20px 18px;text-align:center;color:#777;font-size:11px;border-top:1px solid #292929;background:#161616}

/* Management SIA – aligned with existing Management panels and tables. */
.mg-stack{display:flex;flex-direction:column;gap:18px}
.mg-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 18px;margin:12px 0}
.mg-form-grid label,.mg-stack form>label{display:flex;flex-direction:column;gap:7px;min-width:0}
.mg-stack form>label:has(input[type=checkbox]){flex-direction:row;align-items:center}
.mg-form-grid input,.mg-form-grid select{width:100%;min-width:0;box-sizing:border-box}
.mg-form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}
.mg-form-actions label{display:flex;flex-direction:column;gap:6px}
.mg-table-scroll{overflow-x:auto}
.mg-table details{max-width:360px;white-space:normal;overflow-wrap:anywhere}
.mg-table details code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}

/* SIA Management: intentionally scoped to this page; match DAAN dark management. */
.sia-shell{display:grid;gap:16px;min-width:0}
.sia-panel{overflow:hidden}
.sia-panel>.sia-panel-body{padding:20px 22px 24px}
.sia-shell>.sia-panel:first-child>.panel-head{display:none}
.sia-shell>.sia-panel:first-child>.sia-panel-body{padding:18px 22px 0}
.sia-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sia-heading h2{font-size:21px;line-height:1.25;margin:0 0 5px;font-weight:700;letter-spacing:-.02em}
.sia-heading p{font-size:12px;color:#aeb6bc;margin:0}
.sia-site-select{display:grid;gap:6px;min-width:220px;font-size:12px;color:#bec5ca;font-weight:600}
.sia-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;border-top:1px solid #3a3d40;padding:14px 0}
.sia-tab{border:1px solid transparent;background:transparent;color:#bec5ca;padding:10px 14px;border-radius:7px;font-weight:600;font-size:12px;cursor:pointer;transition:background .15s,color .15s}
.sia-tab:hover{background:#35393d;color:#fff}
.sia-tab.is-current{background:#3a4245;border-color:#60736a;color:#edf4ef}
.sia-shell input:not([type=checkbox]),.sia-shell select,.sia-shell textarea{font:inherit;font-size:13px;background:#222629;border:1px solid #4a5054;border-radius:7px;color:#f1f3f4;padding:10px 12px;outline:none;min-height:40px;max-width:100%;box-sizing:border-box}
.sia-shell input:focus,.sia-shell select:focus,.sia-shell textarea:focus{border-color:#76a38a;box-shadow:0 0 0 2px #76a38a22}
.sia-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;max-width:1040px;margin:15px 0 27px}
.sia-field-grid label{display:grid;gap:8px;color:#bfc5c9;font-size:12px;font-weight:600;min-width:0}
.sia-field-grid input{width:100%}
.sia-form{display:grid;gap:0}
.sia-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.075em;color:#aeb6ba;font-weight:700;padding-bottom:10px;border-bottom:1px solid #3a3e40}
.sia-switch-line{display:flex;align-items:center;gap:14px;padding:15px 16px;margin-top:15px;border:1px solid #3c4243;border-radius:9px;background:#25292b;max-width:600px;cursor:pointer}
.sia-switch-line input{appearance:none;width:40px;height:23px;flex:0 0 40px;border-radius:20px;background:#555c60;position:relative;cursor:pointer;border:1px solid #71777b}
.sia-switch-line input:before{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;background:#fff;border-radius:50%;transition:transform .15s}
.sia-switch-line input:checked{background:#397657;border-color:#52956d}
.sia-switch-line input:checked:before{transform:translateX(17px)}
.sia-switch-line span{display:grid;gap:4px}
.sia-switch-line strong{color:#edf0ef;font-size:13px}
.sia-switch-line small{color:#adb5b6;font-size:11px}
.sia-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #3b3e40;padding-top:19px;margin-top:23px;max-width:1040px}
.sia-form-footer span{color:#9fa8ac;font-size:12px}
.sia-shell .mg-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px}
.sia-shell .mg-stack form{max-width:1040px}
.sia-shell .mg-stack form label{color:#bfc5c9;font-size:12px;gap:8px}
.sia-shell .mg-stack form label:has(input[type=checkbox]){flex-direction:row;align-items:center;margin:12px 0}
.sia-shell .mg-form-actions{justify-content:flex-start}
.sia-shell .mg-table{width:100%}
.sia-shell .mg-empty{line-height:1.6;margin-bottom:14px}
@media(max-width:900px){.sia-field-grid,.sia-shell .mg-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sia-panel>.sia-panel-body{padding:15px}.sia-shell>.sia-panel:first-child>.sia-panel-body{padding:15px 15px 0}.sia-field-grid,.sia-shell .mg-form-grid{grid-template-columns:1fr}.sia-site-select{width:100%}.sia-tabs{gap:3px}.sia-tab{flex:1 1 auto;padding:10px 8px}.sia-form-footer{align-items:stretch}.sia-form-footer .btn{width:100%}}

/* Specialtekst til KC – same field styling as other SIA Management controls. */
.sia-shell .sia-special-text{display:grid;gap:7px;max-width:760px;margin:12px 0;color:#bfc5c9;font-size:12px;font-weight:600}
.sia-shell .sia-special-text input{width:100%}
.sia-shell .sia-special-text small{font-size:11px;color:#9fa8ac;font-weight:400}
.sia-shell .sia-custom-code[hidden]{display:none}

/* Ajax Management — scoped to the existing dark DAAN theme. */
.ajax-shell{display:grid;gap:16px;min-width:0}
.ajax-panel{min-width:0;overflow:hidden}
.ajax-inner{padding:18px 22px 23px;display:grid;gap:13px}
.ajax-top{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.ajax-top h2{font-size:21px;letter-spacing:-.02em;color:#eff1f2;margin:0 0 5px}
.ajax-top p,.ajax-note{font-size:12px;color:#aeb6bc;line-height:1.6;margin:0}
.ajax-status{padding:9px 12px;border:1px solid #535d5b;background:#303937;border-radius:8px;color:#d7e6df;font-size:12px}
.ajax-form{display:grid;gap:16px}
.ajax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;max-width:1040px}
.ajax-grid label{display:grid;gap:7px;font-size:12px;color:#c3cbd0;font-weight:600;min-width:0}
.ajax-grid input,.ajax-grid select{width:100%;min-width:0;min-height:41px;box-sizing:border-box;border:1px solid #4b5358;border-radius:8px;padding:10px 12px;background:#222629;color:#f1f4f4;font-size:13px;font:inherit}
.ajax-grid input:focus,.ajax-grid select:focus{outline:none;border-color:#76a38a;box-shadow:0 0 0 2px #76a38a22}
.ajax-check{display:flex;align-items:center;gap:10px;color:#e0e5e6;font-size:12px;font-weight:600}
.ajax-check input{width:18px;height:18px;accent-color:#6eac85}
.ajax-actions{border-top:1px solid #3b4144;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ajax-actions span{font-size:12px;color:#aab3b8}
.ajax-shell .mg-table{width:100%}
.ajax-shell .mg-table th,.ajax-shell .mg-table td{overflow-wrap:anywhere}
@media(max-width:700px){.ajax-inner{padding:15px}.ajax-grid{grid-template-columns:1fr}.ajax-actions{justify-content:flex-start}.ajax-actions .btn{max-width:100%}}

.ajax-error{margin:0;padding:12px 14px;border:1px solid #74554d;border-radius:8px;background:#3c302c;color:#f0c2b6;font-size:12px}
.ajax-state-note{padding:12px 14px;background:#252b2d;border:1px solid #3c4746;border-radius:8px;color:#d1dbd7;font-size:12px}

/* KC Anråb – front-end microphone only (Axis audio transmission not connected). */
.kc-talk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid #414147;border-radius:10px;background:#242428}
.kc-talk-label{display:flex;align-items:center;gap:9px;font-size:13px;color:#ddd}
.kc-talk-label select{max-width:250px;min-width:130px;background:#151519;color:#f3f3f3;border:1px solid #62626a;border-radius:7px;padding:9px}
.kc-talk-button{background:#c62632;color:#fff;border:1px solid #df4a52;border-radius:8px;padding:12px 23px;font-weight:750;font-size:15px;cursor:pointer}
.kc-talk-button:hover{background:#e03540}
.kc-talk-button.is-active{background:#85151d;border-color:#fd747d}
.kc-talk-button:focus-visible,.kc-talk-label select:focus-visible{outline:2px solid #fff;outline-offset:3px}
.kc-talk-status{color:#bfbfc5;font-size:12px}
