@font-face{font-family:Noto Sans Thai;src:url(/build/assets/noto-thai-ui-bj_4TGVT.woff)format("woff");font-weight:100 900;font-style:normal;font-display:block}.demo-login{border:1px solid var(--line);background:#f2f6f1;border-radius:18px;gap:10px;margin-top:22px;padding:16px;font-size:13px;display:grid}.demo-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.demo-login p,.demo-login dl{margin:0}.demo-login dl{grid-template-columns:auto minmax(0,1fr);gap:5px 12px;display:grid}.demo-login dd{overflow-wrap:anywhere;margin:0}.demo-login dt,.demo-login small{color:var(--muted)}.demo-login button{justify-self:start}.demo-notice{margin-top:0}@media (width<=760px){.demo-login{margin-top:18px;padding:12px;font-size:12px}}:root{--green:#00352c;--green-light:#39755f;--gold:#b89b58;--ink:#173d33;--muted:#607168;--line:#dce3da;--paper:#fbfbf8;--danger:#b83535;--gradient:linear-gradient(125deg,#00352c,#39755f)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:16px/1.6 Noto Sans Thai,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:15px;padding:11px 18px;transition:background .2s,color .2s,transform .2s}button:hover{background:#eef3ed}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;min-width:0;padding:11px 14px;display:block}input:focus,select:focus,textarea:focus{outline-offset:2px;outline:2px solid #94b4a4}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}label{gap:8px;font-weight:500;display:grid}h1,h2,h3,p{margin:0}h1{font-size:clamp(24px,2.7vw,39px);line-height:1.35}h2{font-size:28px;line-height:1.4}.muted,.eyebrow{color:var(--muted)}.primary:hover,.selected:hover{background:var(--gradient);color:#fff}.text-link{text-underline-offset:4px;border:0;border-radius:0;padding:0;font-size:14px;text-decoration:underline;background:0 0!important}.invalid{border:2px solid var(--danger)!important}.error-message{color:var(--danger);font-size:14px}.notice{background:#edf5ee;border:1px solid #9bc3ac;border-radius:12px;margin:16px 0;padding:12px}.brand{width:110px;height:auto}.tabs{border:1px solid var(--line);background:#fff;border-radius:24px;gap:4px;padding:5px;display:flex}.tabs button{border:0;border-radius:19px;flex:1}.auth-shell{border:1px solid var(--line);background:#fff;border-radius:30px;grid-template-columns:3fr 2fr;max-width:1240px;min-height:min(780px,100svh - 64px);margin:32px auto;display:grid;overflow:hidden}.auth-intro{background:linear-gradient(145deg,#edf4ef,#fafbf8);flex-direction:column;gap:25px;padding:30px 48px;display:flex;position:relative}.auth-intro>.brand{align-self:center}.intro-slide{flex-direction:column;flex:1;gap:26px;display:flex}.slide-visual{border:1px solid var(--line);background:#fff;border-radius:24px;margin:12px 0;padding:24px;box-shadow:0 10px 30px #003f3407}.visual-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.badge{white-space:nowrap;background:#edf5ef;border:1px solid #8db7a2;border-radius:20px;padding:4px 10px;font-size:12px}.visual-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;display:grid}.visual-stats div{display:grid}.visual-stats strong{font-size:30px}.visual-stats span{color:var(--muted);font-size:12px}.visual-rooms{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.visual-rooms div{border:1px solid var(--line);text-align:center;border-radius:12px;padding:12px 5px;display:grid}.occupied{background:var(--gradient);color:#fff}.intro-copy{color:var(--muted);font-size:16px}.slide-controls{align-items:center;gap:16px;margin-top:auto;display:flex}.circle{border-radius:50%;flex:none;place-items:center;width:42px;height:42px;padding:0;display:grid}.dots{flex:1;gap:8px;display:flex}.dots button{background:#cad9d0;border:0;border-radius:10px;width:16px;height:7px;padding:0}.dots .selected{background:var(--green);width:30px}.auth-form-panel{flex-direction:column;justify-content:center;padding:30px 36px;display:flex}.auth-tabs{margin-bottom:26px}.auth-form-panel header p{margin-top:10px}.auth-form{gap:18px;margin-top:25px;display:grid}.auth-submit{width:100%;margin-top:18px}.remember-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.remember-row label{align-items:center;gap:8px;font-size:14px;display:flex}.privacy{text-align:right;margin-top:24px}.privacy dialog{border:1px solid var(--line);text-align:left;z-index:100;background:#fff;border-radius:24px;width:min(620px,100vw - 32px);max-height:85svh;margin:auto;padding:25px;position:fixed;inset:0;overflow:auto;box-shadow:0 0 0 100vmax #163c3555}.privacy dialog p{margin:16px 0}.workspace{grid-template-columns:108px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;gap:12px;height:100svh;padding:25px 10px;display:flex;position:sticky;top:0}.sidebar .brand{width:80px;margin:0 auto 22px}.sidebar a{text-align:center;color:inherit;border-radius:18px;padding:14px 4px;font-size:13px;text-decoration:none;display:grid}.sidebar a.selected{color:#fff;background:var(--gradient);box-shadow:inset 3px 0 var(--gold)}.sidebar a:hover{background:#edf3ed}.sidebar a.selected:hover{background:var(--gradient)}.sidebar button{margin-top:auto}.workspace-main{min-width:0;padding:26px}.workspace-top,.period-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:25px;display:flex}.dorm-controls{align-items:center;gap:12px;min-width:0;display:flex}.dorm-controls select{max-width:330px}.period-controls{gap:8px;display:flex}.period-controls select{width:auto;min-width:95px}.mobile-brand{display:none}.card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:24px}.card header{margin-bottom:20px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.stat strong{font-size:32px;display:block}.stat.occupied .muted{color:#d8e8df}.setup-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.setup-form .full{grid-column:1/-1}.room-prices{gap:12px;display:grid}.room-price-row{grid-template-columns:70px repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:13px}.preview-note{color:var(--muted);margin-top:20px;font-size:13px}@media (width<=760px){body{font-size:14px}.auth-shell{border-radius:23px;grid-template-columns:1fr;min-height:0;margin:14px}.auth-intro{gap:15px;padding:20px}.auth-intro>.brand{width:85px}.intro-slide{gap:12px}.slide-visual{margin:4px 0;padding:16px}.visual-stats{margin:14px 0}.visual-stats strong{font-size:24px}.visual-rooms div{padding:8px 3px}.intro-copy{font-size:14px}.auth-intro h1{font-size:24px}.slide-controls{gap:12px}.auth-form-panel{padding:22px}.auth-form-panel h2{font-size:25px}.auth-tabs{margin-bottom:18px}.auth-form{gap:14px;margin-top:20px}.auth-submit{margin-top:12px}.privacy{margin-top:18px}.workspace{display:block}.workspace-main{padding:16px 14px 90px}.sidebar{z-index:30;border-right:0;border-top:1px solid var(--line);background:#fff;flex-direction:row;gap:2px;height:auto;padding:5px;position:fixed;inset:auto 0 0}.sidebar a{flex:1;padding:10px 2px;font-size:11px}.sidebar>.brand,.sidebar>button{display:none}.mobile-brand{width:80px;display:block}.workspace-top{flex-wrap:wrap;gap:15px}.dorm-controls{order:3;gap:8px;width:100%}.dorm-controls>span{display:none}.dorm-controls select{flex:1;max-width:none}.period-row{align-items:flex-start;gap:8px}.period-controls{flex:none}.period-controls select{min-width:78px;padding:8px}.cards{gap:8px}.card{border-radius:18px;padding:16px}.stat strong{font-size:24px}.setup-form{grid-template-columns:1fr;gap:15px}.room-price-row{grid-template-columns:50px repeat(2,minmax(0,1fr));gap:8px}.room-price-row label{font-size:12px}.room-price-row strong{grid-row:span 2}.room-price-row input{padding:8px}.workspace input,.workspace select,.workspace textarea{font-size:14px}.workspace h2{font-size:24px}}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#153c3570;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(700px,100%);max-height:90svh;overflow:auto}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.payment-total{text-align:right;border:1px solid var(--line);background:#f0f5ef;border-radius:16px;padding:20px}.payment-total strong{font-size:30px}.admin-cards strong{font-size:clamp(20px,2vw,32px)}@media (width<=760px){.admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{padding:12px}.payment-total strong{font-size:25px}}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin-top:22px;display:grid}.service-payment{text-align:center;gap:12px;display:grid}.service-amount{font-size:32px}.service-qr{justify-items:center;gap:12px;display:grid}.service-qr img{width:220px;max-width:100%;image-rendering:pixelated}.document-sheet{border:1px solid var(--line);color:#243e35;background:#fff;border-radius:16px;width:min(794px,100% - 32px);margin:25px auto;padding:42px}.document-heading,.document-parties,.document-signatures{justify-content:space-between;gap:30px;display:flex}.document-heading{border-bottom:2px solid var(--green);align-items:center;margin-bottom:25px;padding-bottom:20px}.document-heading h2{font-size:23px}.document-parties{margin:25px 0;font-size:13px}.document-parties>section{flex:1}.document-parties h3{font-size:16px}.document-sheet h3{margin:20px 0 8px}.document-sheet p{margin-bottom:12px;font-size:13px}.document-sheet td{font-size:15px}.amount{text-align:right}.document-total{text-align:right;border-bottom:1px solid var(--line);padding:20px 0;font-size:16px}.document-total strong{margin-left:20px;font-size:23px}.document-meta{text-align:center;margin-top:20px}.document-qr{width:180px;margin:20px auto}.document-qr svg{width:100%;height:auto}.document-signatures{margin-top:35px}.preserve-lines{white-space:pre-wrap}.print-toolbar{justify-content:center;gap:15px;margin:20px;display:flex}.tabs a{text-align:center;border-radius:18px;flex:1;padding:12px;text-decoration:none}@media (width<=760px){.service-grid{grid-template-columns:1fr}.document-sheet{padding:20px}.document-heading,.document-parties{gap:15px}.document-heading h2{font-size:18px}.document-parties{flex-direction:column}}@media print{@page{size:A4;margin:15mm}body{background:#fff}.print-toolbar{display:none}.document-sheet{border:0;border-radius:0;width:100%;margin:0;padding:0}.document-signatures{break-inside:avoid}thead{display:table-header-group}tr{break-inside:avoid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}dialog.modal{margin:auto}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#153c3570}.mobile-logout{display:none}.document-sheet td,.document-sheet th{white-space:normal;overflow-wrap:anywhere}.document-sheet .amount{white-space:nowrap}.pair-page{gap:20px;max-width:480px;margin:40px auto;display:grid}.pair-code{letter-spacing:6px;font-size:32px;display:block}.device-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:15px 0;display:flex}@media (width<=760px){.pair-page{margin:16px}.device-row{flex-wrap:wrap;align-items:start}}.sidebar a{justify-items:center;gap:8px}.sidebar button,.dorm-controls>span,.dorm-controls>button{white-space:nowrap;flex-shrink:0}.dorm-controls select{width:clamp(180px,25vw,330px)}.overview-progress span,.overview-progress strong{white-space:nowrap;flex-shrink:0}.overview-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.overview-counts{min-width:420px}.overview-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0;display:grid}.overview-progress>div{align-items:center;gap:10px;font-size:13px;display:flex}.overview-progress progress{width:100%;min-width:20px;height:7px;accent-color:var(--green)}.monthly-task{border-radius:16px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.monthly-task:hover{background:#edf4ef}.monthly-task>.circle{border:1px solid var(--line);margin-left:auto}.monthly-tasks .notice{margin-bottom:0}.overview-finance{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0;display:grid}.overview-finance .stat strong{font-size:28px}.overview-finance dl{grid-template-columns:1fr auto;gap:12px;font-size:14px;display:grid}.overview-finance dd{margin:0}.billing-history{justify-content:space-around;align-items:end;gap:6px;height:190px;display:flex}.billing-history>div{flex-direction:column;align-items:center;gap:7px;font-size:11px;display:flex}.billing-history span{background:var(--gradient);border-radius:8px;width:12px}.payment-ring{aspect-ratio:1;background:conic-gradient(var(--green) var(--paid),#edf0ec 0);border-radius:50%;width:170px;margin:20px auto;padding:10px}.payment-ring>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.payment-ring strong{font-size:30px}.payment-ring span{font-size:13px}@media (width<=1100px){.overview-finance{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-heading{display:block}}@media (width<=760px){.overview-counts{min-width:0}.overview-progress{grid-template-columns:1fr;gap:12px}.overview-progress span{min-width:90px}.monthly-tasks>.cards,.overview-finance{grid-template-columns:1fr}.overview-finance .stat strong{font-size:26px}.mobile-logout{margin:0 0 16px auto;display:block}}.card.occupied{background:var(--gradient);border-color:var(--green);color:#fff}a{color:var(--green)}.auth-intro{grid-template-rows:auto 1fr auto;display:grid}.auth-intro>.brand{justify-self:center}.intro-slide{grid-area:2/1}.slide-controls{grid-area:3/1}.slide-controls .pause-slide{background:0 0;border:0;padding:0;font-size:12px}@media (width>=761px) and (height<=820px){.auth-shell{min-height:calc(100svh - 40px);margin:20px auto}.auth-intro{gap:16px;padding:22px 36px}.intro-slide{gap:16px}.slide-visual{margin:4px 0;padding:18px}.visual-stats{margin:14px 0}.visual-rooms div{padding:8px 4px}.auth-form-panel{padding:24px 30px}.auth-intro h1{font-size:30px}}@media (width<=760px){.auth-intro{gap:10px;padding:16px}.auth-intro>.brand{justify-self:start;width:70px}.auth-intro h1{font-size:21px}.intro-slide{gap:8px}.slide-visual{margin:0;padding:12px}.visual-heading{font-size:12px}.visual-stats{display:none}.visual-rooms{margin-top:10px}.visual-rooms>div:nth-of-type(n+5){display:none}.intro-copy{font-size:12px}.slide-controls .circle{width:32px;height:32px}.auth-form-panel{padding:18px}.auth-form{gap:12px;margin-top:16px}.auth-tabs{margin-bottom:14px}.privacy{font-size:12px}}:root{--ui-font:"Noto Sans Thai", sans-serif;--green:#00352c;--gold:#b3975c;--ink:#173d33;--muted:#607168;--line:#dce3da;--paper:#fbfbf8;--gradient:linear-gradient(135deg, #174e3d, #36765b);--page-gradient:radial-gradient(ellipse at 0% 0%, #edf0ea70 0, transparent 55%), linear-gradient(135deg, #fdfdfb, #f7f7f3);--surface-gradient:linear-gradient(125deg, #fffffffc, #fafaf7fa);--control-background:#ffffffd9}[x-cloak],[hidden]{display:none!important}body{background:var(--page-gradient);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:15px;line-height:1.65}button,input,select,textarea,table{font-family:var(--ui-font);letter-spacing:0}h1,h2,h3{letter-spacing:-.015em;font-weight:500;line-height:1.4}h2{font-size:28px}h3{font-size:18px}p{line-height:1.7}button{background:var(--control-background);border-radius:14px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:500;line-height:1.5;box-shadow:0 2px 8px #20352804}button:hover{background:#edf2ec;border-color:#a7b7a9}.primary,.selected{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover,.selected:hover{color:#fff;background:linear-gradient(135deg,#194e3f,#00352c)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background-color:var(--control-background);border:1px solid var(--line);border-radius:14px;min-height:48px;padding:10px 12px;font-size:16px;font-weight:400;line-height:1.65}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2300352c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:42px}input::placeholder,textarea::placeholder{color:#7c8980;opacity:1}input:focus,select:focus,textarea:focus{border-color:#809e89;outline:0;box-shadow:0 0 0 3px #78958118}input[readonly],input:disabled,select:disabled,textarea:disabled{color:#6a766e;background-color:#f1f3ef}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--green);padding:0}label{gap:6px;font-size:14px;font-weight:500}.invalid{box-shadow:0 0 0 1px #c53e3e;border-color:#c53e3e!important}.text-link,.text-link:hover,.privacy button:hover{box-shadow:none;background:0 0;border:0;min-height:28px;transition:none;transform:none}.circle{border-radius:50%;flex:0 0 40px;width:40px;min-width:40px;height:40px;min-height:40px;max-height:40px;padding:0;line-height:1}.card{background:var(--surface-gradient);border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:0 2px 12px #20352804}.card.occupied{background:var(--gradient);border-color:#36765b}.badge{color:#32634e;background:#edf5ef;border:1px solid #b8cfc2;border-radius:12px;align-items:center;padding:4px 9px;font-size:12px;font-weight:400;display:inline-flex}.status-unpaid{color:#86611d;background:#fff9eb;border-color:#d9ba75}.status-locked,.status-vacant{color:#607168;background:#f4f6f2;border-color:#ccd5cd}.status-paid{background:#edf5ef;border-color:#8db7a2}.notice{background:#f3f7f3;border-color:#c8d8cc;border-radius:16px;padding:14px 18px}.privacy{clear:both;text-align:right;margin-top:28px}.privacy .text-link{font-size:13px}.privacy dialog{background:var(--surface-gradient)}.tabs{background:#ffffffb8;border-radius:999px;gap:4px;width:fit-content;max-width:100%;margin-bottom:16px;padding:5px;box-shadow:0 2px 10px #20352804}.tabs :is(button,a){white-space:nowrap;border-radius:999px;flex:none;min-height:44px;padding:10px 14px;font-size:14px}.tabs a:not(.selected){color:var(--ink)}.tabs a:hover{background:#edf2ec}.workspace{grid-template-columns:80px minmax(0,1fr);gap:20px;max-width:none;margin:auto;padding:20px}.sidebar{border-color:#b3975c35;gap:8px;height:calc(100svh - 40px);padding:0 12px 4px 0;top:20px}.sidebar .brand{object-fit:contain;width:62px;height:44px;margin:0 auto 18px}.sidebar a{border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:76px;padding:12px 2px;font-size:12px;font-weight:500;display:flex}.sidebar a svg{width:25px;height:25px}.sidebar a.selected{box-shadow:inset 3px 0 var(--gold);background:linear-gradient(135deg,#00352c,#00352ce6);border-color:#b3975c90}.sidebar a:hover{color:#fff;background:linear-gradient(135deg,#194e3f,#00352c);border-color:#315e50}.sidebar>button{display:none}.workspace-main{padding:0}.workspace-header{align-items:center;gap:12px;min-width:0;margin:0 0 22px;padding:0;display:flex}.dorm-controls{flex:1;gap:12px}.dorm-controls>label{white-space:nowrap;flex:none;font-size:13px;display:block}.dorm-controls select{flex:1;width:auto;min-width:100px;max-width:432px;height:44px;min-height:44px;font-size:14px}.dorm-controls>button{white-space:nowrap;height:44px}.period-controls{grid-template-columns:118px 90px;gap:6px;margin-left:auto;display:grid}.period-controls select{background-position:right 8px center;width:100%;min-width:0;height:44px;min-height:44px;padding:8px 26px 8px 10px;font-size:14px}.account-menu{z-index:35;flex:none;max-width:180px;font-size:13px;position:relative}.account-menu summary{border:1px solid var(--line);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffffd9;border-radius:14px;height:44px;padding:10px 14px;list-style:none;overflow:hidden;box-shadow:0 4px 14px #00352c08}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.account-menu>div{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:160px;padding:8px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 30px #173d3314}.account-menu button{width:100%}.page-heading{margin:12px 0 22px}.page-heading h2,.workspace-main>h2,.workspace-main>div.workspace-top h2{border-left:3px solid var(--gold);padding-left:12px;font-size:28px;font-weight:600}.page-heading p{margin-top:6px;font-size:13px}.page-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.action-group{flex-wrap:wrap;gap:8px;display:flex}.workspace-top{margin-bottom:20px}.overview-heading{gap:20px;padding:8px 0 16px}.overview-heading h2{margin-bottom:6px;font-size:34px}.overview-heading p{font-size:13px}.overview-counts{gap:12px;min-width:0;margin:0}.overview-counts .card{border-radius:20px;min-width:110px;padding:18px 20px;font-size:13px}.overview-counts strong{margin-bottom:6px;font-size:32px;font-weight:400;line-height:1.3}.overview-progress{gap:28px;margin:6px 0 12px}.overview-progress>div{gap:12px;font-size:12px}.overview-progress strong{font-weight:400}.overview-progress progress{appearance:none;background:#e8ece6;border:0;border-radius:6px;height:5px;overflow:hidden}.overview-progress progress::-webkit-progress-bar{background:#e8ece6;border-radius:6px}.overview-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#00352c,#9eb0a3);border-radius:6px}.overview-progress>div:nth-child(2) progress::-webkit-progress-value{background:linear-gradient(90deg,#00352c,#b3975c)}.overview-progress progress::-moz-progress-bar{background:linear-gradient(90deg,#00352c,#9eb0a3)}.monthly-tasks{margin-bottom:12px;padding:20px}.monthly-tasks .workspace-top{margin-bottom:10px}.monthly-tasks .cards{gap:14px;margin:0 0 8px}.monthly-task{color:var(--ink);gap:8px;padding:12px 0}.monthly-task strong{font-size:16px;font-weight:500}.monthly-task p{font-size:13px}.monthly-task>.badge{width:28px;height:28px;color:var(--muted);background:#edf2ec;border-radius:50%;justify-content:center;padding:0}.monthly-task>.circle{background:#ffffffb3;flex-basis:44px;width:44px;height:44px}.monthly-tasks .notice{background:#f3f6f0;border:0;border-radius:12px;margin:0;padding:8px;font-size:12px;line-height:1.7}.overview-finance{gap:10px;margin:0 0 18px}.overview-finance .card{min-height:310px;padding:20px}.overview-finance .stat:first-child{border-color:#d0c8b5}.overview-finance .stat strong{margin:6px 0;font-size:32px;font-weight:400}.overview-finance .stat:last-child strong{font-size:24px;font-weight:500}.overview-finance .muted{font-size:13px}.overview-finance dl{gap:8px;margin:20px 0;font-size:13px}.card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-top .circle{background:#f6f6ef;border:1px solid #d4d8c9;flex-basis:34px;width:34px;min-width:34px;height:34px;min-height:34px;text-decoration:none}.card-icon{background:#edf2ec;border:1px solid #b6c7bb;border-radius:50%;place-items:center;width:32px;height:32px;margin-bottom:10px;display:grid}.card-action{border:1px solid var(--line);border-radius:12px;min-height:40px;margin-top:12px;padding:8px 13px;font-size:13px;text-decoration:none;display:inline-flex}.chart-metric{align-items:center;gap:6px;font-size:28px;display:flex}.chart-metric small{font-size:10px;line-height:1.3}.billing-history{height:160px}.billing-history span{border-radius:4px 4px 0 0;width:16px}.billing-history>div:last-child span{background:var(--gold)}.payment-ring{width:156px;margin:12px auto 16px;padding:8px}.payment-ring>div{background:#fafaf7}.payment-ring strong{font-size:35px;font-weight:400}.overview-bottom{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;display:grid}.room-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.room-tile{background:#ffffffd9;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:80px;padding:8px 4px;font-size:14px;display:flex}.room-tile strong{font-size:21px;font-weight:500}.room-tile small{font-size:12px;line-height:1.5}.room-tile.occupied{color:#00352c;background:linear-gradient(145deg,#e4eee5,#cddfd0);border-color:#abc6b2}.room-tile:hover{background:linear-gradient(145deg,#d5e6d8,#b8d3c0);border-color:#8bad96}.pending-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 0;text-decoration:none;display:flex}.pending-row small{color:var(--muted);display:block}.room-browser{padding:0}.room-tools{grid-template-columns:minmax(0,2fr) minmax(140px,1fr) auto;align-items:end;gap:16px;padding:20px;display:grid}.room-tools>span{padding-bottom:12px;font-size:13px}.room-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0 20px 20px;display:grid}.room-item{background:linear-gradient(130deg,#f4efe3,#00352c09);border:1px solid #00352c16;border-radius:22px;flex-direction:column;min-width:0;padding:20px;display:flex}.room-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-top h3{font-size:22px}.room-person{overflow-wrap:anywhere;margin:16px 0 4px;font-weight:500}.room-item>button{width:100%;margin-top:16px}.room-item>button.text-link{margin-top:4px;font-size:12px}.room-price-details{margin-top:22px}.empty-search{padding:16px 20px}th{color:var(--muted);background:#f9faf7;font-size:12px;font-weight:500}td{padding:16px;font-size:14px;line-height:1.7}th,td{border-color:#e4e9e2}.table-wrap{padding:0}.table-wrap>h3,.table-wrap>.workspace-top{margin-bottom:0;padding:20px}.table-wrap>table{min-width:550px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tr:hover{background:#b3975c06}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.settings-card{border-color:#f4efe3;padding:0;overflow:hidden}.settings-card>header{border-bottom:1px solid #e8ebe2;margin:0}.settings-fold{text-align:left;width:100%;box-shadow:none;cursor:default;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:18px;font-weight:600;display:flex}.settings-fold>span:last-child{display:none}.settings-body{padding:20px}.settings-save{border-top:1px solid #b3975c55;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.settings-save p{color:var(--muted);font-size:13px}.settings-grid .full{grid-column:1/-1}.settings-grid .setup-form{gap:18px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px}.service-grid>.card{padding:24px}.service-history{grid-column:auto}.service-history table{min-width:0}.service-history td,.service-history th{white-space:normal;padding:10px 6px;font-size:12px}.service-qr{gap:8px}.service-payment{gap:6px}.service-payment header{margin-bottom:8px}.service-payment label{text-align:left}.service-payment p{margin:0;font-size:14px}.service-amount{font-size:32px;line-height:1.3}.service-history header{padding:0}.modal{background:var(--surface-gradient);border-color:#f4efe3;padding:20px}.modal h2{border:0;padding:0;font-size:24px}.modal .setup-form{gap:18px}.modal-actions{background:#ffffffd9;padding-top:14px}.payment-total{background:#f3f5f2;padding:24px}.admin-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-cards .stat{padding:18px}.admin-cards strong{font-size:clamp(22px,2.2vw,32px);font-weight:400}.demo-notice{margin:16px 0 0;font-size:12px}.preview-note{text-align:right;font-size:11px}.auth-shell{background:var(--surface-gradient);border-radius:32px;max-width:1120px;min-height:min(650px,100dvh - 64px);margin:32px auto;box-shadow:0 24px 80px #00352c0b}.auth-intro{background:linear-gradient(145deg,#f0f5f1cc,#fafbf9ee);gap:26px;padding:36px 42px}.auth-intro>.brand{object-fit:contain;width:112px;height:52px;margin-bottom:6px}.auth-intro h1{max-width:390px;font-size:28px;font-weight:500;line-height:1.35}.intro-slide{gap:26px}.eyebrow{margin-bottom:5px;font-size:11px}.slide-visual{background:#ffffffc9;border:1px solid #00352c12;border-radius:22px;min-height:260px;margin:0;padding:22px;box-shadow:0 14px 36px #00352c09}.visual-heading{font-size:13px}.visual-heading .badge{background:#edf3ed;border:0;font-size:10px}.visual-stats{gap:20px;margin:20px 0}.visual-stats strong{font-size:26px;font-weight:500}.visual-stats span{font-size:11px}.visual-rooms{gap:7px}.visual-rooms div{border-radius:10px;padding:8px 4px;font-size:13px}.visual-rooms strong{font-weight:400}.visual-rooms small{font-size:9px}.visual-rooms .occupied{background:linear-gradient(135deg,#174e3d,#00352c)}.intro-copy{min-height:52px;font-size:14px;line-height:1.8}.slide-controls{gap:10px;margin-top:0}.slide-controls>span{color:var(--muted);font-size:11px}.slide-controls .pause-slide{border:1px solid var(--line);background:#fff9;border-radius:50%;flex:0 0 40px;width:40px;height:40px;min-height:40px;font-size:14px}.dots{gap:7px}.dots button{background:0 0;width:20px;min-height:24px;position:relative}.dots button:after{content:"";background:#ccd9d0;border-radius:10px;height:7px;position:absolute;top:9px;left:4px;right:4px}.dots button.selected{background:0 0;width:28px}.dots button.selected:after{background:var(--green);left:2px;right:2px}.auth-form-panel{background:#ffffffb3;padding:46px 32px}.auth-form-panel h2{font-size:30px;font-weight:600}.auth-form-panel header p{margin-top:8px;margin-bottom:12px;font-size:15px}.auth-tabs{background:#f6f9f6;border-color:#dbe5df;border-radius:16px;width:100%;margin-bottom:22px;padding:4px}.auth-tabs button{border-radius:12px;flex:1;min-height:40px;padding:8px 16px;font-size:13px}.auth-tabs button.selected,.auth-tabs button:hover{color:#fff;background:linear-gradient(135deg,#175747,#00352c)}.remember-row label,.remember-row button{font-size:12px}.auth-submit{min-height:44px;margin-top:30px}.preview-list{gap:0;margin-top:12px;display:grid}.preview-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;font-size:12px;display:flex}.preview-list small{color:var(--muted);display:block}.preview-total{justify-content:space-between;align-items:center;padding-top:18px;font-size:12px;display:flex}.preview-total strong{font-size:24px}.preview-bars{border-bottom:1px solid var(--line);align-items:end;gap:14px;height:104px;margin-top:20px;display:flex}.preview-bars i{background:linear-gradient(#47796a,#00352c);border-radius:5px 5px 0 0;flex:1}@media (width>=701px) and (width<=1099px){.workspace{gap:18px;padding:16px}.workspace-header{flex-wrap:wrap}.dorm-controls{flex-basis:100%}.period-controls{margin-left:auto}.overview-heading{display:block}.overview-counts{max-width:420px;margin-top:16px}.overview-finance{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-bottom,.settings-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-history{grid-column:1/-1}}@media (width>=721px) and (height<=800px){.auth-shell{margin:16px auto}.auth-intro{gap:18px;padding:20px 32px}.auth-intro>.brand{height:36px;margin-bottom:0}.auth-intro h1{font-size:24px}.slide-visual{min-height:230px;padding:14px}.visual-stats{margin:12px 0}.auth-form-panel{padding:30px 32px}}@media (width<=720px){.auth-shell{border-radius:24px;flex-direction:column;width:calc(100% - 24px);min-height:0;margin:12px auto;display:flex}.auth-intro{display:contents}.auth-intro>.brand{order:0;align-self:flex-start;width:90px;height:36px;margin:12px 20px 0}.auth-form-panel{order:1;padding:10px 20px 14px}.auth-form-panel h2{font-size:23px}.auth-form-panel header p{margin:4px 0;font-size:13px}.auth-tabs{margin-bottom:14px}.auth-tabs button{min-height:36px;padding:7px 13px;font-size:12px}.auth-form{gap:14px;margin-top:0}.auth-form label{font-size:13px}.auth-form input{min-height:42px;padding:8px 10px}.auth-submit{min-height:42px;margin-top:26px;font-size:14px}.remember-row label,.remember-row button{font-size:11px}.auth-form-panel .privacy{margin-top:7px}.auth-form-panel .privacy .text-link{font-size:10px}.intro-slide{background:linear-gradient(145deg,#f0f5f1cc,#fafbf9ee);flex:none;order:2;gap:8px;padding:16px 20px 0}.intro-slide h1{max-width:none;font-size:20px}.slide-visual{display:none}.intro-copy{min-height:60px;font-size:12px}.slide-controls{background:linear-gradient(145deg,#f0f5f1cc,#fafbf9ee);order:3;gap:6px;margin:0;padding:10px 20px 16px}.slide-controls .circle,.slide-controls .pause-slide{flex-basis:34px;width:34px;min-width:34px;height:34px;min-height:34px}.dots{gap:2px}.dots button{width:17px}.dots button.selected{width:21px}}@media (width<=700px){body{font-size:14px}input,select,textarea,.workspace input,.workspace select,.workspace textarea{min-height:40px;padding:8px 10px;font-size:14px}select{padding-right:32px}.workspace{padding:12px;padding-bottom:calc(88px + env(safe-area-inset-bottom));display:block}.workspace-main{padding:0}.sidebar{height:auto;padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:#fffffff5;border:0;border-top:1px solid #b3975c65;gap:1px;position:fixed;inset:auto 0 0}.sidebar a{border-radius:12px;gap:2px;min-height:48px;padding:4px 1px;font-size:11px}.sidebar a svg{width:20px;height:20px}.workspace-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:16px;display:grid}.mobile-brand{object-fit:contain;width:72px;height:40px;display:block}.account-menu{grid-area:1/2;max-width:180px;font-size:12px}.account-menu summary{height:40px;padding:8px 10px}.dorm-controls{flex-wrap:wrap;order:3;grid-column:1/-1;gap:8px;width:100%;display:flex}.dorm-controls>label{width:100%;font-size:13px;display:block}.dorm-controls select{flex:1 1 0;min-width:0;max-width:none;height:40px;min-height:40px}.dorm-controls>button{height:40px;min-height:40px;padding:8px 10px;font-size:12px}.period-controls{order:4;grid-column:1/-1;grid-template-columns:minmax(0,118px) minmax(0,90px);justify-self:end;width:min(214px,100%);max-width:100%}.period-controls select{height:40px;min-height:40px;padding-right:26px;font-size:14px}.card{border-radius:18px;padding:16px}.page-heading h2,.workspace-main>h2,.workspace-main>div.workspace-top h2{font-size:25px}.page-actions{flex-wrap:wrap;align-items:flex-start}.overview-heading{padding:8px 0 12px;display:block}.overview-heading h2{font-size:26px}.overview-counts{gap:8px;max-width:none;margin-top:16px}.overview-counts .card{min-width:0;padding:12px 10px;font-size:11px}.overview-counts strong{font-size:26px}.overview-progress{grid-template-columns:1fr;gap:10px;margin:8px 0 14px}.overview-finance{grid-template-columns:1fr;gap:14px}.overview-finance .card{min-height:0}.monthly-tasks .cards{grid-template-columns:1fr;gap:4px}.overview-bottom{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-tools{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr);gap:10px;padding:16px}.room-tools>span{grid-column:1/-1;padding:0}.room-list{grid-template-columns:1fr;gap:10px;padding:0 16px 16px}.room-item{padding:16px}.tabs{border-radius:20px;width:100%;overflow-x:auto}.tabs :is(button,a){border-radius:14px;flex:1;padding:9px 10px;font-size:12px}.settings-grid{grid-template-columns:1fr;gap:16px}.settings-card{padding:0}.settings-fold{cursor:pointer;min-height:54px;padding:14px 16px;font-size:18px}.settings-fold>span:last-child{display:block}.settings-fold:hover,.settings-fold:active{color:#fff;background:linear-gradient(135deg,#174e3d,#00352c)}.settings-body{padding:16px}.settings-body .setup-form{grid-template-columns:1fr}.settings-save{flex-direction:column;align-items:stretch}.settings-save button{width:100%}.service-grid{grid-template-columns:1fr;gap:14px}.service-grid>.card{padding:20px}.service-history{grid-column:auto}.table-wrap{padding:0}.table-wrap>h3,.table-wrap>.workspace-top{padding:16px}.admin-cards{grid-template-columns:repeat(5,minmax(155px,1fr));overflow-x:auto}body:has(dialog[open]) .sidebar{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.workspace-main>section,.workspace-main>div:not(.modal-backdrop),.room-item{animation:.28s both apr7-enter}@keyframes apr7-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}@media print{body{background:#fff}.workspace-header,.sidebar,.demo-notice,.preview-note{display:none}.document-sheet{box-shadow:none;background:#fff}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meter-control{align-items:center;gap:18px;display:flex}.meter-control>span{min-width:90px;font-size:13px}.meter-control>span strong{color:var(--ink);font-size:18px;font-weight:500;display:block}.meter-control input{width:130px}.monthly-task>.circle{min-width:44px;max-height:44px}.payment-total{border-radius:18px;justify-content:space-between;align-items:center;gap:16px;display:flex}.payment-total strong{text-align:right;font-size:28px}@media (width>=701px) and (width<=760px){.workspace{display:grid}.sidebar{border-top:0;border-right:1px solid #b3975c35;flex-direction:column;height:calc(100svh - 40px);position:sticky;inset:20px auto auto}.sidebar .brand{display:block}.mobile-brand{display:none}.overview-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=701px){.settings-body{display:block!important}}@media (width<=700px){.meter-table{overflow:visible}.meter-table>table{min-width:0}.meter-table thead{display:none}.meter-table :is(tbody,tr,td){display:block}.meter-table tr{border-bottom:1px solid var(--line);padding:16px}.meter-table tr:last-child{border:0}.meter-table td{white-space:normal;border:0;padding:8px 0}.meter-table td[data-label]:before{content:attr(data-label);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.meter-control{justify-content:space-between}.meter-control input{width:55%}.meter-table td:last-child button{width:100%}.payment-total{flex-wrap:wrap}.payment-total strong{width:100%;font-size:25px}}.settings-extras{margin-top:16px}.cell-note{color:var(--muted);font-size:12px;display:block}.list-filters{gap:12px;margin-bottom:16px;display:flex}.list-filters input{flex:1}.list-filters select{width:180px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions .card-action{min-height:44px;margin:0}@media (width<=700px){.list-filters{gap:8px}.list-filters select{width:115px}}.room-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (width<=700px){.auth-form input[type=checkbox]{height:18px;min-height:18px;padding:0}.auth-submit{margin-top:18px}.room-list{grid-template-columns:1fr}}.monthly-task.current-task{background:#f3f6f2;padding-left:14px;position:relative}.monthly-task.current-task:before{content:"";background:#8aaa93;border-radius:3px;width:3px;position:absolute;top:14px;bottom:14px;left:0}.status-expired{color:#963f35;background:#fff2f0;border-color:#ce9c97}@media (width>=701px){.workspace-header{padding-top:12px}.sidebar .brand{margin-bottom:32px}}.slide-stage{grid-area:2/1;min-width:0;display:grid}.slide-stage .intro-slide{grid-area:1/1;align-self:start}@media (width<=720px){.slide-stage{background:linear-gradient(145deg,#f0f5f1cc,#fafbf9ee);order:2}.slide-stage .intro-slide{min-height:160px}}.status-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));align-items:start;gap:16px;display:grid}.status-card{border:1px solid var(--line);background:var(--surface-gradient);border-radius:24px;min-width:0;padding:22px}.status-card.state-complete,.room-item.state-complete{background:linear-gradient(135deg,#e5f1e9,#f7fbf8);border-color:#a5c6b1}.status-card.state-pending{background:linear-gradient(135deg,#f6edd7,#fffcf3);border-color:#d7be81}.status-card.state-locked{background:linear-gradient(135deg,#e7ecea,#f8faf9);border-color:#c8d2ce}.status-card.state-vacant,.room-item.state-vacant{background:linear-gradient(135deg,#fff,#f7f8f4)}.status-card .card-top{align-items:center;gap:12px;margin-bottom:12px}.status-card h3{margin:0;font-size:19px}.status-card p{margin:10px 0}.status-card .row-actions{flex-wrap:wrap;gap:8px;margin-top:16px}.card-amount{font-variant-numeric:tabular-nums;margin:18px 0;font-size:30px;display:block}.meter-fields{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.meter-fields label{min-width:0}.meter-fields small{color:var(--muted);margin:6px 0;display:block}.meter-fields input{background:#fff;width:100%;min-width:0}.tenant-contract{border-top:1px solid #cbdcd2;margin-top:18px;padding-top:16px}.overview-ledger{margin-top:26px;scroll-margin-top:20px}.ledger-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.ledger-total{margin:8px 0;font-size:28px;display:block}.ledger-entry{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:16px 0;display:flex}.ledger-entry small{color:var(--muted);margin-top:5px;display:block}.ledger-entry-amount{text-align:right;flex-shrink:0}.ledger-entry-amount button{margin-top:5px;margin-left:auto;display:block}.ledger-entry:last-child{padding-bottom:0}.ocr-panel{border:1px solid var(--line);background:linear-gradient(135deg,#edf5ef,#fff);border-radius:18px;padding:16px}.ocr-panel canvas{object-fit:contain;background:#fff;width:100%;max-height:260px;margin:12px 0;display:block}.ocr-panel .ocr-review{gap:12px;margin-top:14px;display:grid}.ocr-panel .check-line{align-items:start;gap:8px;display:flex}.ocr-panel input[type=checkbox]{flex:none;width:18px;height:18px}.ocr-panel progress{width:100%}@media (width<=700px){.status-card{border-radius:20px;padding:16px}.ledger-columns{grid-template-columns:1fr}.ledger-entry{gap:10px}.ledger-total{font-size:24px}.status-card .card-top button{padding:8px 12px}.status-cards{gap:12px}}.lease-sheet{box-sizing:border-box;width:210mm;max-width:calc(100% - 24px);margin:24px auto;padding:12mm;font-size:13px;line-height:1.5}.lease-sheet .document-heading{border-bottom:2px solid var(--green);margin-bottom:12px;padding-bottom:12px}.lease-sheet .document-heading h2{margin:0;font-size:22px}.lease-sheet .document-heading p{margin:4px 0}.lease-sheet .brand{width:65px}.lease-sheet h3{border-left:3px solid var(--gold);break-after:avoid;margin:14px 0 5px;padding-left:8px;font-size:14px}.lease-sheet p{overflow-wrap:anywhere;margin:6px 0}.lease-sheet .document-meta{margin:8px 0;font-size:12px}.lease-financials{break-inside:avoid;background:#f2f6f2;border:1px solid #b8c9bf;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 12px;display:grid}.lease-financials strong{margin-top:3px;display:block}.lease-sheet table{border-collapse:collapse;border:1px solid #aabdb2;width:100%;margin:8px 0;font-size:12px}.lease-sheet th,.lease-sheet td{border:1px solid #aabdb2;padding:6px 10px}.lease-sheet th{color:var(--green);background:#edf3ed}.lease-sheet th:last-child,.lease-sheet td:last-child{text-align:right;width:30%}.lease-sheet tr{break-inside:avoid}.lease-sheet .document-signatures{break-inside:avoid;gap:20px;margin-top:22px;font-size:12px}.lease-sheet .preserve-lines{white-space:pre-wrap}@media print{@page{size:A4;margin:12mm}.lease-document{background:#fff}.lease-sheet{width:auto;max-width:none;box-shadow:none;border:0;margin:0;padding:0;font-size:10pt;line-height:1.45}.lease-sheet h3{margin-top:10px;font-size:11pt}.lease-sheet table{font-size:9.5pt}.lease-sheet .document-heading h2{font-size:17pt}.lease-sheet th,.lease-sheet td{padding:4px 8px}.lease-sheet .document-signatures{margin-top:18px}.lease-financials{padding:8px 10px}}.lease-sheet td,.lease-sheet th{font-size:inherit}.room-list,.status-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));align-items:start;gap:12px;padding:0}.room-tools{padding:16px 0}.room-item,.status-card{border-radius:22px;min-width:0;padding:18px}.room-item .row-actions,.status-card .row-actions{flex-wrap:wrap;gap:8px}.room-item button,.status-card button,.status-card .card-action{padding:9px 12px;font-size:14px}.meter-month{margin:8px 0 2px;font-weight:600}.meter-recorded{color:var(--muted);min-height:38px;font-size:12px;display:block}.meter-fields{gap:10px}.meter-fields input{padding:8px 10px}.overview-ledger .page-heading{margin-bottom:16px}.ledger-columns>.card{padding:20px}.ledger-total{margin:4px 0;font-size:24px}.ledger-entry{align-items:center;gap:12px;padding:15px 0}.ledger-entry small,.ledger-entry-amount .text-link{margin-top:2px;font-size:12px}.ledger-columns .card-top{margin-bottom:12px}dialog.modal{background:var(--surface-gradient);width:min(760px,100vw - 32px);max-height:88svh;color:var(--ink);border-radius:26px;flex-direction:column;padding:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--line);background:var(--surface-gradient);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.modal-header .circle{border-radius:50%;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;font-size:24px;line-height:1}.modal .modal-body{overscroll-behavior:contain;align-items:start;gap:16px;min-height:0;padding:22px 24px;overflow-y:auto}.modal-body>label{align-content:start;align-self:start;gap:6px}.modal-body textarea{resize:vertical;min-height:100px}.modal-body input,.modal-body select{height:48px;min-height:48px}.modal-body input[type=checkbox]{height:18px;min-height:18px}.modal-actions{color:var(--ink);background:0 0;margin-top:4px;padding:16px 0 0}@media (prefers-reduced-motion:no-preference){.status-card,.room-item{transition:box-shadow .2s,transform .2s;animation:.28s both apr7-enter}.status-card:nth-child(2),.room-item:nth-child(2){animation-delay:25ms}.status-card:nth-child(3),.room-item:nth-child(3){animation-delay:50ms}.status-card:nth-child(4),.room-item:nth-child(4){animation-delay:75ms}@media (hover:hover){.status-card:hover,.room-item:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00352c0c}}}@media (prefers-reduced-motion:reduce){.status-card,.room-item{transition:none;animation:none}}@media (width<=700px){.room-list,.status-cards{grid-template-columns:1fr}.room-item,.status-card,.modal-header{padding:16px}.modal-header h2{font-size:21px}.modal .modal-body{padding:16px}.modal .modal-body input,.modal .modal-body select{height:44px;min-height:44px}.ledger-columns>.card{padding:16px}}.room-heading-actions{align-items:center;gap:10px;width:min(440px,100%);min-width:0;display:flex}.room-heading-actions label{flex:1;min-width:0}.room-heading-actions button{white-space:nowrap;flex:none;min-height:48px}.room-number{transform-origin:0;display:inline-block}.room-item,.status-card{animation-fill-mode:backwards}.room-item:focus-within,.status-card:focus-within,.room-item:active,.status-card:active{border-color:#809e89;outline:none;box-shadow:0 0 0 2px #b3975c55,0 6px 18px #00352c10}@media (hover:hover){.room-item:hover,.status-card:hover{border-color:#809e89;outline:none;box-shadow:0 0 0 2px #b3975c55,0 6px 18px #00352c10}}@media (prefers-reduced-motion:no-preference){.room-item,.status-card{transition:border-color .24s ease-in-out,box-shadow .24s ease-in-out,transform .24s ease-in-out}.room-number{transition:transform .24s ease-in-out,font-weight .24s ease-in-out}.room-item:focus-within .room-number,.status-card:focus-within .room-number,.room-item:active .room-number,.status-card:active .room-number{transform:scale(1.22)}@media (hover:hover){.room-item:hover .room-number,.status-card:hover .room-number{transform:scale(1.22)}}}@media (width<=700px){.room-heading-actions{width:100%}.room-heading-actions button{min-height:44px;padding:10px 14px}}.due-date{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.due-date .due-edit{border-radius:50%;place-items:center;width:30px;height:30px;min-height:30px;padding:4px;display:grid}.due-edit svg{width:16px;height:16px}.room-number{max-width:100%;font-weight:700}.due-date{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:6px;display:grid}.due-date .due-edit{color:#00352c;background:#fff;border-color:#b3975c;flex:none}.status-card .card-action,.room-item .card-action{color:#00352c;background:#fff;border-color:#91ae9e}.settings-cards td:last-child{padding-block:12px}.settings-cards td .row-actions{gap:10px}.title-with-back{align-items:center;gap:14px;display:flex}.back-overview{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:14px;align-items:center;gap:6px;padding:10px 12px;text-decoration:none;display:inline-flex}.salary-fields{display:contents}.variable-expenses{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.variable-expense-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.settings-grid .row-actions{gap:10px}.room-item:focus-within .room-number,.status-card:focus-within .room-number,.room-item:active .room-number,.status-card:active .room-number{font-weight:800}@media (hover:hover){.room-item:hover .room-number,.status-card:hover .room-number{font-weight:800}}.room-combined{flex-direction:column;gap:8px;display:flex}.room-combined p{margin:0;line-height:1.55}.room-combined .room-person{margin-top:8px}.room-combined>.row-actions{margin-top:auto;padding-top:10px}.required-mark{color:#b33b38}.field-label{display:block}.required-mark{white-space:nowrap;display:inline}.due-date-text{white-space:nowrap;letter-spacing:-.2px;font-size:13px}.detail-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.settings-metro{column-count:2;column-gap:16px}.settings-metro .settings-grid{display:contents}.settings-metro .settings-card{break-inside:avoid;vertical-align:top;width:100%;margin:0 0 16px;display:inline-block}.settings-navigation{flex-wrap:wrap}.settings-navigation a{border-radius:24px;padding:12px 18px;text-decoration:none}.settings-navigation a.selected{background:var(--green);color:#fff}.settings-report>.card,.settings-report>.cards{margin-bottom:16px}.tax-summary dl{grid-template-columns:1fr auto;gap:10px;display:grid}.tax-summary dd{text-align:right;margin:0}.document-fields>summary{cursor:pointer;padding:12px 0}.document-fields .setup-form{margin-top:10px}.meter-fields{gap:10px;margin:8px 0}.meter-recorded{min-height:0;line-height:1.5}.meter-fields small{margin:3px 0}.room-tile{gap:5px;padding:12px 6px}.room-tile .badge{padding:5px 8px;font-size:11px;line-height:1.4}.settings-report .cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=700px){.settings-metro{column-count:1}.settings-report .cards{grid-template-columns:1fr}.settings-navigation{gap:6px}.settings-navigation a,.settings-navigation button{padding:10px 12px;font-size:13px}.settings-report .stat strong{font-size:26px}}.platform-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;margin:20px 0;display:grid}.platform-card{flex-direction:column;gap:12px;min-width:0;display:flex}.platform-card h3,.platform-card p{margin:0}.platform-card h3{overflow-wrap:anywhere;font-size:18px;font-weight:500}.platform-card .card-top{align-items:start;gap:12px}.platform-card .badge{white-space:normal;font-size:12px}.platform-email,.release-hash{overflow-wrap:anywhere}.platform-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.platform-card-actions button{min-height:40px;padding:9px 16px;font-size:13px;line-height:1.35}.platform-facts{grid-template-columns:1fr auto;gap:8px;margin:4px 0;font-size:14px;display:grid}.platform-facts dt{color:var(--muted)}.platform-facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.platform-search{max-width:100%;width:240px!important;height:44px!important;min-height:44px!important}.platform-version{font-size:30px;font-weight:500}.platform-version small{font-size:14px;font-weight:400}.release-hash{background:#ffffff73;border-radius:14px;padding:12px;font-size:12px;line-height:1.8}.platform-audit{margin-top:20px}.audit-detail{overflow-wrap:anywhere;max-width:360px}.platform-test{align-self:start}.platform-maintenance .button{border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-flex}.danger-action{color:#9a3030!important;border-color:#a83d3d!important}.danger-action.primary{color:#fff!important;background:#882c2c!important}.danger-action:hover{background:#f8e9e7!important}.danger-action.primary:hover{background:#6f2323!important}.deletion-form{gap:16px;display:grid}.deletion-form p{margin:0}.deletion-form h3{margin:0;font-size:16px}.platform-stats .stat{min-height:140px}.platform-maintenance .auth-form{gap:12px}.platform-maintenance small{display:block}.platform-panel .workspace-top .row-actions{justify-content:flex-end}.platform-panel [x-show]{transition:opacity .18s}@media (width<=1000px) and (width>=701px){.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.platform-grid{grid-template-columns:1fr;gap:14px;margin-top:16px}.platform-card{padding:20px}.platform-search{width:100%!important}.platform-panel .workspace-top .row-actions{justify-content:stretch;width:100%}.platform-panel .workspace-top{align-items:stretch}.platform-panel .workspace-top h2{font-size:24px}.platform-version{font-size:26px}.platform-card-actions{padding-top:8px}.platform-stats .stat{min-height:110px}}.setup-progress{margin-bottom:16px}.setup-progress h3{font-size:16px;font-weight:500}.setup-progress progress{width:100%;height:6px;accent-color:var(--green);margin:14px 0}.setup-progress a{text-decoration:none}.setup-progress .row-actions{flex-wrap:wrap;gap:8px}.maintenance-page{max-width:1200px;margin:0 auto;padding:32px}.maintenance-page .brand{width:56px}.maintenance-page .workspace-header{justify-content:space-between}.maintenance-page .auth-form{gap:14px}.maintenance-page input{width:100%;min-width:0}.maintenance-page input[type=file]{height:auto;min-height:44px;padding:10px;font-size:13px}.maintenance-page .auth-form>button{margin-top:auto}.maintenance-restore{max-width:650px}.maintenance-restore summary{cursor:pointer}.maintenance-restore .auth-form{margin-top:16px}@media (width<=700px){.maintenance-page{padding:20px 14px}.maintenance-page .workspace-header{gap:12px;display:flex}.maintenance-page .workspace-header a{font-size:12px}.maintenance-page .platform-grid{grid-template-columns:1fr}.maintenance-page h2{font-size:24px}}.share-preview{border-top:1px solid #00352c18;padding-top:14px;font-size:14px}.share-preview strong{font-weight:500}.share-preview p{margin:8px 0;line-height:1.65}.site-share{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;font-size:13px;display:flex}.site-share button{min-height:38px;padding:8px 14px;font-size:13px}.platform-panel .platform-card input,.platform-panel .platform-card textarea{max-width:100%}.dorm-controls .back-overview{white-space:nowrap;padding:8px 12px;font-size:12px}@media (width<=700px){.dorm-controls{flex-wrap:wrap}.site-share{justify-content:center}}body:has(.app-theme){background-color:#e5e9e3;background-image:radial-gradient(at 88% 65%,#be9e562b,#0000 55%),radial-gradient(at 15% 15%,#39796024,#0000 50%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.app-theme{--ui-font:"Noto Sans Thai", sans-serif;--gold:#397960;--line:#d6dfd391;--surface-gradient:linear-gradient(125deg, #ffffff8c, #ffffff45);--gradient:linear-gradient(110deg, #397960, #174f40);font-family:var(--ui-font);gap:28px;padding:32px 28px}.app-theme :is(button,input,select,textarea){font-family:var(--ui-font)}.app-theme :is(h2,h3){font-weight:400}.app-theme .card{-webkit-backdrop-filter:blur(22px)saturate(115%);backdrop-filter:blur(22px)saturate(115%);border:1px solid #ffffffbc;border-radius:28px;box-shadow:0 8px 28px #253a2b06}.app-theme .sidebar{border:0;gap:10px;padding-right:0;top:32px}.app-theme .sidebar .brand{width:54px;margin-bottom:24px}.app-theme .sidebar a{border-radius:24px;font-weight:400}.app-theme .sidebar a.selected{box-shadow:none;background:#252725;border-color:#252725}.app-theme .sidebar a:hover{color:var(--ink);background:#ffffff85;border-color:#ffffffbc}.app-theme .sidebar a.selected:hover{color:#fff;background:#363936}.app-theme .workspace-header{gap:12px;margin-bottom:32px}.app-theme :is(button,select,.account-menu summary,.card-action){border-radius:999px}.app-theme :is(button,select){background-color:#ffffff7d;border-color:#ffffffbc}.app-theme .dorm-controls select{max-width:260px}.app-theme .account-menu summary{color:#fff;box-shadow:none;background:#252725;border-color:#252725}.app-theme .account-menu summary:hover{background:#363936}.app-theme .primary{color:#fff;background:#252725;border-color:#252725}.app-theme .primary:hover{background:#363936}.app-theme :is(button,a,select,summary):focus-visible{outline-offset:3px;outline:2px solid #397960}.app-theme .overview-heading{align-items:center;padding:8px 0 24px}.app-theme .overview-heading h2{margin-bottom:8px;font-size:clamp(30px,3vw,40px);line-height:1.35}.app-theme .overview-heading p{font-size:14px}.app-theme .overview-counts{gap:8px}.app-theme .overview-counts .card{min-width:104px;color:var(--ink);background:#fff5;border-radius:24px;padding:14px 18px}.app-theme .overview-counts .occupied{background:#39796015;border-color:#ffffffbc}.app-theme .overview-counts strong{font-size:34px}.app-theme .overview-progress{gap:24px;margin:0 0 24px}.app-theme .overview-progress progress::-webkit-progress-value{background:var(--gradient)}.app-theme .overview-progress progress::-moz-progress-bar{background:var(--gradient)}.app-theme .monthly-tasks{margin-bottom:16px;padding:22px 24px}.app-theme .monthly-tasks .cards{gap:20px}.app-theme .monthly-task strong{font-size:15px;font-weight:500}.app-theme .monthly-task .badge{background:#ffffff6b;border-color:#ffffffb3}.app-theme .monthly-tasks .notice{color:var(--muted);background:0 0;padding:8px 0 0}.app-theme .overview-finance{gap:12px;margin-bottom:24px}.app-theme .overview-finance .card{border-color:#ffffffbc;min-height:300px;padding:22px}.app-theme .overview-finance .stat strong{overflow-wrap:anywhere;font-size:clamp(24px,2.5vw,32px);font-weight:400}.app-theme .overview-finance .stat:last-child strong{font-size:24px;font-weight:400}.app-theme .card-top h3{font-size:18px}.app-theme .card-top .circle{background:#ffffff75;border-color:#ffffffbc;border-radius:50%}.app-theme .billing-history span{background:var(--gradient)}.app-theme .billing-history>div:last-child span{background:#174f40}.app-theme .payment-ring>div{background:#eef1eb}.app-theme .payment-ring.payment-complete:before{background:conic-gradient(#174f40,#70a48b,#174f40)}.app-theme .payment-ring.payment-complete:after{box-shadow:0 0 16px #39796045}.app-theme .overview-bottom{gap:16px}.app-theme .overview-bottom>.card,.app-theme .ledger-columns>.card{padding:24px}.app-theme .room-map-header{align-items:flex-start}.app-theme .room-map-controls{gap:8px}.app-theme .room-map-options button{border-radius:999px;min-height:36px}.app-theme .panel-expand{background:#ffffff75;border-color:#ffffffbc}.app-theme .room-tile{box-shadow:none;border-color:#ffffffbc;border-radius:18px}.app-theme .room-tile strong{font-weight:500}.app-theme .compact-room-card .room-tile{border-radius:12px}.app-theme .room-tile.tile-paid{background:linear-gradient(135deg,#dcece2,#bfd9c9)}.app-theme .room-tile.tile-unpaid{background:linear-gradient(135deg,#e1e9f0,#d2dfe9);border-color:#adbfcd}.app-theme .room-tile.tile-overdue{background:linear-gradient(135deg,#f1e3df,#e7cfc9);border-color:#ccaaa2}.app-theme .status-unpaid{color:#45667e;background:#e5edf3;border-color:#b6c8d6}.app-theme .pending-scroll{max-height:440px}.app-theme .pending-row{border-color:#cad3c96b;gap:12px}.app-theme .pending-row strong{font-size:15px;font-weight:500}.app-theme .pending-row small{font-size:13px}.app-theme .ledger-total{font-size:26px;font-weight:400}.app-theme .ledger-entry strong{font-size:14px;font-weight:500}.app-theme .ledger-entry{border-color:#cad3c96b}.app-theme .panels-expanded .pending-scroll{max-height:none}@media (width<=1100px){.app-theme{gap:20px;padding:24px 18px}.app-theme .overview-counts{max-width:420px;margin-top:20px}}@media (width<=700px){.app-theme{padding:24px 14px 100px;display:block}.app-theme .sidebar{height:auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#edf0e9d9;border-top:1px solid #ffffffbc;gap:4px;inset:auto 0 0}.app-theme .sidebar a{border-radius:18px;min-height:48px;font-size:10px}.app-theme .workspace-header{margin-bottom:24px}.app-theme .dorm-controls{gap:8px}.app-theme .dorm-controls select{max-width:none}.app-theme .overview-heading h2{font-size:28px}.app-theme .overview-counts{gap:6px;max-width:none;margin-top:20px}.app-theme .overview-counts .card{border-radius:20px;min-width:0;padding:12px 8px;font-size:11px}.app-theme .overview-counts strong{font-size:28px}.app-theme .overview-progress{gap:12px;margin-bottom:20px}.app-theme .monthly-tasks{padding:20px}.app-theme .monthly-tasks .cards{gap:4px}.app-theme .overview-finance{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-theme .overview-finance .card{border-radius:22px;min-height:0;padding:16px 12px}.app-theme .overview-finance .card-top{gap:4px}.app-theme .overview-finance .card-top h3{font-size:14px}.app-theme .overview-finance .stat strong,.app-theme .overview-finance .stat:last-child strong{font-size:21px}.app-theme .overview-finance dl{grid-template-columns:1fr;gap:2px;margin:12px 0}.app-theme .overview-finance dd{margin-bottom:6px}.app-theme .billing-history{gap:2px;height:160px}.app-theme .billing-history small{font-size:8px}.app-theme .billing-history span{width:10px}.app-theme .payment-ring{width:min(130px,100%);margin:16px auto}.app-theme .payment-ring strong{font-size:28px}.app-theme .overview-bottom>.card,.app-theme .ledger-columns>.card{border-radius:24px;padding:20px}.app-theme .overview-bottom{grid-template-columns:1fr}.app-theme .room-map-header{flex-direction:column;gap:12px}.app-theme .room-map-controls{justify-content:flex-start;width:100%}.app-theme .room-grid{gap:8px}.app-theme .compact-room-card .room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-theme .pending-row strong{font-size:14px}.app-theme .ledger-columns{grid-template-columns:1fr}.app-theme .ledger-scroll{max-height:288px}}.app-theme .overview-progress>div:nth-child(2) progress::-webkit-progress-value{background:linear-gradient(110deg,#397960,#174f40)}.app-theme .room-grid .room-tile{border-radius:18px}.app-theme .compact-room-card .room-grid .room-tile{border-radius:12px}body:has(.app-theme){isolation:isolate;position:relative}body:has(.app-theme):before{content:"";z-index:-1;pointer-events:none;aspect-ratio:1;filter:blur(72px);opacity:.65;background:conic-gradient(#0000 0deg,#39796030 70deg,#0000 145deg,#be9e5638 225deg,#0000 305deg);border-radius:50%;width:min(1100px,125vmax);animation:48s linear infinite auth-halo-turn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=700px){.app-theme .billing-history>div>small:first-child{display:none}}@media (prefers-reduced-motion:reduce){body:has(.app-theme):before{animation:none}}.account-menu>summary{color:#fff;background:linear-gradient(135deg,#174f40,#003e33);border-color:#b69b58}.account-menu>summary:hover{background:linear-gradient(135deg,#26705a,#004d40)}.auth-login-actions{align-items:stretch;gap:12px;margin-top:28px;display:flex}.auth-login-actions .auth-submit{flex:1;margin:0}.auth-login-actions .demo-submit{color:#174f40;background:#edf4ef;border:1px solid #adc5b7;flex:0 42%;font-weight:600}.room-heading-actions select{width:auto;min-width:130px}.bill-preview-modal{width:min(1040px,96vw)}.bill-preview-modal .modal-body{display:block}.bill-preview-modal iframe{background:#fff;border:1px solid #dbe5dc;border-radius:12px;width:100%;height:60dvh;margin-top:16px}.receipt-80mm .document-sheet{width:80mm;max-width:100%;padding:5mm;font-size:11px}.receipt-80mm .document-heading{gap:8px}.receipt-80mm .document-heading h2{font-size:17px}.receipt-80mm .brand{width:40px}.receipt-80mm .document-parties{display:block}.receipt-80mm h3{font-size:13px}.receipt-80mm .document-total{font-size:14px}.receipt-80mm table{font-size:11px}.receipt-80mm .document-signatures{display:block}@media print{.receipt-80mm .document-sheet{width:74mm;box-shadow:none;border:0;margin:0;padding:0}.receipt-80mm{background:#fff}}@media (width<=700px){.auth-login-actions{gap:8px}.auth-login-actions button{padding:12px 8px;font-size:14px}.room-heading-actions select{min-width:110px}}.bill-preview-modal a.button{color:#fff;background:linear-gradient(135deg,#174f40,#003e33);border-radius:14px;justify-content:center;align-items:center;min-height:44px;padding:12px 18px;text-decoration:none;display:inline-flex}.embedded-document .print-toolbar{display:none}.report-toolbar,.report-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.report-toolbar{margin:22px 0}.report-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;display:grid}.report-section{border-top:1px solid #d4dfd6;padding:20px 0}.report-section-heading{margin-bottom:16px}.report-section table td{vertical-align:top}.report-section .amount{white-space:nowrap}.report-download{color:#174f40;background:linear-gradient(135deg,#f9fcfa,#e6efe9);border:1px solid #a9beaf;border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-weight:600;text-decoration:none;transition:background .2s ease-in-out;display:inline-flex}.report-download:hover{background:#dbe9de}.report-download small{letter-spacing:1px;font-size:10px}.report-download span{font-size:22px}.service-right{gap:20px;min-width:0;display:grid}.service-right .service-history{grid-column:auto}.paid-celebration{min-height:300px;position:relative;overflow:hidden;background:#07101d!important}.celebration-video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.paid-celebration .card-top{z-index:1;position:relative}.paid-celebration h3 a{color:#fff;text-shadow:0 1px 6px #000}.paid-celebration .badge{color:#fff;background:#ffffff1f;border-color:#ffffff70}.paid-celebration .card-top{background:linear-gradient(#07101d99,#0000);padding-bottom:20px}.legacy-receipt{color:#253a32;background:#fff}.receipt-dochead19{text-align:center;border-bottom:2px solid #214e40;flex-direction:column;align-items:center;gap:8px;padding-bottom:14px;display:flex}.receipt-dochead19 img{width:68px}.receipt-docmeta19 h1{margin:4px 0 6px;font-size:21px;font-weight:500}.receipt-docmeta19 p{margin:4px 0;font-size:12px}.receipt-state{color:#24573f;border:1px solid #91b39f;border-radius:6px;padding:3px 9px;font-size:11px;display:inline-flex}.receipt-unpaid{color:#967132;border-color:#cfb36d}.receipt-parties19{margin:16px 0}.receipt-parties19>div{margin:10px 0}.receipt-parties19 small{color:#65776d;font-size:11px}.receipt-parties19 strong{color:#214e40;font-weight:500}.receipt-parties19 p{margin:4px 0}.receipt-items19{border-collapse:collapse;width:100%}.legacy-receipt .receipt-items19 th,.legacy-receipt .receipt-items19 td{color:#253a32;background:#fff;border-bottom:1px solid #d9e2dc;padding:10px 0;font-size:13px}.receipt-items19 th:last-child,.receipt-items19 td:last-child{text-align:right;white-space:nowrap;padding-left:12px}.receipt-total19{border-top:2px solid #214e40;justify-content:space-between;align-items:baseline;gap:10px;margin:14px 0;padding:12px 0;display:flex}.receipt-total19 strong{color:#214e40;white-space:nowrap;font-size:23px;font-weight:500}.receipt-center{text-align:center;color:#65776d;font-size:11px!important}.receipt-signature19{flex-direction:column;align-items:center;gap:4px;margin:20px 0 0;font-size:12px;display:flex}.receipt-sign-line41{border-bottom:1px solid #9aaca0;width:65%;max-width:220px;margin-bottom:6px}.receipt-a4 .receipt-dochead19{text-align:right;flex-direction:row;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.receipt-a4 .receipt-dochead19 img{width:92px}.receipt-a4 .receipt-docmeta19 h1{font-size:28px}.receipt-a4 .receipt-parties19{grid-template-columns:1fr 1fr;gap:28px;margin:24px 0;display:grid}.receipt-a4 .receipt-parties19>div:last-child{text-align:right}.receipt-a4 .receipt-total19{width:48%;margin-left:auto}.receipt-80mm .legacy-receipt .receipt-items19 th,.receipt-80mm .legacy-receipt .receipt-items19 td{font-size:11px}@media (prefers-reduced-motion:reduce){.celebration-video{display:none}.paid-celebration{background:radial-gradient(at 30% 35%,#715a36,#07101d 70%)!important}}@media (width<=700px){.report-columns{grid-template-columns:1fr;gap:16px}.report-toolbar .row-actions{width:100%}.report-download{flex:1;padding:10px}.service-grid{grid-template-columns:1fr}}.report-section-heading{min-height:44px}.report-section-heading h3{margin:0}.report-section .cell-note{line-height:1.6}.workspace-main .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=700px){.workspace-main .service-grid{grid-template-columns:1fr}}.payment-ring.payment-complete{isolation:isolate;background:0 0;position:relative;box-shadow:0 0 14px #b89a4833}.payment-ring.payment-complete:before{content:"";z-index:-1;background:conic-gradient(#064d3a,#ba9b50,#e6cc83,#087057,#064d3a);border-radius:50%;animation:4s linear infinite payment-orbit;position:absolute;inset:0}.payment-ring.payment-complete>div{position:relative}.payment-ring.payment-complete:after{content:"";z-index:-2;filter:blur(7px);opacity:.45;background:conic-gradient(#064d3a88,#cfb05d88,#08705788);border-radius:50%;animation:4s linear infinite payment-orbit;position:absolute;inset:-3px}@keyframes payment-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.payment-ring.payment-complete:before,.payment-ring.payment-complete:after{animation:none}}.receipt-dorm-name{color:#214e40;text-align:left;overflow-wrap:anywhere;font-size:20px}.receipt-a4 .receipt-dorm-name{max-width:52%;font-size:27px}.receipt-brand-footer{width:38px;height:auto;margin:20px auto 0;display:block}.room-payment-history .ledger-entry-amount{gap:6px}.room-payment-history .card-top{flex-wrap:wrap}.room-detail-columns{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:28px;margin-top:8px;display:grid}.room-tenant-details,.room-payment-history{min-width:0}.room-tenant-details h3,.room-payment-history h3{margin:0 0 14px}.room-tenant-details p{overflow-wrap:anywhere;margin:10px 0}.room-detail-columns .room-payment-history{border-left:1px solid var(--line);padding-left:28px}.room-payment-history .card-top{display:block}.room-payment-history .card-top>strong{color:var(--muted);margin-bottom:14px;font-size:13px;display:block}.room-payment-history .ledger-entry{gap:12px;padding:12px 0}.room-payment-history .ledger-entry-amount{flex-direction:column;align-items:flex-end;gap:5px;font-size:14px;display:flex}.room-payment-history .ledger-entry small{font-size:11px}@media (width<=700px){.room-detail-columns{grid-template-columns:1fr;gap:20px}.room-detail-columns .room-payment-history{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.modal-actions{flex-wrap:wrap}}.room-item.state-overdue{background:linear-gradient(135deg,#f7e6e2,#fff8f5);border-color:#ce9c97}.room-item.state-overdue .room-top{flex-wrap:wrap;gap:8px}.batch-print-button{border:1px solid var(--line);color:var(--green);white-space:nowrap;background:#fff;border-radius:14px;justify-content:center;align-items:center;padding:12px 18px;text-decoration:none;display:inline-flex}.batch-print-button:hover{background:#edf4ef;border-color:#b69b58}.batch-invoices .document-sheet{margin-bottom:24px}.room-tile .badge{margin-top:6px;margin-bottom:2px}.room-tile.tile-paid{background:linear-gradient(145deg,#e0eee4,#cde3d5);border-color:#a2c4ae}.room-tile.tile-unpaid{background:linear-gradient(145deg,#f5e9cc,#fff8e8);border-color:#d7b975}.room-tile.tile-overdue{background:linear-gradient(145deg,#f1d7d1,#fff0eb);border-color:#cb978e}.room-tile.tile-unbilled{background:linear-gradient(145deg,#edf0ed,#f9faf7);border-color:#c5cfc6}.room-tile.tile-paid:hover{background:linear-gradient(145deg,#d1e8d9,#b9d8c6)}.room-tile.tile-unpaid:hover{background:linear-gradient(145deg,#eedeb8,#fff4d9)}.room-tile.tile-overdue:hover{background:linear-gradient(145deg,#eac6bd,#ffe6dd)}.room-tile.tile-unbilled:hover{background:linear-gradient(145deg,#e1e7e1,#f3f6f0)}dialog.payment-modal{width:min(490px,100vw - 32px)}.payment-modal .modal-body{gap:18px}.payment-bill-heading{text-align:center}.payment-room{color:var(--green);font-size:22px;font-weight:600}.payment-bill-heading p{color:var(--ink);margin:6px 0}.payment-bill-heading small{color:var(--muted);font-size:12px}.payment-amount-summary{text-align:center;background:linear-gradient(135deg,#e5f1e9,#f9f7ee);border:1px solid #a9c7b5;border-radius:20px;flex-direction:column;gap:6px;padding:22px 16px;display:flex}.payment-amount-summary>span{color:#4f7060;font-size:13px}.payment-amount-summary strong{letter-spacing:-1px;color:#064a38;overflow-wrap:anywhere;font-size:38px;font-weight:600;line-height:1.25}.payment-amount-summary small{color:var(--muted);font-size:12px}.payment-breakdown{grid-template-columns:1fr auto;gap:8px;margin:0;font-size:13px;display:grid}.payment-breakdown dd{text-align:right;margin:0}.payment-confirm-note{color:#385748;background:#f2f5f0;border-radius:12px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.6;display:flex}.payment-confirm-note svg{flex-shrink:0;width:22px;height:22px;margin-top:2px}.payment-confirm-note small{color:#748579;font-size:11px}.payment-modal .modal-actions{grid-template-columns:1fr 1.5fr;gap:12px;margin-top:0;display:grid}.payment-modal .modal-actions button{width:100%}@media (width<=700px){.payment-modal .modal-body{gap:14px;padding:18px}.payment-amount-summary{padding:18px 12px}.payment-amount-summary strong{font-size:32px}.payment-modal .modal-actions{gap:8px}}.billing-heading{flex-wrap:wrap;gap:16px}.billing-heading-actions{flex-wrap:wrap;justify-content:flex-end;width:min(920px,100%)}.billing-heading-actions label{flex:250px;min-width:200px}.billing-heading-actions input{width:100%;min-height:48px}.billing-heading-actions select{flex:none}.billing-heading-actions .batch-print-button{white-space:nowrap;flex:none}@media (width<=700px){.billing-heading-actions{justify-content:flex-start}.billing-heading-actions label{flex-basis:100%;min-width:0}.billing-heading-actions select{flex:1;min-width:110px}.billing-heading-actions .batch-print-button,.billing-heading-actions button{min-height:44px;padding:10px 12px}}.bill-preview-modal .modal-header{background:linear-gradient(135deg,#f1f6f1,#faf8f0);border-bottom:1px solid #dbe5dc}.bill-preview-modal .modal-header h2{margin:0}.bill-preview-modal .modal-header p{margin:6px 0 0;font-size:13px}.document-preview-controls{background:#fff;border:1px solid #dbe5dc;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.document-preview-controls label{align-items:center;gap:12px;margin:0;font-size:14px;display:flex}.document-preview-controls select{width:auto;min-width:150px}.document-preview-frame{background:#eff3ef;border:1px solid #dbe5dc;border-radius:18px;height:calc(58dvh + 24px);margin-top:18px;padding:12px;overflow:hidden}.bill-preview-modal .document-preview-frame iframe{border-radius:8px;height:58dvh;margin:0;display:block}.lease-sheet .document-heading{border:1px solid #b6c8bc;border-top:3px solid #214e40;border-radius:8px;padding:16px 18px}.embedded-document .document-sheet{box-shadow:none}.receipt-80mm .legacy-receipt,.receipt-80mm .legacy-receipt *{color:#000!important;box-shadow:none!important;background:#fff!important;border-color:#000!important}.receipt-80mm .receipt-brand-footer{filter:grayscale()brightness(0)}@media (width<=700px){.document-preview-controls{gap:12px;padding:12px}.document-preview-controls label,.document-preview-controls a.button{width:100%}.document-preview-controls select{flex:1;min-width:0}.document-preview-frame{height:calc(58dvh + 12px);padding:6px}.bill-preview-modal .modal-body{padding:14px}.bill-preview-modal .modal-header p{font-size:12px}}.room-floor-line{margin:8px 0 12px}.floor-badge{border:1px solid hsl(var(--floor-hue) 40% 65%);color:hsl(var(--floor-hue) 48% 33%);background:linear-gradient(135deg,hsl(var(--floor-hue) 60% 96%),hsl(var(--floor-hue) 45% 91%));white-space:nowrap;border-radius:12px;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.room-combined .room-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.room-combined .room-top h3{margin:0;font-size:26px;line-height:1.2}.room-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.room-badges .floor-badge,.room-badges .badge{white-space:nowrap;padding:4px 8px;font-size:11px;line-height:1.5}.room-combined .room-person{display:block}.status-card .card-top{flex-wrap:wrap;align-items:center;gap:10px}.status-card .card-top h3{margin:0;font-size:26px;line-height:1.2}.status-card .room-badges{margin-left:auto}.ledger-scroll,.pending-scroll{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#93aa9b transparent;scrollbar-gutter:stable;max-height:288px;padding-right:8px;overflow-y:auto}.ledger-scroll .ledger-entry{box-sizing:border-box;min-height:96px;padding:14px 0}.ledger-scroll .ledger-entry:last-child{padding-bottom:14px}.ledger-scroll .ledger-entry>div:first-child{overflow-wrap:anywhere;min-width:0}.pending-scroll{max-height:440px;margin-bottom:16px}.pending-scroll .pending-row{box-sizing:border-box;align-items:center;min-height:88px}.ledger-scroll:focus-visible,.pending-scroll:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #b3975c}@media (width>=701px){.dorm-controls select{flex:0 260px;width:260px;max-width:260px}}.room-layout-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:14px 0;display:grid}.room-layout-row button{margin-bottom:2px}.room-layout-summary{flex-wrap:wrap;gap:16px;margin:12px 0;display:flex}.room-layout-row .field-label{font-size:12px}@media (width<=700px){.room-layout-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:14px}.room-layout-row button{grid-column:2;justify-self:end}}.room-layout-form h3{margin-bottom:10px;font-size:20px}.room-layout-form>.muted{margin:12px 0;line-height:1.7}.floor-badge,.building-badge{border:1px solid var(--location-border);background:var(--location-bg);color:var(--location-ink);white-space:nowrap;border-radius:12px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.building-badge{box-shadow:inset 3px 0 var(--location-border);padding-left:10px}.room-layout-form{border-top:0;margin-top:0;padding-top:0}.room-location-filters{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.room-location-filters select{width:160px;min-height:40px;padding:8px 12px;font-size:13px}.room-toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.room-select-check{align-items:center;display:flex}.room-select-check input{width:20px;height:20px;accent-color:var(--green);margin:0}.room-selected{outline:2px solid var(--gold);outline-offset:2px}.delete-rooms{color:#a52e35;background:#fff1f2;border-color:#d9a0a3}.delete-rooms:disabled{opacity:.45}.overview-room-card .room-grid{overscroll-behavior-y:contain;scrollbar-width:thin;align-content:start;max-height:440px;overflow-y:auto}.compact-room-card .room-tile{gap:0;min-height:54px;padding:8px}.compact-room-card .room-tile small,.compact-room-card .room-tile .badge{display:none}.compact-room-card .room-tile strong{font-size:22px;font-weight:600}.overview-room-card .room-grid:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}@media (width<=700px){.room-location-filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.room-location-filters select{width:100%}.compact-room-card .room-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:54px;max-height:300px}.room-selection-actions{flex-wrap:wrap}}.room-map-header{align-items:flex-start;gap:12px}.room-map-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:65%;display:flex}.room-map-options{flex-wrap:wrap;gap:5px;display:flex}.room-map-options button{background:var(--location-bg,#fff);border-color:var(--location-border,var(--border));min-height:34px;color:var(--location-ink,var(--green));border-radius:12px;padding:6px 10px;font-size:12px}.room-map-options button[aria-pressed=true]{box-shadow:0 0 0 2px var(--green);font-weight:700}.compact-room-card .room-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));grid-auto-rows:40px;gap:6px}.compact-room-card .room-tile{min-height:40px;padding:4px}.compact-room-card .room-tile strong{font-size:19px}.room-map-preview{z-index:80;pointer-events:none;width:280px;color:var(--green);background:linear-gradient(135deg,#e8f2ec,#fff);border:1px solid #b2caba;border-radius:20px;padding:18px;animation:.14s ease-out room-preview-in;position:fixed;box-shadow:0 12px 38px #063e352b}.room-map-preview.preview-unpaid{background:linear-gradient(135deg,#faf0d9,#fff);border-color:#d8b968}.room-map-preview.preview-overdue{background:linear-gradient(135deg,#f9e4e0,#fff);border-color:#d29a90}.room-map-preview.preview-vacant{background:#fff}.room-preview-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.room-preview-title>strong{font-size:25px}.room-map-preview p{margin:7px 0;font-size:13px}.room-map-preview .preview-tenant{font-size:15px;font-weight:600}.room-map-preview small{font-size:11px}@keyframes room-preview-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.room-map-header{flex-direction:column}.room-map-controls{justify-content:flex-start;width:100%;max-width:100%}.room-map-controls>a{margin-left:auto}.room-map-options button{min-height:40px}.compact-room-card .room-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:54px;gap:8px}.compact-room-card .room-tile{min-height:54px}.compact-room-card .room-tile strong{font-size:22px}}@media (prefers-reduced-motion:reduce){.room-map-preview{animation:none}}.room-layout-row{grid-template-columns:minmax(54px,.55fr) minmax(54px,.55fr) minmax(80px,1fr) minmax(80px,1fr) minmax(100px,1.2fr) auto}.room-heading-actions{flex-wrap:wrap}.room-heading-actions .room-location-filters{flex-wrap:nowrap;width:auto;margin:0;display:flex}.room-heading-actions .room-location-filters select{width:125px;min-height:48px}@media (width>=701px){.overview-bottom{align-items:start}.overview-room-card{height:var(--room-map-height,570px);box-sizing:border-box;flex-direction:column;min-height:0;display:flex}.overview-room-card .room-map-header{flex-shrink:0}.overview-room-card .room-grid{flex:1;min-height:0;max-height:none}.compact-room-card .room-grid{grid-template-columns:repeat(var(--map-columns,12),minmax(0,1fr));grid-auto-rows:var(--map-row-height,40px);gap:6px;overflow:hidden}.compact-room-card .room-tile{border-radius:10px;min-width:0;min-height:0;padding:2px}.compact-room-card .room-tile strong{font-size:var(--map-font-size,19px);line-height:1.2}}@media (width<=700px){.room-layout-row{grid-template-columns:repeat(2,minmax(0,1fr))}.room-heading-actions .room-location-filters{flex-wrap:wrap}.room-heading-actions .room-location-filters select{width:125px}}@media (width>=701px){.overview-bottom>section:nth-child(2){box-sizing:border-box;min-height:570px}}.meter-field-group{min-width:0}.meter-photo{flex-direction:column;gap:6px;margin-top:8px;display:flex}.meter-photo-picker{min-height:44px;color:var(--green);text-align:center;cursor:pointer;background:linear-gradient(135deg,#edf5ee,#fff);border:1px solid #abc4b4;border-radius:12px;justify-content:center;align-items:center;padding:8px;font-size:12px;display:flex;position:relative}.meter-photo-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.meter-photo-picker:focus-within{outline:2px solid var(--gold);outline-offset:2px}.meter-photo-picker:has(input:disabled){opacity:.55;cursor:default}.meter-photo-thumb{object-fit:contain;border:1px solid var(--line);border-radius:10px;width:100%;height:80px}.meter-photo-link{padding:6px 0;font-size:12px}.meter-photo small{font-size:11px}.overview-room-card .room-grid,.pending-scroll,.ledger-scroll{overscroll-behavior-y:auto;scrollbar-width:auto;scrollbar-color:#6c947f #edf2ed;-webkit-overflow-scrolling:touch}.panel-scroll-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel-expand{white-space:nowrap;background:#fff;border-color:#adc4b5;min-height:44px;padding:8px 12px;font-size:12px}.panels-expanded .pending-scroll,.panels-expanded .overview-room-card .room-grid{max-height:none;overflow:visible}.panels-expanded .overview-room-card{height:auto!important}.panels-expanded .compact-room-card .room-grid{flex:none;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));grid-auto-rows:48px;gap:8px}.panels-expanded .compact-room-card .room-tile{min-height:48px}.panels-expanded .compact-room-card .room-tile strong{font-size:20px}@media (width>=701px){.overview-bottom.panels-expanded{align-items:stretch}}@media (width<=700px){.panels-expanded .compact-room-card .room-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:54px}}.meter-fields input{min-height:44px}.sidebar .brand{width:58px;height:auto}.mobile-brand{width:44px;height:auto}body:has(.auth-shell){isolation:isolate;position:relative}body:has(.auth-shell):before{content:"";z-index:-1;pointer-events:none;aspect-ratio:1;filter:blur(72px);opacity:.75;background:conic-gradient(#0000 0deg,#39796046 70deg,#0000 145deg,#be9e5661 225deg,#0000 305deg);border-radius:50%;width:min(1100px,125vmax);animation:48s linear infinite auth-halo-turn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}@keyframes auth-halo-turn{to{transform:translate(-50%,-50%)rotate(360deg)}}body:has(.auth-shell){background:radial-gradient(at 35% 15%,#eff0ed,#0000 65%),#dde2dd}.auth-shell{background:radial-gradient(at 79% 86%,#be9e5640 0,#0000 43%),radial-gradient(at 68% 32%,#305f4929 0,#0000 42%),linear-gradient(125deg,#eaede9c9,#e9ece7ad 65%,#eeece3b8);border:1px solid #ffffff75;border-radius:36px;grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:24px;width:calc(100% - 48px);max-width:1140px;min-height:640px;margin:clamp(24px,6vh,64px) auto;padding:32px;font-family:Noto Sans Thai,sans-serif;font-weight:400;display:grid;box-shadow:0 20px 56px #26392b12,inset 0 1px #ffffffb3}.auth-intro{background:0 0;grid-template-rows:1fr auto;gap:22px;padding:4px 16px 4px 4px;display:grid}.auth-brand-lockup{align-items:center;gap:12px;margin:8px 0 24px;display:flex}.auth-brand-lockup .brand{flex:none;width:48px;height:auto}.auth-brand-lockup strong{font-size:17px;font-weight:450;display:block}.auth-brand-lockup span{color:#697365;margin-top:4px;font-size:12px;display:block}.auth-intro .slide-stage{align-content:center}.auth-intro .intro-slide{align-self:center;align-items:flex-start;gap:24px;padding:24px 0}.auth-intro h1{letter-spacing:-.5px;color:#173d30;max-width:500px;font-size:clamp(38px,3.75vw,48px);font-weight:400;line-height:1.28}.auth-intro .eyebrow{color:#536b56;background:#ffffff30;border:1px solid #546b5529;border-radius:24px;margin-bottom:20px;padding:7px 13px;font-size:13px;display:inline-flex}.auth-intro .intro-copy{color:#626c64;max-width:450px;min-height:0;margin:0;font-size:17px;font-weight:400;line-height:1.75}.slide-highlight{color:#48614d;background:#ffffff38;border:1px solid #ffffffa6;border-radius:24px;align-items:center;max-width:100%;padding:10px 15px;font-size:13px;line-height:1.6;display:inline-flex;box-shadow:inset 0 1px #ffffff85}.auth-intro .slide-controls{gap:10px;margin-top:0}.auth-intro .slide-controls .circle,.auth-intro .pause-slide{background:#ffffff85;border:1px solid #ffffffb3;flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:inset 0 1px #ffffffad}.auth-intro .slide-controls svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.auth-intro .slide-controls .circle,.auth-intro .pause-slide{place-items:center;padding:0;display:grid}.auth-intro .pause-slide,.auth-intro .slide-controls>span{font-size:12px}.auth-intro .slide-controls button:focus-visible{outline-offset:3px;outline:3px solid #397960}.auth-form-panel{-webkit-backdrop-filter:blur(22px)saturate(115%);backdrop-filter:blur(22px)saturate(115%);background:linear-gradient(145deg,#ffffff80,#ffffff38);border:1px solid #ffffffc9;border-radius:28px;place-self:center end;width:100%;max-width:400px;padding:28px 22px 22px;animation:.5s cubic-bezier(.2,.7,.2,1) both auth-arrive;box-shadow:0 10px 32px #34513b06,inset 0 1px #fff}.auth-form-panel header{margin-bottom:16px}.auth-form-panel h2{font-size:28px;font-weight:400;line-height:1.35}.auth-form-panel header p{margin:7px 0 0;font-size:14px;font-weight:400}.auth-tabs{background:#e9ede66b;border-color:#ffffffad;border-radius:28px;margin-bottom:16px;padding:4px}.auth-tabs button{border-radius:24px;flex:1 1 0;min-width:0;min-height:44px;padding:8px 12px;font-size:14px;font-weight:500}.auth-tabs button.selected{color:#fff;background:#252725;box-shadow:0 3px 10px #25272510}.auth-tabs button.selected:hover{background:#363936}.auth-form{gap:12px;margin-top:0}.auth-form label{gap:7px;font-size:14px;font-weight:400}.auth-form input:not([type=checkbox]){background:#ffffff7d;border-color:#d6dfd391;border-radius:16px;height:44px;min-height:44px;padding:8px 14px;font-size:16px}.auth-form input.invalid{border-color:#c63e3e}.auth-form input:not([type=checkbox]):focus-visible{outline-offset:2px;border-color:#397960;outline:3px solid #9bbfaf}.auth-form .remember-row label,.auth-form .remember-row button{font-size:13px}.auth-login-actions{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:8px;display:grid}.auth-login-actions:has(.demo-submit){grid-template-columns:repeat(2,minmax(0,1fr))}.auth-login-actions button{white-space:nowrap;border-radius:999px;width:100%;min-width:0;min-height:48px;padding:11px 12px;font-size:14px;font-weight:500}.auth-login-actions .auth-submit{color:#fff;background:#252725;border-color:#252725;transition:background .2s,box-shadow .2s;box-shadow:0 3px 10px #2527250d}.auth-login-actions .auth-submit:hover{background:#363936;border-color:#363936;box-shadow:0 4px 14px #25272518}.auth-login-actions .demo-submit{color:#343b35;background:#ffffff65;border-color:#ffffffb3}.auth-login-actions .demo-submit:hover{background:#ffffffa6}.auth-shell button:focus-visible{outline-offset:3px;outline:2px solid #397960}.auth-intro .dots button,.auth-intro .dots button.selected,.auth-intro .dots button:hover{height:28px;min-height:28px;box-shadow:none;background:0 0;border:0}.auth-intro .dots button:after{height:6px;top:11px}.auth-intro .dots button.selected:after{background:linear-gradient(110deg,#397960,#174f40)}.auth-form-panel .privacy{margin-top:14px}.auth-shell button{transition:background .22s ease-in-out,box-shadow .22s ease-in-out,transform .22s ease-in-out}.auth-shell button:active{transform:translateY(1px)}@media (hover:hover){.auth-intro .slide-controls .circle:hover,.auth-intro .pause-slide:hover{background:#ffffffb8;transform:translateY(-1px)}}@keyframes auth-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-form-panel .privacy .text-link{font-size:12px}@media (width>=721px) and (width<=950px){.auth-shell{grid-template-columns:minmax(0,1fr) 350px;gap:10px;width:calc(100% - 32px);padding:18px}.auth-intro{padding:8px}.auth-intro h1{font-size:38px}.auth-intro .intro-copy{font-size:16px}.auth-form-panel{padding:22px}.auth-brand-lockup span{font-size:10px}.auth-intro .slide-controls{gap:7px}}@media (width<=720px){body:has(.auth-shell){background:radial-gradient(at 85% 65%,#be9e562b,#0000 55%),radial-gradient(at 20% 10%,#305f491c,#0000 55%),#eaede8}.auth-shell{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:0;min-height:0;margin:0;padding:28px 12px 12px;display:flex}.auth-intro{display:contents}.auth-brand-lockup{gap:12px;margin:6px 0 24px}.auth-brand-lockup .brand{width:48px}.auth-brand-lockup strong{font-size:16px}.auth-brand-lockup span{font-size:11px}.auth-form-panel{border-radius:24px;order:1;width:100%;padding:28px 18px 22px}.auth-form-panel h2{font-size:26px}.auth-form input:not([type=checkbox]){height:48px;min-height:48px;padding:10px 14px}.auth-form-panel header p{font-size:14px}.auth-tabs{margin-bottom:16px}.auth-tabs button{font-size:13px}.auth-form .remember-row label,.auth-form .remember-row button{font-size:12px}.auth-form-panel .privacy .text-link{font-size:11px}.auth-login-actions{flex-wrap:wrap}.auth-login-actions .demo-submit{flex:1 0 auto}.slide-stage{background:0 0;order:2}.auth-intro .intro-slide{background:0 0;gap:18px;padding:26px 12px 8px}.auth-intro h1{letter-spacing:0;font-size:28px;line-height:1.4}.auth-intro .eyebrow{margin-bottom:16px;font-size:12px}.auth-intro .intro-copy{min-height:0;font-size:16px}.slide-highlight{font-size:12px}.auth-intro .slide-controls{background:0 0;order:3;gap:6px;padding:14px 12px}}@media (prefers-reduced-motion:reduce){.auth-intro .intro-slide,.auth-shell button{transition:none!important}.auth-form-panel{animation:none}body:has(.auth-shell):before{animation:none}}.app-theme :is(.room-item,.status-card,.settings-card,.table-wrap){-webkit-backdrop-filter:blur(22px)saturate(115%);backdrop-filter:blur(22px)saturate(115%);background:linear-gradient(125deg,#ffffff8c,#ffffff45);border:1px solid #ffffffbc;border-radius:26px;box-shadow:0 8px 28px #253a2b06}.app-theme :is(.room-item,.status-card){padding:22px}.app-theme :is(.room-item,.status-card).state-complete{background:linear-gradient(125deg,#e2eee4b8,#d3e5d777);border-color:#bed3c3}.app-theme :is(.room-item,.status-card).state-pending{background:linear-gradient(125deg,#edf1f6b8,#dae4ec77);border-color:#bfccd7}.app-theme :is(.room-item,.status-card).state-locked{background:linear-gradient(125deg,#edf0ebb8,#dce3db77);border-color:#c8d2c6}.app-theme :is(.room-item,.status-card).state-overdue{background:linear-gradient(125deg,#f3e5e1b8,#e9d7d177);border-color:#d7bab2}.app-theme :is(.room-item,.status-card):is(:hover,:focus-within){transform:none;box-shadow:0 0 0 2px #39796025,0 8px 28px #253a2b08}.app-theme :is(.room-item,.status-card) .room-number{font-size:28px;font-weight:500;transform:none}.app-theme :is(.room-item,.status-card):is(:hover,:focus-within,:active) .room-number{font-weight:500;transform:none}.app-theme :is(.page-heading h2,.workspace-main>h2,.workspace-top h2){border:0;padding-left:0;font-size:32px;font-weight:400}.app-theme .page-heading{margin:8px 0 24px}.app-theme .page-heading p{margin-top:8px;font-size:14px}.app-theme .page-actions{align-items:flex-start}.app-theme .room-heading-actions{gap:8px}.app-theme :is(input:not([type=checkbox]):not([type=radio]),select){background-color:#ffffff82;border-color:#d2ddd199;height:44px;min-height:44px;padding-block:8px;font-size:16px}.app-theme input:not([type=checkbox]):not([type=radio]),.app-theme textarea{border-radius:16px}.app-theme textarea{background:#ffffff82;border-color:#d2ddd199;min-height:110px;font-size:16px}.app-theme :is(button,.button,.card-action,.back-overview){border-radius:999px;min-height:44px;font-size:13px;font-weight:500}.app-theme .circle,.app-theme .due-edit{border-radius:50%}.app-theme .text-link{background:0 0;border-radius:0;min-height:28px}.app-theme :is(.primary,.tabs .selected,.settings-navigation a.selected){color:#fff;background:#252725;border-color:#252725}.app-theme :is(.primary,.tabs .selected,.settings-navigation a.selected):hover{background:#363936}.app-theme .tabs{background:#fff5;border:1px solid #ffffffbc;padding:4px}.app-theme label{font-weight:400}.app-theme .badge{border-radius:12px}.app-theme .row-actions{gap:8px;margin-top:18px}.app-theme .room-list,.app-theme .status-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px}.app-theme .card-amount{margin:16px 0;font-size:30px;font-weight:400}.app-theme .meter-fields{gap:12px;margin:14px 0}.app-theme .meter-fields small{font-size:12px;font-weight:400}.app-theme .due-date{font-size:13px}.app-theme .due-edit{border-color:#c1d2c5}.app-theme .settings-navigation{gap:6px;margin-bottom:24px;padding:4px}.app-theme .settings-card{overflow:hidden}.app-theme .settings-card>header{background:#ffffff35;border-bottom:1px solid #ffffff8c;padding:20px 24px}.app-theme .settings-card>header button{min-height:0;box-shadow:none;background:0 0;border-radius:0;font-size:18px;font-weight:400}.app-theme .settings-body{padding:24px}.app-theme .settings-save{border-color:#cbd5ca6b;flex-wrap:wrap;gap:12px}.app-theme .settings-metro{column-gap:16px}.app-theme th{background:#ffffff45;font-weight:500}.app-theme td{border-color:#cad3c96b;font-size:14px}.app-theme tr:hover{background:#ffffff35}.app-theme .notice{color:#425c4b;background:#fff6;border-color:#d3ddd199}.app-theme .error-message{color:#a63333}.app-theme .service-grid{gap:16px}.app-theme .service-payment{padding:24px}.app-theme .service-amount{font-size:36px;font-weight:400}.app-theme dialog.modal{font-family:var(--ui-font);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(125deg,#f4f6f0f2,#e8ede5f2);border:1px solid #ffffffd9;border-radius:28px;box-shadow:0 24px 80px #173d332b}.app-theme dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#203d3055}.app-theme .modal-header{background:#ffffff35;border-color:#ffffff8c;padding:24px}.app-theme .modal-header h2{font-size:26px;font-weight:400}.app-theme .modal-header .circle{border-radius:50%;font-size:24px}.app-theme .modal-body{padding:24px}.app-theme .modal-actions{border-color:#cad3c96b;gap:8px;padding-top:20px}.app-theme .modal-body .setup-form{gap:18px 20px}.app-theme .bill-preview-modal .document-preview-controls{background:#fff6;border-color:#ffffffbc;border-radius:20px}.app-theme .document-preview-frame{background:#dce4dc;border-color:#ffffffbc}.app-theme .room-map-preview{background:#f3f6eff2;border-color:#ffffffbc}:is(body:has(.pair-page),body:has(.maintenance-theme)){background:radial-gradient(at 85% 70%,#be9e5630,#0000 55%),radial-gradient(at 15% 10%,#39796024,#0000 50%),#e5e9e3}.pair-page,.maintenance-theme{font-family:Noto Sans Thai,sans-serif}.pair-page{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(125deg,#ffffff8c,#ffffff45);border:1px solid #ffffffbc;border-radius:28px;padding:32px}.pair-page h2,.maintenance-theme h2,.maintenance-theme h3{font-weight:400}.pair-page .primary,.maintenance-theme .primary{background:#252725;border-color:#252725;border-radius:999px}.maintenance-theme{box-shadow:none;background:0 0;border:0}.maintenance-theme .card{background:#fff7;border:1px solid #ffffffbc;border-radius:24px}@media (width<=700px){.app-theme :is(.page-heading h2,.workspace-main>h2,.workspace-top h2){font-size:28px}.app-theme .page-actions{gap:16px}.app-theme .room-heading-actions{width:100%}.app-theme .room-heading-actions>label{flex:1 0 100%;width:100%}.app-theme .room-heading-actions input{width:100%}.app-theme .room-heading-actions :is(button,a.button){flex:auto}.app-theme :is(input:not([type=checkbox]):not([type=radio]),select){height:48px;min-height:48px}.app-theme .workspace-header select{height:44px;min-height:44px;font-size:14px}.app-theme .room-list,.app-theme .status-cards{grid-template-columns:1fr;gap:12px}.app-theme :is(.room-item,.status-card){border-radius:24px;padding:20px}.app-theme .settings-body{padding:20px}.app-theme .settings-card>header{padding:18px 20px}.app-theme .settings-navigation{flex-wrap:wrap}.app-theme .settings-navigation a{padding:10px 12px;font-size:12px}.app-theme .settings-metro{column-count:1}.app-theme dialog.modal{border-radius:24px;width:calc(100vw - 24px);max-height:90svh}.app-theme .modal-header{padding:18px 20px}.app-theme .modal-header h2{font-size:22px}.app-theme .modal-body{padding:20px}.app-theme .modal-body .setup-form{grid-template-columns:1fr}.pair-page{width:auto;margin:28px 12px;padding:24px}}.app-theme .room-heading:has(.room-location-filters){flex-wrap:wrap}.app-theme .room-heading:has(.room-location-filters) .room-heading-actions{width:100%}.app-theme .room-heading:has(.room-location-filters) .room-heading-actions>label{flex:240px}.app-theme .settings-card{padding:0}.app-theme .settings-card>header{margin-bottom:0}.app-theme .settings-card>header button{padding:0}.app-theme .report-download,.app-theme .document-preview-controls a{border-radius:999px;min-height:44px;font-size:13px;font-weight:500}.app-theme .report-download{box-shadow:none;background:#ffffff70;border-color:#ffffffbc;padding:10px 18px}.app-theme .report-download:hover{background:#ffffffa6}.app-theme .payment-amount-summary strong{font-weight:400}@media (width<=700px){.app-theme .room-heading:has(.room-location-filters) .room-heading-actions>label{flex-basis:100%}}.app-theme .settings-card>header button:is(:hover,:active,:focus){color:var(--ink);background:0 0}.app-theme .bill-preview-modal a.button{border-radius:999px}.app-theme .report-section{min-width:0}@media (width<=700px){.app-theme .report-columns{grid-template-columns:minmax(0,1fr)}.app-theme .report-section table{table-layout:fixed;min-width:0}.app-theme .report-section :is(th,td){white-space:normal;overflow-wrap:anywhere;padding:12px}.app-theme .report-section :is(th,td):last-child{white-space:nowrap;width:96px}.app-theme .report-section-heading{flex-wrap:wrap;gap:10px}}.app-theme .due-edit{flex:none;width:44px;height:44px;padding:0}.app-theme .modal-header .circle{width:44px;height:44px}.app-theme{--metro-gap:16px;--metro-padding:22px}.app-theme .workspace-main{min-width:0}.app-theme .workspace-main :is(.room-list,.status-cards,.overview-finance,.ledger-columns,.report-columns,.service-grid,.finance-summary,.admin-cards){gap:var(--metro-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.app-theme .workspace-main :is(.room-list,.status-cards,.overview-finance,.finance-summary,.admin-cards){align-items:stretch}.app-theme .settings-metro{column-count:3;column-gap:var(--metro-gap)}.app-theme .settings-metro .settings-card{margin-bottom:var(--metro-gap)}.app-theme .settings-metro .setup-form{grid-template-columns:minmax(0,1fr);gap:14px}.app-theme .workspace-main :is(.card,.room-item,.status-card){min-width:0}.app-theme .workspace-main :is(.card:not(.settings-card):not(.table-wrap),.room-item,.status-card){padding:var(--metro-padding)}.app-theme .workspace-main h3{font-size:18px;font-weight:400;line-height:1.5}.app-theme .workspace-main p{line-height:1.7}.app-theme .workspace-main .field-label{margin-bottom:6px;font-size:14px;line-height:1.5}.app-theme .workspace-main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:15px;font-weight:400;line-height:1.5}.app-theme .workspace-main :is(input:not([type=checkbox]):not([type=radio]),select){height:44px;min-height:44px;padding:9px 14px}.app-theme .workspace-main select{border-radius:16px;padding-right:36px}.app-theme .workspace-header select{border-radius:999px}.app-theme .workspace-main .overview-bottom{gap:var(--metro-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.app-theme .overview-bottom>.overview-room-card{grid-column:span 2}.app-theme .monthly-tasks .cards{gap:var(--metro-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.app-theme .service-grid{margin-top:20px}.app-theme .service-right{display:contents}.app-theme .service-grid .service-history{grid-column:auto}.app-theme .service-payment{text-align:left;flex-direction:column;gap:14px;display:flex}.app-theme .service-payment label{text-align:left}.app-theme .service-payment p{margin:0}.app-theme .service-pricing{border-bottom:1px solid var(--line);gap:12px;padding-bottom:16px;display:grid}.app-theme .service-grid .card>header{margin-bottom:16px}.app-theme .service-grid .auth-form{gap:16px}.app-theme .service-grid .table-wrap{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0}.app-theme .service-grid :is(th,td){white-space:normal;overflow-wrap:anywhere;padding:10px 8px;font-size:13px}.app-theme .service-qr{padding:12px 0}.app-theme .service-qr img{width:min(220px,100%)}.app-theme .ledger-summary dl{grid-template-columns:1fr auto;gap:10px;margin:20px 0;display:grid}.app-theme .ledger-summary dd{margin:0}.app-theme .report-columns>.report-section:last-child{grid-column:1/-1}.app-theme .report-section :is(th,td){white-space:normal;overflow-wrap:anywhere}.app-theme .report-section table{min-width:0}.app-theme .room-list .row-actions,.app-theme .status-cards .row-actions,.app-theme .room-list .room-badges,.app-theme .status-cards .room-badges{flex-wrap:wrap}@media (width<=1179px) and (width>=701px){.app-theme .workspace-main :is(.room-list,.status-cards,.overview-finance,.ledger-columns,.report-columns,.service-grid,.finance-summary,.admin-cards){grid-template-columns:repeat(2,minmax(0,1fr))}.app-theme .settings-metro{column-count:2}.app-theme .workspace-main .overview-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.app-theme .overview-bottom>.overview-room-card{grid-column:auto}.app-theme .overview-finance>.card:last-child,.app-theme .ledger-summary,.app-theme .service-history{grid-column:1/-1}}@media (width<=700px){.app-theme{--metro-gap:12px;--metro-padding:20px}.app-theme .workspace-main :is(.room-list,.status-cards,.overview-finance,.ledger-columns,.report-columns,.service-grid,.finance-summary,.admin-cards,.overview-bottom){grid-template-columns:minmax(0,1fr)}.app-theme .settings-metro{column-count:1}.app-theme .overview-bottom>.overview-room-card{grid-column:auto}.app-theme .monthly-tasks .cards{grid-template-columns:minmax(0,1fr)}.app-theme .workspace-main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.app-theme .workspace-main :is(input:not([type=checkbox]):not([type=radio]),select){height:48px;min-height:48px}.app-theme .workspace-header select{height:44px;min-height:44px;font-size:14px}}.app-theme .settings-metro{gap:var(--metro-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.app-theme .settings-metro .settings-card{margin:0;display:block}.app-theme .settings-metro .settings-layout-card{grid-column:1/-1}.app-theme .settings-layout-card .room-layout-list{max-height:440px;padding-right:6px;overflow-y:auto}.app-theme .service-payment>header{margin-bottom:0}.app-theme .settings-navigation :is(button,a):not(.selected){background:0 0;border-color:#0000;font-size:13px;font-weight:400}.app-theme .settings-navigation :is(button,a){min-height:44px;padding:10px 16px}@media (width<=1179px) and (width>=701px){.app-theme .settings-metro{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.app-theme .settings-metro{grid-template-columns:minmax(0,1fr)}.app-theme .settings-layout-card .room-layout-list{max-height:none;overflow:visible}}.app-theme .room-heading .room-heading-actions>label{flex:0 300px;width:300px;max-width:100%}.app-theme .room-heading .room-heading-actions input[type=search]{width:100%}.app-theme .workspace-main input[type=search]{max-width:320px}@media (width>=1180px){.app-theme .workspace-main :is(.room-list,.status-cards){grid-template-columns:repeat(4,minmax(0,1fr))}.app-theme :is(.room-item,.status-card){padding:18px}.app-theme :is(.room-list,.status-cards) .card-top{flex-wrap:wrap;align-items:flex-start;gap:10px}}@media (width<=700px){.app-theme .overview-counts{grid-template-columns:minmax(0,1fr);display:grid}.app-theme .room-heading .room-heading-actions>label{flex:0 100%;width:100%;max-width:320px}.app-theme .room-heading .room-heading-actions input[type=search]{max-width:100%}.app-theme .workspace-main :is(.room-list,.status-cards){grid-template-columns:minmax(0,1fr)}}.app-theme .room-heading .room-heading-actions{justify-content:flex-start}.app-theme :is(.room-list,.status-cards) :is(.card-top,.room-top){flex-wrap:nowrap;align-items:center;gap:12px;display:flex}.app-theme :is(.room-list,.status-cards) :is(.card-top,.room-top)>h3{flex:none;margin:0}.app-theme :is(.room-list,.status-cards) .room-badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0}.app-theme :is(.room-list,.status-cards) .room-badges :is(.building-badge,.floor-badge,.badge){white-space:nowrap;padding:4px 6px;font-size:10px;line-height:1.5}.app-theme .settings-metro .settings-grid>.settings-save.full{order:99;grid-column:1/-1}.required-empty{box-shadow:0 0 0 1px #c53e3e;border-color:#c53e3e!important}@media (prefers-reduced-motion:no-preference){.app-theme :is(.room-item,.status-card) .room-number{transition:transform .24s ease-in-out}.app-theme :is(.room-item,.status-card):is(:focus-within,:active) .room-number{transform:scale(1.22)}@media (hover:hover){.app-theme :is(.room-item,.status-card):hover .room-number{transform:scale(1.22)}}}@media (width<=1179px),(width>=1440px){.app-theme :is(.room-list,.status-cards) .room-badges :is(.building-badge,.floor-badge,.badge){font-size:11px}}.app-theme :is(button:not(.room-tile):not(.settings-fold),a.button,.card-action,.back-overview),.auth-shell button{justify-content:center;align-items:center;gap:6px;line-height:1.5;display:inline-flex}.app-theme .settings-fold{line-height:1.5}.app-theme .service-price-table{border-collapse:collapse;width:100%;min-width:0}.app-theme .service-price-table caption{text-align:left;padding-bottom:12px;font-size:15px}.app-theme .service-price-table th{text-align:left;color:var(--muted);font-weight:400}.app-theme .service-price-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.app-theme .service-price-table :is(th,td){border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.app-theme .room-map-header{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px;display:grid}.app-theme .room-map-header h3{margin:0}.app-theme .room-map-header p{margin:4px 0 0}.app-theme .room-map-header>.circle{width:44px;height:44px;min-height:44px}.app-theme .room-map-controls{grid-column:1/-1;justify-content:flex-start;align-items:flex-start;gap:8px 16px;width:100%;max-width:none}.app-theme .room-map-options{gap:6px}.app-theme .room-map-options button{padding:6px 12px;line-height:1.5}.app-theme .pending-bills>.card-top{align-items:flex-start;gap:12px;min-height:44px}.app-theme .pending-bills>.card-top h3{margin:0}.app-theme .room-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-theme .room-selection-actions .row-actions{gap:8px;margin:0}.app-theme .room-selection-actions .delete-rooms{color:#a83737;border-color:#a8373740}@media (width<=700px){.app-theme .room-map-controls{gap:10px}.app-theme .room-selection-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.app-theme .room-selection-actions>.row-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.app-theme .room-selection-actions button{width:100%;padding-inline:10px}}.app-theme :is(.billing-heading,.meters-heading) .room-heading-actions{flex:0 auto;justify-content:flex-end;width:auto;max-width:100%;margin-left:auto}.app-theme .ledger-entry{align-items:flex-start}.app-theme .ledger-entry-amount{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.app-theme .ledger-entry-amount .text-link{min-height:32px;color:var(--muted);margin:0;padding:4px 0;font-size:12px;line-height:1.5}.app-theme .monthly-tasks .notice{text-align:right;margin:12px 0 0;padding:0}.app-theme .monthly-task{border:1px solid #0000;padding:12px}.app-theme .monthly-task.current-task{background:#3979600d;padding-left:14px}@media (hover:hover){.app-theme .monthly-task:hover{background:#39796015;border-color:#39796040}.app-theme .monthly-task:hover>.circle{color:#fff;background:#397960;border-color:#397960}.app-theme .ledger-entry-amount .text-link:hover{color:#a83737;text-underline-offset:4px;text-decoration:underline}}.app-theme .monthly-task:focus-visible{outline-offset:3px;outline:2px solid #397960}@media (prefers-reduced-motion:no-preference){.app-theme .monthly-task,.app-theme .monthly-task>.circle{transition:background-color .2s,border-color .2s,color .2s}}@media (width<=700px){.app-theme :is(.billing-heading,.meters-heading) .room-heading-actions{width:100%}.app-theme :is(.billing-heading,.meters-heading) .room-heading-actions>label{max-width:none}.app-theme :is(.billing-heading,.meters-heading) .room-heading-actions input[type=search]{max-width:100%}.app-theme .ledger-entry-amount .text-link{min-height:44px}}.app-theme .ledger-summary .net-ring{margin:12px auto 16px}.app-theme .ledger-summary>.ledger-total{text-align:center}.app-theme .overview-ledger .ledger-columns{align-items:stretch}.app-theme .overview-ledger .ledger-columns>.card{flex-direction:column;display:flex}.app-theme .overview-ledger .ledger-summary>.card-action{align-self:flex-start;margin-top:auto}.app-theme .field-hint{color:var(--muted);margin-top:5px;font-size:12px;font-weight:400;line-height:1.65;display:block}.app-theme .settings-report .report-section.card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff6e;border:1px solid #fffc;border-radius:26px;padding:22px}.app-theme .settings-report .report-columns{align-items:stretch;gap:16px}.app-theme .report-section-heading{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.app-theme .report-section-heading h3{margin:0;font-size:19px;font-weight:400}.app-theme .report-section-heading>strong{font-size:21px;font-weight:500}.app-theme .report-section-heading>button{grid-column:1/-1;justify-self:end}.app-theme .settings-report .table-wrap{scrollbar-width:thin;max-height:460px;overflow:auto}.app-theme .settings-report table th{font-size:12px;font-weight:500}.app-theme .settings-report table td{padding:14px 8px;font-size:14px}.app-theme .settings-report table td strong{font-weight:500;display:block}.app-theme .settings-report .amount{text-align:right;font-variant-numeric:tabular-nums}.app-theme .tax-summary dl{gap:0;margin:20px 0}.app-theme .tax-summary :is(dt,dd){border-bottom:1px solid #174f401a;padding:14px 0;font-size:14px}.app-theme .tax-summary h3{font-size:19px;font-weight:400}.app-theme .settings-report .report-download{background:#ffffff80;border:1px solid #fffc;border-radius:999px;min-height:44px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1.5}.app-theme .settings-report .report-download:hover{background:#3979601f}@media (width<=700px){.app-theme .settings-report .report-section.card{padding:18px}.app-theme .report-toolbar{flex-direction:column;align-items:stretch;gap:12px}.app-theme .report-toolbar .row-actions{grid-template-columns:1fr 1fr;display:grid}.app-theme .settings-report .report-download{min-height:48px;padding:8px 10px;font-size:12px}}.app-theme .monthly-tasks .workspace-top{align-items:flex-start;gap:16px}.app-theme .task-guidance{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.65}.app-theme .task-completion{white-space:nowrap;background:#ffffff59;border:1px solid #ffffffb3;border-radius:999px;padding:7px 12px;font-size:12px}.app-theme .monthly-tasks .overview-progress{border-block:1px solid #174f4017;gap:20px;margin:18px 0;padding:14px 0}.app-theme .monthly-tasks .overview-progress>div{flex-wrap:wrap;gap:6px 10px}.app-theme .monthly-tasks .overview-progress span{min-width:0}.app-theme .monthly-tasks .overview-progress strong{margin-left:auto;font-size:12px;font-weight:500}.app-theme .monthly-tasks .overview-progress progress{background:#174f4014;border:0;border-radius:999px;flex-basis:100%;order:3;height:5px;overflow:hidden}.app-theme .monthly-tasks progress::-webkit-progress-bar{background:#174f4014;border-radius:999px}.app-theme .monthly-tasks progress::-webkit-progress-value{background:linear-gradient(90deg,#397960,#174f40);border-radius:999px}.app-theme .monthly-tasks progress::-moz-progress-bar{background:linear-gradient(90deg,#397960,#174f40);border-radius:999px}.app-theme .task-next{color:#397960;margin-top:4px;font-size:11px;font-weight:500;display:block}.app-theme .private-field-preview{width:100%;min-height:44px;color:var(--ink);background:#ffffff80;border:1px solid #fffc;border-radius:16px;padding:10px 14px;justify-content:space-between!important}.app-theme .private-field-preview>span{letter-spacing:4px;font-size:20px;line-height:1}.app-theme .private-field-preview>small{color:var(--muted);font-size:11px}.app-theme .private-field-hide{min-height:32px;color:var(--muted);background:0 0;margin-top:3px;padding:4px 0;font-size:12px;justify-content:flex-end!important}.app-theme .private-field-preview:hover{background:#3979601a}@media (width<=700px){.app-theme .private-field-preview{min-height:48px}.app-theme .task-completion{padding:6px 9px}}.app-theme .workspace-main .monthly-tasks.card{padding:16px 20px}.app-theme .monthly-tasks .workspace-top{margin-bottom:6px}.app-theme .monthly-tasks .workspace-top>div{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.app-theme .monthly-tasks h3,.app-theme .monthly-tasks .task-guidance{margin:0}.app-theme .monthly-tasks .overview-progress{border:0;gap:12px;margin:10px 0;padding:0}.app-theme .monthly-tasks .cards{gap:8px;margin:0}.app-theme .monthly-tasks .monthly-task{gap:8px;min-height:60px;padding:8px 10px}.app-theme .monthly-tasks .monthly-task p{margin:3px 0 0;font-size:12px}.app-theme .monthly-tasks .monthly-task .circle{width:32px;min-width:32px;height:32px}.app-theme .monthly-tasks .task-next{margin-left:6px;font-size:10px;display:inline}.app-theme .monthly-tasks .notice{margin-top:6px;font-size:11px}.app-theme .private-field-preview>span{white-space:nowrap;text-overflow:ellipsis;letter-spacing:2px;text-align:left;flex:1;min-width:0;overflow:hidden}.app-theme .private-field-preview>small{flex-shrink:0}.app-theme .settings-charge-stack{flex-direction:column;align-self:start;gap:16px;min-width:0;display:flex}.app-theme .settings-metro .settings-charge-stack .settings-card{margin:0}@media (width<=700px){.app-theme .workspace-main .monthly-tasks.card{padding:16px}.app-theme .monthly-tasks .overview-progress{gap:8px}.app-theme .monthly-tasks .task-completion{font-size:11px}.app-theme .monthly-tasks .overview-progress>div{flex-wrap:nowrap;gap:8px}.app-theme .monthly-tasks .overview-progress span{min-width:76px;font-size:12px}.app-theme .monthly-tasks .overview-progress progress{flex:auto;order:0;width:auto}.app-theme .monthly-tasks .overview-progress strong{text-align:right;order:1;min-width:34px;margin:0}}.app-theme .tutorial-layer{z-index:70;pointer-events:none;position:fixed;inset:0}.app-theme .tutorial-card{pointer-events:auto}.app-theme .sidebar>.sidebar-logout{justify-content:center;align-items:center;gap:5px;min-height:44px;margin-top:auto;padding:8px;font-size:12px;display:flex}.app-theme .account-menu summary>span{margin-left:6px}.app-theme .account-menu>div{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f9fbf8f7;border:1px solid #ffffffe6;border-radius:20px;padding:8px}.app-theme .account-menu>div button{min-height:44px;margin:3px 0}.app-theme .tutorial-spotlight{z-index:70;pointer-events:none;border:2px solid #397960;border-radius:24px;position:fixed;box-shadow:0 0 0 9999px #0c20183d}.app-theme .tutorial-card{z-index:90;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#f8fbf7f7;border:1px solid #ffffffe6;border-radius:24px;width:350px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 110px);padding:20px;position:fixed;bottom:24px;right:24px;overflow:auto;box-shadow:0 18px 60px #0c20182e}.app-theme .tutorial-top{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.app-theme .tutorial-top>span:nth-child(2){margin-left:auto}.app-theme .tutorial-top>button{width:32px;min-height:32px;padding:0}.app-theme .tutorial-card h3{margin:12px 0 6px;font-size:20px;font-weight:400}.app-theme .tutorial-card p{margin:0;font-size:13px;line-height:1.65}.app-theme .tutorial-card .tutorial-state{color:#397960;margin-top:8px;font-size:12px}.app-theme .tutorial-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.app-theme .tutorial-actions button{min-height:44px;padding:9px 16px}.app-theme .tutorial-logout{width:100%;min-height:36px;color:var(--muted);background:0 0;padding:6px 0 0;font-size:11px}.app-theme [data-guide]{scroll-margin-top:20px}@media (width<=700px){.app-theme .sidebar>.sidebar-logout{display:none!important}.app-theme .tutorial-card{border-radius:22px;width:calc(100vw - 28px);padding:16px;bottom:82px;right:14px}.app-theme .tutorial-card h3{font-size:18px}.app-theme .tutorial-card p{font-size:12px}.app-theme .tutorial-actions{margin-top:10px}.app-theme .tutorial-actions button{min-height:44px}.app-theme.tutorial-active .workspace-main{padding-bottom:420px}}.bill-print-page .document-sheet.receipt-a4{color:#242b27;border-radius:4px;padding:40px 42px}.invoice-editorial{flex-direction:column;min-height:930px;font-size:12px;line-height:1.55;display:flex}.invoice-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.invoice-heading h1{margin:0;font-size:28px;font-weight:600;line-height:1.3}.invoice-editorial .invoice-kicker{color:#397960;letter-spacing:4px;margin:6px 0 0;font-size:11px;font-weight:500}.invoice-identity{text-align:right;justify-items:end;gap:5px;max-width:46%;display:grid}.invoice-identity img{object-fit:contain;object-position:right;width:74px;height:46px}.invoice-identity strong{font-size:15px;font-weight:500}.invoice-identity small{color:#6c746e}.invoice-reference{grid-template-columns:150px 1fr;gap:4px 12px;margin:0;font-size:11px;display:grid}.invoice-reference dt{font-weight:500}.invoice-editorial dd{margin:0}.invoice-parties{grid-template-columns:1fr 1fr;gap:36px;margin:22px 0;display:grid}.invoice-editorial h2{color:#6c746e;margin:0 0 5px;font-size:11px;font-weight:500}.invoice-parties strong{font-weight:500}.invoice-editorial p{margin:3px 0;font-size:12px}.invoice-line-items{table-layout:fixed;border-collapse:collapse;width:100%}.invoice-line-items .invoice-col-index{width:5%}.invoice-line-items .invoice-col-quantity{width:12%}.invoice-line-items .invoice-col-rate{width:19%}.invoice-line-items .invoice-col-amount{width:20%}.document-sheet .invoice-line-items th,.document-sheet .invoice-line-items td{color:#242b27;vertical-align:top;background:0 0;border:0;padding:9px 8px;font-size:11px}.document-sheet .invoice-line-items th{color:#6c746e;border-bottom:1.5px solid #397960;font-weight:500}.document-sheet .invoice-line-items td:nth-child(n+3),.document-sheet .invoice-line-items th:nth-child(n+3){text-align:right;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}.invoice-line-items small{color:#6c746e;margin-top:3px;font-size:10px;display:block}.invoice-line-items tbody{border-bottom:1px solid #d6dad7}.invoice-summary{break-inside:avoid;grid-template-columns:1fr 49%;align-items:start;gap:24px;margin:15px 0 24px;display:grid}.invoice-editorial .invoice-status{color:#397960;margin:8px 0;font-size:11px}.invoice-summary dl{grid-template-columns:1fr auto;margin:0;display:grid}.invoice-summary dt,.invoice-summary dd{border-bottom:1px solid #d6dad7;padding:7px 0}.invoice-summary dd{text-align:right;font-variant-numeric:tabular-nums}.invoice-summary .invoice-grand-total{color:#242b27;border-bottom:0;font-size:12px;font-weight:600}.invoice-payment{break-inside:avoid;border-top:1.5px solid #242b27;grid-template-columns:1fr auto;gap:28px;padding:12px 0;display:grid}.invoice-payment h2{color:#242b27;font-weight:500}.invoice-payment h2 small{color:#6c746e;margin-left:6px;font-size:9px;font-weight:400}.invoice-payment dl{grid-template-columns:85px 1fr;gap:5px 12px;margin:12px 0;font-size:11px;display:grid}.invoice-payment dt{color:#6c746e}.invoice-editorial .invoice-payment-note{color:#6c746e;margin-top:14px;font-size:10px}.invoice-qr-block{text-align:center;width:126px}.invoice-qr-block .document-qr{width:118px;margin:0 auto}.invoice-qr-block p{font-size:9px}.invoice-receipt-note{break-inside:avoid;justify-content:space-between;gap:24px;margin:22px 0;display:flex}.invoice-signature{text-align:center;gap:6px;width:210px;padding-top:30px;display:grid}.invoice-signature>span{border-bottom:1px solid #b3bbb6}.invoice-signature strong{font-weight:400}.invoice-footnote{color:#6c746e;border-top:1px solid #d6dad7;justify-content:space-between;gap:16px;margin-top:auto;padding-top:12px;font-size:9px;display:flex}@media (width<=600px){.bill-print-page .document-sheet.receipt-a4{width:calc(100% - 20px);padding:24px 18px}.invoice-editorial{min-height:840px}.invoice-heading h1{font-size:23px}.invoice-identity strong{font-size:12px}.invoice-parties{gap:18px}.document-sheet .invoice-line-items th,.document-sheet .invoice-line-items td{padding:8px 3px;font-size:10px}.invoice-line-items .invoice-col-rate{width:20%}.invoice-line-items .invoice-col-amount{width:22%}.invoice-summary{grid-template-columns:1fr;gap:4px}.invoice-payment{gap:12px}.invoice-qr-block{width:90px}.invoice-qr-block .document-qr{width:86px}.invoice-reference{grid-template-columns:115px 1fr}}@media print{.bill-print-page .document-sheet.receipt-a4{border:0;border-radius:0;width:100%;padding:0}.invoice-editorial{min-height:260mm}.invoice-heading,.invoice-parties{break-inside:avoid}.invoice-line-items thead{display:table-header-group}.invoice-footnote{padding-top:8px}}.print-toolbar{justify-content:flex-end;align-items:center;gap:10px;width:min(794px,100% - 32px);margin:28px auto 16px}.print-toolbar label{align-items:center;gap:10px;font-size:12px;display:flex}.print-toolbar select{border-radius:12px;width:100px;height:40px;min-height:40px;padding:0 12px;font-size:13px}.print-toolbar button{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;line-height:1;display:inline-flex}.print-toolbar .print-primary{color:#fff;background:#242824;border:1px solid #242824}.print-toolbar .print-primary:hover{background:#353b35}.print-toolbar button:focus-visible{outline-offset:3px;outline:2px solid #397960}.invoice-reference dd,.invoice-parties>div:last-child{text-align:right}.invoice-address{overflow-wrap:anywhere}@media (width<=600px){.print-toolbar{flex-wrap:wrap;gap:8px;width:calc(100% - 20px);margin-top:18px}.print-toolbar label{gap:6px;margin-right:auto}.print-toolbar button{padding:0 12px;font-size:12px}.print-toolbar select{width:80px}.print-toolbar>span{flex-basis:100%;font-size:12px}}@media print{.print-toolbar{display:none}}
