:root{font:16px/1.55 system-ui,sans-serif;color:#152b36;background:#f3f6f7;--accent:#00746f}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:20px;max-width:1120px;margin:auto;padding:24px}header #logout{margin-left:auto}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;line-height:1.2}.brand b{font-size:28px;padding:12px;background:#102e3b;color:white;border-radius:12px}.brand span{font-size:20px;font-weight:650}.brand small{font-size:10px;letter-spacing:.13em}.badge{font-size:12px;border:1px solid #b7cbce;border-radius:20px;padding:4px 10px}main{max-width:1000px;margin:15px auto;padding:0 24px}.card{background:#fff;border:1px solid #dce5e8;border-radius:18px;padding:30px;box-shadow:0 8px 30px #102e3b05}.login{max-width:480px;margin:65px auto}h1{font-size:34px;line-height:1.2;margin:8px 0 20px;letter-spacing:-.025em}h2{font-size:23px;margin:0 0 18px}p{margin:12px 0 20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;color:#51717d;margin:0 0 12px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading label{max-width:320px}label{display:block;font-size:14px;font-weight:600;margin:15px 0}input,select,textarea{display:block;width:100%;border:1px solid #aabfc6;border-radius:8px;background:white;color:inherit;font:inherit;padding:11px;margin-top:6px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #68c5bc;outline-offset:2px}button{cursor:pointer;border:1px solid #aabfc6;border-radius:8px;background:#fff;color:#183e49;font:600 14px system-ui;padding:11px 17px}button:hover{background:#eaf3f3}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#005e59}.notice{background:#e5efee;border-left:3px solid var(--accent);padding:14px 18px;border-radius:4px;font-size:14px}nav{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}nav button{border-color:transparent;background:transparent}nav button.active{background:#153b48;color:white}.hint{font-size:13px;color:#4b6570}.check{display:flex;align-items:center;gap:10px}.check input{width:18px;margin:0}fieldset{border:1px solid #dce5e8;border-radius:10px;margin:25px 0;padding:15px}legend{font-size:14px;font-weight:600}.day{display:grid;grid-template-columns:130px 1fr 1fr;align-items:center;gap:15px}.day label{margin:6px 0}.day input[type=time]{margin:0}.run{border-top:1px solid #dce5e8;padding:18px 0}.run pre{white-space:pre-wrap;font:inherit;font-size:14px;overflow-wrap:anywhere}#status:not(:empty){padding:14px 18px;background:#fff1d5;border:1px solid #e7c881;border-radius:8px;margin-bottom:20px}#slot-result{font-weight:600}footer{text-align:center;font-size:12px;color:#5b727b;padding:40px 20px}[hidden]{display:none!important}@media(max-width:600px){header{padding:16px;gap:12px}main{padding:0 14px}.card{padding:20px}.login{margin-top:30px}.heading{align-items:stretch;flex-direction:column;gap:5px}h1{font-size:29px}.heading label{max-width:100%}.day{grid-template-columns:100px 1fr 1fr;gap:7px}.day input{font-size:13px;padding:8px}nav{gap:3px}nav button{font-size:13px;padding:10px}.badge{display:none}}
.tenant-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dce5e8;padding:16px 0}.tenant-row p{margin:4px 0;font-size:14px}.tenant-actions{display:flex;gap:8px;flex-wrap:wrap}.tenant-row strong{overflow-wrap:anywhere}#tenant-indicator{font-weight:650}#editable-profile{margin:12px 0}#profile button{margin:4px 8px 4px 0}.run audio{display:block;width:100%;max-width:600px;margin-top:12px}.run button{margin:10px 8px 0 0}.run pre{max-height:420px;overflow:auto}.run .notice{font-size:13px}#create-customer{max-width:560px}#provision-result:not(:empty){padding:16px;background:#e5efee;border-radius:8px}.tenant-row button{white-space:normal}@media(max-width:600px){.tenant-row{align-items:flex-start;flex-direction:column;gap:8px}.tenant-actions{width:100%}.tenant-actions button{flex:1}.day{grid-template-columns:90px minmax(0,1fr) minmax(0,1fr)}fieldset{padding:10px}audio{width:100%}#profile button{width:100%;margin:5px 0}}
dialog{max-width:min(540px,calc(100vw - 28px));border:1px solid #aabfc6;border-radius:14px;padding:24px;color:inherit}dialog::backdrop{background:#102e3b88}dialog .tenant-actions{justify-content:flex-end}
@media(max-width:600px){.day{grid-template-columns:repeat(2,minmax(0,1fr))}.day label{grid-column:1/-1}.day input[type=time]{min-width:0}}
