@font-face{font-family:"Inter";src:url(/fonts/Inter-Var.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:"Rajdhani";src:url(/fonts/Rajdhani-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Rajdhani";src:url(/fonts/Rajdhani-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Rajdhani";src:url(/fonts/Rajdhani-Bold.woff) format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Orbitron";src:url(/fonts/Orbitron-Var.woff) format("woff");font-weight:400 900;font-display:swap}
:root{
  --bg:#030810;--bg2:#06182a;--c:#4fe3ff;--c2:#bff4ff;--dim:#6e97ab;--dim2:#3e6d80;--gold:#f2b84b;--gold2:#ffd27a;
  --grn:#3df2a8;--red:#ff5d73;--txt:#e6f8ff;
  --glass:rgba(8,28,46,.48);--glass2:rgba(6,22,38,.72);--line:rgba(79,227,255,.28);--line2:rgba(79,227,255,.55);
  --glow:0 0 6px rgba(79,227,255,.6),0 0 18px rgba(30,160,255,.3);
  --num:"Rajdhani","Inter",sans-serif;--sans:"Inter",system-ui,sans-serif;--disp:"Orbitron","Rajdhani",sans-serif;
  --r:16px;--foot:0px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--txt);font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased}
body{background:radial-gradient(1200px 700px at 78% -10%,rgba(18,70,110,.45),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(10,50,90,.35),transparent 60%),var(--bg);padding-bottom:calc(var(--foot) + env(safe-area-inset-bottom))}
.bg-grid{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(79,227,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(79,227,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 60% 30%,#000 30%,transparent 80%)}
.bg-reactor{position:fixed;right:-160px;top:40px;width:640px;height:640px;color:var(--c);opacity:.07;pointer-events:none;z-index:0;animation:spin 240s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
a{color:var(--c);text-decoration:none}
h1,h2,h3{margin:0;font-weight:600}
.glow{color:var(--c);text-shadow:var(--glow)}
.gold{color:var(--gold)}
.muted{color:var(--dim)}
.small{font-size:12px}
.num{font-family:var(--num);font-weight:600;letter-spacing:.5px}

/* header */
.hud-head{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:18px;padding:12px 22px;background:linear-gradient(180deg,rgba(3,10,18,.92),rgba(3,10,18,.7));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hud-head::after{content:"";position:absolute;left:22px;right:22px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,transparent 40%,transparent 60%,var(--c) 80%,transparent)}
.brand{display:flex;align-items:center;gap:12px}
.mini-reactor{width:36px;height:36px;fill:none;stroke:var(--c);stroke-width:1.2;filter:drop-shadow(0 0 4px rgba(79,227,255,.6))}
.mini-reactor .g{stroke:var(--gold);stroke-dasharray:5 3;stroke-width:1.6}.mini-reactor .c{fill:rgba(79,227,255,.35)}
.brand-name{font:700 15px/1 var(--disp);letter-spacing:4px;color:#f2fdff;text-shadow:var(--glow)}
.brand-name span{color:var(--gold);margin:0 3px}
.brand-sub{font-size:9.5px;letter-spacing:2.4px;color:var(--dim);margin-top:5px}
.tabs{display:flex;justify-content:center;gap:4px}
.tabs a{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;color:var(--dim);font-size:13px;letter-spacing:.4px;border:1px solid transparent;transition:.2s}
.tabs a:hover{color:var(--c2)}
.tabs a.on{color:var(--c);border-color:var(--line2);background:rgba(79,227,255,.07);box-shadow:inset 0 0 12px rgba(79,227,255,.12)}
.tabs i{width:16px;height:16px;display:inline-block}
.tabs svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.clock{text-align:right}
#clk{font:600 24px/1 var(--num);letter-spacing:2px}
#clkDate{font-size:9.5px;letter-spacing:2.4px;color:var(--dim);margin-top:4px}

main{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:22px}
.view-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 2px 16px;flex-wrap:wrap}
.view-title h1{font:600 13px var(--disp);letter-spacing:4px;color:var(--c2)}
.view-title .sub{color:var(--dim);font-size:12px;margin-top:4px}

/* glass panels */
.glass{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);box-shadow:0 10px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(191,244,255,.06)}
.panel{position:relative;padding:18px 18px 16px}
.panel>h2,.ph{display:flex;align-items:center;justify-content:flex-start;gap:10px;font:600 10.5px var(--disp);letter-spacing:2.6px;color:var(--dim);margin:0 0 14px;text-transform:uppercase}
.panel>h2::before,.ph::before{content:"";width:6px;height:6px;background:var(--c);transform:rotate(45deg);box-shadow:var(--glow);margin-right:2px;flex:none}
.ph .grow,.panel>h2 .grow{flex:1}
.panel>h2>span:not(.grow){white-space:nowrap}
.panel::after{content:"";position:absolute;top:-1px;right:18px;width:46px;height:2px;background:var(--gold);border-radius:2px;opacity:.75}
.grid{display:grid;gap:16px}
.g-dash{grid-template-columns:1.25fr 1fr 1fr}
.g-4{grid-template-columns:repeat(4,1fr)}
.water-big{font:700 44px/1 var(--num);color:var(--c);text-shadow:var(--glow);margin:4px 0 12px}.water-big small{font-size:16px;color:var(--dim);text-shadow:none;margin-left:4px}
.g-2{grid-template-columns:1fr 1fr}
.g-3{grid-template-columns:repeat(3,1fr)}
.span2{grid-column:span 2}.span3{grid-column:1/-1}

/* rings */
.hero{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.ring-wrap{position:relative;flex:none}
.ring-wrap svg{display:block}
.ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring-c .v{font:700 40px/1 var(--num);color:var(--c);text-shadow:var(--glow)}
.ring-c .l{font-size:10px;letter-spacing:2.4px;color:var(--dim);margin-top:6px}
.ring-c .s{font:600 13px var(--num);color:var(--gold);margin-top:6px;letter-spacing:1px}
.macros{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-width:260px}
.mring{display:flex;flex-direction:column;align-items:center;text-align:center}
.mring .ring-c .v{font-size:20px}
.mring .lbl{font-size:10.5px;letter-spacing:1.8px;color:var(--dim);margin-top:8px;text-transform:uppercase}
.mring .of{font:600 12px var(--num);color:var(--dim2)}

/* bars */
.bars{display:flex;flex-direction:column;gap:13px}
.bar .top{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--dim);margin-bottom:6px;letter-spacing:.4px}
.bar .top b{font:600 16px var(--num);color:var(--c);text-shadow:var(--glow);letter-spacing:.5px}
.bar .top b small{font-size:12px;color:var(--dim);text-shadow:none}
.track{height:7px;border-radius:9px;background:rgba(79,227,255,.08);border:1px solid rgba(79,227,255,.16);overflow:hidden;position:relative}
.fill{height:100%;border-radius:9px;background:linear-gradient(90deg,#1aa7d6,var(--c));box-shadow:0 0 10px rgba(79,227,255,.55);transition:width .6s}
.fill.warn{background:linear-gradient(90deg,#d6941a,var(--gold));box-shadow:0 0 10px rgba(242,184,75,.5)}
.fill.over{background:linear-gradient(90deg,#c43a52,var(--red));box-shadow:0 0 10px rgba(255,93,115,.5)}
.bar .note{font-size:11px;color:var(--dim2);margin-top:5px}

/* stat tiles */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{padding:10px 12px;border:1px solid rgba(79,227,255,.14);border-radius:12px;background:rgba(3,14,26,.35)}
.stat .k{font-size:10px;letter-spacing:1.8px;color:var(--dim);text-transform:uppercase}
.stat .v{font:700 24px/1.15 var(--num);color:var(--c);text-shadow:var(--glow)}
.stat .v.g{color:var(--gold);text-shadow:0 0 8px rgba(242,184,75,.45)}
.stat .v.warn{color:var(--red);text-shadow:0 0 8px rgba(255,93,115,.4)}.stat .v.ok{color:var(--grn);text-shadow:0 0 8px rgba(61,242,168,.4)}
.stat .u{font-size:11px;color:var(--dim)}

/* buttons & inputs */
button,.btn{font:500 13px var(--sans);color:var(--c);background:rgba(6,30,46,.55);border:1px solid var(--line2);border-radius:999px;padding:8px 15px;cursor:pointer;transition:.18s;letter-spacing:.3px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
button:hover,.btn:hover{background:rgba(20,80,110,.55);box-shadow:var(--glow)}
button.pri{background:linear-gradient(180deg,rgba(79,227,255,.25),rgba(79,227,255,.1));color:#eaffff;border-color:var(--c)}
button.gold{color:var(--gold2);border-color:rgba(242,184,75,.6);background:rgba(60,40,6,.35)}
button.gold:hover{box-shadow:0 0 6px rgba(242,184,75,.6),0 0 16px rgba(242,184,75,.25)}
button.ghost{background:transparent;border-color:rgba(79,227,255,.2);color:var(--dim)}
button.sm{padding:5px 10px;font-size:12px}
button.icon{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%}
button:disabled{opacity:.45;cursor:default;box-shadow:none}
input,select,textarea{font:14px var(--sans);color:var(--txt);background:rgba(2,12,22,.6);border:1px solid rgba(79,227,255,.25);border-radius:10px;padding:8px 11px;outline:none;min-width:0;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--c);box-shadow:0 0 0 3px rgba(79,227,255,.12)}
input[type=number]{font-family:var(--num);font-weight:600;font-size:15px}
label.f{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:1px;color:var(--dim);text-transform:uppercase}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row.end{justify-content:flex-end}.row.sb{justify-content:space-between}
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;border:1px solid rgba(79,227,255,.25);color:var(--dim);letter-spacing:.3px;background:rgba(3,14,26,.4);cursor:default}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips .chip{cursor:pointer}.chips .chip.on{color:var(--c);border-color:var(--c);background:rgba(79,227,255,.08)}
.tier-occasional{color:var(--gold);border-color:rgba(242,184,75,.45)}
.tier-moderate{color:#9fd8ff}
.tier-optional{color:#a5f3d0;border-color:rgba(61,242,168,.3)}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:999px;overflow:hidden}
.seg button{border:0;border-radius:0;background:transparent;color:var(--dim)}
.seg button.on{background:rgba(79,227,255,.14);color:var(--c)}

/* lists */
.list{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid rgba(79,227,255,.08)}
.item:last-child{border-bottom:0}
.item .nm{font-weight:500}
.item .mx{font-size:11.5px;color:var(--dim);margin-top:2px}
.item .mx b{font-family:var(--num);font-weight:600;color:var(--c2);font-size:12.5px}
.item .kc{font:700 18px var(--num);color:var(--c);text-shadow:var(--glow);text-align:right}
.item .kc small{font-size:11px;color:var(--dim);text-shadow:none;margin-left:2px}
.slot-h{display:flex;justify-content:space-between;align-items:center;margin:4px 0 2px}
.slot-h h3{font:600 11px var(--disp);letter-spacing:2.4px;color:var(--c2);text-transform:uppercase}
.slot-h .k{font:600 14px var(--num);color:var(--gold)}
.empty{color:var(--dim2);font-size:12.5px;padding:10px 4px}
.serv{width:64px;text-align:center;padding:5px 6px}

/* tables */
.tbl-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(79,227,255,.12)}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th{font:600 10px var(--disp);letter-spacing:1.6px;color:var(--dim);text-align:right;padding:9px 10px;background:rgba(3,14,26,.6);position:sticky;top:0;white-space:nowrap}
td{padding:8px 10px;border-top:1px solid rgba(79,227,255,.07);text-align:right;font-family:var(--num);font-weight:600;font-size:14px;color:var(--c2);white-space:nowrap}
th:first-child,td:first-child{text-align:left}
td:first-child{font:500 13px var(--sans);color:var(--txt);white-space:normal;min-width:180px}
td .fdc{display:block;font:11px var(--sans);color:var(--dim2)}
tr:hover td{background:rgba(79,227,255,.03)}

/* meal cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.card{padding:15px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:15px;font-weight:600;color:#f2fdff}
.card .mac{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.card .mac div{padding:6px 2px;border-radius:10px;background:rgba(3,14,26,.4);border:1px solid rgba(79,227,255,.1)}
.card .mac b{display:block;font:700 17px var(--num);color:var(--c);text-shadow:var(--glow)}
.card .mac span{font-size:9.5px;letter-spacing:1.4px;color:var(--dim);text-transform:uppercase}
.card .ins{font-size:12.5px;color:#b7d6e3}
.card ul{margin:0;padding-left:16px;font-size:12.5px;color:var(--dim)}
.card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}

/* plan */
.week{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.day h3{display:flex;justify-content:space-between;align-items:baseline;font:600 11px var(--disp);letter-spacing:2.4px;color:var(--c2)}
.day h3 .num{font-size:20px;color:var(--c);text-shadow:var(--glow)}
.pm{padding:8px 0;border-bottom:1px dashed rgba(79,227,255,.1);font-size:13px}
.pm .s{font-size:10px;letter-spacing:1.6px;color:var(--dim);text-transform:uppercase}
.pm .x{font:600 13px var(--num);color:var(--gold);margin-left:4px}
.addon{font-size:12px;color:#a5f3d0}
.daytot{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px;text-align:center}
.daytot b{display:block;font:700 15px var(--num);color:var(--c2)}
.daytot span{font-size:9px;letter-spacing:1.2px;color:var(--dim)}

/* charts */
.chart{width:100%;height:auto;display:block}
.chart text{font:600 10px var(--num);fill:var(--dim)}
.chart .gl{stroke:rgba(79,227,255,.08)}
.chart .goal{stroke:var(--gold);stroke-dasharray:4 4;stroke-width:1.2}
.legend{display:flex;gap:14px;font-size:11px;color:var(--dim);margin-top:6px}
.legend i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}

/* modal / toast */
.modal{position:fixed;inset:0;z-index:50;background:rgba(1,5,10,.66);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 14px}
.modal[hidden]{display:none}
.modal-card{width:min(640px,100%);max-height:86vh;overflow:auto;padding:20px;position:relative;background:var(--glass2)}
.modal-card .x{position:absolute;right:12px;top:10px;width:30px;height:30px;padding:0;justify-content:center;border-radius:50%;font-size:18px}
.modal h2{font:600 12px var(--disp);letter-spacing:3px;color:var(--c2);margin:0 0 14px}
.toast{position:fixed;left:50%;bottom:calc(var(--foot) + 20px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;padding:10px 18px;border-radius:999px;background:rgba(6,30,46,.92);border:1px solid var(--c);color:var(--c2);box-shadow:var(--glow);font-size:13px}
.toast.err{border-color:var(--red);color:#ffd0d7}


.flag{padding:9px 12px;border-radius:10px;border:1px solid rgba(242,184,75,.4);background:rgba(60,40,6,.25);color:var(--gold2);font-size:12.5px;margin-bottom:12px}
.hint{font-size:12px;color:var(--dim);line-height:1.5}
.hint b{color:var(--c2);font-weight:600}
hr.sep{border:0;border-top:1px solid rgba(79,227,255,.1);margin:14px 0}
.spark{width:100%;height:56px}

/* responsive */
@media (max-width:1100px){.g-dash{grid-template-columns:1fr 1fr}.g-4{grid-template-columns:1fr 1fr}.g-dash .hero-p{grid-column:1/-1}.tabs a span{display:none}.tabs a{padding:9px 11px}}
@media (max-width:760px){
  :root{--foot:0px}
  body{padding-bottom:calc(var(--foot) + 62px + env(safe-area-inset-bottom))}
  .hud-head{grid-template-columns:1fr auto auto;padding:10px 14px;gap:10px;backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(3,9,16,.96)}
  #clkDate{font-size:8.5px;letter-spacing:1.6px}
  .brand-sub{display:none}.brand-name{font-size:13px;letter-spacing:3px}.mini-reactor{width:30px;height:30px}
  #clk{font-size:20px}
  .tabs{position:fixed;left:0;right:0;bottom:calc(var(--foot) + env(safe-area-inset-bottom));z-index:31;justify-content:space-around;padding:6px 4px;background:rgba(3,9,16,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);gap:0}
  .tabs a{flex-direction:column;gap:3px;padding:6px 4px;font-size:9.5px;border-radius:12px;flex:1;max-width:76px}
  .tabs a span{display:block;letter-spacing:.3px}
  .tabs svg,.tabs i{width:20px;height:20px}
  main{padding:14px 12px}
  .g-dash,.g-2,.g-3{grid-template-columns:1fr}.span2{grid-column:auto}
  .hero{justify-content:center}
  .macros{min-width:0;flex:1 1 100%}
  .g-4{grid-template-columns:1fr}
  .bg-reactor{width:420px;height:420px;right:-180px;top:60px}
  .stats{grid-template-columns:repeat(3,1fr)}
  .stat .v{font-size:21px}
  .modal{padding:0;align-items:flex-end}.modal-card{max-height:88vh;border-radius:18px 18px 0 0}
}
label.f .chip{align-self:flex-start;text-transform:none;letter-spacing:.3px}

/* ---------- v1.1: search / portions / quick log ---------- */
.item.tap { cursor: pointer; }
.item.tap:hover { background: rgba(79,227,255,.06); }
.chip.src { font-size: 10px; padding: 1px 6px; margin-right: 4px; opacity: .9; }
.chip.src-usda_fndds { color: #ffd27a; border-color: rgba(255,210,122,.4); }
.chip.src-usda_sr { color: #7fb6ff; border-color: rgba(127,182,255,.4); }
.chip.src-usda_foundation { color: #a5f3d0; border-color: rgba(165,243,208,.4); }
.chip.src-usda_seed { color: var(--c); }
.chip.src-custom, .chip.src-usda_api { color: #e5b8ff; border-color: rgba(229,184,255,.4); }
.chip.tier-animal { font-size: 10px; padding: 1px 6px; margin-right: 4px; }
.chip.tier-occasional, .chip.tier-limit { font-size: 10px; padding: 1px 6px; margin-right: 4px; color: #ffd27a; }
.star { color: var(--dim); font-size: 18px; }
.star.on { color: #ffd27a; text-shadow: 0 0 8px rgba(255,210,122,.6); }
.por { color: var(--c); }
.seg-scroll { overflow-x: auto; flex-wrap: nowrap; max-width: 100%; }
.seg-scroll button { white-space: nowrap; }
.preview { margin-top: 14px; padding: 14px; border: 1px solid rgba(79,227,255,.25); border-radius: 12px; background: rgba(79,227,255,.04); }
.pv-k { display: flex; align-items: baseline; gap: 6px; }
.pv-k b { font: 700 30px var(--num); color: var(--c); text-shadow: 0 0 12px rgba(79,227,255,.5); }
.pv-g { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 10px; }
.pv-g div { display: flex; flex-direction: column; }
.pv-g b { font: 600 18px var(--num); color: var(--c2); }
.pv-g span { font-size: 11px; opacity: .7; }
.quicklog { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 14px; margin-bottom: 14px; border-radius: 14px; }
.ql-k { font: 600 11px var(--disp); letter-spacing: .2em; color: var(--c); margin-right: 4px; }
.chipbtn small { opacity: .7; margin-left: 4px; }
td .fdc { display: block; font-size: 11px; opacity: .65; }
@media (max-width: 640px) { .pv-g { grid-template-columns: repeat(3, 1fr); } .item .mx .chip { margin-bottom: 2px; } }
.fd-form { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.fd-form select, .fd-form input { min-width: 0; max-width: 100%; }
.fd-name { font-size: 18px; margin: 14px 40px 8px 0; line-height: 1.25; }
@media (max-width: 640px) {
  .fd-form { grid-template-columns: minmax(0, 1fr); }
  .modal-card { min-height: 72vh; }
  #aTabs button { padding-left: 11px; padding-right: 11px; }
}
.modal-card { overflow-x: hidden; }
[hidden] { display: none !important; }
#foodsT td:first-child { min-width: 0; width: 40px; }
#foodsT th:nth-child(2), #foodsT td:nth-child(2) { text-align: left; font: 500 13px var(--sans); color: var(--txt); white-space: normal; min-width: 260px; }

/* ---------- 1.3.0 accounts: auth screens, user menu, profile, users ---------- */
body.locked .tabs,body.locked .umenu{display:none}
body.locked{padding-bottom:0}
.auth-wrap{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:20px 0}
.auth-card{width:min(420px,100%);padding:30px 28px 24px;text-align:center;overflow:hidden}
.auth-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(79,227,255,.14),transparent 60%);pointer-events:none}
.auth-reactor{width:96px;height:96px;margin:0 auto 10px;display:block;fill:none;stroke:var(--c);filter:drop-shadow(0 0 8px rgba(79,227,255,.55))}
.auth-reactor .o{stroke-width:1;opacity:.6;stroke-dasharray:3 7;animation:spin 24s linear infinite;transform-origin:60px 60px}
.auth-reactor .d{stroke-width:7;opacity:.35;stroke-dasharray:22 9;animation:spin 14s linear infinite reverse;transform-origin:60px 60px}
.auth-reactor .g{stroke:var(--gold);stroke-width:1.4}
.auth-reactor .c{fill:rgba(79,227,255,.25);stroke-width:1.6}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.auth-reactor .o,.auth-reactor .d{animation:none}}
.auth-brand{font:700 20px/1 var(--disp);letter-spacing:6px;color:#f2fdff;text-shadow:var(--glow)}
.auth-brand span{color:var(--gold);margin:0 4px}
.auth-sub{font:600 10px var(--disp);letter-spacing:2.6px;color:var(--dim);margin:10px 0 18px}
.auth-note{text-align:left;margin:-6px 0 14px;line-height:1.5}
.auth-form{display:flex;flex-direction:column;gap:12px;text-align:left}
.auth-form input{font-size:15px;padding:10px 12px}
.auth-err{min-height:18px;color:var(--red);font-size:12.5px}
.auth-err:empty{min-height:0}
button.wide{width:100%;justify-content:center;padding:11px 15px;font-size:14px;letter-spacing:1px}
.auth-alt{margin-top:14px;font-size:12.5px;color:var(--dim)}
.auth-alt a,.hint a{color:var(--c)}
.auth-msg{color:var(--dim);margin:18px 0 8px}
.umenu{position:relative}
.ubtn{gap:9px;padding:4px 12px 4px 4px;background:rgba(6,30,46,.45)}
.avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 11px var(--disp);letter-spacing:1px;color:#031018;
  background:radial-gradient(circle at 35% 30%,#bff6ff,var(--c) 55%,#0a6f8f);box-shadow:0 0 0 2px rgba(3,10,18,.9),0 0 0 3px var(--gold),0 0 12px rgba(79,227,255,.5);flex:none}
.avatar.lg{width:40px;height:40px;font-size:14px}.avatar.xl{width:56px;height:56px;font-size:19px}
.uname{max-width:140px;overflow:hidden;text-overflow:ellipsis;color:var(--txt)}
.caret{font-size:10px;color:var(--dim)}
.udrop{position:absolute;right:0;top:calc(100% + 10px);min-width:230px;padding:8px;z-index:40;background:rgba(4,15,26,.97);border:1px solid var(--line2);display:flex;flex-direction:column;gap:2px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.udrop[hidden]{display:none}
.udrop a,.udrop button{display:flex;width:100%;padding:9px 12px;border-radius:10px;border:0;background:transparent;color:var(--txt);font:500 13px var(--sans);text-decoration:none;justify-content:flex-start}
.udrop a:hover,.udrop button:hover{background:rgba(79,227,255,.1);box-shadow:none;color:var(--c)}
.udrop .danger{color:#ff9c9c}
.uhead{display:flex;align-items:center;gap:11px;padding:8px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.uh-name{font-weight:600;color:#f2fdff}
.uh-sub{font-size:12px;color:var(--dim);margin-top:2px}
.chip.gold-chip{color:var(--gold2);border-color:rgba(242,184,75,.55);background:rgba(60,40,6,.35);font:600 9.5px var(--disp);letter-spacing:1.6px;padding:2px 7px}
.ident{display:flex;align-items:center;gap:14px}
.ucell{display:flex;align-items:center;gap:10px}
.users-t td,.tok-t td{vertical-align:middle}
.users-t th,.users-t td,.tok-t th,.tok-t td{text-align:left}.users-t td.r,.tok-t td.r{text-align:right}
td.r{text-align:right}
.row.nowrap{flex-wrap:nowrap}
.span-2{grid-column:1/-1}
.form.one{grid-template-columns:1fr}
.form .span-all{grid-column:1/-1}
label.f.chk,label.radio{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:.2px;font-size:13px;color:var(--txt)}
label.f.chk input,label.radio input{width:16px;height:16px;accent-color:var(--c)}
.rm-choice{display:flex;flex-direction:column;gap:10px;margin-top:6px}
label.radio{align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
label.radio span{color:var(--dim);font-size:12.5px}label.radio b{color:var(--txt)}
label.radio:has(input:checked){border-color:var(--c);background:rgba(79,227,255,.06)}
button.danger,button.ghost.danger{color:#ff9c9c;border-color:rgba(255,99,99,.35)}
.danger-btn{color:#ffe2e2;border-color:var(--red);background:linear-gradient(180deg,rgba(255,80,80,.3),rgba(255,80,80,.12))}
.danger-btn:hover{box-shadow:0 0 6px rgba(255,90,90,.6),0 0 16px rgba(255,90,90,.25)}
.toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:13px;color:var(--txt)}
.toggle input{position:absolute;opacity:0;width:1px;height:1px}
.toggle .tg{width:42px;height:22px;border-radius:999px;border:1px solid var(--line2);background:rgba(2,12,22,.7);position:relative;flex:none;transition:.2s}
.toggle .tg::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--dim);transition:.2s}
.toggle input:checked+.tg{background:rgba(79,227,255,.22);border-color:var(--c)}
.toggle input:checked+.tg::after{left:23px;background:var(--c);box-shadow:var(--glow)}
.toggle input:focus-visible+.tg{box-shadow:0 0 0 3px rgba(79,227,255,.25)}
.chip.share{font-size:10px;padding:1px 7px;margin-right:4px}
button.chip.share{cursor:pointer;background:transparent}
.chip.share.on{color:var(--c);border-color:var(--line2)}
@media (max-width:760px){
  .uname,.caret{display:none}.ubtn{padding:3px;border-radius:50%}
  .udrop{position:fixed;right:10px;left:auto;top:58px}
  .auth-wrap{min-height:calc(100vh - 90px)}
  .users-t th:nth-child(3),.users-t td:nth-child(3),.users-t th:nth-child(4),.users-t td:nth-child(4),.users-t th:nth-child(5),.users-t td:nth-child(5){display:none}
  .row.nowrap{flex-wrap:wrap}
}

/* 1.4.0 diet selector, medication checklist, health notes */
.diet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;min-width:0}
.diet-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;white-space:normal;border-radius:12px;padding:12px 14px 11px;
  background:rgba(3,14,26,.45);border:1px solid rgba(79,227,255,.18);color:var(--dim);min-height:96px}
.diet-card:hover{background:rgba(10,40,62,.55);box-shadow:0 0 10px rgba(79,227,255,.18)}
.diet-card .dc-name{padding-right:14px;font:600 11px var(--disp);letter-spacing:1.8px;color:var(--c2);text-transform:uppercase}
.diet-card .dc-sum{font-size:12px;line-height:1.4;color:var(--dim)}
.diet-card .dc-meta{margin-top:auto;font:600 11px var(--num);letter-spacing:.8px;color:var(--dim2)}
.diet-card.on{border-color:var(--c);background:linear-gradient(180deg,rgba(79,227,255,.16),rgba(79,227,255,.04));box-shadow:inset 0 0 14px rgba(79,227,255,.14),0 0 12px rgba(79,227,255,.22)}
.diet-card.on .dc-name{color:#f2fdff;text-shadow:var(--glow)}
.diet-card.on .dc-meta{color:var(--gold)}
.diet-card.on::after{content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 8px rgba(242,184,75,.7)}
.chip.unsaved{color:var(--gold2);border-color:rgba(242,184,75,.55);background:rgba(60,40,6,.35);text-transform:none;letter-spacing:.4px}
.chip.diet-chip{font-size:10px;padding:1px 7px}.chip.diet-chip.on{color:var(--c);border-color:rgba(79,227,255,.55)}
.med-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.mchk{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:7px 9px;border-radius:10px;border:1px solid rgba(79,227,255,.12);background:rgba(3,14,26,.3)}
.mchk:hover{border-color:rgba(79,227,255,.3)}
.mchk input{position:absolute;opacity:0;width:1px;height:1px}
.mchk .box{flex:none;width:16px;height:16px;margin-top:2px;border-radius:4px;border:1px solid var(--line2);background:rgba(2,12,22,.7);position:relative;transition:.15s}
.mchk input:checked+.box{background:rgba(79,227,255,.25);border-color:var(--c);box-shadow:var(--glow)}
.mchk input:checked+.box::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--c2);border-width:0 2px 2px 0;transform:rotate(45deg)}
.mchk input:focus-visible+.box{box-shadow:0 0 0 3px rgba(79,227,255,.25)}
.mchk b{display:block;font-weight:600;font-size:13px;color:var(--txt)}.mchk small{display:block;font-size:11px;color:var(--dim2);margin-top:1px}
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 22px}
.notes .nsum{grid-column:1/-1;margin:0}
.nsec h3{font:600 10px var(--disp);letter-spacing:2.2px;color:var(--gold);text-transform:uppercase;margin:0 0 8px}
.nsec ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.nsec li{position:relative;padding-left:15px;font-size:12.5px;line-height:1.5;color:var(--txt)}
.nsec li::before{content:"";position:absolute;left:1px;top:7px;width:5px;height:5px;background:var(--c);transform:rotate(45deg);box-shadow:0 0 5px rgba(79,227,255,.6)}
.nsec li b{color:var(--c2)}
.nsec-limit li::before{background:var(--gold);box-shadow:0 0 5px rgba(242,184,75,.6)}
.nsec-meds{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px 22px;border-top:1px solid rgba(79,227,255,.14);padding-top:12px}
.nsec-meds>h3{grid-column:1/-1;margin:0}
.nmed{padding:10px 12px;border-radius:12px;border:1px solid rgba(79,227,255,.14);background:rgba(3,14,26,.35)}
.nmed-h{font:600 12px var(--sans);color:var(--c2);margin-bottom:7px}
.nsec li.nx{color:var(--gold2)}.nsec li.nx::before{background:var(--gold)}
.chip.nx-chip{font-size:9.5px;padding:0 6px;margin-right:3px;color:var(--gold2);border-color:rgba(242,184,75,.45)}
input.flash{animation:flash 1.2s}
@keyframes flash{0%{border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,184,75,.35)}100%{}}
@media (max-width:1100px){.notes{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.g-2{grid-template-columns:minmax(0,1fr)}#notesFor{display:none}.notes{grid-template-columns:1fr}.med-list{grid-template-columns:1fr}.diet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.diet-card{min-width:0;min-height:0;padding:10px 11px;gap:3px}
  .diet-card .dc-sum{display:none;font-size:11.5px}.diet-card.on{grid-column:1/-1}.diet-card.on .dc-sum{display:block}.diet-card .dc-meta{font-size:10px}}
@media (max-width:380px){.diet-grid{grid-template-columns:minmax(0,1fr)}}
