.marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{width:max-content;animation:28s linear infinite marquee-scroll;display:flex}.marquee-track span{white-space:nowrap;letter-spacing:.06em;flex:none}.header-ticker{color:#f0deba;background:linear-gradient(90deg,#0000,#ffe8b014,#0000),linear-gradient(90deg,#0c241f,#1a4a3e 50%,#0c241f);border-bottom:1px solid #c4a57466;align-items:center;min-height:34px;padding:7px 0;font-size:12px;font-weight:600;display:flex;position:relative;overflow:hidden}.header-ticker:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffecbe2e,#0000);width:28%;animation:5.5s ease-in-out infinite ticker-sheen;position:absolute;inset:0 auto 0 0}.header-ticker .marquee-sep{color:var(--gold);margin:0 .85em;animation:2.4s ease-in-out infinite diamond-pulse}.app-footer{position:relative;overflow:hidden}.app-footer:before{content:"";background:linear-gradient(90deg, transparent, #f4e6c8, var(--gold), #f4e6c8, transparent);background-size:220% 100%;height:1px;animation:4.2s ease-in-out infinite underline-run;position:absolute;top:0;left:12%;right:12%}.app-footer .marquee{max-width:min(920px,100%)}.app-footer .marquee-track span{color:#d7cec0}.text-shimmer{background-image:linear-gradient(100deg, var(--gold-deep) 0%, #f3e0b8 38%, #fff6dc 50%, #f3e0b8 62%, var(--gold-deep) 100%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:4.4s linear infinite text-shimmer}.header-kicker.text-shimmer{background-image:linear-gradient(100deg,#9a7848 0%,#ffe9b8 42%,#fff 50%,#ffe9b8 58%,#9a7848 100%)}.text-underline{display:inline-block;position:relative}.text-underline:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), #fff3cc, var(--gold), transparent);background-size:220% 100%;border-radius:999px;height:2px;animation:3.2s ease-in-out infinite underline-run;position:absolute;bottom:-5px;left:0;right:0}.header-title h1.text-underline{padding-bottom:4px}.header-title h1.text-underline:after{background:linear-gradient(90deg,#0000,#f4e6c8,#fff,#f4e6c8,#0000)}.app-header{position:relative;overflow:hidden}.app-header:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000,#ffecbe29,#0000);width:42%;animation:8s ease-in-out infinite header-sheen;position:absolute;inset:-40% auto -40% -20%}.app-header:after{content:"";pointer-events:none;opacity:.7;background-image:radial-gradient(circle at 18% 30%,#ffe8b038 0 1px,#0000 2px),radial-gradient(circle at 72% 70%,#ffe8b029 0 1px,#0000 2px);background-size:140px 70px,90px 90px;animation:18s linear infinite dust-drift;position:absolute;inset:0}.header-left,.header-title,.app-tabs,.header-right{z-index:1;position:relative}.header-logo{animation:4.5s ease-in-out infinite logo-breathe;position:relative}.header-logo:after{content:"";pointer-events:none;border:1px solid #f4e6c88c;border-radius:20px;animation:7s linear infinite ring-spin;position:absolute;inset:-6px;box-shadow:0 0 18px #ffecbe47}.app{isolation:isolate;position:relative}.app:before,.app:after{content:"";pointer-events:none;z-index:0;filter:blur(8px);border-radius:50%;width:min(42vw,420px);height:min(42vw,420px);position:fixed}.app:before{background:radial-gradient(circle,#c4a57438,#0000 68%);animation:16s ease-in-out infinite orb-float;top:8%;left:-8%}.app:after{background:radial-gradient(circle,#1b5c4e29,#0000 68%);animation:19s ease-in-out infinite reverse orb-float;bottom:6%;right:-6%}.app-header,.header-ticker,.admin-bar,.app-main,.app-footer{z-index:1;position:relative}.app-tab:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:42%;animation:3.2s ease-in-out infinite btn-shine;position:absolute;inset:0 auto 0 -45%;transform:skew(-18deg)}.app-tab:nth-child(2):after{animation-delay:1.15s}.app-tab:not(.is-active){animation:3.2s ease-in-out infinite tab-idle-glow}.app-tab.is-active{animation:2.4s ease-in-out infinite tab-glow}.app-page:not([hidden]){animation:.55s page-enter}.form-panels .panel-card,.toolbar-card,.loan-table,.about-hero,.author-card,.contact-card{transition:transform .28s,box-shadow .28s,border-color .28s;animation:.7s both card-enter}.form-panels .panel-card:nth-child(2){animation-delay:80ms}.form-panels .panel-card:nth-child(3){animation-delay:.16s}.toolbar-card{animation-delay:.2s}.loan-table{animation-delay:.26s}.author-card:nth-child(2){animation-delay:.1s}.contact-card{animation-delay:.18s}.panel-card:hover,.toolbar-card:hover,.loan-table:hover,.about-hero:hover,.contact-card:hover{border-color:#c4a574b3;transform:translateY(-3px);box-shadow:0 22px 44px #12241f1f,0 0 0 1px #c4a5742e}.panel-card legend,.panel-title,.toolbar-head h2,.loan-table h2{position:relative}.author-card{transition:transform .28s,box-shadow .28s,border-color .28s}.author-card:hover{border-color:#c4a574bf;transform:translateY(-6px);box-shadow:0 26px 48px #12241f24}.author-avatar{animation:5s ease-in-out infinite avatar-glow}.contact-rows>div{transition:transform .22s,box-shadow .22s,background .22s}.contact-rows>div:hover{background:#fff8ea;transform:translateY(-3px);box-shadow:0 12px 24px #9a78481f}.loan-table tbody tr{transition:background .18s,box-shadow .18s}.loan-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.status-pill{animation:2.8s ease-in-out infinite pill-pulse}.prefix-check.is-on{animation:2.6s ease-in-out infinite check-glow}.btn{overflow:hidden}.btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff61,#0000);width:36%;animation:3.6s ease-in-out infinite btn-shine;position:absolute;inset:0 auto 0 -40%;transform:skew(-18deg)}.btn-gold:after{background:linear-gradient(90deg,#0000,#ffffff8c,#0000)}input:focus,select:focus,textarea:focus,.combo-field:focus-within input,.search-box input:focus{animation:1.6s ease-in-out infinite focus-ring}.admin-modal,.popup-card{animation:.32s modal-pop}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes text-shimmer{0%{background-position:100%}to{background-position:-100%}}@keyframes underline-run{0%,to{opacity:.5;background-position:100% 0}50%{opacity:1;background-position:0 0}}@keyframes logo-breathe{0%,to{transform:translateY(0);box-shadow:0 0 #c4a5741f,0 0 14px #ffecbe47,0 8px 18px #0c201c38}50%{transform:translateY(-2px);box-shadow:0 0 0 8px #c4a57433,0 0 28px #ffecbe9e,0 0 42px #2a7a6861}}@keyframes ring-spin{0%{opacity:.35;transform:rotate(0)}50%{opacity:.9}to{opacity:.35;transform:rotate(360deg)}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes avatar-glow{0%,to{box-shadow:0 0 #c4a57433}50%{box-shadow:0 0 0 9px #c4a57424}}@keyframes header-sheen{0%{transform:translate(-30%)}to{transform:translate(280%)}}@keyframes ticker-sheen{0%{transform:translate(-120%)}to{transform:translate(420%)}}@keyframes dust-drift{0%{background-position:0 0,0 0}to{background-position:140px 70px,-90px 90px}}@keyframes orb-float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(4%,6%)scale(1.08)}}@keyframes diamond-pulse{0%,to{opacity:.55;text-shadow:none}50%{opacity:1;text-shadow:0 0 8px #f4e6c8b3}}@keyframes tab-idle-glow{0%,to{text-shadow:none;box-shadow:0 0 #f4e6c814}50%{text-shadow:0 0 10px #ffecbe73;box-shadow:0 0 14px #f4e6c847}}@keyframes tab-glow{0%,to{box-shadow:0 6px 16px #c4a57452,0 0 12px #ffecbe47}50%{box-shadow:0 10px 26px #c4a5748c,0 0 22px #fff8dcb3}}@keyframes btn-shine{0%,55%{opacity:0;transform:translate(0)skew(-18deg)}70%{opacity:1}to{opacity:0;transform:translate(380%)skew(-18deg)}}@keyframes pill-pulse{0%,to{box-shadow:0 0 #1f7a5c1f}50%{box-shadow:0 0 0 5px #1f7a5c14}}@keyframes check-glow{0%,to{box-shadow:0 0 #c4a5741f}50%{box-shadow:0 0 0 4px #c4a57429}}@keyframes focus-ring{0%,to{box-shadow:0 0 0 3px #c4a5742e}50%{box-shadow:0 0 0 5px #c4a57447}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.is-admin .marquee-track,.is-admin .text-shimmer,.is-admin .text-underline:after,.is-admin .header-logo,.is-admin .header-logo:after,.is-admin .author-avatar,.is-admin .header-ticker:before,.is-admin .app-header:before,.is-admin .app-header:after,.is-admin .btn:after,.is-admin .app-tab,.is-admin .app-tab:after,.is-admin .status-pill{animation:none}.is-admin .text-shimmer,.is-admin .header-kicker.text-shimmer{color:inherit;background:0 0;-webkit-background-clip:unset;background-clip:unset}.is-admin .header-kicker{color:var(--gold)}@media (prefers-reduced-motion:reduce){.marquee-track,.text-shimmer,.text-underline:after,.header-logo,.header-logo:after,.author-avatar,.app-page:not([hidden]),.form-panels .panel-card,.toolbar-card,.loan-table,.about-hero,.author-card,.contact-card,.app-header:before,.app-header:after,.header-ticker:before,.app:before,.app:after,.btn:after,.app-tab,.app-tab:after,.status-pill,.prefix-check.is-on,.admin-modal,.popup-card,.app-footer:before{animation:none}.text-shimmer,.header-kicker.text-shimmer{color:var(--gold);background:0 0;-webkit-background-clip:unset;background-clip:unset}.page-intro .text-shimmer,.author-role.text-shimmer,.about-kicker.text-shimmer{color:var(--gold-deep)}.author-card:hover,.panel-card:hover,.toolbar-card:hover,.loan-table:hover,.about-hero:hover,.contact-card:hover,.contact-rows>div:hover{transform:none}}: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:visible}.header-logo img{object-fit:contain;border-radius:15px;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}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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-primary,.btn-outline{background:linear-gradient(180deg, #2a7a68, var(--forest-2));color:#fff;border:none}.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}}.admin-bar{color:var(--forest);background:#f4ead4;border-bottom:1px solid #c4a5748c;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:10px 40px;font-size:13px;display:flex}.admin-bar strong{color:var(--gold-deep);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.admin-bar-hint{color:var(--muted);flex:1;min-width:180px}.admin-bar-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.admin-overlay{z-index:80;background:#0c201c7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:var(--card);border:1px solid var(--line);border-radius:22px;gap:12px;width:min(420px,100%);padding:26px 24px;display:grid;box-shadow:0 30px 70px #0c201c47}.admin-modal-wide{width:min(980px,100%);max-height:min(88vh,860px);overflow:auto}.admin-modal h3{color:var(--forest);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:28px}.admin-modal>p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.admin-modal label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.admin-modal input,.admin-list-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.admin-password-field{display:block;position:relative}.admin-password-field input{padding-right:64px}.admin-password-toggle{color:var(--forest-2);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.admin-password-toggle:hover{background:#1b5c4e14}.admin-modal input:focus,.admin-list-field textarea:focus,.is-editable-field:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.admin-error{color:var(--danger);margin:0;font-size:13px;font-weight:600}.admin-modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.admin-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-list-field{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.admin-list-field textarea{resize:vertical;min-height:160px;font-weight:500;line-height:1.45}.is-editable{position:relative}.is-editable-field{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;resize:vertical;background:#c4a57424;border:1px dashed #9a7848b3;border-radius:8px;outline:none;width:100%;min-width:0;padding:1px 6px;font-family:inherit}.is-editable-multiline{min-height:4.2em;line-height:1.5}h1 .is-editable-field,h2 .is-editable-field,h3 .is-editable-field,legend .is-editable-field{background:#ffffff1f}.app-header .is-editable-field{color:#f7f3ea}.app-footer .is-editable-field{color:#f7f3ea;background:#ffffff14}.prefix-check .is-editable-field,.gender-options .is-editable-field,.btn .is-editable-field{width:auto;min-width:72px;padding:0 6px}.btn .is-editable-field{color:inherit;background:#ffffff38}.header-right{align-items:center;gap:8px;display:flex}@media (width<=980px){.admin-bar{padding:10px 18px}.admin-list-grid{grid-template-columns:1fr}}.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;padding-bottom:4px;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)}.author-admin-row{gap:8px;margin-top:14px;display:grid}.author-admin-row label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.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}.contact-rows a,.contact-rows strong{color:var(--forest-2);font-weight:700;font-size:inherit;font-family:inherit;text-decoration:none}@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:40px;min-width:40px;height:40px;color:var(--forest-2);cursor:pointer;background:#fff;border-radius:12px;flex:0 0 40px;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-field-picker:hover,.date-field-picker[aria-expanded=true]{border-color:var(--gold);color:var(--gold-deep);background:#fffaf2}.date-field-picker:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c4a57438}.date-field-picker:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.date-picker{z-index:90;border:1px solid var(--line);background:#fff;border-radius:16px;width:300px;padding:12px;position:fixed;box-shadow:0 16px 40px #0c201c29}.date-picker-header{grid-template-columns:36px 1fr 36px;align-items:center;gap:6px;margin-bottom:10px;display:grid}.date-picker-nav{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;font-size:22px;line-height:1}.date-picker-nav:hover{border-color:var(--gold);background:#fffaf2}.date-picker-title{justify-content:center;align-items:center;gap:6px;display:flex}.date-picker-title button,.date-picker-title span{height:36px;color:var(--forest);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 8px;font-size:14px;font-weight:700}.date-picker-title button:hover{background:#f4efe6}.date-picker-title span{cursor:default}.date-picker-weekdays,.date-picker-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-weekdays span{height:28px;color:var(--muted);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.date-picker-day,.date-picker-empty{height:34px;color:var(--ink);background:0 0;border:0;border-radius:10px;font-size:13px}.date-picker-day{cursor:pointer}.date-picker-day:hover{background:#f4efe6}.date-picker-day:disabled{cursor:not-allowed;opacity:.35}.date-picker-day:disabled:hover{background:0 0}.date-picker-day.is-today{box-shadow:inset 0 0 0 1px var(--gold)}.date-picker-day.is-selected,.date-picker-months button.is-selected,.date-picker-years button.is-selected{background:var(--forest-2);color:#fff}.date-picker-today{border:1px solid var(--line);width:100%;height:34px;color:var(--forest-2);cursor:pointer;background:#fff;border-radius:10px;margin-top:8px;font-size:13px;font-weight:600}.date-picker-today:hover{border-color:var(--gold);background:#fffaf2}.date-picker-months,.date-picker-years{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.date-picker-months button,.date-picker-years button{border:1px solid var(--line);height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;font-size:13px;font-weight:600}.date-picker-months button:hover,.date-picker-years button:hover{border-color:var(--gold);background:#fffaf2}.cccd-capture-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.cccd-capture-btn{justify-content:center;align-items:center;width:100%;min-height:48px;font-size:13px;display:flex;position:relative;overflow:hidden}.cccd-capture-btn.is-disabled{opacity:.55;pointer-events:none}.cccd-capture-input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:20px;position:absolute;inset:0}.cccd-scan-overlay{z-index:80;background:#12241f73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cccd-scan-modal{background:var(--card);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:18px;padding:20px 18px 16px}.cccd-scan-modal h3{margin:0 0 12px;font-size:18px}.cccd-scan-video,.cccd-scan-pair,.cccd-scan-placeholder{background:#0f241f;border-radius:14px;width:100%;display:block}.cccd-scan-video-wrap{position:relative}.cccd-scan-video{object-fit:cover;min-height:240px}.cccd-scan-reticle{box-shadow:none;pointer-events:none;border:2px solid #e8c547bf;border-radius:12px;position:absolute;inset:5%}.cccd-scan-pair{box-sizing:border-box;background:#fff;padding:16px}.cccd-scan-placeholder{color:#fff;place-items:center;min-height:220px;font-size:13px;display:grid}.cccd-scan-status,.cccd-scan-hint,.cccd-scan-error,.cccd-scan-url{margin:10px 0 0;font-size:13px;line-height:1.45}.cccd-scan-hint,.cccd-scan-url{color:var(--muted);word-break:break-all}.cccd-scan-error{color:var(--danger);font-weight:600}.cccd-scan-actions{justify-content:flex-end;margin-top:16px;display:flex}.cccd-live-btn{width:100%;min-height:44px;margin-top:10px}.cccd-scan-note{color:var(--forest-2);background:#eef7f3;border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.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}.cccd-input-row{align-items:center;gap:8px;display:flex}.cccd-input-row input{flex:1}.cccd-scan-btn{white-space:nowrap;flex:none;height:40px;padding:0 14px;font-size:13px}.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}.field-hint{color:#64748b;margin:4px 0 0;font-size:11px;font-weight:500}.admin-option-edits{gap:6px;margin-top:-4px;display:grid}.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{flex-basis:38px;width:38px;min-width:38px;height:38px}.heir-grid .date-field input[type=text],.heir-grid .combo-field input{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.is-error{color:#b91c1c}.form-row-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.form-row-head label{margin:0}.prefix-toggles{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;display:flex}.prefix-check{color:var(--muted);cursor:pointer;letter-spacing:0;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:inline-flex}.prefix-check input{opacity:0;pointer-events:none;border:0;width:1px;min-width:0;height:1px;margin:0;padding:0;position:absolute}.prefix-check-box{border:1.5px solid var(--line);width:18px;height:18px;color:var(--forest-2);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.prefix-check:hover .prefix-check-box,.prefix-check input:focus-visible+.prefix-check-box{border-color:var(--gold)}.prefix-check.is-on{color:var(--forest-2)}.prefix-check.is-on .prefix-check-box{border-color:var(--forest-2);background:#eef7f3}.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}.form-row-check label{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.form-row-check input[type=checkbox]{width:18px;min-width:18px;height:18px;accent-color:var(--forest-2);cursor:pointer}.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}.loan-table-tools .btn{white-space:nowrap;height:40px}.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;padding-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:42px;font-weight:700}.page-intro span{color:var(--muted);width:100%;font-size:14px}.page-intro .is-editable-multiline{max-width:72ch}.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{background:linear-gradient(180deg, #2a7a68, var(--forest-2));color:#fff;border:none}.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}}.gqvl-module{flex-direction:column;gap:18px;display:flex}.gqvl-intro{flex-wrap:wrap;align-items:baseline;gap:10px 16px;display:flex}.gqvl-intro p{letter-spacing:.18em;text-transform:uppercase;width:100%;color:var(--gold-deep);margin:0;font-size:11px;font-weight:700}.gqvl-intro h2{color:var(--forest);margin:0;padding-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:36px;font-weight:700}.gqvl-intro span{color:var(--muted);width:100%;font-size:14px}.gqvl-top,.gqvl-actions-row{align-items:stretch;gap:16px;display:grid}.gqvl-top{grid-template-columns:repeat(3,minmax(0,1fr))}.gqvl-actions-row{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}.gqvl-side{display:contents}.gqvl-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;gap:10px;min-width:0;padding:14px 16px 16px;display:flex}.gqvl-card h3{color:var(--forest);margin:0 0 4px;font-size:15px;font-weight:700}.gqvl-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.gqvl-card-head h3{margin:0}.gqvl-hint{color:var(--danger);margin:0;font-size:12px}.gqvl-note{color:var(--muted);margin:0;font-size:12px}.gqvl-radios label:has(input:disabled){opacity:.45;cursor:not-allowed}.gqvl-field input:disabled,.gqvl-field input:read-only{color:var(--ink);cursor:default;background:#f4f1ea}.gqvl-field{grid-template-columns:158px minmax(0,1fr);align-items:center;gap:8px;display:grid}.gqvl-field .combo-field,.gqvl-field .date-field{width:100%;min-width:0}.gqvl-field label{color:var(--muted);font-size:12px;font-weight:600}.gqvl-field input[type=text],.gqvl-field select{border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:6px 10px;font-size:14px}.gqvl-field input:focus,.gqvl-field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4a57438}.gqvl-radios{flex-wrap:wrap;gap:8px;display:flex}.gqvl-radios label{border:1px solid var(--line);height:36px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.gqvl-radios input[type=radio]{width:14px;height:14px;accent-color:var(--forest-2);margin:0}.gqvl-role{margin-top:4px}.gqvl-divider{background:var(--line);height:1px;margin:4px 0}.gqvl-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gqvl-field .date-field{width:100%;min-width:0}.gqvl-actions .btn{white-space:nowrap;width:100%}.gqvl-action-wide{grid-column:1/-1}.gqvl-module .btn-update{color:#fff;background:linear-gradient(#e8a0b0,#c45b72)}.gqvl-module .btn-success{background:linear-gradient(180deg, #3aa07a, var(--success))}.gqvl-module .btn-danger{background:linear-gradient(180deg, #c45b52, var(--danger))}@media (width<=1200px){.gqvl-top,.gqvl-actions-row{grid-template-columns:1fr}.gqvl-intro h2{font-size:30px}}@media (width<=640px){.gqvl-field,.gqvl-field.is-wide,.gqvl-actions{grid-template-columns:1fr}}.ai-module{flex-direction:column;gap:18px;display:flex}.ai-intro p{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin:0;font-size:11px;font-weight:700}.ai-intro h2{color:var(--forest);margin:6px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:32px}.ai-intro span{color:var(--muted);font-size:14px}.ai-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.ai-card h3{color:var(--forest);margin:0;font-size:15px}.ai-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.ai-faces{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ai-face{border:1px dashed var(--line);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;gap:6px;min-height:140px;display:flex;overflow:hidden}.ai-face img{object-fit:cover;width:100%;height:120px}.ai-face span,.ai-face strong{padding:0 10px 8px;font-size:12px}.ai-face span{color:var(--muted);text-align:center;padding-top:40px}.ai-command{border:1px solid var(--line);width:100%;min-height:120px;font:inherit;resize:vertical;border-radius:14px;padding:10px 12px}.ai-chips,.ai-actions{flex-wrap:wrap;gap:8px;display:flex}.ai-field{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}.ai-field-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-loan-extras{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ai-prefix-toggles{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;display:flex}.ai-prefix-check{color:var(--muted);cursor:pointer;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:inline-flex}.ai-prefix-check input{opacity:0;pointer-events:none;border:0;width:1px;min-width:0;height:1px;margin:0;padding:0;position:absolute}.ai-prefix-box{border:1.5px solid var(--line);width:18px;height:18px;color:var(--forest-2);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.ai-prefix-check.is-on{color:var(--forest-2)}.ai-prefix-check.is-on .ai-prefix-box{border-color:var(--forest-2);background:#eef7f3}.ai-result-grid{grid-template-columns:150px 1fr;gap:8px 14px;margin:0;display:grid}.ai-result-grid dt{color:var(--muted);margin:0;font-size:12px;font-weight:700}.ai-result-grid dd{color:var(--ink);margin:0;font-size:14px}.ai-result-missing{color:#b45309;margin:0;font-size:13px}.ai-field.is-warn input,.ai-field.is-warn .combo-field input{background:#fffbeb;border-color:#d97706}.ai-lenh-line,.ai-dia-ban-line{color:var(--forest);margin:0;font-size:13px;font-weight:600;line-height:1.45}.ai-dia-ban-line{color:var(--ink);font-weight:500}.ai-brain-reply{border:1px solid var(--line);color:var(--ink);background:#f4f8f6;border-radius:16px;margin:0;padding:12px 14px;font-size:15px;line-height:1.55}.ai-brain-steps{color:var(--ink);margin:0;padding-left:18px;font-size:13px}.ai-brain-steps li+li{margin-top:4px}.ai-field input{border:1px solid var(--line);border-radius:12px;height:38px;padding:0 10px}.ai-note,.ai-status{color:var(--muted);margin:0;font-size:13px}.ai-result ul{color:var(--ink);margin:0;padding-left:18px;font-size:14px}.ai-heirs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.ai-heir{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:8px;padding:10px;display:flex}.ai-heir-actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=1100px){.ai-grid,.ai-loan-extras,.ai-result-grid{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{isolation:isolate;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;position:relative;overflow:hidden;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}.app.is-content-pending .header-title,.app.is-content-pending .app-tabs,.app.is-content-pending .header-ticker,.app.is-content-pending .app-main,.app.is-content-pending .app-footer{visibility:hidden}.app-header .header-login{color:#f7f3ea;box-shadow:none;background:0 0;border:1px solid #c4a5748c}.app-tab .is-editable-field{text-align:center;min-width:88px;color:inherit}@media (width<=980px){.app-tabs{order:3;width:100%}.app-tab{flex:1}}.phone-scan-page{align-content:start;gap:12px;max-width:480px;min-height:100vh;margin:0 auto;padding:24px 18px 40px;display:grid}.phone-scan-page h1{margin:0;font-size:22px}.phone-scan-lead{color:var(--muted);margin:0;line-height:1.45}.phone-scan-video-wrap{position:relative}.phone-scan-video{object-fit:cover;background:#0f241f;border-radius:16px;width:100%;min-height:280px}.phone-scan-reticle{box-shadow:none;pointer-events:none;border:2px solid #e8c547bf;border-radius:12px;position:absolute;inset:5%}.phone-scan-error{color:var(--danger);font-weight:600}.phone-scan-hint{color:var(--muted);margin:0;font-size:13px}.phone-scan-page .cccd-capture-actions{margin-top:8px}.phone-scan-live{width:100%;min-height:44px}
