@font-face{font-family:Gmarket;src:url('/fonts/GmarketSansTTFMedium.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:Gmarket;src:url('/fonts/GmarketSansTTFBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--signal:#ffd400;--ink:#17191c;--muted:#62676f;--line:#dedfdc;--wash:#f7f7f3;--error:#9c2828;font-family:Gmarket,'Malgun Gothic',sans-serif;color:var(--ink);background:#fff;font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.75}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;min-height:44px;min-width:44px;padding:10px 17px;border:1px solid var(--line);background:#fff;border-radius:4px;line-height:1.5}button:hover{background:#f1f1eb}button:disabled{cursor:wait;opacity:.55}.primary{background:var(--signal);border-color:var(--signal);color:#111;font-weight:700}.primary:hover{background:#f3ca00}.danger{color:var(--error)}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #343941;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #a6aaa8;background:white;border-radius:4px;min-height:48px;padding:11px 13px}textarea{min-height:114px;resize:vertical;line-height:1.9}input[type=range]{padding:0}input[type=checkbox]{width:22px;min-height:22px}label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.field{min-width:0}.field small{display:block;margin-top:6px}.muted,small{color:var(--muted)}small{font-size:12px}.skip{position:fixed;left:16px;top:-100px;background:var(--signal);padding:12px;z-index:100}.skip:focus{top:12px}.loading{padding:80px 6vw}.topbar{display:flex;align-items:center;gap:30px;justify-content:space-between;min-height:88px;padding:16px clamp(22px,4vw,72px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:19px;font-weight:700}.brand:before{content:'';width:12px;height:12px;background:var(--signal);flex-shrink:0}.topmeta{font-size:12px;color:var(--muted);text-align:right}.appbody{max-width:1680px;margin:auto;padding:32px clamp(22px,4vw,72px) 72px}.navigation{display:flex;gap:32px;border-bottom:1px solid var(--line);margin-bottom:42px;overflow-x:auto}.navbutton{border:0;border-radius:0;padding:14px 4px;flex-shrink:0;background:none;position:relative}.navbutton.active:after{content:'';height:4px;position:absolute;background:var(--signal);bottom:0;left:0;right:0}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.06em;margin-bottom:8px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}.pagehead h1{font-size:30px;line-height:1.45;letter-spacing:-.04em;margin:0 0 10px}.pagehead p{margin:0;color:var(--muted)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions input[type=month]{width:180px}.section{margin-top:38px;border-top:1px solid var(--line);padding-top:26px}.section h2{font-size:19px;line-height:1.55;margin:0 0 20px}.section h3{font-size:15px;margin:0 0 12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;gap:24px}.metric:not(:first-child){border-left:1px solid var(--line);padding-left:24px}.metric .label{font-size:12px;color:var(--muted);margin-bottom:10px}.metric .value{font-size:clamp(19px,1.65vw,28px);line-height:1.5;font-weight:700;white-space:nowrap;letter-spacing:-.04em}.metric .unit{font-size:12px;font-weight:400;margin-left:5px}.metric .detail{font-size:12px;color:var(--muted);margin-top:8px}.notice{padding:16px 0;background:transparent;border-top:1px solid var(--line);margin:22px 0;line-height:1.9}.notice p{margin:0}.error{color:var(--error);margin:12px 0}.empty{padding:52px 24px;text-align:center;background:var(--wash);border:1px solid var(--line)}.empty h2{font-size:21px;margin:0 0 12px}.empty p{color:var(--muted);margin:0 0 24px}.tablewrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:12px;color:var(--muted);font-weight:500;text-align:left;background:var(--wash)}th,td{border-bottom:1px solid var(--line);padding:16px 12px;vertical-align:middle}td small{display:block}td.number,th.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rowname{font-weight:700;min-width:118px}.status{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.status:before{content:'';width:6px;height:6px;border:1px solid #686c71;border-radius:50%}.status.final:before{background:#24282c}.rowactions{display:flex;gap:7px;flex-wrap:wrap}.rowactions button{font-size:12px;padding:8px 11px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.span2{grid-column:1/-1}.formfoot{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.formfoot p{margin:0;font-size:12px;color:var(--muted)}.calcrow{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.calcrow small{display:block;margin-bottom:4px}.calcrow strong{font-size:18px}.calcrow.total{font-weight:700}.moneyinput{font-size:22px;text-align:right;padding-right:20px}.subheading{font-size:12px;color:var(--muted);letter-spacing:.04em}.bankline{font-size:13px;overflow-wrap:anywhere}.bankline strong{margin-right:8px}.flow{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;margin:18px 0 30px;color:var(--muted)}.flow b{color:var(--ink)}.profilelist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.profilerow{padding:25px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center;justify-content:space-between}.profilerow h2{font-size:18px;margin:0 0 5px}.watchrow{display:grid;grid-template-columns:220px 1fr 190px;gap:28px;align-items:center;border-bottom:1px solid var(--line);padding:26px 0}.watchrow h2{font-size:17px;margin:0 0 3px}.track{height:6px;background:#ededeb;margin:12px 0}.track span{display:block;height:100%;background:var(--signal);max-width:100%}.watchamount{text-align:right;font-size:21px}.authwrap{max-width:500px;margin:10vh auto;padding:32px 28px}.authwrap h1{font-size:30px;margin:38px 0 14px}.authwrap p{color:var(--muted);margin:0 0 30px}.authwrap .primary{width:100%;margin-top:24px}.appfooter{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:52px;padding-top:24px}.appfooter strong{color:var(--ink)}#toast{position:fixed;z-index:1000;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:#202226;color:#fff;padding:14px 22px;box-shadow:0 4px 20px #0002;display:none;line-height:1.75}dialog{border:1px solid var(--line);border-radius:6px;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:30px;overflow:auto}dialog.wide{width:min(1050px,calc(100vw - 32px))}dialog::backdrop{background:#17191c80}.dialoghead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.dialoghead h2{margin:0;font-size:21px}.dialoghead button{font-size:20px;padding:4px 13px}.sharetext{min-height:200px;font-size:13px}.linkinput{font-family:monospace;font-size:12px}.previewtoolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 0;margin-bottom:16px}.zoom{display:flex;align-items:center;gap:12px}.zoom input{width:125px;min-height:44px}.paperstage{background:#eeefec;padding:22px;overflow:auto}.paper{background:#fff;color:#17191c;width:794px;min-height:1123px;padding:45px 48px;margin:auto;transform-origin:top left;box-shadow:0 1px 6px #0001;font-size:12px;line-height:1.85}.paperheader{display:flex;justify-content:space-between;border-bottom:4px solid var(--signal);padding-bottom:25px;margin-bottom:28px;gap:25px}.paperheader h1{font-size:26px;margin:10px 0 0;line-height:1.5}.paperheader .paperstatus{text-align:right}.paper h2{font-size:16px;margin:0 0 14px}.paper .recipient{margin:25px 0}.paper .recipient strong{font-size:20px}.paper th,.paper td{padding:13px 11px;font-size:12px}.paper .statementsection{margin-top:26px;break-inside:avoid}.paper .payment{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding:15px 0;gap:20px}.paper .payment .amount{font-size:20px;white-space:nowrap;font-weight:700}.paper .paperbottom{margin-top:27px;border-top:1px solid var(--line);padding-top:23px}.paper p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;line-height:1.9}.paper .messageblock{margin:18px 0;break-inside:avoid}.paper .messageblock b{font-size:12px}.paper .opnotice{font-size:11px;line-height:1.9;margin-top:20px;color:#44494e}.paper .opnotice b{display:block;font-size:12px;color:var(--ink);margin-top:14px}.publicpage{max-width:1100px;margin:auto;padding:28px 24px 70px}.publicpage .paperstage{border:1px solid var(--line)}.publictitle h1{font-size:24px;margin:0}.publictitle p{color:var(--muted)}.checkrow{display:flex;gap:12px;align-items:flex-start;margin:20px 0}.checkrow label{font-size:13px;font-weight:400;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1200px){.tablewrap table{min-width:1040px}}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-left:0;padding-left:0}.split{gap:30px}.watchrow{grid-template-columns:180px 1fr}.watchamount{grid-column:2;text-align:left}.pagehead{align-items:flex-start}.pagehead h1{font-size:27px}}
@media(max-width:820px){.split{grid-template-columns:1fr}.pagehead{flex-direction:column;gap:22px}.actions{width:100%}.navigation{gap:24px;margin-bottom:30px}.topbar{gap:20px}.topmeta{max-width:200px}.profilelist{grid-template-columns:1fr}.watchrow{grid-template-columns:1fr;gap:8px}.watchamount{grid-column:auto;text-align:left}.paperstage{padding:12px}.tablewrap .desktopdetail{display:none}.tablewrap table{min-width:740px}}
@media(max-width:480px){.topbar{padding:18px 20px;align-items:flex-start}.brand{font-size:16px}.topmeta{max-width:120px;font-size:12px}.appbody{padding:25px 20px 50px}.navigation{gap:21px}.navbutton{font-size:13px}.pagehead h1{font-size:25px}.pagehead p{font-size:13px}.metrics{gap:22px 12px;padding:22px 0}.metric:not(:first-child){padding-left:12px}.metric:nth-child(3){padding-left:0}.metric .value{font-size:18px}.metric .label,.metric .detail{font-size:12px}.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.formfoot{flex-direction:column;align-items:stretch}.calcrow{gap:10px;grid-template-columns:1fr 1fr}.calcrow>div:first-child{grid-column:1/-1}.calcrow strong{font-size:18px}.notice{padding:14px 15px;font-size:12px}.actions input[type=month]{flex:1;width:155px;min-width:140px}.actions button{flex-grow:1}.profilerow{align-items:flex-start}.publicpage{padding:20px 16px 50px}.publictitle h1{font-size:21px}dialog{padding:22px 18px}.dialoghead h2{font-size:18px}.previewtoolbar .actions{width:auto}.appfooter{line-height:1.95}.topbar button{font-size:12px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@page{size:A4 portrait;margin:12mm}
@media print{body>*{display:none!important}body.printing>#app,body.printing>dialog[open]{display:block!important}body.printing #app>*{display:none!important}body.printing #app>.publicpage{display:block!important}.publicpage>*:not(.paperstage),dialog>*:not(.paperstage){display:none!important}dialog{position:static!important;width:100%!important;max-height:none!important;border:0!important;padding:0!important;overflow:visible!important}.paperstage{padding:0!important;background:#fff!important;overflow:visible!important;max-height:none!important;height:auto!important}.paper{width:100%!important;min-height:0!important;padding:0!important;transform:none!important;zoom:1!important;box-shadow:none!important;font-size:10pt}.paperheader{break-after:avoid}.paper th,.paper td{font-size:10pt}button,#toast{display:none!important}.paper .opnotice{font-size:9pt}}

/* Preserve explicit comparison controls during concurrent edits. */
.conflictcompare{max-width:100%;overflow-x:auto}.conflictcompare table{table-layout:fixed;min-width:580px}.conflictcompare th,.conflictcompare td{vertical-align:top;text-align:left;white-space:normal}.conflictcompare th:first-child{width:23%}.conflictvalue{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}.conflictactions{margin-top:24px;justify-content:flex-end}.versionwarning{break-inside:avoid;color:#17191c}
.checkrow{align-items:center;min-height:44px}.checkrow input[type=checkbox]{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;margin:0;accent-color:#17191c}.checkrow label{min-height:44px;display:flex;align-items:center;flex:1;padding:8px 0;cursor:pointer}
@media(max-width:480px){.topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.topbar>.brand{grid-column:1/-1;display:block;min-width:0;line-height:1.6;overflow-wrap:anywhere}.topbar>.brand:before{display:inline-block;margin-right:10px;vertical-align:middle}.topbar>.brand .muted{display:inline-block;white-space:nowrap;margin-left:8px}.topbar>.actions{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:nowrap}.topbar .topmeta{max-width:none;text-align:left;min-width:0}.topbar .actions button{flex-grow:0;flex-shrink:0}.conflictactions{align-items:stretch;flex-direction:column}}
@media print{.paper .versionwarning{display:block!important;background:#fff!important;border:2px solid #17191c!important;padding:10px!important;margin:14px 0!important}}

/* Resident account and approval workflow. */
.authroles{display:flex;gap:12px;margin-top:34px;border-bottom:1px solid var(--line);padding-bottom:14px}.authroles button{flex:1;background:white;border:0;border-radius:0;border-bottom:4px solid transparent}.authroles button[aria-pressed=true]{border-bottom-color:var(--signal);font-weight:700}.authwrap .authroles+h1{margin-top:25px}.authwrap .field+.field{margin-top:22px}.accessmeta{font-size:12px;overflow-wrap:anywhere}.profilerow>.actions{width:auto;justify-content:flex-end}.revisiontag{display:block;width:fit-content;background:#fff5bf;padding:3px 8px;font-size:12px;margin-top:8px;white-space:normal}.status.closed:before,.status.confirmed:before{background:#17191c}.status.correction_requested:before{border-color:#9c2828;background:#9c2828}.paymentinputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.reviewheading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.reviewheading .revisiontag{margin:0}.reviewpayments>div{display:flex;justify-content:space-between;gap:22px;padding:14px 0;border-bottom:1px solid var(--line)}.reviewpayments strong{white-space:nowrap}.signedpreview{display:block;width:min(400px,100%);height:130px;background:#fff;border-bottom:1px solid var(--line);margin-top:14px}.messageblock p{white-space:pre-wrap;overflow-wrap:anywhere}.historyentry{border-bottom:1px solid var(--line);padding:20px 0}.historyentry>small{display:block}.historyentry p{font-size:13px;overflow-wrap:anywhere}summary{min-height:44px;cursor:pointer;padding:10px 0}.metric .value{white-space:normal;overflow-wrap:anywhere}.profilerow>div{min-width:0}.profilerow h2,.profilerow small{overflow-wrap:anywhere}
@media(max-width:820px){.paymentinputs{grid-template-columns:1fr}.profilerow>.actions{max-width:200px}}
@media(max-width:480px){.profilerow{flex-wrap:wrap}.profilerow>.actions{max-width:none;width:100%;justify-content:flex-start}.authwrap{margin:4vh auto}.authwrap h1{font-size:25px}.reviewpayments>div{align-items:flex-start;flex-wrap:wrap}.tablewrap table{min-width:790px}}

.skip:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.resident-app p,.resident-dialog p,.pagehead p{word-break:keep-all;overflow-wrap:anywhere}

.reference-link{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;line-height:1.8}

.split>section,.calcrow>div{min-width:0}.calcrow strong{overflow-wrap:anywhere}@media(max-width:480px){.split{grid-template-columns:minmax(0,1fr)}.calcrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.calcrow{grid-template-columns:minmax(0,1fr)}}

/* One statement table, separate marketing and bank details without repeated amounts. */
.paper .statement-finance{table-layout:fixed;width:100%}.paper .statement-finance th:first-child{width:9%}.paper .statement-finance th,.paper .statement-finance td{padding:11px 6px;font-size:11px;overflow-wrap:anywhere;white-space:normal}.paper .statement-finance small{font-size:10px}.paper .statement-total{font-weight:700;background:#f5f5f5}.paper .statement-bank{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.paper .statement-bank b{flex:0 0 108px}.paper .statement-bank span{overflow-wrap:anywhere;min-width:0}.paper .statement-marketing{border-top:1px solid var(--line);padding-top:14px}.paper .statement-confirmation .notice{margin:0;padding:12px}.paper .statement-confirmation .signedpreview{max-height:90px}.payment-group{padding:12px 0;border-top:1px solid var(--line);line-height:1.9}.payment-group small{display:block}.payment-group[data-payment-group=marketing]{margin-top:12px}
@media print{.paper .statement-finance th,.paper .statement-finance td{font-size:8.5pt;padding:9px 5px}.paper .statement-finance small{font-size:8pt}.paper .statement-bank{font-size:9pt}.paper .statement-bank b{flex-basis:95px}}

/* Annual editing and store-collected customer payments. */
.annual-edit{display:block;margin:16px 0 0 auto;font-size:13px}.annual-month-row{display:grid;grid-template-columns:140px 1fr auto;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.annual-month-row>div:first-child{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.annual-month-row small{display:block}.collection-summary{padding:18px 0;margin:18px 0;border-top:2px solid var(--signal)}.collection-summary h3{font-size:17px}.collection-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0}.collection-values dt{font-size:12px;color:var(--muted)}.collection-values dd{font-size:18px;font-weight:700;margin:5px 0;overflow-wrap:anywhere}.collection-note{white-space:pre-wrap;overflow-wrap:anywhere}.paper .collection-values{gap:12px}.paper .collection-values dd{font-size:13px}.paper .collection-values dt{font-size:10px}.paper .collection-note{font-size:11px}
@media(max-width:820px){.annual-month-row{grid-template-columns:1fr auto;gap:12px}.annual-month-row>div:first-child{grid-column:1/-1}.collection-values{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-edit{margin-left:0}}
@media(max-width:480px){.annual-month-row{grid-template-columns:1fr}.annual-month-row button{justify-self:start}.collection-values{grid-template-columns:1fr}.collection-values dd{font-size:19px}}

#dialogTitle{word-break:keep-all;overflow-wrap:anywhere}

.paper .collection-payment-values{grid-template-columns:repeat(3,minmax(0,1fr))}

.calcrow.total>div:first-child>strong{display:block;margin-top:4px}

.collection-sales-grid{grid-template-columns:1fr}[data-return-preview] strong{display:block;font-size:22px;margin-top:6px}

/* Payment directions share one flat summary; no vertical accent borders. */
.transfer-summary{margin-top:4px}.transfer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.transfer-row>div{min-width:0}.transfer-row small{display:block;margin-top:5px}.transfer-row strong{overflow-wrap:anywhere}.transfer-row .transfer-amount{font-size:19px;white-space:nowrap}.transfer-summary+.notice{border-top:0;margin-top:0}
@media(max-width:480px){.transfer-row{grid-template-columns:1fr;gap:8px}.transfer-row .transfer-amount{font-size:20px}}
