@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--brand:#087c70;--nav:#123340;--ink:#203540;--muted:#6d7f87;--paper:#fff;--canvas:#f3f6f7;--line:#e2e9eb;--tint:#e8f4f0;--radius:13px;font-family:'DM Sans',sans-serif;color:var(--ink);font-size:14px;line-height:1.55;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--canvas)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7dcbbb;outline-offset:3px}svg{display:block}.icon{width:18px;height:18px;flex-shrink:0;stroke-width:1.7}h1,h2,h3,h4{font-family:Manrope,sans-serif;line-height:1.25;margin:0;font-weight:700}h1{font-size:30px;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:15px}p{margin:0}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--brand);margin-bottom:9px}.brand{display:flex;align-items:center;gap:11px;min-width:160px;font:800 17px Manrope,sans-serif}.brand small{display:block;letter-spacing:1.6px;font:500 9px 'DM Sans',sans-serif;margin-top:5px;text-transform:uppercase;opacity:.8}.crest{width:35px;height:42px;border:1px solid currentColor;border-radius:8px 8px 15px 15px;display:grid;place-items:center;font:500 24px Georgia,serif}.logo{width:42px;height:42px;object-fit:contain}.app-header{background:white;border-bottom:1px solid var(--line);padding:20px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-right{display:flex;align-items:center;gap:20px}.session-pill{padding:7px 12px;background:var(--tint);border-radius:6px;font-size:11px;color:#355a50;white-space:nowrap}.session-pill b{font-weight:600}.avatar{width:36px;height:36px;border-radius:50%;background:#e7ecee;display:grid;place-items:center;color:#385662;font-size:12px;font-weight:700;flex-shrink:0}.account{display:flex;gap:10px;align-items:center;font-size:12px}.account small{display:block;color:var(--muted);font-size:10px}.icon-button{display:grid;place-items:center;border:1px solid var(--line);background:white;width:34px;height:34px;border-radius:7px;color:var(--muted)}.app-navigation{display:flex;gap:4px;align-items:center;padding:0 30px;background:white;border-bottom:1px solid var(--line);flex-wrap:wrap}.nav-link{display:flex;gap:8px;align-items:center;padding:15px 13px;font-size:12px;color:#637680;border-bottom:2px solid transparent;white-space:nowrap}.nav-link:hover{color:var(--brand);background:#f8fbfa}.nav-link.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:700;background:#f5faf8}.nav-link .icon{width:16px;height:16px}.nav-spacer{flex:1}.side-brand,.nav-caption{display:none}.main{max-width:1360px;margin:0 auto;padding:32px 36px 48px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.page-heading p{margin-top:9px;color:var(--muted);font-size:13px}.actions,.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--line);padding:9px 15px;background:white;color:var(--ink);border-radius:7px;font-size:12px;font-weight:600;text-align:center;cursor:pointer}.btn:hover{filter:brightness(.97)}.btn-primary{background:var(--brand);color:white;border-color:var(--brand)}.btn-small{padding:5px 10px;min-height:30px;font-size:11px}.btn-danger{background:#fff1ef;color:#a1372e;border-color:#f0c8c2}.link{color:var(--brand);font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.stat-icon{background:var(--tint);color:var(--brand);padding:8px;border-radius:8px}.stat strong{display:block;font-family:Manrope,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.8px;margin:12px 0 5px;font-variant-numeric:tabular-nums}.stat small{font-size:11px;color:var(--muted)}.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px}.columns.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.pad{padding:23px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 23px;border-bottom:1px solid var(--line)}.panel-head small{font-size:11px;color:var(--muted)}.stack{display:grid;gap:22px}.space-top{margin-top:22px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;font-size:10px;background:#edf1f3;color:#4d6672;text-transform:capitalize;font-weight:500;white-space:nowrap}.badge.active,.badge.admitted,.badge.approved,.badge.paid{background:#e7f4eb;color:#337649}.badge.pending,.badge.submitted,.badge.under_review,.badge.part-paid,.badge.unpaid{background:#fff2dc;color:#96661b}.badge.rejected,.badge.void,.badge.inactive{background:#f9e8e6;color:#a15248}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#fafcfc;color:#7c8b94;font-size:10px;letter-spacing:.4px;text-transform:uppercase;font-weight:600;padding:12px 20px;white-space:nowrap}td{padding:16px 20px;border-bottom:1px solid #edf1f2;font-size:12px;vertical-align:middle}tr:last-child td{border-bottom:0}td strong{font-size:12px;font-weight:600}td small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.person{display:flex;gap:10px;align-items:center}.person .avatar{width:32px;height:32px;font-size:10px;background:var(--tint)}.task{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.task:hover .task-title{color:var(--brand)}.task-count{display:grid;place-items:center;background:var(--tint);color:var(--brand);width:36px;height:36px;border-radius:8px;font-size:13px;font-weight:700;flex-shrink:0}.task-title{font-size:12px;font-weight:600}.task small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.task .arrow{margin-left:auto;color:#98a6ad}.meter{height:9px;background:#edf2f3;border-radius:6px;overflow:hidden;margin:18px 0 12px}.meter span{display:block;height:100%;background:var(--brand);border-radius:6px}.big-money{font:700 29px Manrope,sans-serif;letter-spacing:-.8px;margin-top:20px;font-variant-numeric:tabular-nums}.split{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.notice-item{padding:14px 0;border-bottom:1px solid var(--line)}.notice-item:last-child{border:0}.notice-item strong{font-size:12px}.notice-item p{font-size:12px;color:var(--muted);margin:6px 0}.notice-item small{font-size:10px;color:var(--muted)}.footer-note{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8a9aa2}.alert{padding:14px 17px;border-radius:9px;background:var(--tint);border:1px solid #cce7dd;margin-bottom:20px;font-size:12px}.alert.error{background:#fff1ef;border-color:#efc6bd;color:#993b2e}.alert.warn{background:#fff6e6;border-color:#ecdaba;color:#81612e}.alert ul{padding-left:18px;margin:5px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500}.field input,.field select,.field textarea,.filter-input{width:100%;border:1px solid #d9e3e6;background:#fff;border-radius:7px;padding:10px 12px;color:var(--ink);min-width:0;font-size:13px}.field input[type=color]{padding:4px;height:43px}.field textarea{resize:vertical;min-height:86px}.field small{font-weight:400;color:var(--muted);font-size:10px}.full{grid-column:1/-1}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:21px}.checkbox{display:flex;gap:9px;align-items:center;font-size:12px}.checkbox input{accent-color:var(--brand);width:16px;height:16px}.check-grid{display:flex;gap:15px;flex-wrap:wrap}.form-section{border:0;margin:22px 0 0;padding:0}.form-section legend{font-weight:700;font-size:13px;margin-bottom:13px}.details-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px;overflow:hidden}.details-panel summary{padding:17px 21px;color:var(--brand);font-weight:600;font-size:13px}.details-panel[open] summary{border-bottom:1px solid var(--line)}.details-panel .inner{padding:22px}.filterbar{display:flex;gap:12px;align-items:end;margin-bottom:20px;flex-wrap:wrap}.filterbar .field{flex:1;max-width:330px}.empty{text-align:center;padding:35px 20px;color:var(--muted);font-size:13px}.empty h3{color:var(--ink);margin:8px 0}.definition{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0}.definition dt{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:5px}.definition dd{margin:0;font-size:13px}.tabs-inline{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.tabs-inline a{padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:12px}.tabs-inline a.active{background:var(--tint);border-color:#b8d9cd;color:var(--brand)}.summary-total{padding:23px;background:#f7faf9}.receipt{max-width:800px;margin:30px auto;padding:45px;background:white;border:1px solid var(--line);border-radius:14px}.receipt-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:35px}.receipt h1{font-size:27px}.receipt-total{border-top:2px solid var(--brand);margin-top:25px;padding-top:20px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-story{background:var(--nav);color:white;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-story:after{content:'';position:absolute;width:400px;height:400px;border:1px solid #ffffff14;border-radius:50%;right:-160px;bottom:-100px;pointer-events:none}.auth-story h1{font-size:48px;max-width:470px;line-height:1.12;font-weight:500;letter-spacing:-1.7px}.auth-story h1 em{font-style:normal;color:#a9d9c9}.auth-story p{color:#abc3cc;max-width:340px;font-size:14px;margin-top:22px}.auth-story .eyebrow{color:#b9d4ca}.auth-form{padding:60px 70px;display:flex;flex-direction:column;justify-content:center;max-width:600px;width:100%;margin:auto}.auth-form h1{font-size:28px;margin-bottom:10px}.auth-form form{margin-top:27px}.auth-form .field{margin-bottom:17px}.auth-form .btn-primary{width:100%;margin-top:6px}.auth-foot{font-size:12px;margin-top:22px;text-align:center;color:var(--muted)}.demo-box{background:var(--canvas);padding:15px;border:1px solid var(--line);border-radius:9px;margin-top:26px}.demo-box small{display:block;font-size:10px;color:var(--muted);margin-bottom:9px}.demo-box .action-row{gap:6px}.demo-box button{font-size:10px}.public-header{padding:25px 6%;display:flex;gap:30px;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line)}.public-nav{display:flex;align-items:center;gap:28px;font-size:12px;flex-wrap:wrap}.public-hero{padding:70px 7%;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;background:#f0f4ee}.public-hero h1{font-size:60px;letter-spacing:-2.8px;line-height:1.08;max-width:600px;font-weight:500}.public-hero h1 em{font-style:normal;color:var(--brand)}.public-hero p{font-size:15px;color:#687e79;max-width:420px;margin:25px 0;line-height:1.8}.hero-art{background:var(--nav);color:#d7eee3;padding:45px;border-radius:90px 12px 90px 12px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.hero-art h2{font-size:37px;max-width:260px;font-weight:500;line-height:1.2;z-index:1}.hero-art:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #a9d9c933;border-radius:50%;bottom:-80px;right:-60px}.hero-art small{font-size:10px;letter-spacing:2px}.public-content{max-width:1230px;margin:auto;padding:50px 36px}.public-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.public-card{border-top:2px solid var(--brand);padding:20px 0}.public-card p{font-size:13px;color:var(--muted);margin:12px 0}.public-footer{background:var(--nav);color:#bfd3d7;padding:30px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px;flex-wrap:wrap}.prose{max-width:760px;margin:auto}.prose p{margin:16px 0;color:var(--muted);line-height:1.9}.pagination{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.role-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.role-chips span{font-size:10px;background:#f0f4f5;color:#526c77;padding:4px 7px;border-radius:4px}.layout-options{display:flex;gap:13px;flex-wrap:wrap}.layout-option{border:1px solid var(--line);border-radius:10px;padding:17px;display:flex;align-items:center;gap:11px;min-width:180px}.layout-option:has(input:checked){background:var(--tint);border-color:var(--brand)}.layout-option input{accent-color:var(--brand)}.layout-option .icon{width:27px;height:27px}.layout-option small{display:block;color:var(--muted);font-size:10px}.app-shell[data-layout=side]{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.app-shell[data-layout=side] .app-header{grid-column:2;grid-row:1}.app-shell[data-layout=side] .header-brand{display:none}.app-shell[data-layout=side] .header-right{width:100%;justify-content:flex-end}.app-shell[data-layout=side] .app-navigation{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:27px 17px;background:var(--nav);border:0;gap:5px}.app-shell[data-layout=side] .side-brand{display:block;color:#edf6f3;padding:0 6px 23px}.app-shell[data-layout=side] .nav-caption{display:block;color:#8ba5af;font-size:9px;text-transform:uppercase;letter-spacing:1.8px;padding:16px 12px 5px}.app-shell[data-layout=side] .nav-link{color:#b8cdd4;padding:11px 13px;border:0;border-radius:7px;font-size:12px}.app-shell[data-layout=side] .nav-link.active,.app-shell[data-layout=side] .nav-link:hover{background:#ffffff15;color:white}.app-shell[data-layout=side] .nav-spacer{flex:0}.app-shell[data-layout=side] .main{grid-column:2;grid-row:2;width:100%;align-self:start}.app-shell[data-layout=side]{grid-template-rows:auto 1fr}
@media(min-width:1450px){.main{padding-top:40px}.auth-story h1{font-size:60px}}
@media(max-width:1050px){.app-header{padding:18px 23px}.app-navigation{padding:0 17px}.nav-link{padding:13px 10px}.main{padding:27px 23px}.stats{gap:12px}.stat{padding:16px}.stat strong{font-size:24px}.header-right{gap:12px}.app-shell[data-layout=side]{grid-template-columns:190px minmax(0,1fr)}.columns{grid-template-columns:1.4fr 1fr}.auth-story{padding:40px}.auth-form{padding:40px}.auth-story h1{font-size:39px}.public-hero h1{font-size:45px}.public-hero{gap:30px}.hero-art{padding:30px}}
@media(max-width:800px){.app-shell[data-layout=side]{display:block}.app-shell[data-layout=side] .app-header{display:flex}.app-shell[data-layout=side] .header-brand{display:block}.app-shell[data-layout=side] .header-right{width:auto}.app-shell[data-layout=side] .app-navigation{flex-direction:row;flex-wrap:wrap;padding:8px 15px}.app-shell[data-layout=side] .side-brand,.app-shell[data-layout=side] .nav-caption{display:none}.app-shell[data-layout=side] .nav-link{font-size:11px;padding:8px}.account .account-label{display:none}.public-link{display:none}.columns,.columns.equal{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr}.auth-story{min-height:230px;padding:25px 35px;gap:30px}.auth-story h1{font-size:32px}.auth-story p,.auth-story .story-footer{display:none}.auth-form{padding:35px;max-width:550px}.public-header{flex-wrap:wrap;padding:22px}.public-nav{gap:18px}.public-hero{grid-template-columns:1fr;padding:40px 25px}.hero-art{min-height:230px;border-radius:45px 12px 45px 12px}.hero-art h2{font-size:30px;max-width:400px}.public-cards{grid-template-columns:1fr}.public-content{padding:32px 25px}}
@media(max-width:520px){.main{padding:23px 15px}.app-header{padding:15px;gap:10px;flex-wrap:wrap}.header-right{gap:9px}.header-right .session-pill{font-size:9px;padding:6px}.brand{font-size:14px;min-width:0}.brand small{font-size:8px}.crest{width:28px;height:33px;font-size:20px}.account .avatar{display:none}.app-navigation{padding:5px 8px}.nav-link{font-size:10px;padding:10px 8px;gap:5px}.nav-link .icon{width:14px;height:14px}.nav-spacer{display:none}.page-heading{flex-direction:column;margin-bottom:21px}.page-heading h1{font-size:26px}.stat strong{font-size:24px}.stat-icon{padding:5px}.stat{padding:15px}.stat-top{font-size:11px}.panel-head{padding:17px}.pad{padding:18px}.form-grid,.form-grid.three{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.definition{gap:17px}.footer-note{align-items:flex-start}.footer-note span:last-child{display:none}.receipt{padding:25px;margin:15px}.receipt-head{flex-direction:column}.auth-story{padding:25px}.auth-form{padding:28px 23px}.auth-story h1{font-size:29px}.public-hero h1{font-size:41px}.big-money{font-size:25px}input,select,textarea{font-size:16px!important}.btn{min-height:42px}.btn-small{min-height:36px}}
@media print{body{background:white}.app-header,.app-navigation,.no-print,.footer-note{display:none!important}.app-shell[data-layout=side]{display:block}.main{padding:0;max-width:none}.receipt{border:0;margin:0;max-width:none;padding:20px}.panel{break-inside:avoid}a{text-decoration:none}.receipt-head{flex-direction:row}}

.public-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.public-page>main{flex:1;width:100%}.public-page>.public-footer{margin-top:auto}.remote-select{position:relative;min-width:0}.lookup-popover{position:absolute;z-index:30;top:100%;left:0;right:0;min-width:220px;background:white;border:1px solid #d7e3e5;box-shadow:0 10px 30px #183c4920;border-radius:9px;overflow:hidden;font-weight:400}.lookup-popover[hidden]{display:none}.lookup-popover ul{list-style:none;padding:0;margin:0;max-height:250px;overflow:auto}.lookup-option{padding:11px 13px;border-top:1px solid #edf2f3;cursor:pointer;font-size:12px}.lookup-option small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.lookup-option:hover,.lookup-option[aria-selected=true]{background:var(--tint)}.lookup-status{padding:10px 13px;color:var(--muted);font-size:11px}.lookup-more{width:100%;padding:11px;background:#f3f8f6;color:var(--brand);border:0;border-top:1px solid var(--line);font-size:12px}.selected-records{display:flex;flex-wrap:wrap;gap:6px}.selected-records:empty{display:none}.selected-record{display:flex;gap:8px;align-items:center;background:var(--tint);color:var(--ink);border-radius:6px;padding:5px 8px;font-size:11px}.selected-record button{background:none;border:0;color:var(--ink);padding:2px 4px}.details-panel:has(.remote-select),.panel:has(.remote-select){overflow:visible}.remote-select input[type=search]{padding-right:24px}
@media(max-width:520px){.lookup-popover{min-width:0}.stats.finance-stats{grid-template-columns:1fr!important}}

.nav-group{position:relative}.nav-group>summary{list-style:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-chevron{font-size:14px;margin-left:3px}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-submenu{position:absolute;z-index:80;top:100%;left:0;min-width:245px;background:white;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 12px 25px #14394418;padding:6px}.nav-submenu a{display:block;padding:11px 13px;border-radius:6px;font-size:12px;color:var(--ink)}.nav-submenu a:hover,.nav-submenu a[aria-current=page]{background:var(--tint);color:var(--brand)}.app-shell[data-layout=side] .nav-submenu{position:static;min-width:0;border:0;box-shadow:none;background:#ffffff08;padding:4px;margin:4px 0 6px 8px;border-radius:7px}.app-shell[data-layout=side] .nav-submenu a{font-size:11px;color:#d0e1e4;padding:10px}.app-shell[data-layout=side] .nav-submenu a:hover,.app-shell[data-layout=side] .nav-submenu a[aria-current=page]{background:#ffffff12;color:white}.app-shell[data-layout=side] .nav-chevron{margin-left:auto}.listing-status{font-size:11px;color:var(--muted);min-height:20px;margin:7px 0}.listing-status:empty{display:none}[data-list-content][aria-busy=true]{opacity:.65;pointer-events:none}.filter-panel{margin-bottom:20px}.filter-panel .form-actions{margin-top:16px}
@media(max-width:800px){.app-shell[data-layout=side] .nav-submenu{position:absolute;background:var(--nav);min-width:230px;box-shadow:0 12px 25px #14394430}.nav-submenu{min-width:215px}.nav-group:nth-last-child(-n+3) .nav-submenu{left:auto;right:0}}

.card-reader{text-align:center}.card-pulse{font-size:60px;color:var(--brand);margin:12px}.scanning .card-pulse{animation:card-wait 1.5s ease-in-out infinite}@keyframes card-wait{50%{opacity:.35;transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.scanning .card-pulse{animation:none}}
