:root{--green:#173f33;--pale:#f2f1e9;--white:#fff;--orange:#bf673f;--red:#a83d35;--text:#26342f;--muted:#6a756f;--line:#d9ddd8;--shadow:0 12px 35px rgba(20,50,40,.1)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f7f7f3;color:var(--text);font-family:Arial,sans-serif;font-size:18px}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.login-screen{min-height:100vh;display:grid;place-items:center;background:var(--green);padding:20px}.login-card{width:min(440px,100%);background:white;border-radius:22px;padding:42px;box-shadow:var(--shadow);text-align:center}.admin-logo{width:68px;height:68px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;margin:auto;font:700 34px Georgia;color:var(--green)}h1{font-size:2.2rem;margin:10px 0}h2{font-size:1.45rem;margin:34px 0 16px}.login-card p{color:var(--muted)}label{display:block;text-align:left;font-weight:700;margin:16px 0 6px}input,select,textarea{display:block;width:100%;min-height:54px;padding:13px;border:2px solid var(--line);border-radius:10px;background:white;margin-top:7px}input:focus,select:focus,textarea:focus{outline:3px solid #b9d7c9;border-color:var(--green)}.big{min-height:55px;border:0;border-radius:10px;padding:13px 22px;font-weight:700;cursor:pointer}.login-card .big{width:100%;margin-top:22px}.primary{background:var(--orange);color:white}.secondary{background:#e5e8e4;color:var(--text)}.danger{background:var(--red);color:white}.message{color:var(--red)!important;font-weight:700}header{position:fixed;z-index:5;left:260px;right:0;top:0;height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px}.admin-brand{font-size:1.25rem;font-weight:700}.admin-brand small{color:var(--muted);font-weight:400;margin-left:8px}.view-site{margin-left:auto;border:2px solid var(--green);color:var(--green);border-radius:9px;padding:9px 14px;text-decoration:none;font-weight:700}.menu-button{display:none}aside{position:fixed;z-index:6;inset:0 auto 0 0;width:260px;background:var(--green);padding:24px 14px;display:flex;flex-direction:column;gap:6px}aside button{border:0;background:transparent;color:white;text-align:left;padding:15px;border-radius:9px;font-weight:700;cursor:pointer}aside button.active,aside button:hover{background:rgba(255,255,255,.16)}#logout{margin-top:auto}main{margin-left:260px;padding:116px 4vw 60px;max-width:1450px}.page{display:none}.page.active{display:block}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-title p{margin:0;color:var(--muted)}.page-title h1{margin:2px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:white;border-radius:14px;padding:22px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:2rem;color:var(--green);margin-top:8px}.card-list{display:grid;gap:12px}.booking-card{background:white;border-left:8px solid #888;border-radius:12px;padding:18px 22px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:20px;align-items:center}.booking-card.reserved{border-color:#d9a128}.booking-card.occupied{border-color:#b74c3f}.booking-card.maintenance{border-color:#66716d}.booking-card strong,.booking-card span{display:block}.booking-card small{color:var(--muted)}.booking-card button{border:0;border-radius:8px;padding:10px 13px;font-weight:700;cursor:pointer}.card-actions{display:flex;gap:7px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick button{background:white;border:2px solid var(--line);border-radius:14px;min-height:90px;font-weight:700;cursor:pointer}.quick button:hover{border-color:var(--green)}.editor{background:white;padding:28px;border-radius:16px;box-shadow:var(--shadow);max-width:900px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions,.backup-actions{display:flex;gap:12px;margin-top:24px}.conflict{color:var(--red);font-weight:700;margin-top:14px}.toolbar{display:flex;gap:20px;background:white;padding:16px 22px;border-radius:12px;margin-bottom:16px}.toolbar label{margin:0;min-width:240px}.legend{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.legend span{padding:7px 11px;border-radius:99px;color:white;font-size:.85rem}.legend .reserved{background:#b78315}.legend .occupied{background:#a43d32}.legend .maintenance{background:#59635f}.unit-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.unit-admin{background:white;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.unit-admin img{width:100%;height:170px;object-fit:cover}.unit-admin div{padding:17px}.unit-admin button{width:100%;margin-top:12px}.check{display:flex!important;align-items:center;gap:10px}.check input{width:26px;min-height:26px;margin:0}.info-box{max-width:800px;background:#e5efe9;border-left:8px solid var(--green);padding:22px;border-radius:12px}.restore{margin-top:28px}.toast{display:none;position:fixed;z-index:10;right:24px;top:90px;background:var(--green);color:white;padding:16px 22px;border-radius:10px;box-shadow:var(--shadow);font-weight:700}.toast.show{display:block}.print-row{background:white;border-bottom:1px solid var(--line);padding:18px;display:grid;grid-template-columns:150px 1fr 1fr 2fr;gap:20px}.print-row strong{display:block}
@media(max-width:950px){header{left:0}.menu-button{display:block;margin-right:15px;border:0;background:var(--green);color:white;border-radius:8px;padding:10px}aside{transform:translateX(-100%);transition:.2s}aside.open{transform:none}main{margin-left:0}.stats,.quick{grid-template-columns:1fr 1fr}.unit-admin-grid{grid-template-columns:1fr 1fr}.booking-card{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:17px}header{height:68px;padding:0 12px}.admin-brand small,.view-site{display:none}main{padding:90px 14px 40px}.page-title{align-items:flex-start;flex-direction:column}.page-title .big{width:100%}.stats,.quick,.unit-admin-grid,.two{grid-template-columns:1fr}.booking-card{grid-template-columns:1fr;gap:9px}.toolbar{display:block}.editor{padding:18px}.form-actions,.backup-actions{display:grid}.print-row{grid-template-columns:1fr}}
@media print{header,aside,.page:not(#print),#print-button,.toast{display:none!important}main{margin:0;padding:0}#print{display:block!important}.print-row{box-shadow:none;page-break-inside:avoid}}
