:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#5b6656;background:#f7f4eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f3eedf,#eef3e9)}.login-card{width:min(420px,100%);display:grid;gap:18px;padding:36px;border:1px solid rgba(86,107,69,.18);border-radius:22px;background:#fff;box-shadow:0 20px 60px #413a2e17}.brand-mark,.brand span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#566b45;color:#fff;font-size:12px;font-weight:900;letter-spacing:.12em}.login-card h1{margin:0;color:#566b45;font-size:36px}.login-card p{margin:-14px 0 0;color:#7b8476}.login-card label{display:grid;gap:7px;font-weight:700}.login-card input{min-height:48px;border:1px solid rgba(86,107,69,.25);border-radius:11px;padding:10px 13px}.primary,.secondary,.actions button,.month-nav button{min-height:44px;border:0;border-radius:11px;padding:9px 15px;font-weight:800;cursor:pointer}.primary,.actions button{background:#da7f88;color:#fff}.secondary,.month-nav button{background:#fff;border:1px solid rgba(86,107,69,.2);color:#566b45}.error,.inline-error{color:#9b303b}.error{padding:12px;border-radius:10px;background:#fff0f1}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:28px;padding:12px clamp(16px,4vw,52px);border-bottom:1px solid rgba(86,107,69,.15);background:#ffffffed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px}.brand span{width:38px;height:38px;border-radius:10px;font-size:9px}.topbar nav{display:flex;gap:8px;margin:auto}.topbar nav button,.logout{border:0;background:transparent;padding:10px 14px;border-radius:999px;color:#687363;font-weight:800;cursor:pointer}.topbar nav button.active{background:#da7f88;color:#fff}.content{width:min(1240px,100%);margin:auto;padding:clamp(24px,5vw,58px)}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.page-head h1{margin:4px 0;color:#566b45;font-size:clamp(32px,5vw,52px)}.page-head p{margin:0;color:#7b8476}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#da7f88}.group{margin-top:30px}.group>h2{color:#64705f}.control-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.control-card{padding:20px;border:1px solid rgba(86,107,69,.17);border-radius:16px;background:#fff;box-shadow:0 12px 30px #413a2e0e}.control-head{display:flex;justify-content:space-between;gap:14px}.control-card h2{margin:6px 0;color:#64705f}.control-card p{margin:0;color:#7b8476}.state{height:max-content;padding:5px 9px;border-radius:999px;background:#eee;color:#777;font-size:11px;font-weight:800}.state.on{background:#e1f0dc;color:#43693c}.actions{display:flex;gap:8px;margin-top:18px}.actions button:disabled{opacity:.55}.inline-error{font-size:13px;margin-top:12px!important}.empty{padding:30px;border:1px dashed rgba(86,107,69,.25);border-radius:16px;text-align:center}.month-nav{display:flex;align-items:center;gap:12px}.calendar{overflow:auto;border:1px solid rgba(86,107,69,.17);border-radius:16px;background:#fff}.day-row,.lane{display:grid;grid-template-columns:180px minmax(840px,1fr)}.day-row{border-bottom:1px solid rgba(86,107,69,.14)}.day-row>i{display:none}.day-row>span{height:38px}.lane{min-height:64px;border-bottom:1px solid rgba(86,107,69,.1)}.lane:last-child{border-bottom:0}.lane>strong{display:flex;align-items:center;padding:12px 16px;color:#64705f}.track{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(3.2258% - 1px),rgba(86,107,69,.09) calc(3.2258% - 1px),rgba(86,107,69,.09) 3.2258%)}.block{position:absolute;top:17px;height:30px;min-width:8px;border-radius:8px;opacity:.88}.logout{white-space:nowrap}@media (max-width:700px){.topbar{gap:8px;padding:10px}.brand strong,.logout{font-size:12px}.topbar nav{gap:2px}.topbar nav button{padding:9px 10px}.content{padding:24px 14px}.page-head{align-items:flex-start;flex-direction:column}.day-row,.lane{grid-template-columns:120px minmax(840px,1fr)}}button,input,select{font:inherit}.text-button{border:0;background:transparent;color:#566b45;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.header-actions{display:flex;gap:9px}.filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:12px;padding:18px;margin-bottom:24px;border:1px solid rgba(86,107,69,.16);border-radius:16px;background:#fff}.filters label{display:grid;gap:6px;font-size:12px;font-weight:800}.filters input,.filters select{min-height:42px;padding:8px 11px;border:1px solid rgba(86,107,69,.22);border-radius:10px;background:#fff;color:#5b6656}.group-toggle{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:12px;padding:10px 2px;border:0;background:transparent;color:#64705f;text-align:left;cursor:pointer}.group-toggle span{font-size:21px;font-weight:800}.group-toggle small{font-weight:700;color:#899184}.control-card h3{margin:6px 0;color:#64705f;font-size:21px}.block{border:0;cursor:pointer}.block:hover,.block:focus-visible{opacity:1;outline:3px solid rgba(86,107,69,.28);outline-offset:2px}.occupancy-detail{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;border:1px solid rgba(86,107,69,.18);border-radius:14px;background:#fff}.occupancy-detail strong{color:#566b45}.occupancy-detail span{color:#7b8476}.occupancy-detail button{border:0;background:transparent;color:#566b45;font-size:24px;cursor:pointer}@media (max-width:700px){.filters{grid-template-columns:1fr}}.login-language{position:absolute;top:22px;right:22px}.standard-login{width:min(560px,100%);padding:36px}.login-brand{display:grid;justify-items:center;gap:10px;text-align:center;margin-bottom:12px}.login-logo{width:120px;height:120px;object-fit:contain}.login-title{font-size:28px;font-weight:700;color:#566b45}.standard-login h2{text-align:center;margin:0}.standard-header{min-height:84px}.standard-brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;min-width:230px}.standard-brand img{width:56px;height:56px;object-fit:contain}.standard-brand span,.standard-user>span{display:grid;gap:2px}.standard-brand small{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.standard-brand strong{font-size:21px;color:#566b45}.standard-user{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:230px}.standard-user>span{text-align:right}.standard-user>span small{font-size:11px;color:#7b8476}.portal-language-switcher{display:inline-flex;gap:3px;padding:3px;border:1px solid rgba(86,107,69,.15);border-radius:999px;background:#fff}.portal-language-button{width:32px;height:32px;padding:0;border:0;border-radius:999px;background:transparent;color:#687363;font-size:10px;font-weight:800;cursor:pointer}.portal-language-button.is-active{background:#566b45;color:#fff}@media (max-width:900px){.standard-user>span{display:none}.standard-brand,.standard-user{min-width:0}}@media (max-width:700px){.login-language{top:10px;right:10px}.standard-brand span{display:none}.standard-header{min-height:64px}.portal-language-button{width:28px;height:28px}.standard-user{gap:4px}.standard-user .logout{font-size:0}.standard-user .logout:after{content:"↪";font-size:18px}}.special-cover-card .actions button{background:#fff;color:#566b45;border:1px solid rgba(86,107,69,.22)}.special-cover-card .actions button:not(:disabled):first-child{background:#da7f88;color:#fff;border-color:#da7f88}.monitoring-card{grid-column:span 2;background:linear-gradient(145deg,#fff,#f3f6ef)}.monitoring-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px}.monitoring-values>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:#ffffffc7}.monitoring-values span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7b8476}.monitoring-values strong{font-size:20px;color:#566b45}@media (max-width:700px){.monitoring-card{grid-column:auto}}
