@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:#183047;background:#f3f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Manrope,'DM Sans',sans-serif}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #61d5bd;outline-offset:2px}.splash{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.splash p{color:#647990}.brandmark{width:52px;height:52px;background:#0b3045;color:#61e5c7;display:grid;place-items:center;border-radius:16px;font-weight:800;font-size:28px;box-shadow:0 10px 26px #0b30452d}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-visual{background:radial-gradient(circle at 20% 10%,#22677a,#0b263a 53%,#071723);padding:9% 13%;color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:640px}.auth-visual .brand-title{font-size:31px}.auth-visual h2{font-size:clamp(34px,4vw,66px);max-width:650px;line-height:1.12;letter-spacing:-.045em}.auth-visual h2 em{color:#69e5c8;font-style:normal}.auth-visual p{max-width:510px;color:#b6cfd4;margin-top:20px;line-height:1.8}.auth-features{display:flex;flex-wrap:wrap;gap:12px}.auth-features span{border:1px solid #4b7380a4;border-radius:24px;padding:9px 13px;font-size:12px}.auth-form-area{display:grid;place-items:center;padding:40px 7vw}.auth-form-wrap{width:min(450px,100%)}.auth-badge{display:inline-flex;align-items:center;gap:7px;border-radius:50px;background:#e8f8f4;color:#087762;font-size:12px;font-weight:800;padding:8px 11px;margin-bottom:20px}.auth-form-wrap h1{font-size:32px;letter-spacing:-.04em}.auth-subtitle{line-height:1.7;color:#718298;margin:9px 0 24px}.auth-switch{display:flex;background:#f2f5f8;border-radius:14px;padding:5px;margin-bottom:23px;gap:5px}.auth-switch button{flex:1;border:0;background:transparent;border-radius:10px;padding:11px;color:#718298;font-weight:800}.auth-switch button.selected{background:#fff;color:#0d4052;box-shadow:0 2px 8px #0818260b}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field>label{color:#334e63;font-size:12px;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5ec;border-radius:11px;padding:12px 13px;color:#173148;background:#fff;min-height:45px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#49af9f}.field textarea{min-height:85px;resize:vertical}.field small{color:#8496a4}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:11px 16px;font-size:13px;font-weight:800;min-height:43px;white-space:nowrap}.btn.primary{background:#0c756d;color:#fff;box-shadow:0 4px 13px #0c756d24}.btn.primary:hover{background:#086159}.btn.ink{background:#0d283d;color:#fff}.btn.secondary{background:#e6f5f1;color:#137a70}.btn.outline{background:#fff;color:#285064;border:1px solid #dce5ec}.btn.ghost{background:transparent;color:#4a677b}.btn.danger{background:#fff1ef;color:#c13933}.btn.full{width:100%}.muted{color:#8091a2}.tiny{font-size:11px}.auth-note{color:#79909b;font-size:12px;line-height:1.7;margin-top:18px}.server-config{border-top:1px solid #e7edf2;margin-top:23px;padding-top:16px}.server-config summary{font-size:12px;font-weight:800;color:#557588;cursor:pointer}.server-config .field{margin-top:11px}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#092539;color:#b7c9d4;z-index:30;display:flex;flex-direction:column;padding:25px 15px;overflow-y:auto}.sidebar .logo{display:flex;align-items:center;gap:12px;color:#fff;padding:2px 12px 30px}.sidebar .logo-name{font-size:23px;font-weight:800;letter-spacing:-1.1px}.sidebar .logo-name b{color:#6ae5c6}.sidebar .logo small{font-size:9px;letter-spacing:2px;color:#819ca9}.side-group{font-size:10px;font-weight:800;letter-spacing:2px;color:#627e8e;margin:14px 13px 11px}.nav-btn{display:flex;width:100%;align-items:center;gap:13px;border:0;background:transparent;color:#aec4d0;border-radius:11px;padding:12px 13px;text-align:left;font-size:13px;font-weight:700;margin-bottom:3px}.nav-btn svg{width:18px;height:18px}.nav-btn:hover,.nav-btn.active{background:#175066;color:#fff}.nav-btn.active{box-shadow:inset 3px 0 #68e5c8}.side-foot{margin-top:auto;padding:14px}.side-foot .sync{background:#14384b;border:1px solid #2e596b;border-radius:13px;padding:14px;font-size:11px;line-height:1.7;color:#b4cbd5}.sync strong{display:block;color:#78edcf;font-size:12px}.side-foot button{background:transparent;border:0;color:#bfd2da;font-size:13px;font-weight:700;margin-top:18px}.main{margin-left:248px;flex:1;min-width:0}.topbar{height:75px;border-bottom:1px solid #e6edf2;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 32px}.topbar .crumb{color:#8295a4;font-size:12px;font-weight:700}.topbar .crumb strong{color:#25495e}.topbar-right{display:flex;align-items:center;gap:19px}.topbar-right time{font-size:12px;color:#778ea1}.avatar{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:#dff5ed;color:#16685e;font-size:11px;font-weight:900}.main-content{max-width:1500px;margin:auto;padding:28px 32px 110px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;color:#108c7b;margin-bottom:8px}.page-heading h1{font-size:clamp(23px,2vw,30px);letter-spacing:-.045em;color:#102b3c}.page-heading p{color:#7a8d9d;font-size:13px;line-height:1.6;margin-top:7px}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.select-filter{border:1px solid #dce5ec;background:#fff;border-radius:11px;color:#2c5366;font-size:12px;font-weight:700;padding:11px;min-height:43px;max-width:225px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e8eff2;border-radius:16px;padding:20px;min-height:145px;box-shadow:0 3px 19px #28455707}.stat-heading{display:flex;align-items:center;justify-content:space-between;color:#70889b;font-size:12px;font-weight:800}.stat-ico{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e9f8f4;color:#0d8676}.stat-number{font-family:Manrope,sans-serif;font-weight:800;color:#112b3d;font-size:clamp(20px,2.1vw,30px);margin:17px 0 5px;letter-spacing:-1px}.stat-foot{font-size:11px;color:#90a0ac}.stat.attention .stat-ico{background:#fff4ec;color:#c9873c}.stat.revenue .stat-ico{background:#e8f1ff;color:#4678c2}.grid-two{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:18px}.card{background:#fff;border:1px solid #e4ecf2;border-radius:16px;padding:20px;min-width:0;box-shadow:0 3px 20px #233a4a06}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-head h3{font-size:15px;letter-spacing:-.02em}.card-head small{color:#899eac}.link-action{border:0;background:transparent;color:#0c897a;font-size:12px;font-weight:800}.progress-wrap{display:flex;gap:15px;align-items:center;margin:10px 0 20px}.progress-track{height:9px;background:#e7eff2;flex:1;border-radius:40px;overflow:hidden}.progress-track span{display:block;height:100%;background:#13af91;border-radius:40px}.progress-label{font-size:14px;font-weight:800;color:#0d594f}.bar-chart{display:flex;align-items:flex-end;gap:12px;height:175px;margin-top:16px;border-bottom:1px solid #edf1f4;padding-bottom:18px}.bar-pair{display:flex;align-items:flex-end;gap:4px;flex:1;height:100%;position:relative}.bar-pair div{flex:1;min-width:5px;border-radius:5px 5px 0 0;background:#cbeee4}.bar-pair div.paid{background:#10a58d}.chart-labels{display:flex;gap:12px;margin-top:9px;font-size:10px;color:#92a3ad}.chart-labels span{flex:1;text-align:center}.legend{display:flex;gap:12px;font-size:11px;color:#758a98;margin-top:18px}.dot{display:inline-block;width:9px;height:9px;border-radius:4px;margin-right:4px;background:#10a58d}.dot.light{background:#cbeee4}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:5px 9px;font-weight:800;font-size:10px;white-space:nowrap}.pill.paid{color:#178667;background:#e5f8ef}.pill.due{color:#357da4;background:#e7f2fc}.pill.overdue{color:#bd5951;background:#fff0ec}.pill.partial{color:#9e7930;background:#fff5e3}.pill.vacant{color:#178667;background:#e5f8ef}.pill.occupied{color:#315fa4;background:#e9f0fd}.pill.maintenance{color:#bd5951;background:#fff0ec}.pill.void{color:#687c8c;background:#eff2f4}.pill.sample{color:#936c26;background:#fff3db}.notice{background:#e9f5f3;color:#36776f;border:1px solid #cae8e2;border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.7;margin-bottom:17px}.notice.warning{background:#fff7e9;color:#956a31;border-color:#f7e8cd}.empty{padding:55px 24px;text-align:center}.empty-icon{font-size:34px;margin-bottom:12px}.empty h3{margin:7px 0;color:#385166}.empty p{color:#7f91a1;font-size:13px;max-width:420px;line-height:1.7;margin:9px auto 17px}.empty .btn{display:inline-flex}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;min-width:710px}.data-table th{color:#8a9ba9;text-transform:uppercase;font-size:10px;letter-spacing:.8px;text-align:left;background:#f8fafb;padding:13px 14px}.data-table td{padding:14px;border-top:1px solid #f0f3f6;color:#466074;vertical-align:middle}.data-table td strong{color:#15394c}.data-table tr:hover td{background:#fcfefe}.cell-action{color:#108476;border:0;background:transparent;font-size:11px;font-weight:800;padding:8px 5px}.list-feed{display:flex;flex-direction:column;gap:14px}.feed-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #f0f4f6}.feed-item:last-child{border:0}.feed-icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:#e8f7f2;color:#0d907a}.feed-icon.warn{background:#fff3eb;color:#c98438}.feed-text{flex:1;min-width:0}.feed-text strong{display:block;color:#264253;font-size:12px}.feed-text small{display:block;color:#92a1aa;font-size:11px;margin-top:5px}.feed-right{font-size:12px;font-weight:800;color:#154354}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.room-card{border:1px solid #e7edf2;border-radius:14px;background:#fff;padding:16px;position:relative}.room-card .door{height:37px;width:37px;background:#eaf8f3;border-radius:12px;display:grid;place-items:center;color:#12937d;margin-bottom:10px}.room-card h3{font-size:16px}.room-card small{color:#94a5ad;font-size:11px}.room-card .price{font-size:13px;font-weight:800;margin:12px 0 8px}.room-card .pill{position:absolute;top:16px;right:16px}.room-card .tenant{font-size:11px;color:#79909d}.property-card{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;border:1px solid #e5edf2;background:#fff;border-radius:16px;padding:20px}.property-card h3{font-size:16px;margin-bottom:6px}.property-card p{color:#8497a4;font-size:12px;line-height:1.5}.property-card .room-count{background:#e8f8f3;padding:8px;border-radius:11px;color:#138977;font-size:12px;font-weight:800}.properties-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;font-size:11px;color:#7c909e}.mini-stats strong{display:block;color:#163a4e;font-size:17px;margin-bottom:5px}.bars-short{display:flex;align-items:center;gap:13px;margin:11px 0;font-size:12px}.bars-short .label{width:130px;color:#637f90}.bars-short .progress-track{height:8px}.bars-short b{width:100px;text-align:right}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.span-2{grid-column:1/-1}.modal-overlay{position:fixed;inset:0;background:#071f32ae;display:flex;justify-content:center;align-items:center;z-index:80;padding:20px}.modal{background:#fff;border-radius:18px;width:min(520px,100%);max-height:min(88vh,830px);overflow:auto;padding:22px;box-shadow:0 24px 85px #06142244}.modal-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:22px;gap:12px}.modal-head h2{font-size:19px}.icon-btn{border:0;background:#eff4f7;color:#406078;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;font-size:20px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.mobile-bar{display:none}.mobile-top{display:none}.fab{display:none}.mobile-cards{display:none}#toast{position:fixed;bottom:24px;right:24px;z-index:100;max-width:340px}.toast{background:#102e40;color:white;padding:13px 16px;border-radius:13px;box-shadow:0 10px 40px #152a4038;font-size:13px;line-height:1.5;margin-top:8px}.toast.error{background:#b23b3b}.alert{background:#fff0eb;border:1px solid #f8ccc1;padding:10px 12px;border-radius:10px;color:#af443e;font-size:12px;margin-bottom:12px}.action-menu{display:flex;gap:8px;flex-wrap:wrap}.stat-big{font-family:Manrope,sans-serif;font-size:24px;font-weight:900}.insight{line-height:1.65;font-size:12px;color:#647b8d}.bottom-spacer{height:20px}.prompt{text-align:center;border:1px dashed #c4d8db;border-radius:14px;padding:17px;color:#607c89;font-size:12px}
@media(max-width:1200px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.sidebar{display:none}.main{margin:0}.main-content{padding:22px 18px 110px}.grid-two{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.properties-grid{grid-template-columns:1fr}.topbar{padding:0 22px}}
@media(max-width:600px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:190px;padding:26px 23px;display:block}.auth-visual h2{font-size:25px;margin-top:22px}.auth-visual p,.auth-features{display:none}.auth-form-area{display:block;padding:25px 22px 50px}.auth-form-wrap h1{font-size:25px}.auth-badge{margin-bottom:10px}.topbar{display:none}.mobile-top{display:flex;background:#0a2a3e;min-height:71px;align-items:center;justify-content:space-between;padding:18px 19px;color:white}.mobile-top .mob-logo{font-weight:900;font-size:20px;letter-spacing:-1px}.mob-logo b{color:#74e7cb}.mobile-top .mob-head{font-size:11px;color:#c0d1dc}.mobile-top .avatar{background:#1d5361;color:#85f4d9}.main-content{padding:21px 16px 103px}.page-heading{display:block;margin-bottom:21px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px}.page-actions{margin-top:13px}.stats{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.stat{padding:14px 13px;min-height:130px}.stat-heading{font-size:10px}.stat-ico{width:28px;height:28px}.stat-number{font-size:20px;margin-top:16px}.stat-foot{font-size:10px}.card{padding:15px}.room-grid{gap:10px}.room-card{padding:12px}.room-card .pill{top:12px;right:10px;padding:4px 6px;font-size:9px}.room-card h3{font-size:14px}.room-card .price{font-size:12px}.property-card{padding:16px}.table-scroll{display:none}.mobile-cards{display:flex;flex-direction:column;gap:10px}.mobile-record{background:#fff;border:1px solid #e4edf2;border-radius:13px;padding:14px}.mobile-record .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mobile-record h3{font-size:13px;color:#244456}.mobile-record p{font-size:11px;color:#8293a1;margin-top:6px;line-height:1.5}.mobile-record .bottom{display:flex;justify-content:space-between;align-items:center;margin-top:13px}.mobile-record .bottom strong{font-size:14px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e4ebf0;display:flex;justify-content:space-around;z-index:50;padding:8px 3px max(9px,env(safe-area-inset-bottom));box-shadow:0 -4px 22px #102a3d0b}.mobile-bar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;font-size:9px;font-weight:700;color:#90a3b0;min-height:48px}.mobile-bar button.active{color:#0d917f}.mobile-bar svg{width:21px;height:21px}.fab{display:grid;position:fixed;right:19px;bottom:86px;z-index:51;width:52px;height:52px;border:0;border-radius:17px;background:#0ba58b;color:white;font-size:28px;box-shadow:0 7px 27px #0d958d4a;place-items:center}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:22px 22px 0 0;width:100%;max-height:91vh;padding:21px 19px max(24px,env(safe-area-inset-bottom))}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.mobile-hide{display:none}.page-actions .btn{font-size:12px;padding:9px 12px}.select-filter{max-width:190px}.auth-page .brandmark{width:39px;height:39px;font-size:20px}}

/* RentalOS v0.4.1 – transparent free beta message */
.free-plan-card{border:1px solid #b8e7dc;border-radius:14px;background:linear-gradient(135deg,#eefaf6,#ffffff);color:#21554b;padding:14px 16px;margin:16px 0;font-size:12px;line-height:1.65}
.free-plan-card strong{color:#087463;font-size:14px;display:block;margin-bottom:4px}
.free-plan-card p{color:#496e66}
.free-status{background:#edf9f5;color:#28685c;border:1px solid #c8eade;padding:12px 15px;border-radius:12px;margin-bottom:17px;font-size:12px;line-height:1.7}
.free-status span{display:inline-block;border-radius:6px;background:#0b8570;color:white;font-size:10px;font-weight:800;letter-spacing:.04em;padding:4px 7px;margin-right:7px}
.settings-free{margin-bottom:18px}
@media(max-width:600px){.free-status span{margin-bottom:4px}.settings-free{margin-top:0}}

/* AKARUMA v0.6 brand assets */
img.brandmark.brand-logo { display:block; object-fit:cover; background:transparent; border:0; padding:0; box-shadow:0 10px 26px #071f2c40; }
.mob-logo { display:flex; align-items:center; gap:8px; font-weight:800; letter-spacing:.12em; }
.mobile-logo { width:26px; height:26px; border-radius:8px; object-fit:cover; }
.auth-page .brand-title { gap:12px; }
.auth-page .brand-title .brand-logo { width:56px; height:56px; border-radius:15px; }
