:root{--navy:#1f3a5f;--blue:#2f6fb5;--bg:#f4f6fa;--card:#fff;--line:#dfe4ec;--text:#1b2433;--muted:#667085;--green:#1a8d4f;--greenbg:#e3f5ea;--red:#c0392b;--redbg:#fdecea;--amber:#b7791f;--amberbg:#fff4dc}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}a{color:var(--blue)}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:0 0 .75rem}button,input,select,textarea{font:inherit;font-size:16px}input,select,textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:.9rem}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}textarea{min-height:140px}.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:.65rem 1.1rem;cursor:pointer;text-decoration:none;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.danger{background:var(--red)}.btn.green{background:var(--green)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.1rem;margin-bottom:1rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.muted{color:var(--muted);font-size:.9rem}.pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700}.pill.completed,.pill.confirmed{background:var(--greenbg);color:var(--green)}.pill.in_progress{background:var(--amberbg);color:var(--amber)}.pill.cancelled,.pill.missed{background:var(--redbg);color:var(--red)}.alert{padding:.7rem .9rem;border-radius:8px;margin-bottom:1rem}.alert.err{background:var(--redbg);color:var(--red)}.alert.ok{background:var(--greenbg);color:var(--green)}.alert.warn{background:var(--amberbg);color:var(--amber)}.auth{max-width:440px;margin:3rem auto;padding:0 1rem}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:var(--navy);color:#fff;padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.3rem}.side a{color:#dbe6f5;text-decoration:none;padding:.55rem .7rem;border-radius:8px}.side a:hover{background:#2b4c78}.brand{font-weight:800;font-size:1.2rem;margin-bottom:1rem}.main{padding:1.25rem;max-width:960px;width:100%}.top{display:flex;justify-content:flex-end;gap:.75rem;align-items:center;margin-bottom:1rem;position:relative}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:.5rem;gap:.5rem}.slot{padding:.6rem;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;text-align:center}.slot.sel{background:var(--navy);color:#fff}.bell{position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem;cursor:pointer}.bell b{background:var(--red);color:#fff;border-radius:999px;font-size:.7rem;padding:0 .4rem;margin-left:.3rem}.drop{position:absolute;top:2.8rem;right:0;width:min(340px,92vw);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0002;z-index:20;max-height:60vh;overflow:auto}.drop a,.drop div.n{display:block;padding:.7rem .9rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.drop .unread{background:#eef4fc}.video{height:60vh;min-height:340px;border-radius:12px;overflow:hidden;background:#000;margin-bottom:1rem}.cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media(max-width:800px){.shell{grid-template-columns:1fr}.side{flex-direction:row;overflow-x:auto;align-items:center}.brand{margin:0 .5rem 0 0}.side a{white-space:nowrap}.cols{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);font-size:.9rem}.tablewrap{overflow-x:auto}:root{--navy:#0b3a66;--navy-2:#2a5f95;--navy-3:#1b4d7c;--primary:#0b4f8f;--bar:#1d5fa8;--track:#cfdcec}h1{font-size:1.65rem}h1,h2{color:var(--navy)}.btn{background:var(--primary)}.shell{grid-template-columns:230px 1fr}.side{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;padding:1rem .9rem;gap:.35rem}.side a{color:#fff;padding:.65rem .8rem;font-size:.95rem}.side a:hover{background:var(--navy-3)}.side a.on{background:var(--navy-2);font-weight:700}.side a.brandlogo{display:block;background:#fff;border-radius:12px;padding:.6rem;margin-bottom:1rem}.side a.brandlogo:hover{background:#fff}.brandlogo img{display:block;width:100%;max-width:112px;height:auto;margin:0 auto}.sidefoot{margin-top:auto;display:flex;flex-direction:column;gap:.35rem}.who{background:var(--navy-3);border-radius:8px;padding:.65rem .8rem;font-size:.8rem;line-height:1.45}.who b{display:block;font-size:.88rem}.signout{background:none;border:0;color:#fff;text-align:left;padding:.65rem .8rem;border-radius:8px;cursor:pointer;font-size:.95rem}.signout:hover{background:var(--navy-3)}.main{max-width:1080px;padding:1.25rem 2rem 2rem}@media(max-width:800px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto;padding:.6rem}.side a.brandlogo{margin:0 .5rem 0 0;padding:.3rem;flex:none}.brandlogo img{width:56px}.side a{white-space:nowrap}.sidefoot{margin:0 0 0 auto;flex-direction:row;flex:none}.who{display:none}.main{padding:1rem}}.degcard{max-width:660px}.degtop{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.degnum,.degpct{font-size:1.4rem}.degbar{height:14px;background:var(--track);border-radius:8px;overflow:hidden;margin:.6rem 0}.degbar i{display:block;height:100%;background:var(--bar)}.degfoot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.deggpa{font-size:1.15rem}.degrow{display:grid;grid-template-columns:2fr 1fr 2fr;grid-gap:1rem;gap:1rem;margin-bottom:.5rem}.degcats .card,.degrow .card,.degtwo .card{margin-bottom:0}.biggpa{font-size:2.1rem;font-weight:700;color:var(--navy);line-height:1.2}.biggpa small{font-size:.95rem;font-weight:400;color:var(--muted)}.pill.deg{background:#dbe8f6;color:var(--navy)}.goodcard{background:var(--greenbg);border-color:#b5d6ba}.degcats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem}.degcats,.degtwo{display:grid;gap:1rem}.degtwo{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1rem}.degdone{background:#e8f1ee}.degleft{background:#fdf0e6}.degtwo h3{margin:0 0 .6rem;font-size:1rem;color:var(--navy)}.degtwo ul{list-style:none;margin:0;padding:0}.degtwo li{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-top:1px solid #0001;font-size:.9rem}.degtwo li .t{flex:1 1}.degtwo li em{display:block;font-style:normal;font-size:.75rem;color:var(--muted)}.dot{width:20px;height:20px;border-radius:50%;flex:none;border:2px solid #9a3412}.dot.ok{background:#1b6b3a;border-color:#1b6b3a;color:#fff;font-size:.7rem;text-align:center;line-height:16px}.dot.ok:after{content:"\2713"}.degcta{text-align:center;margin:1.5rem 0 .5rem}@media(max-width:900px){.degrow{grid-template-columns:1fr}}.degcats,.degrow,.degtwo{margin-bottom:1.75rem}.pill.awaiting_notes{background:var(--amberbg);color:var(--amber)}.tabs{display:flex;gap:.4rem;margin:1rem 0}.tab{padding:.55rem 1rem;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:700;font-size:.9rem;text-decoration:none}.tab.on{background:var(--primary);color:#fff;border-color:var(--primary)}.ctx{background:#eaf2fb;border-color:#cfe0f3}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.filters input,.filters select{width:auto;margin:0;flex:1 1 170px}.meet table{min-width:980px}.meet td{vertical-align:top}.mini{height:6px;width:100px;background:var(--track);border-radius:4px;overflow:hidden;margin:.3rem 0}.mini i{display:block;height:100%;background:var(--bar)}.notecell{max-width:320px;font-size:.85rem}.pill.low{background:var(--redbg);color:var(--red);margin-top:.25rem}.idlebar{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:50;display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:.8rem 1rem;box-shadow:0 8px 24px #0003;max-width:92vw}.localtime{color:var(--muted);font-size:.9em}.localtime.stack{display:block;font-size:.75rem}