:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#323232;background:#f6f6f6;font-synthesis:none;--ink:#333333;--muted:#828282;--line:#e8e8e8;--brand:#656565;--accent:#e2e2e2;--sidebar:#2f2f2f;--red:#b5554e;--amber:#ad7c32}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:var(--brand)}button:focus-visible,a:focus-visible{outline:3px solid #c5c5c5;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #cbcbcb;border-color:#7e7e7e}button{transition:background .15s,transform .15s}svg{width:20px;height:20px;flex:none}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.25;font-weight:650}h2{font-size:17px;letter-spacing:-.35px;font-weight:650}h3{font-size:14px;font-weight:650}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.boot{display:grid;place-items:center;height:100vh;color:var(--brand)}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:#c1c1c1;position:fixed;top:0;bottom:0;width:238px;padding:29px 17px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 14px 28px}.brand-mark{display:grid;place-items:center;background:#414141;border:1px solid #5a5a5a;border-radius:11px;width:42px;height:46px;color:#e3e3e3}.brand-mark svg{width:30px;height:30px}.brand strong{font-size:23px;letter-spacing:2px;color:#fff;font-weight:650}.brand small{display:block;font-size:9px;letter-spacing:1.65px;margin-top:3px;color:#cccccc}.nav-caption{font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#959595;padding:18px 17px 10px}.nav-link{display:flex;gap:12px;align-items:center;width:100%;background:transparent;border:0;color:#c6c6c6;padding:12px 16px;margin:3px 0;border-radius:7px;text-align:left;font-size:13px;font-weight:500}.nav-link svg{width:18px;height:18px}.nav-link:hover{background:#3d3d3d;color:#fff}.nav-link.active{background:#e0e0e0;color:#353535;font-weight:650}.nav-link .count{margin-left:auto;background:#4b4b4b;padding:2px 7px;border-radius:5px;font-size:11px;color:#dddddd}.nav-link.active .count{color:#434343;background:#cdcdcd}.sidebar-bottom{margin-top:auto;padding:22px 13px 0;border-top:1px solid #434343}.local-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#dadada}.dot{width:6px;height:6px;background:#cccccc;border-radius:100%;display:inline-block}.sidebar-bottom p{font-size:11px;line-height:1.6;color:#979797;margin:7px 0 0 13px}.main-shell{grid-column:2;min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.breadcrumbs{font-size:12px;color:#9f9f9f;display:flex;align-items:center;gap:12px}.breadcrumbs b{font-weight:500;color:#5e5e5e}.top-tools{display:flex;align-items:center;gap:18px}.search-box{display:flex;align-items:center;gap:8px;color:#979797}.search-box input{border:0;width:170px;font-size:12px;background:none;padding:8px 0;outline:none}.search-box kbd{font:10px inherit;border:1px solid var(--line);padding:3px 5px;border-radius:4px}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e9e9e9;color:#5a5a5a;font-weight:600;font-size:12px}.top-user{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:17px}.top-user strong{font-size:11px;display:block;font-weight:600}.top-user small{font-size:10px;color:var(--muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:6px;padding:7px;color:#7c7c7c}.icon-btn:hover{background:#f0f0f0;color:var(--ink)}.icon-btn svg{width:17px;height:17px}.content{padding:31px 35px 32px;max-width:1660px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#8c8c8c;font-weight:650;margin-bottom:8px;text-transform:uppercase}.subheading{font-size:12px;color:#8d8d8d;margin-top:8px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:1px solid #e2e2e2;background:#fff;color:#4a4a4a;padding:10px 14px;border-radius:7px;font-size:12px;font-weight:600;min-height:38px}.btn svg{width:16px;height:16px}.btn:hover{background:#f6f6f6}.btn.primary{background:#484848;color:white;border-color:#484848}.btn.primary:hover{background:#5a5a5a}.btn.danger{color:#a6453f;background:#fff3f0;border-color:#f1d7d0}.btn.link{border-color:transparent;background:none;padding:6px 0;color:#6a6a6a;min-height:0}.btn.sm{padding:6px 9px;font-size:11px;min-height:30px}.flex{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.demo-bar{border:1px solid #e6e6e6;background:#f2f2f2;border-radius:7px;padding:10px 14px;font-size:11px;color:#777777;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.demo-bar .flex{gap:8px}.demo-bar svg{width:15px;height:15px}.demo-bar button{border:0;background:none;color:#5d5d5d;font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.workspace-pill{display:flex;align-items:center;gap:6px;border:1px solid #e3e3e3;background:#f8f8f8;padding:6px 9px;border-radius:5px;color:#747474;font-size:10px;font-weight:600}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 19px 16px;position:relative}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#858585;margin-bottom:18px}.metric-icon{background:#f3f3f3;padding:7px;border-radius:7px;color:#8b8b8b;display:flex}.metric-icon svg{width:17px;height:17px}.metric-value{font-size:27px;letter-spacing:-1px;font-weight:650;color:#3c3c3c;line-height:1.2;font-variant-numeric:tabular-nums}.metric-value small{font-size:12px;font-weight:500;letter-spacing:0;color:#969696;margin-left:5px}.metric-foot{font-size:10px;color:#959595;margin-top:11px}.metric-foot .green{color:#7b7b7b}.metric:first-child{background:#414141;color:white;border-color:#414141}.metric:first-child .metric-value{color:#f3f3f3}.metric:first-child .metric-top{color:#cecece}.metric:first-child .metric-icon{background:#535353;color:#d4d4d4}.metric:first-child .metric-foot{color:#bdbdbd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:21px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 22px 16px}.panel-head p{margin-top:5px;font-size:11px;color:#999999}.panel-body{padding:4px 22px 22px}.segmented{padding:3px;border:1px solid #e9e9e9;border-radius:6px;display:inline-flex;background:#f7f7f7}.segmented button{border:0;background:transparent;padding:5px 10px;border-radius:4px;font-size:10px;font-weight:600;color:#8e8e8e}.segmented button.active{background:#fff;color:#5c5c5c;box-shadow:0 1px 4px #31313112}.legend{display:flex;gap:16px;align-items:center;font-size:10px;color:#949494}.legend .key{width:7px;height:7px;display:inline-block;border-radius:2px;margin-right:6px;background:#888888}.legend .key.light{background:#dadada}.chart{height:191px;margin:10px 0 0;display:grid;grid-template-columns:38px 1fr;gap:9px}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:24px;font-size:9px;color:#aaaaaa}.chart-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#efefef 39px,#efefef 40px);margin-bottom:23px}.chart-column{display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative}.bar{width:22px;max-width:32%;background:#8b8b8b;border-radius:3px 3px 0 0;min-height:1px}.bar.light{background:#dedede}.chart-column>small{position:absolute;bottom:-21px;color:#909090;font-size:10px}.chart-column .bar:hover{filter:brightness(.9)}.chart-foot{border-top:1px solid #efefef;display:flex;justify-content:space-between;padding-top:13px;margin-top:8px;font-size:10px;color:#939393}.alert-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #f1f1f1}.alert-row:last-child{border-bottom:0}.alert-icon{padding:9px;background:#f5f2e7;border-radius:7px;color:#a99158;display:flex}.alert-icon svg{width:17px;height:17px}.alert-row strong{display:block;font-size:12px;font-weight:600;color:#505050;margin-bottom:5px}.alert-row p{font-size:10px;color:#939393;line-height:1.5}.alert-row .badge{margin-left:auto}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:500;color:#7f7f7f;background:#f2f2f2}.badge.amber{background:#fbf3e1;color:#a2823d}.badge.red{background:#fbefec;color:#ad6860}.badge.gray{background:#f1f1f1;color:#949494}.badge.blue{background:#eaf1f3;color:#678a91}.badge.purple{background:#f0edf7;color:#8a77a4}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;background:#fbfbfb;color:#949494;font-size:10px;font-weight:550;border-bottom:1px solid var(--line);border-top:1px solid #efefef;padding:11px 20px}td{padding:14px 20px;border-bottom:1px solid #f0f0f0;font-size:12px;color:#777777}tr:last-child td{border-bottom:0}td strong{color:#535353;font-size:12px;font-weight:600}td .sub{display:block;font-size:10px;color:#9d9d9d;margin-top:4px}.right{text-align:right}.table-link{border:0;padding:0;background:none;color:#656565;font-size:12px;text-align:left;font-weight:600}.table-link:hover{text-decoration:underline}.person-cell{display:flex;align-items:center;gap:10px}.initials{width:32px;height:32px;border-radius:7px;background:#f0f0f0;color:#898989;font-weight:600;font-size:10px;display:grid;place-items:center}.table-bottom{padding:14px 20px;border-top:1px solid #efefef;display:flex;justify-content:space-between;font-size:10px;color:#9d9d9d}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;flex-wrap:wrap}.filters{display:flex;gap:8px;align-items:center}.filters input,.filters select{padding:9px 11px;background:white;border:1px solid var(--line);border-radius:6px;color:#757575;font-size:12px;min-height:37px}.filters input{width:240px}.tabs{display:flex;gap:22px;border-bottom:1px solid #e6e6e6;margin-bottom:20px;overflow-x:auto}.tabs button{border:0;background:none;border-bottom:2px solid transparent;padding:5px 0 13px;font-size:12px;color:#9b9b9b;white-space:nowrap}.tabs button.active{border-color:#747474;color:#575757;font-weight:600}.units-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.unit-card{padding:19px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;color:inherit}.unit-card:hover{border-color:#bbbbbb;box-shadow:0 4px 18px #3f3f3f08}.unit-card .unit-number{font-size:23px;letter-spacing:-.7px;font-weight:600;color:#4b4b4b}.unit-card .unit-meta{display:flex;justify-content:space-between;margin:18px 0 15px;font-size:11px;color:#959595}.unit-card .unit-client{padding-top:13px;border-top:1px solid #efefef;font-size:11px;color:#7a7a7a;display:flex;align-items:center;gap:6px}.unit-card .unit-client svg{width:14px;height:14px}.empty{text-align:center;padding:52px 22px;color:#959595;white-space:normal}.empty svg{width:36px;height:36px;color:#b9b9b9;margin-bottom:12px}.empty h3{color:#676767;margin-bottom:7px}.empty p{font-size:12px;line-height:1.7;max-width:420px;margin:0 auto 18px}.page-foot{margin-top:23px;display:flex;justify-content:space-between;font-size:10px;color:#a2a2a2;gap:15px}.page-foot span{display:flex;align-items:center;gap:6px}.page-foot svg{width:12px;height:12px}.occupancy-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;margin:16px 0}.space-block{height:34px;border-radius:5px;background:#f2f2f2;display:grid;place-items:center;color:#9f9f9f;font-size:10px}.space-block.occupied{background:#e1e1e1;color:#767676}.space-block.maintenance{background:#faefda;color:#b0955e}.space-block.reserved{background:#e9edf6;color:#8c93b1}.compact-stats{display:flex;gap:22px;margin:15px 0;font-size:12px;color:#979797}.compact-stats b{color:#595959;margin-right:4px}.notice{padding:13px 15px;border:1px solid #e9e9e9;background:#f9f9f9;border-radius:7px;font-size:12px;color:#898989;line-height:1.7;margin-bottom:18px}.notice.warn{background:#fdf8ed;border-color:#ede1c6;color:#9b814b}.notice.error{background:#fff0ed;border-color:#f1d3cb;color:#aa594e}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:21px}.stack{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#7a7a7a;font-weight:550}.field input,.field select,.field textarea{width:100%;border:1px solid #e4e4e4;border-radius:6px;padding:10px 11px;background:#fff;color:#464646;font-size:13px;min-height:39px}.field textarea{min-height:82px;resize:vertical}.field small{font-size:10px;font-weight:400;color:#9b9b9b;line-height:1.5}.full{grid-column:1/-1}.checkline{display:flex;gap:8px;align-items:center;font-size:12px;color:#808080}.checkline input{accent-color:#636363}.check-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;border:1px solid #e6e6e6;padding:10px;border-radius:7px;max-height:140px;overflow:auto}.check-grid label{font-size:11px;display:flex;align-items:center;gap:5px;color:#797979}.check-grid input{accent-color:#636363}.divider{height:1px;background:#e9e9e9;margin:20px 0}.modal-overlay{position:fixed;inset:0;background:#2525256b;backdrop-filter:blur(3px);z-index:80;display:flex;align-items:center;justify-content:center;padding:25px}.modal{width:650px;max-width:100%;background:#fff;border-radius:12px;box-shadow:0 25px 90px #1e1e1e40;max-height:92vh;display:flex;flex-direction:column}.modal.wide{width:940px}.modal-head{padding:23px 26px 19px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #ebebeb}.modal-head p{font-size:11px;color:#9f9f9f;margin-top:6px}.modal-content{overflow:auto;padding:23px 26px;min-height:0}.modal-foot{padding:16px 26px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #ebebeb;background:#fafafa;border-radius:0 0 12px 12px}.form-error{color:#b0584e;background:#fff1ed;padding:12px;margin-top:17px;border-radius:6px;font-size:12px;line-height:1.6}.form-error:empty{display:none}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin:19px 0 25px}.detail small{font-size:10px;display:block;color:#9c9c9c;margin-bottom:6px}.detail strong{font-size:13px;color:#606060;font-weight:550}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.allocation-row{display:grid;grid-template-columns:1fr auto 110px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:12px}.allocation-row input{padding:8px;border:1px solid #e4e4e4;border-radius:5px;width:100%;text-align:right}.allocation-row small{font-size:10px;color:#9b9b9b;display:block;margin-top:4px}.payment-summary{padding:15px;background:#f3f3f3;border:1px solid #e4e4e4;border-radius:7px;color:#6a6a6a;display:flex;justify-content:space-between;font-size:12px;margin:16px 0}.document-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #efefef;font-size:12px}.invoice-sheet{padding:15px 8px}.invoice-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.invoice-top h2{font-size:19px;color:#434343;max-width:340px;line-height:1.5}.invoice-top p{font-size:11px;color:#909090;margin-top:5px;line-height:1.5}.invoice-totals{margin:20px 0 20px auto;max-width:300px}.invoice-totals>div{display:flex;justify-content:space-between;padding:8px;font-size:12px}.invoice-totals .total{font-weight:650;background:#f1f1f1;color:#606060;padding:14px 8px;font-size:15px}.invoice-note{font-size:10px;color:#909090;border-top:1px solid #e8e8e8;padding-top:15px;line-height:1.6}.timeline-row{padding:15px 20px;border-bottom:1px solid #efefef;display:flex;align-items:flex-start;gap:14px}.timeline-dot{background:#eeeeee;border-radius:50%;padding:8px;display:flex;color:#969696}.timeline-dot svg{width:15px;height:15px}.timeline-row strong{font-size:12px;color:#676767}.timeline-row p{font-size:11px;color:#9a9a9a;margin-top:5px;line-height:1.6}.timeline-row time{font-size:10px;color:#a4a4a4;margin-left:auto;white-space:nowrap}.timeline-row details{font-size:11px;color:#8e8e8e;margin-top:6px}.timeline-row pre{max-width:650px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;background:#f7f7f7;padding:10px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#353535;color:#f1f1f1;padding:60px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art .brand{padding:0}.login-art h1{font-size:46px;line-height:1.15;font-weight:450;letter-spacing:-1.8px;max-width:430px}.login-art h1 em{font-style:normal;color:#d3d3d3}.login-art p{font-size:14px;color:#b7b7b7;line-height:1.8;max-width:380px;margin-top:20px}.building-art{height:230px;display:flex;align-items:flex-end;gap:9px;margin-top:35px;opacity:.8;transform:skewY(-6deg)}.building-art span{display:block;width:21%;border:1px solid #7a7a7a;background:repeating-linear-gradient(0deg,transparent 0,transparent 22px,#71717133 22px,#71717133 24px),repeating-linear-gradient(90deg,transparent 0,transparent 25px,#71717133 25px,#71717133 27px);height:80%}.building-art span:nth-child(2){height:100%}.building-art span:nth-child(3){height:66%}.building-art span:nth-child(4){height:47%}.login-main{display:flex;align-items:center;justify-content:center;padding:40px}.login-form{max-width:360px;width:100%}.login-form h2{font-size:27px;color:#4a4a4a;margin-bottom:9px}.login-form>p{font-size:12px;color:#969696;line-height:1.6;margin-bottom:30px}.login-form .field{margin-bottom:18px}.login-form .btn{width:100%;margin-top:5px}.login-hint{font-size:11px;line-height:1.8;color:#949494;border-top:1px solid #e4e4e4;margin-top:30px;padding-top:20px}.login-hint code{color:#767676;font-family:inherit}#toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%) translateY(20px);background:#444444;color:white;padding:13px 22px;border-radius:8px;box-shadow:0 8px 30px #2c2c2c26;z-index:150;font-size:12px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#toast.error{background:#a05448}.menu-toggle{display:none}.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.report-stat{padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}.report-stat small{display:block;font-size:10px;color:#9b9b9b;margin-bottom:10px}.report-stat strong{font-size:22px;font-weight:600;color:#5e5e5e}.onboard{padding:32px;background:#f6f6f6;border:1px solid #e5e5e5;border-radius:10px;margin-bottom:22px}.onboard h2{font-size:21px;margin-bottom:10px;color:#5d5d5d}.onboard p{font-size:12px;color:#8c8c8c;line-height:1.8;max-width:660px}.onboard .flex{margin-top:22px}.onboard-step{display:flex;align-items:center;gap:8px;font-size:12px;color:#787878}.onboard-step b{padding:7px 10px;background:#eaeaea;border-radius:5px;color:#818181}.search-results{display:grid;gap:8px}.search-result{padding:12px 14px;background:#f8f8f8;border:1px solid #e9e9e9;border-radius:6px;text-align:left;display:flex;justify-content:space-between;align-items:center;color:#727272}.search-result small{font-size:10px;color:#9f9f9f}.no-print{}.print-only{display:none}
@media(min-width:1500px){.content{padding:35px 45px}.topbar{padding:0 45px}.metrics{gap:22px}.metric{padding:22px 24px}.metric-value{font-size:32px}.chart{height:216px}.dashboard-grid{grid-template-columns:1.8fr 1fr}}
@media(max-width:1150px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.app-shell{grid-template-columns:205px minmax(0,1fr)}.content{padding:26px 24px}.topbar{padding:0 24px}.top-user div:not(.avatar){display:none}.search-box input{width:140px}.dashboard-grid{grid-template-columns:1.4fr 1fr}.metrics{gap:10px}.metric{padding:15px}.metric-value{font-size:23px}.metric-top{font-size:10px}.units-grid{grid-template-columns:repeat(3,1fr)}.nav-link{font-size:12px;padding-left:13px}.brand{padding-left:12px}.brand strong{font-size:21px}.top-tools{gap:10px}td,th{padding-left:14px;padding-right:14px}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.search-box{display:none}.units-grid{grid-template-columns:repeat(2,1fr)}.report-stats{grid-template-columns:repeat(2,1fr)}.login-art{padding:35px}.login-art h1{font-size:34px}.login-main{padding:30px}}
@media(max-width:650px){.app-shell{grid-template-columns:1fr}.main-shell{grid-column:1}.sidebar{transform:translateX(-100%);transition:.2s;width:235px}.sidebar.open{transform:translateX(0);box-shadow:10px 0 50px #1b1b1b33}.menu-toggle{display:inline-flex}.topbar{height:65px;padding:0 15px}.breadcrumbs{font-size:10px;gap:7px}.top-user{display:none}.content{padding:23px 16px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:19px}h1{font-size:25px}.page-heading>.flex{flex-wrap:wrap;justify-content:flex-end}.page-heading .btn{font-size:10px;padding:8px 9px}.page-heading .btn svg{display:none}.subheading{font-size:11px;max-width:240px}.demo-bar{font-size:10px;padding:10px}.demo-bar button{font-size:10px}.metrics{gap:10px}.metric{padding:14px}.metric-top{margin-bottom:12px;gap:3px}.metric-icon{padding:4px}.metric-value{font-size:24px}.metric-foot{font-size:9px;line-height:1.5}.panel-head{padding:18px 17px 14px}.panel-body{padding:0 17px 18px}.chart{height:170px}.chart-bars{gap:8px}.form-grid{grid-template-columns:1fr}.full{grid-column:1}.modal-overlay{padding:8px}.modal{max-height:97vh;border-radius:9px}.modal-content{padding:18px}.modal-head{padding:18px}.modal-foot{padding:13px 18px;flex-wrap:wrap}.check-grid{grid-template-columns:repeat(4,1fr)}.details-grid{grid-template-columns:repeat(2,1fr);gap:16px}.filters{flex-wrap:wrap}.filters input{width:190px}.page-foot{font-size:9px}.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-main{padding:30px 24px}.login-form{max-width:390px}.invoice-top{gap:20px}.invoice-top h2{font-size:15px}.invoice-top p{font-size:10px}.allocation-row{grid-template-columns:1fr auto 80px;gap:8px;font-size:11px}.timeline-row time{display:none}.top-tools{gap:8px}.onboard{padding:23px}.onboard .flex{flex-direction:column;align-items:flex-start}.occupancy-grid{grid-template-columns:repeat(6,1fr)}}
@media print{body{background:#fff;color:#111}.app-shell,#toast,.modal-head,.modal-foot,.no-print{display:none!important}.modal-overlay{position:static;display:block;padding:0;background:#fff;backdrop-filter:none}.modal{width:100%;max-width:none;max-height:none;box-shadow:none;display:block}.modal-content{overflow:visible;padding:0}.invoice-sheet{padding:10mm}.invoice-sheet td,.invoice-sheet th{font-size:10px;padding:10px}.invoice-sheet .badge{border:1px solid #aaa}.print-only{display:block}@page{size:A4;margin:12mm}}

/* PTEB identity: official website red, charcoal, white and neutral gray. */
:root{color:#333;background:#f7f7f7;--ink:#2a2a2a;--muted:#737373;--line:#e7e7e7;--brand:#da1b0c;--accent:#fff0ee;--sidebar:#242424}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:0 14px 20px}
.logo-frame{display:block;background:white;border-radius:3px;padding:6px 8px;line-height:0;max-width:192px}
.brand-logo{display:block;width:100%;max-width:176px;height:auto;object-fit:contain}
.brand small{font-size:9px;letter-spacing:2px;color:#bdbdbd;margin:0 0 0 2px}
.sidebar{color:#c5c5c5}
.nav-caption{color:#909090}
.nav-link{color:#c6c6c6}
.nav-link:hover{background:#343434}
.nav-link.active{background:#da1b0c;color:#fff}
.nav-link .count{background:#414141;color:#ddd}
.nav-link.active .count{background:#b71609;color:#fff}
.sidebar-bottom{border-color:#424242}
.local-label{color:#e1e1e1}
.sidebar-bottom p{color:#a1a1a1}
.dot{background:#da1b0c}
.btn.primary{background:#da1b0c;border-color:#da1b0c;color:#fff}
.btn.primary:hover{background:#bc180a;border-color:#bc180a}
.btn.link,.table-link{color:#ba1a0d}
.btn:hover{background:#f5f5f5}
button:focus-visible,a:focus-visible{outline-color:#e47369}
input:focus,select:focus,textarea:focus{outline-color:#f5b8b2;border-color:#da1b0c}
.avatar{background:#fff0ee;color:#bb1a0e}
.demo-bar{background:#f3f3f3;border-color:#e1e1e1;color:#696969}
.demo-bar button{color:#b51a0e}
.workspace-pill{background:#f8f8f8;border-color:#ddd;color:#555}
.metric-value{color:#2a2a2a}
.metric:first-child{background:#2a2a2a;border-color:#2a2a2a}
.metric:first-child .metric-value{color:#fff}
.metric:first-child .metric-top,.metric:first-child .metric-foot{color:#ccc}
.metric:first-child .metric-icon{background:#444;color:#fff}
.metric-icon{background:#fff0ee;color:#da1b0c}
.metric-foot .green{color:#666}
.legend .key,.bar{background:#da1b0c}
.legend .key.light,.bar.light{background:#bbb}
.tabs button.active{color:#b61a0e;border-color:#da1b0c}
.space-block.occupied{background:#fbe2de;color:#a62418}
.checkline input,.check-grid input{accent-color:#da1b0c}
.login-art{background:#242424;color:#fff}
.login-art .brand{gap:13px}
.login-art .logo-frame{padding:9px 12px;max-width:208px}
.login-art .brand-logo{max-width:184px}
.login-art h1 em{color:#ff6154}
.login-art p{color:#c3c3c3}
.login-form h2{color:#2a2a2a}
.login-hint code{color:#444}
.building-art span{border-color:#737373;background:repeating-linear-gradient(0deg,transparent 0,transparent 22px,#70707033 22px,#70707033 24px),repeating-linear-gradient(90deg,transparent 0,transparent 25px,#70707033 25px,#70707033 27px)}
.building-art span:nth-child(2){border-top:3px solid #da1b0c}
.mobile-login-logo{display:none}
.invoice-logo{width:156px;height:auto;display:block;margin-bottom:17px}
.invoice-top h2{color:#2a2a2a}
.invoice-totals .total{background:#f5f5f5;color:#2a2a2a;border-top:2px solid #da1b0c}
#toast{background:#2a2a2a}
@media(max-width:650px){.mobile-login-logo{display:block;margin-bottom:30px}.mobile-login-logo .logo-frame{padding:0;max-width:166px}.invoice-logo{width:125px}.sidebar .brand{padding-top:0}}
@media print{.invoice-logo{width:42mm}.invoice-totals .total{border-top-color:#da1b0c}}

/* Readable neutral secondary text across the administrative forms and tables. */
td{color:#626262}th{color:#6c6c6c}.subheading,.panel-head p,.panel-head .legend,.metric-top,.metric-foot,.chart-foot,.chart-column>small,.chart-axis,.page-foot,.table-bottom{color:#737373}
td .sub,.field small,.detail small,.alert-row p,.modal-head p,.login-form>p,.login-hint{color:#767676}

.sidebar{overflow-y:auto;padding-top:24px}.sidebar .brand{padding-bottom:14px}.sidebar .nav-caption{padding-top:14px}.sidebar .nav-link{padding-top:10px;padding-bottom:10px}.sidebar-bottom{padding-top:16px;flex-shrink:0}

/* MSeller preparation and connection */
.ecf-environments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.ecf-environments .panel{min-width:0}.ecf-environments h3{margin:16px 0 8px}.ecf-environments p{font-size:12px;line-height:1.65;color:#737373;margin-bottom:12px}.ecf-environments .flex{flex-wrap:wrap;gap:8px}.ecf-environment-active{border-color:#da1b0c!important}.ecf-key-field{padding:16px;border:1px solid #e5e5e5;border-radius:8px;min-width:0}.ecf-key-field>.flex{margin-bottom:12px}.ecf-key-field input{min-width:0}#ecf-production-confirm[hidden]{display:none!important}@media(max-width:1100px){.ecf-environments{grid-template-columns:1fr}.ecf-environments .panel-body{padding:18px}}
.ecf-notice{display:flex;gap:12px;align-items:flex-start}.ecf-notice strong{display:block;color:#333;margin-bottom:4px}.ecf-notice p{margin-top:3px}.ecf-notice>.badge{margin-left:auto}.ecf-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.ecf-checks{margin-bottom:20px}.ecf-check{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.ecf-check-icon{display:flex;background:#f3f3f3;color:#999;border-radius:6px;padding:8px;height:36px}.ecf-check-icon.complete{background:#fff0ee;color:#da1b0c}.ecf-check strong{font-size:12px;color:#3c3c3c}.ecf-check p{font-size:11px;margin-top:5px;color:#767676}.ecf-steps{padding-left:22px;margin:0 0 25px;color:#da1b0c}.ecf-steps li{padding:9px 0 12px 7px}.ecf-steps b{display:block;color:#393939;font-size:12px}.ecf-steps span{display:block;font-size:11px;color:#777;margin-top:5px;line-height:1.6}.ecf-json{background:#f6f6f6;border:1px solid #e5e5e5;padding:16px;border-radius:7px;font-size:11px;line-height:1.65;max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#333}.ecf-help{margin:18px 0;font-size:12px;line-height:1.75}.ecf-help summary{cursor:pointer;color:#ba1a0d;font-weight:600}.ecf-help p{margin-top:12px;color:#737373}.ecf-secret-status{padding:17px;background:#f7f7f7;border-radius:7px}.ecf-secret-status p{font-size:11px;color:#777;margin:7px 0 15px}.ecf-secret-status>.flex{padding:8px 0;font-size:12px}.ecf-tax-lines>div{display:grid;grid-template-columns:1fr 190px;gap:14px;align-items:center;border-bottom:1px solid #eee;padding:11px 0}.ecf-tax-lines strong{font-size:12px}.ecf-tax-lines p{font-size:11px;color:#777;margin-top:6px}.ecf-hash{overflow-wrap:anywhere;font-size:10px}@media(max-width:900px){.ecf-layout{grid-template-columns:1fr}}@media(max-width:650px){.ecf-notice{flex-wrap:wrap}.ecf-notice>.badge{margin-left:32px}.ecf-tax-lines>div{grid-template-columns:1fr}.ecf-tax-lines .field{max-width:none}}
/* Invoice checkout: financial and fiscal statuses stay visible together. */
.billing-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.billing-summary h3{margin:8px 0}.billing-summary p{color:var(--muted);font-size:13px}.billing-summary>div:last-child{display:grid;gap:10px;justify-items:end}.billing-summary strong{font-size:24px}.billing-lines>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line,#e1e5e9)}.billing-lines .field{min-width:180px}.billing-options{margin:18px 0}.billing-options>summary{cursor:pointer;font-weight:600;padding:10px 0}.billing-options .form-grid{margin-top:12px}.billing-invoice-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;background:#f3f7fa;border-radius:8px;margin-bottom:20px}.billing-invoice-bar small{display:block;margin-bottom:7px}.fiscal-status{text-align:left}.fiscal-status .badge{white-space:normal}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quick-actions .btn{justify-content:flex-start;padding:18px}.form-grid[hidden]{display:none}.billing-lines .sub{white-space:normal}.billing-options pre{max-height:260px;overflow:auto}
@media(max-width:650px){.billing-summary{align-items:flex-start}.billing-summary strong{font-size:20px}.billing-lines>div{display:block}.billing-lines .field{margin-top:12px}.billing-invoice-bar{flex-wrap:wrap}.quick-actions{grid-template-columns:1fr}.top-tools .btn.sm{padding:8px}}
.billing-lines .sub{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}.field[hidden]{display:none}
@media(max-width:650px){.topbar .breadcrumbs{display:none}.topbar .top-tools{gap:6px}.topbar{gap:10px}}
@media print{#billing-receipt>:not(.reference-scroll){display:none!important}}
.billing-quick-qr .reference-qr{width:105px;height:105px}.billing-quick-qr{flex:none;background:white;border:1px solid var(--line);padding:4px;border-radius:6px}
@media(max-width:650px){.billing-summary{flex-wrap:wrap}}
