.loading{padding:40px}.login{max-width:430px;margin:9vh auto;padding:28px;background:white;border:1px solid var(--line);border-radius:12px}.login .brand{margin-bottom:22px}.login input{width:100%}.login .button{margin-top:12px}.teambar{display:flex;gap:8px;flex-wrap:wrap}.team-message{padding:12px;line-height:1.6}.member{display:flex;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);align-items:center}.member div{overflow-wrap:anywhere}.member small{display:block}.assignment{display:block;margin:10px 0}.assignment input{width:auto}.drawer .stats{grid-template-columns:repeat(3,1fr)}.empty small{display:block;margin-top:10px}.teamdialog{max-width:540px}.teamdialog input,.teamdialog select{width:100%}.teamdialog textarea{width:100%}.teamdialog label{display:block;margin:12px 0 6px}.teamdialog footer{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.archivenotice{background:#fff3db;padding:12px;border-radius:8px}.invite-help{font-size:12px;line-height:1.6;color:#738090}.data-status{font-size:12px;line-height:1.6;color:#738090;padding:14px 20px}.teamtable{min-width:900px}.teamcontent .heading{margin-top:15px}@media(max-width:750px){.login{margin:25px 15px}.drawer{padding:20px}.drawer .stats{grid-template-columns:1fr 1fr}.member{flex-wrap:wrap}}

/* Shared dark theme for every authenticated section and the login screen. */
:root{color-scheme:dark;--bg:#0d1118;--ink:#f0f3f9;--muted:#a3b1c5;--line:#293447;--green:#68d9b9;--red:#fb929d;--surface:#151d29;--control:#111925;--accent:#8ab6ff}
body{background:var(--bg);color:var(--ink)}
aside{background:#10151e;border-color:var(--line)}
.brand+.small{margin-left:0}
nav button{color:#a8b4c6}
nav button:hover{background:#192536;color:#edf3ff}
nav button.active{background:#223553;color:#c7dcff}
.login,.panel,.stat,.periodbar,.drawer,.journalform{background:var(--surface);border-color:var(--line);border-radius:14px}
.login{box-shadow:0 20px 80px #0003}
.login .sub,.sub,.invite-help,.data-status,.empty,.stat label,.member small,.task small{color:#a3b1c5}
.login .brand{color:#c7dcff}
input,select,textarea{color-scheme:dark;background:var(--control);border-color:#3a465a;color:var(--ink);-webkit-text-fill-color:currentColor}
input::placeholder,textarea::placeholder{color:#94a5bd;-webkit-text-fill-color:#94a5bd}
input[type=checkbox]{accent-color:#82adf7}
input:focus,select:focus,textarea:focus{outline:2px solid #6e9fe2;outline-offset:2px;border-color:#82adf7}
.filters select option{background:#111925;color:#edf3ff}
.datefield input::-webkit-datetime-edit,input::-webkit-datetime-edit{color:var(--ink);-webkit-text-fill-color:currentColor}
.button,.periodbar .button{background:#202b3c;border-color:#354156;color:#edf3ff;-webkit-text-fill-color:currentColor;font-weight:600;border-radius:8px;transition:background .15s,border-color .15s}
.button:hover,.periodbar .button:hover{background:#2e4160;border-color:#526b8d}
.button.primary,.periodbar .button.primary{background:#2c4b76;border-color:#456c9f;color:#f5f8ff;-webkit-text-fill-color:currentColor}
.button.primary:hover,.periodbar .button.primary:hover{background:#375e92;border-color:#7da3d8}
.button:disabled{opacity:.45;cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
th{background:#192332;color:#a6b8d0}
td{color:#e5edfb}
tbody tr[data-project]{cursor:pointer;transition:background .15s}
tbody tr[data-project]:hover,tbody tr[data-client]:hover{background:#1e2c3f}
.panelhead{background:#172130;border-color:var(--line)}
.logo{background:#24344c;color:#c7dcff}
.bar{background:#29374a}
.bar i{background:#6b9ff3}
.task.done b{color:#9eabc0}
.badge.red{background:#39212d;color:#ffabb5}
.badge.orange,.archivenotice,.demo,.notice{background:#342b1c;color:#f0cc88;border-color:#69502f}
.badge.green{background:#17372f;color:#8ae3c3}
.drawer{border-left:1px solid var(--line);border-radius:0;box-shadow:-12px 0 70px #0006}
.overlay{background:#050911aa}
dialog{background:#182231;color:var(--ink);border:1px solid #3e506a;border-radius:14px;box-shadow:0 24px 100px #0009;max-height:90vh;overflow:auto}
dialog::backdrop{background:#050911aa}
.teamdialog label{color:#c0ccdf}
.teamdialog input,.teamdialog select{margin-top:6px}
.teamdialog .assignment input{width:auto;margin:0 8px 0 0}
.note{background:#1b293b;color:#b5c6de}
.note.good{color:#8ae3c3}
.journalform{border:1px solid var(--line)}
.journalentry .lesson{background:#16362e;color:#a1e3cf}
.journalentry,.member,.task{border-color:var(--line)}
.funnel div{background:#1b2c3b}
.funnel small{color:#b1c7d6}
.spark div{background:#6b9ff3}
.team-message:empty{display:none}
.team-message.bad{background:#35212b;border:1px solid #70414f;border-radius:8px;color:#ffc0c7}
.data-status a{color:#a8caff}
@media(max-width:750px){.mobilenav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;gap:7px}.mobilenav .button{width:auto;flex:0 0 auto;white-space:nowrap}.top{margin-bottom:14px}}
label.field{display:block}label.field>input,label.field>select,label.field>textarea{margin-top:7px}.login .button{margin-right:8px}.login .field{margin:16px 0}

/* Original supplied brand mark; source PNGs are preserved unchanged. */
.brand{display:flex;align-items:center;gap:9px;font-size:18px;letter-spacing:-.65px;line-height:1.1;color:#f1f4f9;white-space:nowrap}.brand img{display:block;width:30px;height:30px;border-radius:7px;flex:none;object-fit:contain}.brand-accent{color:#ff7900}.brand+.small{margin-top:12px}.login .brand{font-size:23px;color:#f1f4f9;gap:12px}.login .brand img{width:40px;height:40px;border-radius:9px}.mobilebrand.brand{display:none}@media(max-width:750px){.mobilebrand.brand{display:flex}.top{gap:12px;flex-wrap:wrap}.top>span:last-child{color:#a3b1c5;font-size:11px}}
