:root{--bg:#f3f5f7;--ink:#182d39;--muted:#667984;--line:#e1e7eb;--teal:#087e80;--dark:#142e3b;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-block;border:0;border-radius:9px;background:var(--teal);color:white;padding:11px 18px;font-weight:650;cursor:pointer}button:hover,.button:hover{filter:brightness(.94);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #edb752;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:254px;background:var(--dark);color:#b3c4ce;padding:35px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:20px;font-weight:750;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:#33b9b2;color:#102f3a;border-radius:12px;font-size:25px;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:1.5px;color:#a5bac6;margin-top:2px}.sidebar nav{display:grid;gap:8px;margin-top:45px}.sidebar nav a{color:#b9cbd4;padding:11px 15px;border-radius:9px;font-size:14px}.sidebar nav a.selected{background:#244653;color:white;border-left:3px solid #52c9bf}.sidebar nav a:hover{background:#244653;text-decoration:none}.sidebar-bottom{margin-top:auto;font-size:12px;padding:20px 12px 0}.sidebar-bottom form{margin-top:12px}.dot{display:inline-block;width:7px;height:7px;background:#57c9a1;border-radius:50%;margin-right:7px}.ghost{background:transparent;color:#c6d4db;padding:0}.main{margin-left:254px;padding:36px 42px;max-width:1680px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--muted)}h1{font-size:32px;line-height:1.2;margin:8px 0;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 16px}h3{margin:8px 0}p{color:var(--muted)}.date{font-size:12px;color:var(--muted)}.hero{border-radius:var(--radius);background:#def0ed;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px;border:1px solid #cbe3de}.hero h2{font-size:29px;margin:10px 0}.hero p{margin:0 0 22px}.hero-number{font-size:70px;line-height:1.1;font-weight:750;min-width:160px;text-align:center;color:#087779}.hero-number small{display:block;font-size:12px;font-weight:500;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:24px;min-width:0;box-shadow:0 3px 10px #17334103}.stats .card>span{display:block;font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:36px;line-height:1.4;margin-top:8px}.stats a{font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.section-heading h2{margin:0}.section-heading a{font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);padding:12px 10px;background:#f8fafb}td{border-bottom:1px solid var(--line);padding:16px 10px;font-size:13px}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:4px 10px;border-radius:6px;background:#edf1f5;color:#506879;font-size:11px;white-space:nowrap}.badge.sent{background:#e3f5ec;color:#28754d}.badge.failed,.badge.uncertain{background:#fff0da;color:#925b1e}.badge.sending,.badge.retry{background:#e7edff;color:#4660a0}.badge.cancelled{color:#7c8189}.empty{text-align:center;padding:38px 16px;color:var(--muted)}.empty h3{color:var(--ink)}.empty p{font-size:13px}.notice,.alert{padding:14px 18px;border-radius:10px;margin-bottom:22px;font-size:13px;background:#e6f2f0;color:#285d59}.alert{background:#fff0ec;color:#963d30}footer{font-size:11px;color:#81909a;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.columns{display:grid;grid-template-columns:minmax(280px,1fr) minmax(350px,1.6fr);gap:24px;align-items:start}form label{display:block;font-size:12px;font-weight:650;margin-bottom:16px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #cdd8de;background:#fff;padding:10px 12px;border-radius:8px;color:var(--ink);margin-top:6px;min-width:0}textarea{resize:vertical}label.check{display:flex;align-items:center;gap:9px;font-weight:500}input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px}.help{font-size:12px;color:var(--muted)}form>a{margin-left:12px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.settings{max-width:830px}.settings h2:not(:first-child){margin-top:28px}.settings .form-grid{grid-template-columns:1fr 2fr}.inline{display:flex;gap:8px;align-items:center}.inline input,.inline select{margin:0}.secondary{background:#eaf1f3;color:#285360;font-size:12px}.danger{background:#a24538}fieldset{border:1px solid var(--line);border-radius:9px;margin:16px 0;padding:15px;max-height:250px;overflow:auto}legend{font-size:12px;color:var(--muted)}.template-list{display:grid;gap:12px}.template-list a{background:#f3f7f7;border-radius:8px;padding:15px;font-size:13px}.calendar-wrap{overflow-x:auto}.calendar{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:735px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.weekday{background:#f6f8fa;text-align:center;padding:10px;font-size:11px;color:var(--muted)}.day{background:white;min-height:115px;padding:9px}.day.today{background:#effaf7;box-shadow:inset 0 3px var(--teal)}.day.outside{background:#fafbfc}.day-number{font-size:11px;color:var(--muted)}.assignment{display:block;background:#edf5f4;padding:6px;border-radius:5px;font-size:10px;margin-top:5px;overflow-wrap:anywhere}.assignment strong,.assignment span{display:block}.assignment span{color:var(--muted);font-size:9px}.history-item{padding:22px 0;border-bottom:1px solid var(--line)}small{color:var(--muted);font-size:11px}.history-item small{display:block}.history-item pre{font:13px/1.6 system-ui;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fa;border-radius:8px;padding:15px}.history-item .section-heading{margin:0}.history-item details{max-width:650px}details{margin-top:20px;font-size:13px}summary{cursor:pointer;color:var(--teal)}.pagination{display:flex;gap:20px;margin-top:20px}.muted{color:var(--muted)}.auth{min-height:100vh;display:grid;place-items:center;background:#eaf0f2}.login{max-width:460px;margin:7vh auto;padding:40px;width:calc(100% - 32px)}.auth .login{margin:30px auto}.login .brand-icon{margin-bottom:26px}.login h1{font-size:30px;line-height:1.3}.login form{margin:26px 0}.login button{width:100%}.login small{display:block;text-align:center}code{font-size:11px}@media(min-width:1500px){.main{padding:42px 60px}.hero{padding:38px 44px}}@media(max-width:1100px){.sidebar{width:215px;padding:25px 15px}.main{margin-left:215px;padding:28px 24px}.brand{font-size:17px}.columns{grid-template-columns:1fr}.hero-number{min-width:110px}.form-grid{grid-template-columns:1fr 1fr}.date{max-width:160px;text-align:right}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:18px}.sidebar nav{display:flex;overflow:auto;margin-top:18px;gap:4px}.sidebar nav a{white-space:nowrap;padding:8px 12px}.sidebar-bottom{display:none}.main{margin:0;padding:24px 16px}header{align-items:flex-start}.date{font-size:10px}h1{font-size:27px}.hero{padding:24px}.hero h2{font-size:24px}.hero-number{display:none}.stats{gap:9px}.stats .card{padding:15px 12px}.stats strong{font-size:28px}.stats .card>span{font-size:10px}.card{padding:20px}.section-heading{align-items:flex-start;flex-direction:column}.form-grid,.settings .form-grid{grid-template-columns:1fr;gap:0}.inline{width:100%}.inline input,.inline select{flex:1}.eyebrow{font-size:8px;letter-spacing:1.3px}footer{gap:20px}.history-item .section-heading{flex-direction:row}.sidebar-bottom{display:block;padding:10px 0 0}.sidebar-bottom form{display:inline-block;margin:0 0 0 20px}}
.calendar-reminder{margin:5px 0 9px}.calendar-reminder button{font-size:10px;padding:5px 7px;width:100%;text-align:left}
.day-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.day-add{display:grid;place-items:center;min-width:28px;min-height:28px;border-radius:7px;background:#e2f1ee;color:#087e80;font-size:21px;font-weight:650;line-height:1}.day-add:hover{background:#cce7e1;text-decoration:none}#assignment{scroll-margin-top:20px}
