:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#222;background:#f7f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:#222;color:#fff;border-radius:7px;padding:11px 15px}button:hover{opacity:.82}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:#e9e9e6;color:#222}header{background:#1c1c1c;color:#fff;padding:20px max(20px,calc((100vw - 980px)/2));display:flex;align-items:center;justify-content:space-between}.brand{letter-spacing:.18em;font-size:21px;font-weight:350}.subbrand{letter-spacing:.22em;font-size:10px;color:#b8b8b8;margin-top:7px}#userbox{font-size:12px;text-align:right}#userbox button{font-size:12px;margin-top:4px;background:#444;padding:7px}main{max-width:980px;margin:26px auto;padding:0 18px;min-height:70vh}.panel{max-width:440px;margin:55px auto;background:white;padding:28px;border:1px solid #e5e5e5;border-radius:12px}.hidden{display:none!important}h1{font-size:22px;font-weight:500;text-transform:capitalize;margin:0;min-width:200px;text-align:center}h2{font-size:18px;font-weight:550}.toolbar,.filters,.monthnav,.agenda-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar{margin-bottom:18px}.monthnav button{background:#e9e9e6;color:#222;font-size:24px;padding:5px 15px}.filters{margin-bottom:18px;align-items:end}label{display:block;font-size:12px;color:#555;font-weight:600}input,select,textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #d8d8d5;border-radius:6px;background:white;color:#222}select{min-width:160px}.weekdays,.monthgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{text-align:center;color:#777;font-size:12px;margin-bottom:8px}.day{min-height:94px;background:white;border:1px solid #ececea;border-radius:8px;padding:8px;text-align:left;color:#222;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.day.selected{outline:2px solid #242424}.day.today .number{background:#242424;color:white;border-radius:100%;padding:4px 8px}.day.other{opacity:.3}.number{font-size:13px}.dots{display:flex;gap:3px;flex-wrap:wrap}.dot{width:6px;height:6px;background:#9a8067;border-radius:50%}.agenda-head{margin-top:28px}.agenda-head h2{text-transform:capitalize}.agenda-head span{font-size:12px;color:#777}.events{display:grid;gap:9px}.event{background:#fff;border:1px solid #e8e8e5;border-left:4px solid #9a8067;padding:13px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:12px}.event strong{display:block;font-size:14px}.event small{color:#777}.event p{margin:6px 0 0;font-size:13px;white-space:pre-wrap}.event button{background:#f4f4f2;color:#666;font-size:12px}.empty{background:white;padding:24px;text-align:center;color:#777;border-radius:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog{border:0;border-radius:12px;width:min(94vw,480px);box-shadow:0 18px 70px #0004;padding:25px}dialog::backdrop{background:#0007}dialog label{margin:13px 0}.actions{justify-content:flex-end;margin-top:20px}#notice{font-size:13px;color:#5f4b35;margin:10px 0}#eventError,#loginMsg{font-size:13px}footer{text-align:center;padding:35px;color:#999;font-size:11px;letter-spacing:.1em}@media(max-width:600px){header{padding:17px}.brand{font-size:17px}main{margin:18px auto}.toolbar{flex-wrap:wrap}.monthnav{width:100%}.monthnav h1{font-size:19px;min-width:0}.toolbar #today{margin-left:auto}.day{min-height:61px;padding:6px}.day .number{font-size:12px}.filters{gap:8px}.filters select{min-width:0}.filters label{flex:1}.filters button{white-space:nowrap}.event{align-items:flex-start}}

/* Mobile width correction */
html,body{width:100%;max-width:100%;overflow-x:hidden}main,.toolbar,.filters,.monthnav,.agenda-head{min-width:0}.weekdays,.monthgrid{width:100%;min-width:0}.monthgrid>*{min-width:0}
@media(max-width:600px){main{padding:0 12px}.filters{flex-wrap:wrap}.filters label{min-width:0;flex:1 1 100%}.filters button{flex:0 0 auto}.day{min-height:52px;padding:4px;border-radius:6px}.weekdays,.monthgrid{gap:3px}.monthnav{min-width:0}.event{min-width:0}.event strong,.event small{overflow-wrap:anywhere}}
