@import url('https://fonts.googleapis.com/css2?family=Fira+GO:wght@400;500;600;700;800&display=swap');
:root { font-family: 'Fira GO', system-ui, sans-serif; color: #20322c; background: #f4f6f3; font-synthesis: none; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body, button, input, select { font-family: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
button, select { cursor: pointer; }
h1,h2,h3,p { margin-top: 0; }
h1:focus { outline: none; }
a { color: inherit; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.page-heading h1 { margin: 3px 0 6px; color: #172922; font-size: clamp(27px,3vw,36px); line-height: 1.18; letter-spacing: -.8px; }
.page-heading p { color: #7c8b86; margin: 0; font-size: 12px; }
.eyebrow { color: #7f8f89; font-size: 9px; line-height: 1; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.heading-actions { display:flex; align-items:center; gap:10px; }
.button { min-height: 40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 17px; border: 0; border-radius: 9px; text-decoration:none; font-size:11px; font-weight:750; transition:.18s ease; }
.button:hover { transform: translateY(-1px); }
.button.primary { color:#172922; background:#d9f36a; box-shadow:0 8px 20px rgba(152,174,67,.16); }
.button.ghost { color:#395048; background:white; border:1px solid #e0e6e2; }
.button.danger-ghost { color:#a25656;background:white;border:1px solid #ebcece; }.button.danger { color:white;background:#a95050; }
.button.dark { color:white; background:#193128; }
.button.small { min-height:35px; }
.button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.panel { background:white; border:1px solid #e4e9e5; border-radius:14px; box-shadow:0 8px 30px rgba(33,55,47,.035); }
.panel-header { min-height:73px; padding:19px 21px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #edf0ed; }
.panel-header.compact { min-height:66px; }
.panel-header h2 { margin:0 0 4px; font-size:15px; color:#20342d; }
.panel-header p { margin:0; font-size:10px; color:#94a09c; }
.text-link { color:#527365; text-decoration:none; font-size:10px; font-weight:750; }
.text-link span { color:#95b11e; margin-left:5px; }
.metric-grid { display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:14px; margin-bottom:16px; }
.metric-card { min-height:154px; padding:20px; border-radius:14px; background:white; border:1px solid #e5eae6; box-shadow:0 8px 25px rgba(32,54,46,.025); }
.metric-card.feature { color:white; border-color:#19342b; background:linear-gradient(135deg,#1f4136,#152c25); box-shadow:0 14px 30px rgba(19,43,35,.14); }
.metric-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.metric-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:#1b332b; background:#d9f36a; font-weight:800; }
.metric-icon.green { color:#318a60; background:#e6f5ec; }.metric-icon.amber { color:#b17a26; background:#fff2d8; }.metric-icon.blue { color:#4578a8; background:#e8f2fa; }
.trend { padding:5px 8px; border-radius:20px; font-size:8px; font-weight:700; }.trend.good { color:#d9f36a; background:rgba(217,243,106,.1); }
.mini-label { color:#9eaaa6; font-size:8px; }
.metric-label { display:block; color:#83908b; font-size:10px; margin-bottom:4px; }.feature .metric-label { color:#9eb1aa; }
.metric-card > strong { display:block; color:#1b2e27; font-size:31px; line-height:1.2; letter-spacing:-1px; }.metric-card.feature > strong { color:white; }
.metric-foot { display:flex; gap:7px; margin-top:14px; color:#8fa39b; font-size:8px; }
.progress { margin-top:15px; height:4px; background:#edf0ed; border-radius:10px; overflow:hidden; }.progress i { display:block; height:100%; background:#6fc393; border-radius:inherit; }.progress.amber i { background:#e2ad4e; }.progress.blue i { background:#6aa2d5; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:start; }
.right-stack { display:grid; gap:16px; }
.table-wrap { width:100%; overflow:auto; }
table { width:100%; border-collapse:collapse; }
th { padding:11px 16px; color:#91a09a; background:#fafbfa; border-bottom:1px solid #edf0ee; text-align:left; font-size:8px; letter-spacing:.55px; text-transform:uppercase; white-space:nowrap; }
td { padding:14px 16px; border-bottom:1px solid #eff2f0; color:#3a4d46; font-size:10px; vertical-align:middle; white-space:nowrap; }
tbody tr:last-child td { border-bottom:0; }
td strong,td small { display:block; }td strong { color:#263a33; font-size:10px; }td small { color:#99a49f; margin-top:3px; font-size:8px; }
td:first-child { display:flex; align-items:center; gap:9px; }
.unit-avatar { width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#edf2ee;color:#597067;font-size:10px;font-weight:800; }
.status { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:15px; font-size:8px; font-weight:700; }
.status::before { content:''; width:5px;height:5px;border-radius:50%;background:currentColor; }
.status.available,.status.published { color:#31865e;background:#e7f5ec; }.status.reserved { color:#ae7929;background:#fff2db; }.status.sold { color:#5378a0;background:#e9f1f8; }
.value-card { padding:21px; background:linear-gradient(150deg,#f1f7e9,#fff 60%); }
.value-card > strong { display:block;margin:10px 0 22px;color:#19332a;font-size:28px;letter-spacing:-.7px; }.value-card > strong small { font-size:10px;color:#708078; }
.value-row { display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid #e5ebe4;font-size:9px; }.value-row span { color:#8b9893; }.value-row b { color:#31483f;text-align:right;max-width:170px; }
.pricing-card { padding:19px; }.pricing-card header { display:flex;align-items:center;gap:11px; }.pricing-card h3 { margin:0 0 3px;font-size:12px; }.pricing-card p { margin:0;color:#929f9a;font-size:8px; }
.round-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#173028;color:#d9f36a;font-weight:800; }
.version-line { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:19px 0 13px;padding:11px;background:#f6f8f6;border-radius:8px;font-size:9px;font-weight:650; }
.rule-counts { display:flex;gap:22px;margin-bottom:18px;color:#8b9893;font-size:8px; }.rule-counts strong { color:#2a4138;font-size:14px;margin-right:3px; }.pricing-card .button { width:100%; }
.filter-panel { display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,170px);gap:10px;padding:12px;margin-bottom:14px; }
.search-box { height:40px;display:flex;align-items:center;border:1px solid #e0e5e1;border-radius:8px;background:#fafbfa;overflow:hidden; }.search-box > span { padding-left:12px;color:#809089;font-size:17px; }.search-box input { flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;padding:0 10px;font-size:10px; }.search-box button { height:30px;margin-right:5px;border:0;border-radius:6px;background:#233c33;color:white;padding:0 12px;font-size:9px; }
.filter-panel > select { height:40px;border:1px solid #e0e5e1;border-radius:8px;background:#fafbfa;padding:0 11px;color:#52655d;font-size:10px;outline:0; }
.icon-outline { height:34px;border:1px solid #dfe5e1;border-radius:7px;background:white;color:#60736b;font-size:9px;font-weight:650;padding:0 11px; }
.units-panel { overflow:hidden; }.units-table td { padding-top:13px;padding-bottom:13px; }.units-table .clickable { cursor:pointer;transition:.14s ease; }.units-table .clickable:hover { background:#fbfdf7; }.price-emphasis { color:#1f6d4e; }.row-menu { border:0;background:transparent;color:#81918b;font-weight:800; }
.drawer-backdrop { position:fixed;inset:0;background:rgba(12,26,21,.36);z-index:40;backdrop-filter:blur(2px); }
.detail-drawer { position:fixed;right:0;top:0;bottom:0;width:min(440px,95vw);z-index:50;background:#fff;box-shadow:-20px 0 60px rgba(8,24,17,.16);padding:27px;overflow:auto;animation:slideIn .22s ease-out; }
@keyframes slideIn { from { transform:translateX(30px);opacity:.5; } }
.detail-drawer > header { display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid #e8ece9; }.detail-drawer h2 { margin:5px 0 3px;font-size:24px; }.detail-drawer header p { margin:0;color:#8a9892;font-size:10px; }.detail-drawer header button { border:0;background:#f0f3f1;width:31px;height:31px;border-radius:8px;color:#6f7e78;font-size:17px; }
.drawer-price { margin:20px 0;padding:20px;border-radius:12px;color:white;background:linear-gradient(135deg,#1e4135,#152c25); }.drawer-price span,.drawer-price p { color:#9db0a8;font-size:9px; }.drawer-price strong { display:block;font-size:26px;margin:7px 0 2px; }.drawer-price strong small { font-size:10px;color:#d9f36a; }.drawer-price p { margin:0; }
.detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e7ece8;border:1px solid #e7ece8;border-radius:10px;overflow:hidden; }.detail-grid div { padding:14px;background:white; }.detail-grid span,.detail-grid strong { display:block; }.detail-grid span { color:#93a09b;font-size:8px;margin-bottom:5px; }.detail-grid strong { font-size:10px; }
.area-breakdown { margin-top:22px; }.area-breakdown h3 { font-size:11px; }.area-breakdown div { display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0ee;color:#77867f;font-size:10px; }.area-breakdown b { color:#283c34; }
.drawer-actions { position:sticky;bottom:-27px;margin:30px -27px -27px;padding:15px 27px;background:white;border-top:1px solid #e6ebe7;display:flex;justify-content:flex-end;gap:9px; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:12px; }.form-grid.three-columns { grid-template-columns:repeat(3,1fr); }.form-grid .wide { grid-column:1/-1; }.form-grid label span,.single-field span { display:block;color:#788780;font-size:9px;font-weight:650;margin-bottom:6px; }.form-grid input,.form-grid select,.single-field select { width:100%;height:40px;border:1px solid #dfe5e1;border-radius:8px;padding:0 10px;background:#fafbfa;font-size:10px;outline:0; }.form-grid input:focus,.form-grid select:focus,.single-field select:focus { border-color:#93ad35;box-shadow:0 0 0 3px rgba(160,187,55,.12); }.form-grid input:disabled { color:#9ba6a1;background:#f0f2f0;cursor:not-allowed; }.form-section-title { margin-top:22px;padding-bottom:8px;border-bottom:1px solid #e9edea;color:#263c33;font-size:10px;font-weight:750; }.single-field { display:block;margin-top:12px; }.field-hint { margin:8px 0 0;color:#8c9994;font-size:8px;line-height:1.5; }.check-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px; }.check-option { min-height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #e2e7e3;border-radius:8px;background:#fafbfa;color:#52675e;font-size:9px;cursor:pointer; }.check-option input { accent-color:#6f8c19; }.form-note { display:flex;gap:10px;margin-top:20px;padding:13px;border-radius:9px;background:#f2f7e8;color:#65725a; }.form-note span,.form-warning span { flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#d9f36a;font-size:9px;font-weight:800; }.form-note p,.form-warning p { margin:1px 0 0;line-height:1.5;font-size:9px; }.form-warning { display:flex;gap:10px;margin-top:17px;padding:12px;border-radius:9px;background:#fff2dc;color:#8f681f; }.form-warning span { color:white;background:#d49a37; }.form-error { margin-top:15px;padding:11px 13px;border-radius:8px;color:#9d4747;background:#fff0f0;border:1px solid #f1d3d3;font-size:9px;line-height:1.5; }.drawer-loading { display:grid;place-items:center; }.success-toast { display:flex;align-items:center;gap:9px;margin:-8px 0 17px;padding:11px 13px;border:1px solid #cee8d8;border-radius:10px;color:#2d7252;background:#edf8f1;font-size:10px;font-weight:600; }.success-toast > span { width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:white;background:#4da879; }.success-toast button { margin-left:auto;border:0;background:transparent;color:#609078;font-size:16px; }
.pricing-hero { display:flex;align-items:center;justify-content:space-between;padding:20px 23px;margin-bottom:15px;color:white;border-radius:14px;background:linear-gradient(115deg,#163027,#234b3e);box-shadow:0 14px 32px rgba(22,48,39,.13); }.pricing-hero > div { display:flex;align-items:center;gap:15px; }.version-badge { width:48px;height:48px;display:grid;place-items:center;border-radius:11px;background:#d9f36a;color:#1c342c;font-weight:850; }.pricing-hero h2 { margin:4px 0 3px;font-size:17px; }.pricing-hero p { margin:0;color:#9db0a8;font-size:9px; }
.pricing-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px;align-items:start; }.pricing-main,.pricing-aside { display:grid;gap:15px; }
.base-price-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:18px; }.base-price { display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #e7ebe8;border-radius:10px;background:#fbfcfb; }.property-glyph { width:33px;height:33px;display:grid;place-items:center;border-radius:8px;background:#e8efe9;color:#406154;font-weight:800; }.base-price small,.base-price strong { display:block; }.base-price small { color:#87958f;font-size:8px;margin-bottom:4px; }.base-price strong { font-size:15px; }.base-price i { color:#9aa59f;font-size:7px;font-style:normal;font-weight:500; }
.rule-row { display:grid;grid-template-columns:36px minmax(0,1fr) 140px 64px;gap:16px;align-items:center;padding:15px 20px;border-bottom:1px solid #edf0ee; }.rule-row:last-child { border-bottom:0; }.rule-order { width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#f0f3f1;color:#7a8983;font-size:9px;font-weight:750; }.rule-copy strong { font-size:10px; }.rule-copy p { margin:3px 0;color:#7f8d87;font-size:9px; }.rule-copy span { color:#a0aba7;font-size:8px; }.rule-amount { text-align:right;padding-right:8px; }.rule-amount small,.rule-amount strong,.rule-amount span { display:block; }.rule-amount small,.rule-amount span { color:#97a29e;font-size:7px; }.rule-amount strong { color:#40825f;font-size:15px;margin:2px 0; }
.formula-card { padding:20px;background:linear-gradient(160deg,#fff,#f5f8ee); }.formula-card h3 { margin:7px 0 17px;font-size:16px; }.formula { display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;text-align:center; }.formula span { padding:11px 5px;background:white;border:1px solid #e1e7e2;border-radius:8px;color:#53675e;font-size:8px;line-height:1.35; }.formula b { color:#9bb124; }.formula-result { margin-top:10px;padding:12px;border-radius:8px;background:#1d392f;color:white; }.formula-result span,.formula-result strong { display:block; }.formula-result span { color:#99aca4;font-size:7px;margin-bottom:4px; }.formula-result strong { font-size:9px; }.formula-card > p { margin:14px 0 0;color:#8b9993;font-size:8px;line-height:1.6; }
.history-card { padding:20px; }.history-card h3 { font-size:12px;margin-bottom:18px; }.history-item { display:flex;gap:10px;padding-bottom:16px;position:relative; }.history-item:not(:last-child)::before { content:'';position:absolute;left:4px;top:10px;bottom:0;width:1px;background:#e0e6e2; }.history-dot { width:9px;height:9px;border:2px solid #8ca621;background:white;border-radius:50%;z-index:1; }.history-item strong,.history-item small { display:block; }.history-item strong { font-size:9px; }.history-item small { color:#98a39f;font-size:8px;margin-top:3px; }
.pricing-hero.draft { background:linear-gradient(115deg,#3d4320,#59602a); }.pricing-hero.draft .version-badge { background:white; }.base-price.missing { border-color:#edd6b4;background:#fffaf1; }.empty-list { padding:32px;text-align:center;color:#94a09b;font-size:10px; }.rule-row.inactive { opacity:.55; }.rule-actions,.delete-confirm { display:flex;justify-content:flex-end;gap:4px; }.rule-actions button,.delete-confirm button { width:26px;height:26px;border:1px solid #e0e5e1;border-radius:6px;background:white;color:#6e8178;font-size:11px; }.delete-confirm { width:64px; }.delete-confirm button { width:auto;padding:0 6px;color:#9b5555;font-size:8px; }.empty-pricing { min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px; }.empty-pricing>span { width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#d9f36a;color:#274137;font-size:23px; }.empty-pricing h2 { margin:17px 0 7px;font-size:18px; }.empty-pricing p { max-width:430px;color:#81908a;font-size:10px;line-height:1.6; }.pricing-drawer,.preview-drawer { width:min(560px,96vw); }.rule-drawer { width:min(760px,97vw); }.price-edit-list { display:grid;gap:9px;margin-top:20px; }.price-edit-list label { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid #e4e9e5;border-radius:10px;background:#fafbfa; }.price-edit-list label span b,.price-edit-list label span small { display:block; }.price-edit-list label span b { color:#30463d;font-size:10px; }.price-edit-list label span small { margin-top:3px;color:#96a19d;font-size:8px; }.price-edit-list input { width:145px;height:38px;border:1px solid #dce3de;border-radius:8px;padding:0 10px;text-align:right;font-size:11px;outline:0; }.form-grid textarea { width:100%;min-height:70px;border:1px solid #dfe5e1;border-radius:8px;padding:10px;background:#fafbfa;font-size:10px;resize:vertical;outline:0; }.active-toggle { display:flex;align-items:center;gap:8px;margin-top:13px;color:#53675e;font-size:9px; }.active-toggle input { accent-color:#6f8c19; }.condition-title { display:flex;align-items:center;justify-content:space-between; }.condition-groups { display:grid;gap:0;margin-top:13px; }.condition-group { padding:13px;border:1px solid #e1e7e3;border-radius:10px;background:#fafbfa; }.condition-group>header { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }.condition-group>header strong { color:#42584f;font-size:9px; }.condition-group>header button { border:0;background:transparent;color:#aa6969;font-size:8px; }.condition-row { display:grid;grid-template-columns:1.25fr 1fr minmax(150px,1fr) 25px;gap:7px;margin-top:8px;align-items:start; }.condition-row select,.condition-row input { width:100%;height:37px;border:1px solid #dce3de;border-radius:7px;padding:0 8px;background:white;font-size:9px;outline:0; }.condition-values { display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:5px; }.remove-condition { height:37px;border:0;background:transparent;color:#a66d6d;font-size:14px; }.add-condition { margin-top:10px;border:0;background:transparent;color:#617a70;font-size:8px;font-weight:700; }.or-divider { height:34px;display:grid;place-items:center;position:relative; }.or-divider::before { content:'';position:absolute;left:0;right:0;height:1px;background:#e1e7e3; }.or-divider span { z-index:1;padding:4px 9px;border-radius:12px;background:#eef2ec;color:#72847c;font-size:8px;font-weight:800;text-transform:uppercase; }.preview-stats { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px; }.preview-stats div { padding:12px;border:1px solid #e4e9e5;border-radius:9px;background:#fafbfa; }.preview-stats small,.preview-stats strong { display:block; }.preview-stats small { color:#8b9993;font-size:7px; }.preview-stats strong { margin-top:4px;font-size:18px; }.preview-stats .bad { color:#9d4949;background:#fff5f5;border-color:#f0d7d7; }.preview-difference { display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:14px;border-radius:10px;background:#1c382e;color:white; }.preview-difference span { color:#a6b7b0;font-size:8px; }.preview-difference strong { font-size:15px; }.preview-list { max-height:330px;overflow:auto;margin-top:13px;border:1px solid #e4e9e5;border-radius:10px; }.preview-unit { display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #edf0ee; }.preview-unit:last-child { border-bottom:0; }.preview-unit span:last-child { text-align:right; }.preview-unit b,.preview-unit small { display:block; }.preview-unit b { color:#344a41;font-size:9px; }.preview-unit small { margin-top:3px;color:#94a09b;font-size:7px; }.preview-unit.invalid { background:#fff7f7; }.publish-note { display:block;margin-top:16px; }.publish-note>span { display:block;margin-bottom:6px;color:#687b72;font-size:9px;font-weight:650; }.publish-note textarea { width:100%;min-height:70px;border:1px solid #dfe5e1;border-radius:8px;padding:10px;font-size:9px;resize:vertical;outline:0; }
.draft-cancel-confirm { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-8px 0 17px;padding:14px 16px;border:1px solid #efd0d0;border-radius:11px;background:#fff7f7; }.draft-cancel-confirm strong { color:#793f3f;font-size:10px; }.draft-cancel-confirm p { margin:4px 0 0;color:#9a7070;font-size:8px; }.draft-cancel-confirm>div:last-child { display:flex;gap:8px;flex:0 0 auto; }
.coming-soon-page { min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }.coming-symbol { width:58px;height:58px;display:grid;place-items:center;border-radius:17px;color:#254236;background:#d9f36a;font-size:24px;margin-bottom:19px;box-shadow:0 12px 25px rgba(150,170,72,.2); }.coming-soon-page h1 { margin:8px 0 10px;font-size:34px; }.coming-soon-page p { max-width:540px;color:#778780;font-size:12px;line-height:1.7;margin-bottom:22px; }
.product-context { display:grid;grid-template-columns:170px 210px 170px minmax(260px,1fr);gap:1px;margin-bottom:16px;border:1px solid #e3e9e5;border-radius:12px;overflow:hidden;background:#e3e9e5; }.product-context>div,.product-context>p { margin:0;padding:14px 17px;background:white; }.product-context small,.product-context strong { display:block; }.product-context small { color:#8c9993;font-size:8px;margin-bottom:5px; }.product-context strong { color:#30473e;font-size:11px; }.product-context .active-date { background:#f2f7e8; }.product-context .active-date strong { color:#577018; }.product-context>p { color:#7b8983;font-size:8px;line-height:1.55; }
.product-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }.product-card { position:relative;overflow:hidden; }.product-card>header { display:flex;align-items:center;gap:12px;padding:19px;border-bottom:1px solid #edf0ee; }.product-card h2 { margin:4px 0 3px;font-size:15px; }.product-card header small { color:#96a29d;font-size:8px; }.product-card header>.status { margin-left:auto; }.product-symbol { width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#203d33;color:#d9f36a;font-size:17px;font-weight:800; }.product-figures { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#edf0ee; }.product-figures>div { padding:15px 19px;background:#fff; }.product-figures span,.product-figures strong { display:block; }.product-figures span { color:#8f9c97;font-size:8px;margin-bottom:5px; }.product-figures strong { color:#2e453c;font-size:13px; }.product-footer { display:flex;align-items:center;justify-content:space-between;padding:14px 19px;background:#fafbfa; }.product-footer>span { color:#8a9892;font-size:8px; }.product-footer b { display:block;color:#40564d;font-size:10px;margin-top:3px; }.product-footer>div { display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end; }.publish-strip { width:100%;height:36px;border:0;border-top:1px solid #e7dfb9;background:#fff9de;color:#7a6924;font-size:9px;font-weight:700;cursor:pointer; }.product-editor { width:min(620px,96vw); }.calculator-drawer { width:min(920px,98vw); }.calculator-banner { margin-top:17px;padding:12px 14px;border-radius:9px;background:#f2f7e8;color:#60724d;font-size:9px;line-height:1.5; }.calculate-cell { display:flex;align-items:flex-end; }.calculate-cell .button { width:100%;height:40px; }.calculation-result { margin-top:19px;border-top:1px solid #e7ece8;padding-top:18px; }.result-hero { padding:18px 20px;border-radius:12px;background:linear-gradient(135deg,#19382e,#254d3f);color:white; }.result-hero span,.result-hero strong,.result-hero p { display:block; }.result-hero span { color:#a7bbb3;font-size:8px; }.result-hero strong { margin:5px 0 2px;font-size:27px; }.result-hero strong small { color:#d9f36a;font-size:10px; }.result-hero p { margin:0;color:#a7bbb3;font-size:9px; }.result-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px; }.result-metrics>div { padding:12px;border:1px solid #e3e8e4;border-radius:9px;background:#fafbfa; }.result-metrics span,.result-metrics b { display:block; }.result-metrics span { color:#929e99;font-size:7px;margin-bottom:5px; }.result-metrics b { color:#30463d;font-size:11px; }.schedule-table { max-height:340px;overflow:auto;margin-top:12px;border:1px solid #e4e9e5;border-radius:10px; }.schedule-table td { padding:10px 13px;font-size:9px; }.schedule-table .mortgage-row { background:#eef5e9; }.schedule-table .mortgage-row td { color:#49651f; }.internal-note { margin:11px 0 0;padding:10px 12px;border-left:3px solid #a8bd45;background:#f7f9f2;color:#7e8b85;font-size:8px;line-height:1.55; }
.product-statuses { margin-left:auto;display:flex;align-items:flex-end;flex-direction:column;gap:5px; }.status.inactive { color:#5f6a79;background:#e8ebef; }.product-card.product-inactive { opacity:.78; }.product-card.product-inactive .product-symbol { background:#69737f;color:#fff; }
.loading-state,.error-state { min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#84928c;text-align:center; }.loading-state span { width:30px;height:30px;border:3px solid #e2e8e3;border-top-color:#7d9a2a;border-radius:50%;animation:spin .8s linear infinite; }.loading-state p { margin-top:13px;font-size:10px; }.error-state { padding:30px;border:1px solid #f0d4d4;background:#fff8f8;border-radius:12px;color:#9c4e4e; }.error-state p { margin:8px 0 0;font-size:10px; }
@keyframes spin { to { transform:rotate(360deg); } }
#blazor-error-ui { color-scheme:light;background:#fff3cd;bottom:0;box-shadow:0 -1px 4px rgba(0,0,0,.12);display:none;left:0;padding:.8rem 1.25rem;position:fixed;width:100%;z-index:1000;font-size:11px; } #blazor-error-ui .dismiss { cursor:pointer;position:absolute;right:.75rem; }
@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.pricing-layout{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.filter-panel{grid-template-columns:1fr 1fr}.base-price-grid{grid-template-columns:1fr 1fr}.product-context{grid-template-columns:repeat(3,1fr)}.product-context>p{grid-column:1/-1}.product-grid{grid-template-columns:1fr}}
@media(max-width:720px){.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%;flex-wrap:wrap}.metric-grid{grid-template-columns:1fr}.dashboard-grid{display:block}.right-stack{grid-template-columns:1fr;margin-top:15px}.filter-panel{grid-template-columns:1fr}.base-price-grid{grid-template-columns:1fr}.form-grid,.form-grid.three-columns{grid-template-columns:1fr}.profile{display:none}.pricing-hero{align-items:flex-start;gap:15px}.rule-row{grid-template-columns:32px 1fr 75px}.rule-row>.row-menu{display:none}.condition-row{grid-template-columns:1fr}.preview-stats{grid-template-columns:1fr 1fr}.product-context{grid-template-columns:1fr}.product-context>p{grid-column:auto}.product-figures,.result-metrics{grid-template-columns:1fr 1fr}.product-card>header{align-items:flex-start;flex-wrap:wrap}.product-card header .status{margin-left:0}}

/* C — Ink: high-contrast, data-first visual system. */
:root { color:#18202b; background:#f3f4f6; }
body { color:#18202b; background:#f3f4f6; }
.page-heading { margin-bottom:22px; }
.page-heading h1 { color:#111827; font-size:clamp(28px,3vw,38px); letter-spacing:-.65px; }
.page-heading p { color:#5c6675; font-size:13px; }
.eyebrow { color:#536173; font-size:10px; letter-spacing:1.15px; }
.panel { border-color:#d8dde5; border-radius:10px; box-shadow:0 2px 8px rgba(16,24,40,.045); }
.panel-header { min-height:70px; border-color:#e2e5ea; }
.panel-header h2 { color:#18202b; font-size:16px; }
.panel-header p { color:#667180; font-size:11px; }
.button { border-radius:6px; font-size:12px; font-weight:700; }
.button:hover { transform:none; filter:brightness(.97); }
.button.primary { color:#fff; background:#315efb; box-shadow:none; }
.button.dark { color:#fff; background:#18202b; }
.button.ghost { color:#273244; border-color:#cfd5dd; background:#fff; }
.button.danger-ghost { border-color:#e2bcbc; }
.icon-outline { height:36px; border-color:#cfd5dd; border-radius:5px; color:#334155; font-size:11px; background:#fff; }
.text-link { color:#315efb; font-size:11px; }
.text-link span { color:#315efb; }
.metric-card { border-color:#d9dee5; border-radius:10px; box-shadow:0 2px 7px rgba(15,23,42,.035); }
.metric-card.feature { border-color:#111827; background:#171d29; box-shadow:0 8px 20px rgba(15,23,42,.13); }
.metric-icon { color:#fff; background:#315efb; border-radius:6px; }
.trend.good { color:#8fb0ff; background:rgba(77,120,255,.12); }
.mini-label,.metric-label,.metric-foot { color:#657181; }
.metric-label { font-size:11px; }
.metric-card > strong { color:#111827; font-size:32px; font-variant-numeric:tabular-nums; }
.feature .metric-label,.metric-card.feature .metric-foot { color:#aeb7c5; }
.progress i { background:#315efb; }
th { padding:12px 16px; color:#4f5b6b; background:#f5f6f8; border-color:#dfe3e8; font-size:10px; font-weight:750; }
td { padding:14px 16px; color:#273244; border-color:#e3e6eb; font-size:12px; font-variant-numeric:tabular-nums; }
td strong { color:#111827; font-size:12px; }
td small { color:#657181; font-size:10px; }
.units-table .clickable:hover { background:#f2f5ff; }
.price-emphasis { color:#204bcf; font-weight:750; }
.unit-avatar { background:#e8edff; color:#274dcb; border-radius:6px; }
.status { font-size:10px; font-weight:750; border-radius:5px; }
.status.available,.status.published { color:#176642; background:#e6f4ec; }
.status.reserved { color:#845b0c; background:#fff1cf; }
.status.sold { color:#285582; background:#e6f0fa; }
.value-card { background:#fff; }
.value-card > strong { color:#111827; font-variant-numeric:tabular-nums; }
.value-row { border-color:#e1e5ea; color:#5b6675; font-size:11px; }
.value-row span { color:#657181; }.value-row b { color:#18202b; }
.round-icon,.product-symbol { color:#fff; background:#1b2432; border-radius:7px; }
.version-line { color:#283445; background:#f2f4f7; font-size:10px; }
.rule-counts { color:#5e6978; font-size:10px; }.rule-counts strong { color:#111827; }
.search-box,.filter-panel>select { border-color:#cfd5dd; border-radius:6px; background:#fff; color:#202a38; }
.search-box input,.filter-panel>select { font-size:12px; }
.search-box button { background:#1b2432; border-radius:4px; font-size:10px; }
.drawer-backdrop { background:rgba(11,16,25,.48); }
.detail-drawer { box-shadow:-18px 0 45px rgba(15,23,42,.19); }
.detail-drawer>header { border-color:#dfe3e8; }
.detail-drawer h2 { color:#111827; }
.detail-drawer header p { color:#5f6a79; font-size:11px; }
.detail-drawer header button { color:#344054; background:#eef0f3; border-radius:5px; }
.drawer-price,.result-hero,.preview-difference,.formula-result { background:#171d29; }
.drawer-price span,.drawer-price p,.result-hero span,.result-hero p,.preview-difference span { color:#b3bdca; }
.drawer-price strong small,.result-hero strong small { color:#8fb0ff; }
.detail-grid { background:#d9dee5; border-color:#d9dee5; border-radius:7px; }
.detail-grid span { color:#5f6b7a; font-size:10px; }.detail-grid strong { color:#111827; font-size:12px; }
.form-grid label span,.single-field span { color:#3f4b5b; font-size:11px; font-weight:700; }
.form-grid input,.form-grid select,.single-field select,.form-grid textarea,.condition-row select,.condition-row input,.price-edit-list input,.publish-note textarea { color:#111827; border-color:#c8ced7; border-radius:5px; background:#fff; font-size:12px; font-weight:550; }
.form-grid input,.form-grid select,.single-field select { height:42px; }
.form-grid input:focus,.form-grid select:focus,.single-field select:focus,.form-grid textarea:focus { border-color:#315efb; box-shadow:0 0 0 3px rgba(49,94,251,.12); }
.form-grid input:disabled { color:#5f6a79; background:#eef0f3; }
.field-hint { color:#5f6a79; font-size:10px; }
.check-option { border-color:#d1d6de; border-radius:5px; color:#344054; background:#fff; font-size:11px; }
.check-option input,.active-toggle input { accent-color:#315efb; }
.form-note,.calculator-banner { color:#344054; background:#edf2ff; border:1px solid #d7e2ff; }
.form-note span { color:#fff; background:#315efb; }
.form-note p,.form-warning p { font-size:10px; }
.success-toast { color:#185f41; border-color:#bcdcca; background:#edf8f2; font-size:11px; }
.success-toast>span { background:#24825b; }
.pricing-hero { border-radius:10px; background:#171d29; box-shadow:0 7px 18px rgba(15,23,42,.12); }
.pricing-hero p { color:#b3bdca; font-size:10px; }.version-badge { color:#fff; background:#315efb; border-radius:7px; }
.pricing-hero.draft { background:#292716; }.pricing-hero.draft .version-badge { color:#252313; background:#f5d76e; }
.base-price { border-color:#dbe0e6; border-radius:6px; background:#fff; }
.property-glyph { color:#294fc9; background:#e9eeff; border-radius:5px; }
.base-price small { color:#596575; font-size:10px; }.base-price strong { color:#111827; font-variant-numeric:tabular-nums; }
.base-price i { color:#5f6a79; font-size:9px; }
.rule-row { border-color:#dfe3e8; }.rule-order { color:#445064; background:#edf0f3; border-radius:5px; }
.rule-copy strong { color:#111827; font-size:12px; }.rule-copy p { color:#4f5b6b; font-size:10px; }.rule-copy span { color:#667180; font-size:9px; }
.rule-amount small,.rule-amount span { color:#657181; font-size:9px; }.rule-amount strong { color:#204bcf; font-variant-numeric:tabular-nums; }
.formula-card { background:#fff; }.formula span { color:#344054; border-color:#d1d6de; border-radius:5px; font-size:10px; }.formula b { color:#315efb; }
.history-item strong { color:#18202b; font-size:10px; }.history-item small { color:#667180; font-size:9px; }.history-dot { border-color:#315efb; }
.product-context { border-color:#d4dae2; background:#d4dae2; border-radius:8px; }
.product-context small { color:#566274; font-size:10px; }.product-context strong { color:#111827; font-size:13px; font-variant-numeric:tabular-nums; }
.product-context .active-date { background:#edf2ff; }.product-context .active-date strong { color:#204bcf; }.product-context>p { color:#4e5968; font-size:10px; }
.product-card>header { border-color:#dfe3e8; }.product-card h2 { color:#111827; font-size:16px; }.product-card header small { color:#5f6a79; font-size:10px; }
.product-figures { background:#dfe3e8; }.product-figures span { color:#586475; font-size:10px; }.product-figures strong { color:#111827; font-size:15px; font-variant-numeric:tabular-nums; }
.product-footer { background:#f5f6f8; }.product-footer>span { color:#566274; font-size:10px; }.product-footer b { color:#18202b; font-size:12px; }
.publish-strip { color:#6d5000; border-color:#ead897; background:#fff6d8; font-size:10px; }
.calculator-banner { color:#344054; font-size:11px; }
.result-hero { border-radius:8px; }.result-hero strong { font-variant-numeric:tabular-nums; }
.result-metrics>div { border-color:#d6dbe2; border-radius:6px; background:#fff; }.result-metrics span { color:#566274; font-size:10px; }.result-metrics b { color:#111827; font-size:14px; font-variant-numeric:tabular-nums; }
.schedule-table { border-color:#d4dae2; border-radius:6px; }.schedule-table td { font-size:11px; }.schedule-table .mortgage-row { background:#eaf0ff; }.schedule-table .mortgage-row td { color:#1f46bd; }
.internal-note { color:#4e5968; border-color:#315efb; background:#f1f4fb; font-size:10px; }
.loading-state,.error-state { color:#566274; }.loading-state span { border-color:#d8dde5; border-top-color:#315efb; }
.project-management-grid { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start; }.project-main-stack { display:grid;gap:16px; }.project-form-body { padding:20px;margin-top:0; }.form-grid.four-columns { grid-template-columns:repeat(4,1fr); }.date-emphasis { padding:10px;margin:-10px;border-radius:6px;background:#edf2ff; }.project-date-note { margin:0 20px 20px;padding:12px 14px;border-left:3px solid #315efb;background:#f3f5f9;color:#4b5666;font-size:10px;line-height:1.6; }.project-side { display:grid;gap:16px;position:sticky;top:88px; }.project-summary-card { padding:20px;background:#171d29;color:white; }.project-summary-card h2 { margin:8px 0 18px;font-size:19px; }.project-summary-card dl { margin:0; }.project-summary-card dl div { padding:11px 0;border-top:1px solid rgba(255,255,255,.1); }.project-summary-card dt { color:#aeb8c7;font-size:9px; }.project-summary-card dd { margin:4px 0 0;color:white;font-size:11px;font-weight:700; }.blocks-list { display:grid; }.block-row { display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;gap:13px;align-items:center;padding:14px 20px;border-bottom:1px solid #e1e5ea; }.block-row:last-child { border-bottom:0; }.block-mark { width:36px;height:36px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#1b2432;font-weight:800; }.block-row strong,.block-row small { display:block; }.block-row strong { color:#111827;font-size:12px; }.block-row small { margin-top:3px;color:#657181;font-size:9px; }.block-stats { display:flex;gap:16px;color:#657181;font-size:9px; }.block-stats b { color:#111827;font-size:12px;margin-right:3px; }.product-draft-actions { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ead897; }.product-draft-actions button { height:36px;border:0;background:#fff6d8;color:#6d5000;font-size:10px;font-weight:700; }.product-draft-actions button:first-child { color:#994b4b;background:#fff2f2;border-right:1px solid #ead5d5; }.target-difference { color:#8fb0ff;font-size:9px; }.comparison-block { margin-top:18px; }.comparison-block h3 { font-size:13px; }.version-history-list { display:grid;gap:10px;margin-top:18px; }.version-history-list article { padding:14px;border:1px solid #d8dde5;border-radius:7px; }.version-history-list article>header { display:flex;justify-content:space-between;align-items:center; }.version-history-list article>header strong { color:#111827;font-size:12px; }.version-history-list article>div { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px; }.version-history-list article>div span { color:#657181;font-size:9px; }.version-history-list article b { color:#18202b; }.version-history-list article>small { display:block;margin-top:11px;color:#657181;font-size:9px; }.version-history-list article>p { margin:9px 0 0;color:#4f5b6b;font-size:10px; }
.new-project-note { padding:30px;text-align:center; }.new-project-note h2 { margin-bottom:7px;font-size:16px; }.new-project-note p { margin:0;color:#657181;font-size:11px; }
.migration-overview{padding:20px}.migration-copy{padding:18px 20px;border-radius:8px;background:#171d29;color:#fff}.migration-copy h3{margin:7px 0 8px;font-size:17px}.migration-copy p{max-width:760px;margin:0;color:#c6cdd7;font-size:10px;line-height:1.65}.migration-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.migration-step{display:flex;align-items:center;gap:9px;min-width:0;padding:12px;border:1px solid #dce1e7;border-radius:7px;background:#f8f9fb}.migration-step>b{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;color:#fff;background:#315efb;font-size:10px}.migration-step span,.migration-step small{display:block}.migration-step span{min-width:0;color:#17202d;font-size:10px;font-weight:700}.migration-step small{margin-top:3px;color:#778292;font-size:8px;font-weight:500}.migration-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.migration-actions .button{min-height:38px}.migration-actions .button[disabled]{cursor:not-allowed;opacity:.55}.migration-next-note{margin-top:14px;padding:12px 14px;border-left:3px solid #315efb;background:#f1f4fb;color:#596575;font-size:9px;line-height:1.6}.migration-next-note b{color:#172554}
.scenario-actions { display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;margin-top:14px;padding:14px;border:1px solid #d7dde6;border-radius:7px;background:#f7f8fa; }.scenario-actions strong { color:#111827;font-size:11px; }.scenario-actions p { margin:4px 0 0;color:#5e6978;font-size:9px; }.calculator-proposals { margin:-7px 0 16px;border:1px solid #cbd8ff;border-radius:9px;background:#f3f6ff;overflow:hidden; }.calculator-proposals>header { display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #d9e2ff; }.calculator-proposals>header>div { display:flex;gap:8px;align-items:center; }.calculator-proposals header span { color:#315efb;font-size:16px; }.calculator-proposals header strong { color:#1d3479;font-size:11px; }.calculator-proposals header small { color:#6072a8;font-size:9px; }.proposal-row { display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:20px;align-items:center;padding:11px 15px;border-bottom:1px solid #dfe6f8; }.proposal-row:last-child { border-bottom:0; }.proposal-row strong,.proposal-row small,.proposal-row span,.proposal-row b { display:block; }.proposal-row>div strong { color:#172554;font-size:10px; }.proposal-row small { color:#6978a2;font-size:8px;margin-top:3px; }.proposal-row>span { color:#65718d;font-size:8px; }.proposal-row b { color:#172554;font-size:11px;margin-top:3px;font-variant-numeric:tabular-nums; }
@media(max-width:900px){.scenario-actions{grid-template-columns:1fr}.proposal-row{grid-template-columns:1fr}.rule-row{grid-template-columns:32px minmax(0,1fr) 105px 60px;gap:8px}}
.migration-upload{position:relative;overflow:hidden;cursor:pointer}.migration-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.migration-upload.disabled{pointer-events:none;opacity:.55}.migration-result{margin-top:14px;padding:16px;border:1px solid #dce1e7;border-radius:8px;background:#fff}.migration-result.valid{border-color:#7bc99b;background:#f5fbf7}.migration-result.invalid{border-color:#e7b3b3;background:#fffafa}.migration-result-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.migration-result-head b,.migration-result-head small{display:block}.migration-result-head b{font-size:13px}.migration-result-head small{margin-top:4px;color:#667085;font-size:9px}.migration-result-head>span{font-size:10px;font-weight:800}.migration-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.migration-counts span{padding:10px;border:1px solid #dce1e7;border-radius:6px;background:#fff;color:#667085;font-size:9px}.migration-counts b{display:block;color:#111827;font-size:15px}.migration-issues{max-height:330px;overflow:auto;border:1px solid #e3e6eb;border-radius:6px;background:#fff}.migration-issues table{width:100%;border-collapse:collapse;font-size:9px}.migration-issues th{position:sticky;top:0;background:#171d29;color:#fff;text-align:left;padding:9px}.migration-issues td{padding:8px 9px;border-top:1px solid #eceff3;vertical-align:top}.migration-confirm{display:flex;align-items:center;gap:8px;margin:14px 0 10px;font-size:10px;font-weight:650}.migration-confirm input{width:16px;height:16px}
@media(max-width:1200px){.project-management-grid{grid-template-columns:1fr}.project-side{position:static}.form-grid.four-columns{grid-template-columns:1fr 1fr}.migration-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.migration-steps{grid-template-columns:1fr 1fr}.migration-actions{align-items:stretch}.migration-actions .button{width:100%}}
@media(max-width:720px){.form-grid.four-columns{grid-template-columns:1fr}.block-row{grid-template-columns:36px 1fr}.block-stats,.block-row>.status,.block-row>.icon-outline{grid-column:2}.product-draft-actions{grid-template-columns:1fr}}

/* Client registry */
.client-filters { grid-template-columns:minmax(320px,1fr) 210px 210px;align-items:center; }
.compact-check { min-height:42px;display:flex;align-items:center;justify-content:center;margin:0; }
.clients-table td { vertical-align:middle; }.client-name { display:flex;align-items:center;gap:11px; }.client-name>div { min-width:0; }
.client-avatar { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:#fff;background:#1b2432;font-size:11px;font-weight:800; }.client-avatar.small { width:34px;height:34px;font-size:10px; }
.minor-label { width:max-content;margin-top:4px;padding:2px 5px;border-radius:4px;color:#8a5d00!important;background:#fff1cf;font-weight:700; }.status.inactive { color:#667085;background:#edf0f3; }
.client-editor { width:min(780px,98vw); }.drawer-scroll { overflow:auto;padding-bottom:100px; }.client-form-section { padding:21px 24px;border-bottom:1px solid #e1e5ea; }
.section-title { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px; }.section-title h3 { margin:0;color:#111827;font-size:14px; }.section-title p { margin:4px 0 0;color:#657181;font-size:10px; }
.party-type-switch { display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:17px;padding:4px;border-radius:7px;background:#eef0f3; }.party-type-switch button { height:38px;border:0;border-radius:5px;color:#5b6675;background:transparent;font-size:11px;font-weight:700;cursor:pointer; }.party-type-switch button.selected { color:#fff;background:#1b2432; }.party-type-switch button:disabled { cursor:default; }
.form-grid.two-columns { grid-template-columns:1fr 1fr; }.form-grid .span-two { grid-column:1/-1; }.minor-warning { display:flex;flex-direction:column;gap:4px;margin-top:15px;padding:12px 14px;border-left:3px solid #d39219;color:#5b471d;background:#fff8e8;font-size:10px; }.minor-warning b { font-size:11px; }
.small-button { min-height:32px;padding:0 11px;font-size:10px; }.empty-inline { padding:20px;border:1px dashed #cfd5dd;border-radius:7px;color:#657181;text-align:center;font-size:10px; }
.representatives-section { padding-bottom:24px; }.representative-card { margin-top:10px;border:1px solid #d8dde5;border-radius:8px;background:#fff;overflow:hidden; }.representative-card.disabled-card { opacity:.64; }.representative-card>.representative-main { display:flex;align-items:center;gap:10px;padding:13px 14px 7px; }.representative-main strong,.representative-main small { display:block; }.representative-main strong { color:#111827;font-size:11px; }.representative-main small { margin-top:3px;color:#657181;font-size:9px; }
.representative-meta { display:flex;flex-wrap:wrap;gap:15px;padding:5px 14px 11px 58px;color:#566274;font-size:9px; }.representative-actions { display:flex;gap:15px;padding:9px 14px;border-top:1px solid #e4e7eb;background:#f7f8fa; }.representative-actions button { padding:0;border:0;background:transparent;cursor:pointer; }
.upload-strip { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border-top:1px solid #d8e2ff;background:#f0f4ff; }.upload-strip strong,.upload-strip small { display:block; }.upload-strip strong { color:#1d3479;font-size:10px; }.upload-strip small { margin-top:3px;color:#6072a8;font-size:8px; }.upload-strip input { max-width:260px;font-size:9px; }
.document-row { display:flex;align-items:center;gap:9px;padding:9px 14px;border-top:1px solid #e4e7eb; }.document-row>span { color:#315efb; }.document-row strong,.document-row small { display:block; }.document-row strong { color:#273244;font-size:9px; }.document-row small { margin-top:2px;color:#667180;font-size:8px; }
.nested-modal-backdrop { position:fixed;inset:0;z-index:1200;background:rgba(11,16,25,.56); }.nested-modal { position:fixed;z-index:1201;top:50%;left:50%;width:min(610px,94vw);max-height:92vh;overflow:auto;transform:translate(-50%,-50%);border-radius:10px;background:#fff;box-shadow:0 22px 70px rgba(15,23,42,.3); }.nested-modal>header { display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #dfe3e8; }.nested-modal h2 { margin:4px 0 0;font-size:18px; }.nested-modal>header button { width:32px;height:32px;border:0;border-radius:5px;color:#344054;background:#eef0f3;font-size:18px;cursor:pointer; }.nested-modal .form-warning { margin:16px 20px 0; }.modal-form { padding:20px 22px; }.nested-modal>footer { display:flex;justify-content:flex-end;gap:8px;padding:15px 22px;border-top:1px solid #dfe3e8;background:#f7f8fa; }
@media(max-width:900px){.client-filters{grid-template-columns:1fr}.client-editor{width:min(680px,100vw)}}
@media(max-width:620px){.form-grid.two-columns{grid-template-columns:1fr}.form-grid .span-two{grid-column:auto}.representative-meta{padding-left:14px}.upload-strip{align-items:flex-start;flex-direction:column}}

/* Sales and reservations */
.sales-summary-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px; }.sales-stat { padding:18px 20px; }.sales-stat span,.sales-stat strong,.sales-stat small { display:block; }.sales-stat span { color:#5d6878;font-size:10px;font-weight:700; }.sales-stat strong { margin:7px 0 4px;color:#111827;font-size:27px;font-variant-numeric:tabular-nums; }.sales-stat small { color:#778190;font-size:9px; }.sales-stat.available-stat { border-color:#c9d5ff;background:#f4f6ff; }.sales-stat.available-stat strong { color:#204bcf; }
.case-count { padding:5px 8px;border-radius:5px;color:#344054;background:#eef0f3;font-size:10px;font-weight:700; }.sales-empty { padding:55px 20px;text-align:center; }.sales-empty>span { width:48px;height:48px;display:grid;place-items:center;margin:0 auto 13px;border-radius:8px;color:#fff;background:#1b2432;font-size:20px; }.sales-empty h3 { margin:0;color:#111827;font-size:16px; }.sales-empty p { margin:7px 0 18px;color:#657181;font-size:11px; }
.sales-table .units-description { max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.overdue-row { background:#fffaf0; }.status.expired { color:#8a5100;background:#ffeac2; }.status.cancelled_reservation,.status.cancelled_contract { color:#7b4b4b;background:#f8eaea; }
.reservation-editor { width:min(860px,98vw); }.reservation-form { padding:0; }.reservation-section { padding:22px 25px;border-bottom:1px solid #e0e4e9; }.reservation-step { display:flex;align-items:flex-start;gap:11px;margin-bottom:16px; }.reservation-step>b { width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;color:#fff;background:#315efb;font-size:10px; }.reservation-step h3 { margin:1px 0 3px;color:#111827;font-size:14px; }.reservation-step p { margin:0;color:#657181;font-size:10px; }.unit-picker-search { margin-bottom:10px; }.reservation-unit-list { max-height:300px;overflow:auto;border:1px solid #d6dbe2;border-radius:7px; }.reservation-unit { display:grid;grid-template-columns:18px 40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #e3e6eb;cursor:pointer; }.reservation-unit:last-child { border-bottom:0; }.reservation-unit:hover { background:#f7f8fa; }.reservation-unit.selected { background:#eff3ff; }.reservation-unit input { accent-color:#315efb; }.unit-info strong,.unit-info small,.unit-pick-price strong,.unit-pick-price small { display:block; }.unit-info strong,.unit-pick-price strong { color:#111827;font-size:11px; }.unit-info small,.unit-pick-price small { margin-top:3px;color:#657181;font-size:9px; }.unit-pick-price { text-align:right; }.reservation-mode { max-width:430px; }.inline-help { margin:9px 0 0;color:#657181;font-size:9px; }.inline-help a { color:#315efb; }.reservation-expiry { display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin-top:14px;padding:13px 14px;border-left:3px solid #315efb;background:#f1f4fb; }.reservation-expiry span { color:#596575;font-size:9px; }.reservation-expiry strong { color:#172554;font-size:12px; }.reservation-expiry small { width:100%;color:#687386;font-size:9px; }
.sales-case-detail { width:min(1040px,98vw); }.case-status-hero { padding:20px 24px;color:#fff;background:#171d29; }.case-status-hero.overdue { background:#5e4513; }.case-status-hero span,.case-status-hero strong,.case-status-hero small { display:block; }.case-status-hero span { color:#aeb8c7;font-size:10px; }.case-status-hero strong { margin:8px 0 5px;font-size:14px;line-height:1.5; }.case-status-hero small { color:#c6cdd7;font-size:10px; }.cancel-reservation { margin:18px 24px;padding:15px;border:1px solid #ecd1d1;border-radius:7px;background:#fff8f8; }.cancel-reservation h3 { margin:0 0 9px;color:#7e4141;font-size:12px; }.cancel-reservation textarea { width:100%;min-height:70px;padding:10px;border:1px solid #dfc1c1;border-radius:5px;resize:vertical;font:inherit;font-size:11px; }.cancel-reservation p { color:#a13f3f;font-size:9px; }.cancel-reservation .button { width:100%;margin-top:8px; }.case-global-warning{margin:14px 24px 0}
.selected-product-strip { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:12px;border:1px solid #d8dde5;border-radius:7px;overflow:hidden;background:#d8dde5; }.selected-product-strip>div { padding:11px 12px;background:#f7f8fa; }.selected-product-strip span,.selected-product-strip strong { display:block; }.selected-product-strip span { color:#657181;font-size:8px; }.selected-product-strip strong { margin-top:4px;color:#111827;font-size:11px;font-variant-numeric:tabular-nums; }.linked-case-note { display:flex;gap:9px;margin-top:12px;padding:11px 12px;border-left:3px solid #315efb;background:#f1f4fb; }.linked-case-note span { color:#315efb; }.linked-case-note p { margin:0;color:#4f5b6b;font-size:9px;line-height:1.5; }.case-actions { gap:7px; }.case-actions .button { padding-inline:12px; }
.sales-terms-grid { margin-top:14px; }.internal-pricing-note { margin:12px 0 0;padding:10px 12px;border-left:3px solid #7b8797;color:#596575;background:#f5f6f8;font-size:9px;line-height:1.5; }.sales-offer-result { margin-top:14px;border:1px solid #d6dbe2;border-radius:8px;overflow:hidden; }.offer-price { padding:17px 19px;color:#fff;background:#171d29; }.offer-price span,.offer-price strong,.offer-price p { display:block; }.offer-price span { color:#b3bdca;font-size:9px; }.offer-price strong { margin:5px 0 2px;font-size:23px;font-variant-numeric:tabular-nums; }.offer-price strong small { color:#8fb0ff;font-size:10px; }.offer-price p { margin:0;color:#b3bdca;font-size:9px; }.sales-offer-result .result-metrics { padding:0 12px; }.offer-schedule-preview { max-height:210px;overflow:auto;margin:12px;border:1px solid #e0e4e9;border-radius:6px; }.offer-schedule-preview>div { display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid #e5e8ec;font-size:9px; }.offer-schedule-preview>div:last-child { border-bottom:0; }.offer-schedule-preview span { color:#5b6675; }.offer-schedule-preview strong { color:#111827;font-variant-numeric:tabular-nums; }.offer-schedule-preview .mortgage { background:#edf2ff; }.offer-schedule-preview .mortgage span,.offer-schedule-preview .mortgage strong { color:#204bcf; }
.client-search-control { position:relative; }.client-search-results { max-height:230px;overflow:auto;margin-top:7px;border:1px solid #d1d7df;border-radius:7px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.08); }.client-search-results>button { width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid #e4e7eb;text-align:left;background:#fff;cursor:pointer; }.client-search-results>button:last-child { border-bottom:0; }.client-search-results>button:hover { background:#f2f5ff; }.client-search-results strong,.client-search-results small { display:block; }.client-search-results strong { color:#111827;font-size:10px; }.client-search-results small { margin-top:3px;color:#657181;font-size:9px; }.selected-client-card { display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid #cbd8ff;border-radius:7px;background:#f3f6ff; }.selected-client-card>div { flex:1; }.selected-client-card strong,.selected-client-card small { display:block; }.selected-client-card strong { color:#172554;font-size:11px; }.selected-client-card small { margin-top:3px;color:#6072a8;font-size:9px; }.selected-client-card>button { width:28px;height:28px;border:0;border-radius:5px;color:#344054;background:#e2e8f7;cursor:pointer; }
.terms-editor{width:min(1100px,98vw)}.approval-warning{margin-top:14px;padding:14px 16px;border:1px solid #d8a62e;background:#fff8e4;color:#5f4300}.approval-warning>strong{display:block;font-size:14px}.approval-warning>p{margin:4px 0 10px;font-size:11px}.approval-warning>div{padding:6px 0;border-top:1px solid #ecdba8;font-size:12px}.button.warning{background:#9a6700;color:#fff;border-color:#9a6700}.button.warning:hover{background:#7a5200}.terms-history-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #e5e8ec}.terms-history-row:last-child{border-bottom:0}.terms-history-row>div{display:flex;flex-direction:column}.terms-history-row>div:last-child{text-align:right}.terms-history-row strong{font-size:12px;font-variant-numeric:tabular-nums}.terms-history-row small{margin-top:3px;color:#667085;font-size:10px}
.schedule-mode-switch{max-width:520px;margin-top:14px}.schedule-periods{margin:18px 0;padding:18px;border:1px solid #cfd6df;border-radius:9px;background:#f7f8fa}.schedule-periods>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}.schedule-periods>header>div{min-width:0;flex:1}.schedule-periods>header .button{flex:0 0 auto;white-space:nowrap}.schedule-periods>header strong,.schedule-periods>header small{display:block}.schedule-periods>header strong{color:#111827;font-size:13px}.schedule-periods>header small{max-width:680px;margin-top:5px;color:#657181;font-size:10px;line-height:1.55}.schedule-period-row{display:grid;grid-template-columns:36px minmax(145px,.75fr) minmax(190px,1fr) minmax(190px,1fr) 36px;gap:13px;align-items:end;margin-top:10px;padding:14px;border:1px solid #dbe0e6;border-radius:8px;background:#fff}.schedule-period-row label{min-width:0;margin:0}.schedule-period-row input,.schedule-period-row select{width:100%}.period-number{width:34px;height:40px;display:grid;place-items:center;color:#fff;background:#344054;border-radius:6px;font-size:11px;font-weight:800}.remove-period{width:34px;height:40px;border:0;border-radius:6px;color:#8b3030;background:#f8e8e8;font-size:17px;cursor:pointer}.remove-period:disabled{opacity:.35;cursor:default}
.case-operation-section{padding:22px 26px;border-top:1px solid #e1e5ea}.case-operation-section .section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.share-mode-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 12px;border:1px solid #d7dce3;border-radius:7px;background:#f8f9fb;font-size:10px;font-weight:700}.share-mode-toggle input{accent-color:#315efb}.case-buyer-row{display:grid;grid-template-columns:125px minmax(170px,1.1fr) 105px minmax(190px,1fr) 36px;gap:12px;align-items:end;padding:12px 0;border-bottom:1px solid #e5e8ec}.case-buyer-row.without-shares{grid-template-columns:125px minmax(220px,1.2fr) minmax(220px,1fr) 36px}.case-buyer-row label{min-width:0;margin:0}.case-buyer-row select{width:100%}.primary-buyer{align-self:center;display:flex;align-items:center;gap:7px;font-size:10px}.primary-buyer input{accent-color:#315efb}.buyer-copy{align-self:center}.buyer-copy strong,.buyer-copy small{display:block}.buyer-copy strong{font-size:11px}.buyer-copy small{margin-top:3px;color:#667085;font-size:9px}.buyer-search{margin:14px 0}.extension-controls{display:grid;grid-template-columns:170px minmax(260px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #dbe0e6;border-radius:8px;background:#f8f9fb}.extension-controls label{min-width:0;margin:0}.extension-controls input{width:100%}.extension-controls .button{height:40px;white-space:nowrap}.operation-note{width:100%;min-height:58px;padding:9px;border:1px solid #d5dae1;border-radius:5px;resize:vertical;font:inherit;font-size:10px}.workflow-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.approval-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e4e7eb}.approval-row:last-child{border-bottom:0}.approval-row strong,.approval-row small{display:block}.approval-row strong{font-size:11px}.approval-row small{margin-top:3px;color:#667085;font-size:8px}.approval-row p{margin:5px 0 0;font-size:9px}.approval-row>div:last-child{display:flex;gap:6px;align-items:center}.status.under_review{color:#775600;background:#fff0bf}.status.ready_for_contract{color:#19643a;background:#dff5e8}.status.rejected{color:#8b3030;background:#f8e4e4}.reservation-settings-grid{max-width:680px}
.contract-create-drawer{width:min(720px,96vw);z-index:70}.contract-backdrop{z-index:60}.contract-create-body{padding:22px 26px}.contract-confirm-card{margin-bottom:20px;padding:20px;border-radius:9px;color:#fff;background:#171d29}.contract-confirm-card span,.contract-confirm-card strong,.contract-confirm-card p{display:block}.contract-confirm-card span{color:#aeb8c7;font-size:10px}.contract-confirm-card strong{margin:7px 0;font-size:25px}.contract-confirm-card strong small{font-size:11px}.contract-confirm-card p{margin:0;color:#c6cdd7;font-size:10px}.contract-number-switch{max-width:430px;margin:18px 0}.automatic-contract-number{display:flex;flex-direction:column;padding:18px;border:1px solid #cfd6df;border-radius:8px;background:#f7f8fa}.automatic-contract-number span{color:#667085;font-size:10px}.automatic-contract-number strong{margin:5px 0;color:#141c2b;font-size:22px}.automatic-contract-number small{color:#7a8492;font-size:9px}.contract-snapshot-note{display:flex;gap:8px;margin-top:20px;padding:14px;border-left:3px solid #315efb;background:#f3f6ff;color:#465468;font-size:10px;line-height:1.55}.contract-summary-grid{margin-bottom:20px}.contracts-table{min-width:1180px}.contracts-panel .table-wrap{overflow-x:auto}.sale-total{color:#19643a}
.direct-sale-note{display:flex;gap:10px;margin-top:14px;padding:14px;border-left:3px solid #315efb;background:#f1f4fb;color:#4f5b6b}.direct-sale-note>span{color:#315efb;font-size:15px}.direct-sale-note p{margin:0;font-size:10px;line-height:1.55}.status.contract_pending{color:#204bcf;background:#e5ecff}
@media(max-width:1100px){.sales-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sales-summary-grid{grid-template-columns:1fr}.reservation-unit{grid-template-columns:18px 34px 1fr}.unit-pick-price{grid-column:3;text-align:left}.sales-table .units-description{max-width:180px}.selected-product-strip{grid-template-columns:1fr 1fr}.case-actions{flex-wrap:wrap}.schedule-period-row{grid-template-columns:36px 1fr}.schedule-period-row label,.schedule-period-row .remove-period{grid-column:2}.schedule-periods>header{flex-direction:column}.case-operation-section .section-title{flex-direction:column}.case-buyer-row,.case-buyer-row.without-shares{grid-template-columns:1fr}.case-buyer-row>*{grid-column:1}.extension-controls{grid-template-columns:1fr}}

/* Contract payments and financial position */
.payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sales-stat.overdue-stat{border-top:3px solid #b45b4f}.daily-payment-import-panel{margin-bottom:18px}.daily-payment-import-body{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 20px}.daily-payment-import-body b{color:#17202d;font-size:11px}.daily-payment-import-body p{max-width:700px;margin:5px 0 0;color:#667085;font-size:9px;line-height:1.55}.daily-payment-import-actions{display:flex;flex:0 0 auto;gap:8px}.daily-payment-import-actions .button[disabled]{cursor:not-allowed;opacity:.55}.payment-register-header{align-items:center}.table-search{display:flex;align-items:center;gap:7px;width:min(340px,42vw);height:38px;padding:0 10px;border:1px solid #cfd5dd;border-radius:6px;background:#fff}.table-search span{color:#667085}.table-search input{width:100%;border:0;outline:0;background:transparent;color:#111827;font:inherit;font-size:11px}.payment-contracts-table td:first-child{min-width:260px}.payment-contracts-table td:first-child strong,.payment-contracts-table td:first-child small{display:block}.payment-contracts-table td:first-child small{max-width:360px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paid-amount{color:#24734b}.overdue-amount{color:#a4463c}.payment-detail-drawer{width:min(1120px,98vw);padding:0}.payment-detail-drawer>header{padding:23px 27px}.payment-financial-hero{display:grid;grid-template-columns:repeat(4,1fr);background:#171d29;color:#fff}.payment-financial-hero>div{padding:18px 24px;border-right:1px solid rgba(255,255,255,.1)}.payment-financial-hero>div:last-child{border-right:0}.payment-financial-hero span,.payment-financial-hero strong,.payment-financial-hero small{display:block}.payment-financial-hero span{color:#aeb8c7;font-size:9px}.payment-financial-hero strong{margin:5px 0 2px;font-size:20px}.payment-financial-hero small{color:#d2d7df;font-size:9px}.payment-detail-section{padding:22px 27px;border-bottom:1px solid #e1e5ea}.manual-payment-form{padding:17px;border:1px solid #d8dde5;border-radius:8px;background:#f8f9fb}.manual-payment-form .form-grid{margin-top:0}.payment-form-note{margin-top:13px;padding:10px 12px;border-left:3px solid #315efb;background:#edf2ff;color:#526174;font-size:9px;line-height:1.55}.payment-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.payment-detail-table{max-height:330px;border:1px solid #dfe3e8;border-radius:7px}.schedule-payment-status{display:inline-flex;padding:4px 7px;border-radius:4px;font-size:8px;font-weight:750}.schedule-payment-status.paid{color:#17633b;background:#daf3e5}.schedule-payment-status.partial{color:#735600;background:#fff0bf}.schedule-payment-status.overdue{color:#8a3832;background:#f8e1df}.schedule-payment-status.pending{color:#4c596c;background:#edf0f4}.inline-empty{padding:25px;border:1px dashed #d7dce3;border-radius:7px;text-align:center;color:#738092;font-size:10px}.payment-history-list{display:grid;gap:8px}.payment-history-item{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 15px;border:1px solid #dfe3e8;border-radius:7px;background:#fff}.payment-history-item.reversed{opacity:.68;background:#f7f7f8}.payment-history-main span,.payment-history-main strong,.payment-history-main small,.payment-history-info strong,.payment-history-info small{display:block}.payment-history-main span,.payment-history-info small{color:#667085;font-size:9px}.payment-history-main strong{margin:4px 0 3px;color:#111827;font-size:15px}.payment-history-main small{font-size:8px}.payment-history-info strong{font-size:10px}.payment-history-info small{margin-top:3px}.payment-history-info p{margin:6px 0 0;color:#3f4c5d;font-size:9px;line-height:1.5}.payment-history-info em{display:block;margin-top:6px;color:#9a4540;font-size:9px}.payment-history-actions{display:grid;justify-items:end;gap:8px}.payment-reverse-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(11,16,25,.6)}.confirmation-dialog{width:min(470px,95vw);padding:24px}.confirmation-dialog h2{margin:0 0 7px;font-size:18px}.confirmation-dialog p{margin:0 0 15px;color:#667085;font-size:10px;line-height:1.55}.confirmation-dialog label span{display:block;margin-bottom:6px;color:#596575;font-size:9px;font-weight:700}.confirmation-dialog textarea{width:100%;min-height:85px;padding:10px;border:1px solid #cbd1d9;border-radius:6px;resize:vertical;font:inherit;font-size:11px}.confirmation-dialog>div:last-child{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.payment-integrity-warning{display:flex;align-items:center;gap:15px;margin:14px 27px 0;padding:12px 14px;border:1px solid #ebd39e;border-radius:7px;color:#795400;background:#fff8df;font-size:9px}.payment-integrity-warning b{font-size:10px}.allocation-dialog{width:min(760px,96vw);max-height:92vh;overflow:hidden}.allocation-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #dfe3e8}.allocation-dialog>header h2{margin:4px 0;font-size:18px}.allocation-dialog>header p{margin:0;color:#667085;font-size:9px}.allocation-dialog>header button{width:31px;height:31px;border:0;border-radius:5px;background:#eef0f3;font-size:17px}.allocation-dialog-body{padding:17px 22px;overflow:auto;max-height:68vh}.allocation-total{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-radius:6px;color:#fff;background:#171d29}.allocation-total span{font-size:9px}.allocation-total strong{font-size:14px}.allocation-edit-list{display:grid;margin-top:10px;border:1px solid #dfe3e8;border-radius:7px;overflow:hidden}.allocation-edit-list label{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border-bottom:1px solid #e5e8ec}.allocation-edit-list label:last-child{border-bottom:0}.allocation-edit-list span b,.allocation-edit-list span small{display:block}.allocation-edit-list span b{font-size:10px}.allocation-edit-list span small{margin-top:3px;color:#667085;font-size:8px}.allocation-edit-list input{width:145px;height:36px;padding:0 9px;border:1px solid #cbd1d9;border-radius:5px;text-align:right;font-size:11px}.allocation-edit-list .advance-allocation{background:#f1f4fb}.allocation-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #dfe3e8;background:#f7f8fa}
@media(max-width:900px){.payment-summary-grid{grid-template-columns:1fr 1fr}.daily-payment-import-body{align-items:stretch;flex-direction:column}.daily-payment-import-actions{flex-wrap:wrap}.payment-financial-hero{grid-template-columns:1fr 1fr}.payment-financial-hero>div:nth-child(2){border-right:0}.payment-history-item{grid-template-columns:1fr}.payment-history-actions{display:flex;justify-content:flex-start;align-items:center}.manual-payment-form .form-grid.four-columns{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.payment-summary-grid,.payment-financial-hero{grid-template-columns:1fr}.payment-register-header{align-items:stretch}.table-search{width:100%}.manual-payment-form .form-grid.four-columns{grid-template-columns:1fr}.payment-form-actions{flex-direction:column}.payment-form-actions .button{width:100%}}

/* Users, permissions and reporting */
.security-tabs{display:flex;gap:5px;margin-bottom:16px;padding:5px;border:1px solid #dce1e7;border-radius:8px;background:#eef0f3;width:max-content}.security-tabs button{height:36px;padding:0 14px;border:0;border-radius:5px;color:#596575;background:transparent;font-size:10px;font-weight:700;cursor:pointer}.security-tabs button.active{color:#fff;background:#171d29}.security-tabs b{margin-left:6px;padding:2px 6px;border-radius:10px;color:inherit;background:rgba(128,138,152,.18)}.security-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px}.security-user-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:start;padding:15px;border:1px solid #dce1e7;border-radius:8px;background:#fff}.security-user-card.inactive,.role-card.inactive{opacity:.58}.security-user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#315efb;font-size:12px;font-weight:800}.security-user-info>strong,.security-user-info>small{display:block}.security-user-info>strong{font-size:12px}.security-user-info>small{margin-top:3px;color:#667085;font-size:9px}.security-user-info>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.security-user-info>p{margin:8px 0 0;color:#4f5b6b;font-size:9px}.security-chip{display:inline-flex;padding:4px 7px;border-radius:4px;color:#4d5a6c;background:#edf0f4;font-size:8px;font-weight:700}.security-chip.admin{color:#2447b9;background:#e5ecff}.security-login-note{margin-top:14px;padding:13px 15px;border-left:3px solid #315efb;background:#f1f4fb;color:#536174;font-size:9px;line-height:1.6}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.role-card{padding:16px;border:1px solid #dce1e7;border-radius:8px}.role-card>header{display:flex;justify-content:space-between;align-items:flex-start}.role-card h3{margin:5px 0 0;font-size:13px}.role-code{color:#315efb;font-size:8px;font-weight:800;letter-spacing:.06em}.role-card>p{margin:11px 0;color:#667085;font-size:9px}.role-permission-preview{display:flex;flex-wrap:wrap;gap:5px;min-height:52px}.role-permission-preview span{padding:4px 6px;border-radius:4px;color:#4f5b6b;background:#f0f2f5;font-size:7px}.role-card>.button{width:100%;margin-top:13px}.security-drawer{width:min(720px,97vw);padding:0}.security-drawer>header{padding:24px 26px}.security-drawer-body{padding:20px 26px}.security-drawer-body>h3,.project-access-heading h3{margin:22px 0 10px;font-size:12px}.security-switches{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.security-switches label,.project-access-heading>label{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #d7dce3;border-radius:6px;font-size:9px;font-weight:700}.security-switches input,.project-access-heading input,.security-check-grid input,.permission-groups input{accent-color:#315efb}.security-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.security-check-grid>label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #dce1e7;border-radius:6px}.security-check-grid span b,.security-check-grid span small{display:block}.security-check-grid span b{font-size:9px}.security-check-grid span small{margin-top:2px;color:#667085;font-size:7px}.project-access-heading{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.role-editor-drawer{width:min(820px,98vw)}.permission-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-groups>section{border:1px solid #dce1e7;border-radius:7px;overflow:hidden}.permission-groups section>header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f3f5f7}.permission-groups section>header strong{font-size:9px}.permission-groups section>header button{border:0;color:#315efb;background:transparent;font-size:7px;font-weight:700;cursor:pointer}.permission-groups label{display:flex;align-items:flex-start;gap:8px;padding:8px 11px;border-top:1px solid #e7e9ed;font-size:9px}.permission-groups label span,.permission-groups label small{display:block}.permission-groups label small{margin-top:2px;color:#7b8491;font-size:7px}.report-period{display:flex;align-items:end;gap:8px}.report-period label span{display:block;margin-bottom:5px;color:#667085;font-size:8px}.report-period input{height:38px;padding:0 9px;border:1px solid #cbd1d9;border-radius:5px;font-size:10px}.report-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.report-kpi-grid article{padding:17px;border:1px solid #dce1e7;border-top:3px solid #315efb;border-radius:8px;background:#fff}.report-kpi-grid article.danger{border-top-color:#b14d43}.report-kpi-grid span,.report-kpi-grid strong,.report-kpi-grid small{display:block}.report-kpi-grid span{color:#667085;font-size:9px}.report-kpi-grid strong{margin:8px 0 4px;color:#111827;font-size:20px}.report-kpi-grid small{color:#7b8491;font-size:8px}.report-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px;margin-bottom:16px}.report-grid.lower{grid-template-columns:1fr 1fr}.report-legend{display:flex;align-items:center;gap:6px;color:#667085;font-size:8px}.report-legend span{width:9px;height:9px;border-radius:2px}.report-legend .sales{background:#315efb}.report-legend .payments{margin-left:7px;background:#2e9b65}.report-bars{display:grid;gap:10px;padding:18px 20px}.report-bar-row{display:grid;grid-template-columns:75px 1fr 1fr;gap:9px;align-items:center}.report-bar-row>span{color:#596575;font-size:8px}.report-bar-row>div{height:23px;position:relative;border-radius:4px;background:#f0f2f5;overflow:hidden}.report-bar-row i{display:block;height:100%;min-width:2px;border-radius:4px}.report-bar-row i.sales{background:#315efb}.report-bar-row i.payments{background:#2e9b65}.report-bar-row small{position:absolute;right:6px;top:5px;color:#111827;font-size:7px;font-weight:700}.report-products table,.report-grid.lower table{min-width:100%}.report-grid.lower td strong,.report-grid.lower td small{display:block}.report-grid.lower td small{margin-top:3px;color:#667085;font-size:8px}
@media(max-width:1150px){.report-kpi-grid{grid-template-columns:repeat(3,1fr)}.report-grid,.report-grid.lower{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.security-user-grid,.role-grid,.security-check-grid,.permission-groups{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:1fr 1fr}.report-period{flex-wrap:wrap}.security-user-card{grid-template-columns:42px 1fr}.security-user-card>.icon-outline{grid-column:2}.report-bar-row{grid-template-columns:62px 1fr}.report-bar-row>div:last-child{grid-column:2}}

.login-layout{min-height:100vh;background:radial-gradient(circle at 15% 15%,#304b41 0,#182a24 36%,#101b17 100%);display:grid;place-items:center;padding:28px}.login-shell{width:min(420px,100%)}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;color:#fff}.login-brand>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#d9f36a;color:#172922;font-size:22px;font-weight:900}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:20px}.login-brand small{margin-top:2px;color:#a8b8b2;font-size:9px}.login-card{padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#fff;box-shadow:0 28px 70px rgba(0,0,0,.3)}.login-card h1{margin:7px 0 8px;color:#172922;font-size:28px}.login-card>p{margin-bottom:24px;color:#7a8883;font-size:10px;line-height:1.6}.login-card form,.login-card label{display:grid;gap:7px}.login-card form{gap:16px}.login-card label>span{font-size:10px;font-weight:750;color:#344a42}.login-card input[type=text],.login-card input[type=password]{width:100%;height:45px;padding:0 13px;border:1px solid #dce4df;border-radius:8px;background:#fbfcfb;font-size:12px;outline:none}.login-card input:focus{border-color:#8ba62a;box-shadow:0 0 0 3px rgba(139,166,42,.12)}.login-card .button{width:100%;height:45px}.login-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;color:#63716c;font-size:10px}.login-remember input{width:16px;height:16px}.login-error{margin-bottom:16px;padding:11px 13px;border:1px solid #efcaca;border-radius:8px;background:#fff3f3;color:#9a4040;font-size:10px}.login-footer{display:block;margin-top:18px;text-align:center;color:#92a39d;font-size:9px}.logout-form{margin:0}.logout-form button{font-size:15px}.form-grid label>small{color:#87938f;font-size:8px}

/* Company and reference settings */
.settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}.settings-tabs button{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #d8dde5;border-radius:7px;color:#536071;background:#fff;font-size:10px;font-weight:750;text-align:left;cursor:pointer}.settings-tabs button span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;color:#315efb;background:#e9eeff;font-size:8px}.settings-tabs button.active{color:#fff;border-color:#171d29;background:#171d29}.settings-tabs button.active span{color:#162541;background:#8fb0ff}.settings-layout{display:grid;gap:16px}.settings-form-body{margin:0;padding:20px}.settings-form-body.form-grid{margin-top:0}.settings-check{display:flex;align-items:center;gap:8px;align-self:end;min-height:42px;color:#3f4b5b;font-size:10px;font-weight:700}.settings-check input{width:auto!important;height:auto!important;accent-color:#315efb}.settings-card-list{display:grid;gap:0}.settings-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;padding:17px 20px;border-bottom:1px solid #e3e6ea}.settings-card:last-child{border-bottom:0}.settings-card.inactive,.reference-card.inactive{opacity:.55}.settings-card-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#171d29;font-size:10px;font-weight:850}.settings-card>div:nth-child(2)>strong,.settings-card>div:nth-child(2)>small{display:block}.settings-card>div:nth-child(2)>strong{color:#111827;font-size:12px}.settings-card>div:nth-child(2)>small{margin-top:4px;color:#667085;font-size:9px}.settings-card>div:nth-child(2)>div{display:flex;gap:5px;margin-top:8px}.settings-card p{margin:7px 0 0;color:#667085;font-size:9px}.settings-card-actions{display:flex;gap:6px;align-items:flex-start}.representative-line{display:block;margin-top:7px;padding:0;border:0;color:#4f5b6b;background:transparent;font-size:9px;text-align:left;cursor:pointer}.representative-line b{color:#111827}.representative-line span{margin-left:7px;color:#315efb;font-size:8px;font-weight:700}.settings-table-wrap{overflow:auto}.settings-table-wrap table{min-width:780px}.settings-table-wrap td:last-child{text-align:right}.cell-note{display:block;margin-top:3px;color:#7c8591;font-size:8px}.settings-two-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:18px}.reference-card{padding:15px;border:1px solid #dce1e7;border-radius:7px}.reference-card header{display:flex;align-items:center;justify-content:space-between}.reference-card header>span:first-child{color:#315efb;font-size:8px;font-weight:850;letter-spacing:.05em}.reference-card h3{margin:11px 0 6px;color:#111827;font-size:13px}.reference-card p{min-height:32px;margin:0;color:#667085;font-size:8px;line-height:1.55}.reference-card .button{width:100%;margin-top:12px}.compact-reference-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:17px}.compact-reference{display:grid;grid-template-columns:38px 1fr 8px;gap:10px;align-items:center;padding:11px;border:1px solid #dce1e7;border-radius:7px;color:#111827;background:#fff;text-align:left;cursor:pointer}.compact-reference:disabled{cursor:default}.direction-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:5px;color:#fff;background:#344054;font-size:9px;font-weight:800}.compact-reference b,.compact-reference small{display:block}.compact-reference b{font-size:10px}.compact-reference small{margin-top:3px;color:#667085;font-size:7px}.compact-reference i{width:7px;height:7px;border-radius:50%;background:#c7ccd4}.compact-reference i.active{background:#2e9b65}.settings-rule-note{margin:0 20px 20px;padding:12px 14px;border-left:3px solid #315efb;color:#536174;background:#f1f4fb;font-size:9px;line-height:1.6}.settings-drawer{width:min(680px,97vw);padding:0}.settings-drawer>header{padding:24px 26px}.settings-drawer-body{padding:20px 26px}.settings-capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.settings-capability-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dce1e7;border-radius:6px;color:#465364;font-size:9px;font-weight:700}.settings-capability-grid input{accent-color:#315efb}
@media(max-width:1100px){.settings-tabs{grid-template-columns:1fr 1fr}.reference-grid{grid-template-columns:1fr 1fr}.settings-two-panels{grid-template-columns:1fr}}
@media(max-width:680px){.settings-tabs,.reference-grid,.compact-reference-list,.settings-capability-grid{grid-template-columns:1fr}.settings-card{grid-template-columns:42px 1fr}.settings-card-actions{grid-column:2;flex-wrap:wrap}}
