:root{font-family:system-ui,-apple-system,sans-serif;color:#17243b;background:#f5f7fc}*{box-sizing:border-box}body{margin:0}header{background:#2563eb;color:white;padding:18px max(16px,calc((100% - 850px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px}h1{font-size:20px;margin:0}header small{font-size:12px}nav{display:flex;overflow-x:auto;background:white;border-bottom:1px solid #ddd;justify-content:center}button{cursor:pointer;border:0;border-radius:9px;background:#2563eb;color:white;padding:10px 14px;font-size:14px}nav button{background:white;color:#344055;border-radius:0;white-space:nowrap}nav button.active{border-bottom:3px solid #2563eb;color:#2563eb;font-weight:bold}main{max-width:850px;margin:auto;padding:16px 14px 70px}.hidden{display:none!important}.panel,.event,.task,.candidate{background:white;padding:16px;border-radius:12px;box-shadow:0 1px 5px #0001;margin:12px 0}label{display:block;font-size:14px;font-weight:600;margin:12px 0}input,textarea,select{display:block;width:100%;font:inherit;padding:10px;border:1px solid #cad2df;border-radius:8px;margin-top:6px}textarea{resize:vertical}.bar,.actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.bar h2{font-size:19px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.day{background:white;border:1px solid #e1e6f0;min-height:73px;border-radius:7px;padding:5px;cursor:pointer;overflow:hidden;text-align:left;color:#17243b}.day.selected{border:2px solid #2563eb}.day.outside{opacity:.3}.day b{display:block}.day small{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekday{text-align:center;color:#65738b;font-size:12px;padding:8px 0}.exam{color:#b42318!important;font-weight:bold}.deadline{color:#ad5900!important;font-weight:bold}.hint{color:#5c687c;line-height:1.6;font-size:14px}.event p,.task p{white-space:pre-wrap}.muted{color:#64748b;font-size:12px}.candidate input[type=checkbox]{width:auto;display:inline}.candidate textarea{min-height:50px}.danger{background:#b42318}.secondary{background:#64748b}@media(max-width:500px){.day{min-height:65px;padding:3px}.day small{font-size:9px}nav button{padding:12px 9px;font-size:12px}}