:root{color-scheme:dark;--bg:#081222;--panel:rgba(25,43,64,.66);--line:rgba(170,207,234,.13);--muted:#8eabc0;--text:#edf5fa;--mint:#84edce}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 92% 5%,#18454b66,transparent 45%),radial-gradient(ellipse at 2% 45%,#16305666,transparent 40%);z-index:-1}main{max-width:1180px;padding:35px 48px calc(90px + env(safe-area-inset-bottom));margin:auto}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:72px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);font-weight:750;font-size:22px;letter-spacing:-.8px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:600;margin-top:2px}.logo{display:grid;place-items:center;position:relative;width:45px;height:45px;border:1px solid #84edce55;background:linear-gradient(135deg,#84edce25,#84edce05);border-radius:14px;font-size:26px;color:var(--mint)}.logo span{position:absolute;font-size:14px;right:5px;top:1px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--mint)}h1{font-size:clamp(36px,5vw,58px);letter-spacing:-2.4px;line-height:1.1;margin:15px 0 18px;font-weight:650}h1 em{font-style:normal;color:var(--mint)}h2{font-size:25px;letter-spacing:-.8px;line-height:1.25}.lead{color:var(--muted);font-size:16px;line-height:1.75;margin:0}.mint{color:var(--mint)}.muted{color:var(--muted)}.fine{font-size:12px}.glass{background:linear-gradient(130deg,rgba(44,67,86,.55),rgba(15,31,49,.65));border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffff09,0 16px 40px #00000012;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:22px}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s,transform .15s}button:hover{filter:brightness(1.15)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.quiet{background:none;border:0;color:var(--muted);padding:8px 0;font-size:12px}.primary{border:1px solid #b5ffe344;background:var(--mint);color:#0b2927;min-height:48px;border-radius:12px;padding:12px 19px;font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:20px}.activation .primary{width:100%;margin-top:25px}#welcome{position:relative;padding:20px 0 80px;min-height:530px}#welcome h1{font-size:clamp(54px,7vw,84px);line-height:1.04}.activation{position:absolute;right:0;top:8px;width:390px;padding:32px}.activation h2{margin:20px 0 8px}.activation>p{color:var(--muted);font-size:13px}label{display:block;font-size:12px;font-weight:600;color:#bfd0df}input,textarea,select{background:#09172788;border:1px solid var(--line);border-radius:11px;padding:13px 15px;color:var(--text);max-width:100%}label>input,label>textarea{display:block;width:100%;margin-top:9px}input::placeholder,textarea::placeholder{color:#6e8a9f}#activation{margin-top:26px}.demo{border-top:1px solid var(--line);padding-top:16px;font-size:11px!important}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.intro h1{font-size:44px}.connection{font-size:11px;color:var(--mint);border:1px solid #84edce33;border-radius:30px;padding:7px 12px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:36px}.stats .glass{padding:23px 27px}.stats span{font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:650}.stats strong{display:block;font-weight:550;font-size:42px;letter-spacing:-2px;margin:6px 0 0}.stats small{font-size:11px;color:var(--muted)}.toolbar{display:flex;gap:12px}.toolbar select{font-size:12px;min-width:145px}.search{display:flex;align-items:center;flex:1;position:relative}.search span{position:absolute;left:16px;font-size:24px;color:var(--muted)}.search input{width:100%;padding-left:45px;margin:0;font-size:13px}.boardHeading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 22px;border-bottom:1px solid var(--line)}.boardHeading>span{font-size:11px}.tabs{display:flex;gap:22px}.tabs button{border:0;border-bottom:2px solid transparent;color:var(--muted);background:none;padding:0 0 15px;font-size:12px}.tabs button.selected{border-color:var(--mint);color:var(--text)}.jacks{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.jack{text-align:left;color:var(--text);padding:23px;position:relative;min-height:171px}.jack:hover{border-color:#84edce55;background:#243b50}.jackTop{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:var(--muted)}.jackTop .arrow{font-size:19px}.jack strong{display:block;font-size:38px;font-weight:600;letter-spacing:-1.5px;margin:4px 0 14px}.jackBottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{font-size:10px;letter-spacing:.3px;border-radius:7px;padding:4px 9px;background:#8bbbe818;color:#acd4ef;white-space:nowrap}.badge[data-speed="Fast"]{background:#84edce16;color:var(--mint)}.badge[data-speed="Very Fast"]{background:#e6d49b16;color:#e6d49b}.updated{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}footer{margin-top:35px;display:flex;justify-content:space-between;align-items:center;color:#5f7b92;font-size:9px;letter-spacing:1.7px}.fab{position:fixed;bottom:calc(28px + env(safe-area-inset-bottom));right:max(28px,calc((100vw - 1084px)/2));background:var(--mint);border:1px solid #c2ffe8;color:#12342c;padding:15px 22px;border-radius:18px;font-size:24px;box-shadow:0 8px 35px #84edce20;display:flex;align-items:center;gap:9px}.fab span{font-size:13px;font-weight:750}.empty{text-align:center;padding:40px}.empty>span{font-size:40px;color:var(--mint)}.empty p{color:var(--muted)}dialog{background:linear-gradient(140deg,#1a3045,#0d1b2d);color:var(--text);border:1px solid #65869d55;border-radius:23px;padding:28px;width:min(460px,calc(100% - 28px));max-height:90dvh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020a16b8;backdrop-filter:blur(9px)}.dialogTop{display:flex;justify-content:space-between;align-items:center}.dialogTop button{font-size:18px;padding:0 5px}dialog h2{margin:16px 0 24px}dialog form>label{margin:18px 0}dialog label small{display:block;color:var(--muted);font-weight:400}fieldset{border:0;margin:21px 0;padding:0}legend{font-size:12px;color:#bfd0df;margin-bottom:10px}.choices{display:flex;gap:8px}.choices label{flex:1;position:relative}.choices input{position:absolute;opacity:0}.choices span{display:block;border:1px solid var(--line);border-radius:10px;text-align:center;padding:12px 5px;cursor:pointer}.choices input:checked+span{border-color:#84edce99;background:#84edce18;color:var(--mint)}.choices input:focus-visible+span{outline:2px solid var(--mint)}dialog .primary{width:100%;margin-top:20px}details{border-block:1px solid var(--line);margin:25px 0;padding:16px 0}summary{cursor:pointer;font-size:13px;list-style:none;display:flex;justify-content:space-between}#detailNotes{white-space:pre-wrap;color:#bfd0df;font-size:13px;overflow-wrap:anywhere}#audit{line-height:1.8}.actions{display:flex;gap:12px;align-items:center}.danger{color:#ffacac;background:none;border:1px solid #ffacac44;border-radius:12px;padding:12px;margin-top:20px;min-height:48px}#message{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243c50;color:#fff;border:1px solid #7f9eb4;border-radius:12px;padding:14px 22px;max-width:90vw;z-index:10;font-size:13px;box-shadow:0 10px 50px #0009}#installDialog p{font-size:14px;line-height:1.8}[hidden]{display:none!important}@media(max-width:850px){main{padding:25px 26px 100px}header{margin-bottom:45px}.activation{width:350px}#welcome h1{font-size:65px}.jacks{grid-template-columns:repeat(2,1fr)}.intro{display:block}.connection{display:inline-block;margin-top:16px}.stats{gap:12px}.stats .glass{padding:20px}.intro h1{font-size:40px}}@media(max-width:680px){header{margin-bottom:40px}.brand{font-size:20px}.brand small{font-size:8px}.logo{width:40px;height:40px}#welcome{padding-top:0}#welcome h1{font-size:60px}.activation{position:static;width:100%;margin-top:35px;padding:25px}.stats .glass{padding:16px}.stats span{font-size:8px;letter-spacing:1px}.stats strong{font-size:34px}.stats small{font-size:9px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.toolbar select{flex:1;min-width:0}.jacks{gap:12px}.jack{padding:18px 16px;min-height:160px}.jackBottom{align-items:flex-start;flex-direction:column;gap:8px}.updated{font-size:9px}.jackTop{font-size:9px;letter-spacing:.8px}.tabs{gap:18px}.tabs button{font-size:11px}.boardHeading>span{font-size:10px}.fab{right:22px;padding:12px 18px}footer{letter-spacing:1px;font-size:8px}.intro h1{font-size:36px;letter-spacing:-1.7px}.lead{font-size:14px}main{padding-inline:20px}.stats{margin-bottom:25px}}

.departmentIcon{width:1.2em;height:1.4em;vertical-align:-.25em;display:inline-block;object-fit:contain}
/* Minimal two-step sign-in. */
.sign-in main{min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:32px;padding-top:40px;padding-bottom:calc(60px + env(safe-area-inset-bottom))}
.sign-in header{justify-content:center;margin:0}
.sign-in header .brand small,.sign-in #install{display:none}
.sign-in #welcome{padding:0;min-height:0}
.sign-in .activation{position:static;width:min(100%,320px);margin:0 auto;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.sign-in #activation{margin:0}
.sign-in #activation>label{font-size:13px}
.sign-in #activation input{min-height:52px;background:#10213599}
.sign-in .activation .primary{margin-top:16px}
.sign-in #back{display:block;margin:12px auto 0}

.sign-in .brand .logo{display:none}

body:not(.sign-in) header{margin-bottom:20px}body:not(.sign-in) .intro{display:flex;justify-content:flex-end;margin-bottom:20px}.intro .connection{margin-top:0}footer{justify-content:flex-start}

/* Optical glass treatment: transparent body, curved specular edges and deep backdrop color. */
:root{--bg:#07111f;--text:#f4f8ff;--muted:#b4c8db;--line:#dbedff2b;--mint:#a5f6e2}
body{isolation:isolate;background:#07111f}
.ambient{background:radial-gradient(ellipse at 14% 22%,#174b6c90,transparent 48%),radial-gradient(ellipse at 86% 48%,#165b6970,transparent 46%),linear-gradient(145deg,#08101d,#102939 53%,#071222);overflow:hidden}
.ambient::before,.ambient::after{content:"";position:absolute;width:110vw;height:63vw;min-height:480px;border-radius:50%;pointer-events:none;transform:rotate(-32deg);filter:blur(2px)}
.ambient::before{top:-38vw;left:-28vw;border:clamp(35px,8vw,130px) solid #80d4ed20;box-shadow:0 0 65px #82d8f52b,inset 0 0 75px #87d6ee24;background:linear-gradient(135deg,transparent 40%,#75bff018 80%)}
.ambient::after{right:-70vw;top:15vh;border:clamp(40px,10vw,170px) solid #75e3d41c;box-shadow:0 0 90px #7be1e927,inset 0 0 90px #84d9e31c;transform:rotate(-38deg)}
.glass,.connection,input,textarea,select,.choices span,.primary,.fab,dialog,#message{
  border:1px solid #e2f5ff38;
  background:linear-gradient(125deg,#ffffff1f 0%,#ffffff07 38%,#b6dfff0c 72%,#ffffff15 100%);
  -webkit-backdrop-filter:blur(18px) saturate(165%);
  backdrop-filter:blur(18px) saturate(165%);
  box-shadow:inset 0 1px 1px #ffffff66,inset 1px 0 1px #ffffff20,inset 0 -1px 1px #c7eaff23,0 12px 34px #01091732,0 2px 5px #00000012;
}
.glass{position:relative;border-radius:26px;overflow:hidden}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 0% 0%,#fff3,transparent 38%),radial-gradient(ellipse at 100% 100%,#c4efff16,transparent 40%);opacity:.65}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid transparent;border-top-color:#f0fcff70;border-left-color:#d1f7ff2b;box-shadow:inset 0 0 9px #d7efff0a}
.stats .glass{padding:23px 27px;background:linear-gradient(130deg,#ffffff20,#ffffff06 60%,#bcecff12)}
.stats span{color:#d6e8f6b8;letter-spacing:1.5px}.stats strong{color:#fff;text-shadow:0 2px 20px #ceefff25;font-weight:500}
.jack{background:linear-gradient(128deg,#ffffff1c,#ffffff06 58%,#d4efff10);transition:box-shadow .25s,transform .25s,border-color .25s}
.jack:hover{background:linear-gradient(128deg,#ffffff28,#ffffff0a 58%,#d4efff18);border-color:#e7fbff80;box-shadow:inset 0 1px 1px #ffffff9c,inset 0 -1px 1px #c7eaff40,0 17px 38px #01091745;transform:translateY(-2px)}
.jackTop{color:#d0e4f0bd}.jack strong{font-weight:550;text-shadow:0 2px 16px #b4edff1c}.jack .muted{color:#c6e1f2a1}.updated{color:#d0e0edb0}
.badge{border:1px solid #d6edff25;background:#a6dbff16;color:#d5ecff;box-shadow:inset 0 1px 0 #fff2;border-radius:8px}
.badge[data-speed="Fast"]{background:#a5f6e21a;color:#bfffe8}.badge[data-speed="Very Fast"]{background:#f5db9a1a;color:#ffecb8}
.connection{color:#d3fff1;padding:7px 15px;background:#bcffec0d}
.toolbar input,.toolbar select{border-radius:17px;min-height:48px}
input,textarea,select{color:#f3f9ff;background:linear-gradient(125deg,#ffffff12,#081d2b33);box-shadow:inset 0 1px 1px #ffffff35,inset 0 -1px 0 #b4d9ed15,0 6px 20px #0000000e}
input::placeholder,textarea::placeholder{color:#b8cfdfa6}.search span{color:#d2e4eead;z-index:1}
select option{background:#142738;color:#f3f9ff}
.primary,.fab{color:#e5fff7;border-color:#d0fff37a;background:linear-gradient(125deg,#ccfff149,#80eac52b 48%,#c1fff13b);box-shadow:inset 0 1px 1px #efffffd9,inset 1px 0 1px #e0fff55c,inset 0 -2px 2px #93f8dd30,0 9px 30px #00000036,0 0 25px #8fffd30a;text-shadow:0 1px 4px #00392e66;border-radius:18px}
.fab{border-radius:25px;min-height:60px}.primary:hover,.fab:hover{background:linear-gradient(125deg,#ccfff162,#80eac53d 48%,#c1fff14b)}
button:hover{filter:none}.quiet{color:#c3d7e7b8}.brand{color:#f5faff;text-shadow:0 1px 15px #bceaff16}
.boardHeading{border-bottom-color:#c5eaff20}.tabs button{color:#c4d8e7b3}.tabs button.selected{color:#eafff8;border-color:#c4ffee;filter:drop-shadow(0 0 7px #97f8d72b)}
dialog{background:linear-gradient(130deg,#779bac40,#142b3b99 45%,#536f8357);border-radius:29px;box-shadow:inset 0 1px 1px #ffffff94,inset 1px 0 1px #e1f5ff38,0 30px 90px #0009;-webkit-backdrop-filter:blur(40px) saturate(150%);backdrop-filter:blur(40px) saturate(150%)}
dialog::backdrop{background:#020b165e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.choices span{border-radius:15px;background:#c1e4ff06;box-shadow:inset 0 1px 0 #fff2}
.choices input:checked+span{background:linear-gradient(120deg,#d0fff12b,#80eac515);border-color:#c4ffeb80;color:#dcfff4;box-shadow:inset 0 1px 1px #ffffff66,0 3px 12px #0001}
#message{background:#244256b3;border-radius:18px}
.sign-in #activation input{background:linear-gradient(125deg,#ffffff1b,#c2e5ff08);border-radius:18px;-webkit-backdrop-filter:blur(22px) saturate(165%);backdrop-filter:blur(22px) saturate(165%);box-shadow:inset 0 1px 1px #ffffff59,inset 0 -1px 1px #c7eaff20,0 12px 30px #01091726}
.sign-in #activation>label{color:#d7e7f4}.sign-in .brand{font-weight:650;font-size:25px;letter-spacing:-1px}
@media(max-width:680px){.ambient::before{width:160vw;height:130vw;top:-75vw;left:-65vw;border-width:50px}.ambient::after{width:180vw;height:150vw;right:-140vw;top:20vh;border-width:65px}.glass{border-radius:23px}.stats .glass{padding:17px 15px}.stats span{font-size:8px;letter-spacing:.9px}.stats strong{font-size:33px}.jack{padding:20px 17px}.fab{border-radius:23px}.toolbar input,.toolbar select{border-radius:16px}}
@media(prefers-reduced-transparency:reduce){.glass,input,textarea,select,.choices span,dialog,#message{background:#193043}.primary,.fab{background:#315e59}.ambient::before,.ambient::after{display:none}}
@media(prefers-reduced-motion:reduce){button{transition:none}.jack:hover{transform:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass,input,textarea,select,.choices span,dialog,#message{background-color:#173043}.primary,.fab{background-color:#315e59}}

/* Fixed app shell: only content below the area filters scrolls. */
html{height:100%;overflow:hidden;overscroll-behavior:none}
body{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
body:not(.sign-in) main{height:100vh;height:100dvh;width:100%;max-width:1180px;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 16px) max(24px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 12px) max(24px,env(safe-area-inset-left,0px));overflow:hidden}
body:not(.sign-in) header{flex:none;min-height:40px;margin:0 0 18px;gap:20px;position:relative;z-index:2}
header .connection{margin:0} .sign-in header .connection{display:none}
#dashboard{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;overflow:hidden}
.stats{flex:none;margin-bottom:20px;gap:14px}.stats .glass{padding:16px 23px}.stats strong{font-size:36px;margin:4px 0 0}
.toolbar{flex:none}.boardHeading{flex:none;margin:20px 0 0;padding:0;min-height:42px}
.listScroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b6d9eb44 transparent;padding:18px 2px 100px;outline-offset:-3px}
.jacks{align-items:start}.jack{min-height:166px}
.fab{position:absolute;right:10px;bottom:14px;z-index:3;min-height:52px;padding:10px 19px;border-radius:23px}
.bottomNav{display:flex;flex:none;align-self:center;gap:7px;width:min(100%,360px);height:66px;margin-top:8px;padding:6px;border-radius:30px;position:relative;z-index:4;border:1px solid #eaffff6e;background:linear-gradient(125deg,#f0ffff31,#bddfff0d 45%,#e5ffff28);-webkit-backdrop-filter:blur(28px) saturate(185%);backdrop-filter:blur(28px) saturate(185%);box-shadow:inset 0 1px 2px #ffffffcc,inset 1px 0 1px #ffffff4f,inset 0 -2px 2px #b6e8ff3b,0 12px 35px #0005}
.bottomNav button{border:1px solid transparent;border-radius:24px;flex:1;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:600;color:#d5e8f4b3;background:transparent;min-width:0}
.bottomNav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.bottomNav button[aria-current]{background:linear-gradient(130deg,#f3ffff33,#c1ffed12);border-color:#e9ffff4a;color:#e3fff6;box-shadow:inset 0 1px 1px #ffffff94,0 3px 10px #0002}
#settings{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}#settings h1{font-size:29px;letter-spacing:-1px;flex:none;margin:0 0 17px}.settingsScroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:2px 2px 18px;scrollbar-width:thin}
.settingsGroup{padding:21px 23px;margin-bottom:16px}.settingsGroup h2{font-size:16px;margin:0 0 15px;letter-spacing:-.25px}.settingsGroup p{margin:4px 0}.settingsGroup .quiet{margin-top:10px}.settingRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #daefff16;font-size:13px;font-weight:500}.settingRow:last-child{border:0}.settingRow select{font-size:12px;max-width:58%;padding:9px 12px}.settingRow input[type=checkbox]{appearance:none;-webkit-appearance:none;width:46px;height:28px;min-width:46px;position:relative;margin:0;padding:0;border-radius:20px;background:#09172755;border:1px solid #e3f5ff3f;cursor:pointer}.settingRow input[type=checkbox]::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:linear-gradient(#f5ffff,#bbd4df);box-shadow:0 1px 4px #0004;transition:transform .2s}.settingRow input[type=checkbox]:checked{background:#a5f6e25e;border-color:#c7ffe798}.settingRow input[type=checkbox]:checked::after{transform:translateX(18px)}
.settingAction{display:flex;justify-content:space-between;width:100%;padding:14px 0;background:none;color:#dcecf8;border:0;border-bottom:1px solid #daefff16;font-size:13px;text-align:left}.settingAction:last-child{border:0}#logout{color:#ffbebe}
.dialogTop:has(>.close:only-child){justify-content:flex-end}#message{bottom:calc(env(safe-area-inset-bottom,0px) + 94px)}
.hideEditors .updated{display:none}.compact .jack{min-height:119px;padding:15px 19px}.compact .jack strong{font-size:30px;margin:3px 0 7px}.compact .jackBottom{flex-direction:row;align-items:center}.compact .updated{max-width:95px}
.reducedGlass .glass,.reducedGlass input,.reducedGlass textarea,.reducedGlass select,.reducedGlass dialog{background:#193043}.reducedGlass .bottomNav,.reducedGlass .fab,.reducedGlass .primary{background:#31515a}.reducedGlass .ambient::before,.reducedGlass .ambient::after{display:none}
.sign-in main{height:100vh;height:100dvh;min-height:0;overflow-y:auto;padding-top:calc(env(safe-area-inset-top,0px) + 28px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 28px)}
@media(max-width:680px){body:not(.sign-in) main{padding:calc(env(safe-area-inset-top,0px) + 12px) max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 8px) max(16px,env(safe-area-inset-left,0px))}body:not(.sign-in) header{min-height:35px;margin-bottom:14px}.stats{gap:10px;margin-bottom:16px}.stats .glass{padding:12px 13px;border-radius:21px}.stats strong{font-size:30px;margin-top:3px}.stats span{font-size:8px;letter-spacing:.7px}.toolbar{gap:9px}.toolbar input,.toolbar select{min-height:43px;padding-top:10px;padding-bottom:10px}.boardHeading{margin-top:16px;min-height:40px}.tabs button{padding-bottom:12px}.listScroll{padding-top:15px}.jack{min-height:157px;padding:17px 15px}.bottomNav{height:62px;width:min(100%,340px)}.settingsGroup{padding:18px}.settingRow{font-size:12px}.fab{right:5px;bottom:10px}.compact .jackBottom{flex-direction:column;align-items:flex-start;gap:5px}}
@media(max-height:650px){body:not(.sign-in) header{margin-bottom:9px}.stats{margin-bottom:10px}.stats .glass{padding:8px 13px}.stats strong{font-size:25px}.boardHeading{margin-top:10px}.bottomNav{height:54px}.toolbar input,.toolbar select{min-height:38px;padding-top:8px;padding-bottom:8px}}

/* Fit the visible viewport, including standalone iPhone safe areas. */
html{background:#0b1c2b}body{position:fixed;inset:0;max-width:100%;height:var(--app-height,100dvh)}
body:not(.sign-in) main,.sign-in main{height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);min-height:0}
body:not(.sign-in) main{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}
dialog{max-height:calc(var(--app-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);overflow-y:auto}
input,textarea,select{font-size:16px} .toolbar input,.toolbar select{font-size:16px}.toolbar select{font-size:13px}
.brand{font-weight:650!important;letter-spacing:-.9px!important;font-size:24px!important}.brand>span{background:linear-gradient(120deg,#fff 5%,#d5f5ff 45%,#9ce1e5 80%,#e4fffa);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 6px #c0f3ff22)}
.tabs{gap:18px}.tabs .badFilter{color:#ffb9bd;display:flex;gap:5px;align-items:center}.badFilter span{font-size:9px;border-radius:8px;padding:1px 5px;background:#ff9da51c;min-width:16px}.tabs .badFilter.selected{border-color:#ffbdc4;color:#ffdce1}
.badCard{border-color:#ffb7bc6b;background:linear-gradient(125deg,#f8bac020,#ff758c09 55%,#bddbff0e)}.badCard::after{border-top-color:#ffd1d78a}.badWarning{margin-top:18px;padding:15px;border-radius:15px;border:1px solid #ffabb94f;background:#ff7d9414;color:#ffd4dc}.badWarning strong{font-size:13px}.badWarning p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.badAction{width:100%;border:1px solid #ffd2d36b;background:linear-gradient(125deg,#ffacb03b,#fb6e8724);color:#ffdce1;border-radius:16px;min-height:47px;padding:11px 15px;margin-top:20px;font-weight:650;box-shadow:inset 0 1px 1px #ffe0e66b,0 5px 16px #18020c20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
#conditionForm label{margin-top:18px}#conditionForm textarea{margin-top:10px} .listScroll:focus:not(:focus-visible){outline:none}
@media(max-width:680px){body:not(.sign-in) main{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.tabs{gap:14px}.tabs button{font-size:11px}.boardHeading{gap:8px}.boardHeading>span{font-size:9px}.bottomNav{height:60px;min-height:60px;width:min(100%,340px)}.stats strong{font-size:29px}.brand{font-size:23px!important}.listScroll{padding-bottom:90px}}
@media(max-width:360px){.tabs{gap:10px}.tabs button{font-size:10px}.stats span{font-size:7px}.stats .glass{padding-inline:10px}.boardHeading>span{font-size:8px}.badFilter span{padding-inline:3px}}
@media(max-height:700px){.stats .glass{padding-block:8px}.stats strong{font-size:25px}.stats{margin-bottom:10px}.toolbar input,.toolbar select{min-height:38px;padding-block:8px}.boardHeading{margin-top:10px}.bottomNav{height:54px;min-height:54px}body:not(.sign-in) header{margin-bottom:9px}}

/* Keep focused iOS form controls from triggering browser auto-zoom. */
.toolbar select,.settingRow select{font-size:16px}

/* Browser-sized shell. Only keyboard occlusion comes from VisualViewport. */
html{width:100%;height:100%;background:#102939}body{position:fixed;inset:0 0 var(--keyboard-inset,0px);width:100%;height:auto;max-height:none;min-height:0;background:#102939}
body:not(.sign-in) main{height:100%;max-height:none;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 10px) max(16px,env(safe-area-inset-left,0px))}
body:not(.sign-in) header{margin:0;min-height:36px}.sign-in main{height:100%;max-height:none;min-height:0}
#dashboard{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-height:0;min-width:0;overflow:hidden}
.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:12px}.stats .glass{padding:12px 18px;min-width:0}.stats strong{font-size:clamp(27px,4vw,36px);line-height:1.2;margin-top:6px}.stats span{font-size:10px;letter-spacing:1px}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,165px) minmax(155px,185px);gap:10px;min-width:0}.toolbar .search{min-width:0}.toolbar input,.toolbar select{width:100%;min-width:0;max-width:100%;min-height:43px;font-size:16px}.toolbar select{padding:10px 11px}
.boardHeading{margin:0;min-width:0;min-height:40px;gap:10px;align-items:center}.tabs{min-width:0;gap:clamp(8px,2.2vw,20px);align-self:stretch;align-items:stretch}.tabs button{white-space:nowrap;padding:10px 0;font-size:12px}.tabs .badFilter{gap:4px}
.boardHeading .fab{position:static;inset:auto;flex:none;min-height:38px;height:38px;min-width:40px;width:auto;padding:4px 12px;gap:6px;border-radius:17px;margin:0;box-shadow:inset 0 1px 1px #efffffc4,inset 1px 0 1px #e0fff54f,0 4px 12px #0002}.fab span{font-size:12px}
.listScroll{min-width:0;min-height:0;padding:2px 2px 18px;scroll-padding-block:10px 20px;scrollbar-gutter:stable}
.jacks{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(140px,21vw,230px)),1fr));gap:12px;align-items:stretch}
.jack{min-width:0;min-height:0;padding:17px;display:flex;flex-direction:column;gap:9px}.jack strong{font-size:clamp(28px,6.5vw,38px);line-height:1.1;margin:0;overflow-wrap:anywhere}.jack.longNumber strong{font-size:clamp(20px,4.5vw,27px)}.jackTop{gap:5px}.jackTop>span:first-child{font-size:9px;letter-spacing:.8px}.jackTop .arrow{font-size:19px}.jackBottom{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}.cardMeta{display:flex;flex-direction:column;gap:3px;margin-top:auto;min-width:0}.uploadDate{color:#d6eaf5c7;font-size:11px;line-height:1.4}.updated{max-width:100%;font-size:10px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.hideEditors .updated{display:none}
.bottomNav{margin:0;justify-self:center;align-self:center;height:58px;min-height:58px;width:min(100%,360px)}
.compact .jack{min-height:0;padding:12px;gap:6px}.compact .jack strong{font-size:27px;margin:0}.compact .jackBottom{flex-direction:row}.compact .updated{max-width:100%}
dialog{max-height:calc(100% - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}
@media(max-width:680px){body:not(.sign-in) main{gap:10px;padding-inline:max(14px,env(safe-area-inset-left,0px))}#dashboard{gap:11px}.stats{gap:10px}.stats .glass{padding:11px 16px}.stats strong{font-size:29px;margin-top:5px}.stats span{font-size:9px}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.search{grid-column:1/-1}.tabs button{font-size:11px}.boardHeading .fab{width:40px;padding:0;justify-content:center;font-size:25px}.boardHeading .fab span{display:none}.jacks{gap:10px}.jack{padding:15px;gap:9px}.jack strong{font-size:clamp(27px,7.5vw,34px)}.cardMeta{gap:3px}.uploadDate{font-size:10px}.updated{font-size:9px}.bottomNav{height:56px;min-height:56px;width:min(100%,340px)}}
@media(max-width:360px){body:not(.sign-in) main{padding-inline:10px;gap:8px}.tabs{gap:8px}.tabs button{font-size:10px}.stats .glass{padding:10px 13px}.stats span{font-size:8px}.toolbar select{padding-inline:8px}.jack{padding:12px}.jackTop>span:first-child{font-size:8px}.uploadDate{font-size:9px}}
@media(max-height:650px){body:not(.sign-in) main{gap:7px;padding-top:calc(env(safe-area-inset-top,0px) + 6px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6px)}body:not(.sign-in) header{min-height:31px}.stats .glass{padding:7px 13px}.stats strong{font-size:25px;margin-top:2px}.stats span{font-size:8px}#dashboard{gap:8px}.toolbar input,.toolbar select{min-height:38px;padding-block:7px}.boardHeading{min-height:36px}.boardHeading .fab{height:34px;min-height:34px}.tabs button{padding-block:7px}.bottomNav{height:50px;min-height:50px}.jack{padding:12px;gap:6px}.jack strong{font-size:28px}}
@media(max-height:440px) and (min-width:600px){.stats .glass{display:flex;align-items:center;justify-content:space-between;padding-block:6px}.stats strong{font-size:23px;margin:0}.toolbar{grid-template-columns:minmax(0,1fr) minmax(120px,155px) minmax(145px,175px)}.search{grid-column:auto}.brand{font-size:20px!important}.bottomNav{height:44px;min-height:44px}.bottomNav svg{width:17px;height:17px}.tabs button{padding-block:5px}}

/* Anchor navigation above the home indicator, with no extra floating gutter. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
.standaloneViewport body{bottom:auto;height:calc(100% + var(--standalone-gap,0px) - var(--keyboard-inset,0px))}
body:not(.sign-in) main{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 4px)}
.brand{font-size:clamp(28px,7.3vw,34px)!important;line-height:1.15;letter-spacing:-1.2px!important}
body:not(.sign-in) header{min-height:40px}
.bottomNav{width:min(100%,360px)}
@media(max-height:440px){.brand{font-size:26px!important}body:not(.sign-in) header{min-height:32px}}

/* Regression fix: no screen-height expansion; nav stays inside the drawable page. */
body,.standaloneViewport body{inset:0 0 auto;height:var(--visible-height,100%);min-height:0;max-height:100%}
body:not(.sign-in) main{height:100%;max-height:100%;padding-bottom:calc(var(--nav-safe-bottom,env(safe-area-inset-bottom,0px)) + 4px)}

#displayReadout{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;color:#d6eaf5;user-select:text;padding:10px 0}#displayInfo{margin-bottom:10px}

/* Always-visible notes and a dedicated glass add bar above navigation. */
#dashboard{grid-template-rows:auto auto auto minmax(0,1fr) auto}
.addBar{display:flex;justify-content:center;min-width:0;padding:0 2px 1px}
.addBar .fab{position:static;inset:auto;width:100%;height:48px;min-height:48px;border-radius:20px;justify-content:center;padding:9px 20px;gap:9px;margin:0;font-size:24px}
.addBar .fab span{display:inline;font-size:14px;font-weight:650}
.specialNotes{border-block:1px solid var(--line);padding:17px 0;margin:22px 0}
.specialNotes h3{font-size:13px;font-weight:650;margin:0 0 9px}.specialNotes #detailNotes{margin:0;line-height:1.7}
@media(max-height:650px){.addBar .fab{height:42px;min-height:42px;border-radius:18px}.addBar .fab span{font-size:13px}}

/* One compact filter entry point; all controls live in a glass sheet. */
.toolbar{grid-template-columns:minmax(0,1fr) 46px;align-items:stretch}.toolbar .search{grid-column:auto}
.filterButton{position:relative;display:grid;place-items:center;width:46px;min-height:43px;padding:0;border-radius:17px;border:1px solid #e2f5ff48;color:#e0f3fc;background:linear-gradient(125deg,#ffffff21,#b6dfff0d);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);box-shadow:inset 0 1px 1px #ffffff80,0 5px 16px #0002}
.filterButton svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.filterButton.active{color:#d3ffef;border-color:#baffde99;background:#b0ffe621}
#filterBadge{position:absolute;right:-3px;top:-5px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 3px;border-radius:50%;font-size:10px;font-weight:750;background:#bbffe7;color:#123a32;border:1px solid #eafff6}
#filterDialog .dialogTop h2{margin:0;font-size:25px}#filterDialog fieldset{margin:22px 0}#filterDialog legend{font-size:12px;font-weight:650;color:#d1e7f5}.filterChoice{display:flex;justify-content:space-between;align-items:center;min-height:46px;gap:15px;border-bottom:1px solid #d6edff1c;font-size:14px;font-weight:500}.filterChoice input{width:20px;height:20px;margin:0;accent-color:#a5f6e2;cursor:pointer}.filterChoice:last-child{border-bottom:0}.filterSort{font-size:12px}.filterSort select{width:100%;margin-top:9px;font-size:16px}.filterFooter{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px}.filterFooter .primary{width:auto;min-width:145px;margin:0;justify-content:center}.filterFooter .quiet{font-size:13px}.reducedGlass .filterButton{background:#193043}
@media(max-height:650px){#filterDialog fieldset{margin:14px 0}.filterChoice{min-height:39px}.filterFooter{margin-top:16px}}

/* Personal glass tint. Preferences never leave browser storage. */
:root{--theme-h:199;--theme-s:69%;--theme-rgb:33,133,179;--mint:hsl(var(--theme-h) var(--theme-s) 86%);--muted:hsl(var(--theme-h) 24% 76%);--line:hsl(var(--theme-h) 55% 83% / .18)}
html,body{background:hsl(var(--theme-h) var(--theme-s) 10%)}
.ambient{background:radial-gradient(ellipse at 14% 22%,hsl(var(--theme-h) var(--theme-s) 25% / .7),transparent 48%),radial-gradient(ellipse at 86% 48%,hsl(var(--theme-h) var(--theme-s) 30% / .5),transparent 46%),linear-gradient(145deg,hsl(var(--theme-h) var(--theme-s) 7%),hsl(var(--theme-h) var(--theme-s) 15%) 53%,hsl(var(--theme-h) var(--theme-s) 8%))}
.ambient::before{border-color:hsl(var(--theme-h) var(--theme-s) 75% / .12);box-shadow:0 0 65px hsl(var(--theme-h) var(--theme-s) 70% / .17),inset 0 0 75px hsl(var(--theme-h) var(--theme-s) 80% / .14)}
.ambient::after{border-color:hsl(var(--theme-h) var(--theme-s) 75% / .11);box-shadow:0 0 90px hsl(var(--theme-h) var(--theme-s) 70% / .15),inset 0 0 90px hsl(var(--theme-h) var(--theme-s) 80% / .11)}
.glass,.stats .glass,.jack,.jack:hover{background:linear-gradient(125deg,hsl(var(--theme-h) var(--theme-s) 80% / .2),hsl(var(--theme-h) var(--theme-s) 50% / .07) 45%,hsl(var(--theme-h) var(--theme-s) 68% / .13));border-color:hsl(var(--theme-h) 60% 88% / .36)}
.glass::before{background:radial-gradient(ellipse at 0% 0%,#fff3,transparent 38%),radial-gradient(ellipse at 100% 100%,hsl(var(--theme-h) var(--theme-s) 85% / .12),transparent 40%)}
input,textarea,select,.sign-in #activation input{background:linear-gradient(125deg,hsl(var(--theme-h) var(--theme-s) 80% / .12),hsl(var(--theme-h) var(--theme-s) 12% / .25));border-color:hsl(var(--theme-h) 50% 88% / .25)}
select option{background:hsl(var(--theme-h) var(--theme-s) 14%)}
.primary,.fab,.filterButton,.bottomNav{background:linear-gradient(125deg,hsl(var(--theme-h) var(--theme-s) 88% / .28),hsl(var(--theme-h) var(--theme-s) 60% / .13) 48%,hsl(var(--theme-h) var(--theme-s) 85% / .24));border-color:hsl(var(--theme-h) 65% 88% / .65);color:#f1fbff}
.primary:hover,.fab:hover{background:linear-gradient(125deg,hsl(var(--theme-h) var(--theme-s) 88% / .38),hsl(var(--theme-h) var(--theme-s) 60% / .22))}
.bottomNav button[aria-current],.choices input:checked+span,.filterButton.active{background:linear-gradient(125deg,hsl(var(--theme-h) var(--theme-s) 90% / .25),hsl(var(--theme-h) var(--theme-s) 75% / .12));border-color:hsl(var(--theme-h) 70% 90% / .5);color:hsl(var(--theme-h) 80% 95%)}
.connection{background:hsl(var(--theme-h) var(--theme-s) 65% / .09);color:hsl(var(--theme-h) 75% 90%)}
.brand>span{background:linear-gradient(120deg,#fff 5%,hsl(var(--theme-h) 50% 90%) 45%,hsl(var(--theme-h) var(--theme-s) 75%) 80%,#f4ffff);-webkit-background-clip:text;background-clip:text}
.tabs button.selected{border-color:hsl(var(--theme-h) 80% 87%);color:#f2fbff}.filterChoice input{accent-color:hsl(var(--theme-h) var(--theme-s) 79%)}#filterBadge{background:hsl(var(--theme-h) 80% 85%)}
dialog{background:linear-gradient(130deg,hsl(var(--theme-h) var(--theme-s) 57% / .28),hsl(var(--theme-h) var(--theme-s) 15% / .64) 45%,hsl(var(--theme-h) var(--theme-s) 54% / .34));border-color:hsl(var(--theme-h) 60% 86% / .5)}
#message{background:hsl(var(--theme-h) var(--theme-s) 22% / .85)}
.settingRow input[type=checkbox]:checked{background:hsl(var(--theme-h) var(--theme-s) 75% / .4);border-color:hsl(var(--theme-h) 65% 87% / .6)}
.stats .inactiveDepartment{opacity:.4;filter:grayscale(1);transition:opacity .2s}.filterChoice:has(input:not(:checked)){opacity:.46;filter:grayscale(1)}
.connectedSettings{padding:0}.connectedSettings .settingsBlock{padding:21px 23px;border-bottom:1px solid var(--line)}.connectedSettings .settingsBlock:last-child{border:0}.settingsBlock h2{margin-bottom:12px}.themeLabel{font-size:13px;font-weight:550;margin:19px 0 14px;color:#dae8f2}.themePalette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:13px}
.themeSwatch{border:1px solid #e5f7ff55;border-radius:50%;aspect-ratio:1;width:100%;max-width:44px;justify-self:center;box-shadow:inset 0 1px 2px #ffffff94,0 4px 12px #0003;color:#fff;display:grid;place-items:center;padding:0}.themeSwatch span{opacity:0;font-size:18px;text-shadow:0 1px 4px #0009}.themeSwatch[aria-pressed=true]{outline:2px solid #f2fcff;outline-offset:3px}.themeSwatch[aria-pressed=true] span{opacity:1}
.themeSwatch[data-theme="#2185b3"]{background:#2185b3}.themeSwatch[data-theme="#9766df"]{background:#9766df}.themeSwatch[data-theme="#dc719d"]{background:#dc719d}.themeSwatch[data-theme="#36a784"]{background:#36a784}.themeSwatch[data-theme="#cf963d"]{background:#cf963d}.themeSwatch[data-theme="#777777"]{background:#777777}
.customColor input[type=color]{display:block;width:48px;height:32px;padding:3px;margin:0;border-radius:10px;cursor:pointer;min-width:48px}.customColor input::-webkit-color-swatch-wrapper{padding:0}.customColor input::-webkit-color-swatch{border:0;border-radius:6px}
.badCard{border-color:#ffb7bc6b;background:linear-gradient(125deg,#f8bac020,#ff758c09 55%,hsl(var(--theme-h) var(--theme-s) 80% / .1))}
.reducedGlass .glass,.reducedGlass input,.reducedGlass textarea,.reducedGlass select,.reducedGlass dialog,.reducedGlass .filterButton{background:hsl(var(--theme-h) var(--theme-s) 16%)}.reducedGlass .bottomNav,.reducedGlass .fab,.reducedGlass .primary{background:hsl(var(--theme-h) var(--theme-s) 25%)}
@media(prefers-reduced-transparency:reduce){.glass,.stats .glass,.jack,input,textarea,select,dialog,#message{background:hsl(var(--theme-h) var(--theme-s) 16%)}}
@media(max-width:680px){.connectedSettings .settingsBlock{padding:18px}.themePalette{gap:9px}.themeSwatch{max-width:40px}}

.memberRow{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:56px;padding:14px 2px;border-bottom:1px solid var(--line);font-size:15px}.memberRow:last-child{border-bottom:0}.memberRow>span:first-child{overflow-wrap:anywhere}.onlineDot{flex:none;width:10px;height:10px;border-radius:50%;background:#64ed99;box-shadow:0 0 9px #64ed9950}#membersDialog .dialogTop h2{margin:0}#membersList{margin-top:16px}#membersError{color:#ffc5cf;font-size:13px}

#membersPage{display:flex;flex-direction:column;min-height:0;overflow:hidden}#membersPage h1{flex:none;font-size:29px;letter-spacing:-1px;margin:0 0 17px}.membersScroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 16px;scrollbar-width:thin}.membersPanel{padding:8px 20px}#membersList{margin:0}.bottomNav{width:min(100%,420px)}.bottomNav button{gap:7px;font-size:12px}.bottomNav svg{width:20px;height:20px}@media(max-width:360px){.bottomNav button{gap:5px;font-size:11px}.bottomNav svg{width:18px;height:18px}}

/* Only designated content panes scroll; the application frame stays still. */
html,body,main{overscroll-behavior:none;touch-action:pan-y}
html,body{overflow:hidden}
.listScroll,.settingsScroll,.membersScroll,dialog,textarea{overscroll-behavior:contain;touch-action:pan-y}
button,a,input,select,label{touch-action:pan-y}

.noteMarker{display:inline-block;vertical-align:super;font-size:.58em;font-weight:700;line-height:1;margin-left:4px;color:var(--mint);text-shadow:0 0 9px #ffffff25}

.noteMarker{vertical-align:middle;font-size:10px;font-weight:600;line-height:1.3;letter-spacing:0;margin-left:8px;white-space:nowrap;text-shadow:none}

/* Stable edit sheet: no nested blur stacks or focus-induced sheet transition. */
dialog{max-height:calc(var(--dialog-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}
#editor{overflow-y:auto;scrollbar-gutter:stable;scroll-padding:18px;animation:none;transition:none;-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}
#editor input,#editor textarea,#editor .choices span,#editor .primary{-webkit-backdrop-filter:none;backdrop-filter:none}
#editor input,#editor textarea{font-size:16px}#editor :focus-visible{outline-offset:2px}

#listScroll:focus,#listScroll:focus-visible{outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}

.memberActivity{display:flex;align-items:center;gap:12px;flex:none}.memberAdded{font-size:13px;color:var(--muted);white-space:nowrap}

.notesPreview{display:flex;align-items:flex-start;gap:7px;width:100%;min-width:0;padding:8px 9px;border:1px solid #d2f4ff30;border-radius:12px;background:linear-gradient(120deg,#e0faff16,#dcfaff08);box-shadow:inset 0 1px 0 #ffffff12;color:var(--text);font-size:12px;line-height:1.4;text-align:left}.notesPreview svg{width:15px;height:18px;flex:none;opacity:.75}.notesPreview>span{min-width:0;overflow-wrap:anywhere}.notesPreview:hover{background-color:#ffffff09}

/* Compact natural-height cards; notes occupy only their own card. */
.jacks{align-items:start}.jack,.compact .jack{align-self:start;min-height:0;gap:8px}.jackIdentity{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.jackIdentity strong,.compact .jackIdentity strong{font-size:clamp(23px,5.6vw,30px);margin:0;letter-spacing:-1px}.jackIdentity .badge{flex:none;font-size:9px;padding:3px 6px;line-height:1.4;white-space:nowrap}.jack .cardMeta{margin-top:0;gap:2px}.jack .notesPreview{margin-top:1px}

/* Keep paired cards aligned while their content stays compact. */
.jacks{align-items:stretch}.jack,.compact .jack{align-self:stretch}.jack .notesPreview{min-height:51px}.emptyNotes{color:var(--muted)}.emptyNotes svg{opacity:.5}

.laserStar{color:#ffe5a0;font-size:12px;letter-spacing:0;text-shadow:0 0 8px #ffdb7040}.laserChoice{margin:15px 0}.laserChoice input{width:21px;height:21px;accent-color:var(--mint)}.renameMember{font-size:12px;color:var(--mint);padding:5px 7px}#renameForm .primary,#adminNotesForm .primary{margin-top:20px;width:100%}#adminEditNotes{font-size:13px;margin-top:12px}

.jack .badReasonPreview{background:linear-gradient(125deg,#e65d7530,#a9344b1c);border:1px solid #ff9dad70;border-radius:12px;padding:8px 9px;color:#ffd5dd;box-shadow:inset 0 1px 0 #ffffff12;line-height:1.4;overflow-wrap:anywhere}.badReasonPreview svg{color:#ffadb9}

header{flex-wrap:wrap;column-gap:8px;row-gap:8px}.editBanBanner{order:3;flex:1 0 100%;min-width:0;display:flex;flex-direction:column;gap:2px;padding:8px 11px;border:1px solid #ff92a36b;background:linear-gradient(125deg,#c8405b35,#7f23392a);border-radius:13px;color:#ffc1ce;font-size:11px;line-height:1.35}.editBanBanner strong{color:#ffd3dc;font-variant-numeric:tabular-nums}.editBanBanner span{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.banMember{color:#ffb7c5;font-size:11px;padding:5px}.memberActivity{flex-wrap:wrap;justify-content:flex-end;gap:6px 9px}.memberRow>span:first-child{min-width:0}.banDuration{display:flex;gap:10px;margin:8px 0 16px}.banDuration input{width:90px}.banDuration select{flex:1;min-width:0}#banForm .badAction{margin-top:16px;width:100%}#removeEditBan{color:#ffbdcb}

.viewBanNotice{padding:26px 20px;margin:6px 0;border-color:#ff9caf70;background:linear-gradient(125deg,#b7304e30,#69253626);text-align:center;color:#ffc4d0}.viewBanNotice h2{font-size:22px;margin:0 0 12px}.viewBanNotice strong{font-variant-numeric:tabular-nums;font-size:17px}.viewBanNotice p{font-size:14px;overflow-wrap:anywhere;margin-bottom:0}

.badge[data-speed="Slow"]{background:#ff657b24;color:#ffb7c1;border:1px solid #ff899b55}.badge[data-speed="Fast"]{background:#ffab4224;color:#ffcf91;border:1px solid #ffaf5255}.badge[data-speed="Very Fast"]{background:#57e0a124;color:#a2f5cb;border:1px solid #75eeb455}.accountKeyRow{display:flex;align-items:center;gap:12px;margin:8px 0 12px;padding:10px 12px;background:#ffffff08;border:1px solid var(--line);border-radius:12px}.accountKeyRow code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px;user-select:text;-webkit-user-select:text;color:var(--text)}.accountKeyRow button{flex:none;color:var(--mint);padding:7px 3px}

.keyReminder{margin:-3px 0 14px;color:var(--muted);font-size:11px;line-height:1.5}

.accountIdentity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.accountIdentity #accountName{margin:0;font-size:16px;font-weight:600}.accountRole{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:3px 9px}.accountLicense{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0 13px;margin-bottom:8px}.keyHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.keyHeading>span{font-size:11px;color:var(--muted);font-weight:600}.keyHeading #copyAccountKey{font-size:11px;color:var(--mint);padding:3px 0}.accountLicense #accountKey{display:block;font-size:12px;line-height:1.65;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;color:var(--text)}.accountLicense .keyReminder{font-size:10px;color:var(--muted);margin:7px 0 0;line-height:1.45}

.installWelcome{display:block;margin:18px auto 0;padding:6px 12px;font-size:12px;text-align:center;color:var(--muted)}

.installNotice{order:-1;flex:1 0 100%;width:100%;padding:8px 10px;border:0;border-top:2px solid #f17f94;border-radius:0 0 9px 9px;background:linear-gradient(120deg,#c9365128,#a72d4512);color:#ffc3d0;font-size:11px;font-weight:500;line-height:1.45;text-align:left;box-shadow:none}.installNotice span{float:right;margin-left:7px}.sign-in header:has(.installNotice:not([hidden])){display:flex!important}.sign-in header:has(.installNotice:not([hidden])) .brand,.sign-in header:has(.installNotice:not([hidden])) .connection{display:none}.sign-in .installNotice{margin-bottom:5px}

/* Personal inventory layouts. */
.layoutSetting{gap:15px}.layoutSetting select{font-size:12px;padding:9px 11px;min-width:0;max-width:65%}
body[data-jack-layout="cards"] #jacks.jacks{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-jack-layout="large"] #jacks.jacks{grid-template-columns:minmax(0,1fr)}
body[data-jack-layout="large"] #jacks .jack{padding:19px 20px;gap:10px}
body[data-jack-layout="large"] #jacks .jackIdentity{justify-content:space-between;flex-wrap:nowrap}
body[data-jack-layout="large"] #jacks .jackIdentity strong{font-size:36px}
body[data-jack-layout="large"] #jacks .jackIdentity .badge{font-size:11px;padding:4px 8px}
body[data-jack-layout="large"] #jacks .notesPreview{min-height:0;font-size:13px;padding-block:10px}
body[data-jack-layout="large"] #jacks .cardMeta{flex-direction:row;flex-wrap:wrap;gap:4px 12px}
body[data-jack-layout="quick"] #jacks.jacks{grid-template-columns:minmax(0,1fr);gap:6px}
body[data-jack-layout="quick"] #jacks .jack{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:0;padding:10px 13px;min-height:49px;border-radius:14px}
body[data-jack-layout="quick"] #jacks .jackTop,body[data-jack-layout="quick"] #jacks .jackIdentity{display:contents}
body[data-jack-layout="quick"] #jacks .jackTop>span:first-child{grid-column:1;grid-row:1;font-size:0;letter-spacing:0}
body[data-jack-layout="quick"] #jacks .jack[data-department="Freezer"] .jackTop>span:first-child::before{content:'❄️';font-size:15px}
body[data-jack-layout="quick"] #jacks .departmentIcon{width:17px;height:20px}
body[data-jack-layout="quick"] #jacks .jackIdentity strong{grid-column:2;grid-row:1;font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
body[data-jack-layout="quick"] #jacks .jackIdentity .badge{grid-column:3;grid-row:1;font-size:10px;padding:4px 8px}
body[data-jack-layout="quick"] #jacks .jackTop .arrow,body[data-jack-layout="quick"] #jacks .cardMeta,body[data-jack-layout="quick"] #jacks .notesPreview{display:none}
body[data-jack-layout="quick"] #jacks .jack[data-has-notes="true"] strong::after{content:' *';font-size:14px;color:var(--mint);vertical-align:middle}

body[data-jack-layout="quick"] #jacks .laserStar{font-size:10px;position:absolute;top:2px;left:8px}body[data-jack-layout="quick"] #jacks .jackTop>span:first-child{position:relative}body[data-jack-layout="large"] #jacks .badReasonPreview{border:1px solid #ff9dad70;border-radius:12px;padding:8px 9px;background:linear-gradient(125deg,#e65d7530,#a9344b1c)}

/* Quick rows keep the laser marker separate and make room for notes. */
body[data-jack-layout="quick"] #jacks .jack{grid-template-columns:auto auto minmax(0,1fr) auto;column-gap:9px}
body[data-jack-layout="quick"] #jacks .jackTop>span:first-child{display:flex;align-items:center;gap:4px;white-space:nowrap;min-width:20px}
body[data-jack-layout="quick"] #jacks .laserStar{position:static;display:inline-block;font-size:11px;line-height:1;flex:none}
body[data-jack-layout="quick"] #jacks .jackIdentity strong{grid-column:2;max-width:140px;overflow:hidden;text-overflow:ellipsis}
body[data-jack-layout="quick"] #jacks .jackIdentity strong::after{content:none}
body[data-jack-layout="quick"] #jacks .jackIdentity .badge{grid-column:4}
body[data-jack-layout="quick"] #jacks .notesPreview{display:block;grid-column:3;grid-row:1;min-width:0;min-height:0;margin:0;padding:0;background:none;border:0;box-shadow:none;font-size:11px;line-height:1.4;overflow:hidden;color:var(--muted)}
body[data-jack-layout="quick"] #jacks .notesPreview>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-jack-layout="quick"] #jacks .notesPreview svg{display:none}
body[data-jack-layout="quick"] #jacks .emptyNotes{opacity:.55}
body[data-jack-layout="quick"] #jacks .badReasonPreview{color:#ffb7c6}
@media(max-width:360px){body[data-jack-layout="quick"] #jacks .jack{column-gap:6px;padding-inline:10px}body[data-jack-layout="quick"] #jacks .jackIdentity strong{font-size:21px;max-width:105px}}

body[data-jack-layout="quick"] #jacks .jack[data-has-notes="true"] strong::after{content:none}
body[data-jack-layout="quick"] #jacks .notesPreview{padding:5px 8px;border:1px solid #d9f3ff29;border-radius:8px;background:#ffffff09;box-shadow:inset 0 1px 0 #ffffff0b}
body[data-jack-layout="quick"] #jacks .emptyNotes{opacity:.65;background:#ffffff04;border-color:#d9f3ff17}
body[data-jack-layout="quick"] #jacks .badReasonPreview{background:#d6476324;border-color:#ff9dad60;color:#ffc4d0}

body[data-jack-layout="quick"] #jacks .jackTop>span:first-child .laserStar{order:-1}

.memberName{display:flex;align-items:center;gap:9px;min-width:0}.memberName>span:last-child{overflow-wrap:anywhere}.memberName .onlineDot{width:9px;height:9px;flex:none}

.iphoneInstall h3{margin:0 0 14px;font-size:20px}
.installBrowserLabel{display:block;font-size:11px;color:var(--muted);margin:14px 0 22px}.installBrowserLabel select{display:block;width:100%;margin-top:7px;font-size:14px}.installSteps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:19px}.installSteps li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:11px}.installStepNumber{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);color:var(--mint);font-size:12px;line-height:1}.installStepHeading{display:flex;align-items:center;gap:9px;min-height:24px}.installStepHeading strong{font-size:14px;font-weight:650}.installSteps li p{font-size:12px;line-height:1.6;margin:5px 0 0;color:var(--muted)}.installGlyph{display:grid;place-items:center;width:24px;color:var(--mint);font-size:22px;line-height:1}.installStepIcon{width:19px;height:23px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.iphoneInstall .installFallback{font-size:11px;color:var(--muted);line-height:1.5;margin:22px 0 0;padding-top:13px;border-top:1px solid var(--line)}

.installDetectedBrowser{font-size:12px!important;color:var(--muted);margin:8px 0 22px!important}
#logsPage{display:flex;flex-direction:column;min-height:0;overflow:hidden}.logsHeading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.logsHeading h1{font-size:29px;letter-spacing:-1px;margin:0}.logsScroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:2px 2px 16px;scrollbar-width:thin}.logEntry{padding:17px;margin-bottom:12px;border-radius:20px}.logEntryTop{display:flex;flex-direction:column;gap:4px}.logEntryTop strong{font-size:16px}.logEntryTop time,.logActor,.logLegacy{font-size:11px;color:var(--muted);line-height:1.5}.logActor{margin:9px 0}.logEntry summary{font-size:12px;color:var(--mint);cursor:pointer}.logChanges{margin:10px 0}.logChanges>div{padding:9px 0;border-top:1px solid var(--line)}.logChanges dt{font-size:11px;font-weight:650;color:var(--muted)}.logChanges dd{display:flex;flex-direction:column;gap:3px;margin:5px 0 0;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.logBefore{color:#edb8c0}.logAfter{color:#b5ecd5}.logChangeArrow{color:var(--muted)}.logCorrect{font-size:12px;color:var(--mint);margin-top:5px}#logsError{color:#ffc4d0;font-size:12px}#logCorrectionFields select{display:block;width:100%;margin-top:8px}.bottomNav:has(#logsTab:not([hidden])) button{gap:5px;font-size:11px}.bottomNav:has(#logsTab:not([hidden])) svg{width:18px;height:18px}

.logBadBadge{display:inline-block;margin-left:9px;padding:3px 7px;border:1px solid #ff9dad70;border-radius:6px;background:#c8425c2c;color:#ffbcc9;font-size:10px;font-weight:650;line-height:1.4;vertical-align:middle}.logChanges .logBefore,.logChanges .logAfter{color:var(--text)}.logChanges .logGood{color:#9be6be}.logChanges .logBad{color:#ffb1c0}.logChanges .logOrange{color:#ffcb8a}

.logEntry summary{display:flex;align-items:center;justify-content:space-between;list-style:none;gap:12px}.logEntry summary::-webkit-details-marker{display:none}.logDisclosure{display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}.logEntry details[open] .logDisclosure{transform:rotate(225deg);margin-top:5px;margin-bottom:0}.logClear{float:right;font-size:12px;padding:8px;color:var(--muted);margin-top:5px}.logEntry::after{content:"";display:block;clear:both}

.accessLinks{display:flex;justify-content:center;gap:20px;margin-top:14px}.accessLinks button{color:var(--mint);font-size:12px}#accessForm label,#accessLookup label,#requestReviewForm label{margin-bottom:15px}#accessForm .primary{width:100%;margin:18px 0}#accessLookup{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.accessStatus{padding:16px 0;border-top:1px solid var(--line)}.accessStatus h3{font-size:19px;margin:0 0 10px}.accessStatus p{font-size:13px;color:var(--muted)}.accessStatus code{display:block;overflow-wrap:anywhere;font-size:12px;margin:9px 0;user-select:text;-webkit-user-select:text}.accessStatus span{font-size:11px;color:var(--muted)}#approvedKeyBox{padding-top:16px;margin-top:14px;border-top:1px solid var(--line)}#approvedKeyBox .primary{width:100%;margin-top:12px}#accessError,#reviewError{font-size:12px;color:#ffbdca}.pendingRequests{padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}.pendingRequests h2{font-size:19px;margin:0 0 13px}.pendingRequests h2 span{font-size:12px;color:var(--mint);margin-left:5px}.requestEntry{padding:15px;margin-bottom:10px;border-radius:17px}.requestEntry>strong{font-size:15px}.requestEntry>p{font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--muted);margin:7px 0}.requestEntry>button{display:block;color:var(--mint);font-size:12px;margin-top:8px}.requestDecisionButtons{display:flex;gap:12px;margin-top:20px}.requestDecisionButtons button{flex:1;margin:0;justify-content:center}#reviewNote{font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}#requestReviewForm input{width:100%}

.accessResponseTime{font-size:12px;color:var(--muted);margin:0 0 20px;line-height:1.5}

.approvedKeyRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin:9px 0 14px;border:1px solid var(--line);border-radius:12px;background:#ffffff08}.approvedKeyRow #approvedKey{margin:0;min-width:0;flex:1;font-size:18px;letter-spacing:1px}.approvedKeyRow #copyApprovedKey{flex:none;color:var(--mint);font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.reducedGlass .approvedKeyRow{background:hsl(var(--theme-h) 22% 13%)}

.logActivityDetail{font-size:12px;color:var(--muted);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}

#logsTab{position:relative;overflow:visible}.bottomNav #pendingRequestBadge{position:absolute;top:2px;right:6px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:hsl(var(--theme-h) var(--theme-s) 72%);color:hsl(var(--theme-h) 40% 10%);border:1px solid hsl(var(--theme-h) 45% 90% / .65);font-size:10px;font-weight:800;line-height:1;box-shadow:0 2px 6px #0004;font-variant-numeric:tabular-nums;pointer-events:none}.reducedGlass #pendingRequestBadge{box-shadow:none}

.logEntry{position:relative}.logSelectBox{position:absolute;top:16px;right:15px;display:flex;align-items:center;padding:3px;cursor:pointer}.logSelectBox input{appearance:none;-webkit-appearance:none;width:19px;height:19px;margin:0;padding:0;border:1.5px solid var(--muted);border-radius:4px;background:#ffffff07;display:grid;place-items:center;cursor:pointer}.logSelectBox input:checked{background:var(--mint);border-color:var(--mint)}.logSelectBox input:checked::after{content:"✓";font-size:14px;font-weight:800;line-height:1;color:#112532}.logEntryTop{padding-right:28px}.logBulkControls{display:flex;align-items:center;gap:10px;padding:4px 2px 12px;flex-wrap:wrap}.logBulkControls button{font-size:12px;color:var(--mint)}#logSelectedCount{font-size:11px;flex:1;text-align:center}#clearSelectedLogs{color:#ffbfcc}#clearSelectedLogs:disabled{opacity:.35}

.dialogTop .close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;flex:0 0 48px;padding:12px;font-size:21px;line-height:1;border-radius:50%;margin:-6px -6px 0 0;position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:none;cursor:pointer;user-select:none;-webkit-user-select:none}.dialogTop .close:active{transform:none;background:#ffffff12}.dialogTop .close:hover{filter:none}

.migrationNotice strong,.migrationNotice small{display:block}.migrationNotice strong{font-size:12px;font-weight:600}.migrationNotice small{font-size:11px;margin-top:2px;opacity:.85}
