/* Citizen app: one mobile canvas at every viewport; admin remains a web workspace. */
body{background:#F7F8F9}.mobile-app{position:relative;max-width:480px;margin:0 auto;background:#fff;min-height:100dvh;box-shadow:0 0 70px #1E293B10}.preview-note{display:none}header{height:68px;padding:0 22px;gap:10px;background:#fff;position:sticky;top:0;z-index:12;border-bottom:1px solid #F7F8F9}.brand{font-size:24px}.brandmark{width:32px;height:32px;font-size:22px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.header-ai{font-size:12px;color:var(--brand);font-weight:700}.account{margin:0}.demo{padding:6px 20px;letter-spacing:0;font-size:9px;gap:8px;min-height:26px}.demo span{display:inline;font-size:8px}.demo a{font-size:8px}.bottomnav{display:flex;position:fixed;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:min(100%,480px);height:76px;height:calc(76px + env(safe-area-inset-bottom));padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #F7F8F9;z-index:15;justify-content:space-between;box-shadow:0 -6px 24px #1E293B05}.bottomnav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:20px;line-height:1.2;min-width:50px;color:#94A3B8}.bottomnav a span{font-size:10px;margin:0}.bottomnav a.active{color:var(--brand);font-weight:700}.bottomnav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bottomnav .ai-nav{margin-top:-22px;min-width:65px}.ai-nav b{background:var(--brand);color:var(--tint);border:5px solid #fff;width:52px;height:52px;display:grid;place-items:center;border-radius:18px;font-size:30px;box-shadow:0 4px 12px #1E293B15}main{padding:24px 22px 34px;min-height:70dvh;width:100%}h1{font-size:28px;line-height:1.35;letter-spacing:-1px}h2{font-size:21px;line-height:1.4;letter-spacing:-.6px}h3{font-size:17px}p{font-size:14px}.page-title{margin-bottom:23px}.page-title p{font-size:13px;margin-top:9px}.eyebrow{font-size:9px;letter-spacing:1.5px}footer{padding:24px 22px 105px;background:#F7F8F9;font-size:10px}footer .brand{font-size:17px}footer p{font-size:11px}footer>a:last-child{position:static;display:block;margin-top:12px;font-size:11px}.sectionhead{margin:29px 0 16px;align-items:center}.sectionhead h2{font-size:21px}.sectionhead p{font-size:12px}.textlink{font-size:12px}.btn{min-height:48px;border-radius:12px;font-size:14px}.chip{min-height:40px;padding:8px 16px;font-size:12px}.chips{gap:7px;margin:17px 0 20px}.two-col,.split,.hero-grid{display:grid;grid-template-columns:1fr;gap:15px}.aside{position:static;padding:22px;border-radius:17px}.panel{padding:20px;border-radius:16px;margin-bottom:16px}.panel h3{font-size:17px}.row{font-size:13px;gap:12px}.row b{max-width:65%;text-align:right}.row small{font-size:11px}.cards{grid-template-columns:1fr;gap:18px}.card{border-radius:17px}.photo-wrap{height:195px}.cardbody{padding:18px}.cardbody h3{font-size:18px}.cardbottom{font-size:11px}.cardbottom strong{font-size:20px}.searchrow{display:flex;flex-wrap:wrap;gap:9px}.searchrow input{width:100%;flex-basis:100%}.searchrow select{flex:1;width:60%;min-width:0}.searchrow .btn{min-width:80px}.personrow>div{max-width:65%}.personrow select{font-size:13px}.detail-photo{height:245px;border-radius:18px;margin-bottom:20px}.schedule{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.stat{padding:18px 9px;border-radius:13px}.stat strong{font-size:19px;white-space:nowrap}.stat small{font-size:11px}.price{font-size:26px}.notice{font-size:12px;padding:14px 16px}.fund-hero{padding:28px;border-radius:18px}.fund-hero h1{font-size:29px}.fund-hero p{font-size:13px}.big-no{font-size:34px}.breadcrumb{font-size:11px;margin-bottom:18px}.sticky-apply{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),448px)!important;z-index:13;box-shadow:0 -12px 0 12px #ffffffed}.mobile-app:has(.sticky-apply) main{padding-bottom:95px}#toast{bottom:100px;max-width:400px;width:calc(100% - 40px);text-align:center;font-size:12px;padding:14px 18px;z-index:30}.mobileonly{display:block}.greeting{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.greeting h1{font-size:25px;line-height:1.45}.greeting p{font-size:12px;color:#64748B;margin-top:5px}.location-pill{font-size:11px;background:#F7F8F9;border-radius:30px;padding:7px 11px;color:#64748B;white-space:nowrap;margin-top:6px}.family-picker{display:flex;gap:9px;margin-bottom:19px}.family-pill{display:flex;align-items:center;gap:7px;border:1px solid #EDF3F7;border-radius:40px;padding:6px 12px 6px 6px;min-height:41px;font-size:12px}.family-pill.active{background:#F7F8F9;border-color:#94A3B8;color:var(--brand);font-weight:700}.family-pill .avatar{width:26px;height:26px;font-size:11px;background:#F7F8F9}.family-pill.active .avatar{background:#EDF3F7}.app-wallet{background:var(--brand);color:white;padding:23px;border-radius:21px;position:relative;overflow:hidden}.app-wallet .wallet-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#EDF3F7}.wallet-top span:last-child{font-size:9px;border:1px solid #64748B;border-radius:5px;padding:2px 6px;letter-spacing:1px}.app-wallet .balance{font-size:34px;line-height:1.25;font-weight:700;letter-spacing:-.8px;margin:12px 0 18px}.app-wallet .balance span{font-size:22px;margin-left:4px}.app-wallet .wallet-bottom{border-top:1px solid #1E293B;display:flex;justify-content:space-between;padding-top:13px;font-size:11px;color:#EDF3F7}.app-wallet .wallet-bottom b{color:white;margin-left:6px}.app-wallet .wallet-link{position:absolute;right:24px;top:62px;border:1px solid #64748B;width:33px;height:33px;border-radius:50%;display:grid;place-items:center}.ai-entry{margin-top:12px;padding:16px;border:1px solid #EDF3F7;border-radius:15px;display:flex;align-items:center;gap:12px;background:#F7F8F9}.ai-spark{width:39px;height:39px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;background:#EDF3F7;color:var(--brand);font-size:28px}.ai-entry b{font-size:13px;display:block}.ai-entry p{font-size:11px;color:#64748B;margin-top:2px}.ai-entry>span:last-child{margin-left:auto;color:#64748B}.mobile-hero{display:block;position:relative;height:180px;overflow:hidden;border-radius:18px;margin:24px 0 0;background:#64748B}.mobile-hero img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.mobile-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#002664bd,#00266400)}.mobile-hero-copy{position:absolute;left:22px;top:24px;z-index:1;color:#fff}.mobile-hero-copy small{color:#D2D9E5;font-size:9px;letter-spacing:1.5px}.mobile-hero-copy h2{font-size:23px;line-height:1.4;margin:8px 0 10px}.mobile-hero-copy span{font-size:11px}.home-categories{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 7px}.home-categories a{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.home-categories i{font-style:normal;background:#F7F8F9;border-radius:17px;width:49px;height:49px;display:grid;place-items:center;font-size:23px;font-weight:400;color:#0069C4}.home-categories svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.recommend-label{display:inline-flex;align-items:center;gap:5px;font-size:9px;background:#EDF3F7;color:#0069C4;border-radius:5px;padding:2px 6px;vertical-align:middle;letter-spacing:.4px;margin-left:6px}.home-feed{margin:0 -22px;padding:0 22px 8px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none}.home-feed .card{flex:0 0 80%;scroll-snap-align:start}.home-feed .photo-wrap{height:156px}.home-feed .cardbody{padding:15px}.home-feed .cardbody h3{font-size:16px}.home-feed .cardbottom strong{font-size:18px}.home-feed .cardbottom{gap:5px}.mini-impact{margin-top:28px;padding:23px;background:#F7F8F9;border-radius:17px}.mini-impact .impact-top{display:flex;justify-content:space-between;align-items:center}.mini-impact h3{font-size:17px}.mini-impact p{font-size:12px;color:#64748B;margin:6px 0 15px}.mini-impact .impact-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px}.impact-stats small{font-size:10px}.impact-stats strong{font-size:23px;display:block;margin-top:3px}.wallet-ai-link{background:#F7F8F9;border:1px solid #EDF3F7;border-radius:15px;padding:17px;display:flex;align-items:center;gap:12px;margin-bottom:20px}.wallet-ai-link b{display:block;font-size:13px}.wallet-ai-link small{font-size:11px}.chat{max-width:100%}.chat-form{bottom:76px}.success{padding:45px 5px}.success h1{font-size:28px}input:not([type=checkbox]),textarea,select{font-size:16px}input[type=checkbox]{min-width:20px;min-height:20px}.check{align-items:start;line-height:1.6}.recommend{font-size:12px}.mobile-app:has(.chat) footer{display:none}.mobile-app:has(.chat) main{padding-bottom:100px}
@media(min-width:1000px){.mobile-app{margin-left:calc(50% + 30px);margin-right:0}.bottomnav{left:calc(50% + 270px)}.sticky-apply{left:calc(50% + 270px)}#toast{left:calc(50% + 270px)}.preview-note{display:block;position:fixed;left:calc(50% - 425px);top:24%;width:380px;color:var(--brand)}.preview-note .brand{font-size:33px;gap:14px;margin-bottom:40px}.preview-note h1{font-size:34px;line-height:1.5;letter-spacing:-1.4px}.preview-note p{font-size:15px;margin:20px 0 30px;line-height:1.9;color:#64748B}.preview-meta{font-size:10px;line-height:2.2;letter-spacing:2px;color:#94A3B8;margin-bottom:35px}.preview-note .btn{font-size:12px;background:transparent;border-color:#D2D9E5}}
@media(max-width:380px){main{padding-left:18px;padding-right:18px}.greeting h1{font-size:23px}.family-pill{padding-right:10px;font-size:11px}.home-feed{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.stat strong{font-size:17px}.row{font-size:12px}.mobile-hero-copy h2{font-size:22px}.demo{padding-left:15px;padding-right:15px}.hero h1{font-size:28px}.home-feed .card{flex-basis:88%}}
.mobile-app:has(.ai-chat) footer{display:none}.mobile-app:has(.ai-chat) main{padding-bottom:170px;min-height:calc(100dvh - 94px)}.mobile-app .ai-composer{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 36px),444px);margin:0;z-index:14}.ai-person-picker{margin-bottom:10px}.ai-inline{margin-bottom:20px}.ai-inline .ai-source{font-size:9px}.ai-intro{padding-top:8px}.ai-chat .ai-safety{margin:16px 0}.mobile-app .ai-message:last-child{scroll-margin-bottom:180px}@media(min-width:1000px){.mobile-app .ai-composer{left:calc(50% + 270px)}}
/* Inje Blue: interaction #0069C4 / actions #0D4F98 / deep quick menu #002664. */
:focus-visible{outline-color:#0069C4}.bottomnav a.active,.header-ai,.textlink,.family-pill.active{color:#0069C4}.family-pill.active{background:#EDF3F7;border-color:#0069C4}.family-pill.active .avatar{background:#DCEBFA;color:#0069C4}.chip.active{background:#0069C4;border-color:#0069C4}.brandmark,.ai-nav b{background:#002664;color:#fff}.btn,.ai-composer button{background:#0D4F98}.btn:hover,.ai-composer button:hover{background:#1B55AD}.btn.outline,.btn.white{background:white;color:#0D4F98}.btn.lime{background:#0D4F98;color:white}.app-wallet{background:#0D4F98}.app-wallet .wallet-top,.app-wallet .wallet-bottom{color:#DCEBFA}.app-wallet .wallet-bottom{border-color:#ffffff30}.app-wallet .wallet-link,.wallet-top span:last-child{border-color:#ffffff50}.ai-entry,.wallet-ai-link{background:#EDF3F7;border-color:#D2D9E5}.ai-spark{background:#DCEBFA;color:#0069C4}.location-pill{background:#EDF3F7;color:#64748B}.recommend-label{background:#EDF3F7;color:#0069C4}.home-categories i{background:#EDF3F7;color:#0069C4}.demo{background:#002664;color:#fff}.mobile-hero-copy small{color:#fff}.ai-entry>span:last-child{color:#0069C4}.bottomnav a.active span{border-bottom:2px solid #0069C4;padding-bottom:2px}.ai-user{background:#0D4F98!important}
img.avatar{object-fit:cover;display:inline-block;vertical-align:middle;border-radius:50%;flex-shrink:0;background:#EDF3F7}.account img.avatar{width:36px;height:36px}.family-pill img.avatar{width:30px;height:30px}.profile-select{display:flex;align-items:center;gap:10px;min-width:0}.profile-select select{min-width:0;font-size:13px}.wallet-person>div{max-width:76%}.wallet-person .profile-face{width:48px;height:48px}.wallet-person{margin:6px 0 20px}.panel .row>span:has(img.avatar){display:flex;align-items:center;gap:10px}.panel .row img.avatar{width:38px;height:38px}
/* Usability pass: readable information, reachable controls, dedicated chat viewport. */
.mobile-app p,.mobile-app .row,.mobile-app small,.mobile-app .notice,.mobile-app .tag,.mobile-app .meta small{font-size:14px}.mobile-app .tag{font-size:12px}.mobile-app .textlink{font-size:14px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.mobile-app .personrow select{min-height:44px;font-size:15px}.mobile-app button,.mobile-app select,.mobile-app .chip{min-height:44px}.mobile-app .brand[hidden]{display:none}.bottomnav a span{font-size:12px}.bottomnav a{color:#64748B}.header-ai{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:14px}.account{min-width:44px;min-height:44px;justify-content:center}.app-wallet .wallet-link{width:44px;height:44px;top:57px;right:20px}.app-wallet .wallet-top{font-size:14px}.app-wallet .wallet-bottom{font-size:13px}.wallet-top span:last-child{font-size:10px}.family-pill{font-size:14px}.app-wallet{padding:20px}.app-wallet .balance{font-size:32px;margin:10px 0 14px}.greeting{margin-bottom:16px}.greeting h1{font-size:24px}.family-picker{margin-bottom:16px}.home-recommendations .ai-result{margin:0 0 16px}.home-recommendations .ai-result-top{padding:15px;gap:12px}.mobile-app .ai-result small,.mobile-app .ai-reason{font-size:14px;line-height:1.6}.mobile-app .ai-result h3{font-size:17px}.mobile-app .ai-result-cost{font-size:14px;flex-wrap:wrap}.mobile-app .ai-result-cost strong{font-size:20px}.mobile-app .ai-reason{padding:0 15px 14px}.home-recommendations .ai-result img{width:76px;height:86px}.home-recommendations+.ai-entry{margin-bottom:25px}.home-categories{margin-top:24px;margin-bottom:20px}.home-categories a{font-size:14px}.mobile-hero{height:110px;margin-top:15px}.mobile-hero-copy{top:23px}.mobile-hero-copy h2{font-size:21px;margin:0 0 7px}.mobile-hero-copy span{font-size:14px}.sectionhead{align-items:center}.sectionhead>div{min-width:0}.sectionhead>.textlink{flex-shrink:0}.sectionhead h2{font-size:21px}.recommend-label{display:none}.sectionhead p{font-size:14px}.ai-entry b,.wallet-ai-link b{font-size:15px}.ai-entry p,.wallet-ai-link small{font-size:14px}.mini-impact .impact-stats{margin-top:14px}.mini-impact small{font-size:14px}.program-detail h1{font-size:30px;margin:12px 0 5px}.price-summary{margin:20px 0;padding:18px;background:#EDF3F7;border-radius:16px}.price-summary .field{margin:0}.price-summary .field>span{font-size:14px}.price-summary .row{margin-top:8px}.price-summary>p{margin-top:8px}.program-detail .detail-photo{height:190px;margin:4px 0 20px}.detail-section{padding:20px 0;border-bottom:1px solid #D2D9E5}.detail-section h2{margin-bottom:13px}.detail-section .row{gap:12px}.detail-section .row b{max-width:65%}.schedule-details summary,.wallet-details summary{min-height:52px;cursor:pointer;font-size:15px;font-weight:700;padding:14px 0}.schedule-details{margin-top:12px}.schedule div{font-size:14px}.app-back{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:34px;color:#0D4F98;line-height:1}.subpage-title{font-size:17px;font-weight:700}.mobile-app[data-page=detail] header,.mobile-app[data-page=checkout] header{padding-left:10px;gap:7px}.mobile-app[data-page=detail] main,.mobile-app[data-page=checkout] main{padding-bottom:120px}.mobile-app[data-page=detail] footer,.mobile-app[data-page=checkout] footer{display:none}.purchase-bar{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(100%,480px);padding:13px 20px;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:white;border-top:1px solid #D2D9E5;box-shadow:0 -7px 20px #00266409;z-index:14}.purchase-bar small{display:block;color:#64748B;font-size:13px}.purchase-bar strong{display:block;font-size:24px;line-height:1.25}.purchase-bar .btn{min-width:140px;min-height:50px;font-size:16px}.needs-consent{outline:2px solid #0069C4;outline-offset:8px;border-radius:4px;scroll-margin-top:100px;scroll-margin-bottom:180px}.check{scroll-margin-top:100px;scroll-margin-bottom:180px}.wallet-person .profile-select{width:100%;max-width:none}.wallet-person>div{max-width:100%}.wallet-person .profile-select select{width:100%;font-size:15px}.wallet-orders{padding:20px 0;border-bottom:1px solid #D2D9E5;margin-bottom:20px}.wallet-orders h2{margin-bottom:12px}.wallet-empty{padding:18px 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-empty .btn{font-size:14px;white-space:nowrap;padding:10px 15px}.wallet-orders .row>div{min-width:0}.wallet-orders .row .chip{flex-shrink:0;padding:8px 12px}.wallet-details{border-bottom:1px solid #D2D9E5;padding:5px 0}.wallet-details summary span{float:right;font-size:14px;font-weight:400;color:#64748B}.details-body{padding:0 0 20px}.family-section{padding-top:24px}.family-section h2{margin-bottom:12px}.family-row{display:flex;align-items:center;gap:12px;padding:12px 10px;width:100%;border-bottom:1px solid #EDF3F7;text-align:left;border-radius:10px;font-size:14px}.family-row>span:last-child{margin-left:auto;font-size:14px;color:#0069C4;white-space:nowrap}.family-row img.avatar{width:40px;height:40px}.family-row.active{background:#EDF3F7}.family-section>p{margin-top:12px}.stat small{font-size:13px}.mobile-app .stat strong{font-size:20px}.mobile-app .cardbody p,.mobile-app .cardbottom{font-size:14px}.mobile-app .cardbottom{gap:12px;flex-wrap:wrap}.mobile-app .cardbottom strong{font-size:21px}.mobile-app .personrow{gap:10px;flex-wrap:wrap}.mobile-app .personrow>div{max-width:100%}.mobile-app .ai-intro{padding:0 0 12px}.mobile-app .ai-intro h1{font-size:24px;margin:0}.mobile-app .ai-context{font-size:14px;line-height:1.6;padding:10px 13px}.mobile-app .ai-context b{display:none}.mobile-app .ai-prompts{margin:14px 0;gap:8px}.mobile-app .ai-prompts button{display:flex;align-items:center;gap:8px;padding:10px;font-size:14px;min-height:48px;border-radius:12px}.mobile-app .ai-prompts button span{margin:0;font-size:19px}.mobile-app .ai-follow button{font-size:14px;min-height:44px}.mobile-app .ai-message{font-size:14px;padding:14px}.mobile-app .ai-speaker{font-size:13px}.mobile-app .ai-summary,.mobile-app .ai-ledger div{font-size:14px}.mobile-app[data-page=ai]{height:100dvh;min-height:0;overflow:hidden}.mobile-app[data-page=ai]>header{position:relative}.mobile-app[data-page=ai] main{height:calc(100dvh - 144px - env(safe-area-inset-bottom));min-height:0;padding:0;overflow:hidden}.mobile-app[data-page=ai] .ai-chat{display:flex;flex-direction:column;height:100%;min-height:0}.mobile-app[data-page=ai] .ai-scroll{overflow-y:auto;flex:1;min-height:0;padding:18px 20px 16px;overscroll-behavior:contain;scrollbar-width:thin}.mobile-app[data-page=ai] .ai-composer{position:static;transform:none;flex-shrink:0;left:auto;bottom:auto;width:auto;margin:0 16px 10px;padding:8px;box-shadow:0 -5px 16px #00266408}.mobile-app[data-page=ai] .ai-composer input{font-size:16px}.mobile-app[data-page=ai] .ai-composer button{min-height:44px}.mobile-app[data-page=ai] .ai-message:last-child{scroll-margin:0}
@media(max-width:380px){.mobile-app .stat strong{font-size:18px}.mobile-app .stat small{font-size:12px}.purchase-bar{padding:12px 18px}.purchase-bar .btn{min-width:128px}.wallet-details summary{font-size:14px}.wallet-details summary span{font-size:13px}.wallet-empty{align-items:flex-start;flex-direction:column}.home-categories a{font-size:13px}.mobile-app .ai-result-cost{font-size:13px}.mobile-app .ai-result-cost strong{font-size:19px}.family-row{gap:8px;font-size:13px}.family-row>span:last-child{font-size:13px}}
@media(min-width:1000px){.purchase-bar{left:calc(50% + 270px)}}
#toast{pointer-events:none}.mobile-app[data-page=ai] #toast{top:78px;bottom:auto}
