*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f3f4f6;color:#24282c}button,input,select,textarea{font:inherit}button{border:0;border-radius:9px;padding:10px 13px;font-weight:700;cursor:pointer}.primary{background:#ee6c23;color:#fff}.secondary,.ghost{background:#fff;border:1px solid #d8dde3;color:#30353a}.ghost{background:transparent;color:#fff;border-color:#666}.danger{background:#b42318;color:#fff}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:20;background:#2f3337;color:#fff;padding:12px 18px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:10px;align-items:center}.brand div{display:flex;flex-direction:column}.brand small{color:#cbd0d5}.logo{width:40px;height:40px;background:#ee6c23;border-radius:9px;display:grid;place-items:center;font-size:23px;font-weight:900}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions span{font-size:12px;color:#cbd0d5}main{padding:18px}.card{background:#fff;max-width:570px;margin:7vh auto;padding:24px;border-radius:14px;box-shadow:0 8px 30px #0002}.card h1{margin-top:0}.card label,dialog label{display:block;font-weight:700;margin:12px 0}.card input,.card textarea,dialog input,dialog textarea,dialog select,.toolbar select{width:100%;padding:10px;margin-top:5px;border:1px solid #ccd2d8;border-radius:8px;background:#fff}.row{display:flex;gap:8px}.message{color:#b42318}.toolbar{display:grid;grid-template-columns:auto 1fr auto 220px auto auto auto auto;align-items:center;gap:10px;margin-bottom:12px}.preview-banner{background:#5b3ea6;color:#fff;padding:8px 18px;display:flex;justify-content:center;align-items:center;gap:14px;font-weight:700;font-size:13px}.preview-banner button{padding:6px 12px}.toolbar>div{text-align:center;display:flex;flex-direction:column}.toolbar small{color:#68717a;margin-top:3px}.planner-wrap{overflow:auto;background:#fff;border-radius:12px;box-shadow:0 3px 16px #0001}.planner{min-width:980px;display:grid;grid-template-columns:150px repeat(5,minmax(160px,1fr))}.cell{padding:8px;min-height:110px;border-right:1px solid #dfe3e8;border-bottom:1px solid #dfe3e8}.head{font-weight:800;background:#f8f9fa;text-align:center;min-height:auto}.person{font-weight:800;background:#fafafa;position:sticky;left:0;z-index:4}.entry{padding:7px 8px;border-radius:8px;margin-bottom:6px;cursor:pointer;font-size:13px;box-shadow:0 1px 4px #0002}.entry.site{background:#f8c18f}.entry.office{background:#b7d7e9}.entry.meeting{background:#cfc3e9}.entry.absent{background:#d8dbe0}.entry strong,.entry small{display:block}.entry small{margin-top:3px;color:#40464c}dialog{width:min(560px,calc(100vw - 24px));border:0;border-radius:14px;padding:20px}dialog::backdrop{background:#1119}dialog header{display:flex;justify-content:space-between;align-items:center}dialog header h2{margin:0}dialog header button{font-size:26px;background:transparent}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:18px}#employeeList>div,#userList>div,#requestList>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;border:1px solid #ddd;border-radius:8px;margin-bottom:7px}#userList>div{flex-direction:column;align-items:stretch}#userList>div>span{font-weight:700;overflow-wrap:anywhere}#userList>div>div{display:flex;gap:8px;flex-wrap:wrap}#userList select{width:auto}#userList button{white-space:nowrap}#requestList>div{align-items:flex-start}#requestList small{color:#68717a}#requestList>div>div:last-child{display:flex;gap:6px;flex-shrink:0}#requestList button{white-space:nowrap}body.tv .topbar,body.tv .toolbar select,body.tv #employeesBtn,body.tv #usersBtn,body.tv #requestsBtn,body.tv #previewBtn,body.tv #addBtn,body.tv .preview-banner{display:none}body.tv main{padding:0}body.tv .planner{min-width:100vw}body.tv .cell{min-height:135px;font-size:16px}@media(max-width:760px){.actions #syncState,.actions #tvBtn{display:none}.toolbar{grid-template-columns:auto 1fr auto}.toolbar select,.toolbar #employeesBtn,.toolbar #usersBtn,.toolbar #requestsBtn,.toolbar #previewBtn{grid-column:auto}.toolbar select{grid-column:1/3}.planner{min-width:860px;grid-template-columns:125px repeat(5,145px)}.grid2{grid-template-columns:1fr}main{padding:10px}.preview-banner{flex-direction:column;gap:6px}}
