/* UI v1.2 — Workflow periods, modal consistency, date filters and Excel exports. UI-only. */
:root{
  --ui-bg:var(--lb-shell-bg);--ui-panel:var(--lb-shell-panel);--ui-panel-alt:var(--lb-shell-panel-alt);
  --ui-surface:var(--lb-shell-surface);--ui-ink:var(--lb-shell-ink);--ui-muted:var(--lb-shell-muted);
  --ui-border:var(--lb-shell-border);--ui-line:var(--lb-shell-line);--ui-cyan:var(--lb-shell-cyan);
  --ui-purple:var(--lb-shell-purple);--ui-pink:var(--lb-shell-pink);--ui-green:var(--lb-shell-green);
  --ui-amber:var(--lb-shell-amber);--ui-red:var(--lb-shell-red);--ui-shadow:var(--lb-shell-shadow);
  --ui-neon-cyan:var(--lb-shell-neon-cyan);--ui-neon-purple:var(--lb-shell-neon-purple);--ui-neon-pink:var(--lb-shell-neon-pink)
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0;background:var(--ui-bg);color:var(--ui-ink);font-family:Inter,"Segoe UI",Arial,sans-serif}
body{overflow-x:hidden;isolation:isolate}
button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main{min-height:100vh}.view{display:none}.view.active{display:block}
.ambient{position:fixed;inset:0 0 0 var(--sidebar);z-index:-1;pointer-events:none;opacity:.5;background:radial-gradient(ellipse at 78% -10%,rgba(124,76,255,.09),transparent 55%),radial-gradient(ellipse at 5% 60%,rgba(16,191,225,.035),transparent 50%)}
:root[data-effects=current] .ambient{overflow:hidden;opacity:1;background:linear-gradient(180deg,#090f20 0%,#0a1020 58%,#080d1c 100%)}
:root[data-effects=current] .ambient::before,:root[data-effects=current] .ambient::after{content:"";position:absolute;border-radius:50%;filter:blur(100px);opacity:.18;pointer-events:none}
:root[data-effects=current] .ambient::before{width:52vw;height:52vw;left:-18vw;top:-20vw;background:#23b9e8}
:root[data-effects=current] .ambient::after{width:48vw;height:48vw;right:-16vw;top:-18vw;background:#f448a4}
:root[data-theme=light][data-effects=current] .ambient{background:linear-gradient(180deg,#fbfcff 0%,#f7f8fb 62%,#f3f5fa 100%)}
:root[data-effects=subtle] .ambient{opacity:.28}

.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:23px}.page-heading h1{font-size:36px;letter-spacing:-.045em;margin:0 0 8px;line-height:1.05}.page-heading p{color:var(--ui-muted);max-width:760px;margin:0;font-size:16px;line-height:1.6}.eyebrow{display:block;color:var(--ui-purple);font-size:12px;letter-spacing:.16em;font-weight:800;margin-bottom:7px}
.utility-banner{position:relative;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--ui-border);border-radius:14px;padding:15px 18px;margin-bottom:25px;background:linear-gradient(110deg,var(--lb-shell-blue-soft),transparent 45%,var(--lb-shell-purple-soft));box-shadow:var(--ui-shadow)}.utility-banner strong{font-size:15px}.local-pill,.count-pill,.status-chip,.mini-note{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ui-border);border-radius:999px;padding:6px 9px;font-size:12px;color:var(--ui-muted);background:var(--ui-surface);white-space:nowrap}

.filterbar{display:flex;align-items:end;gap:14px;padding:13px 16px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:12px;margin-bottom:22px;box-shadow:var(--ui-shadow);position:relative;isolation:isolate;flex-wrap:wrap}.filterbar label{display:grid;gap:6px;min-width:145px;color:var(--ui-muted);font-size:12px;font-weight:650}.filterbar label>span{letter-spacing:.02em}.filterbar label+label{padding-left:14px;border-left:1px solid var(--ui-border)}.filterbar input,.filterbar select{min-height:34px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-ink);padding:7px 10px;outline:none}.filterbar input:focus,.filterbar select:focus{border-color:var(--ui-cyan);box-shadow:0 0 0 3px rgba(53,215,241,.12)}.filter-grow{flex:1;min-width:210px!important}.filter-note{margin-left:auto;align-self:center;color:var(--ui-muted);font-size:12px;text-align:right}.notes-filterbar{margin-top:0}

.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--ui-border);border-radius:14px;padding:18px;min-height:122px;background:var(--ui-panel);box-shadow:var(--ui-shadow)}.metric.featured{background:linear-gradient(145deg,var(--lb-shell-blue-soft),var(--ui-panel) 45%,var(--lb-shell-purple-soft))}.metric-label{font-size:13px;color:var(--ui-muted);font-weight:700}.metric-value{display:block;font-size:32px;font-weight:780;letter-spacing:-.04em;margin:13px 0 6px}.metric small{color:var(--ui-muted);font-size:13px;line-height:1.45}
.workspace-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.35fr);gap:18px;align-items:start}.card{position:relative;isolation:isolate;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);box-shadow:var(--ui-shadow);overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px;border-bottom:1px solid var(--ui-line)}.card-head h2{font-size:18px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.form-grid label{display:grid;gap:7px;color:var(--ui-muted);font-size:13px;font-weight:650}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-ink);padding:10px 11px;outline:none}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--ui-cyan);box-shadow:0 0 0 3px rgba(53,215,241,.14)}.form-grid small{font-size:11px;color:var(--ui-muted);font-weight:450}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.check-row{display:flex!important;align-items:center;gap:9px!important}.check-row input{width:auto}.button{border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-panel-alt);padding:10px 14px;font-size:14px;font-weight:720;cursor:pointer;position:relative}.button.primary{background:linear-gradient(120deg,rgba(53,215,241,.12),rgba(179,147,255,.18));border-color:rgba(179,147,255,.55);box-shadow:0 0 20px rgba(140,99,255,.10)}.button.danger{color:var(--ui-red);border-color:rgba(255,105,130,.38);background:var(--lb-shell-red-soft)}.button:hover,.text-button:hover{border-color:var(--ui-purple);color:var(--ui-cyan)}.text-button{border:0;background:transparent;color:var(--ui-purple);font-size:13px;font-weight:720;cursor:pointer;padding:5px}.icon-button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:9px;width:36px;height:36px;cursor:pointer}
.stack-list{display:grid;gap:0}.empty{padding:34px 18px;text-align:center;color:var(--ui-muted)}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px 18px;border-bottom:1px solid var(--ui-line)}.list-row:last-child{border-bottom:0}.list-row strong{display:block;font-size:15px;margin-bottom:5px}.list-row p{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.5}.row-actions{display:flex;gap:6px;align-items:center}.row-actions button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:7px;padding:7px 8px;font-size:12px;cursor:pointer}.status-good{color:var(--ui-green)}.status-warn{color:var(--ui-amber)}.status-bad{color:var(--ui-red)}.privacy-callout{border:1px solid rgba(255,197,128,.28);background:var(--lb-shell-amber-soft);color:var(--ui-muted);border-radius:11px;padding:11px 13px;font-size:13px;line-height:1.55;margin:-8px 0 18px}.privacy-callout.warning{border-color:rgba(255,158,172,.3);background:var(--lb-shell-red-soft)}
.insight-list{padding:18px;display:grid;gap:12px}.insight{border:1px solid var(--ui-line);border-radius:11px;padding:14px;background:var(--ui-surface)}.insight strong{display:block;font-size:15px}.insight span{display:block;color:var(--ui-muted);font-size:13px;margin-top:5px;line-height:1.55}.insight.attention{border-color:rgba(255,197,128,.34);background:var(--lb-shell-amber-soft)}

.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.checklist-card{position:relative;isolation:isolate;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);box-shadow:var(--ui-shadow);overflow:hidden}.checklist-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px;border-bottom:1px solid var(--ui-line)}.checklist-title{font-weight:760}.progress-bar{height:6px;border-radius:999px;background:var(--ui-surface);overflow:hidden;margin-top:7px}.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ui-cyan),var(--ui-purple));transition:width .25s ease}.check-items{display:grid}.check-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ui-line)}.check-item.done .item-text{text-decoration:line-through;color:var(--ui-muted)}.check-item input{accent-color:var(--ui-purple)}.item-tools{display:flex;gap:3px}.item-tools button{border:0;background:transparent;color:var(--ui-muted);cursor:pointer;padding:4px}.check-add{display:flex;gap:8px;padding:13px}.check-add input{flex:1;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-ink);padding:8px}.checklist-foot{display:flex;justify-content:flex-end;gap:7px;padding:12px 14px}.checklist-foot button{font-size:12px}
.notes-layout{grid-template-columns:minmax(300px,.7fr) minmax(420px,1.5fr)}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.note-card{position:relative;isolation:isolate;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-panel);padding:15px;box-shadow:var(--ui-shadow)}.note-card.pinned{border-color:rgba(179,147,255,.48);box-shadow:0 0 20px rgba(140,99,255,.08),var(--ui-shadow)}.note-meta{display:flex;justify-content:space-between;gap:8px;color:var(--ui-muted);font-size:11px;margin-bottom:10px}.note-text{white-space:pre-wrap;font-size:14px;line-height:1.58}.note-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.note-actions button{font-size:11px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-surface);padding:6px 7px;cursor:pointer}
.page-footer{display:flex;justify-content:space-between;gap:18px;color:var(--ui-muted);font-size:11px;padding:28px 2px 110px;border-top:1px solid var(--ui-line);margin-top:24px}

/* Current = the established Logic Bunting neon/bloom language. */
:root[data-effects=current] .topbar{background:transparent!important}
:root[data-effects=current] :is(.utility-banner,.filterbar,.card,.metric,.checklist-card,.note-card){border-color:rgba(115,126,200,.45);animation:uiMinorBreath 6.8s ease-in-out infinite}
:root[data-effects=current] :is(.utility-banner,.filterbar,.card,.metric,.checklist-card,.note-card)::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(105deg,rgba(46,216,255,.50),rgba(140,99,255,.46),rgba(255,76,167,.42),rgba(46,216,255,.50));background-size:240% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3;animation:uiBorderFlow 10s linear infinite}
:root[data-effects=current] :is(.card.neon-panel,.metric.featured,.ui-modal-panel){border-color:rgba(140,99,255,.66);animation:uiMajorBreath 5.6s ease-in-out infinite}
:root[data-effects=current] :is(.card.neon-panel,.metric.featured,.ui-modal-panel)::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2.5px;background:linear-gradient(100deg,var(--ui-neon-cyan),var(--ui-neon-purple),var(--ui-neon-pink),var(--ui-neon-cyan));background-size:240% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:4;animation:uiBorderFlow 7.4s linear infinite;opacity:.96}
:root[data-effects=current] .button.primary{border-color:rgba(140,144,245,.72);box-shadow:0 0 12px rgba(46,216,255,.10),0 0 20px rgba(140,99,255,.15)}
:root[data-effects=current] .button.primary::before,.neon-action::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.25px;background:linear-gradient(110deg,var(--ui-neon-cyan),var(--ui-neon-purple),var(--ui-neon-pink),var(--ui-neon-cyan));background-size:240% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2;animation:uiBorderFlow 7s linear infinite}
:root[data-theme=light][data-effects=current] :is(.utility-banner,.filterbar,.card,.metric,.checklist-card,.note-card){border-color:#d3dceb}
:root[data-theme=light][data-effects=current] :is(.utility-banner,.filterbar,.card,.metric,.checklist-card,.note-card)::before{opacity:.74}
:root[data-theme=light][data-effects=current] :is(.card.neon-panel,.metric.featured,.ui-modal-panel)::before{opacity:.88}
:root[data-effects=subtle] :is(.utility-banner,.filterbar,.card,.metric,.checklist-card,.note-card,.ui-modal-panel){animation:none!important;box-shadow:var(--ui-shadow)}
:root[data-effects=subtle] :is(.utility-banner,.filterbar,.card,.metric,.checklist-card,.note-card)::before{content:none!important}
:root[data-effects=subtle] :is(.card.neon-panel,.metric.featured,.ui-modal-panel)::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(105deg,rgba(46,216,255,.25),rgba(140,99,255,.25),rgba(255,76,167,.20));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.45;animation:none!important}

/* Consistent Logic Bunting modal — no browser prompt/confirm surfaces. */
.ui-modal{position:fixed;inset:0;margin:auto;width:min(610px,calc(100vw - 32px));max-height:calc(100dvh - 48px);border:0;padding:0;background:transparent;color:var(--ui-ink);overflow:visible}.ui-modal::backdrop{background:rgba(4,7,20,.50);backdrop-filter:blur(5px)}.ui-modal-panel{position:relative;isolation:isolate;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-panel);box-shadow:0 25px 90px rgba(0,0,0,.42);overflow:hidden}.ui-modal-head{display:flex;gap:18px;align-items:flex-start;padding:22px 24px 18px;border-bottom:1px solid var(--ui-line)}.ui-modal-head>div{min-width:0;flex:1}.ui-modal-head h2{margin:0;font-size:24px;letter-spacing:-.025em}.ui-modal-head p{margin:6px 0 0;color:var(--ui-muted);font-size:13px;line-height:1.55}.ui-modal-body{padding:22px 24px;max-height:min(430px,55dvh);overflow:auto}.ui-modal-body .modal-field{display:grid;gap:8px;color:var(--ui-muted);font-size:13px;font-weight:650}.ui-modal-body input,.ui-modal-body select,.ui-modal-body textarea{width:100%;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-ink);padding:11px 12px;outline:none}.ui-modal-body input:focus,.ui-modal-body select:focus,.ui-modal-body textarea:focus{border-color:var(--ui-cyan);box-shadow:0 0 0 3px rgba(53,215,241,.14)}.ui-modal-body .modal-copy{margin:0;color:var(--ui-muted);font-size:14px;line-height:1.65}.ui-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:15px 24px 19px;border-top:1px solid var(--ui-line);background:var(--ui-panel-alt)}

/* Tally remains UI-only and local. */
.tally-dock{position:fixed;right:25px;bottom:22px;z-index:980}.tally-launcher{height:76px;display:flex;align-items:center;gap:7px;padding:8px 20px 8px 8px;border:1px solid var(--ui-border);border-radius:19px;background:rgba(17,25,42,.94);color:var(--ui-ink);box-shadow:0 12px 38px rgba(0,0,0,.25);cursor:pointer}.tally-launcher strong{display:block;font-size:16px}.tally-launcher strong b{color:var(--ui-purple)}.tally-launcher small{display:block;color:var(--ui-muted);font-size:12px;margin-top:3px}.tally-art{width:65px;height:65px;display:block}.tally-art img{width:100%;height:100%;object-fit:contain}.tally-light{display:none!important}:root[data-theme=light] .tally-dark{display:none!important}:root[data-theme=light] .tally-light{display:block!important}
.tally-dialog{position:fixed;right:24px;bottom:108px;margin:0 0 0 auto;width:min(470px,calc(100vw - 30px));height:min(630px,calc(100dvh - 128px));border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-panel);color:var(--ui-ink);padding:0;box-shadow:0 24px 80px rgba(0,0,0,.36);overflow:hidden}.tally-dialog::backdrop{background:rgba(4,7,20,.28);backdrop-filter:blur(2px)}.tally-head{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--ui-line)}.tally-head h2{margin:0;font-size:22px}.tally-head p{margin:3px 0 0;color:var(--ui-muted);font-size:12px}.tally-head .icon-button{margin-left:auto}.tally-avatar{width:62px;height:62px;flex:0 0 62px}.tally-avatar img{width:100%;height:100%;object-fit:contain}.spark{color:var(--ui-purple)}.tally-effects{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ui-line);font-size:12px;color:var(--ui-muted)}.local-segmented button{font-size:11px!important;padding:5px 8px!important}.tally-chat{height:310px;overflow:auto;padding:15px;display:grid;align-content:start;gap:10px}.tally-turn{border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-surface);padding:11px;font-size:13px;line-height:1.55}.tally-turn.user{margin-left:48px;background:var(--lb-shell-purple-soft)}.tally-turn.guide{margin-right:24px}.tally-prompts{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}.tally-prompts button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-muted);border-radius:999px;padding:6px 8px;font-size:11px;cursor:pointer}.tally-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--ui-line)}.tally-form input{flex:1;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-ink);border-radius:9px;padding:9px}.tally-disclaimer{margin:0;padding:0 14px 13px;color:var(--ui-muted);font-size:11px}
.tally-reaction{position:fixed;right:24px;bottom:112px;z-index:1000;display:flex;align-items:center;gap:11px;width:min(340px,calc(100vw - 32px));border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);box-shadow:0 18px 55px rgba(0,0,0,.32);padding:12px 14px;animation:reactionIn .3s ease}.tally-reaction img{width:68px;height:68px;object-fit:contain}.tally-reaction strong{display:block;font-size:14px}.tally-reaction span{display:block;color:var(--ui-muted);font-size:12px;margin-top:4px;line-height:1.4}.tally-reaction[data-pose=wave] img{animation:waveBird 1.1s ease-in-out 2}.tally-reaction[data-pose=bounce] img{animation:bounceBird .75s ease-in-out 2}.tally-reaction[data-pose=fly] img{animation:flyBird 1.5s ease-in-out 1}.tally-reaction[data-pose=dance] img{animation:danceBird .55s ease-in-out 3}.tally-celebration{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:rgba(4,7,20,.30);backdrop-filter:blur(2px);animation:reactionIn .25s ease}.celebration-card{width:min(390px,calc(100vw - 34px));border:1px solid var(--ui-border);border-radius:19px;background:var(--ui-panel);padding:24px;text-align:center;box-shadow:0 24px 90px rgba(0,0,0,.4);position:relative;overflow:hidden}.celebration-card::before{content:"✦  ✧  ✦  ✧  ✦";position:absolute;inset:12px 0 auto;color:var(--ui-purple);font-size:22px;letter-spacing:18px;animation:sparkle 1s ease-in-out infinite}.celebration-card img{width:150px;height:150px;object-fit:contain;margin:15px auto 4px}.celebration-card strong{display:block;font-size:22px}.celebration-card span{display:block;color:var(--ui-muted);font-size:13px;margin-top:6px}

/* Updates/toasts match the rest of Logic Bunting: bottom-center, not top-right. */
.toast-region{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:2000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;max-width:min(560px,90vw)}.toast{background:var(--ui-panel);border:1px solid var(--ui-border);border-left:3px solid var(--ui-cyan);border-radius:10px;padding:12px 17px;font-size:14px;color:var(--ui-ink);box-shadow:0 14px 48px rgba(0,0,0,.25);animation:toastIn .2s ease-out;line-height:1.7}

html[data-ui-tally-effects=subtle] .tally-reaction img,html[data-ui-tally-effects=subtle] .celebration-card::before,html[data-ui-tally-effects=subtle] .celebration-card img{animation:none!important}html[data-ui-tally-effects=subtle] .tally-reaction,html[data-ui-tally-effects=subtle] .tally-celebration{animation:none!important}html[data-ui-tally-effects=off] .tally-reaction,html[data-ui-tally-effects=off] .tally-celebration{display:none!important}

@keyframes uiBorderFlow{0%{background-position:0% 50%}100%{background-position:240% 50%}}@keyframes uiMinorBreath{0%,100%{box-shadow:0 8px 25px rgba(27,33,68,.055),0 0 7px rgba(46,216,255,.035),0 0 13px rgba(140,99,255,.055)}50%{box-shadow:0 8px 25px rgba(27,33,68,.055),0 0 12px rgba(46,216,255,.09),0 0 21px rgba(140,99,255,.13)}}@keyframes uiMajorBreath{0%,100%{box-shadow:0 8px 28px rgba(27,33,68,.08),0 0 12px rgba(46,216,255,.10),0 0 24px rgba(140,99,255,.12)}50%{box-shadow:0 8px 28px rgba(27,33,68,.08),0 0 18px rgba(46,216,255,.17),0 0 32px rgba(140,99,255,.22),0 0 40px rgba(255,76,167,.07)}}@keyframes reactionIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes waveBird{0%,100%{transform:rotate(0)}35%{transform:rotate(-8deg)}70%{transform:rotate(7deg)}}@keyframes bounceBird{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes flyBird{0%{transform:translateX(20px) translateY(10px) rotate(5deg)}50%{transform:translateX(-18px) translateY(-10px) rotate(-5deg)}100%{transform:none}}@keyframes danceBird{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(7deg) scale(1.05)}}@keyframes sparkle{0%,100%{opacity:.3;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes toastIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:1fr}.notes-layout{grid-template-columns:1fr}.checklist-grid{grid-template-columns:1fr 1fr}.filter-note{width:100%;text-align:left;margin-left:0}}
@media(max-width:720px){.filterbar label+label{padding-left:0;border-left:0}main{padding-left:16px!important;padding-right:16px!important;padding-top:148px!important}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:31px}.metrics{grid-template-columns:1fr 1fr}.checklist-grid,.notes-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filterbar{align-items:stretch}.filterbar label,.filter-grow{width:100%;min-width:0!important}.tally-dock{right:14px;bottom:14px}.tally-launcher{height:64px;padding-right:13px}.tally-art{width:54px;height:54px}.tally-dialog{right:12px;bottom:86px;width:calc(100vw - 24px);height:min(620px,calc(100dvh - 102px))}.utility-banner{align-items:flex-start;flex-direction:column}.ui-modal{width:calc(100vw - 22px)}.ui-modal-head,.ui-modal-body,.ui-modal-foot{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* UI v1.2 — PEI-style report controls and modal-first entry flows. */
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex-shrink:0}
.report-card{margin-bottom:20px}
.report-filterbar{align-items:end}
.date-filter-extra[hidden]{display:none!important}
.filterbar input[type=month]{min-width:155px}

.export-animated{position:relative;isolation:isolate;min-width:160px;min-height:41px;justify-content:center;border:0!important;color:#fff!important;background:linear-gradient(90deg,#23b9e8,#8359ef,#f448a4,#23b9e8);background-size:300% 100%;background-position:0% 50%;box-shadow:0 10px 28px rgba(131,89,239,.24),0 0 0 1px rgba(255,255,255,.18) inset;animation:uiExportColorSlide 4.5s ease-in-out infinite;text-shadow:0 1px 3px rgba(15,22,44,.28);padding-inline:22px!important}
.export-animated:hover{transform:translateY(-1px);color:#fff!important;box-shadow:0 14px 34px rgba(131,89,239,.32),0 0 18px rgba(35,185,232,.22),0 0 24px rgba(244,72,164,.16)}
[data-theme=dark] .export-animated{background-image:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff)}
:root[data-effects=subtle] .export-animated{animation:none;background-position:45% 50%;box-shadow:0 8px 22px rgba(131,89,239,.16)}
@keyframes uiExportColorSlide{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.period-card{position:relative;isolation:isolate;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);box-shadow:var(--ui-shadow);overflow:hidden}
.period-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(105deg,var(--ui-neon-cyan),var(--ui-neon-purple),var(--ui-neon-pink),var(--ui-neon-cyan));background-size:260% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.45;animation:uiBorderFlow 10s linear infinite}
.period-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--ui-line)}
.period-card-head h2{margin:0 0 4px;font-size:18px}.period-card-head p{margin:0;color:var(--ui-muted);font-size:13px}
.period-card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.period-card-actions button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:7px;padding:7px 8px;font-size:12px;cursor:pointer}
.period-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.period-stat-grid>div{padding:15px 16px;border-right:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line)}.period-stat-grid>div:nth-child(3n){border-right:0}.period-stat-grid>div:nth-last-child(-n+3){border-bottom:0}
.period-stat-grid span,.period-stat-grid small{display:block;color:var(--ui-muted);font-size:11px;line-height:1.4}.period-stat-grid strong{display:block;font-size:24px;margin:7px 0 4px;letter-spacing:-.03em}
.period-card-foot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--ui-line);background:var(--ui-panel-alt);color:var(--ui-muted);font-size:11px;line-height:1.45}
:root[data-effects=current] .period-card{animation:uiMinorBreath 10s ease-in-out infinite}:root[data-effects=subtle] .period-card{animation:none!important}:root[data-effects=subtle] .period-card::before{animation:none!important;opacity:.24}

.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-form-grid label{display:grid;gap:7px;color:var(--ui-muted);font-size:13px;font-weight:650}.modal-form-grid label small{font-size:11px;font-weight:450}.modal-form-grid input,.modal-form-grid select,.modal-form-grid textarea{width:100%;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-ink);padding:10px 11px;outline:none}.modal-form-grid textarea{resize:vertical}.modal-form-grid input:focus,.modal-form-grid select:focus,.modal-form-grid textarea:focus{border-color:var(--ui-cyan);box-shadow:0 0 0 3px rgba(53,215,241,.14)}.modal-check{display:flex!important;align-items:center;gap:9px!important;align-self:end;min-height:42px}.modal-check input{width:auto!important}
.ui-modal{width:min(720px,calc(100vw - 32px))}.ui-modal-body{max-height:min(560px,63dvh)}
.checklist-head-actions{display:flex;align-items:center;gap:8px}
.notes-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}

@media(max-width:1180px){.period-grid{grid-template-columns:1fr}.notes-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-actions{width:100%;justify-content:flex-start}.page-actions .button{flex:1}.period-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-stat-grid>div{border-right:0!important;border-bottom:1px solid var(--ui-line)!important}.period-stat-grid>div:last-child{border-bottom:0!important}.modal-form-grid{grid-template-columns:1fr}.modal-form-grid .span-2{grid-column:auto}.notes-grid-wide{grid-template-columns:1fr}.period-card-head{flex-direction:column}.period-card-actions{justify-content:flex-start}}


/* UI v1.3 — record cards, clearer workload funnel, active checklist neon and local celebration variants. */
.record-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:4px 1px 13px}.record-section-heading h2{margin:0;font-size:18px}
.report-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.report-record-card{position:relative;isolation:isolate;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);box-shadow:var(--ui-shadow);overflow:hidden}
.report-record-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(105deg,var(--ui-neon-cyan),var(--ui-neon-purple),var(--ui-neon-pink),var(--ui-neon-cyan));background-size:260% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.38;animation:uiBorderFlow 11s linear infinite}
.record-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:17px 18px;border-bottom:1px solid var(--ui-line)}
.record-card-head h2{margin:0 0 5px;font-size:18px}.record-card-head p{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.45}
.record-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.record-card-actions button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:7px;padding:7px 8px;font-size:11px;cursor:pointer;color:var(--ui-muted)}
.record-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.record-stat-grid>div{padding:15px;border-right:1px solid var(--ui-line)}.record-stat-grid>div:last-child{border-right:0}
.record-stat-grid span,.record-stat-grid small{display:block;color:var(--ui-muted);font-size:11px;line-height:1.35}.record-stat-grid strong{display:block;font-size:23px;margin:7px 0 4px;letter-spacing:-.03em;overflow-wrap:anywhere}.record-stat-grid strong.date-stat{font-size:17px;letter-spacing:-.02em}
.record-progress{height:6px;background:var(--ui-surface);overflow:hidden}.record-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--ui-cyan),var(--ui-purple),var(--ui-pink));box-shadow:0 0 14px rgba(140,99,255,.28)}
.record-note-body{padding:18px;font-size:14px;line-height:1.65;white-space:pre-wrap;min-height:92px}
.record-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 15px;border-top:1px solid var(--ui-line);background:var(--ui-panel-alt);color:var(--ui-muted);font-size:11px}
.note-record.pinned{box-shadow:0 0 24px rgba(140,99,255,.12),var(--ui-shadow)}.note-record.pinned::before{opacity:.72}
:root[data-effects=current] .report-record-card{animation:uiMinorBreath 11s ease-in-out infinite}:root[data-effects=subtle] .report-record-card{animation:none!important}:root[data-effects=subtle] .report-record-card::before{animation:none!important;opacity:.22}

.workload-funnel{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr);align-items:center;padding:18px;border-bottom:1px solid var(--ui-line);background:linear-gradient(110deg,var(--lb-shell-blue-soft),transparent 48%,var(--lb-shell-purple-soft))}
.workload-funnel>div{text-align:center;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface);padding:14px 10px}.workload-funnel>b{text-align:center;color:var(--ui-purple);font-size:20px}.workload-funnel span,.workload-funnel small{display:block;color:var(--ui-muted);font-size:11px}.workload-funnel strong{display:block;font-size:30px;margin:7px 0 4px}
.workload-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.workload-context-grid>div{padding:14px 15px;border-right:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line)}.workload-context-grid>div:nth-child(3n){border-right:0}.workload-context-grid>div:nth-last-child(-n+3){border-bottom:0}.workload-context-grid span,.workload-context-grid small{display:block;color:var(--ui-muted);font-size:11px;line-height:1.35}.workload-context-grid strong{display:block;font-size:21px;margin:6px 0 3px}
.modal-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:3px;padding:9px 2px 7px;border-bottom:1px solid var(--ui-line)}.modal-section-title strong{font-size:13px;color:var(--ui-ink)}.modal-section-title span{font-size:11px;color:var(--ui-muted);text-align:right}
.ui-modal-error{margin:0 18px;padding:10px 12px;border:1px solid rgba(255,96,129,.48);border-radius:9px;background:var(--lb-shell-red-soft);color:var(--ui-red);font-size:12px;line-height:1.5;box-shadow:0 0 18px rgba(255,76,120,.08)}
.ui-modal-error[hidden]{display:none!important}

.checklist-section-heading{margin-top:2px}.checklist-card{position:relative;isolation:isolate}.tally-neon-checklist::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:linear-gradient(105deg,var(--ui-neon-cyan),var(--ui-neon-purple),var(--ui-neon-pink),var(--ui-neon-cyan));background-size:260% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.92;animation:uiBorderFlow 5.7s linear infinite}
:root[data-effects=current] .tally-neon-checklist{box-shadow:0 0 20px rgba(46,216,255,.08),0 0 28px rgba(140,99,255,.08),0 0 24px rgba(255,76,167,.05),var(--ui-shadow);animation:uiMajorBreath 7.6s ease-in-out infinite}
.active-checklist-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(140,99,255,.32);border-radius:999px;padding:5px 7px;background:var(--lb-shell-purple-soft);color:var(--ui-purple);font-size:11px;font-weight:800}
.completed-checklists{margin-top:20px;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);overflow:hidden;box-shadow:var(--ui-shadow)}
.completed-checklists>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;background:var(--ui-panel-alt)}.completed-checklists>summary::-webkit-details-marker{display:none}.completed-checklists>summary strong{font-size:15px}.completed-checklists>summary::after{content:"▾";color:var(--ui-purple);font-size:15px;margin-left:auto}.completed-checklists:not([open])>summary::after{transform:rotate(-90deg)}.completed-grid{padding:15px}.completed-list{opacity:.86}.completed-list::before{display:none}
:root[data-effects=subtle] .tally-neon-checklist,:root[data-effects=subtle] .tally-neon-checklist::before{animation:none!important}.completed-checklists[hidden]{display:none!important}

.celebration-icons{position:absolute;inset:0;pointer-events:none;overflow:hidden}.celebration-icons i{position:absolute;left:50%;top:50%;font-style:normal;font-size:24px;color:var(--ui-purple);text-shadow:0 0 14px rgba(140,99,255,.32);opacity:0;--angle:calc(var(--i)*60deg);animation:uiIconBurst 1.45s ease-out calc(var(--i)*70ms) both}
.tally-celebration[data-variant=check-burst] .celebration-card img{animation:uiVictoryBounce .7s ease-in-out 3}.tally-celebration[data-variant=star-orbit] .celebration-card img{animation:uiHappyWave 1.2s ease-in-out 2}.tally-celebration[data-variant=victory-bounce] .celebration-card img{animation:uiVictoryBounce .55s ease-in-out 4}.tally-celebration[data-variant=fly-trail] .celebration-card img{animation:uiVictoryFly 1.8s ease-in-out 1}.tally-celebration[data-variant=happy-dance] .celebration-card img{animation:uiHappyDance .48s ease-in-out 5}
.tally-celebration[data-variant=star-orbit] .celebration-icons i{animation-name:uiIconOrbit}.tally-celebration[data-variant=fly-trail] .celebration-icons i{animation-name:uiIconTrail}
@keyframes uiIconBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.25) rotate(120deg)}}
.celebration-icons i:nth-child(1){--i:0;--tx:-155px;--ty:-78px}.celebration-icons i:nth-child(2){--i:1;--tx:-65px;--ty:-132px}.celebration-icons i:nth-child(3){--i:2;--tx:70px;--ty:-122px}.celebration-icons i:nth-child(4){--i:3;--tx:145px;--ty:-35px}.celebration-icons i:nth-child(5){--i:4;--tx:82px;--ty:95px}.celebration-icons i:nth-child(6){--i:5;--tx:-118px;--ty:90px}
@keyframes uiIconOrbit{0%{opacity:0;transform:translate(-50%,-50%) rotate(0) translateX(38px)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(330deg) translateX(145px) scale(1.2)}}
@keyframes uiIconTrail{0%{opacity:0;transform:translate(-180px,80px) scale(.55)}35%{opacity:1}100%{opacity:0;transform:translate(170px,-95px) scale(1.15)}}
@keyframes uiVictoryBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-16px) scale(1.06)}}@keyframes uiHappyWave{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg)}70%{transform:rotate(8deg)}}@keyframes uiVictoryFly{0%{transform:translate(-120px,55px) rotate(-8deg) scale(.9)}48%{transform:translate(26px,-22px) rotate(5deg) scale(1.08)}100%{transform:none}}@keyframes uiHappyDance{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-8deg) scale(1.05)}75%{transform:rotate(8deg) scale(1.05)}}
:root[data-ui-tally-effects=subtle] .celebration-icons i,:root[data-ui-tally-effects=subtle] .tally-celebration .celebration-card img{animation:none!important;opacity:.38}
:root[data-ui-tally-effects=off] .celebration-icons{display:none!important}

@media(max-width:1180px){.report-record-grid{grid-template-columns:1fr}.record-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-stat-grid>div:nth-child(2){border-right:0}.record-stat-grid>div:nth-child(-n+2){border-bottom:1px solid var(--ui-line)}}
@media(max-width:760px){.record-card-head{flex-direction:column}.record-card-actions{justify-content:flex-start}.workload-funnel{grid-template-columns:1fr;gap:8px}.workload-funnel>b{transform:rotate(90deg)}.workload-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workload-context-grid>div{border-right:0!important;border-bottom:1px solid var(--ui-line)!important}.workload-context-grid>div:last-child{border-bottom:0!important}.modal-section-title{align-items:flex-start;flex-direction:column}.modal-section-title span{text-align:left}}


/* Two-Fix Patch — UI floating Tally button Light-mode correction only.
   Explicitly use the approved transparent Light Tally asset and light/glass
   launcher surface. Dark mode remains unchanged. */
:root[data-theme="light"] #uiTallyLauncher{
  background:rgba(255,255,255,.92)!important;
  color:var(--ui-ink)!important;
  border-color:rgba(131,89,239,.26)!important;
  box-shadow:
    0 12px 34px rgba(42,53,98,.12),
    0 0 22px rgba(131,89,239,.08),
    0 0 0 1px rgba(255,255,255,.72) inset!important;
  backdrop-filter:blur(14px);
}
:root[data-theme="light"] #uiTallyLauncher .tally-dark{
  display:none!important;
}
:root[data-theme="light"] #uiTallyLauncher .tally-light{
  display:block!important;
}
:root[data-theme="light"] #uiTallyLauncher .tally-art{
  position:relative;
}
:root[data-theme="light"] #uiTallyLauncher .tally-art::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(131,89,239,.18),rgba(131,89,239,.07) 48%,transparent 72%);
  filter:blur(8px);
  z-index:-1;
  pointer-events:none;
}
:root[data-theme="light"] #uiTallyLauncher strong{
  color:#1b2443!important;
}
:root[data-theme="light"] #uiTallyLauncher small{
  color:#61708d!important;
}
:root[data-theme="light"] #uiTallyLauncher:hover{
  border-color:rgba(131,89,239,.42)!important;
  box-shadow:
    0 14px 38px rgba(42,53,98,.14),
    0 0 24px rgba(35,185,232,.10),
    0 0 26px rgba(131,89,239,.12),
    0 0 0 1px rgba(255,255,255,.80) inset!important;
}


/* UI v1.4 — Portal / Account Directory. Browser-local organizational directory only. */
.portal-password-warning strong{display:block;color:var(--ui-red);font-size:14px;margin-bottom:4px}
.portal-view-control{display:grid;gap:6px;min-width:154px;color:var(--ui-muted);font-size:12px;font-weight:650}
.portal-view-segmented{display:flex;border:1px solid var(--ui-border);border-radius:9px;overflow:hidden;background:var(--ui-surface)}
.portal-view-segmented button{border:0;border-right:1px solid var(--ui-border);background:transparent;color:var(--ui-muted);padding:8px 10px;cursor:pointer;font-size:12px;font-weight:700}
.portal-view-segmented button:last-child{border-right:0}.portal-view-segmented button[aria-pressed=true]{background:var(--lb-shell-purple-soft);color:var(--ui-purple);box-shadow:inset 0 0 16px rgba(140,99,255,.08)}
.portal-directory[data-view=cards]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.portal-directory[data-view=list]{display:block;margin-bottom:20px}
.portal-record{min-width:0}.portal-record .record-card-head p{overflow-wrap:anywhere}.portal-open-action{color:var(--ui-cyan)!important;border-color:rgba(53,215,241,.32)!important}
.portal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--ui-line)}
.portal-detail-grid>div{min-width:0;padding:14px 16px;border-right:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line)}
.portal-detail-grid>div:nth-child(2n){border-right:0}.portal-detail-grid>div:nth-last-child(-n+2){border-bottom:0}.portal-detail-grid>div:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
.portal-detail-grid span,.portal-detail-grid small{display:block;color:var(--ui-muted);font-size:11px;line-height:1.4}.portal-detail-grid strong{display:block;margin-top:6px;font-size:14px;overflow-wrap:anywhere}.portal-detail-grid small{margin-top:4px}
.portal-note{padding:12px 16px;color:var(--ui-muted);font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ui-panel-alt)}
.portal-list-wrap{border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-panel);box-shadow:var(--ui-shadow);overflow:hidden}
.portal-list-head,.portal-list-row{display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(120px,.7fr) minmax(170px,1fr) minmax(165px,.9fr) minmax(125px,.7fr) minmax(250px,1.2fr);gap:12px;align-items:center}
.portal-list-head{padding:10px 14px;background:var(--ui-panel-alt);border-bottom:1px solid var(--ui-line);color:var(--ui-muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.portal-list-row{padding:13px 14px;border-bottom:1px solid var(--ui-line);font-size:12px}.portal-list-row:last-child{border-bottom:0}.portal-list-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.portal-list-row small,.portal-list-login span{display:block;color:var(--ui-muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.portal-list-primary strong{font-size:14px;margin:0 0 4px}.portal-list-category strong{font-size:13px;font-weight:750}.portal-list-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.portal-list-actions button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:7px;padding:6px 7px;font-size:11px;cursor:pointer;color:var(--ui-muted)}
.modal-password-warning{grid-column:1/-1;display:grid;gap:5px;border:1px solid rgba(255,96,129,.38);border-radius:10px;background:var(--lb-shell-red-soft);padding:11px 12px;margin-bottom:13px}.modal-password-warning strong{color:var(--ui-red);font-size:13px}.modal-password-warning span{color:var(--ui-muted);font-size:12px;line-height:1.5}.muted-copy{color:var(--ui-muted)}
:root[data-effects=current] .portal-record{animation:uiMinorBreath 11s ease-in-out infinite}:root[data-effects=subtle] .portal-record{animation:none!important}
@media(max-width:1180px){.portal-directory[data-view=cards]{grid-template-columns:1fr}.portal-list-wrap{overflow:auto}.portal-list-head,.portal-list-row{min-width:1090px}}
@media(max-width:760px){.portal-detail-grid{grid-template-columns:1fr}.portal-detail-grid>div{border-right:0!important;border-bottom:1px solid var(--ui-line)!important}.portal-detail-grid>div:last-child{grid-column:auto;border-bottom:0!important}.portal-view-control{width:100%}.portal-view-segmented{width:100%}.portal-view-segmented button{flex:1}}


/* UI P06 v1.4.1 — UI-only readability + centered Tally.
   No shared-shell, Parent, or other-module source is modified. */

/* Increase shared-shell typography only while rendered inside UI. */
html[data-lb-module="ui"]{font-size:16px}
html[data-lb-module="ui"] .header-app{font-size:15px}
html[data-lb-module="ui"] .visual-control{font-size:14px}
html[data-lb-module="ui"] .segmented button{font-size:14px}
html[data-lb-module="ui"] .plan-pill{font-size:14px}
html[data-lb-module="ui"] .plan-pill span{font-size:13px}
html[data-lb-module="ui"] .module-symbol{font-size:18px}
html[data-lb-module="ui"] .product-lockup small{font-size:13px}
html[data-lb-module="ui"] .nav-caption{font-size:12px}
html[data-lb-module="ui"] .nav-item{font-size:16px}
html[data-lb-module="ui"] .preview-status{font-size:13px}
html[data-lb-module="ui"] .preview-status small{font-size:12px}
html[data-lb-module="ui"] .side-link{font-size:13px}

/* Inputs inherit the larger UI scale consistently. */
html[data-lb-module="ui"] input,
html[data-lb-module="ui"] select,
html[data-lb-module="ui"] textarea{
  font-size:14px;
}

/* Ask Tally is a true centered modal in UI, not a top/right docked window. */
html[data-lb-module="ui"] .tally-dialog{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  width:min(520px,calc(100vw - 32px));
  height:min(650px,calc(100dvh - 40px));
  max-height:calc(100dvh - 40px);
}

/* Keep the centered dialog usable on small screens. */
@media(max-width:720px){
  html[data-lb-module="ui"] .nav-item{font-size:14px}
  html[data-lb-module="ui"] .tally-dialog{
    width:calc(100vw - 20px);
    height:min(650px,calc(100dvh - 20px));
    max-height:calc(100dvh - 20px);
  }
}
@media(max-width:390px){
  html[data-lb-module="ui"] .nav-item{font-size:13px}
}


/* UI checklist per-item positive feedback — positioned beside the checked checkbox. */
.checklist-checkoff-pop{position:fixed;right:24px;bottom:112px;z-index:1400;width:max-content;max-width:min(300px,calc(100vw - 24px));pointer-events:none;border:1px solid rgba(140,99,255,.42);border-radius:11px;background:var(--ui-panel);box-shadow:0 14px 36px rgba(0,0,0,.28),0 0 20px rgba(140,99,255,.12);padding:9px 11px;animation:checkoffPopIn .22s ease-out both}
.checklist-checkoff-pop strong{display:block;font-size:13px;color:var(--ui-purple)}.checklist-checkoff-pop span{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:var(--ui-ink);white-space:normal}.checklist-checkoff-pop.leaving{animation:checkoffPopOut .32s ease-in both}.checklist-checkoff-pop[data-effects=subtle]{box-shadow:var(--ui-shadow);animation:none}.checklist-checkoff-pop[data-effects=subtle].leaving{opacity:0;transition:opacity .25s ease}@keyframes checkoffPopIn{from{opacity:0;transform:translateX(-5px) scale(.97)}to{opacity:1;transform:none}}@keyframes checkoffPopOut{from{opacity:1;transform:none}to{opacity:0;transform:translateX(5px) scale(.98)}}
@media(max-width:560px){.checklist-checkoff-pop{max-width:220px}.checklist-checkoff-pop strong{font-size:12px}.checklist-checkoff-pop span{font-size:11px}}

/* UI P10C2D3 — Portal / Account Directory sidebar overflow repair. UI-only.
   Preserve the shared 284px shell; tighten only the longest UI nav row. */
@media (min-width:721px){
  html[data-lb-module="ui"][data-sidebar="expanded"] .nav-item[data-view="portals"]{
    font-size:15px;
    gap:10px;
    padding-left:12px;
    padding-right:12px;
    letter-spacing:-.01em;
  }
}
@media (max-width:720px){
  html[data-lb-module="ui"][data-sidebar-overlay="true"] .nav-item[data-view="portals"]{
    font-size:13px;
    gap:10px;
    padding-left:12px;
    padding-right:12px;
    letter-spacing:-.01em;
  }
}

/* Production CSP repair: discrete progress widths avoid inline style attributes. */
.ui-progress-pct-0{width:0%}.ui-progress-pct-1{width:1%}.ui-progress-pct-2{width:2%}.ui-progress-pct-3{width:3%}.ui-progress-pct-4{width:4%}.ui-progress-pct-5{width:5%}.ui-progress-pct-6{width:6%}.ui-progress-pct-7{width:7%}.ui-progress-pct-8{width:8%}.ui-progress-pct-9{width:9%}.ui-progress-pct-10{width:10%}.ui-progress-pct-11{width:11%}.ui-progress-pct-12{width:12%}.ui-progress-pct-13{width:13%}.ui-progress-pct-14{width:14%}.ui-progress-pct-15{width:15%}.ui-progress-pct-16{width:16%}.ui-progress-pct-17{width:17%}.ui-progress-pct-18{width:18%}.ui-progress-pct-19{width:19%}.ui-progress-pct-20{width:20%}.ui-progress-pct-21{width:21%}.ui-progress-pct-22{width:22%}.ui-progress-pct-23{width:23%}.ui-progress-pct-24{width:24%}.ui-progress-pct-25{width:25%}.ui-progress-pct-26{width:26%}.ui-progress-pct-27{width:27%}.ui-progress-pct-28{width:28%}.ui-progress-pct-29{width:29%}.ui-progress-pct-30{width:30%}.ui-progress-pct-31{width:31%}.ui-progress-pct-32{width:32%}.ui-progress-pct-33{width:33%}.ui-progress-pct-34{width:34%}.ui-progress-pct-35{width:35%}.ui-progress-pct-36{width:36%}.ui-progress-pct-37{width:37%}.ui-progress-pct-38{width:38%}.ui-progress-pct-39{width:39%}.ui-progress-pct-40{width:40%}.ui-progress-pct-41{width:41%}.ui-progress-pct-42{width:42%}.ui-progress-pct-43{width:43%}.ui-progress-pct-44{width:44%}.ui-progress-pct-45{width:45%}.ui-progress-pct-46{width:46%}.ui-progress-pct-47{width:47%}.ui-progress-pct-48{width:48%}.ui-progress-pct-49{width:49%}.ui-progress-pct-50{width:50%}.ui-progress-pct-51{width:51%}.ui-progress-pct-52{width:52%}.ui-progress-pct-53{width:53%}.ui-progress-pct-54{width:54%}.ui-progress-pct-55{width:55%}.ui-progress-pct-56{width:56%}.ui-progress-pct-57{width:57%}.ui-progress-pct-58{width:58%}.ui-progress-pct-59{width:59%}.ui-progress-pct-60{width:60%}.ui-progress-pct-61{width:61%}.ui-progress-pct-62{width:62%}.ui-progress-pct-63{width:63%}.ui-progress-pct-64{width:64%}.ui-progress-pct-65{width:65%}.ui-progress-pct-66{width:66%}.ui-progress-pct-67{width:67%}.ui-progress-pct-68{width:68%}.ui-progress-pct-69{width:69%}.ui-progress-pct-70{width:70%}.ui-progress-pct-71{width:71%}.ui-progress-pct-72{width:72%}.ui-progress-pct-73{width:73%}.ui-progress-pct-74{width:74%}.ui-progress-pct-75{width:75%}.ui-progress-pct-76{width:76%}.ui-progress-pct-77{width:77%}.ui-progress-pct-78{width:78%}.ui-progress-pct-79{width:79%}.ui-progress-pct-80{width:80%}.ui-progress-pct-81{width:81%}.ui-progress-pct-82{width:82%}.ui-progress-pct-83{width:83%}.ui-progress-pct-84{width:84%}.ui-progress-pct-85{width:85%}.ui-progress-pct-86{width:86%}.ui-progress-pct-87{width:87%}.ui-progress-pct-88{width:88%}.ui-progress-pct-89{width:89%}.ui-progress-pct-90{width:90%}.ui-progress-pct-91{width:91%}.ui-progress-pct-92{width:92%}.ui-progress-pct-93{width:93%}.ui-progress-pct-94{width:94%}.ui-progress-pct-95{width:95%}.ui-progress-pct-96{width:96%}.ui-progress-pct-97{width:97%}.ui-progress-pct-98{width:98%}.ui-progress-pct-99{width:99%}.ui-progress-pct-100{width:100%}


/* PROD UI visual polish — centered, larger Daily Tally message. CSS-only. */
#tallyReaction{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  width:min(560px,calc(100vw - 40px));
  min-height:160px;
  padding:24px 28px;
  gap:20px;
  border-radius:22px;
  transform:translate(-50%,-50%);
  box-shadow:0 26px 90px rgba(0,0,0,.42);
  animation:uiCenteredTallyReactionIn .3s ease;
}
#tallyReaction img{width:104px;height:104px;flex:0 0 104px}
#tallyReaction strong{font-size:22px;line-height:1.2}
#tallyReaction span{font-size:15px;line-height:1.55;margin-top:8px}
@keyframes uiCenteredTallyReactionIn{
  from{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.98)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@media(max-width:620px){
  #tallyReaction{width:calc(100vw - 28px);min-height:0;padding:20px;gap:14px}
  #tallyReaction img{width:84px;height:84px;flex-basis:84px}
  #tallyReaction strong{font-size:19px}
  #tallyReaction span{font-size:14px}
}


/* P43D — UI-only Workspace settings + suite-matched Tally dock. Main app.js remains untouched. */
.ui-preview-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ui-preview-settings-grid>section{border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);padding:15px}
.ui-preview-settings-grid h3{margin:0 0 5px;font-size:15px}
.ui-preview-settings-grid p{margin:0 0 12px;color:var(--ui-muted);font-size:12px;line-height:1.55}
.ui-preview-settings-grid .segmented{width:max-content;max-width:100%}
.ui-preview-settings-grid .button{min-width:128px}
.ui-preview-settings-note{display:grid;gap:4px;margin-top:15px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-panel-alt);padding:12px 14px}
.ui-preview-settings-note strong{font-size:12px}
.ui-preview-settings-note span{color:var(--ui-muted);font-size:11px;line-height:1.5}

/* Match the working suite Tally dock composition: neon launcher + separate compact arrow. */
#uiTallyDock{display:flex;align-items:center;gap:6px}
#uiTallyLauncher{position:relative;isolation:isolate;overflow:visible}
:root[data-effects=current] #uiTallyLauncher.ui-tally-neon::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;background:linear-gradient(105deg,var(--ui-neon-cyan),var(--ui-neon-purple),var(--ui-neon-pink),var(--ui-neon-cyan));background-size:250% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:uiBorderFlow 7s linear infinite;z-index:2}
:root[data-effects=subtle] #uiTallyLauncher.ui-tally-neon::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(105deg,rgba(46,216,255,.26),rgba(140,99,255,.25),rgba(255,76,167,.20));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.48;z-index:2}
#uiTallyDock .ui-tally-dock-toggle{width:22px;height:31px;display:grid;place-items:center;flex:0 0 22px;border:1px solid var(--ui-border);background:var(--ui-panel);border-radius:7px;padding:0;color:var(--ui-muted);box-shadow:none;cursor:pointer}
#uiTallyDock .ui-tally-dock-toggle .icon{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}
#uiTallyDock .ui-tally-dock-toggle:hover{border-color:var(--ui-purple);color:var(--ui-ink);background:var(--ui-surface)}
#uiTallyDock.collapsed .tally-launcher-copy{display:none}
#uiTallyDock.collapsed .tally-launcher{height:69px;padding:5px}
#uiTallyDock.collapsed .tally-art{width:60px;height:60px}
@media(max-width:720px){.ui-preview-settings-grid{grid-template-columns:1fr}#uiTallyDock{gap:5px}#uiTallyDock .ui-tally-dock-toggle{width:22px;height:30px;flex-basis:22px}}
