:root{--ink:#12241f;--muted:#5c6b66;--paper:#f4f0e8;--card:#fffcf8;--line:#e4ddd0;--forest:#12382f;--forest-2:#1b5c4e;--gold:#c4a574;--gold-deep:#9a7848;--danger:#a33b32;--success:#1f7a5c;--shadow:0 18px 40px #12241f14;color:var(--ink);font-family:Be Vietnam Pro,Segoe UI,sans-serif}body{background:radial-gradient(circle at 12% -10%, #c4a5742e, transparent 32%), radial-gradient(circle at 100% 0%, #1b5c4e1f, transparent 28%), var(--paper);margin:0}*{box-sizing:border-box}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:linear-gradient(180deg, #163f36, var(--forest));border-bottom:1px solid #c4a57447;justify-content:space-between;align-items:center;gap:24px;padding:16px 40px;display:flex;box-shadow:0 12px 30px #0c201c2e}.header-left{align-items:center;gap:14px;min-width:0;display:flex}.header-logo{background:#fff;border:1px solid #c4a57473;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;display:flex;overflow:hidden}.header-logo img{object-fit:contain;width:100%;height:100%}.header-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0;font-size:11px;font-weight:600}.header-title h1{color:#f7f3ea;letter-spacing:.01em;margin:4px 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:700}.app-main{flex:1;width:min(1440px,100% - 48px);margin:28px auto}.app-footer{text-align:center;color:#d7cec0;background:var(--forest);justify-content:center;align-items:center;padding:18px 24px;font-size:13px;display:flex}.btn{cursor:pointer;letter-spacing:.02em;color:#fff;border:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;transition:transform .16s,box-shadow .16s,filter .16s;position:relative;transform:translateY(0);box-shadow:0 8px 18px #12241f29}.btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 12px 24px #12241f33}.btn:active{filter:brightness(.96);transform:translateY(1px);box-shadow:0 3px 8px #12241f2e}.btn-gold{background:linear-gradient(180deg, #e0c594, var(--gold-deep));color:#1c160d}@media (width<=980px){.app-header{flex-wrap:wrap;padding:14px 18px}.header-title h1{font-size:22px}}.about-page{flex-direction:column;gap:22px;display:flex}.about-hero,.author-card,.contact-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.about-hero{padding:32px 36px}.about-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin:0;font-size:11px;font-weight:700}.about-hero h2,.contact-card h2{color:var(--forest);margin:8px 0 10px;font-family:Cormorant Garamond,Georgia,serif;font-size:40px}.about-hero p,.contact-card>p,.author-bio{color:var(--muted);max-width:68ch;margin:0;line-height:1.7}.author-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.author-card{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:22px;padding:22px;display:grid}.author-avatar{background:linear-gradient(180deg, #2a7a68, var(--forest));color:#fff;border:1px solid #c4a57473;border-radius:28px;place-items:center;width:148px;height:148px;font-size:48px;font-weight:700;display:grid;overflow:hidden}.author-avatar.has-photo{background:#e8e0d2}.author-avatar img{object-fit:cover;width:100%;height:100%;display:block}.author-card h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:32px}.author-role{color:var(--gold-deep);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 12px;font-size:13px;font-weight:700}.author-links{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.author-links li,.contact-rows>div{flex-direction:column;gap:3px;display:flex}.author-links span,.contact-rows span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.author-links a,.contact-rows a{color:var(--forest-2);font-weight:600;text-decoration:none}.author-links a:hover,.contact-rows a:hover{color:var(--gold-deep)}.contact-card{padding:28px 32px}.contact-rows{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.contact-rows>div{background:#f7f3ea;border-radius:16px;padding:14px}@media (width<=980px){.author-grid,.contact-rows,.author-card{grid-template-columns:1fr}}.combo-field{min-width:0;position:relative}.combo-field input{border:1px solid var(--line);width:100%;min-width:0;height:40px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:8px 36px 8px 12px;font-size:14px}.combo-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.combo-field input:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.combo-field-toggle{color:#64748b;cursor:pointer;background:0 0;border:0;width:36px;height:40px;font-size:14px;line-height:1;position:absolute;top:0;right:0}.combo-field-toggle:disabled{cursor:not-allowed;color:#cbd5e1}.combo-field-menu{z-index:80;border:1px solid var(--line);background:#fff;border-radius:12px;margin:0;padding:6px;list-style:none;position:fixed;overflow:auto;box-shadow:0 16px 40px #0c201c29}.combo-field-option{color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 10px;font-size:14px}.combo-field-option.is-active,.combo-field-option:hover{background:#f4efe6}.combo-field-empty{color:#64748b;padding:8px 10px;font-size:13px}.date-field{align-items:center;gap:8px;min-width:0;display:flex}.date-field input[type=text]{border:1px solid var(--line);min-width:0;height:40px;color:var(--ink);background:#fff;border-radius:12px;outline:none;flex:1;padding:8px 12px;font-size:14px}.date-field input[type=text]:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.date-field input[type=text]:read-only{cursor:default;background:#f8fafc}.date-field input[type=text]:read-only:focus{border-color:var(--line);box-shadow:none}.date-field-picker{border:1px solid var(--line);width:44px;min-width:44px;max-width:44px;height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;padding:4px}.date-field-picker:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.date-field-picker::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}.customer-grid{grid-template-columns:1fr;gap:12px;width:100%;display:grid}.customer-grid label{text-align:left;color:var(--muted);font-size:12px;font-weight:600}.customer-grid input,.customer-grid select{border:1px solid var(--line);width:100%;min-width:0;height:40px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:8px 12px;font-size:14px}.customer-grid input:focus,.customer-grid select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.gender-options{align-items:center;gap:10px;display:flex}.gender-options label{border:1px solid var(--line);height:40px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:flex}.gender-options input[type=radio]{width:16px;height:16px;accent-color:var(--forest-2);margin:0}.heir-list{flex-direction:column;gap:12px;max-height:580px;padding-right:4px;display:flex;overflow:auto}.heir-block{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.heir-block h3{color:var(--forest-2);margin:0 0 10px;font-size:13px}.heir-grid{grid-template-columns:1fr;gap:8px;display:grid}.heir-grid label{text-align:left;color:var(--muted);font-size:12px;font-weight:600}.heir-grid input{border:1px solid var(--line);background:#faf8f4;border-radius:12px;outline:none;width:100%;min-width:0;height:38px;padding:6px 12px;font-size:14px}.heir-grid .date-field-picker{height:38px}.heir-grid .date-field input[type=text]{background:#faf8f4;height:38px}.loan-grid{grid-template-columns:1fr;gap:12px;width:100%;display:grid}.form-row{grid-template-columns:1fr;gap:6px;display:grid}.form-row label,.loan-grid label{text-align:left;color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:600}.form-row input,.form-row select{border:1px solid var(--line);width:100%;min-width:0;height:40px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:8px 12px;font-size:14px}.form-row input:focus,.form-row select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.form-row select:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.form-row input:read-only{color:#334155;cursor:default;background:#f8fafc}.field-hint{color:#64748b;margin:4px 0 0;font-size:11px;font-weight:500}.location-error{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:0;padding:8px 10px;font-size:13px}.location-hint{color:#64748b;margin:0;font-size:12px}.loan-table{background:var(--card);border:1px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:22px;padding:18px 18px 10px}.loan-table-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.loan-table h2{color:var(--forest);margin:0;font-size:16px}.loan-table-hint{color:var(--muted);margin:4px 0 0;font-size:12px}.loan-table-tools{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.search-box{flex-direction:column;gap:4px;display:flex}.search-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);font-size:11px;font-weight:700}.search-box input{border:1px solid var(--line);background:#fff;border-radius:999px;outline:none;width:min(300px,70vw);height:40px;padding:0 16px;font-size:14px}.search-box input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.loan-count{color:var(--forest);background:#eef6f2;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.loan-table-wrapper{width:100%;overflow-x:auto}.loan-table table{border-collapse:collapse;width:100%}.loan-table th,.loan-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #efe9de;padding:12px;font-size:13px}.loan-table th{color:var(--muted);background:#f7f3ea;font-weight:700}.loan-table tbody tr{cursor:pointer}.loan-table tbody tr:hover{background:#f8f4ec}.loan-table tbody tr.is-selected{background:#e7f3ee}.loan-table tbody tr.is-checked{background:#f4efe4}.col-check{text-align:center;width:42px}.col-check input{cursor:pointer;width:17px;height:17px;accent-color:var(--forest-2)}.empty-row{color:var(--muted);text-align:center!important;padding:32px 12px!important}.status-pill{color:var(--gold-deep);background:#f4efe4;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.loan-profile-module{flex-direction:column;gap:22px;display:flex}.page-intro{flex-wrap:wrap;align-items:baseline;gap:10px 16px;display:flex}.page-intro p{letter-spacing:.18em;text-transform:uppercase;width:100%;color:var(--gold-deep);margin:0;font-size:11px;font-weight:700}.page-intro h2{color:var(--forest);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:42px;font-weight:700}.page-intro span{color:var(--muted);font-size:14px}.form-panels{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.panel-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;min-width:0;max-height:680px;padding:8px 8px 14px;display:flex}.panel-card legend,.panel-title{color:var(--forest);letter-spacing:.02em;padding:12px 16px 8px;font-size:15px;font-weight:700}.panel-card fieldset{border:0;flex-direction:column;flex:1;min-width:0;min-height:0;margin:0;padding:0;display:flex}.panel-scroll{scrollbar-gutter:stable;min-height:0;max-height:580px;padding:4px 14px 12px;overflow:hidden auto}.panel-scroll::-webkit-scrollbar{width:8px}.panel-scroll::-webkit-scrollbar-thumb{background:#d4c5a6;border-radius:999px}.panel-scroll::-webkit-scrollbar-track{background:#f3eee4;border-radius:999px}.popup-overlay{z-index:50;background:#0c201c7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.popup-card{background:var(--card);text-align:center;border:1px solid var(--line);border-radius:22px;width:min(460px,100%);padding:26px 24px;box-shadow:0 30px 70px #0c201c47}.popup-card h3{margin:0 0 8px;font-family:Cormorant Garamond,Georgia,serif;font-size:28px}.popup-card p{color:var(--muted);margin:0 0 18px;line-height:1.6}.popup-card.status-success h3{color:var(--success)}.popup-card.status-error h3{color:var(--danger)}.popup-card.status-info h3{color:var(--forest-2)}.toolbar-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:18px 20px}.toolbar-head h2{color:var(--forest);margin:0;font-size:16px}.toolbar-head p{color:var(--muted);margin:4px 0 14px;font-size:13px}.toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.btn{cursor:pointer;color:#fff;border:none;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:600;transition:transform .16s,box-shadow .16s,filter .16s;position:relative;transform:translateY(0);box-shadow:0 8px 16px #12241f1f}.btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.btn:active{filter:brightness(.96);transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, #2a7a68, var(--forest-2))}.btn-outline{color:var(--forest);border:1px solid var(--line);background:#fff}.btn-success{background:linear-gradient(180deg, #3aa07a, var(--success))}.btn-danger{background:linear-gradient(180deg, #c45b52, var(--danger))}.btn-ghost{color:var(--muted);border:1px solid var(--line);box-shadow:none;background:0 0}label.btn{align-items:center;display:inline-flex}@media (width<=1200px){.form-panels{grid-template-columns:1fr}}.app-tabs{background:#ffffff0f;border:1px solid #c4a57438;border-radius:999px;align-items:center;gap:6px;padding:5px;display:flex}.app-tab{cursor:pointer;color:#d5ddd9;box-shadow:none;letter-spacing:.02em;background:0 0;border:none;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;transform:none}.app-tab:hover{filter:none;color:#fff;box-shadow:none;background:#ffffff14;transform:none}.app-tab.is-active{color:var(--forest);background:linear-gradient(180deg, #f4e6c8, var(--gold));box-shadow:0 6px 16px #c4a57447}.app-tab.is-active:hover{filter:none;color:var(--forest)}.app-page[hidden]{display:none}@media (width<=980px){.app-tabs{order:3;width:100%}.app-tab{flex:1}}
