
:root{font-family:Arial,sans-serif;color:#173b35;background:#f3f6f5;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #b9ccc5;border-radius:9px;padding:9px 14px;background:white;color:#174d40;font-weight:700}button:hover{background:#eaf1ed}button:focus-visible,a:focus-visible{outline:3px solid #bb861b;outline-offset:3px}.primary{background:#105444;color:white;border-color:#105444}.primary:hover{background:#073c30}.danger{color:#a32d2d}header{background:#0b4038;color:white;padding:18px max(5%,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Georgia,serif;font-size:24px}.brand small{display:block;font:14px Arial,sans-serif;letter-spacing:1px;margin-top:5px;color:#c1d7ce}main{max-width:1120px;margin:auto;padding:24px 24px 50px}.notice{padding:10px 14px;background:#fff3d3;border-radius:10px;font-size:14px;color:#5d4716;line-height:1.5}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0 20px}h1{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0 0 10px}h2{font-size:20px;margin:0 0 10px}p{line-height:1.5}.muted{color:#576f67}nav{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}nav button[aria-pressed=true]{background:#d5e8df;border-color:#276e57}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:white;border:1px solid #d3dfda;border-radius:12px;padding:20px;box-shadow:0 5px 18px #153a3210}.card-top{display:flex;gap:14px;align-items:center;margin-bottom:18px}.date{background:#e8f1eb;border-radius:10px;text-align:center;padding:9px 12px;min-width:62px}.date b{display:block;font-size:26px}.date span{font-size:14px;text-transform:uppercase}.time{font-size:27px;font-weight:700;margin:10px 0 4px}.pill{display:inline-block;border-radius:30px;background:#e8f4ed;color:#1c6244;padding:6px 10px;font-size:14px;font-weight:700}.pill.full{background:#fff0d0;color:#775415}.line{display:flex;justify-content:space-between;align-items:center;gap:12px}.capacity{height:6px;background:#e6eeea;border-radius:10px;margin:14px 0 16px;overflow:hidden}.capacity div{height:100%;background:#28785b}.names{min-height:44px;font-size:16px;line-height:1.6;color:#536960}.actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.actions button{flex:1}.bottom{margin-top:32px;font-size:15px;color:#536960;display:flex;justify-content:space-between;gap:15px;align-items:center}dialog{border:0;border-radius:17px;max-width:650px;width:calc(100% - 28px);padding:22px;color:#173b35;max-height:90vh;overflow:auto}dialog::backdrop{background:#062b26aa}.close{float:right;padding:6px 13px;min-height:42px}label{display:block;font-weight:700;margin:20px 0 7px}input,select,textarea{width:100%;padding:11px;border:1px solid #9bb3a8;border-radius:8px;background:white;color:#173b35}textarea{min-height:85px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}ol{padding-left:27px}li{padding:10px 0;border-bottom:1px solid #e5ece8;line-height:1.4}li button{font-size:14px;min-height:44px;padding:5px 10px;margin-left:10px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#103f35;color:white;border-radius:10px;padding:16px 22px;box-shadow:0 6px 30px #0003;z-index:5;max-width:90%;width:max-content}.empty{padding:40px;text-align:center;background:white;border-radius:15px}@media(max-width:700px){header{padding:16px;gap:12px;flex-wrap:wrap}.brand{font-size:21px}header button{font-size:14px;padding:8px 10px}main{padding:16px 14px}.grid{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column;margin-top:22px}h1{font-size:29px}.heading button{width:100%}.card{padding:17px}.row{grid-template-columns:1fr}.bottom{align-items:flex-start;flex-direction:column}}
.card-top>div:last-child{min-width:0}h2{overflow-wrap:anywhere}.line{flex-wrap:wrap}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.grid{grid-template-columns:minmax(0,1fr)}.heading{gap:14px}.heading button{width:auto}dialog{padding:20px}.notice{line-height:1.4}.card-top{margin-bottom:14px}}@media(max-width:360px){header{align-items:flex-start}.brand{font-size:20px}.actions{gap:8px}.actions button{padding:9px 10px}}

button:disabled{opacity:.55;cursor:wait}.error{color:#a32d2d}#connection{font-size:14px}#auth{max-width:460px;margin:30px auto}.names{overflow-wrap:anywhere}