:root{--brown:#5d4037;--cream:#fbf7f2;--pink:#e8c9c2;--ink:#2d2725;--line:#e7ded8}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:15px system-ui,sans-serif}
header{height:64px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
header b{font:700 26px Georgia;color:var(--brown);margin-right:10px}header span{color:#8a7770}
nav button{border:0;background:none;padding:20px 14px;color:#766}nav .active{color:var(--brown);border-bottom:3px solid var(--brown)}
main{max-width:1400px;margin:auto;padding:24px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.toolbar h2{margin:0;flex:1}.toolbar button,.primary{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 14px;cursor:pointer}.primary{background:var(--brown)!important;color:#fff;border-color:var(--brown)!important}
.staff-note{color:#8a7770;margin:-8px 0 14px}.calendar-scroll{overflow-x:auto;padding-bottom:8px}
#calendar{display:grid;grid-template-columns:64px repeat(7,minmax(150px,1fr));gap:6px;min-width:1120px}
.times,.day{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;height:892px;padding:10px}
.day h3,.times h3{height:24px;margin:0;font-size:13px;text-transform:uppercase;color:#8a7770}.times span{position:absolute;right:8px;color:#8a7770;font-size:12px;transform:translateY(-7px)}
.hour-lines{position:absolute;left:0;right:0;top:42px}.hour-lines i{display:block;height:50px;border-top:1px solid #eee}
.event{position:absolute;left:5px;right:5px;margin:0;padding:6px;border-radius:7px;background:#f2ddd7;border-left:4px solid var(--brown);cursor:pointer;overflow:hidden;z-index:2}.event.personal{background:#e8ece7}.event small{display:block;color:#766;margin-top:4px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.card h3{margin:0 0 6px}.card a{color:var(--brown)}
input,select,textarea{width:100%;padding:10px;border:1px solid #d8ccc6;border-radius:8px;background:#fff;margin:5px 0 12px}label{font-size:13px;color:#6c5b55}
dialog{border:0;border-radius:16px;box-shadow:0 24px 80px #0004;width:min(480px,92vw)}dialog::backdrop{background:#2d272599}.close{float:right;border:0;background:none;font-size:24px}.close+h3{margin-top:4px}#error{color:#a22;min-height:20px}
.participant small{display:block;color:#766;margin-top:4px}.participant .actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.participant .actions button{padding:7px 9px;font-size:12px}
.client-result{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;margin:6px 0;cursor:pointer}.client-result small{display:block;color:#766;margin-top:3px}details{margin:12px 0}summary{cursor:pointer;color:var(--brown)}
@media(max-width:800px){main{padding:14px}.toolbar{flex-wrap:wrap}.toolbar h2{min-width:55%}header span{display:none}}
