
:root{--navy:#0b1f45;--blue:#356ae6;--green:#1f9d6a;--gold:#e0a72c;--purple:#7b57d1;--red:#d94b5f;--ink:#15223b;--muted:#69758c;--line:#e5e9f1;--bg:#f6f7f3;--white:#fff;--blue-soft:#edf3ff;--green-soft:#eaf8f2;--gold-soft:#fff8e7;--purple-soft:#f3efff;--red-soft:#fff0f2;--sidebar:252px;--r:15px;--font:Inter,"Noto Sans Devanagari","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.45}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.icon{display:block;flex:none}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--navy),#08172f);color:#dce6fa;display:flex;flex-direction:column;z-index:50}.brand{height:78px;padding:0 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff14}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#3b72ed,#1d4fb9)}.brand-mark.large{width:54px;height:54px}.brand-copy{display:grid;min-width:0}.brand-copy strong{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:.7rem;color:#92a5c8}.sidebar-close{display:none;margin-left:auto;background:transparent;border:0;color:#fff;font-size:1.6rem}.side-nav{padding:16px 12px;overflow:auto;flex:1}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#c4d1e7;font-weight:700;font-size:.84rem;text-align:left;margin:2px 0}.nav-item:hover{background:#ffffff10;color:#fff}.nav-item.active{background:linear-gradient(90deg,#1b6b54,#1a7a5e);color:#fff}.nav-item span{flex:1}.nav-item em{font-size:.62rem;font-style:normal;color:#8fa4c7}.nav-label{text-transform:uppercase;font-size:.62rem;letter-spacing:.14em;color:#6d82a6;padding:18px 12px 5px}.nav-submenu{display:none;padding:2px 0 6px 45px}.nav-group.open .nav-submenu,.nav-group:has(.active) .nav-submenu{display:grid}.nav-submenu a{display:flex;justify-content:space-between;padding:7px;border-left:1px solid #ffffff1c;color:#aab9d2;font-size:.78rem}.nav-submenu a:hover{color:#fff}.sidebar-footer{padding:13px 16px 18px;color:#8094b6;font-size:.68rem}.support-card{padding:11px;border:1px solid #ffffff18;border-radius:11px;background:#ffffff08;display:grid;margin-bottom:10px}.support-card span{color:#fff;font-weight:800}.support-card small{color:#91a4c5}.workspace{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh}.topbar{height:78px;position:sticky;top:0;z-index:35;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 26px}.icon-button{width:39px;height:39px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#53617a;display:grid;place-items:center;position:relative}.menu-button{display:none}.icon-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);right:7px;top:7px}.global-search{position:relative;width:min(470px,43vw)}.global-search>span{position:absolute;left:12px;top:12px;color:#8491a5}.global-search input{width:100%;height:41px;border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:0 55px 0 39px;outline:none}.global-search input:focus{border-color:#9eb6ea;background:#fff;box-shadow:0 0 0 3px #edf2ff}.global-search kbd{position:absolute;right:9px;top:10px;border:1px solid #dfe4ed;background:#fff;border-radius:5px;padding:2px 6px;font-size:.65rem;color:#7b879a}.search-results{display:none;position:absolute;top:47px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px #0b1f4527;overflow:hidden;max-height:350px}.search-results.open{display:block}.search-result{display:flex;gap:10px;padding:11px 13px;border-bottom:1px solid #eef1f5}.search-result:hover{background:#f7f9fc}.search-result>span{height:max-content;padding:3px 6px;border-radius:6px;background:var(--blue-soft);color:var(--blue);font-size:.62rem;text-transform:uppercase}.search-result div{display:grid}.search-result strong{font-size:.8rem}.search-result small{font-size:.66rem;color:var(--muted)}.search-empty{padding:16px;text-align:center;color:var(--muted)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.fy-chip{height:39px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#526079;font-size:.75rem;font-weight:700}.profile-menu{position:relative}.profile-trigger{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:4px 6px;border-radius:10px;text-align:left}.profile-trigger>span:not(.avatar){display:grid;max-width:155px}.profile-trigger strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-trigger small{font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dce7ff,#b7cdfd);color:#174595;font-weight:900}.avatar.small{width:34px;height:34px;font-size:.74rem}.profile-dropdown{display:none;position:absolute;right:0;top:49px;width:205px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px;box-shadow:0 13px 35px #0b1f4523}.profile-menu.open .profile-dropdown{display:block}.profile-dropdown a,.profile-dropdown button{width:100%;display:flex;gap:8px;align-items:center;padding:9px;border:0;background:transparent;border-radius:8px;color:#43506a;font-size:.78rem}.profile-dropdown a:hover,.profile-dropdown button:hover{background:#f4f6fa}.main-content{padding:27px;max-width:1680px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:21px}.page-head h1{font-size:1.72rem;line-height:1.15;letter-spacing:-.025em;margin:4px 0 5px}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em;color:#167953}.head-actions{display:flex;gap:8px;align-items:center}.status-chip{height:37px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#56637a;font-size:.72rem;font-weight:800}.status-chip i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.btn{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:0 14px;font-weight:800;font-size:.78rem}.btn.primary{background:linear-gradient(135deg,#2b65df,#2557c3);color:#fff;box-shadow:0 6px 14px #2b65df32}.btn.secondary{background:#fff;border-color:#dce2ec;color:#394a67}.btn.small{min-height:32px;padding:0 10px;font-size:.7rem}.btn.large{min-height:48px}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 3px 12px #11224108}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:17px}.panel-head h2{font-size:1.03rem;margin:3px 0 0}.panel-head>a,.text-link{font-size:.72rem;color:var(--blue);font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.metric-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0}.metric-icon{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;flex:none}.blue .metric-icon,.action-icon.blue{background:var(--blue-soft);color:var(--blue)}.green .metric-icon,.action-icon.green{background:var(--green-soft);color:var(--green)}.gold .metric-icon,.action-icon.gold{background:var(--gold-soft);color:var(--gold)}.purple .metric-icon,.action-icon.purple{background:var(--purple-soft);color:var(--purple)}.metric-card>div:last-child{display:grid;min-width:0}.metric-card span{font-size:.7rem;color:var(--muted);font-weight:700}.metric-card strong{font-size:1.28rem;letter-spacing:-.03em}.metric-card strong.text-value{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card small{font-size:.62rem;color:#8994a6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,.8fr);gap:17px}.dashboard-lower{display:grid;grid-template-columns:1.3fr 1fr;gap:17px;margin-top:17px}.release-panel,.quick-actions-card,.activity-card,.module-preview{padding:19px}.version-badge{padding:5px 9px;border-radius:8px;background:var(--navy);color:#fff;font-size:.68rem;font-weight:900}.version-badge.muted{background:#f1f3f6;color:#6b7890}.roadmap-line{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:11px;overflow:hidden}.roadmap-step{display:flex;gap:7px;align-items:flex-start;padding:11px 9px;border-right:1px solid var(--line);background:#fbfcfe}.roadmap-step:last-child{border-right:0}.roadmap-step.current{background:var(--green-soft)}.roadmap-step b{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#e9edf4;color:#637089;font-size:.6rem}.roadmap-step.current b{background:var(--green);color:#fff}.roadmap-step span{display:grid}.roadmap-step strong{font-size:.68rem}.roadmap-step small{font-size:.56rem;color:var(--muted);line-height:1.2}.foundation-chart{margin-top:17px;padding:14px;border:1px solid #e9ede6;border-radius:11px;background:#fafbf8}.chart-title{display:flex;justify-content:space-between}.chart-title div{display:grid}.chart-title strong{font-size:.77rem}.chart-title small{font-size:.62rem;color:var(--muted)}.chart-title>b{font-size:.82rem;color:#167953}.progress-track{height:8px;background:#e8ece5;border-radius:999px;overflow:hidden;margin:11px 0 14px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--green),#46bd8c)}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.capability-grid div{display:flex;justify-content:space-between;padding:7px;background:#fff;border:1px solid #ebeee8;border-radius:7px;font-size:.61rem}.capability-grid b{color:#167953}.action-list{display:grid}.action-list>a{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.action-list>a:last-child{border-bottom:0}.action-list>a>.icon:last-child{margin-left:auto;color:#95a1b2}.action-list>a>div{display:grid;flex:1}.action-list strong{font-size:.75rem}.action-list small{font-size:.62rem;color:var(--muted)}.action-icon{width:37px;height:37px;border-radius:10px;display:grid;place-items:center}.action-icon.slate{background:#eef1f5;color:#65728a}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:14px 1fr auto;gap:8px;padding:8px 0;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:4px;top:20px;bottom:-7px;width:1px;background:var(--line)}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft);margin-top:5px}.timeline-item>div{display:grid}.timeline-item strong{font-size:.72rem}.timeline-item small{font-size:.62rem;color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.61rem;padding:3px 5px;border-radius:5px;background:#f1f3f7;color:#58657c}.module-illustration{display:flex;align-items:center;gap:14px;padding:15px;border-radius:11px;background:linear-gradient(135deg,#f0f5ff,#f3fbf7);margin-bottom:13px}.member-stack{width:86px;display:flex;justify-content:center}.member-stack span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;border:3px solid #fff;margin-left:-10px;background:var(--blue)}.member-stack span:nth-child(2){background:var(--green)}.member-stack span:nth-child(3){background:var(--purple)}.module-illustration>div:last-child{display:grid;gap:4px}.module-illustration strong{font-size:.77rem}.module-illustration p{margin:0;font-size:.65rem;color:var(--muted)}.table-toolbar{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.search-form{display:flex;align-items:center;gap:7px}.search-form input{height:35px;width:270px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.search-form>a{font-size:.68rem;color:var(--blue)}.result-count{font-size:.68rem;color:var(--muted);font-weight:800}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{padding:10px 13px;background:#fafbfd;color:#68758b;text-transform:uppercase;letter-spacing:.06em;font-size:.61rem;text-align:left;border-bottom:1px solid var(--line)}.data-table td{padding:11px 13px;border-bottom:1px solid #edf0f4;font-size:.72rem;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfdfd}.person-cell{display:flex;gap:9px;align-items:center}.person-cell>div{display:grid}.person-cell strong{font-size:.73rem}.person-cell small,.data-table td>small{display:block;font-size:.61rem;color:var(--muted)}.role-chip,.entity-chip{display:inline-flex;padding:4px 7px;border-radius:7px;background:#f1f4f8;color:#536078;font-size:.63rem}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.61rem;font-weight:900}.status-pill.success{background:var(--green-soft);color:#167953}.status-pill.danger{background:var(--red-soft);color:var(--red)}.status-pill.neutral{background:#f1f3f6;color:#66738a}.actions-col{text-align:right!important}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.icon-button.table{width:31px;height:31px}.text-button{border:0;background:transparent;font-size:.68rem;font-weight:800;color:var(--blue)}.danger-text{color:var(--red)}.success-text{color:var(--green)}.pagination{display:flex;gap:5px;padding:13px 17px;border-top:1px solid var(--line)}.pagination a{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;font-size:.68rem}.pagination a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:17px;align-items:start}.form-panel,.role-panel,.permission-panel{padding:19px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-stack{display:grid;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field>span{font-size:.67rem;font-weight:900;color:#4e5a70}.field input,.field select,.field textarea{width:100%;border:1px solid #dce2eb;border-radius:9px;background:#fff;color:var(--ink);padding:9px 10px;outline:none}.field input,.field select{height:40px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9db6ec;box-shadow:0 0 0 3px #edf2ff}.field>small{font-size:.6rem;color:var(--muted)}.field-error{color:var(--red)!important}.field-error.block{display:block;margin-top:7px}.password-field{position:relative}.password-field input{padding-right:58px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;border-radius:6px;padding:4px 7px;background:#eff3f8;color:#526079;font-size:.61rem}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:17px;border-top:1px solid var(--line)}.role-options{display:grid;gap:8px}.role-options label{position:relative}.role-options input{position:absolute;opacity:0}.role-options label>span{display:grid;padding:10px;border:1px solid var(--line);border-radius:10px}.role-options input:checked+span{border-color:#8fb0f0;background:var(--blue-soft)}.role-options strong{font-size:.72rem}.role-options small{font-size:.61rem;color:var(--muted)}.role-options em{font-size:.58rem;font-style:normal;color:var(--blue);margin-top:3px}.help-text{font-size:.65rem;color:var(--muted)}.role-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.role-card{padding:17px;display:flex;flex-direction:column}.role-card-top{display:flex;justify-content:space-between}.role-card h2{font-size:.91rem;margin:13px 0 4px}.role-card p{font-size:.66rem;color:var(--muted);min-height:38px;margin:0}.role-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;margin:13px 0}.role-stats div{display:grid;text-align:center;padding:8px}.role-stats div+div{border-left:1px solid var(--line)}.role-stats strong{font-size:.95rem}.role-stats span{font-size:.58rem;color:var(--muted)}.info-banner{display:flex;gap:10px;padding:14px;border:1px solid #d7e4ff;border-radius:11px;background:var(--blue-soft);color:#345383;margin-top:15px}.info-banner strong{display:block;font-size:.72rem}.info-banner p{font-size:.64rem;margin:2px 0 0}.roles-editor{grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr)}.role-summary-box{display:flex;gap:9px;padding:11px;border-radius:10px;background:#f5f7fa}.role-summary-box strong{font-size:.69rem}.role-summary-box p{font-size:.61rem;color:var(--muted);margin:2px 0 0}.permission-group{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:10px}.permission-group-head{display:flex;justify-content:space-between;padding:9px 11px;background:#f8fafc}.permission-group-head h3{font-size:.69rem;margin:0}.permission-group-head span{font-size:.59rem;color:var(--muted)}.permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.permission-item{display:flex;gap:8px;align-items:flex-start;padding:9px 11px;border-top:1px solid var(--line)}.permission-item:nth-child(odd){border-right:1px solid var(--line)}.permission-item input{margin-top:3px;accent-color:var(--green)}.permission-item span{display:grid}.permission-item strong{font-size:.66rem}.permission-item small{font-family:ui-monospace,monospace;font-size:.55rem;color:#8692a4}.settings-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.58fr);gap:17px;align-items:start}.settings-main,.settings-side{display:grid;gap:17px}.branding-row{display:flex;align-items:center;gap:14px;padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid var(--line)}.logo-preview{width:80px;height:80px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:contain}.upload-control{display:grid;gap:3px}.upload-control strong{font-size:.73rem}.upload-control small{font-size:.61rem;color:var(--muted)}.upload-control input{position:absolute;opacity:0}.upload-control .btn{width:max-content;margin-top:5px}.info-box{padding:11px;border:1px solid #f2dfae;border-radius:10px;background:var(--gold-soft);margin-top:13px}.info-box strong{font-size:.68rem;color:#7d5a11}.info-box p{font-size:.61rem;color:#7c6b47;margin:3px 0 0}.switch-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.switch-row>span{display:grid}.switch-row strong{font-size:.69rem}.switch-row small{font-size:.58rem;color:var(--muted)}.switch-row input{position:absolute;opacity:0}.switch-row i{width:38px;height:22px;border-radius:999px;background:#cbd3df;position:relative}.switch-row i:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.switch-row input:checked+i{background:var(--green)}.switch-row input:checked+i:after{left:19px}.sticky-save{position:sticky;top:94px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;gap:6px}.sticky-save small{text-align:center;font-size:.58rem;color:var(--muted)}.fiscal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.7fr);gap:17px;align-items:start}.fiscal-layout>.panel,.backup-layout>.panel{padding:19px}.fiscal-list{display:grid;gap:8px}.fiscal-item{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:10px}.fiscal-item.active{background:var(--green-soft);border-color:#9ed7c1}.fy-calendar{width:47px;height:50px;display:grid;text-align:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.fy-calendar span{font-size:.55rem;background:var(--navy);color:#fff}.fy-calendar b{display:grid;place-items:center;color:var(--green)}.fy-copy{flex:1}.fy-copy>div{display:flex;align-items:center;gap:7px}.fy-copy h3{font-size:.74rem;margin:0}.fy-copy p{font-size:.64rem;color:var(--muted);margin:3px 0}.fy-copy small{font-size:.58rem;color:#7b879a}.backup-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:17px;align-items:start}.backup-layout>aside{display:grid;gap:13px}.backup-list article{display:flex;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.backup-list article:last-child{border-bottom:0}.file-icon{width:41px;height:41px;border-radius:9px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:.61rem;font-weight:900}.backup-list article>div{display:grid;flex:1}.backup-list strong{font-size:.71rem;word-break:break-all}.backup-list small{font-size:.59rem;color:var(--muted)}.security-card{padding:19px;border-radius:13px}.security-card.dark{background:linear-gradient(145deg,var(--navy),#143468);color:#fff}.security-card>span{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:#ffffff1d}.security-card h2{font-size:.95rem}.security-card p,.security-card li{font-size:.64rem;color:#c3d0e7}.security-card ul{padding-left:17px;display:grid;gap:4px}.module-placeholder{min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);align-items:center;gap:50px;max-width:1080px;margin:auto}.placeholder-visual{position:relative}.preview-window{background:#fff;border:1px solid #dfe4ec;border-radius:15px;box-shadow:0 28px 58px #0b1f4520;overflow:hidden;transform:perspective(900px) rotateY(5deg) rotateX(2deg)}.preview-bar{height:33px;background:#f3f5f8;display:flex;align-items:center;gap:5px;padding:0 11px}.preview-bar i{width:7px;height:7px;border-radius:50%;background:#d0d6e0}.preview-layout{display:flex;height:280px}.preview-sidebar{width:80px;background:var(--navy)}.preview-main{flex:1;padding:22px}.preview-title{width:38%;height:14px;border-radius:5px;background:#dce3ee;margin-bottom:17px}.preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-cards i{height:52px;border:1px solid #dce7fa;border-radius:8px;background:#f2f6ff}.preview-table{margin-top:15px;padding:8px;border:1px solid var(--line);border-radius:8px}.preview-table i{display:block;height:21px;border-radius:4px;background:#f3f5f8;margin:5px}.version-orbit{position:absolute;right:-16px;bottom:20px;padding:8px 12px;border-radius:999px;background:var(--green);color:#fff;font-size:.71rem;font-weight:900}.placeholder-copy h1{font-size:2.3rem;margin:7px 0 9px;letter-spacing:-.04em}.placeholder-copy>p{color:var(--muted)}.scope-note{display:flex;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;margin:19px 0}.scope-note strong{display:block;font-size:.72rem}.scope-note span{font-size:.64rem;color:var(--muted)}.empty-state{text-align:center;padding:42px 18px}.empty-state.compact{padding:24px 14px}.empty-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin:0 auto 9px;background:var(--blue-soft);color:var(--blue)}.empty-state h3{font-size:.84rem;margin:5px}.empty-state p{font-size:.66rem;color:var(--muted);margin:0 0 12px}.error-page{text-align:center;padding:65px 20px}.error-page>strong{font-size:4.8rem;color:#dce3ee}.error-page h1{font-size:1.5rem;margin:8px}.error-page p{color:var(--muted)}.alert{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:10px;margin-bottom:15px;font-size:.72rem}.alert>span{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-weight:900}.alert>div{flex:1}.alert button{border:0;background:transparent;font-size:1.1rem}.alert.success{background:var(--green-soft);color:#167953;border:1px solid #cdebdc}.alert.success>span{background:var(--green);color:#fff}.alert.danger{background:var(--red-soft);color:#9f3040;border:1px solid #f4cbd2}.alert.danger>span{background:var(--red);color:#fff}.back-link{font-size:.67rem;color:var(--blue);font-weight:800}.mobile-bottom,.quick-panel{display:none}.sidebar-scrim{display:none}
.auth-body{min-height:100vh;background:#eef2f8}.auth-scene{min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.05fr) minmax(450px,.95fr)}.auth-visual{padding:42px 52px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 75% 15%,#4980ee47,transparent 32%),linear-gradient(150deg,#081a3c,#102d61 70%,#153876)}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand>div:last-child{display:grid}.auth-brand strong{font-size:1rem}.auth-brand span{font-size:.66rem;color:#9fb3d7}.auth-message{max-width:570px}.auth-message .eyebrow{color:#8fb1ff}.auth-message h1{font-size:3rem;line-height:1.08;letter-spacing:-.045em;margin:12px 0 17px}.auth-message>p{color:#bbcae3}.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:32px}.auth-points div{display:grid;border-top:1px solid #ffffff2d;padding-top:10px}.auth-points b{font-size:.64rem;color:#79a3ff}.auth-points span{font-size:.66rem;color:#d4def0}.auth-visual>small{color:#718ab4}.auth-panel{display:grid;place-items:center;padding:42px;background:#fff}.auth-card{width:min(420px,100%)}.auth-heading{margin-bottom:22px}.auth-heading h2{font-size:1.58rem;line-height:1.18;margin:7px 0}.auth-heading p{font-size:.74rem;color:var(--muted)}.form-between{display:flex;justify-content:space-between;align-items:center}.form-between>a{font-size:.67rem;color:var(--blue);font-weight:800}.check{display:flex;gap:6px;align-items:center;font-size:.66rem;color:var(--muted)}.security-note{display:flex;gap:8px;margin-top:13px;padding:9px;border-radius:9px;background:#f7f9fc;color:#718098;font-size:.61rem}.mobile-auth-brand{display:none}
.install-body{background:#f4f6f1}.install-header{height:69px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--navy);color:#fff}.install-brand{display:flex;align-items:center;gap:9px}.install-brand>div:last-child{display:grid}.install-brand strong{font-size:.86rem}.install-brand small{font-size:.61rem;color:#9fb0cf}.install-header>span{font-size:.68rem;color:#a9b8d2}.install-wrap{max-width:1300px;margin:auto;padding:36px 23px 65px}.install-hero{text-align:center;max-width:740px;margin:0 auto 28px}.install-hero h1{font-size:2.2rem;letter-spacing:-.04em;margin:8px 0}.install-hero p{color:var(--muted)}.install-progress{max-width:520px;margin:25px auto 0;display:flex;align-items:center}.install-progress>div{display:grid;justify-items:center;gap:5px;min-width:90px}.install-progress b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dfe4e9;color:#6e7a8d;font-size:.68rem}.install-progress span{font-size:.59rem;color:var(--muted);font-weight:800}.install-progress i{height:2px;background:#dde2e7;flex:1;margin-bottom:17px}.install-progress .done b{background:var(--green);color:#fff}.install-progress .current b{background:var(--blue);color:#fff;box-shadow:0 0 0 5px var(--blue-soft)}.install-alert{max-width:950px;margin:0 auto 18px}.install-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:19px;align-items:start}.requirement-card{position:sticky;top:20px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.section-heading h2{font-size:.95rem;margin:3px 0}.section-heading p{font-size:.64rem;color:var(--muted);margin:2px 0}.requirement-list{display:grid;margin-top:14px}.requirement-list>div{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.requirement-icon{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:.67rem;font-weight:900}.requirement-icon.ok{background:var(--green-soft);color:var(--green)}.requirement-icon.fail{background:var(--red-soft);color:var(--red)}.requirement-list p{display:grid;margin:0}.requirement-list strong{font-size:.66rem}.requirement-list small{font-size:.55rem;color:var(--muted)}.install-form{display:grid;gap:15px}.form-card{padding:21px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}.form-card .section-heading{margin-bottom:17px}.step-kicker{width:29px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:.58rem;font-weight:900}.install-submit{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 17px;background:#fff;border:1px solid var(--line);border-radius:13px}.install-submit>div{display:flex;gap:7px;color:#627089;font-size:.64rem}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(2,1fr)}.role-card-grid{grid-template-columns:repeat(3,1fr)}.roadmap-line{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1024px){:root{--sidebar:228px}.main-content{padding:21px}.dashboard-grid,.dashboard-lower{grid-template-columns:1fr}.role-card-grid{grid-template-columns:repeat(2,1fr)}.settings-layout,.fiscal-layout,.backup-layout{grid-template-columns:1fr}.settings-side{grid-template-columns:1fr 1fr}.sticky-save{position:static}.module-placeholder{grid-template-columns:1fr;gap:34px;padding:28px}.auth-scene{grid-template-columns:minmax(360px,.85fr) minmax(420px,1fr)}.auth-visual{padding:36px}.auth-message h1{font-size:2.45rem}.install-grid{grid-template-columns:1fr}.requirement-card{position:static}.requirement-list{grid-template-columns:repeat(2,1fr);gap:0 18px}}
@media(max-width:820px){.sidebar{width:280px;transform:translateX(-102%);transition:.24s}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-scrim{position:fixed;inset:0;background:#0511278c;z-index:45}.sidebar-scrim.open{display:block}.workspace{margin-left:0;width:100%;padding-bottom:70px}.topbar{height:66px;padding:0 17px}.menu-button{display:grid}.global-search{width:auto;flex:1}.global-search kbd,.fy-chip,.profile-trigger>span:not(.avatar),.profile-trigger>b{display:none}.mobile-bottom{position:fixed;z-index:40;bottom:0;left:0;right:0;height:65px;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 8px;background:#fff;border-top:1px solid var(--line)}.mobile-bottom a,.mobile-bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#7a879b;font-size:.54rem}.mobile-bottom .active{color:var(--blue)}.quick-fab{width:49px!important;height:49px!important;border-radius:50%!important;background:var(--blue)!important;color:#fff!important;margin:-18px auto 0}.quick-panel{display:none;position:fixed;inset:0;z-index:70;align-items:flex-end;background:#0818348c}.quick-panel.open{display:flex}.quick-sheet{width:100%;padding:10px 18px 28px;border-radius:20px 20px 0 0;background:#fff}.sheet-handle{width:42px;height:4px;border-radius:5px;background:#d8dde5;margin:0 auto 11px}.sheet-header{display:flex;justify-content:space-between}.sheet-header button{width:30px;height:30px;border:0;border-radius:50%;background:#f1f3f6}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:13px}.quick-grid a{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:.68rem;font-weight:800}.quick-grid small{color:var(--muted)}.editor-layout,.roles-editor{grid-template-columns:1fr}.auth-scene{display:block;background:#fff}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:26px}.mobile-auth-brand{display:flex;gap:9px;align-items:center;position:absolute;top:20px;left:22px}.auth-card{margin-top:52px}.settings-side{grid-template-columns:1fr}.install-header>span{display:none}}
@media(max-width:620px){html{font-size:14px}.main-content{padding:14px}.page-head{align-items:flex-start}.page-head:not(.dashboard-head){flex-direction:column}.page-head .btn{width:100%}.dashboard-head .status-chip{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:11px;align-items:flex-start}.metric-icon{width:37px;height:37px}.metric-card strong{font-size:1rem}.release-panel,.quick-actions-card,.activity-card,.module-preview{padding:14px}.roadmap-line{grid-template-columns:1fr 1fr}.capability-grid{grid-template-columns:1fr 1fr}.table-toolbar{align-items:stretch;flex-direction:column}.search-form{flex-wrap:wrap}.search-form input{width:100%;flex:1}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.field.full{grid-column:auto}.role-card-grid{grid-template-columns:1fr}.permission-list{grid-template-columns:1fr}.permission-item:nth-child(odd){border-right:0}.fiscal-item{align-items:flex-start;flex-wrap:wrap}.fiscal-item form{width:100%}.fiscal-item form .btn{width:100%}.branding-row{align-items:flex-start}.module-placeholder{padding:4px;min-height:auto}.preview-layout{height:215px}.placeholder-copy h1{font-size:1.75rem}.install-wrap{padding:24px 13px 48px}.install-hero h1{font-size:1.75rem}.install-progress>div{min-width:68px}.requirement-list{grid-template-columns:1fr}.form-card{padding:15px}.install-submit{align-items:stretch;flex-direction:column}.install-submit .btn{width:100%}.auth-panel{padding:21px}.auth-heading h2{font-size:1.4rem}.topbar-actions>.icon-button{display:none}.global-search input{font-size:.72rem}}

/* v0.2.0 Members and Family Records */
.member-page-head{align-items:flex-end}.member-head-actions{flex-wrap:wrap;justify-content:flex-end}.member-metrics{margin-bottom:18px}.member-directory{padding:0;overflow:hidden}.member-view-tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--line);overflow:auto}.member-view-tabs a{padding:14px 12px 12px;color:var(--muted);font-size:.75rem;font-weight:800;border-bottom:3px solid transparent;white-space:nowrap}.member-view-tabs a.active{color:var(--blue);border-color:var(--blue)}.member-view-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;border-radius:9px;background:var(--red-soft);color:var(--red);font-size:.6rem}.member-filters{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(130px,.65fr)) auto auto;gap:8px;padding:15px 18px;background:#fbfcfd;border-bottom:1px solid var(--line)}.member-filters select,.filter-search{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff}.filter-search{display:flex;align-items:center;gap:8px;padding:0 11px}.filter-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:.75rem}.member-filters select{padding:0 10px;color:var(--ink);font-size:.7rem}.filter-clear{align-self:center;color:var(--red);font-size:.68rem;font-weight:800}.member-table-toolbar{padding:11px 18px}.directory-hint{color:var(--muted);font-size:.65rem}.members-table .check-col{width:38px}.member-person{color:inherit}.avatar.photo{object-fit:cover}.stack-cell{display:grid;gap:2px}.stack-cell strong,.stack-cell span{font-size:.72rem}.stack-cell small{color:var(--muted);font-size:.61rem}.status-pill.member-status.active{background:var(--green-soft);color:var(--green)}.status-pill.member-status.visitor{background:var(--blue-soft);color:var(--blue)}.status-pill.member-status.inactive{background:#f0f2f5;color:#687386}.status-pill.member-status.transferred{background:var(--gold-soft);color:#a87305}.status-pill.member-status.deceased,.status-pill.member-status.archived{background:var(--red-soft);color:var(--red)}.bulk-action-bar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#f8fafc}.bulk-action-bar span{margin-right:auto;font-size:.68rem;color:var(--muted)}.bulk-action-bar b{color:var(--blue)}.bulk-action-bar select{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 9px;font-size:.68rem}.member-editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.member-form-main,.member-form-side{display:grid;gap:17px}.member-form-side{position:sticky;top:84px}.member-photo-row{display:flex;align-items:center;gap:18px;padding-bottom:18px;margin-bottom:17px;border-bottom:1px solid var(--line)}.member-photo-preview{width:94px;height:94px;border-radius:18px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;overflow:hidden;flex:none}.member-photo-preview img{width:100%;height:100%;object-fit:cover}.form-note{color:var(--muted);font-size:.6rem}.switch-row.compact{min-height:66px;border:1px solid var(--line);border-radius:10px;padding:10px}.member-save{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-save small{grid-column:1/-1}.duplicate-warning,.duplicate-live{padding:14px 16px;margin-bottom:16px;border:1px solid #f2cf74;border-radius:12px;background:var(--gold-soft)}.duplicate-warning>strong,.duplicate-live>strong{display:block;color:#835d08}.duplicate-warning p,.duplicate-live p{margin:3px 0 9px;color:#7d6b42;font-size:.67rem}.duplicate-warning>div,.duplicate-live>div{display:flex;flex-wrap:wrap;gap:7px}.duplicate-warning a,.duplicate-live a{display:grid;padding:8px 10px;border:1px solid #edcf87;border-radius:8px;background:#fff;min-width:180px}.duplicate-warning a b,.duplicate-live a b{font-size:.68rem}.duplicate-warning a span,.duplicate-live a span{font-size:.58rem;color:var(--muted)}.member-profile-head{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.member-profile-identity{display:flex;align-items:center;gap:16px;min-width:0}.member-profile-photo{width:92px;height:92px;border-radius:20px;object-fit:cover;flex:none;background:var(--blue-soft)}.member-profile-photo.fallback{display:grid;place-items:center;color:var(--blue);font-size:2rem;font-weight:900}.profile-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-title-row h1{margin:4px 0 0;font-size:1.65rem}.member-profile-identity p{margin:4px 0;color:var(--muted);font-size:.72rem}.profile-contact-line{display:flex;gap:14px;flex-wrap:wrap;font-size:.68rem;color:#4e5d75}.profile-tabs{position:sticky;top:66px;z-index:12;display:flex;gap:4px;padding:0 12px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:auto}.profile-tabs a{padding:12px 10px;font-size:.68rem;font-weight:800;color:var(--muted);white-space:nowrap}.profile-tabs a:hover{color:var(--blue)}.profile-tabs span{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-size:.56rem}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:17px;align-items:start}.profile-main,.profile-side{display:grid;gap:17px}.profile-side{position:sticky;top:122px}.profile-section{padding:19px;scroll-margin-top:130px}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-info-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fcfdfd}.profile-info-card.full{grid-column:1/-1}.profile-info-card h3{margin:0 0 10px;font-size:.77rem}.profile-info-card dl,.profile-side-card dl{display:grid;grid-template-columns:125px 1fr;gap:7px 11px;margin:0}.profile-info-card dt,.profile-side-card dt{color:var(--muted);font-size:.62rem}.profile-info-card dd,.profile-side-card dd{margin:0;font-size:.67rem;font-weight:700}.profile-info-card dd small{display:block;color:var(--muted);font-weight:500}.profile-info-card dl.wide{grid-template-columns:135px 1fr}.profile-notes{margin-top:12px;padding:13px;border-radius:10px;background:#f6f8fb}.profile-notes strong{font-size:.68rem}.profile-notes p{margin:5px 0 0;font-size:.67rem;color:#526077}.family-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.family-summary>div{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fcfdfd;display:grid;gap:3px}.family-summary span{font-size:.58rem;color:var(--muted)}.family-summary strong{font-size:.7rem}.family-summary small{font-size:.57rem;color:var(--muted)}.family-member-list{display:grid;margin-top:12px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.family-member-list a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.family-member-list a:last-child{border-bottom:0}.family-member-list a>div{display:grid;flex:1}.family-member-list strong{font-size:.69rem}.family-member-list small{font-size:.59rem;color:var(--muted)}.family-member-list.compact-list{margin:0}.emergency-box{display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px 13px;border-radius:10px;background:var(--red-soft)}.emergency-box strong{font-size:.65rem;color:var(--red)}.emergency-box span{font-size:.67rem;font-weight:700}.emergency-box small{margin-left:auto;color:var(--muted)}.coming-section{border-style:dashed}.coming-inline{display:flex;align-items:center;gap:14px;padding:14px;border-radius:11px;background:#f8fafc;color:var(--blue)}.coming-inline>div{flex:1}.coming-inline strong{display:block;color:var(--ink);font-size:.75rem}.coming-inline p{margin:3px 0 0;color:var(--muted);font-size:.65rem}.document-upload-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:8px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd;margin-bottom:12px}.document-upload-form .field.full{grid-column:1/4}.document-list{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.document-list>div{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.document-list>div:last-child{border-bottom:0}.document-list>div>div{display:grid;flex:1}.document-list strong{font-size:.68rem}.document-list small{font-size:.58rem;color:var(--muted)}.document-icon{width:34px;height:34px;border-radius:9px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}.profile-side-card{padding:16px}.profile-side-card dl{grid-template-columns:95px 1fr;margin-top:10px}.danger-zone{padding:16px;border-color:#f1c7ce;background:#fffafb}.danger-zone h3{margin:4px 0;font-size:.8rem}.danger-zone p{font-size:.62rem;color:var(--muted)}.btn.danger{background:var(--red);color:#fff;border-color:var(--red)}.recent-member-list{display:grid}.recent-member-list a{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.recent-member-list a:last-child{border:0}.recent-member-list a>div{display:grid;flex:1}.recent-member-list strong{font-size:.7rem}.recent-member-list small{font-size:.6rem;color:var(--muted)}.next-module-banner{margin-top:17px;padding:15px}.roadmap-step.done b{background:var(--green);color:#fff}.import-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px;align-items:start}.import-guide{padding:18px;position:sticky;top:84px}.import-guide h2{margin:4px 0 12px;font-size:1rem}.import-guide ol{padding-left:18px;color:#526077;font-size:.68rem}.import-guide li{margin-bottom:7px}.import-guide p{padding:10px;border-radius:9px;background:var(--blue-soft);font-size:.64rem}.import-form{display:grid;gap:14px}.csv-drop{min-height:190px;border:2px dashed #b9c5d9;border-radius:14px;background:#fafcff;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;cursor:pointer}.csv-drop input{position:absolute;opacity:0;pointer-events:none}.csv-drop span{color:var(--blue)}.csv-drop strong{font-size:.8rem}.csv-drop small{color:var(--muted);font-size:.62rem}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px;margin-bottom:16px}.import-summary>div{padding:12px;border-radius:10px;background:var(--blue-soft);display:grid}.import-summary .success{background:var(--green-soft)}.import-summary .warning{background:var(--gold-soft)}.import-summary span{font-size:.6rem;color:var(--muted)}.import-summary strong{font-size:1.2rem}.import-errors{padding:17px;margin-bottom:16px}.import-errors ol{max-height:240px;overflow:auto;padding-left:22px;font-size:.66rem;color:#6c4c1b}.household-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:17px;align-items:start}.household-side{display:grid;gap:17px;position:sticky;top:84px}
@media(max-width:1180px){.member-filters{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(130px,.6fr))}.member-filters select:nth-of-type(3){display:none}.member-editor{grid-template-columns:minmax(0,1fr) 300px}.family-summary{grid-template-columns:1fr 1fr}}
@media(max-width:920px){.member-editor,.profile-layout,.household-editor,.import-layout{grid-template-columns:1fr}.member-form-side,.profile-side,.household-side,.import-guide{position:static}.profile-side{grid-template-columns:1fr 1fr}.member-filters{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.document-upload-form{grid-template-columns:1fr 1fr}.document-upload-form .field.full{grid-column:1/-1}.document-upload-form .btn{grid-column:1/-1}.member-profile-head{align-items:flex-start;flex-direction:column}.member-profile-head .head-actions{width:100%;flex-wrap:wrap}}
@media(max-width:620px){.member-head-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.member-head-actions .btn{width:auto}.member-metrics{grid-template-columns:1fr 1fr}.member-view-tabs{padding:0 8px}.member-filters{grid-template-columns:1fr;padding:12px}.filter-search{grid-column:auto}.member-filters select:nth-of-type(3){display:block}.members-table thead{display:none}.members-table,.members-table tbody,.members-table tr,.members-table td{display:block;width:100%}.members-table tr{position:relative;padding:11px 44px 11px 12px;border-bottom:1px solid var(--line)}.members-table td{border:0!important;padding:4px 0!important}.members-table td:first-child{position:absolute;right:10px;top:12px;width:auto}.members-table td:last-child{position:absolute;right:8px;bottom:10px;width:auto}.members-table td:nth-child(3),.members-table td:nth-child(4),.members-table td:nth-child(6){display:inline-block;width:auto;margin-right:12px}.bulk-action-bar{align-items:stretch;flex-direction:column}.bulk-action-bar span{margin:0}.member-photo-row{align-items:flex-start}.member-photo-preview{width:78px;height:78px}.member-profile-identity{align-items:flex-start}.member-profile-photo{width:72px;height:72px}.profile-title-row h1{font-size:1.3rem}.profile-contact-line{display:grid;gap:2px}.profile-tabs{top:65px;border-radius:0;margin-left:-14px;margin-right:-14px}.profile-info-grid,.profile-side,.family-summary{grid-template-columns:1fr}.profile-info-card.full{grid-column:auto}.profile-info-card dl,.profile-info-card dl.wide{grid-template-columns:105px 1fr}.document-upload-form{grid-template-columns:1fr}.document-upload-form .field.full,.document-upload-form .btn{grid-column:auto}.document-list>div{align-items:flex-start;flex-wrap:wrap}.document-list>div>div{min-width:180px}.emergency-box{align-items:flex-start;flex-direction:column}.emergency-box small{margin:0}.import-summary{grid-template-columns:1fr 1fr 1fr}.household-editor .form-grid.two{grid-template-columns:1fr}}

/* v0.2.0 household lifecycle views */
.view-switcher{display:inline-flex;gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.view-switcher a{padding:8px 12px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}
.view-switcher a:hover{color:var(--navy);background:#f6f8fb}
.view-switcher a.active{color:#fff;background:var(--navy)}
@media(max-width:640px){.view-switcher{display:flex;width:100%}.view-switcher a{flex:1;text-align:center}}

/* v0.3.0 income operations */
.finance-head-actions{flex-wrap:wrap;justify-content:flex-end}.income-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.income-directory{overflow:hidden}.income-tabs{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 18px}.income-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(125px,.7fr));gap:9px;padding:15px 18px;border-bottom:1px solid var(--line);align-items:center}.income-filters input,.income-filters select{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;min-width:0;color:#43506a;font-size:.72rem}.income-filters .filter-search{position:relative}.income-filters .filter-search span{position:absolute;left:10px;top:10px;color:#8491a5}.income-filters .filter-search input{width:100%;padding-left:35px}.income-filters .filter-clear{font-size:.7rem;color:var(--blue);font-weight:800;text-align:center}.income-table td{vertical-align:middle}.income-table .strong-link strong{color:#244f9e}.money-col{text-align:right;white-space:nowrap}.money-col strong{font-variant-numeric:tabular-nums}.money-col.negative,.negative{color:var(--red)!important}.reversal-row{background:#fff8f2}.finance-status.pending{background:var(--gold-soft);color:#a06d0f}.finance-status.approved{background:var(--green-soft);color:#15724e}.finance-status.reversed,.finance-status.reversal{background:var(--red-soft);color:#af3145}.finance-status.void{background:#eef1f5;color:#69758c}.income-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:17px;align-items:start}.income-form-main{display:grid;gap:17px}.income-form-side{display:grid;gap:17px;position:sticky;top:94px}.amount-field .money-input{height:43px;display:flex;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.money-input b{display:grid;place-items:center;padding:0 12px;background:#f0f3f8;color:#5d6b81;font-size:.67rem;border-right:1px solid var(--line)}.money-input input{border:0!important;border-radius:0!important;height:100%!important;font-size:1rem!important;font-weight:800;font-variant-numeric:tabular-nums}.member-lookup-field{position:relative}.member-lookup-field>b,.member-lookup-field>span b{color:var(--red)}.member-search-control{display:flex;align-items:center;height:43px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.member-search-control>span{padding:0 10px;color:#8491a5}.member-search-control input{border:0!important;height:100%!important;flex:1;min-width:0}.member-search-control button{height:100%;width:38px;border:0;background:transparent;color:#8a96aa;font-size:1.2rem}.member-search-results{display:none;position:absolute;z-index:20;left:0;right:0;top:67px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 38px #0b1f4522;max-height:250px;overflow:auto}.member-search-results.open{display:block}.member-search-result{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 12px;text-align:left;display:grid;gap:2px}.member-search-result:hover{background:#f6f9ff}.member-search-result strong{font-size:.72rem}.member-search-result small{font-size:.61rem;color:var(--muted)}.selected-member-note{color:var(--muted);font-size:.62rem;margin-top:5px}.workflow-card{display:flex;gap:12px;padding:13px;border-radius:11px;margin-bottom:12px}.workflow-card.enabled{background:var(--gold-soft);color:#a36c09}.workflow-card.automatic{background:var(--green-soft);color:#167953}.workflow-card>div{color:var(--ink)}.workflow-card strong{font-size:.72rem}.workflow-card p{margin:3px 0 0;color:var(--muted);font-size:.62rem}.finance-help-card{padding:17px}.finance-help-card ul{margin:10px 0 0;padding-left:18px;color:#536178;font-size:.65rem}.finance-help-card li{margin:6px 0}.income-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px;align-items:start}.income-profile-main,.income-profile-side{display:grid;gap:17px}.income-profile-side{position:sticky;top:94px}.income-hero-card{padding:18px;display:flex;align-items:center;gap:14px}.income-hero-icon{width:57px;height:57px;border-radius:16px;display:grid;place-items:center;flex:none}.income-hero-icon.offering{background:var(--blue-soft);color:var(--blue)}.income-hero-icon.tithe{background:var(--green-soft);color:var(--green)}.income-hero-icon.mission_offering{background:var(--gold-soft);color:var(--gold)}.income-hero-card>div:nth-child(2){display:grid}.income-hero-card>div:nth-child(2)>span{font-size:.65rem;color:var(--muted);font-weight:800}.income-hero-card>div:nth-child(2)>strong{font-size:1.65rem;letter-spacing:-.04em}.income-hero-card>div:nth-child(2)>small{font-size:.62rem;color:var(--muted)}.income-member-chip{margin-left:auto;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;min-width:220px}.income-member-chip>div{display:grid}.income-member-chip strong{font-size:.69rem}.income-member-chip small{font-size:.58rem;color:var(--muted)}.income-member-chip.general{cursor:default}.workflow-action-card{padding:17px}.workflow-action-card h3,.danger-zone h3{margin:5px 0;font-size:.88rem}.workflow-action-card p{font-size:.63rem;color:var(--muted)}.reason-form{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.settings-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:17px;align-items:start}.income-settings-workspace>.form-panel{position:sticky;top:94px}.settings-list-panel{padding:18px}.settings-record-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.settings-record-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.settings-record-list article:last-child{border-bottom:0}.settings-record-list article>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.settings-record-list article>div:first-child>div{display:grid;min-width:0}.settings-record-list strong{font-size:.72rem}.settings-record-list small{font-size:.6rem;color:var(--muted)}.settings-record-list em{font-size:.58rem;color:#7a879b;font-style:normal}.type-dot{width:11px;height:11px;border-radius:50%;flex:none}.type-dot.offering{background:var(--blue)}.type-dot.tithe{background:var(--green)}.type-dot.mission_offering{background:var(--gold)}.account-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;flex:none}.account-icon.cash{background:var(--green-soft);color:var(--green)}.account-icon.bank{background:var(--blue-soft);color:var(--blue)}.account-icon.mobile_wallet{background:var(--purple-soft);color:var(--purple)}.account-icon.other{background:#eef1f5;color:#637089}.receipt-document{max-width:850px;margin:auto;background:#fff}.receipt-amount{margin:25px 0;padding:24px;border:1px solid #dfe5ee;border-radius:14px;text-align:center;display:grid}.receipt-amount span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#6c788b}.receipt-amount strong{font-size:34px}.receipt-amount small{color:#6c788b}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.receipt-grid>div{padding:14px;border:1px solid #e4e8ef;border-radius:10px;display:grid}.receipt-grid span,.receipt-footer span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#758195}.receipt-grid strong{font-size:14px}.receipt-grid small{font-size:11px;color:#758195}.receipt-notes{margin:18px 0;padding:14px;border:1px solid #e4e8ef;border-radius:10px}.receipt-notes p{font-size:12px;color:#4d5a70}.receipt-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:32px}.receipt-footer>div{padding-top:28px;border-top:1px solid #8b96a8;display:grid}.print-disclaimer{text-align:center;font-size:10px;color:#8993a3;margin-top:30px}.income-trend{display:grid;gap:9px}.income-trend-row{display:grid;grid-template-columns:72px minmax(0,1fr) 105px;gap:10px;align-items:center}.income-trend-row>span{font-size:.62rem;color:var(--muted)}.income-trend-track{height:10px;background:#edf0f4;border-radius:999px;overflow:hidden}.income-trend-track i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:999px}.income-trend-row strong{text-align:right;font-size:.65rem;font-variant-numeric:tabular-nums}.recent-income-list{display:grid}.recent-income-list a{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.recent-income-list a:last-child{border-bottom:0}.recent-income-list>a>div{display:grid;flex:1}.recent-income-list strong{font-size:.69rem}.recent-income-list small{font-size:.59rem;color:var(--muted)}.income-mini-amount{font-size:.67rem;font-weight:900;font-variant-numeric:tabular-nums}.finance-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr)}
@media(max-width:1200px){.income-filters{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(125px,.7fr))}.income-editor{grid-template-columns:minmax(0,1fr) 300px}.income-profile-layout{grid-template-columns:minmax(0,1fr) 280px}.income-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:920px){.income-editor,.income-profile-layout,.settings-workspace{grid-template-columns:1fr}.income-form-side,.income-profile-side,.income-settings-workspace>.form-panel{position:static}.income-filters{grid-template-columns:1fr 1fr}.income-filters .filter-search{grid-column:1/-1}.finance-head-actions{width:100%;justify-content:flex-start}.income-member-chip{min-width:0}.finance-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:650px){.income-metrics{grid-template-columns:1fr 1fr}.income-filters{grid-template-columns:1fr;padding:12px}.income-filters .filter-search{grid-column:auto}.income-table thead{display:none}.income-table,.income-table tbody,.income-table tr,.income-table td{display:block;width:100%}.income-table tr{position:relative;padding:12px 12px 12px 12px;border-bottom:1px solid var(--line)}.income-table td{border:0!important;padding:4px 0!important}.income-table td.money-col{text-align:left}.income-table td:last-child{position:absolute;right:8px;top:8px;width:auto}.income-table td:nth-child(7){position:absolute;right:48px;top:11px;width:auto}.income-hero-card{align-items:flex-start;flex-wrap:wrap}.income-member-chip{width:100%;margin-left:0}.receipt-grid,.receipt-footer{grid-template-columns:1fr}.settings-record-list article{align-items:flex-start;flex-direction:column}.settings-record-list article>.row-actions{width:100%;justify-content:flex-end}.income-editor .form-grid.two{grid-template-columns:1fr}.income-metrics .metric-card strong{font-size:1rem}.income-profile-main .profile-info-grid{grid-template-columns:1fr}}

/* v0.3.0 dashboard and member contribution workspace */
.income-chart-card,.recent-income-card{padding:19px}.income-total-chip{display:grid;text-align:right}.income-total-chip small{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.income-total-chip strong{font-size:.86rem;color:#166f50}.income-chart-legend{display:flex;gap:15px;margin:0 0 12px;font-size:.62rem;color:var(--muted)}.income-chart-legend span{display:flex;align-items:center;gap:5px}.income-chart-legend i{width:8px;height:8px;border-radius:50%}.income-chart-legend .offering,.income-bars .offering{background:var(--blue)}.income-chart-legend .tithe,.income-bars .tithe{background:var(--green)}.income-chart-legend .mission,.income-bars .mission{background:var(--gold)}.income-bar-chart{height:245px;display:grid;grid-template-columns:repeat(6,minmax(45px,1fr));gap:12px;align-items:end;padding:18px 8px 0;border-top:1px solid var(--line);background:linear-gradient(to top,transparent 24%,#edf0f4 25%,transparent 25%,transparent 49%,#edf0f4 50%,transparent 50%,transparent 74%,#edf0f4 75%,transparent 75%)}.income-bar-group{height:100%;display:grid;grid-template-rows:1fr 22px;gap:5px;min-width:0}.income-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}.income-bars i{width:min(17px,27%);min-height:3px;border-radius:5px 5px 2px 2px;opacity:.92;transition:height .2s ease}.income-bar-group>span{text-align:center;font-size:.6rem;color:var(--muted);font-weight:800}.recent-income-list>a>span:last-child{display:grid;text-align:right}.recent-income-list>a>span:last-child b{font-size:.67rem;font-variant-numeric:tabular-nums}.status-text{font-size:.55rem!important;text-transform:uppercase;letter-spacing:.04em;font-weight:900}.status-text.pending{color:#a06d0f}.status-text.approved{color:#15724e}.status-text.void{color:#7a879b}.income-type-dot{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}.income-type-dot.offering{background:var(--blue-soft);color:var(--blue)}.income-type-dot.tithe{background:var(--green-soft);color:var(--green)}.income-type-dot.mission_offering{background:var(--gold-soft);color:var(--gold)}.restricted-panel{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px dashed #ccd5e3;border-radius:12px;background:#fafbfd;color:#60708a}.restricted-panel>div{display:grid}.restricted-panel strong{font-size:.74rem;color:var(--ink)}.restricted-panel p{margin:3px 0 0;font-size:.64rem}.contribution-summary-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:10px;margin-bottom:15px}.contribution-summary-grid>div{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;display:grid}.contribution-summary-grid span{font-size:.6rem;color:var(--muted);font-weight:800}.contribution-summary-grid strong{font-size:.9rem;font-variant-numeric:tabular-nums}.contribution-summary-grid small{font-size:.56rem;color:var(--muted)}.member-contribution-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.member-contribution-list a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.member-contribution-list a:last-child{border-bottom:0}.member-contribution-list a:hover{background:#fafcff}.member-contribution-list a>div{display:grid;flex:1;min-width:0}.member-contribution-list strong{font-size:.68rem}.member-contribution-list small{font-size:.58rem;color:var(--muted)}.member-contribution-list a>span:last-child{display:grid;text-align:right}.member-contribution-list a>span:last-child b{font-size:.67rem;font-variant-numeric:tabular-nums}
@media(max-width:920px){.income-bar-chart{height:215px}.contribution-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.income-metric-grid{grid-template-columns:1fr 1fr}.income-bar-chart{height:190px;gap:6px;padding-left:0;padding-right:0}.income-bars{gap:2px}.income-bars i{width:28%}.contribution-summary-grid{grid-template-columns:1fr 1fr}.member-contribution-list a{align-items:flex-start}.member-contribution-list a>span:last-child{min-width:85px}.recent-income-list>a>span:last-child{min-width:90px}}

/* v0.3.1 dashboard UI and cache hotfix */
.dashboard-welcome{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:23px 24px;border:1px solid #dce4f1;border-radius:18px;background:linear-gradient(120deg,#ffffff 0%,#f7faff 62%,#eef5ff 100%);box-shadow:0 10px 28px #10254a0a;overflow:hidden}.dashboard-welcome:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-65px;bottom:-110px;background:linear-gradient(135deg,#376ce621,#1f9d6a18);pointer-events:none}.dashboard-welcome-copy{position:relative;z-index:1;min-width:0}.dashboard-welcome-copy h1{margin:5px 0 6px;font-size:1.72rem;line-height:1.12;letter-spacing:-.035em}.dashboard-welcome-copy p{margin:0;color:var(--muted);font-size:.86rem}.dashboard-welcome-copy p strong{color:#33415a}.dashboard-welcome-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.dashboard-context-chip{min-height:39px;display:flex;align-items:center;gap:8px;padding:6px 11px;border:1px solid #dce4f1;border-radius:10px;background:#fff;color:#53617a}.dashboard-context-chip>span{display:grid}.dashboard-context-chip small{font-size:.53rem;text-transform:uppercase;letter-spacing:.07em;color:#8591a5;font-weight:800;line-height:1.15}.dashboard-context-chip strong{font-size:.7rem;line-height:1.2}.dashboard-metric-grid{gap:15px;margin-bottom:18px}.dashboard-metric{position:relative;min-height:94px;padding:16px 17px;overflow:hidden;box-shadow:0 5px 18px #10254a08;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--blue)}.dashboard-metric.green:before{background:var(--green)}.dashboard-metric.gold:before{background:var(--gold)}.dashboard-metric.purple:before{background:var(--purple)}.dashboard-metric:hover{transform:translateY(-2px);box-shadow:0 10px 25px #10254a10;border-color:#d7dfeb}.dashboard-metric .metric-icon{width:48px;height:48px}.dashboard-metric span{font-size:.68rem;text-transform:uppercase;letter-spacing:.025em}.dashboard-metric strong{font-size:1.22rem;line-height:1.2;margin:2px 0;font-variant-numeric:tabular-nums}.dashboard-metric small{line-height:1.25}.dashboard-primary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.8fr);gap:18px;align-items:stretch}.dashboard-chart-card,.dashboard-recent-card,.dashboard-quick-panel,.dashboard-list-card,.dashboard-role-panel{padding:20px}.dashboard-panel-head{margin-bottom:16px;align-items:flex-start}.dashboard-panel-head h2{font-size:1.04rem;letter-spacing:-.015em}.dashboard-panel-head p{margin:4px 0 0;color:var(--muted);font-size:.66rem}.income-total-chip{min-width:145px;padding:9px 11px;border:1px solid #dce7e2;border-radius:11px;background:linear-gradient(135deg,#f5fbf8,#ecf8f2);text-align:right}.income-total-chip small{display:block}.income-total-chip strong{display:block;margin-top:2px;font-size:.98rem}.income-chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.income-chart-legend{margin:0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.income-chart-legend span{white-space:nowrap}.record-count-chip{padding:5px 8px;border-radius:999px;background:#f3f5f8;color:#6e7a8e;font-size:.58rem;font-weight:800;white-space:nowrap}.income-chart-frame{position:relative;height:266px;padding:8px 8px 0;border:1px solid #eef1f5;border-radius:12px;background:linear-gradient(180deg,#fbfcfe,#fff);overflow:hidden}.chart-grid-lines{position:absolute;inset:18px 8px 31px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-grid-lines i{display:block;border-top:1px dashed #e5eaf1}.income-bar-chart{position:relative;z-index:1;height:100%;padding:14px 6px 0;border-top:0;background:none;gap:16px}.income-bar-group{grid-template-rows:1fr 25px;gap:6px}.income-bars{gap:5px}.income-bars i{width:min(18px,28%);border-radius:6px 6px 2px 2px;box-shadow:inset 0 -1px 0 #00000012}.income-bar-group>span{font-size:.62rem;color:#66748a}.chart-empty-state{height:266px;border:1px dashed #dbe2ec;border-radius:12px;background:linear-gradient(180deg,#fbfcfe,#f8fafc);display:flex;align-items:center;justify-content:center;gap:13px;padding:24px;text-align:left;color:var(--muted)}.chart-empty-icon{width:48px;height:48px;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:none}.chart-empty-state>div:last-child{display:grid;max-width:330px}.chart-empty-state strong{font-size:.8rem;color:var(--ink)}.chart-empty-state p{margin:4px 0 0;font-size:.65rem}.dashboard-recent-card{display:flex;flex-direction:column}.dashboard-recent-card .dashboard-income-list{flex:1}.dashboard-income-list a{padding:11px 0}.dashboard-income-list a:first-child{padding-top:2px}.dashboard-income-list>a>div{min-width:0}.dashboard-income-list strong,.dashboard-member-list strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-income-list>a>span:last-child{min-width:102px}.dashboard-empty-state{min-height:220px;display:flex;flex-direction:column;justify-content:center;margin:0}.dashboard-empty-state .empty-icon{margin-bottom:9px}.dashboard-empty-state h3{margin:0 0 4px;font-size:.78rem}.dashboard-empty-state p{max-width:280px;margin:0 auto;font-size:.62rem}.dashboard-quick-panel{margin-top:18px}.dashboard-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.dashboard-action-card{position:relative;min-height:94px;display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.dashboard-action-card:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--blue)}.dashboard-action-card.green:after{background:var(--green)}.dashboard-action-card.gold:after{background:var(--gold)}.dashboard-action-card.purple:after{background:var(--purple)}.dashboard-action-card:hover{transform:translateY(-2px);border-color:#d4deeb;box-shadow:0 8px 20px #10254a0d}.dashboard-action-card .action-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}.dashboard-action-card>div{display:grid;min-width:0;flex:1}.dashboard-action-card strong{font-size:.72rem}.dashboard-action-card small{margin-top:3px;color:var(--muted);font-size:.59rem;line-height:1.25}.action-arrow{color:#9aa6b8;flex:none}.dashboard-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:stretch}.dashboard-list-card{min-width:0}.dashboard-member-list a{padding:10px 0}.dashboard-member-list>a:last-child{border-bottom:0}.dashboard-timeline .timeline-item{grid-template-columns:13px minmax(0,1fr) auto;gap:9px;padding:10px 0}.dashboard-timeline .timeline-item:first-child{padding-top:2px}.dashboard-timeline code{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-next-banner{margin-top:18px;padding:16px 19px;background:linear-gradient(115deg,#fff,#f9fbff)}.dashboard-next-banner .coming-inline{align-items:center}.dashboard-next-banner p{margin:3px 0 0}.dashboard-role-panel{margin-bottom:18px}.wave{display:inline-block;transform-origin:70% 70%}.next-module-banner{margin-top:17px}
@media(max-width:1250px){.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.dashboard-primary-grid{grid-template-columns:1fr}.dashboard-recent-card .dashboard-empty-state{min-height:170px}.dashboard-secondary-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-welcome{align-items:flex-start;flex-direction:column;padding:19px}.dashboard-welcome-actions{width:100%;justify-content:flex-start}.dashboard-context-chip{order:3}.dashboard-metric-grid{grid-template-columns:1fr 1fr}.dashboard-chart-card,.dashboard-recent-card,.dashboard-quick-panel,.dashboard-list-card{padding:16px}.income-chart-frame,.chart-empty-state{height:225px}.income-chart-toolbar{align-items:flex-start;flex-direction:column}.record-count-chip{align-self:flex-start}.income-bar-chart{gap:8px}.dashboard-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.dashboard-welcome-copy h1{font-size:1.42rem}.dashboard-welcome-actions .status-chip,.dashboard-welcome-actions .btn{flex:1}.dashboard-context-chip{width:100%}.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-metric{min-height:86px}.dashboard-action-grid{grid-template-columns:1fr}.income-total-chip{min-width:0}.dashboard-panel-head{flex-wrap:wrap}.income-chart-legend{gap:10px}.income-chart-frame,.chart-empty-state{height:205px}.income-bars{gap:2px}.dashboard-income-list>a{align-items:flex-start}.dashboard-income-list>a>span:last-child{min-width:82px}.dashboard-next-banner .version-badge{display:none}}

/* v0.4.0 pledges and pledge payments */
.pledge-metric-grid{margin-bottom:18px}.pledge-directory{padding:20px}.pledge-filters{grid-template-columns:minmax(240px,1.5fr) repeat(5,minmax(130px,.7fr)) auto auto}.pledge-table td{vertical-align:middle}.pledge-table .money-col small{display:block;color:var(--gold);font-size:.58rem;margin-top:2px}.pledge-status.pending{background:#fff7e6;color:#9a6700}.pledge-status.partially_paid{background:#eef4ff;color:#2458b5}.pledge-status.completed{background:#eaf8f1;color:#147a52}.pledge-status.overdue{background:#fff0f0;color:#b33a3a}.pledge-status.cancelled{background:#f0f2f5;color:#697386}.pledge-editor{align-items:start}.pledge-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.pledge-profile-main,.pledge-profile-side{display:grid;gap:18px}.pledge-hero-card{padding:22px}.pledge-member-identity{display:flex;align-items:center;gap:13px}.pledge-member-identity h2{margin:2px 0 3px;font-size:1.14rem}.pledge-member-identity a{font-size:.68rem;color:var(--blue);font-weight:750}.pledge-progress-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 13px}.pledge-progress-summary>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafcff}.pledge-progress-summary span,.pledge-kpi span{display:block;font-size:.59rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.pledge-progress-summary strong,.pledge-kpi strong{display:block;margin-top:4px;font-size:.9rem}.pledge-progress{height:10px;border-radius:999px;background:#edf1f6;overflow:hidden}.pledge-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#35b989)}.pledge-progress-label{display:block;margin-top:7px;color:var(--muted);font-size:.62rem}.pledge-payment-list,.member-pledge-list,.dashboard-recent-pledges{display:grid}.pledge-payment-list>a,.member-pledge-list>a,.dashboard-recent-pledges>a{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.pledge-payment-list>a:last-child,.member-pledge-list>a:last-child,.dashboard-recent-pledges>a:last-child{border-bottom:0}.pledge-payment-list>a:hover,.member-pledge-list>a:hover,.dashboard-recent-pledges>a:hover{background:#fafcff}.pledge-payment-list>a>div,.member-pledge-list>a>div,.dashboard-recent-pledges>a>div{display:grid;min-width:0;flex:1}.pledge-payment-list strong,.member-pledge-list strong,.dashboard-recent-pledges strong{font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pledge-payment-list small,.member-pledge-list small,.dashboard-recent-pledges small{font-size:.58rem;color:var(--muted)}.pledge-payment-list>a>span:last-child,.member-pledge-list>a>span:last-child,.dashboard-recent-pledges>a>span:last-child{display:grid;text-align:right;min-width:105px}.pledge-payment-list b,.member-pledge-list b,.dashboard-recent-pledges b{font-size:.68rem;font-variant-numeric:tabular-nums}.pledge-payment-form{display:grid;gap:11px}.form-grid.compact{grid-template-columns:1fr 1fr;gap:9px}.pledge-types-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr)}.pledge-type-row{align-items:end}.pledge-type-row .form-grid{flex:1}.inline-toggle{text-align:right;margin:-7px 13px 10px}.dashboard-pledge-panel{margin-top:18px;padding:20px}.dashboard-pledge-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,.6fr)) minmax(280px,1.5fr);gap:12px;align-items:stretch}.pledge-kpi{padding:15px;border:1px solid #dce4f1;border-radius:13px;background:linear-gradient(145deg,#f7faff,#fff)}.pledge-kpi.green{background:linear-gradient(145deg,#eef9f4,#fff)}.pledge-kpi.gold{background:linear-gradient(145deg,#fff8e9,#fff)}.dashboard-recent-pledges{padding:0 4px}.print-summary{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:10px;margin:18px 0}.print-summary>div{padding:12px;border:1px solid #ddd}.print-summary span,.print-summary small{display:block;font-size:11px;color:#666}.print-summary strong{display:block;margin:3px 0}.positive{color:var(--green)}
@media(max-width:1250px){.pledge-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-pledge-grid{grid-template-columns:repeat(3,1fr)}.dashboard-recent-pledges{grid-column:1/-1}.pledge-profile-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:920px){.pledge-profile-layout{grid-template-columns:1fr}.pledge-profile-side{grid-template-columns:1fr 1fr}.pledge-types-layout{grid-template-columns:1fr}.pledge-progress-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.pledge-filters{grid-template-columns:1fr}.pledge-directory{padding:15px}.pledge-profile-side{grid-template-columns:1fr}.pledge-progress-summary{grid-template-columns:1fr}.dashboard-pledge-grid{grid-template-columns:1fr}.dashboard-recent-pledges{grid-column:auto}.form-grid.compact{grid-template-columns:1fr}.print-summary{grid-template-columns:1fr 1fr}}
.error-reference{display:block;margin:8px 0 18px;color:#7d899c;font-size:.68rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* Church ERP v0.5.0 — Expenses */
.metric-card.red .metric-icon,.action-icon.red{background:#fff0f0;color:#c33d3d}.dashboard-metric.red:before,.dashboard-action-card.red:after{background:#d34a4a}.expense-metrics .metric-card.red{border-left-color:#d34a4a}.expense-directory{padding:20px}.expense-filters{grid-template-columns:minmax(250px,1.5fr) repeat(6,minmax(130px,.72fr)) auto auto}.expense-table td{vertical-align:middle}.expense-record-hero{border-top:3px solid #d34a4a}.expense-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.inline-editor{position:relative}.inline-editor>summary{list-style:none;cursor:pointer}.inline-editor>summary::-webkit-details-marker{display:none}.inline-editor-form{position:absolute;z-index:15;right:0;top:calc(100% + 7px);width:300px;display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 36px #10254a24}.inline-editor-form input,.inline-editor-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}.dashboard-expense-panel{margin-top:18px;padding:20px}.dashboard-expense-grid{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(160px,.65fr) minmax(220px,.9fr) minmax(300px,1.35fr);gap:12px;align-items:stretch}.expense-kpi{padding:15px;border:1px solid #f0dede;border-radius:13px;background:linear-gradient(145deg,#fff4f4,#fff)}.expense-kpi.gold{border-color:#efe3c7;background:linear-gradient(145deg,#fff8e9,#fff)}.expense-kpi span{display:block;font-size:.59rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.expense-kpi strong{display:block;margin-top:4px;font-size:.9rem}.expense-kpi small{display:block;margin-top:4px;color:var(--muted);font-size:.58rem}.expense-category-list{padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.expense-category-list>div:not(.empty-state){display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.64rem}.expense-category-list>div:last-child{border-bottom:0}.expense-category-list strong{font-variant-numeric:tabular-nums}.dashboard-recent-expenses{display:grid;padding:0 4px}.dashboard-recent-expenses>a{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.dashboard-recent-expenses>a:last-child{border-bottom:0}.dashboard-recent-expenses>a>div{display:grid;min-width:0;flex:1}.dashboard-recent-expenses strong{font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-recent-expenses small{font-size:.58rem;color:var(--muted)}.dashboard-recent-expenses>a>span:last-child{display:grid;text-align:right;min-width:105px}.dashboard-recent-expenses b{font-size:.68rem;font-variant-numeric:tabular-nums}.income-type-dot.expense{background:#fff0f0;color:#c33d3d}.negative{color:#bb3434!important}.expense-editor .finance-help-card li::marker{color:#d34a4a}
@media(max-width:1250px){.expense-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-expense-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-recent-expenses{grid-column:1/-1}.expense-profile-grid{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:900px){.expense-profile-grid{grid-template-columns:1fr}.dashboard-expense-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.expense-directory{padding:15px}.expense-filters{grid-template-columns:1fr}.dashboard-expense-grid{grid-template-columns:1fr}.dashboard-recent-expenses{grid-column:auto}.inline-editor-form{position:fixed;left:14px;right:14px;top:auto;bottom:85px;width:auto}.expense-profile-grid{grid-template-columns:1fr}}

/* Church ERP v0.6.0 — Reports and printing (preserved baseline styles) */
.report-page-head{align-items:flex-start}.report-page-head>div:first-child{max-width:760px}.report-period-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#536078;font-size:.65rem;font-weight:800;white-space:nowrap}.report-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-filter-panel{padding:16px 18px;margin-bottom:17px}.report-period-form{display:grid;grid-template-columns:minmax(155px,.9fr) repeat(4,minmax(145px,.75fr)) auto;gap:10px;align-items:end}.report-period-form label,.report-secondary-filters label,.member-report-filters label{display:grid;gap:5px}.report-period-form label>span,.report-secondary-filters label>span,.member-report-filters label>span{font-size:.58rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:800}.report-period-form input,.report-period-form select,.report-secondary-filters input,.report-secondary-filters select,.member-report-filters input,.member-report-filters select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;color:var(--ink);font:inherit}.report-period-form [hidden],.report-period-form [hidden] *{display:none!important}.report-secondary-filters{display:grid;grid-template-columns:minmax(230px,1fr) minmax(170px,.55fr) auto;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.report-secondary-filters.wide{grid-template-columns:minmax(150px,.55fr) minmax(200px,.75fr) minmax(260px,1.2fr) auto}.report-context-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 2px 14px;color:var(--muted);font-size:.64rem}.report-context-line span{display:inline-flex;align-items:center;gap:7px;font-weight:750;color:#4d5b72}.report-context-line small{font-size:.6rem}.report-snapshot-grid{margin-bottom:18px}.report-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:14px;min-height:150px;padding:20px;border:1px solid #dfe5ee;border-radius:16px;background:linear-gradient(145deg,#fff,#fbfcfe);box-shadow:0 8px 24px #13284c0a;transition:.2s ease}.report-card:hover{transform:translateY(-2px);border-color:#cbd7e7;box-shadow:0 14px 34px #13284c14}.report-card:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 4px 4px 0;background:var(--blue)}.report-card.expense:before{background:#d34a4a}.report-card.pledge:before{background:#8a62c3}.report-card.member:before{background:#c69b34}.report-card.tithe:before{background:#26986a}.report-card-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef4ff;color:#275da9}.report-card.expense .report-card-icon{background:#fff0f0;color:#c33d3d}.report-card.pledge .report-card-icon{background:#f3effa;color:#7a54b1}.report-card.member .report-card-icon{background:#fff8e9;color:#9d7217}.report-card.tithe .report-card-icon{background:#eaf8f1;color:#147a52}.report-card h2{margin:4px 0 6px;font-size:1rem}.report-card p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.55}.report-card small{display:block;margin-top:10px;color:#6f7c91;font-size:.58rem;font-weight:750}.report-card>b{color:#7c8aa0}.report-accounting-note{margin-top:16px;display:flex;align-items:flex-start;gap:13px;padding:16px 18px;background:linear-gradient(145deg,#f5f8fc,#fff)}.report-accounting-note>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf8f1;color:#187c55}.report-accounting-note strong{display:block;font-size:.72rem}.report-accounting-note p{margin:4px 0 0;color:var(--muted);font-size:.62rem}.report-metric-grid{margin-bottom:17px}.report-metric-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.report-metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.report-metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.report-table-panel,.report-breakdown-card,.report-detail-panel{padding:19px}.report-table-panel{margin-bottom:17px}.report-table th{white-space:nowrap}.report-table td{vertical-align:middle}.report-table td small{display:block;margin-top:2px;color:var(--muted);font-size:.57rem}.report-table.compact td,.report-table.compact th{padding-top:8px;padding-bottom:8px}.report-two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:17px}.report-breakdown-list{display:grid}.report-breakdown-list>div:not(.empty-state){display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.report-breakdown-list>div:last-child{border-bottom:0}.report-breakdown-list span{display:grid;font-size:.67rem;font-weight:750}.report-breakdown-list small{margin-top:2px;color:var(--muted);font-size:.56rem;font-weight:500}.report-breakdown-list strong{font-size:.68rem;font-variant-numeric:tabular-nums}.report-detail-panel{margin-bottom:14px}.report-detail-panel details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-weight:800;font-size:.7rem}.report-detail-panel details>summary::-webkit-details-marker{display:none}.report-detail-panel details>summary span{display:inline-flex;align-items:center;gap:8px}.report-detail-panel details>summary small{color:var(--muted);font-size:.58rem}.report-detail-panel details[open]>summary{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.report-matrix{min-width:900px}.report-share{display:flex;align-items:center;gap:8px;min-width:140px}.report-share>span{height:7px;flex:1;border-radius:999px;background:#edf1f6;overflow:hidden}.report-share i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d34a4a,#ef8e77)}.report-share b{min-width:48px;text-align:right;font-size:.61rem}.member-report-filters{display:grid;grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(125px,.65fr));gap:10px;align-items:end}.member-report-filters .filter-search{grid-column:span 2}.member-report-filters .btn{align-self:end}.member-report-table{min-width:1050px}.report-print-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}.report-print-summary>div{border:1px solid #d9dee8;border-radius:7px;padding:9px}.report-print-summary span{display:block;color:#667085;font-size:10px}.report-print-summary strong{display:block;margin-top:3px;font-size:12px}.report-print-table{font-size:10px}.report-print-table th,.report-print-table td{padding:5px}.report-print-page .print-head{align-items:flex-start}.report-print-page .print-head>div:last-child{text-align:right;max-width:48%}
@media(max-width:1350px){.report-period-form{grid-template-columns:repeat(3,minmax(150px,1fr)) auto}.report-metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.report-metric-grid.five article:nth-child(n+4){grid-column:span 1}.member-report-filters{grid-template-columns:repeat(4,minmax(140px,1fr))}.member-report-filters .filter-search{grid-column:span 2}}
@media(max-width:1050px){.report-catalogue{grid-template-columns:1fr}.report-metric-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.report-metric-grid.five,.report-metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.report-period-form{grid-template-columns:repeat(2,minmax(150px,1fr))}.report-secondary-filters,.report-secondary-filters.wide{grid-template-columns:repeat(2,minmax(160px,1fr))}.report-two-column{grid-template-columns:1fr}.member-report-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:720px){.report-page-head{gap:13px}.report-actions{justify-content:flex-start;width:100%}.report-actions .btn{flex:1;min-width:110px}.report-filter-panel{padding:14px}.report-period-form,.report-secondary-filters,.report-secondary-filters.wide,.member-report-filters{grid-template-columns:1fr}.member-report-filters .filter-search{grid-column:auto}.report-context-line{align-items:flex-start;flex-direction:column}.report-metric-grid.six,.report-metric-grid.five,.report-metric-grid.four{grid-template-columns:1fr}.report-catalogue{gap:11px}.report-card{grid-template-columns:45px minmax(0,1fr) 18px;padding:16px;min-height:135px}.report-card-icon{width:42px;height:42px}.report-table-panel,.report-breakdown-card,.report-detail-panel{padding:14px}.report-print-summary{grid-template-columns:1fr 1fr}.report-print-page .print-head{display:grid}.report-print-page .print-head>div:last-child{text-align:left;max-width:none}}

/* Church ERP v0.7.0 — dashboard, search, backup and UX polish */
.skip-link{position:fixed;left:12px;top:-80px;z-index:120;padding:9px 13px;border-radius:8px;background:#fff;color:var(--navy);font-weight:800;box-shadow:0 8px 28px #07163040}.skip-link:focus{top:12px}.sidebar-collapse{margin-left:auto;width:31px;height:31px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff0b;color:#b8c8e3;display:grid;place-items:center}.sidebar-collapse:hover{background:#ffffff15;color:#fff}.sidebar-collapse .icon{transition:transform .2s}.nav-submenu a.active{color:#fff;border-left-color:#4f83ee;background:#ffffff08}.topbar-create{height:39px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #d8e1ee;border-radius:10px;background:#fff;color:#33445f;font-size:.72rem;font-weight:850}.topbar-create:hover{border-color:#b8c9e3;background:#f8faff}.alert{transition:opacity .24s ease,transform .24s ease}.alert.leaving{opacity:0;transform:translateY(-6px)}.btn.danger-outline{background:#fff;border-color:#f1cfd3;color:#b73747}.btn.danger-outline:hover{background:#fff4f5}.sheet-header>div{display:grid}.sheet-header small{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}

@media(min-width:981px){body.sidebar-collapsed{--sidebar:78px}.sidebar,.workspace{transition:width .2s ease,margin-left .2s ease}.sidebar-collapsed .brand{padding:0 18px;justify-content:center}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-item b,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .brand-mark{width:39px;height:39px}.sidebar-collapsed .sidebar-collapse{position:absolute;right:-15px;top:24px;background:#fff;color:#53617a;border-color:var(--line);box-shadow:0 5px 14px #07163024}.sidebar-collapsed .sidebar-collapse .icon{transform:rotate(180deg)}.sidebar-collapsed .side-nav{padding:16px 11px}.sidebar-collapsed .nav-item{justify-content:center;padding:12px;margin:3px 0}.sidebar-collapsed .nav-submenu{display:none!important}.sidebar-collapsed .nav-group{position:relative}.sidebar-collapsed .nav-item:hover:after{content:attr(title);position:fixed;left:83px;padding:7px 10px;border-radius:7px;background:#0a1a37;color:#fff;font-size:.68rem;white-space:nowrap;box-shadow:0 8px 24px #07163035;z-index:90}}

.search-results{top:49px;max-height:min(520px,72vh);border-radius:14px;box-shadow:0 22px 55px #0b1f4530;overscroll-behavior:contain;overflow-y:auto}.search-group-label{position:sticky;top:0;z-index:2;display:flex;align-items:center;padding:7px 12px;background:#f5f7fa;border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3}.search-group-label:first-child{border-top:0}.search-group-label span{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:#77849a;font-weight:900}.search-result{align-items:center;gap:11px;padding:10px 12px}.search-result.active,.search-result:hover{background:#eef4ff}.search-result>span.search-type{min-width:62px;text-align:center}.search-result>div{min-width:0;flex:1}.search-result strong,.search-result small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result>b{color:#a0adbf;font-size:1.15rem}.search-type.member,.search-type.household{background:var(--blue-soft);color:var(--blue)}.search-type.income{background:var(--green-soft);color:var(--green)}.search-type.expense{background:var(--red-soft);color:#bc4051}.search-type.pledge{background:var(--purple-soft);color:var(--purple)}.search-type.user{background:var(--gold-soft);color:#9a6c0e}.search-type.module{background:#eef1f5;color:#59677d}.search-empty{display:grid;gap:3px;padding:22px}.search-empty strong{font-size:.74rem;color:var(--ink)}.search-empty small{font-size:.61rem}

.dashboard-v7-welcome{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:17px;border:1px solid #dce4ef;border-radius:18px;background:radial-gradient(circle at 90% 15%,#dce9ff 0,transparent 27%),linear-gradient(125deg,#fff 0%,#f8fbff 72%,#eef5ff 100%);box-shadow:0 10px 30px #10254a0b;overflow:hidden}.dashboard-v7-welcome h1{margin:4px 0 6px;font-size:1.75rem;letter-spacing:-.035em;line-height:1.1}.dashboard-v7-welcome p{margin:0;max-width:720px;color:var(--muted);font-size:.78rem}.dashboard-v7-welcome p strong{color:#35445d}.dashboard-v7-context{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.dashboard-v7-context-item{min-height:42px;display:flex;align-items:center;gap:8px;padding:6px 11px;border:1px solid #dce4ef;border-radius:11px;background:#ffffffd9;color:#516079}.dashboard-v7-context-item>span{display:grid}.dashboard-v7-context-item small{font-size:.5rem;text-transform:uppercase;letter-spacing:.07em;color:#8491a5;font-weight:850}.dashboard-v7-context-item strong{font-size:.68rem}.dashboard-v7-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px;margin-bottom:17px}.dashboard-v7-metric{position:relative;display:flex;align-items:center;gap:12px;min-height:104px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 19px #10254a08;overflow:hidden}.dashboard-v7-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.dashboard-v7-metric.green:before{background:var(--green)}.dashboard-v7-metric.red:before{background:#d34a4a}.dashboard-v7-metric.purple:before{background:var(--purple)}.dashboard-v7-metric.gold:before{background:var(--gold)}.dashboard-v7-metric-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);flex:none}.dashboard-v7-metric.green .dashboard-v7-metric-icon{background:var(--green-soft);color:var(--green)}.dashboard-v7-metric.red .dashboard-v7-metric-icon{background:var(--red-soft);color:#c13e50}.dashboard-v7-metric.purple .dashboard-v7-metric-icon{background:var(--purple-soft);color:var(--purple)}.dashboard-v7-metric.gold .dashboard-v7-metric-icon{background:var(--gold-soft);color:#a67613}.dashboard-v7-metric>div{min-width:0;display:grid}.dashboard-v7-metric small{font-size:.57rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.dashboard-v7-metric strong{margin:2px 0;font-size:1.1rem;line-height:1.22;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v7-metric p{margin:0;color:#8490a3;font-size:.58rem}.dashboard-v7-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(315px,.75fr);gap:17px;align-items:stretch}.dashboard-v7-cashflow,.dashboard-v7-attention,.dashboard-v7-quick,.dashboard-v7-record-card,.dashboard-v7-pledges,.dashboard-v7-list-card{padding:20px}.dashboard-v7-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-v7-chart-head>div{display:flex;gap:15px}.dashboard-v7-chart-head span{display:inline-flex;align-items:center;gap:6px;color:#59677d;font-size:.61rem;font-weight:800}.dashboard-v7-chart-head i{width:9px;height:9px;border-radius:3px;background:var(--green)}.dashboard-v7-chart-head i.expense{background:#d34a4a}.dashboard-v7-chart-head small{font-size:.55rem;color:var(--muted)}.dashboard-v7-chart{position:relative;height:285px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:14px 11px 0;border:1px solid #edf1f5;border-radius:13px;background:linear-gradient(180deg,#fbfcfe,#fff);overflow:hidden}.dashboard-v7-chart-grid{position:absolute;inset:22px 10px 55px;display:flex;flex-direction:column;justify-content:space-between}.dashboard-v7-chart-grid i{border-top:1px dashed #e3e9f1}.dashboard-v7-chart-month{position:relative;z-index:1;display:grid;grid-template-rows:1fr 18px 18px;gap:2px;text-align:center;min-width:0}.dashboard-v7-chart-bars{display:flex;align-items:flex-end;justify-content:center;gap:6px;min-height:0}.dashboard-v7-chart-bars i{width:min(24px,35%);min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#2bab78,#1c8c60);box-shadow:inset 0 -1px 0 #00000012}.dashboard-v7-chart-bars i.expense{background:linear-gradient(180deg,#e56a70,#c8424f)}.dashboard-v7-chart-month>span{font-size:.6rem;color:#66748a}.dashboard-v7-chart-month>small{font-size:.48rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v7-restricted{min-height:285px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed #dbe2ec;border-radius:13px;background:#fafbfd;color:var(--muted)}.dashboard-v7-restricted>svg{color:var(--blue)}.dashboard-v7-restricted strong{font-size:.75rem;color:var(--ink)}.dashboard-v7-restricted p{margin:3px 0 0;font-size:.61rem}.dashboard-v7-alert-count{min-width:29px;height:29px;display:grid;place-items:center;border-radius:999px;background:#f0f3f7;color:#56647a;font-size:.65rem;font-weight:900}.dashboard-v7-alert-list{display:grid;gap:8px}.dashboard-v7-alert{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:10px;border:1px solid #e3e8ef;border-radius:11px;background:#fbfcfe}.dashboard-v7-alert>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--blue-soft);color:var(--blue)}.dashboard-v7-alert.gold>span{background:var(--gold-soft);color:#9f7217}.dashboard-v7-alert.purple>span{background:var(--purple-soft);color:var(--purple)}.dashboard-v7-alert.danger>span{background:var(--red-soft);color:#bf3e4f}.dashboard-v7-alert>div{display:grid;min-width:0}.dashboard-v7-alert strong{font-size:.65rem}.dashboard-v7-alert small{margin-top:2px;color:var(--muted);font-size:.55rem;line-height:1.35}.dashboard-v7-alert>b{color:#a0acbd}.dashboard-v7-alert:hover{border-color:#cdd8e6;background:#fff}.dashboard-v7-all-clear{display:flex;gap:11px;align-items:center;padding:15px;border:1px solid #dcebe4;border-radius:12px;background:#f5fbf8}.dashboard-v7-all-clear>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--green-soft);color:var(--green)}.dashboard-v7-all-clear strong{font-size:.69rem}.dashboard-v7-all-clear p{margin:3px 0 0;color:var(--muted);font-size:.57rem}.dashboard-v7-backup-line{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.dashboard-v7-backup-line>span{color:var(--blue)}.dashboard-v7-backup-line>div{display:grid;min-width:0;flex:1}.dashboard-v7-backup-line small{font-size:.5rem;text-transform:uppercase;color:var(--muted);font-weight:800}.dashboard-v7-backup-line strong{font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v7-backup-line em{font-style:normal;color:var(--muted);font-size:.55rem}.dashboard-v7-quick{margin-top:17px}.dashboard-v7-shortcut-hint{color:var(--muted);font-size:.57rem}.dashboard-v7-shortcut-hint kbd{padding:2px 5px;border:1px solid #dce2eb;border-radius:5px;background:#f8fafc}.dashboard-v7-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.dashboard-v7-actions>a{position:relative;min-height:82px;display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.dashboard-v7-actions>a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}.dashboard-v7-actions>a.green:before{background:var(--green)}.dashboard-v7-actions>a.gold:before{background:var(--gold)}.dashboard-v7-actions>a.red:before{background:#d34a4a}.dashboard-v7-actions>a.purple:before{background:var(--purple)}.dashboard-v7-actions>a>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--blue-soft);color:var(--blue)}.dashboard-v7-actions>a.green>span{background:var(--green-soft);color:var(--green)}.dashboard-v7-actions>a.gold>span{background:var(--gold-soft);color:#9e7115}.dashboard-v7-actions>a.red>span{background:var(--red-soft);color:#c13e50}.dashboard-v7-actions>a.purple>span{background:var(--purple-soft);color:var(--purple)}.dashboard-v7-actions>a>div{display:grid;min-width:0}.dashboard-v7-actions strong{font-size:.68rem}.dashboard-v7-actions small{margin-top:2px;color:var(--muted);font-size:.55rem}.dashboard-v7-actions>a>.icon{color:#a0acbd}.dashboard-v7-actions>a:hover{transform:translateY(-1px);border-color:#cbd6e4;box-shadow:0 8px 18px #10254a0b}.dashboard-v7-record-grid,.dashboard-v7-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:17px}.dashboard-v7-record-list{display:grid}.dashboard-v7-record-list>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.dashboard-v7-record-list>a:last-child{border-bottom:0}.record-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green)}.record-icon.expense{background:var(--red-soft);color:#c13e50}.dashboard-v7-record-list>a>div{display:grid;min-width:0}.dashboard-v7-record-list strong,.dashboard-v7-record-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v7-record-list strong{font-size:.64rem}.dashboard-v7-record-list small{font-size:.54rem;color:var(--muted)}.dashboard-v7-record-list>a>span:last-child{display:grid;text-align:right;min-width:100px}.dashboard-v7-record-list b{font-size:.62rem;font-variant-numeric:tabular-nums}.dashboard-v7-pledges{margin-top:17px}.dashboard-v7-pledge-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:15px}.dashboard-v7-pledge-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-v7-pledge-kpis>div{display:grid;padding:14px;border:1px solid #dfe6f0;border-radius:12px;background:linear-gradient(145deg,#f7faff,#fff)}.dashboard-v7-pledge-kpis>div.green{background:linear-gradient(145deg,#eef9f4,#fff)}.dashboard-v7-pledge-kpis>div.gold{background:linear-gradient(145deg,#fff8e9,#fff)}.dashboard-v7-pledge-kpis small{font-size:.54rem;text-transform:uppercase;color:var(--muted);font-weight:850}.dashboard-v7-pledge-kpis strong{margin:3px 0;font-size:.86rem}.dashboard-v7-pledge-kpis span{font-size:.53rem;color:var(--muted)}.dashboard-v7-pledge-list{display:grid}.dashboard-v7-pledge-list>a{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.dashboard-v7-pledge-list>a:last-child{border-bottom:0}.dashboard-v7-pledge-list>a>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--purple-soft);color:var(--purple)}.dashboard-v7-pledge-list>a>div{display:grid;min-width:0}.dashboard-v7-pledge-list strong,.dashboard-v7-pledge-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v7-pledge-list strong{font-size:.62rem}.dashboard-v7-pledge-list small{font-size:.52rem;color:var(--muted)}.dashboard-v7-pledge-list b{font-size:.59rem}.dashboard-v7-member-list{display:grid}.dashboard-v7-member-list>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.dashboard-v7-member-list>a:last-child{border-bottom:0}.dashboard-v7-member-list>a>div{display:grid;min-width:0}.dashboard-v7-member-list strong,.dashboard-v7-member-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v7-member-list strong{font-size:.64rem}.dashboard-v7-member-list small{font-size:.54rem;color:var(--muted)}.dashboard-v7-timeline{display:grid}.dashboard-v7-timeline>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}.dashboard-v7-timeline>div:last-child{border-bottom:0}.dashboard-v7-timeline i{width:8px;height:8px;border-radius:50%;margin-top:4px;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.dashboard-v7-timeline>div>span{display:grid;min-width:0}.dashboard-v7-timeline strong{font-size:.62rem}.dashboard-v7-timeline small{font-size:.52rem;color:var(--muted)}.dashboard-v7-timeline code{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;color:#6f7b90}

.backup-page-head>div{max-width:760px}.backup-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.backup-status-card{display:flex;align-items:center;gap:11px;min-height:100px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.backup-status-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--blue-soft);color:var(--blue);flex:none}.backup-status-card.green>span{background:var(--green-soft);color:var(--green)}.backup-status-card.red>span{background:var(--red-soft);color:#c13e50}.backup-status-card.gold>span{background:var(--gold-soft);color:#a57612}.backup-status-card.purple>span{background:var(--purple-soft);color:var(--purple)}.backup-status-card>div{display:grid;min-width:0}.backup-status-card small{font-size:.54rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.backup-status-card strong{margin:2px 0;font-size:.76rem}.backup-status-card p{margin:0;color:var(--muted);font-size:.53rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-v7-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:17px;align-items:start}.backup-history-panel{padding:20px}.backup-history-panel .panel-head p{margin:4px 0 0;color:var(--muted);font-size:.61rem}.backup-v7-list{display:grid}.backup-v7-list>article{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.backup-v7-list>article:last-child{border-bottom:0}.backup-file-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;background:#eef4ff;color:#285fac;font-size:.6rem;font-weight:900}.backup-file-main{display:grid;min-width:0}.backup-file-main>div{display:flex;align-items:center;gap:8px;min-width:0}.backup-file-main strong{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-file-main small{margin-top:3px;color:var(--muted);font-size:.54rem}.backup-file-main code{width:max-content;max-width:100%;margin-top:5px;padding:3px 6px;border-radius:5px;background:#f4f6f9;color:#667388;font-size:.49rem}.backup-verify-pill{padding:3px 6px;border-radius:999px;font-size:.48rem;font-weight:850;white-space:nowrap}.backup-verify-pill.valid{background:var(--green-soft);color:#187a55}.backup-verify-pill.warning{background:var(--gold-soft);color:#956a11}.backup-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.backup-file-actions form{display:inline-flex}.backup-v7-side{display:grid;gap:13px}.backup-v7-side .info-box{margin:0}

@media(max-width:1250px){.dashboard-v7-main-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)}.dashboard-v7-pledge-layout{grid-template-columns:1fr}.backup-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-v7-layout{grid-template-columns:minmax(0,1fr) 300px}.backup-v7-list>article{grid-template-columns:43px minmax(0,1fr)}.backup-file-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:980px){.sidebar-collapse{display:none}.topbar-create span{display:none}.topbar-create{width:39px;padding:0;justify-content:center}.dashboard-v7-main-grid,.backup-v7-layout{grid-template-columns:1fr}.dashboard-v7-record-grid,.dashboard-v7-secondary-grid{grid-template-columns:1fr}.backup-v7-side{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-v7-side .security-card{grid-row:span 2}}
@media(max-width:760px){.topbar-actions .topbar-create{display:none}.dashboard-v7-welcome{align-items:flex-start;flex-direction:column;padding:19px}.dashboard-v7-context{width:100%;justify-content:flex-start}.dashboard-v7-context-item{flex:1;min-width:140px}.dashboard-v7-metrics{grid-template-columns:1fr 1fr}.dashboard-v7-cashflow,.dashboard-v7-attention,.dashboard-v7-quick,.dashboard-v7-record-card,.dashboard-v7-pledges,.dashboard-v7-list-card{padding:16px}.dashboard-v7-chart{height:240px;gap:8px;padding-left:5px;padding-right:5px}.dashboard-v7-chart-bars{gap:3px}.dashboard-v7-pledge-kpis{grid-template-columns:1fr 1fr 1fr}.backup-page-head{flex-direction:column}.backup-page-head form,.backup-page-head .btn{width:100%}.backup-status-grid{grid-template-columns:1fr 1fr}.backup-v7-side{grid-template-columns:1fr}.backup-v7-side .security-card{grid-row:auto}.backup-v7-list>article{grid-template-columns:39px minmax(0,1fr);gap:9px}.backup-file-actions{grid-column:1/-1}.search-results{position:fixed;left:10px;right:10px;top:62px;max-height:70vh}}
@media(max-width:520px){.dashboard-v7-welcome h1{font-size:1.42rem}.dashboard-v7-context-item{width:100%}.dashboard-v7-context .btn{width:100%}.dashboard-v7-metrics,.backup-status-grid{grid-template-columns:1fr}.dashboard-v7-chart{height:220px;gap:4px}.dashboard-v7-chart-month>small{display:none}.dashboard-v7-chart{grid-template-rows:1fr}.dashboard-v7-pledge-kpis{grid-template-columns:1fr}.dashboard-v7-actions{grid-template-columns:1fr}.dashboard-v7-record-list>a{grid-template-columns:34px minmax(0,1fr)}.dashboard-v7-record-list>a>span:last-child{grid-column:2;min-width:0;text-align:left;display:flex;gap:7px}.dashboard-v7-timeline code{display:none}.backup-file-actions .btn{flex:1}.dashboard-v7-shortcut-hint{display:none}}
.dashboard-v7-secondary-grid.single{grid-template-columns:minmax(0,1fr)}

/* Church ERP v1.0.0 — stable Phase 1 production release */
.alert.warning{background:var(--gold-soft);color:#875f0e;border:1px solid #f0d895}.alert.warning>span{background:var(--gold);color:#fff}.alert.warning>a{font-weight:900;text-decoration:underline}.status-pill.warning{background:var(--gold-soft);color:#8b6411}.maintenance-admin-banner{align-items:center}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dashboard-production-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px 18px;margin-bottom:17px;border:1px solid #cce7da;border-radius:15px;background:linear-gradient(135deg,#effaf5,#fff)}.dashboard-production-strip.attention{border-color:#f1d59b;background:linear-gradient(135deg,#fff8e8,#fff)}.dashboard-production-score{display:flex;align-items:baseline;gap:8px;padding-right:16px;border-right:1px solid #dce9e2}.dashboard-production-score strong{font-size:1.75rem;line-height:1;color:#14734f}.dashboard-production-strip.attention .dashboard-production-score strong{color:#9c6c0c}.dashboard-production-score span{font-size:.58rem;line-height:1.2;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.dashboard-production-strip h2{margin:2px 0;font-size:.91rem}.dashboard-production-strip p{margin:0;color:var(--muted);font-size:.62rem}
.production-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.production-metric{display:flex;align-items:center;gap:12px;min-height:102px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.production-metric>span{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);flex:none}.production-metric.green>span{background:var(--green-soft);color:var(--green)}.production-metric.gold>span{background:var(--gold-soft);color:#9e7115}.production-metric.red>span{background:var(--red-soft);color:#c13e50}.production-metric>div{display:grid;min-width:0}.production-metric small{font-size:.57rem;text-transform:uppercase;color:var(--muted);font-weight:850}.production-metric strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-metric em{font-size:.55rem;color:var(--muted);font-style:normal}.approval-filter{padding:17px;margin-bottom:17px}.inline-filter-form{display:flex;align-items:flex-end;gap:10px}.inline-filter-form .field{min-width:260px}.fiscal-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.fiscal-overview-grid>div{display:grid;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.fiscal-overview-grid span{font-size:.56rem;text-transform:uppercase;color:var(--muted);font-weight:850}.fiscal-overview-grid strong{font-size:.76rem}.approval-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:17px}.approval-columns>.panel,.approval-columns+section.panel{padding:20px}.approval-list{display:grid}.approval-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.approval-list article:last-child{border-bottom:0}.approval-record-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green)}.approval-record-icon.expense{background:var(--red-soft);color:#bd3d50}.approval-record-copy{display:grid;min-width:0}.approval-record-copy strong,.approval-record-copy span,.approval-record-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approval-record-copy strong{font-size:.67rem}.approval-record-copy span{font-size:.57rem;color:#526079}.approval-record-copy small{font-size:.51rem;color:var(--muted)}.approval-record-value{display:grid;text-align:right;min-width:115px}.approval-record-value strong{font-size:.67rem}.approval-record-value a{font-size:.54rem;color:var(--blue);font-weight:850;display:inline-flex;justify-content:flex-end;align-items:center;gap:2px}.amount-cell{text-align:right;font-variant-numeric:tabular-nums}
.readiness-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;margin-bottom:17px;border-radius:17px;border:1px solid #cde7da;background:linear-gradient(135deg,#eaf8f2,#fff)}.readiness-hero.attention{border-color:#efd18e;background:linear-gradient(135deg,#fff7e3,#fff)}.readiness-score{width:105px;height:105px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:31px;background:#fff;border:8px solid #b9e1ce;box-shadow:0 7px 20px #0b1f450d}.readiness-hero.attention .readiness-score{border-color:#f0d58d}.readiness-score span{font-size:2rem;font-weight:950;letter-spacing:-.06em;color:#13734e}.readiness-hero.attention .readiness-score span{color:#98690d}.readiness-score small{font-size:.58rem;color:var(--muted);font-weight:800}.readiness-hero h2{margin:3px 0;font-size:1.18rem}.readiness-hero p{margin:0;color:var(--muted);font-size:.68rem}.readiness-counts{display:flex;gap:8px}.readiness-counts span{min-width:72px;padding:10px;border-radius:11px;text-align:center;background:#fff;border:1px solid var(--line);font-size:.54rem;color:var(--muted);font-weight:800}.readiness-counts b{display:block;font-size:1rem;color:var(--ink)}.readiness-counts .pass b{color:var(--green)}.readiness-counts .warning b{color:#a47718}.readiness-counts .fail b{color:var(--red)}.system-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:17px;align-items:start}.system-main,.system-sidebar{display:grid;gap:17px}.health-group,.system-sidebar>.panel{padding:20px}.health-check-list{display:grid}.health-check{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}.health-check:last-child{border-bottom:0}.health-status-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:950;background:var(--green-soft);color:var(--green)}.health-check.warning .health-status-icon{background:var(--gold-soft);color:#9d7115}.health-check.fail .health-status-icon{background:var(--red-soft);color:var(--red)}.health-check>div{display:grid}.health-check strong{font-size:.68rem}.health-check p{margin:1px 0;font-size:.56rem;color:#526079;word-break:break-word}.health-check small{font-size:.51rem;color:#9a640d}.maintenance-card.active{border-color:#edd18e;background:linear-gradient(145deg,#fffaf0,#fff)}.maintenance-card>p,.deployment-card>p{font-size:.61rem;color:var(--muted)}.deployment-card ol{margin:0 0 14px;padding-left:20px;color:#56637a;font-size:.61rem}.deployment-card li{margin:5px 0}.release-mini-list{display:grid}.release-mini-list>div{display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.release-mini-list>div:last-child{border-bottom:0}.release-version{display:inline-flex;width:max-content;padding:3px 7px;border-radius:7px;background:var(--navy);color:#fff;font-size:.56rem;font-weight:900}.release-mini-list p{display:grid;margin:0}.release-mini-list strong{font-size:.59rem}.release-mini-list small{font-size:.5rem;color:var(--muted)}.release-history{padding:24px}.release-timeline{position:relative;display:grid}.release-timeline:before{content:"";position:absolute;top:8px;bottom:8px;left:86px;width:2px;background:#e1e6ee}.release-timeline article{display:grid;grid-template-columns:70px 16px minmax(0,1fr);gap:9px;position:relative;padding:0 0 22px}.release-date{padding-top:4px;font-size:.54rem;color:var(--muted);text-align:right}.release-dot{width:14px;height:14px;margin-top:4px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px #b7c9ee;z-index:1}.release-dot.hotfix{background:var(--gold);box-shadow:0 0 0 2px #ecd391}.release-dot.stable{background:var(--green);box-shadow:0 0 0 2px #a9dac5}.release-content{padding:0 0 18px;border-bottom:1px solid var(--line)}.release-content>div{display:flex;align-items:center;gap:7px}.release-content h2{margin:6px 0 2px;font-size:.82rem}.release-content p{margin:0 0 4px;color:var(--muted);font-size:.6rem}.release-content small{font-size:.5rem;color:var(--muted)}
.maintenance-screen{width:min(560px,100%);padding:32px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 20px 55px #0b1f4520;text-align:center}.maintenance-mark{width:62px;height:62px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:var(--gold-soft);color:#9e7115}.maintenance-screen h1{font-size:1.55rem;margin:7px 0}.maintenance-screen p{color:var(--muted)}.maintenance-note{margin:18px 0;padding:12px;border-radius:11px;background:#f5f7fa;color:#536078;font-size:.65rem}.maintenance-screen form{display:inline-flex}
@media(max-width:1180px){.production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.system-layout{grid-template-columns:minmax(0,1fr) 310px}.readiness-counts{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.approval-columns,.system-layout{grid-template-columns:1fr}.system-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.release-card{grid-column:1/-1}.readiness-hero{grid-template-columns:auto minmax(0,1fr)}.readiness-counts{grid-column:1/-1;display:flex}.dashboard-production-strip{grid-template-columns:auto minmax(0,1fr)}.dashboard-production-strip>.btn{grid-column:1/-1;width:100%}}
@media(max-width:700px){.production-metrics,.fiscal-overview-grid,.system-sidebar{grid-template-columns:1fr}.inline-filter-form{align-items:stretch;flex-direction:column}.inline-filter-form .field{min-width:0}.approval-list article{grid-template-columns:36px minmax(0,1fr)}.approval-record-value{grid-column:2;text-align:left;display:flex;justify-content:space-between}.readiness-hero{grid-template-columns:1fr;text-align:center}.readiness-score{margin:auto}.readiness-counts{justify-content:center}.dashboard-production-strip{grid-template-columns:1fr;text-align:center}.dashboard-production-score{border-right:0;border-bottom:1px solid #dce9e2;padding:0 0 12px;justify-content:center}.health-check{grid-template-columns:30px minmax(0,1fr)}.health-check>.status-pill{grid-column:2;width:max-content}.release-timeline:before{left:7px}.release-timeline article{grid-template-columns:16px minmax(0,1fr)}.release-date{grid-column:2;text-align:left;padding:0}.release-dot{grid-row:1/3}.release-content{grid-column:2}}
.session-security-label{font-size:.67rem;color:var(--muted);font-weight:750}

/* Church ERP v1.1.0 — Automatic Daily Backup */
.backup-v11-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.backup-v11-status-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(28,44,75,.05)}.backup-v11-status-card>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef3fb;color:#34538a;flex:0 0 auto}.backup-v11-status-card small{display:block;color:#78859a;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.backup-v11-status-card strong{display:block;margin-top:4px;color:#17233b;font-size:15px}.backup-v11-status-card p{margin:4px 0 0;color:#748096;font-size:12px}.backup-v11-status-card.success>span{background:#e8f8ef;color:#238150}.backup-v11-status-card.warning>span{background:#fff5df;color:#aa6b0a}.backup-v11-status-card.danger>span{background:#ffeded;color:#b53b3b}.backup-v11-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}.backup-v11-main,.backup-v11-side{display:grid;gap:20px}.backup-v11-list{display:grid;gap:12px}.backup-v11-file{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border:1px solid #e3e8f0;border-radius:15px;background:#fbfcfe}.backup-v11-file.protected{border-color:#b9d8c5;background:#f7fcf9}.backup-v11-file-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#eaf0fa;color:#31558f;font-weight:900;font-size:12px}.backup-v11-file-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backup-v11-file-title strong{word-break:break-all}.backup-source-pill,.backup-protected-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.backup-source-pill.automatic{background:#e9f1ff;color:#305eab}.backup-source-pill.manual{background:#f2ecff;color:#7142a5}.backup-source-pill.legacy{background:#eef0f3;color:#657084}.backup-protected-pill{background:#e3f7eb;color:#24794c}.backup-v11-file-body>small{display:block;margin-top:6px;color:#738096}.backup-v11-verification{display:flex;align-items:center;gap:10px;margin-top:9px}.backup-v11-verification span,.backup-v11-recovery em{font-style:normal;font-size:11px;font-weight:800}.backup-v11-verification .valid,.backup-v11-recovery .valid{color:#238150}.backup-v11-verification .warning,.backup-v11-recovery .warning{color:#a76908}.backup-v11-verification code{font-size:11px;color:#66738a;background:#eef2f7;padding:4px 7px;border-radius:7px}.backup-v11-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:290px}.backup-v11-actions form{margin:0}.backup-v11-recovery{display:flex;gap:9px;align-items:center;margin-top:10px;padding:10px 12px;border-radius:11px;background:#eef5ff}.backup-v11-recovery>span{color:#3d6cae}.backup-v11-recovery div{min-width:0;flex:1}.backup-v11-recovery strong,.backup-v11-recovery small{display:block}.backup-v11-recovery small{color:#68768b;word-break:break-all}.backup-v11-settings{display:grid;gap:15px}.form-grid.three.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-grid.three.compact .field span{font-size:11px}.input-with-unit{display:flex}.input-with-unit input{border-radius:9px 0 0 9px}.input-with-unit span{display:flex;align-items:center;padding:0 11px;border:1px solid #dbe2ec;border-left:0;border-radius:0 9px 9px 0;background:#f3f6fa;color:#68758a;white-space:nowrap}.backup-v11-cron label{display:block;margin-top:14px}.backup-v11-cron label>span{display:block;font-size:12px;font-weight:800;color:#536177;margin-bottom:6px}.copy-field{display:flex;align-items:stretch;border:1px solid #dce3ed;border-radius:11px;overflow:hidden;background:#f7f9fc}.copy-field code{padding:11px;flex:1;white-space:normal;word-break:break-all;font-size:11px;color:#243756}.copy-field button{border:0;border-left:1px solid #dce3ed;background:#fff;color:#315b99;padding:0 12px;font-weight:800;cursor:pointer}.copy-field button.copied{background:#e8f8ef;color:#23784b}.backup-next-run{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px;background:#f2f6fc;border-radius:12px}.backup-next-run small,.backup-next-run strong{display:block}.backup-next-run small{color:#778398;font-size:11px}.backup-cron-note{display:block;margin-top:12px;color:#7a8698}.backup-v11-recovery-guide ol{padding-left:19px;color:#536177;display:grid;gap:8px}.run-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.run-status.success{background:#e5f7ec;color:#247d4e}.run-status.warning{background:#fff3d8;color:#9b620b}.run-status.failed{background:#ffe8e8;color:#aa3333}.run-status.running{background:#e7effc;color:#315f9e}.text-danger{color:#a63737}.text-warning{color:#9c650c}.backup-v11-runs td:last-child small{display:block;margin-top:3px;color:#758197}.backup-storage-alert{margin-bottom:18px}
@media(max-width:1180px){.backup-v11-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-v11-layout{grid-template-columns:1fr}.backup-v11-side{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-v11-recovery-guide{grid-column:1/-1}}
@media(max-width:760px){.backup-v11-status-grid,.backup-v11-side{grid-template-columns:1fr}.backup-v11-file{grid-template-columns:44px minmax(0,1fr)}.backup-v11-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}.form-grid.three.compact{grid-template-columns:1fr}.backup-page-head{align-items:flex-start}.backup-page-head form{width:100%}.backup-page-head .btn{width:100%}}
.backup-v11-schedule .panel-head,.backup-v11-cron .panel-head,.backup-v11-recovery-guide .panel-head{margin-bottom:12px}


/* Church ERP v1.2.0 — Simple Records & Excel Import */
.cashbook-page-head{align-items:flex-start}.cashbook-page-head .head-actions{flex-wrap:wrap;justify-content:flex-end}.cashbook-month-form{display:flex;gap:7px;align-items:center}.cashbook-month-form input{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:var(--navy);font:inherit}.cashbook-month-form .btn{height:38px}.cashbook-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 14px}.cashbook-stat{min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:var(--white);box-shadow:var(--shadow-sm)}.cashbook-stat span{display:block;margin-bottom:5px;color:var(--muted);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cashbook-stat strong{display:block;color:var(--navy);font-size:1rem;font-variant-numeric:tabular-nums}.cashbook-stat.total{background:#f2f6ff;border-color:#d8e4fb}.cashbook-stat.expense{background:#fff8f3;border-color:#f5dfd1}.cashbook-stat.balance{background:#f2fbf7;border-color:#d4eee2}.cashbook-stat .negative{color:var(--red)}
.cashbook-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px}.cashbook-entry-card{margin:0;overflow:hidden}.cashbook-entry-card .panel-head{border-bottom:1px solid var(--line)}.cashbook-step{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef4ff;color:var(--blue);font-weight:900}.expense-entry-card .cashbook-step{background:#fff0e6;color:#a65b22}.cashbook-quick-form{display:grid;grid-template-columns:minmax(132px,.75fr) minmax(160px,1fr);gap:10px;padding:16px}.cashbook-quick-form .field.wide{grid-column:1/-1}.cashbook-quick-form .wide-button{grid-column:1/-1;justify-content:center}.cashbook-quick-form input,.cashbook-quick-form select,.cashbook-inline-form input,.cashbook-inline-form select{width:100%;height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;color:#34425d;font:inherit}.expense-button{background:#8c4f2b;color:#fff;border-color:#8c4f2b}.expense-button:hover{background:#754023;color:#fff}
.cashbook-ledger{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}.cashbook-ledger-side{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.cashbook-ledger-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:#edf4ff;border-bottom:1px solid #dbe7f8}.expense-side .cashbook-ledger-title{background:#fff3ea;border-bottom-color:#f0ddcf}.cashbook-ledger-title>div{display:flex;align-items:baseline;gap:9px}.cashbook-ledger-title span{font-weight:900;letter-spacing:.06em;color:var(--navy)}.cashbook-ledger-title small{color:var(--muted)}.cashbook-ledger-title strong{color:var(--navy);font-variant-numeric:tabular-nums}.cashbook-table{width:100%;border-collapse:collapse;font-size:.78rem}.cashbook-table th,.cashbook-table td{padding:9px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.cashbook-table thead th{background:#fafbfc;color:#5e6b80;font-size:.65rem;text-transform:uppercase;letter-spacing:.035em}.cashbook-table tfoot th{background:#f7f9fc;color:var(--navy);border-bottom:0}.cashbook-table .money-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cashbook-name{display:block;font-weight:700;color:#2f3d57}.cashbook-table td small{display:block;margin-top:2px;color:var(--muted);font-size:.66rem}.cashbook-pending{display:inline-block!important;width:max-content;padding:2px 6px;border-radius:999px;background:var(--gold-soft);color:#93620d!important;font-weight:800}.cashbook-actions{width:70px;white-space:nowrap;text-align:right!important}.cashbook-actions a,.cashbook-actions button{border:0;background:none;padding:0;margin:0 0 0 7px;color:var(--blue);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.cashbook-actions form{display:inline}.cashbook-actions button{color:#ad4c4c}.cashbook-empty{padding:20px;text-align:center;color:var(--muted)}
.cashbook-edit-panel{border-color:#cbdaf4}.cashbook-inline-form{display:grid;gap:10px;padding:16px;align-items:end}.cashbook-inline-form.four{grid-template-columns:.8fr 1.3fr .8fr .8fr auto}.cashbook-inline-form.three{grid-template-columns:.8fr 1.5fr .8fr auto}.cashbook-inline-form .btn{height:40px}.cashbook-bottom-actions{display:flex;justify-content:space-between;gap:10px;margin:0 0 14px}.cashbook-import-history{margin-top:14px}.cashbook-import-history td{vertical-align:top}
.cashbook-import-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);gap:16px;align-items:start}.cashbook-import-card{overflow:hidden}.cashbook-upload-form{padding:18px}.cashbook-dropzone{display:flex;gap:15px;align-items:flex-start;padding:18px;border:1.5px dashed #b9c9e4;border-radius:13px;background:#f8fbff}.cashbook-upload-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#e8f1ff;color:var(--blue);font-size:1.25rem;font-weight:900}.cashbook-dropzone input[type=file]{width:100%;margin-top:8px}.cashbook-import-help{position:sticky;top:86px}.cashbook-map-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.cashbook-map-list li{padding:10px 12px;border-radius:10px;background:#f7f9fc;color:#536076}.cashbook-map-list strong{color:var(--navy)}.cashbook-warning-list{padding-left:20px;color:#8a5a1e}.cashbook-warning-list li{margin:5px 0}.preview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.cashbook-preview-months{margin-top:14px}.cashbook-import-confirm{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-top:1px solid var(--line);background:#fbfcfe}.cashbook-import-confirm p{margin:0;color:var(--muted);font-size:.78rem}
@media(max-width:1150px){.cashbook-metrics{grid-template-columns:repeat(3,1fr)}.cashbook-ledger{grid-template-columns:1fr}.cashbook-inline-form.four,.cashbook-inline-form.three{grid-template-columns:1fr 1fr}.cashbook-inline-form .btn{grid-column:1/-1}.cashbook-import-layout{grid-template-columns:1fr}.cashbook-import-help{position:static}}
@media(max-width:760px){.cashbook-page-head{gap:12px}.cashbook-page-head .head-actions{width:100%;justify-content:flex-start}.cashbook-entry-grid{grid-template-columns:1fr}.cashbook-metrics{grid-template-columns:1fr 1fr}.cashbook-ledger{margin-left:-4px;margin-right:-4px}.cashbook-table{font-size:.72rem}.cashbook-table th,.cashbook-table td{padding:8px 7px}.cashbook-actions{width:auto}.cashbook-bottom-actions{flex-direction:column}.cashbook-bottom-actions .btn{justify-content:center}.preview-metrics{grid-template-columns:1fr 1fr}.cashbook-import-confirm{align-items:stretch;flex-direction:column}.cashbook-import-confirm .btn{justify-content:center}}
@media(max-width:480px){.cashbook-metrics{grid-template-columns:1fr 1fr}.cashbook-stat{padding:12px}.cashbook-stat strong{font-size:.88rem}.cashbook-month-form{width:100%}.cashbook-month-form input{flex:1;min-width:0}.cashbook-quick-form,.cashbook-inline-form.four,.cashbook-inline-form.three{grid-template-columns:1fr}.cashbook-ledger-side{border-radius:10px}.cashbook-table th:nth-child(3),.cashbook-table td:nth-child(3),.cashbook-table th:nth-child(4),.cashbook-table td:nth-child(4),.cashbook-table th:nth-child(5),.cashbook-table td:nth-child(5){font-size:.66rem}.cashbook-import-confirm{padding:12px}}


/* Church ERP v1.2.1 — Member Tithe & Expense Heading Records */
.cashbook-year-form{display:flex;align-items:end;gap:8px}.cashbook-year-form label span{display:block;margin-bottom:4px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.cashbook-year-form input{width:100px;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:var(--navy);font:inherit}.cashbook-summary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.cashbook-summary-metrics .cashbook-stat small{display:block;margin-top:5px;color:var(--muted)}.cashbook-summary-panel{margin-bottom:14px;overflow:hidden}.cashbook-summary-panel .panel-head p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.cashbook-summary-note{margin:0 16px 14px;padding:10px 12px;border-radius:10px;background:#f7f9fc;color:#59677c;font-size:.75rem}.cashbook-summary-table{width:100%;min-width:1160px;border-collapse:collapse;font-size:.75rem}.cashbook-summary-table th,.cashbook-summary-table td{padding:9px 8px;border-bottom:1px solid #edf0f4;vertical-align:top}.cashbook-summary-table thead th{position:sticky;top:0;background:#f8fafc;color:#5e6b80;font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;z-index:1}.cashbook-summary-table th:first-child,.cashbook-summary-table td:first-child{min-width:185px}.cashbook-summary-table .money-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cashbook-summary-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.64rem}.cashbook-summary-table .selected-row{background:#f0f6ff}.cashbook-detail-panel{margin-bottom:14px;border-color:#cad9ef}.cashbook-detail-panel .panel-head>strong{font-size:1rem;color:var(--navy)}.cashbook-detail-panel td small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:760px){.cashbook-year-form{width:100%}.cashbook-year-form label{flex:1}.cashbook-year-form input{width:100%}.cashbook-summary-metrics{grid-template-columns:1fr}.cashbook-summary-panel .panel-head{align-items:flex-start;gap:10px;flex-direction:column}.cashbook-summary-panel .panel-head .btn{width:100%;justify-content:center}}

/* v1.3.0 — Imported Member Linking & Tithe Selection */
.btn-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:5px;border-radius:999px;background:#e9f0ff;color:var(--blue);font-size:.7rem;font-weight:900}.btn.primary .btn-count{background:rgba(255,255,255,.2);color:#fff}
.cashbook-quick-form .field small,.cashbook-inline-form .field small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.35}
.cashbook-inline-form.five{grid-template-columns:.75fr .8fr 1.35fr 1.35fr .8fr auto}
.member-link-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.member-link-help{margin-bottom:14px}.member-link-help-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}.member-link-help-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.member-link-help-grid strong{display:block;margin-bottom:5px;color:var(--navy);font-size:.82rem}.member-link-help-grid span{display:block;color:var(--muted);font-size:.76rem;line-height:1.45}.member-link-panel{margin-bottom:14px}.member-link-table td{vertical-align:top}.member-link-table td>small,.member-link-table td strong+small{display:block;margin-top:4px;color:var(--muted);font-size:.73rem}.member-link-actions{min-width:350px}.member-link-actions>form{margin:0 0 8px}.member-link-existing-form{display:flex;align-items:center;gap:7px}.member-link-existing-form select{min-width:230px;max-width:330px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;color:#34425d;font:inherit}.status-badge.info{background:#eef4ff;color:#275ea8;border-color:#d5e4ff}.status-badge.warning{background:#fff7e7;color:#8b5a00;border-color:#f3dfae}.status-badge.success{background:#eefaf4;color:#15704a;border-color:#cfeadf}.linked-name-history .strong-link{font-weight:800}
@media(max-width:1150px){.cashbook-inline-form.five{grid-template-columns:1fr 1fr}.cashbook-inline-form.five .btn{grid-column:1/-1}.member-link-help-grid{grid-template-columns:1fr 1fr}.member-link-metrics{grid-template-columns:1fr 1fr}.member-link-actions{min-width:300px}}
@media(max-width:760px){.member-link-help-grid{grid-template-columns:1fr}.member-link-existing-form{align-items:stretch;flex-direction:column}.member-link-existing-form select{min-width:0;max-width:none;width:100%}.member-link-actions{min-width:240px}}
@media(max-width:480px){.cashbook-inline-form.five{grid-template-columns:1fr}.member-link-metrics{grid-template-columns:1fr 1fr}.member-link-actions{min-width:210px}}
.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:.68rem;font-weight:900;line-height:1.15;white-space:nowrap}
