:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#edf5ff;background:#09111c;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select{background:#0c1726;border:1px solid #41536a;border-radius:10px;padding:11px 12px;color:#f0f6ff;min-width:0}input:focus,select:focus{outline:2px solid #57d3b6}button{border:1px solid #38516b;background:#1b2c40;color:#f0f7ff;border-radius:9px;padding:10px 13px;font-weight:700}button:hover{border-color:#79cdbb}button.primary{background:#69e4c4;border-color:#69e4c4;color:#062721}button.warn{color:#ffb9a5}button.small{padding:6px 9px;font-size:12px}button:disabled{opacity:.45;cursor:default}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:15px}label{display:grid;gap:6px;color:#b3c7df;font-weight:650;font-size:12px}.shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.sidebar{background:#0d1725;border-right:1px solid #28394c;display:flex;flex-direction:column;padding:22px 15px;gap:14px}.brand{display:flex;gap:3px;align-items:center;font-weight:900;font-size:25px;letter-spacing:-1px;margin-bottom:16px}.brand span:not(.mark){color:#68e5c4}.mark{width:33px;height:33px;border-radius:10px;background:#68e5c4;color:#082a25;display:grid;place-items:center;margin-right:7px}.eyebrow{color:#69e5c6;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800}.nav{width:100%;text-align:left;background:transparent;border:0;color:#a9bdd5;margin-top:4px}.nav.active{background:#19443b;color:#8ef6d9}.sidebar-foot{margin-top:auto;color:#7188a0;font-size:11px;padding:11px}.main{min-width:0}.top{position:sticky;top:0;background:#0b1624f0;border-bottom:1px solid #273951;z-index:3;padding:17px 30px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a8bdd5}.top button{padding:6px 9px}.container{padding:27px 30px 70px;max-width:1250px;margin:auto}.grid{display:grid;gap:17px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:#111e2e;border:1px solid #2c4057;border-radius:16px;padding:21px;margin-bottom:18px}.hero{background:linear-gradient(105deg,#13392f,#132034);border-color:#33695d}.muted{color:#9eb3ce}.subtle{color:#7189a2;font-size:12px}.mint{color:#7ef0d2}.row{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:12px}.pill{display:inline-flex;border:1px solid #3c576d;background:#183045;border-radius:30px;padding:4px 9px;font-size:11px;color:#bdd3e5}.pill.good{background:#194d3e;color:#a1f6d8}.pill.bad{background:#4a2a32;color:#ffc0c4}.pill.pending{background:#4a3d29;color:#f9da98}.selected{outline:2px solid #69e4c4}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar .dow{text-align:center;font-size:11px;color:#8fa7c2;padding:6px}.day{min-height:79px;border:1px solid #2c4659;background:#122337;border-radius:10px;padding:8px;display:flex;align-items:flex-start;flex-direction:column;gap:6px;text-align:left}.day.free{background:#103e34}.day.busy{background:#40272e}.day.sel{border-color:#76eccf;box-shadow:inset 0 0 0 1px #76eccf}.day.empty{background:transparent;border-color:transparent;cursor:default}.dots{font-size:10px;color:#98c6f6}.item{border:1px solid #2c435c;border-radius:12px;padding:14px;background:#102032;margin-bottom:10px}.item h3{margin:0 0 7px}.note{padding:12px;background:#173042;border-radius:11px;color:#bacde1;font-size:12px}.error{color:#ffbcbf}.success{color:#8ef6d8}.actions{display:flex;gap:7px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.form-grid .wide{grid-column:1/-1}#flash:not(:empty){background:#1b3545;margin:14px 30px -4px;padding:12px 15px;border:1px solid #426077;border-radius:10px}.login{max-width:460px;margin:45px auto}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px;margin:8px 0}.avatar{font-size:12px;background:#264e4b;padding:7px 9px;color:#94f9dd;border-radius:7px}.hr{border-top:1px solid #2d4055;margin:18px 0}a{color:#8bf3d5}.hide{display:none!important}@media(max-width:800px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:4;min-height:unset;padding:12px}.brand{margin:0;font-size:19px}.sidebar .eyebrow,.sidebar-foot{display:none}#sidebar-nav{display:flex;overflow-x:auto;gap:4px}.nav{white-space:nowrap;width:auto;padding:7px 10px}.top{padding:12px 15px}.container{padding:17px 14px 50px}.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.calendar{gap:3px}.day{min-height:65px;padding:5px;font-size:11px}.day .dots{font-size:9px}.panel{padding:15px}h1{font-size:25px}#flash:not(:empty){margin:10px 14px 0}}

/* JamPlan v6 — read-only, multi-project dashboard schedule. */
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.53fr);grid-template-areas:"hero events" "tools events" "members events" "more events";gap:0 18px;align-items:start}
.dashboard-hero{grid-area:hero}
.dashboard-tools{grid-area:tools;min-width:0}
.dashboard-tools>.panel{min-width:0}
.dashboard-members{grid-area:members;min-width:0}
.dashboard-next{grid-area:more;min-width:0}
.dashboard-upcoming{grid-area:events;min-width:0;position:sticky;top:88px;max-height:calc(100vh - 110px);overflow-y:auto;border-color:#3a6463;box-shadow:0 0 0 1px #17483f18}
.dashboard-upcoming-head{align-items:start;gap:9px}.dashboard-upcoming-head h2{font-size:19px;margin:5px 0 0;line-height:1.2}
.upcoming-icon{background:#17463d;color:#9cf4dc;border-radius:10px;font-size:19px;width:31px;height:31px;display:grid;place-items:center;flex:none}
.upcoming-list{display:grid;gap:0;margin-top:10px}
.upcoming-event{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #2b4054;min-width:0}
.upcoming-event:last-child{border-bottom:0}
.upcoming-date{border:1px solid #3f605c;background:#15332f;border-radius:11px;min-height:63px;padding:8px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.upcoming-date span{color:#93c9c5;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:800}
.upcoming-date strong{font-size:23px;color:#ecfff8;line-height:1}
.upcoming-body{min-width:0}
.upcoming-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 7px}
.event-type{font-size:10px;font-weight:800;text-transform:uppercase;color:#7defd0;letter-spacing:.5px}
.upcoming-body h3{font-size:14px;margin:0 0 3px;line-height:1.3;overflow-wrap:anywhere}
.upcoming-project{font-weight:700;color:#b9d2e8;font-size:12px;margin:0 0 6px;overflow-wrap:anywhere}
.upcoming-meta{font-size:12px;color:#9fb6ce;margin:2px 0;overflow-wrap:anywhere}
.upcoming-footer{border-top:1px solid #2b4054;padding-top:10px;margin-top:6px}
.upcoming-footer p{margin:5px 0}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr)}.dashboard-tools{grid-template-columns:1fr}}
@media(max-width:800px){.dashboard-grid{grid-template-columns:1fr;grid-template-areas:"hero" "events" "tools" "members" "more";gap:0}.dashboard-upcoming{position:static;max-height:none}.dashboard-tools{grid-template-columns:1fr}}
