﻿@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&display=swap');
@font-face{font-family:'DOSVDisplay';src:url('./assets/fonts/Web437_DOS-V_re_JPN30.woff') format('woff');font-display:swap}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Synthetic (default) â€” reference palette */
  --g:#4db88a;--gd:#34996d;--gb:#1b704d;--gf:#0f4d34;--gff:#080808;
  --accent:#34996d;--accent-dk:#1b704d;
  --color2:#c8c8c8;
  --cat:#080808;--red:#8b2020;--red-lt:#b03030;--red-text:#e0a0a0;
  --white:#e8e5e9;--offwhite:#c8c8c8;--grey:#888;--vv:#8fd9b4;
  --text:#a59587;--text-dim:#34996d; /* body text: warm stone â€” readable contrast against green chrome */
  --scan:transparent;
  --glow:none;
  --glow2:none;
  --D:'DOSVDisplay','Courier New',monospace;
  --B:'IBM Plex Mono','Courier New',monospace;
  --font-display:var(--D);
  --font-body:var(--B);
  --type-h1:32px;
  --type-h2:20px;
  --type-h3:14px;
  --type-body:13px;
  --type-small:12px;
  --type-button:12px;
  --type-badge:11px;
  --badge-pad-y:3px;
  --badge-pad-x:10px;
  --track-display:0.04em;
  --track-heading:0.16em;
  --track-body:0;
  --track-small:0.14em;
  --track-button:0.14em;
  --track-badge:0.12em;
}
html,body{background:#080808;min-height:100vh;text-rendering:auto}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;display:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,var(--scan) 4px,transparent 5px)}
body.auth-shell::before{z-index:40}
body.crt-off::before,
body[data-effects="off"]::before{display:none}
body.crt-off,
body[data-effects="off"]{--scan:transparent;--glow:none;--glow2:none;text-shadow:none!important;box-shadow:none!important;filter:none!important}
body.crt-off *,
body.crt-off *::before,
body.crt-off *::after,
body[data-effects="off"] *,
body[data-effects="off"] *::before,
body[data-effects="off"] *::after{
  text-shadow:none!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
}
body.crt-off .sb-logo,
body.crt-off .auth-logo,
body[data-effects="off"] .sb-logo,
body[data-effects="off"] .auth-logo{mix-blend-mode:normal;opacity:1}
body.crt-off .sb-dot,
body.crt-off .auth-cursor,
body[data-effects="off"] .sb-dot,
body[data-effects="off"] .auth-cursor{animation:none}
body.crt-off .auth-status,
body.crt-off .auth-status-danger,
body.crt-off .auth-line-danger,
body.crt-off .top-big,
body.crt-off .sb-clock,
body.crt-off .uh-count,
body.crt-off .dt-title,
body.crt-off .cl-num,
body[data-effects="off"] .auth-status,
body[data-effects="off"] .auth-status-danger,
body[data-effects="off"] .auth-line-danger,
body[data-effects="off"] .top-big,
body[data-effects="off"] .sb-clock,
body[data-effects="off"] .uh-count,
body[data-effects="off"] .dt-title,
body[data-effects="off"] .cl-num{color:var(--g)!important;text-shadow:none!important}

#shell{display:flex;max-width:1280px;width:100%;margin:0 auto;padding:180px 56px 90px;gap:64px;align-items:stretch}
body.app-booting #shell{display:none}
body.auth-shell #shell{display:none}

/* SIDEBAR */
#sidebar-col{width:192px;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:60px;align-self:stretch;min-height:calc(100vh - 200px)}

#sidebar{flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden;background:transparent}
.sb-top{padding:12px 0 16px;display:flex;flex-direction:column;align-items:center}
.sb-veilnet{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;width:100%;text-align:center}
.brand-text{font-family:var(--font-display);color:var(--g);text-transform:uppercase;line-height:.92;text-shadow:none}
.brand-text-sidebar{font-size:28px;letter-spacing:.16em}
.brand-text-auth{font-size:40px;letter-spacing:.18em}
.sb-dot{width:7px;height:7px;background:var(--g);border-radius:50%;box-shadow:var(--glow);animation:dotpulse 2s ease-in-out infinite;flex-shrink:0}
@keyframes dotpulse{0%,100%{opacity:1}50%{opacity:.5}}
.sb-clock{font-family:var(--B);font-size:var(--type-small);color:var(--color2);letter-spacing:var(--track-small);line-height:1;text-shadow:none}
.sb-date{font-family:var(--B);font-size:11px;color:var(--color2);margin-top:5px;letter-spacing:0.04em;text-shadow:none}
/\* Convention callout block - integrated into nav */
/* sb-con-nav: always visible, nav section style */
.sb-con-nav{display:block;padding:13px 14px;background:var(--gf);margin-bottom:3px;margin-top:3px}
.sb-con-nav:empty{display:none}
.sb-con-label{display:block;font-family:var(--B);font-size:var(--type-small);color:var(--gd);letter-spacing:var(--track-small);text-transform:uppercase;line-height:1.3}
.sb-con-count{display:inline;font-family:var(--B);font-size:var(--type-small);color:var(--color2);letter-spacing:var(--track-small);font-weight:bold}
.sb-con-count.urgent{color:var(--red-lt)}
.sb-con-count.past{color:var(--gb)}
.sb-con-unit{display:none}
.sb-nav{flex:0 0 auto;padding:16px 0 0;overflow-y:visible}
.sb-item{display:block;width:100%;padding:12px 10px;background:var(--gf);border:none;color:var(--gd);font-family:var(--B);font-size:var(--type-body);letter-spacing:var(--track-body);text-transform:uppercase;cursor:pointer;text-align:left;transition:color .1s,background .1s;text-shadow:none;-webkit-font-smoothing:antialiased;margin-bottom:9px}
.sb-item:hover{color:var(--g)}
.sb-item.active{color:#000;background:var(--g)}
.sb-user-toggle{padding:6px 14px 20px;display:none}
.sb-user-toggle.person-toggle{display:none}
/* User selector in sidebar: big DOSVDisplay, text-only, no outline */
.sb-user-toggle .person-btn{border:none!important;background:transparent!important;font-family:var(--D)!important;font-size:20px!important;letter-spacing:0.06em!important;text-transform:uppercase!important;color:var(--gb)!important;padding:10px 18px!important;width:auto!important;flex:none!important}
.sb-user-toggle .person-btn:hover{color:var(--gd)!important;background:transparent!important}
.sb-user-toggle .person-btn.active{color:var(--g)!important;background:transparent!important;border:none!important}
body.dashboard-shell .sb-user-toggle{display:block}
body.dashboard-shell .sb-user-toggle.person-toggle{display:flex}
.sb-search-wrap{padding:0;margin-top:14px}
.sb-bottom{padding:12px 18px}
/* Gap between main nav items and utility items (Theme, Search) */
.sb-item--theme{margin-top:16px}
.sb-effects-toggle{display:none}
.sb-logout{display:block;width:100%;padding:8px 0;background:transparent;border:none;color:var(--gb);font-family:var(--B);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;text-align:left;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s}
.sb-logout:hover{color:var(--red)}
.sb-sync{font-family:var(--B);font-size:10px;color:var(--gd);letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;display:flex;align-items:center;gap:6px;line-height:1.2;margin-bottom:14px}
.sb-sync.ok{color:var(--gd)}.sb-sync.err{color:var(--red)}
/* sb-brand-row is always centered; sb-sync always centered */
.sb-sync{justify-content:center}
body.detail-shell .sb-clock{margin-top:12px}
body.detail-shell .sb-date{margin-bottom:8px}

/* MAIN */
#main{flex:1;min-width:0;width:auto;max-width:none;margin:0;position:relative;overflow-y:auto;scrollbar-width:none;padding-left:12px}
#main::-webkit-scrollbar,#sidebar .sb-nav::-webkit-scrollbar{display:none}
#main-utility{display:none}
.utility-bar{display:grid;grid-template-columns:minmax(0,max-content) minmax(320px,1fr);align-items:end;column-gap:108px}
.utility-crumb{display:flex;align-items:flex-end;gap:10px;background:none;border:none;padding:0;cursor:pointer;min-width:0;max-width:100%}
.utility-crumb:hover .utility-crumb-root,.utility-crumb:hover .utility-crumb-caret{color:var(--white)}
.utility-crumb-caret,.utility-crumb-root,.utility-crumb-page{font-family:var(--D);font-size:26px;line-height:1;letter-spacing:0.08em;text-transform:uppercase}
.utility-crumb-caret{font-size:32px;color:var(--g);text-shadow:none;-webkit-font-smoothing:antialiased;transform:translateY(1px)}
.utility-crumb-root{color:var(--g);text-shadow:none;-webkit-font-smoothing:antialiased}
.utility-crumb-sep{font-family:var(--B);font-size:18px;color:var(--gd);line-height:1;padding:0 2px 2px;text-shadow:none}
.utility-crumb-page{color:var(--color2);text-shadow:none;-webkit-font-smoothing:antialiased}
.utility-results{display:none;border:1px solid var(--gb);background:#000}
.utility-results.active{display:block}
.utility-results-empty{padding:14px 16px;font-family:var(--B);font-size:14px;color:var(--gd);letter-spacing:0.03em}
.sidebar-search-results{margin-top:10px}
.utility-hit{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--gff);cursor:pointer}
.utility-hit:first-child{border-top:none}
.utility-hit:hover{background:var(--gff)}
.utility-hit-main{min-width:0}
.utility-hit-title{font-family:var(--B);font-size:15px;color:var(--white);letter-spacing:0.02em;line-height:1.35}
.utility-hit-meta{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.03em;line-height:1.4;margin-top:4px}
.utility-hit-view{font-family:var(--B);font-size:11px;color:var(--gb);letter-spacing:0.08em;text-transform:uppercase;flex-shrink:0;align-self:center}
.view{display:none}.view.active{display:block}
#view-auth{max-width:1080px;width:100%;margin:0 auto;padding:52px 56px}
.page-pad{padding:0 0 120px}
body.dashboard-shell #main-utility{padding:0 24px;height:0;overflow:visible;background:transparent}
body.dashboard-shell .page-pad{padding-top:48px;padding-bottom:80px}
body.dashboard-shell .dash-page{padding-top:0}
body.dashboard-shell #shell{max-width:1440px;padding:180px 64px 96px;gap:88px}
body.dashboard-shell #main{padding-right:40px}
/* clock/date show on all pages including dashboard */

/* PAGE HEADER */
.page-hdr{display:none}
.eyebrow{display:none}
.page-title{display:none}
.page-rule{display:none}

/* AUTH */
.auth-page{min-height:calc(100vh - 104px);display:flex;align-items:flex-start}
.auth-frame{width:100%;min-height:calc(100vh - 104px);border:1px solid var(--gb);padding:28px 30px 34px;background:#000;outline:none;cursor:text;position:relative;overflow:hidden}
.auth-brand{margin-bottom:28px;max-width:246px}
.auth-output{font-family:var(--D);font-size:24px;line-height:1.1;letter-spacing:0.01em;text-transform:uppercase;color:var(--g);text-shadow:none;-webkit-font-smoothing:antialiased;position:relative;z-index:1;min-height:420px}
.auth-line,.auth-live{min-height:28px;white-space:pre-wrap;word-break:break-word}
.auth-line-prompt{color:var(--g)}
.auth-line-muted,.auth-live-muted{color:var(--gd);text-shadow:none}
.auth-line-danger{color:var(--red);text-shadow:none}
.auth-status{margin-top:28vh;text-align:center;font-size:clamp(40px,8vw,104px);line-height:.95;letter-spacing:.06em;color:var(--g);text-shadow:var(--glow2)}
.auth-status span{display:block;margin-top:18px;font-size:clamp(18px,3vw,34px);line-height:1.1}
.auth-status-danger{color:var(--red);text-shadow:none}
.auth-cursor{display:inline-block;width:13px;height:22px;margin-left:6px;transform:translateY(3px);background:var(--g);box-shadow:var(--glow);animation:auth-cursor-blink 1.05s steps(1,end) infinite}
.auth-hidden-input{position:fixed;left:-1000px;top:-1000px;opacity:0;width:1px;height:1px;border:0;outline:0;background:transparent}
@keyframes auth-cursor-blink{0%,46%{opacity:1}47%,100%{opacity:0}}

/* DASHBOARD */
.dash-page{padding-top:0;padding-left:24px;padding-right:48px}
.top-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;margin-bottom:58px}
.top-mod,.gif-mod{border:1px solid var(--gb);border-radius:4px;min-height:92px;padding:24px 22px 22px}
.top-mod{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.top-big{font-family:var(--D);font-size:32px;color:var(--g);letter-spacing:0.06em;line-height:1;text-shadow:var(--glow)}
.top-sub{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.04em;text-shadow:none;margin-top:10px;line-height:1.4;text-align:center;-webkit-font-smoothing:antialiased}
.top-sub.link{text-decoration:underline;text-underline-offset:3px}
.gif-mod{display:flex;align-items:center;justify-content:center}
.dash-search-mod{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;border:none;border-radius:0;min-height:0;background:transparent}
.dash-search-results{margin-top:10px;max-height:208px;overflow-y:auto}
.body-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:32px;row-gap:38px;align-items:stretch}
.left-top{grid-column:1;grid-row:1;display:flex;flex-direction:column}
.right-col{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column}
.left-bottom{grid-column:1;grid-row:2;display:flex;flex-direction:column}
.dash-wide-card{grid-column:1 / span 2}
.mod-hdr{font-family:var(--D);font-size:17px;color:var(--color2);letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;margin-bottom:13px;line-height:1}
.dash-card-hdr{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mod-box{border:1px solid var(--gb);border-radius:4px;padding:32px 24px 30px;flex:1}
.left-bottom .mod-box{min-height:0}
.right-col .mod-box{min-height:0}
.dash-combined-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}
/* Tab-based user switcher */
.dash-user-tabs{margin-bottom:32px}
.dash-user-tabs .sub-tab{padding:10px 28px;border:1px solid var(--gb)}
.dash-user-tabs .sub-tab.active{background:var(--accent);color:var(--color2);border-color:var(--accent)}
/* Content area — no box, just spacing */
.dash-user-content{max-width:1120px;width:100%;padding-right:0}
/\* Convention section at top of dashboard \*/
.dash-con-section{margin-bottom:0;margin-left:-24px}
.dash-con-section .dash-day-hdr{color:var(--color2);text-shadow:none}
.dash-con-section + .dash-day-section{margin-top:36px}
.dash-con-section + .dash-next-count{margin-top:24px;margin-left:-24px}
.dash-con-inline-name{cursor:pointer;color:inherit;text-shadow:none;-webkit-font-smoothing:antialiased}
.dash-con-inline-name:hover{color:var(--white)}

/* Days-to-next-event countdown above event sections */
.dash-next-count{font-family:var(--D)!important;font-size:22px!important;letter-spacing:0.06em!important;color:var(--color2);text-transform:uppercase!important;line-height:1;text-shadow:var(--glow);margin-bottom:28px}
/* Day sections: TODAY / TOMORROW */
.dash-day-section{margin-bottom:32px}
.dash-day-hdr{font-family:var(--D)!important;font-size:22px!important;letter-spacing:0.06em!important;color:var(--g);text-transform:uppercase!important;margin-bottom:12px;line-height:1;text-shadow:var(--glow)}
/* Event rows within day sections */
.dash-event-row{display:flex;align-items:baseline;gap:14px;padding:6px 0}
.dash-event-row:last-child{border-bottom:none}
.dash-event-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}
.dash-event-name{font-family:var(--B);font-size:var(--type-body);color:var(--g);line-height:1.4;min-width:0}
.dash-event-time{font-family:var(--B);font-size:var(--type-small);color:var(--text);letter-spacing:var(--track-small);text-transform:uppercase;flex-shrink:0;white-space:nowrap}
.dash-owner-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid transparent;font-family:var(--B);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;line-height:1;color:#080808}
.dash-owner-badge.faye{background:var(--accent);border-color:var(--accent)}
.dash-owner-badge.juno{background:var(--color2);border-color:var(--color2)}
.dash-owner-badge.shared{background:var(--gb);border-color:var(--gb);color:var(--white)}
/* Separator between calendar and missions sections */
.dash-missions-sep{height:16px}
/* Keep col/combined remnants from breaking anything */
.dash-combined-col{padding:28px 28px 32px;min-width:0}
.dash-combined-col+.dash-combined-col{border-left:none;padding-left:40px}
.dash-col-hdr{margin-bottom:20px}
.dash-section-gap{height:20px}
/* Reminder strip above user boxes */
.dash-rem-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;margin-bottom:24px}
.dash-rem-chip{font-family:var(--B);font-size:var(--type-body);color:var(--text);letter-spacing:0.04em;padding:0 14px;transition:color .1s;line-height:1.5}
.dash-rem-chip:first-child{padding-left:0}
.dash-rem-chip.con{color:var(--color2);cursor:pointer}
.dash-rem-chip.con:hover{color:var(--g)}
.dash-rem-chip.urgent{color:var(--red-lt)}
.dash-rem-chip.past{color:var(--gb)}
.dash-rem-sep{font-family:var(--B);font-size:var(--type-small);color:var(--gb);padding:0 2px;line-height:1}
.dash-combined-col .uh-row:first-child{border-top:none}
.lb-entry{padding:14px 0}
.lb-entry:first-child{padding-top:0}
.lb-entry:last-child{padding-bottom:0}
.lb-name{font-family:var(--B);font-size:14px;color:var(--g);text-transform:uppercase;letter-spacing:0.06em;-webkit-font-smoothing:antialiased;margin-bottom:10px;text-shadow:none}
.lb-pct{font-family:var(--B);font-size:10px;color:var(--g);letter-spacing:0.1em;text-align:right;margin-bottom:4px;text-shadow:none}
.lb-track{height:8px;background:var(--gf);border-radius:3px}
.lb-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .25s}
.lb-fill.b{background:#99ffcc}
.uh-row{padding:0 0 6px}
.uh-row+.uh-row{border-top:none;margin-top:30px;padding-top:0}
.uh-trigger{display:flex;justify-content:space-between;align-items:center;padding:0 0 14px;cursor:default}
.uh-left{display:flex;align-items:center;gap:14px;min-width:0}
.uh-count{font-family:var(--D);font-size:22px;color:var(--g);line-height:1;text-shadow:none;min-width:24px}
.uh-count.z{color:var(--gb);text-shadow:none}
.uh-name{font-family:var(--D);font-size:18px;color:var(--gd);letter-spacing:0;text-shadow:none;text-transform:uppercase;-webkit-font-smoothing:antialiased}
.uh-chev{display:none;width:9px;height:9px;border-right:1px solid var(--g);border-bottom:1px solid var(--g);transform:rotate(45deg);transition:transform .15s;flex-shrink:0}
.uh-chev.down{transform:rotate(45deg)}
.uh-trigger .uh-chev:not(.down){transform:rotate(-135deg)}
.uh-drop{padding:2px 0 2px 0}
.uh-drop.closed{display:block}
.uh-drop-item,.uh-drop-empty{font-family:var(--B);font-size:var(--type-body);color:var(--text);letter-spacing:0;line-height:1.45;text-shadow:none;padding:6px 0;-webkit-font-smoothing:antialiased}
.uh-drop-empty{color:var(--gd)}
.uh-drop-check{display:inline-block;width:10px;height:10px;border:1px solid var(--gb);margin-right:8px;vertical-align:middle}
.uh-drop-meta{color:var(--gd);font-size:11px}
.dash-grp{margin-bottom:26px}
.dash-day-section .dash-grp:first-of-type{margin-top:18px}
.dash-grp:last-child{margin-bottom:0}
.dash-grp-hdr{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);font-size:var(--type-h3)!important;letter-spacing:var(--track-heading);text-transform:uppercase;color:var(--color2);padding:0 0 8px;margin-bottom:6px;line-height:1;cursor:pointer;user-select:none}
.dash-grp-tog{color:var(--gb);font-size:14px;line-height:1}
.dash-grp-body.collapsed{display:none}
.st-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0}
.st-bang{width:8px;color:var(--red);font-family:var(--B);font-size:12px;line-height:1.2;flex-shrink:0}
.st-name{font-family:var(--B);font-size:15px;color:var(--text);line-height:1.4;letter-spacing:0;text-shadow:none;cursor:pointer;-webkit-font-smoothing:antialiased}
.st-name:hover{color:var(--g)}
.dash-task-check{width:12px;height:12px;min-width:12px;border:1px solid var(--gb);background:transparent;cursor:pointer;flex-shrink:0;margin-top:4px}
.dash-task-check:hover{border-color:var(--g)}
.dash-task-name{font-family:var(--B);font-size:14px;color:var(--text);line-height:1.45;letter-spacing:0;text-shadow:none;cursor:pointer;-webkit-font-smoothing:antialiased}
.dash-task-name:hover{color:var(--g)}
.uh-drop-item.task{display:flex;align-items:flex-start;gap:10px}
.dash-mission-entry{display:flex;align-items:flex-start;gap:10px;padding:5px 0 3px;cursor:text}
.dash-task-check-ghost{border-color:var(--gf);opacity:.55;cursor:text}
.dash-mission-input{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--B);font-size:14px;line-height:1.45;letter-spacing:0;outline:none;caret-color:var(--g);text-shadow:none;-webkit-font-smoothing:antialiased;padding:0;min-width:0}
.dash-mission-entry:focus-within .dash-task-check-ghost{border-color:var(--g);opacity:1}
.dash-empty{font-family:var(--B);font-size:13px;color:var(--gd);letter-spacing:0.03em;text-shadow:none}
.dash-empty-day{font-family:var(--B);font-size:var(--type-small);color:var(--gb);letter-spacing:var(--track-small);text-transform:uppercase;padding:6px 0;text-shadow:none}

/* PAGE COPY — inline prose text (e.g. "Tasks waiting on Faye") */
.page-copy{font-family:var(--B);font-size:var(--type-body);color:var(--gd);letter-spacing:var(--track-body);text-shadow:none;-webkit-font-smoothing:antialiased;line-height:1.5}

/* Assignments column should stop at the tab rail instead of stretching across the page */
.assignments-shell{width:min(100%,820px)}

/* SUB-TABS */
.sub-tabs{display:flex;border-bottom:1px solid var(--gb);margin-bottom:28px}
.sub-tabs--assignments{border-bottom:none}
.sub-tab{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--gd);font-family:var(--B);font-size:var(--type-small);letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:color .1s;text-shadow:none;-webkit-font-smoothing:antialiased}
.sub-tab:hover{color:var(--g)}.sub-tab{margin-bottom:-1px}.sub-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.sub-tabs--assignments .sub-tab{margin-bottom:0;border-bottom-color:var(--gb);padding:8px 14px}
.sub-tabs--assignments .sub-tab:hover{border-bottom-color:var(--g)}
.sub-tabs--assignments .sub-tab.active{background:var(--accent);color:var(--color2);border-bottom-color:var(--accent)}
/* Backburner tab — visually de-emphasized */
.sub-tab--dim:not(.active){color:var(--gb)}
.sub-tab--dim:not(.active):hover{color:var(--gd)}

/* ASSIGNMENTS FILTER */
.assign-filter{position:relative;margin-bottom:0}
.assign-filter-toggle{display:flex;align-items:center;gap:8px;list-style:none;padding:4px 0;background:transparent;border:none;color:var(--gb);font-family:var(--B);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;text-shadow:none;-webkit-font-smoothing:antialiased}
.assign-filter-toggle::-webkit-details-marker{display:none}
.assign-filter-toggle::after{content:'';display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.75}
.assign-filter[open] .assign-filter-toggle{color:var(--g)}
.assign-filter-menu{position:absolute;top:calc(100% + 10px);left:0;display:flex;flex-direction:column;min-width:168px;padding:4px 0;border:1px solid var(--gb);background:var(--gff);z-index:40}
.vt-btn{display:block;width:100%;padding:10px 16px;background:transparent;border:none;color:var(--gd);font-family:var(--B);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;text-align:left;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s,background .1s}
.vt-btn:hover{color:var(--g)}
.vt-btn.active{color:var(--color2);background:var(--accent);border-color:var(--accent)}

/* SEARCH */
.search-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--gb);background:#000}
.utility-search-row{justify-self:end;width:min(420px,100%);max-width:100%;padding:0;border:none;background:transparent;border-bottom:1px solid var(--gb)}
.dash-search-row{padding:0;min-height:100%;border:none;background:transparent}
.sidebar-search-row{
  padding:8px 18px;
  border:none;
  background:transparent;
  border-bottom:1px solid var(--gb);
}
.sidebar-search-row .search-in,
.sidebar-search-row .search-slash{
  font-family:var(--B)!important;
  font-size:var(--type-small)!important;
  letter-spacing:var(--track-small)!important;
  text-transform:none!important;
  -webkit-font-smoothing:antialiased!important;
  line-height:1.2!important;
}
.search-slash{font-family:var(--D);font-size:17px;color:var(--g);text-shadow:none;flex-shrink:0}
.search-in{flex:1;background:transparent;border:none;color:var(--gd);font-family:var(--B);font-size:var(--type-small);padding:3px 0;outline:none;caret-color:var(--g);letter-spacing:var(--track-small);text-shadow:none;-webkit-font-smoothing:antialiased}
.search-in::placeholder{color:var(--gb)}
.search-clear{background:none;border:none;color:var(--gd);font-family:var(--B);font-size:12px;cursor:pointer;padding:0 4px;text-transform:uppercase;letter-spacing:0.06em;text-shadow:none}
.search-clear:hover{color:var(--g)}
.dash-view-toggle{display:flex;align-items:center}
.dash-view-btn{padding:4px 10px;background:transparent;border:1px solid var(--gf);border-right:none;color:var(--gd);font-family:var(--B);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s,background .1s,border-color .1s}
.dash-view-btn:last-child{border-right:1px solid var(--gf)}
.dash-view-btn:hover{color:var(--g)}
.dash-view-btn.active{color:var(--color2);background:var(--accent);border-color:var(--accent)}

/* CATEGORY GROUPS */
.cat-group{margin-bottom:16px}
.cat-hdr{display:flex;justify-content:space-between;align-items:center;padding:5px 0 8px;cursor:pointer;user-select:none}
.cat-hdr:hover .cat-name{color:var(--white)}
.cat-name{font-family:var(--B);font-size:12px;font-weight:400;color:var(--color2);letter-spacing:0;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.cat-right{display:flex;align-items:center;gap:8px}
.cat-tog{font-family:var(--B);font-size:16px;color:var(--gb);text-shadow:none;-webkit-font-smoothing:antialiased}
.cat-add{background:none;border:none;color:var(--gb);font-family:var(--B);font-size:18px;cursor:pointer;padding:0 2px;line-height:1;text-shadow:none;-webkit-font-smoothing:antialiased}
.cat-add:hover{color:var(--g)}
.cat-tasks.collapsed{display:none}

/* PRIORITY GROUPS */
.pri-group{margin-bottom:20px}
.pri-hdr{font-family:var(--B);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;padding:6px 0;margin-bottom:4px;text-shadow:none;-webkit-font-smoothing:antialiased;border-bottom:1px solid var(--gf)}
.pri-hdr.high{color:var(--red)}.pri-hdr.normal{color:var(--color2)}

/* TASK ROWS */
.tr{display:flex;align-items:flex-start;padding:8px 0 8px 10px;gap:8px;transition:background .08s}
.tr:hover{background:var(--gff)}.tr:hover .tr-del,.tr:hover .tr-move{opacity:1}
.tr-check{background:transparent;border:1px solid var(--gb);color:var(--g);font-family:var(--B);font-size:9px;width:12px;height:12px;min-width:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px;text-shadow:none;-webkit-font-smoothing:antialiased;transition:border-color .1s,color .1s}
.tr-check:hover{border-color:var(--g)}
.tr-flag{width:10px;min-width:10px;font-family:var(--B);font-size:14px;color:transparent;flex-shrink:0;text-shadow:none;-webkit-font-smoothing:antialiased;margin-top:1px;line-height:1.3;text-align:center}
.tr-flag.is-high{color:var(--red)}
.tr-body{flex:1;min-width:0}
.tr-name{font-family:var(--B);font-size:15px;color:var(--text);cursor:pointer;letter-spacing:0;text-shadow:none;-webkit-font-smoothing:antialiased;line-height:1.3;word-break:break-word}
.tr-name.linked{text-decoration:underline;text-underline-offset:3px}
.tr-name:hover{color:var(--g)}
.tr-dead{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.02em;text-shadow:none;-webkit-font-smoothing:antialiased;margin-top:4px}
.tr-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-top:1px}
.tr-move{background:none;border:none;color:rgba(255,255,255,.7);font-family:var(--B);font-size:12px;cursor:pointer;padding:0;text-shadow:none;-webkit-font-smoothing:antialiased;opacity:.75;transition:opacity .1s;letter-spacing:0.03em}
.tr-move:hover{color:var(--g)}
.tr-del{background:none;border:none;color:var(--gb);font-family:var(--B);font-size:12px;cursor:pointer;padding:0 3px;text-shadow:none;-webkit-font-smoothing:antialiased;opacity:0;transition:opacity .1s;flex-shrink:0}
.tr-del:hover{color:var(--red)}

/* INLINE EDIT */
.tr-ie{padding:9px 0 9px 10px;border-left:2px solid var(--gb)}
.ie-name{background:transparent;border:none;border-bottom:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:16px;outline:none;caret-color:var(--g);letter-spacing:0.02em;text-shadow:none;-webkit-font-smoothing:antialiased;width:100%;padding:2px 0;margin-bottom:7px}
.ie-name:focus{border-bottom-color:var(--g)}
.ie-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ie-sel{background:transparent;border:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:16px;padding:4px 8px;cursor:pointer;letter-spacing:0.03em;outline:none;-webkit-appearance:none;appearance:none;text-shadow:none;-webkit-font-smoothing:antialiased}
.ie-sel:focus{border-color:var(--g)}
.ie-dead{background:transparent;border:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:16px;padding:4px 8px;outline:none;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased;width:132px}
.ie-dead:focus{border-color:var(--g)}
.ie-btn{background:transparent;border:1px solid var(--gb);color:var(--gd);font-family:var(--B);font-size:12px;padding:3px 8px;cursor:pointer;letter-spacing:0.06em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.ie-btn:hover{border-color:var(--accent);color:var(--accent)}
.ie-btn.save{border-color:var(--accent);color:var(--accent)}
.ie-btn.cancel{border-color:transparent;color:var(--gb)}

/* NEW TASK INPUT */
.new-task-row{padding:10px 0 10px 10px}
.nt-in{background:transparent;border:none;border-bottom:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:17px;outline:none;caret-color:var(--g);letter-spacing:0.02em;text-shadow:none;-webkit-font-smoothing:antialiased;width:320px;max-width:100%;padding:4px 0}
.nt-in:focus{border-bottom-color:var(--g)}
.nt-in::placeholder{color:var(--gd);font-size:15px}

/\* SIDEBAR ASSIGN CONTROLS \*/
.sb-assign-ctrl{margin-top:4px}
.sb-assign-link{display:block;width:100%;padding:10px 18px;background:transparent;border:none;color:var(--gb);font-family:var(--B);font-size:var(--type-small);letter-spacing:var(--track-small);text-transform:uppercase;cursor:pointer;text-align:left;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s}
.sb-assign-link:hover{color:var(--g)}
.sb-assign-form{padding:10px 18px}
.sb-assign-in{display:block;width:100%;background:transparent;border:none;border-bottom:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:var(--type-small);padding:4px 0;outline:none;caret-color:var(--g);letter-spacing:0;text-shadow:none;margin-bottom:8px}
.sb-assign-in:focus{border-bottom-color:var(--g)}
.sb-assign-in::placeholder{color:var(--gb)}
.sb-assign-actions{display:flex;gap:8px}
.sb-assign-btn{background:transparent;border:none;color:var(--gd);font-family:var(--B);font-size:var(--type-small);letter-spacing:var(--track-small);text-transform:uppercase;cursor:pointer;padding:0;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s}
.sb-assign-btn:hover{color:var(--g)}
.sb-assign-btn.dim{color:var(--gb)}
.sb-assign-btn.dim:hover{color:var(--gd)}

/* ADD CATEGORY */
.assign-tools{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.add-cat-row{display:flex;gap:8px;align-items:center}
.add-cat-lbl{display:none}
.add-cat-in{background:transparent;border:none;border-bottom:1px solid var(--gf);color:var(--text);font-family:var(--B);font-size:16px;padding:2px 0;outline:none;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased;width:200px}
.add-cat-in:focus{border-bottom-color:var(--g)}
.add-cat-in::placeholder{color:var(--gd);font-size:16px}
.add-cat-btn{background:transparent;border:1px solid var(--gf);color:var(--gd);font-family:var(--B);font-size:12px;padding:4px 10px;cursor:pointer;letter-spacing:0.06em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.add-cat-btn:hover{border-color:var(--g);color:var(--g)}
.add-cat-btn.inline-cancel{border-color:transparent;color:var(--gb)}

/* INBOX */
.ib-task{display:flex;align-items:flex-start;padding:8px 0;gap:8px}
.ib-task:last-child{border-bottom:none}
.ib-name{font-family:var(--B);font-size:var(--type-body);color:var(--text);flex:1;letter-spacing:var(--track-body);text-shadow:none;line-height:1.45;word-break:break-word;-webkit-font-smoothing:antialiased}
.ib-right{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:1px}
.ib-sel{background:transparent;border:1px solid var(--gb);color:var(--g);font-family:var(--B);font-size:16px;padding:4px 8px;cursor:pointer;letter-spacing:0.04em;outline:none;-webkit-appearance:none;appearance:none;text-shadow:none;-webkit-font-smoothing:antialiased}
.ib-sel:focus{border-color:var(--g)}
option{background:#000;color:var(--g);text-transform:uppercase}
.ib-del{background:transparent;border:none;color:var(--gb);font-family:var(--B);font-size:14px;cursor:pointer;padding:0 3px;text-shadow:none;-webkit-font-smoothing:antialiased}
.ib-del:hover{color:var(--red)}
.add-row{display:flex;gap:10px;margin-top:20px;align-items:center}
.add-prompt{font-family:var(--D);font-size:15px;color:var(--g);text-shadow:none;flex-shrink:0;-webkit-font-smoothing:antialiased}
.add-in{flex:1;background:transparent;border:none;border-bottom:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:16px;padding:3px 0;outline:none;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased}
.add-in:focus{border-bottom-color:var(--g)}
.add-in::placeholder{color:var(--gd);font-size:16px}
.add-btn{background:var(--accent);border:none;color:var(--color2);font-family:var(--B);font-size:10px;padding:4px 11px;cursor:pointer;letter-spacing:0.1em;text-transform:uppercase;flex-shrink:0;text-shadow:none;-webkit-font-smoothing:antialiased}
.add-btn:hover{background:var(--accent-dk)}
.arc-link{display:inline-block;margin-top:20px;font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;text-shadow:none;-webkit-font-smoothing:antialiased;border:none;background:none;padding:0}
.arc-link:hover{color:var(--g)}

/* DATE PICKER */
.dp-wrap{position:relative;display:inline-block}
.dp-input,.dp-in{background:transparent;border:none;border-bottom:1px solid var(--gb);color:var(--text);font-family:var(--B);font-size:16px;padding:3px 0;outline:none;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased;width:146px;cursor:pointer}
.dp-input:focus,.dp-in:focus{border-bottom-color:var(--g)}
.dp-in.small{font-size:16px;width:132px}
.dp-input::-webkit-calendar-picker-indicator{opacity:.85;filter:invert(82%) sepia(40%) saturate(444%) hue-rotate(73deg) brightness(103%) contrast(103%);cursor:pointer}
.dp-input::-webkit-datetime-edit{color:#d6ffe3}
.dt-date-wrap,.dp-wrap{min-width:132px}
.dp-cal{position:absolute;top:calc(100% + 8px);left:0;background:var(--gff);border:1px solid var(--gb);box-shadow:0 0 0 1px rgba(153,255,204,.08),0 14px 34px rgba(0,0,0,.48);z-index:50;padding:14px;min-width:252px;display:none}
.dp-cal.open{display:block}
.dp-cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.dp-cal-title{font-family:var(--D);font-size:16px;color:var(--color2);letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.dp-cal-btn{background:none;border:none;color:var(--gd);font-family:var(--B);font-size:16px;cursor:pointer;padding:0 6px;text-shadow:none;-webkit-font-smoothing:antialiased}
.dp-cal-btn:hover{color:var(--g)}
.dp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dp-cal-dow{font-family:var(--B);font-size:9px;color:var(--gd);text-align:center;letter-spacing:0.08em;text-transform:uppercase;padding:2px 0;text-shadow:none;-webkit-font-smoothing:antialiased}
.dp-cal-day{font-family:var(--B);font-size:15px;color:var(--text);text-align:center;padding:7px 2px;cursor:pointer;text-shadow:none;-webkit-font-smoothing:antialiased;background:transparent;border:1px solid transparent;letter-spacing:0;min-height:32px}
.dp-cal-day:hover{color:var(--g)}
.dp-cal-day.today{color:var(--g);border-color:var(--gf);text-shadow:none}
.dp-cal-day.selected{background:var(--accent);color:var(--color2)}
.dp-cal-day.empty{cursor:default;pointer-events:none}
.dp-cal-day.other-month{color:var(--gb)}

/* PERSON PILLS */
.person-toggle{display:flex;gap:0;margin-bottom:0}
.person-btn,
.cal-person-lbl{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  padding:var(--badge-pad-y) var(--badge-pad-x);
  border:1px solid var(--gb);
  background:transparent;
  color:var(--gd);
  font-family:var(--font-body);
  font-size:var(--type-badge);
  letter-spacing:var(--track-badge);
  text-transform:uppercase;
  text-shadow:none;
  -webkit-font-smoothing:antialiased;
  line-height:1;
}
.person-btn{border-right:none;cursor:pointer;transition:all .1s}
.person-btn:last-child{border-right:1px solid var(--gb)}
.person-btn.active{background:var(--accent);color:var(--color2);border-color:var(--accent)}
.person-btn:hover:not(.active){color:var(--g)}

/* CONVENTIONS LIST */
.cons-row{padding:14px 0;display:flex;justify-content:flex-start;align-items:center;gap:22px;cursor:pointer}
.cons-row:last-child{border-bottom:none}
.cons-row:hover .cl-name{color:var(--g)}
.cl-info{flex:1;min-width:0}
.cl-name{font-family:var(--B);font-size:16px;color:var(--text);letter-spacing:0.02em;text-shadow:none;text-decoration:underline;text-underline-offset:3px;-webkit-font-smoothing:antialiased;line-height:1.3}
.cl-sub{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.04em;text-shadow:none;-webkit-font-smoothing:antialiased;margin-top:4px;line-height:1.5;text-transform:uppercase}
.cl-date{color:var(--color2)}
.cl-sep{color:var(--gb)}
.cl-days{text-align:center;flex-shrink:0;min-width:70px}
.cl-num{font-family:var(--D)!important;font-size:32px!important;letter-spacing:0.04em!important;color:var(--g);line-height:1;text-shadow:none;-webkit-font-smoothing:antialiased;text-transform:uppercase!important}
.cl-num.urgent{color:var(--red);text-shadow:none}.cl-num.soon{color:var(--color2);text-shadow:none}.cl-num.past{color:var(--gb);text-shadow:none}
.cl-lbl{font-family:var(--D)!important;font-size:11px!important;color:var(--gd);letter-spacing:0.14em;text-transform:uppercase;margin-top:5px;text-shadow:none;-webkit-font-smoothing:antialiased;white-space:nowrap}
.add-con-btn{display:inline-block;margin-top:24px;background:transparent;border:1px solid var(--gb);color:var(--gd);font-family:var(--B);font-size:10px;padding:4px 12px;cursor:pointer;letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.add-con-btn:hover{border-color:var(--g);color:var(--g)}

/* CON DETAIL */
.con-toggle-row{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.con-tog{font-family:var(--B);font-size:12px;cursor:pointer;letter-spacing:0.05em;background:none;text-transform:uppercase;transition:all .1s;text-shadow:none;-webkit-font-smoothing:antialiased;padding:4px 10px}
.con-tog.on{border:1px solid var(--accent);color:var(--accent)}
.con-tog.off{border:1px solid var(--red);color:var(--red)}
.con-sec-hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;cursor:pointer}
.con-sec-lbl{font-family:var(--B);font-size:12px;color:var(--color2);letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.con-sec-plus{font-family:var(--B);font-size:18px;color:var(--g);line-height:1;text-shadow:none;-webkit-font-smoothing:antialiased}
.con-sec-body{padding-top:12px}
.con-sec.collapsed .con-sec-body{display:none}
.con-field{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.con-fl{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.08em;flex-shrink:0;width:72px;text-shadow:none;-webkit-font-smoothing:antialiased;text-transform:uppercase}
.con-fv{background:transparent;border:none;border-bottom:1px solid var(--gf);color:var(--text);font-family:var(--B);font-size:16px;padding:3px 0;outline:none;width:100%;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased}
.con-fv:focus{border-bottom-color:var(--g)}
.con-fv::placeholder{color:var(--gd);font-size:16px}
.con-ta{background:transparent;border:none;border-bottom:1px solid var(--gf);color:var(--text);font-family:var(--B);font-size:16px;padding:4px 0;outline:none;width:100%;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased;resize:none;min-height:52px;line-height:1.6}
.con-ta:focus{border-bottom-color:var(--g)}
.con-ta::placeholder{color:var(--gd);font-size:16px}
.con-sec{margin-bottom:22px}

/* DETAIL PAGE */
.bc{font-family:var(--B);font-size:12px;color:var(--gd);margin-bottom:24px;letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.bc-link{color:var(--g);cursor:pointer}.bc-link:hover{color:var(--white)}
.dt-title{font-family:var(--D);font-size:22px;color:var(--g);margin-bottom:9px;outline:none;background:transparent;border:none;width:100%;caret-color:var(--g);border-bottom:1px solid transparent;padding:4px 0;letter-spacing:0.04em;text-shadow:none;-webkit-font-smoothing:antialiased}
.con-detail-title{font-family:var(--font-display);font-size:24px;color:var(--g);background:transparent;border:none;border-bottom:1px solid transparent;outline:none;caret-color:var(--g);text-transform:uppercase;letter-spacing:var(--track-heading);text-shadow:none;flex:1;min-width:0;-webkit-font-smoothing:antialiased}
.dt-title:focus{border-bottom-color:var(--gb)}
.dt-meta{display:flex;gap:18px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--gb);flex-wrap:wrap}
.dt-mi{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.dt-mi select,.dt-mi input{background:transparent;border:none;border-bottom:1px solid var(--gf);color:var(--text);font-family:var(--B);font-size:16px;outline:none;padding:1px 2px;margin-left:4px;caret-color:var(--g);text-shadow:none;letter-spacing:0.03em;-webkit-font-smoothing:antialiased}
.dt-date-input{width:142px}
.dt-mi select option{background:#000}
.dt-sl{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.12em;margin-bottom:9px;margin-top:22px;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.dt-notes{background:transparent;border:none;border-bottom:1px solid var(--gf);color:var(--text);font-family:var(--B);font-size:16px;width:100%;min-height:56px;resize:none;outline:none;padding:3px 0;line-height:1.6;caret-color:var(--g);text-shadow:none;letter-spacing:0.03em;-webkit-font-smoothing:antialiased}
.dt-notes::placeholder{color:var(--gd);font-size:16px}
.dt-notes:focus{border-bottom-color:var(--g)}
.str{display:flex;align-items:center;gap:9px;padding:7px 0}
.str:last-child{border-bottom:none}
.str-chk{background:transparent;border:1px solid var(--gb);color:var(--g);font-family:var(--B);font-size:10px;width:14px;height:14px;min-width:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-shadow:none;-webkit-font-smoothing:antialiased}
.str-chk:hover{border-color:var(--g)}
.str-name{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--B);font-size:16px;outline:none;padding:0;caret-color:var(--g);text-shadow:none;letter-spacing:0.03em;-webkit-font-smoothing:antialiased;line-height:1.4;word-break:break-word}
.str-name.done{text-decoration:line-through;color:var(--gd)}
.str-del{background:none;border:none;color:var(--gb);font-family:var(--B);font-size:12px;cursor:pointer;padding:0 3px;text-shadow:none}
.str-del:hover{color:var(--red)}
.dt-btns{margin-top:28px;display:flex;gap:10px}
.dt-btn{background:var(--accent);border:none;color:var(--color2);font-family:var(--B);font-size:10px;padding:5px 14px;cursor:pointer;letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.dt-btn:hover{background:var(--accent-dk)}
.dt-btn.d{background:transparent;border:1px solid var(--gb);color:var(--gd)}
.dt-btn.d:hover{border-color:var(--red);color:var(--red)}

/* ARCHIVE */
.arc-task{padding:7px 0 7px 10px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;opacity:.3;-webkit-font-smoothing:antialiased}
.arc-name{font-family:var(--B);font-size:var(--type-body);color:var(--gb);text-decoration:line-through;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;line-height:1.4;word-break:break-word;flex:1}
.arc-rest{background:none;border:none;color:var(--gd);font-family:var(--B);font-size:var(--type-small);cursor:pointer;letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;flex-shrink:0}
.arc-rest:hover{color:var(--g)}
.empty{font-family:var(--B);padding:22px 0;color:var(--gd);font-size:14px;letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}

/* CALENDAR */
.cal-row{padding:9px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cal-row:last-child{border-bottom:none}
.cal-row:hover .cal-del{opacity:1}
.cal-row-editing{padding:12px 0 14px}
.cal-date-col{flex-shrink:0;min-width:88px}
.cal-date-lbl{font-family:var(--font-body);font-size:var(--type-body);color:var(--gd);letter-spacing:var(--track-body);text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;line-height:1.2}
.cal-time-lbl{font-family:var(--font-body);font-size:var(--type-body);color:var(--text);letter-spacing:var(--track-body);text-shadow:none;-webkit-font-smoothing:antialiased;margin-top:2px;line-height:1.2}
.cal-main{flex:1;min-width:0}
.cal-name-lbl{font-family:var(--B);font-size:var(--type-body);color:var(--white);letter-spacing:var(--track-body);text-shadow:none;-webkit-font-smoothing:antialiased;line-height:1.4;word-break:break-word}
.cal-title-btn{display:block;width:100%;background:none;border:none;padding:0;text-align:left;cursor:pointer}
.cal-title-btn:hover{color:var(--color2)}
.cal-person-lbl{margin-top:8px;color:#000;border-color:transparent}
.cal-person-lbl.faye{background:var(--accent);border-color:var(--accent)}
.cal-person-lbl.juno{background:var(--color2);border-color:var(--color2);color:#000}
.cal-person-lbl.shared{background:var(--gb);border-color:var(--gb)}
.cal-del{background:none;border:none;color:var(--gb);font-family:var(--B);font-size:12px;cursor:pointer;padding:0 3px;text-shadow:none;-webkit-font-smoothing:antialiased;opacity:0;transition:opacity .1s;flex-shrink:0}
.cal-del:hover{color:var(--red)}
.cal-add-form{margin-top:24px}
.cal-add-trigger{margin-top:24px}
.cal-form-lbl{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;margin-bottom:10px}
.cal-form-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px;min-width:0}
.cal-in{background:transparent;border:none;border-bottom:1px solid var(--gb);color:#d6ffe3;font-family:var(--B);font-size:16px;padding:3px 0;outline:none;caret-color:var(--g);letter-spacing:0.03em;text-shadow:none;-webkit-font-smoothing:antialiased}
.cal-in:focus{border-bottom-color:var(--g)}
.cal-in::placeholder{color:var(--gd);font-size:16px}
.cal-in.name{flex:1 1 320px;min-width:0}
.cal-in.time{flex:0 1 96px;width:96px}
.cal-select{min-width:120px;border:1px solid var(--gb);padding:4px 8px;background:#050505}
.cal-notes{display:block;width:100%;min-height:60px;resize:vertical;border:1px solid var(--gb);padding:8px 10px;margin-top:2px}
.cal-edit-actions{display:flex;gap:10px;align-items:center;margin-top:12px}
.cal-cancel{opacity:1;font-size:12px;padding:4px 0}
.cal-add-btn{background:var(--accent);border:none;color:var(--color2);font-family:var(--B);font-size:12px;padding:5px 12px;cursor:pointer;letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;flex:0 0 auto;align-self:flex-end}
.cal-add-btn:hover{background:var(--accent-dk)}

/* DAILIES */
.daily-entry{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--gf)}
.daily-entry:last-child{border-bottom:none}
.daily-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.daily-date{font-family:var(--D);font-size:15px;color:var(--color2);letter-spacing:0.05em;text-shadow:none;-webkit-font-smoothing:antialiased}
.daily-title{font-family:var(--B);font-size:13px;color:var(--gd);letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;margin-bottom:8px}
.daily-owner{font-family:var(--B);font-size:10px;color:var(--gd);letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;margin-bottom:10px}
.daily-del{background:none;border:none;color:var(--gb);font-family:var(--B);font-size:12px;cursor:pointer;letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased}
.daily-del:hover{color:var(--red)}
.daily-note{font-family:var(--B);font-size:16px;color:var(--text);letter-spacing:0.03em;line-height:1.75;text-shadow:none;-webkit-font-smoothing:antialiased;white-space:pre-wrap;word-break:break-word}
.notes-owner-toggle,.daily-owner-toggle{display:flex;gap:0;margin-bottom:18px}
.daily-entry-editing{cursor:default}
.daily-edit-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.daily-list-row{display:flex;width:100%;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;background:none;border:none;border-bottom:1px solid var(--gf);text-align:left;cursor:pointer}
.daily-list-title{font-family:var(--B);font-size:13px;color:var(--color2);letter-spacing:0.12em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;flex:1;min-width:0}
.daily-list-date{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0.02em;text-shadow:none;-webkit-font-smoothing:antialiased;flex-shrink:0}
.daily-list-row:hover .daily-list-title{color:var(--white)}
.daily-detail-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.daily-detail-date{font-family:var(--D);font-size:15px;color:var(--color2);letter-spacing:0.05em;text-shadow:none;-webkit-font-smoothing:antialiased;margin-bottom:0}
.daily-detail-owner-toggle{margin-bottom:0;flex-shrink:0}
.daily-detail-editor{margin-top:4px}
.daily-detail-title{margin-bottom:14px}
.daily-detail-notes{min-height:240px}
.daily-add-trigger{margin-top:24px}
.daily-add{margin-top:20px}
.daily-add-title{margin-bottom:10px}
.daily-add-body{border:1px solid var(--gb);padding:10px 12px;min-height:160px;resize:vertical}
.daily-add-body:focus{border-color:var(--g)}
.daily-form-lbl{font-family:var(--D);font-size:17px;color:var(--g);letter-spacing:0.08em;text-transform:uppercase;text-shadow:none;-webkit-font-smoothing:antialiased;margin-bottom:10px}
.daily-today{font-family:var(--B);font-size:12px;color:var(--gd);letter-spacing:0;text-shadow:none;margin-bottom:12px}
.daily-title-in{display:block;width:100%;background:transparent;border:none;border-bottom:1px solid var(--gb);color:#d6ffe3;font-family:var(--B);font-size:13px;outline:none;padding:2px 0 6px;caret-color:var(--g);letter-spacing:0.12em;text-shadow:none;-webkit-font-smoothing:antialiased;text-transform:uppercase;margin-bottom:12px}
.daily-title-in:focus{border-bottom-color:var(--g)}
.daily-title-in::placeholder{color:var(--gd);font-size:13px}
.daily-ta{background:transparent;border:none;border-bottom:1px solid var(--gb);color:#d6ffe3;font-family:var(--B);font-size:16px;width:100%;min-height:72px;resize:none;outline:none;padding:3px 0;line-height:1.7;caret-color:var(--g);text-shadow:none;letter-spacing:0.03em;-webkit-font-smoothing:antialiased;margin-bottom:10px}
.daily-ta:focus{border-bottom-color:var(--g)}
.daily-ta::placeholder{color:var(--gd);font-size:16px}
.daily-srch-row{display:flex;align-items:center;gap:8px;margin-bottom:18px;padding-bottom:6px;border-bottom:1px solid var(--gf)}
.daily-srch-in{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--B);font-size:16px;padding:2px 0;outline:none;caret-color:var(--g);letter-spacing:0.04em;text-shadow:none;-webkit-font-smoothing:antialiased}
.daily-srch-in::placeholder{color:var(--gd);font-size:16px}

/* Normalized type roles */
.h1,.type-h1,
.top-big,
.page-title{
  font-family:var(--font-display)!important;
  font-size:var(--type-h1)!important;
  letter-spacing:var(--track-display)!important;
  text-transform:uppercase!important;
}

.h2,.type-h2,
.uh-count,
.dt-title,
.auth-output{
  font-family:var(--font-display)!important;
  font-size:var(--type-h2)!important;
  letter-spacing:var(--track-display)!important;
  text-transform:uppercase!important;
}

.h3,.type-h3,
.mod-hdr,
.uh-name,
.cat-name,
.utility-hit-title{
  font-family:var(--font-body)!important;
  font-size:var(--type-h3)!important;
  letter-spacing:var(--track-heading)!important;
  text-transform:uppercase!important;
}

.cat-group .cat-name{
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

.auth-status{
  font-family:var(--font-display)!important;
  letter-spacing:var(--track-display)!important;
  text-transform:uppercase!important;
}

.body-copy,.type-body,
.uh-drop-item,
.uh-drop-empty,
.st-name,
.dash-task-name,
.tr-name,
.ib-name,
.str-name,
.daily-note,
.cal-name-lbl,
.cl-name,
.dash-mission-input,
.ie-name,
.ie-sel,
.ie-dead,
.nt-in,
.add-cat-in,
.add-in,
.dp-input,
.dp-in,
.con-fv,
.con-ta,
.dt-mi select,
.dt-mi input,
.dt-notes,
.daily-srch-in,
.daily-ta,
.daily-title-in,
.cal-in{
  font-family:var(--font-body)!important;
  font-size:var(--type-body)!important;
  letter-spacing:var(--track-body)!important;
  text-shadow:none!important;
  color:var(--text)!important;
  -webkit-font-smoothing:auto!important;
  text-rendering:auto!important;
}

.small-copy,.type-small,
.sb-date,
.sb-sync,
.top-sub,
.tr-dead,
.arc-link,
.arc-rest,
.daily-title,
.cal-date-lbl,
.cal-time-lbl,
.dt-mi,
.dt-sl,
.bc,
.con-fl,
.con-sec-lbl,
.daily-form-lbl,
.cal-form-lbl,
.utility-hit-meta{
  font-family:var(--font-body)!important;
  font-size:var(--type-small)!important;
  letter-spacing:var(--track-small)!important;
  text-transform:uppercase!important;
  -webkit-font-smoothing:auto!important;
  text-rendering:auto!important;
}

#con-name,
.daily-form-lbl{
  font-family:var(--font-display)!important;
  font-size:var(--type-h3)!important;
  letter-spacing:var(--track-heading)!important;
}

.daily-today{
  font-family:var(--font-body)!important;
  font-size:var(--type-small)!important;
  letter-spacing:var(--track-small)!important;
  text-transform:uppercase!important;
  -webkit-font-smoothing:auto!important;
  text-rendering:auto!important;
}

.dash-combined-box .uh-name{
  font-family:var(--font-body)!important;
  font-size:var(--type-h3)!important;
  letter-spacing:var(--track-heading)!important;
  color:var(--gd)!important;
}

/* Primary content â€” event names, task names, mission input */
.dash-combined-box .uh-drop-item,
.dash-combined-box .dash-task-name,
.dash-combined-box .dash-mission-input{
  font-family:var(--font-body)!important;
  font-size:var(--type-body)!important;\r\n  letter-spacing:var(--track-body)!important;\r\n  color:var(--text)!important;\r\n  text-transform:none!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased!important;
  line-height:1.45!important;
}

/* Empty state â€” dim */
.dash-combined-box .uh-drop-empty{
  font-family:var(--font-body)!important;
  font-size:var(--type-body)!important;
  color:var(--gd)!important;
  text-transform:none!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased!important;
}

/* Meta line â€” date/time, shown below item name, muted */
.dash-combined-box .uh-drop-meta{
  display:block!important;
  font-family:var(--font-body)!important;
  font-size:var(--type-small)!important;
  letter-spacing:var(--track-small)!important;
  color:var(--gb)!important;
  text-transform:uppercase!important;
  margin-top:2px!important;
  line-height:1.3!important;
}

.dash-combined-box .dash-task-name:hover,
.dash-combined-box .uh-drop-item:hover,
.dash-combined-box .dash-mission-input:focus{
  color:var(--g)!important;
}

.dash-card-hdr-toggle-only{
  justify-content:flex-end!important;
}

/* GALLERY */
.gallery-page{display:flex;flex-direction:column;gap:28px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.gallery-card{display:flex;flex-direction:column;gap:16px}
.gallery-card-wide{grid-column:1 / -1}
.gallery-stack{display:flex;flex-direction:column;gap:14px}
.gallery-inline{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.gallery-section-label{font-family:var(--font-body);font-size:var(--type-small);letter-spacing:var(--track-small);text-transform:uppercase;color:var(--gd)}
.gallery-sub-tabs{margin-bottom:0}

@media (max-width: 900px){
  .gallery-grid{grid-template-columns:1fr}
  .gallery-card-wide{grid-column:auto}
}

.button-copy,.type-button,
.sb-item,
.sb-effects-toggle,
.sb-logout,
.sub-tab,
.vt-btn,
.dash-view-btn,
.person-btn,
.ie-btn,
.add-cat-btn,
.dt-btn,
.cal-add-btn,
.add-con-btn{
  font-family:var(--font-body)!important;
  font-size:var(--type-button)!important;
  letter-spacing:var(--track-button)!important;
  text-transform:uppercase!important;
  -webkit-font-smoothing:auto!important;
  text-rendering:auto!important;
}

.badge-copy,.type-badge,
.lb-pct,
.add-btn,
.tr-check,
.str-chk,
.sb-sync,
.utility-hit-view{
  font-family:var(--font-body)!important;
  font-size:var(--type-badge)!important;
  letter-spacing:var(--track-badge)!important;
  text-transform:uppercase!important;
  -webkit-font-smoothing:auto!important;
  text-rendering:auto!important;
}

.top-mod:hover,.gif-mod:hover,.mod-box:hover,.auth-frame:hover,.search-row:hover,.dp-cal:hover{ box-shadow:none; }

/* ============================================================
   THEME PICKER (sidebar)
   ============================================================ */
.sb-theme-row{display:flex;gap:0;margin-bottom:8px}
.sb-theme-btn{flex:1;padding:5px 0;background:transparent;border:1px solid var(--gb);border-right:none;color:var(--gd);font-family:var(--B);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;text-align:center;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s,background .1s}
.sb-theme-btn:last-child{border-right:1px solid var(--gb)}
.sb-theme-btn:hover{color:var(--g)}
.sb-theme-btn.active{background:var(--accent);color:var(--color2);border-color:var(--accent)}
.sb-theme-btn.active+.sb-theme-btn{border-left-color:var(--accent)}

/* ============================================================
   THEME â€” Override Protocol
   Warm charcoal bg Â· gunmetal borders Â· silver chrome Â· bronze action
   ============================================================ */
.theme-override{
  /* Ramp */
  --bg:#080808; --surface:#111110;
  --b0:#2a2321;  --b1:#404547; --mid:#595959;
  /* Named accents */
  --silver:#909192; --silver-lt:#c8c8c8;
  --bronze:#974d31; --bronze-lt:#ab6138;
  --red:#8b2020; --red-lt:#b03030; --red-text:#e0a0a0;
  /* VEILNET vars */
  --g:var(--silver-lt);  --gd:var(--mid);   --gb:var(--b1);
  --gf:var(--surface);   --gff:var(--bg);
  --text:#a8aaaa; --text-dim:var(--mid); /* body text = mid-light silver; chrome = silver-lt #c8c8c8 */
  --white:var(--silver-lt); --offwhite:var(--silver);
  --accent:var(--bronze-lt); --accent-dk:var(--bronze);
  --color2:var(--bronze-lt);
}
/* Primary action â€” dark warm bg, silver text */
.theme-override .add-btn,
.theme-override .cal-add-btn{background:var(--b0)!important;color:var(--silver-lt)!important}
.theme-override .add-btn:hover,
.theme-override .cal-add-btn:hover{background:var(--b1)!important;color:var(--silver-lt)!important}
/* Confirm â€” bright silver fill */
.theme-override .dt-btn{background:var(--silver-lt)!important;color:#080808!important}
.theme-override .dt-btn:hover{background:var(--silver)!important;color:#080808!important}
/* Save outline */
.theme-override .ie-btn.save{border-color:var(--silver-lt)!important;color:var(--silver-lt)!important}
.theme-override .ie-btn:hover{border-color:var(--silver)!important;color:var(--silver)!important}
/* Active nav */
.theme-override .sb-item.active{background:var(--b0)!important;color:var(--silver-lt)!important}
/* Active tab â€” bronze-lt indicator */
.theme-override .sub-tab.active{color:var(--bronze-lt)!important;border-bottom-color:var(--bronze-lt)!important}
.theme-override .sub-tabs--assignments .sub-tab.active{background:var(--b0)!important;color:var(--silver-lt)!important;border-bottom-color:var(--b0)!important}
.theme-override .cl-date{color:var(--bronze-lt)!important}
/* Active toggles â€” dark bg, bronze text */
.theme-override .vt-btn.active,
.theme-override .dash-view-btn.active{background:var(--b0)!important;color:var(--bronze-lt)!important;border-color:var(--b0)!important}
/* Person active */
.theme-override .person-btn.active{background:var(--b0)!important;color:var(--silver-lt)!important;border-color:var(--b0)!important}
/* Progress / calendar selected */
.theme-override .lb-fill{background:var(--bronze-lt)!important}
.theme-override .dp-cal-day.selected{background:var(--bronze-lt)!important;color:#080808!important}
/* Toggle on */
.theme-override .con-tog.on{border-color:var(--bronze-lt)!important;color:var(--bronze-lt)!important}
/* Ghost hover */
.theme-override .add-cat-btn:hover,
.theme-override .add-con-btn:hover{border-color:var(--silver)!important;color:var(--silver)!important}
/* Theme btn */
.theme-override .sb-theme-btn.active{background:var(--bronze-lt)!important;border-color:var(--bronze-lt)!important;color:#080808!important}

/* ============================================================
   THEME â€” Juno
   Dark bg Â· teal armor borders Â· grey-lt chrome Â· orange action Â· purple hair
   ============================================================ */
.theme-juno{
  /* Ramp */
  --bg:#0a0e12; --surface:#111111;
  --b0:#243f50;  --b1:#365a70; --mid:#77a4b2;
  /* Named accents */
  --grey-mid:#9fa0a0; --grey-lt:#e4e3e2;
  --purple:#c4652e; --purple-lt:#d77a40;
  --orange:#9455a0; --orange-lt:#b878c2;
  --red:#8b2020; --red-lt:#b03030; --red-text:#e0a0a0;
  /* VEILNET vars */
  --g:var(--grey-lt);   --gd:var(--mid);   --gb:var(--b1);
  --gf:var(--surface);  --gff:var(--bg);
  --text:var(--grey-mid); --text-dim:var(--grey-mid); /* body text = grey-mid; chrome = grey-lt */
  --white:var(--grey-lt); --offwhite:var(--grey-mid);
  --accent:var(--orange); --accent-dk:var(--orange-lt);
  --color2:var(--purple-lt);
}
/* Primary action â€” orange */
.theme-juno .add-btn,
.theme-juno .cal-add-btn{background:var(--orange)!important;color:#080808!important}
.theme-juno .add-btn:hover,
.theme-juno .cal-add-btn:hover{background:var(--orange-lt)!important;color:#080808!important}
/* Confirm â€” grey-lt fill */
.theme-juno .dt-btn{background:var(--grey-lt)!important;color:#080808!important}
.theme-juno .dt-btn:hover{background:var(--grey-mid)!important;color:#080808!important}
/* Save outline â€” orange */
.theme-juno .ie-btn.save{border-color:var(--orange)!important;color:var(--orange)!important}
.theme-juno .ie-btn:hover{border-color:var(--orange-lt)!important;color:var(--orange-lt)!important}
/* Active nav â€” orange */
.theme-juno .sb-item.active{background:var(--orange)!important;color:#080808!important}
/* Active tab â€” purple-lt */
.theme-juno .sub-tab.active{color:var(--purple-lt)!important;border-bottom-color:var(--purple-lt)!important}
.theme-juno .sub-tabs--assignments .sub-tab.active{background:var(--orange)!important;color:#080808!important;border-bottom-color:var(--orange)!important}
/* Active toggles â€” orange */
.theme-juno .vt-btn.active,
.theme-juno .dash-view-btn.active{background:var(--orange)!important;color:#080808!important;border-color:var(--orange)!important}
.theme-juno .dash-day-hdr{color:var(--orange)!important}
.theme-juno .dash-con-section .dash-day-hdr,
.theme-juno .dash-next-count{color:var(--purple-lt)!important}
.theme-juno .cl-date{color:var(--purple)!important}
/* Person active â€” purple */
.theme-juno .person-btn.active{background:var(--purple)!important;color:var(--grey-lt)!important;border-color:var(--purple)!important}
/* Cal faye label â€” orange */
.theme-juno .cal-person-lbl.faye{background:var(--orange)!important;border-color:var(--orange)!important}
/* Progress / calendar selected â€” orange */
.theme-juno .lb-fill{background:var(--orange)!important}
.theme-juno .dp-cal-day.selected{background:var(--orange)!important;color:#080808!important}
/* Toggle on â€” purple */
.theme-juno .con-tog.on{border-color:var(--purple-lt)!important;color:var(--purple-lt)!important}
/* Ghost hover */
.theme-juno .add-cat-btn:hover,
.theme-juno .add-con-btn:hover{border-color:var(--orange)!important;color:var(--orange)!important}
/* Theme btn */
.theme-juno .sb-theme-btn.active{background:var(--orange)!important;border-color:var(--orange)!important;color:#080808!important}

/* ============================================================
   THEME â€” Le Sserafim
   Denim borders Â· white chrome Â· pink primary Â· purple confirm Â· gold tabs
   ============================================================ */
.theme-lsf{
  /* Ramp */
  --bg:#080808; --surface:#111318;
  --b0:#343e55;  --b1:#59647a; --mid:#727f91;
  /* Named accents */
  --white:#e8e5e9; --gold:#a78f5e;
  --pink:#df3890;  --pink-lt:#ec62ac;
  --purple:#8e558b; --purple-lt:#a178b7;
  --red:#8b2020; --red-lt:#b03030; --red-text:#e0a0a0;
  /* VEILNET vars */
  --g:var(--white);    --gd:var(--mid);   --gb:var(--b1);
  --gf:var(--surface); --gff:var(--bg);
  --text:#b0b8cc; --text-dim:var(--mid); /* body text: cool blue-grey â€" distinct from white chrome (#e8e5e9) */
  --offwhite:var(--mid);
  --accent:var(--pink); --accent-dk:var(--pink-lt);
  --color2:var(--gold);
}
/* Primary action â€” gold */
.theme-lsf .add-btn,
.theme-lsf .cal-add-btn{background:var(--gold)!important;color:#080808!important}
.theme-lsf .add-btn:hover,
.theme-lsf .cal-add-btn:hover{background:#c2a66e!important;color:#080808!important}
/* Confirm â€” purple fill */
.theme-lsf .dt-btn{background:var(--purple)!important;color:#080808!important}
.theme-lsf .dt-btn:hover{background:var(--purple-lt)!important;color:#080808!important}
/* Save outline â€” purple */
.theme-lsf .ie-btn.save{border-color:var(--purple-lt)!important;color:var(--purple-lt)!important}
.theme-lsf .ie-btn:hover{border-color:var(--purple-lt)!important;color:var(--purple-lt)!important}
/* Active nav â€” gold fill */
.theme-lsf .sb-item.active{background:var(--gold)!important;color:#080808!important}
/* Active tab â€” gold */
.theme-lsf .sub-tab.active{color:var(--pink)!important;border-bottom-color:var(--pink)!important}
.theme-lsf .sub-tabs--assignments .sub-tab.active{background:var(--gold)!important;color:#080808!important;border-bottom-color:var(--gold)!important}
/* Active toggles â€” purple */
.theme-lsf .vt-btn.active,
.theme-lsf .dash-view-btn.active{background:var(--purple)!important;color:#080808!important;border-color:var(--purple)!important}
/* Headers and section labels â€” bring pink back into the theme voice */
.theme-lsf .mod-hdr,
.theme-lsf .dash-day-hdr,
.theme-lsf .daily-date,
.theme-lsf .cl-date{
  color:var(--pink)!important;
}
/* Small structural labels â€” bring back a touch more gold */
.theme-lsf .con-sec-lbl,
.theme-lsf .cal-form-lbl,
.theme-lsf .dash-grp-hdr,
.theme-lsf .dash-grp-tog,
.theme-lsf .dash-event-time,
.theme-lsf .cl-lbl{
  color:var(--gold)!important;
}
.theme-lsf .dash-con-section .dash-day-hdr,
.theme-lsf .dash-next-count{
  color:var(--purple-lt)!important;
}
/* Person active â€” pink */
.theme-lsf .person-btn.active{background:var(--pink)!important;color:#080808!important;border-color:var(--pink)!important}
/* Cal faye label â€” pink */
.theme-lsf .cal-person-lbl.faye{background:var(--b1)!important;border-color:var(--b1)!important;color:var(--white)!important}
/* Cal time label â€” gold */
.theme-lsf .cal-time-lbl{color:var(--gold)!important}
/* Progress / calendar selected â€” purple */
.theme-lsf .lb-fill{background:var(--purple)!important}
.theme-lsf .dp-cal-day.selected{background:var(--purple)!important;color:#080808!important}
/* Toggle on â€” purple */
.theme-lsf .con-tog.on{border-color:var(--purple-lt)!important;color:var(--purple-lt)!important}
/* Ghost hover */
.theme-lsf .add-cat-btn:hover,
.theme-lsf .add-con-btn:hover{border-color:var(--purple-lt)!important;color:var(--purple-lt)!important}
/* Theme btn */
.theme-lsf .sb-theme-btn.active{background:var(--pink)!important;border-color:var(--pink)!important;color:#080808!important}

/* ============================================================
   TOP BAR — VEILNET / clock / logout in one centered row
   ============================================================ */
#top-bar{position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(100%,1280px);padding:28px 56px;display:flex;justify-content:space-between;align-items:center;z-index:200;pointer-events:none;background:#080808}
body.app-booting #top-bar,body.auth-shell #top-bar{display:none}
#top-bar>*{pointer-events:auto}
#top-left-ctrl{display:flex;flex-direction:row;align-items:center;gap:14px}
#top-left-ctrl .sb-sync{margin-bottom:0}
.brand-text-top{font-size:28px;letter-spacing:.16em}
#top-center-ctrl{display:flex;flex-direction:column;align-items:center;gap:4px}
#top-right-ctrl{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.top-logout{background:none;border:none;color:var(--gb);font-family:var(--B);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s;padding:0}
.top-theme-btn{background:none;border:none;color:var(--gd);font-family:var(--B);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;text-shadow:none;-webkit-font-smoothing:antialiased;transition:color .1s;padding:0}
.top-theme-btn:hover{color:var(--g)}
.top-logout:hover{color:var(--red)}


/* ============================================================
   THEME FLYOUT â€” opens to the right of the sidebar
   ============================================================ */
.sb-item--theme::after{content:'';display:inline-block;width:0;height:0;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent;margin-left:7px;vertical-align:middle;opacity:.6}
#theme-flyout{position:fixed;background:var(--gff);border:1px solid var(--gb);z-index:300;display:none;padding:4px 0;min-width:170px}
#theme-flyout.open{display:block}
.theme-fly-item{display:block;width:100%;padding:10px 18px;background:transparent;border:none;color:var(--gd);font-family:var(--B);font-size:var(--type-small);letter-spacing:var(--track-small);text-transform:uppercase;cursor:pointer;text-align:left;transition:color .1s;text-shadow:none;-webkit-font-smoothing:antialiased}
.theme-fly-item:hover{color:var(--g)}
.theme-fly-item.active{color:var(--accent)}

/* ============================================================
   SIDEBAR min-height â€” always fills viewport
   ============================================================ */
#shell{min-height:calc(100vh - 200px)}

/* ============================================================
   COLOR DISTRIBUTION â€” dates, times, deadlines, section labels
   carry --color2 so the theme's secondary accent appears everywhere
   ============================================================ */
.cal-date-lbl{color:var(--color2)!important}
.cal-time-lbl{color:var(--gd)!important}
.tr-dead{color:var(--color2)!important}
.dt-sl{color:var(--color2)!important}
.top-sub{color:var(--color2)!important}
.daily-title,.daily-owner{color:var(--color2)!important}

/* Synthetic theme: keep calendar surfaces on the readable green/neutral ramp */
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-date-lbl,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-form-lbl{
  color:var(--gd)!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-add-btn,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dt-btn{
  color:#080808!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-person-lbl.juno{
  background:var(--gd)!important;
  border-color:var(--gd)!important;
  color:#080808!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .add-btn,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-person-lbl.faye,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-owner-badge.faye,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sub-tabs--assignments .sub-tab.active,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .vt-btn.active,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-view-btn.active,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .person-btn.active,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dp-cal-day.selected,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sb-theme-btn.active{
  background:var(--color2)!important;
  border-color:var(--color2)!important;
  color:#080808!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sb-item{
  background:var(--gf);
  color:var(--color2);
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sb-item:hover{
  background:var(--gd);
  color:#080808;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sb-item.active{
  background:var(--color2);
  color:#080808;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-day-hdr{
  color:var(--g)!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-con-section .dash-day-hdr,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-next-count,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-grp-hdr,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cl-date{
  color:var(--color2)!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .dash-event-time,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-time-lbl,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sb-con-label,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-form-lbl{
  color:var(--text)!important;
}

body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .sb-con-label,
body:not(.theme-override):not(.theme-juno):not(.theme-lsf) .cal-form-lbl{
  color:var(--gd)!important;
}

/* ============================================================
   GLOBAL: SELECTS â€” force dark themed backgrounds
   ============================================================ */
select{
  background:var(--gff)!important;
  color:var(--text)!important;
  -webkit-appearance:none;
  appearance:none;
}
option{background:#080808;color:var(--text)}

/* ============================================================
   GLOBAL: TEXTAREAS â€” auto-expand to fit content
   ============================================================ */
textarea{
  field-sizing:content;
  overflow-y:hidden;
}

/* ============================================================
   DASHBOARD: OWNER SECTIONS
   ============================================================ */
.dash-owner-section{margin-bottom:24px}
.dash-owner-section:last-child{margin-bottom:0}
.dash-owner-hdr{display:flex;align-items:center;margin-bottom:10px;gap:10px}
.dash-add-hint{color:var(--gb);font-family:var(--B);font-size:var(--type-small);flex-shrink:0;line-height:1;letter-spacing:0;user-select:none}

/* Owner Juno badge â€” use color2 so it's distinct from Faye's accent */
.cal-person-lbl.juno{color:#000}

/* ============================================================
   THEME OVERRIDES â€” per-theme badge distinction
   ============================================================ */
/* Override: Juno = silver (Faye = bronze) */
.theme-override .cal-person-lbl.juno{background:var(--silver-lt)!important;border-color:var(--silver-lt)!important;color:#080808!important}
.theme-override .dash-owner-badge.juno{background:var(--silver-lt)!important;border-color:var(--silver-lt)!important;color:#080808!important}
/* Juno (theme): Juno badge = purple (Faye = orange) */
.theme-juno .cal-person-lbl.juno{background:var(--purple)!important;border-color:var(--purple)!important;color:var(--grey-lt)!important}
.theme-juno .dash-owner-badge.juno{background:var(--purple)!important;border-color:var(--purple)!important;color:var(--grey-lt)!important}
/* LSF: Juno badge = purple (Faye = pink) */
.theme-lsf .cal-person-lbl.juno{background:var(--purple)!important;border-color:var(--purple)!important;color:#080808!important}
.theme-lsf .dash-owner-badge.juno{background:var(--purple)!important;border-color:var(--purple)!important;color:#080808!important}
.theme-lsf .dash-owner-badge.faye{background:var(--b1)!important;border-color:var(--b1)!important;color:var(--white)!important}

