*{box-sizing:border-box}body{margin:0;background:#f4f4f1;color:#20221f;font:14px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #deded6;border-radius:8px;padding:10px 15px;background:white;color:inherit}button:hover{border-color:#a98638;background:#faf7ed}.gold{background:#c9a650;border:0;color:#151714;font-weight:650}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:#191c19;color:#aeb2a9;padding:32px 20px;display:flex;flex-direction:column}.brand{font-size:23px;font-weight:800;color:#d9b65c;letter-spacing:1px}.brand small{display:block;color:#92988b;font-size:10px;margin-top:8px;letter-spacing:3px}nav{margin-top:42px;display:grid;gap:8px}nav button{text-align:left;background:none;border:0;color:#b3b8ad;padding:14px}nav button.active{background:#303329;color:#e8c774}.sidefoot{margin-top:auto;font-size:12px;line-height:1.8}.main{margin-left:224px;padding:28px 34px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;padding-bottom:22px;gap:15px}h1{font-size:28px;margin:0 0 7px;letter-spacing:-1px}h2{font-size:19px}p{color:#7b8075;margin:0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:24px 0}.toolbar input{width:auto}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric,.card{background:white;border:1px solid #e2e3da;border-radius:12px;padding:20px}.metric label{color:#84897f;font-size:12px}.metric strong{display:block;font-size:28px;margin:9px 0}.metric small{color:#7d8376}.calendar{background:white;border:1px solid #dedfd6;border-radius:12px;overflow:hidden}.calhead{display:grid;grid-template-columns:65px repeat(4,1fr);height:58px;align-items:center;border-bottom:1px solid #ddd;text-align:center;font-weight:650}.calbody{display:grid;grid-template-columns:65px repeat(4,1fr);height:1056px}.times div{height:48px;color:#92978c;text-align:center;font-size:11px;padding-top:7px}.bay{position:relative;border-left:1px solid #e3e5dd;background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,#edf0e7 47px,#edf0e7 48px)}.slot{position:absolute;left:0;width:100%;height:48px;background:none;border:none;border-radius:0;color:transparent;font-size:12px}.slot:hover{color:#a5863b;background:#faf7ed}.booking{position:absolute;left:7px;right:7px;text-align:left;padding:11px;border-radius:8px;border:1px solid #ddd;background:#f1f2ef;overflow:hidden;z-index:1;display:flex;flex-direction:column;gap:6px}.booking.working{background:#eef5ee;border-color:#b9d1ba;border-left:3px solid #6b9672}.booking.issued{background:#24291f;color:#f3e1af;border-color:#24291f}.booking b{font-size:13px}.booking small{opacity:.75}.badge{display:inline-block;padding:4px 8px;border-radius:5px;font-size:11px;background:#e8eae5;color:#636b5e}.badge.working{background:#dfeddf;color:#487c50}.badge.issued{background:#eee2bb;color:#6f5724}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.muted{color:#858a80;font-size:12px}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:15px;border-bottom:1px solid #eee}th{font-size:12px;color:#848a7d;font-weight:500}tbody tr:hover{background:#faf9f4}input,select,textarea{border:1px solid #d9ddd1;border-radius:7px;padding:10px;background:white;width:100%;color:inherit}label{display:block;font-size:12px;color:#767d6e;margin:12px 0 5px}input[type=checkbox]{width:auto}.overlay{position:fixed;inset:0;background:#10150d55;z-index:4}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(640px,95vw);background:#fff;padding:26px;overflow:auto;z-index:5;box-shadow:-10px 0 40px #0002}.drawer header{position:sticky;top:-26px;background:white;z-index:2;padding-top:15px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.section{border-top:1px solid #e3e6dc;margin-top:22px;padding-top:12px}.line{padding:14px;background:#f6f7f2;margin:10px 0;border-radius:8px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.progress{height:8px;background:#eee;border-radius:8px;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;background:#c7a64d}.empty{padding:50px;text-align:center;color:#89907e}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#252b20;color:white;padding:14px 22px;border-radius:10px;z-index:10;display:none}.search{max-width:400px}.danger{color:#ac5340}.comment{padding:10px 0;border-bottom:1px solid #eee}.statuslegend{margin-left:auto;display:flex;gap:8px}footer{margin:20px 0;color:#94998f;font-size:11px}@media(max-width:900px){.sidebar{width:170px;padding:25px 12px}.main{margin-left:170px;padding:20px}.metrics{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.statuslegend{display:none}.booking{left:3px;right:3px;padding:6px}.brand{font-size:18px}}@media(max-width:600px){.sidebar{position:static;width:auto;padding:16px}.brand small,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{padding:8px;white-space:nowrap}.main{margin:0;padding:14px}header{flex-wrap:wrap}.calendar{overflow:auto}.calhead,.calbody{min-width:700px}.formgrid{grid-template-columns:1fr}h1{font-size:24px}table{font-size:12px}th,td{padding:10px}}
.login{width:min(420px,90vw);margin:12vh auto;background:white;border-radius:16px;border:1px solid #e2e3da;padding:36px}.login .brand{color:#a7873b;margin-bottom:35px}.login h1{font-size:25px}.login p{margin-top:12px}.saving #app,.saving #panel{pointer-events:none}.saving:after{content:'Сохраняем…';position:fixed;bottom:0;right:0;padding:12px 24px;background:#c9a650;z-index:20}
