:root{--ink:#172422;--muted:#667572;--brand:#174d49;--accent:#d6a95d;--bg:#f4f6f5;--card:#fff;--line:#dfe6e3;--danger:#b94040;--shadow:0 10px 30px #163b3410}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 15%,#d8b97c55,transparent 30%),linear-gradient(135deg,#0d3533,#245d57)}.login-card{width:min(420px,92vw);padding:38px;border-radius:18px;background:#fff;box-shadow:0 30px 80px #001b1870}.brand{font-size:22px;font-weight:750;letter-spacing:-.5px}.brand span{color:var(--accent)}.login h1{font-size:30px;margin:28px 0 6px}.muted{color:var(--muted)}label{display:block;font-weight:650;margin:15px 0 6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}button{border:0;border-radius:9px;padding:10px 14px;background:var(--brand);color:#fff;font-weight:650;cursor:pointer}button.secondary{background:#e8eeec;color:var(--ink)}button.danger{background:var(--danger)}button.small{padding:6px 9px;font-size:12px}.error{background:#fdeaea;color:#8b2525;padding:10px;border-radius:8px;margin:10px 0}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#113c39;color:#e8f2f0;padding:24px 16px;position:sticky;top:0;height:100vh}.sidebar .brand{padding:0 10px 22px}.nav button{display:flex;width:100%;background:transparent;text-align:left;gap:10px;padding:10px 12px;color:#c6d8d5;margin:2px 0}.nav button.active,.nav button:hover{background:#ffffff16;color:#fff}.side-foot{position:absolute;bottom:20px;left:20px;right:20px;font-size:12px;color:#aac2be}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:4}.content{padding:28px 30px;max-width:1500px;margin:auto}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}h1{margin:0;font-size:28px;letter-spacing:-.7px}h2{font-size:18px;margin:0 0 15px}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,1fr)}.metric,.card{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.metric{padding:18px}.metric b{display:block;font-size:26px;margin-top:8px}.card{padding:20px}.two{grid-template-columns:2fr 1fr;margin-top:16px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#fafbfb}.badge{display:inline-block;padding:4px 8px;border-radius:99px;background:#e8efed;color:#31504c;font-size:11px;font-weight:750}.badge.CONFIRMED{background:#e7efff;color:#305998}.badge.CHECKED_IN{background:#dcf5e8;color:#23704b}.badge.CANCELLED{background:#fde6e6;color:#a43a3a}.badge.DIRTY,.badge.OPEN{background:#fff0d9;color:#915d12}.filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:15px}.filters>*{width:auto}.actions{display:flex;gap:6px}.modal-bg{position:fixed;inset:0;background:#0b211f99;display:grid;place-items:center;z-index:20;padding:15px}.modal{background:#fff;width:min(650px,100%);max-height:90vh;overflow:auto;border-radius:14px;padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .wide{grid-column:1/-1}.calendar{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.cal-grid{display:grid;min-width:1050px}.cal-cell{height:54px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;position:relative}.cal-head{height:45px;background:#f8faf9;font-size:11px;font-weight:700}.cal-room{font-weight:750;background:#fbfcfc;position:sticky;left:0;z-index:2}.booking{position:absolute;inset:6px 2px;border-radius:6px;background:#b9d8d3;color:#153d39;padding:5px;overflow:hidden;font-size:11px;font-weight:700;z-index:1}.booking.BOOKING_COM{background:#bcd5f5}.booking.AIRBNB{background:#ffd1d5}.booking.EXPEDIA{background:#fff0ac}.room-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.room-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:12px}.room-no{font-size:25px;font-weight:800}.toast{position:fixed;right:20px;bottom:20px;background:#173f3c;color:#fff;padding:12px 18px;border-radius:9px;z-index:50}.mobile-nav{display:none}@media(max-width:900px){.shell{display:block}.sidebar{display:none}.topbar{padding:0 16px}.content{padding:20px 14px 80px}.metrics{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid var(--line);z-index:10;justify-content:space-around}.mobile-nav button{background:transparent;color:var(--muted);padding:8px;font-size:11px}.form-grid{grid-template-columns:1fr}}@media(max-width:520px){.metrics{grid-template-columns:1fr 1fr}.metric{padding:13px}.metric b{font-size:21px}.topbar .muted{display:none}}
@import url('/stage8.css');

/* Visual refresh: lightweight, local-only assets and faster-feeling navigation. */
body{background:radial-gradient(circle at 85% 0,#e6f1ed 0,transparent 26%),#f3f6f4}
.sidebar{background:linear-gradient(180deg,#123f3b 0%,#092b29 72%,#071f1e 100%);padding:22px 14px;overflow:hidden}
.sidebar:after{content:"";position:absolute;width:220px;height:220px;border:1px solid #ffffff0b;border-radius:50%;right:-120px;bottom:70px;box-shadow:0 0 0 35px #ffffff05,0 0 0 70px #ffffff04;pointer-events:none}
.sidebar .brand{padding:0 10px 20px;display:flex;align-items:center;gap:11px;color:#fff}
.sidebar .brand small{display:block;font-size:8px;letter-spacing:1.8px;color:#84aaa5;margin-top:2px}
.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#e4c275,#b98532);color:#123f3b;box-shadow:0 8px 20px #0003}
.brand-logo{display:block;width:190px;max-width:100%;height:auto;object-fit:contain;object-position:center;background:#f8fbfa;border-radius:12px;padding:7px 10px;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.nav{height:calc(100vh - 152px);overflow-y:auto;padding-right:2px;scrollbar-width:thin}
.nav button{padding:9px 11px;border:1px solid transparent;transition:.18s ease}
.nav-label{display:flex;align-items:center;gap:11px}.nav-label i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#ffffff0b;color:#dbbd78;font-style:normal}
.nav button.active,.nav button:hover{background:linear-gradient(90deg,#ffffff18,#ffffff0c);border-color:#ffffff10;transform:translateX(2px)}.nav button.active .nav-label i{background:#d6a95d;color:#123f3b}
.side-foot{z-index:1;bottom:14px;left:14px;right:14px;display:flex;align-items:center;gap:10px;padding:10px;background:#ffffff0a;border:1px solid #ffffff0d;border-radius:13px}
.user-avatar{width:34px;height:34px;border-radius:50%;background:#d6a95d;color:#123f3b;display:grid;place-items:center;font-weight:850;font-size:15px}
.topbar{background:#ffffffed;backdrop-filter:blur(12px)}.property-switch select{font-weight:750;border-color:#cbdad5;background:#f8fbfa}
.app-shortcut{display:inline-flex;align-items:center;padding:9px 12px;border-radius:9px;background:#eff5f2;color:var(--brand);text-decoration:none;font-weight:750}
.metric{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.metric:hover{transform:translateY(-2px);box-shadow:0 14px 32px #163b3418}.metric:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:#eff5f2;right:-25px;bottom:-35px}.metric-icon{float:right;width:31px;height:31px;display:grid;place-items:center;background:#edf4f1;color:var(--brand);border-radius:10px;font-weight:900}
.welcome-hero{min-height:230px;border-radius:22px;margin-bottom:18px;padding:30px 34px;color:#fff;background:linear-gradient(110deg,#103f3b 0%,#1f6159 55%,#36786e 100%);display:grid;grid-template-columns:1.3fr minmax(260px,.7fr);align-items:center;gap:20px;overflow:hidden;position:relative;box-shadow:0 20px 50px #143f3630}
.welcome-hero:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid #ffffff18;left:36%;top:-170px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff05}.welcome-hero>div{position:relative;z-index:1}.welcome-hero small{letter-spacing:1.5px;color:#d7bd82;font-weight:800}.welcome-hero h1{font-size:34px;margin:8px 0}.welcome-hero p{color:#d7e7e3;max-width:590px;font-size:15px}.welcome-hero img{width:100%;max-height:190px;object-fit:cover;border-radius:17px;box-shadow:0 16px 35px #001d1955;position:relative;z-index:1}.hero-actions{display:flex;gap:9px;margin-top:18px}.hero-actions button{background:#d6a95d;color:#173c39}.hero-actions .hero-secondary{background:#ffffff18;color:#fff;border:1px solid #ffffff2b}
@media(max-width:900px){.topbar .app-shortcut{display:none}.welcome-hero{grid-template-columns:1fr;padding:24px}.welcome-hero img{display:none}.mobile-nav button i{display:block;font-style:normal;font-size:18px}}
@media(max-width:520px){.welcome-hero h1{font-size:28px}}


.login-brand-logo{display:block;width:min(280px,100%);height:auto;margin:0 auto 22px;filter:none}
.password-field{display:flex;align-items:stretch;gap:8px}.password-field input{min-width:0;flex:1}.password-field .password-toggle{width:auto;flex:0 0 auto;margin:0;padding:0 16px}

