:root{--navy:#172240;--navy2:#242f8f;--navy-dark:#111a30;--red:#e32b35;--red-soft:#fff0f0;--blue:#353f99;--blue-soft:#eff0fb;--ink:#202b41;--muted:#8791a3;--sub:#5f6e80;--line:#e7eaf0;--canvas:#f6f7f9;--white:#fff;--success:#1f9665;--success-soft:#e7f7ee;--warning:#d88a1f;--warn-soft:#fff5e3;--shadow:0 14px 40px rgba(18,34,65,.065);--r:18px;--rsm:11px;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans','Noto Sans KR',system-ui,-apple-system,sans-serif;background:var(--canvas);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{text-decoration:none;color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,'Noto Sans KR',sans-serif;letter-spacing:-.045em;line-height:1.2}h1{font-size:54px}h2{font-size:32px}h3{font-size:19px}small{font-size:11px}::selection{background:#ffdfd9;color:#182040}svg{vertical-align:middle;flex:none}.ic{width:18px;height:18px;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke:currentColor}.ic-sm{width:15px;height:15px}.ic-lg{width:22px;height:22px}.icon-btn{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--sub)}.icon-btn:hover{color:var(--red);border-color:#f5b5bb}.icon-btn.plain{border:0;background:transparent}
.btn{border:1px solid transparent;display:inline-flex;gap:9px;align-items:center;justify-content:center;white-space:nowrap;border-radius:10px;padding:11px 16px;font-weight:750;font-size:12px;line-height:1.3;transition:transform .16s ease,background .16s ease,border .16s ease;color:var(--white);background:var(--navy);text-align:center}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-red{background:var(--red)}.btn-red:hover{background:#c91b2a}.btn-blue{background:var(--blue)}.btn-soft{color:var(--navy);background:#eff1f7;border-color:#e8ebf3}.btn-white{background:#fff;color:var(--navy)}.btn-outline{background:#fff;color:var(--navy);border-color:#dbe0e9}.btn-ghost{background:transparent;color:var(--sub)}.btn-sm{padding:8px 11px;font-size:11px;border-radius:8px}.btn-lg{padding:14px 20px;font-size:13px;border-radius:12px}.btn-full{width:100%}.btn-text{background:none;border:0;padding:4px;color:var(--blue);font-weight:750;font-size:12px}.btn-danger{background:#fff0f0;color:#c52635;border-color:#ffdadd}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8790dc;outline-offset:2px}
.demo-ribbon{height:38px;background:#0b1428;color:#e9edf8;display:flex;align-items:center;justify-content:space-between;padding:0 27px;gap:12px;position:sticky;top:0;z-index:80;font-size:10px;font-weight:700;letter-spacing:.065em}.demo-copy{display:flex;align-items:center;gap:9px}.blink{width:7px;height:7px;border-radius:100%;background:#ff465d;box-shadow:0 0 0 4px rgba(249,69,86,.12)}.demo-right{display:flex;align-items:center;gap:12px;white-space:nowrap}.role-switch{display:flex;align-items:center;gap:2px;background:#25314a;border-radius:7px;padding:3px}.role-switch button{border:0;color:#b9c2d8;background:transparent;font-size:10px;letter-spacing:0;padding:3px 10px;border-radius:5px;font-weight:750}.role-switch button.active{background:white;color:#162140}.demo-reset{background:none;border:0;color:#b5bdd2;font-size:10px;font-weight:700;padding:5px}.demo-reset:hover{color:white}
.public-wrap{background:#fcfcfa;min-height:calc(100vh - 38px)}.public-nav{height:92px;max-width:1340px;margin:auto;padding:0 49px;display:flex;align-items:center;gap:26px;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-image{width:74px;height:66px;object-fit:cover;object-position:50% 52%;mix-blend-mode:multiply}.brand-label{display:flex;flex-direction:column;line-height:1.15;letter-spacing:-.03em}.brand-label strong{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.04em;font-size:17px;white-space:nowrap;color:#1d2750}.brand-label span{font-weight:700;font-size:9px;letter-spacing:.16em;color:#9a9daf;margin-top:5px}.public-links{display:flex;align-items:center;gap:32px;color:#495465;font-size:12px;font-weight:750}.public-links button{border:0;background:none;color:inherit;padding:10px 0;font-weight:inherit}.public-links button.active,.public-links button:hover{color:var(--red)}.public-actions{display:flex;gap:9px;align-items:center}.mobile-menu{display:none}
.public-hero{position:relative;max-width:1340px;margin:0 auto;min-height:617px;padding:42px 50px 94px;display:grid;grid-template-columns:49% 51%;overflow:hidden;gap:0}.hero-copy{position:relative;z-index:2;padding-top:74px}.overline{color:var(--red);font-weight:850;letter-spacing:.17em;font-size:10px;display:flex;align-items:center;gap:8px}.overline::before{content:'';display:inline-block;width:22px;height:2px;background:currentColor}.hero-copy h1{font-family:Manrope,'Noto Sans KR',sans-serif;font-size:clamp(54px,5.5vw,83px);line-height:1.04;letter-spacing:-.085em;margin:24px 0 24px;font-weight:800}.hero-copy h1 i{font-style:normal;color:var(--red);display:block}.hero-copy>p{color:#697483;font-size:15px;line-height:1.9;max-width:365px;margin-bottom:28px}.hero-buttons{display:flex;gap:11px;flex-wrap:wrap}.hero-mini{display:flex;gap:22px;align-items:center;margin-top:52px;padding-top:20px;border-top:1px solid #e9ebee;max-width:420px}.hero-mini b{font-size:21px;letter-spacing:-.06em;color:#16203a}.hero-mini small{display:block;color:#9aa1af;font-size:10px;letter-spacing:.06em;margin-top:0}.hero-divider{height:31px;width:1px;background:#dfe3e8}.hero-photo-panel{position:relative;margin:0 0 0 10px;min-height:510px;max-height:576px;border-radius:115px 16px 16px 16px;background:linear-gradient(125deg,#bdc7ce 0%,#4b6381 41%,#253454 100%);overflow:hidden;isolation:isolate}.hero-photo-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,20,43,.68) 100%);z-index:1}.hero-photo-panel img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.06);inset:0}.hero-photo-abstract{position:absolute;inset:0;background:radial-gradient(circle at 60% 25%,rgba(250,208,149,.42) 0 9%,transparent 44%),linear-gradient(145deg,#7a8b9a 0%,#375575 55%,#12254e 100%)}.photo-art-line{position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:999px;width:740px;height:740px;bottom:-460px;right:-195px;z-index:2;pointer-events:none}.photo-art-line.alt{width:550px;height:550px;bottom:-365px;right:-105px}.hero-photo-content{position:absolute;z-index:2;left:34px;right:34px;bottom:32px;color:#fff;display:flex;align-items:end;justify-content:space-between}.hero-photo-content strong{font-size:26px;letter-spacing:-.04em;line-height:1.1}.hero-photo-content small{display:block;color:#e5ebf7;font-size:10px;letter-spacing:.14em;margin-bottom:10px}.photo-round{border:1px solid #d8deeb69;width:51px;height:51px;border-radius:100%;display:grid;place-items:center}.hero-sticker{position:absolute;z-index:4;top:74px;right:15px;background:#fff;border-radius:15px;box-shadow:var(--shadow);padding:13px 18px;display:flex;align-items:center;gap:12px;transform:rotate(3deg)}.hero-sticker b{display:block;font-size:14px;color:#142244}.hero-sticker small{display:block;color:#80899b;font-size:10px}.red-star{width:35px;height:35px;background:#fef0f0;color:var(--red);border-radius:10px;display:grid;place-items:center}.loop{position:absolute;left:43%;bottom:57px;z-index:3;background:var(--red);color:white;width:92px;height:92px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:0 13px 25px #cc21394d}.loop strong{font-size:23px;line-height:1.1}.loop span{font-size:9px;font-weight:850;letter-spacing:.12em}.section{max-width:1240px;margin:auto;padding:72px 35px}.section.light{background:#f5f6f8}.sec-kicker{color:var(--red);font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.sec-title{font-size:39px;margin:12px 0 13px;letter-spacing:-.065em}.sec-sub{color:#7e8797;max-width:600px;font-size:13px;line-height:1.85}.sec-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{background:white;border:1px solid #ebedf2;padding:31px 28px;border-radius:18px;min-height:234px;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.feature-icon{height:47px;width:47px;border-radius:13px;background:#fff1f1;color:var(--red);display:grid;place-items:center;margin-bottom:30px}.feature-card:nth-child(2) .feature-icon{background:#eff0fc;color:var(--blue)}.feature-card:nth-child(3) .feature-icon{background:#e9f8ef;color:#248d61}.feature-card h3{font-size:19px;margin-bottom:8px}.feature-card p{color:#7e8896;line-height:1.75;font-size:12px}.story-block{background:#192449;color:#fff;border-radius:26px;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:35px;overflow:hidden;position:relative}.story-block h2{font-size:40px;max-width:475px}.story-block p{color:#c7cee5;line-height:1.9;font-size:13px;max-width:475px}.story-orbit{border:1px solid #ffffff17;width:470px;height:470px;border-radius:50%;position:absolute;right:-170px;top:-140px}.story-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.story-tile{background:#fff1;border:1px solid #ffffff20;border-radius:16px;padding:22px;min-height:115px}.story-tile span{font-size:10px;color:#b5bee1;font-weight:750;letter-spacing:.11em}.story-tile strong{display:block;font-size:27px;margin-top:12px}.story-tile:nth-child(2){background:var(--red);border-color:var(--red)}.story-tile:nth-child(3){grid-column:span 2}.cta-section{padding:65px 32px;text-align:center;background:linear-gradient(160deg,#f9e6e2,#f5f6fd 67%,#fff)}.cta-section h2{font-size:42px;margin:0 0 15px}.cta-section p{color:#697584}.public-footer{background:#101a34;color:#a9b3ca;padding:31px 50px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:11px}.public-footer b{color:#fff}.public-mobile-links{display:none}
.join-wrap{max-width:1080px;margin:30px auto 100px;padding:0 22px;display:grid;grid-template-columns:1.5fr .75fr;gap:25px}.join-banner{background:#f5f6fa;border-radius:19px;padding:25px 26px;margin-bottom:19px}.join-banner h1{font-size:32px;margin:5px 0}.join-banner p{color:var(--sub);margin:8px 0 0}.join-panel,.join-summary{background:#fff;border:1px solid var(--line);border-radius:18px;padding:31px;box-shadow:var(--shadow)}.stepper{display:flex;gap:10px;align-items:center;margin-bottom:30px}.step-pill{flex:1;display:flex;align-items:center;gap:8px;font-size:11px;color:#9da6b5;font-weight:700}.step-pill .step-index{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#eef0f5;color:#778196;font-weight:850}.step-pill.on{color:var(--ink)}.step-pill.on .step-index{background:var(--red);color:#fff}.step-rule{height:1px;background:#e7eaf2;flex:1}.join-summary{align-self:start;position:sticky;top:58px}.price-total{font-size:31px;font-weight:850;letter-spacing:-.055em}.option-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.plan-option{padding:19px 15px;min-height:123px;border:1.5px solid var(--line);border-radius:13px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;color:var(--ink)}.plan-option.selected{border-color:var(--red);background:#fff6f6;box-shadow:0 0 0 3px #fceced}.plan-option .plan-icon{color:var(--red);margin-bottom:6px}.plan-option b{font-size:13px}.plan-option small{color:var(--muted)}.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}.form-group>label{font-weight:750;font-size:11px;color:#4c5869}.form-group>label em{font-style:normal;color:var(--red)}.field,.form-group input:not([type=checkbox]),.form-group select,.form-group textarea,.filterbar input,.filterbar select{width:100%;border:1px solid #e0e5ed;border-radius:9px;background:#fff;color:#243249;padding:11px 12px;outline:0;min-height:41px;font-size:12px}.field:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.filterbar input:focus{border-color:#8388cf;box-shadow:0 0 0 3px #dfe1fb}.form-group textarea{resize:vertical;min-height:90px}.form-group small,.helper{color:#9da6b2;font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.family-line{display:flex;gap:8px;align-items:end}.muted{color:var(--muted)}.text-sm{font-size:12px}.text-xs{font-size:10px}.color-red{color:var(--red)}.color-blue{color:var(--blue)}.fw-bold{font-weight:800}.mt-2{margin-top:10px}.mt-3{margin-top:16px}.mt-4{margin-top:22px}.mb-0{margin-bottom:0}.mb-2{margin-bottom:10px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:22px}.sep{height:1px;background:var(--line);margin:22px 0}.empty-note{padding:30px;color:#8b96a6;text-align:center;border:1px dashed #dfe4ee;border-radius:12px;background:#fafbfc}.mini-alert{background:#eff3fe;border:1px solid #e0e7fb;color:#5364a0;border-radius:9px;padding:12px 13px;line-height:1.6;font-size:11px}.summary-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:10px}.summary-row strong{font-weight:850}.summary-line{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.summary-tag{padding:7px 9px;border-radius:6px;background:#f2f3f7;font-size:10px;color:#727f91}
.sidebar-backdrop{display:none}.workspace{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:calc(100vh - 38px)}.sidebar{background:#111c37;color:#9caac7;position:sticky;top:38px;height:calc(100vh - 38px);display:flex;flex-direction:column;overflow:auto;padding:21px 15px 18px}.sidebar-brand{padding:8px 6px 20px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;gap:11px}.sidebar-logo{width:49px;height:49px;background:white;border-radius:12px;display:grid;place-items:center;overflow:hidden}.sidebar-logo img{width:65px;height:65px;object-fit:cover}.sidebar-title strong{color:#fff;display:block;font-size:12px;line-height:1.28;font-family:Manrope,sans-serif;letter-spacing:-.025em}.sidebar-title span{display:block;color:#7283a7;font-size:9px;letter-spacing:.16em;margin-top:6px;font-weight:850}.nav-group{margin-top:21px}.nav-heading{padding:9px 11px 9px;color:#637393;letter-spacing:.15em;font-size:9px;font-weight:850}.side-link{color:#a7b4cd;width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:11px 11px;border-radius:9px;text-align:left;font-size:12px;font-weight:700;margin:3px 0}.side-link:hover{background:#ffffff0c;color:white}.side-link.active{background:#e32b35;color:white;box-shadow:0 5px 20px #e72d3930}.side-link .ic{width:17px;height:17px}.side-link small{margin-left:auto;background:#da2d37;color:#fff;border-radius:50px;padding:1px 6px;font-size:9px}.side-link .right-arrow{margin-left:auto}.sidebar-bottom{margin-top:auto;padding:14px 8px 0;border-top:1px solid #ffffff13}.sidebar-bottom-card{background:#ffffff0b;border:1px solid #ffffff0f;border-radius:12px;padding:14px;font-size:10px;line-height:1.7;color:#9caccb}.sidebar-bottom-card strong{color:white;font-size:12px;display:block;margin-bottom:5px}.main-shell{min-width:0;position:relative}.main-top{height:74px;background:#fff;border-bottom:1px solid #e9ecf1;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:38px;z-index:40}.top-left{display:flex;align-items:center;gap:11px}.top-left h2{margin:0;font-size:17px;font-weight:850}.top-crumb{color:#abb3c1;font-size:12px}.top-right{display:flex;align-items:center;gap:15px}.top-date{display:flex;align-items:center;gap:6px;color:#8d96a7;font-size:11px;font-weight:700}.avatar{width:37px;height:37px;display:grid;place-items:center;background:linear-gradient(140deg,#293997,#596abe);color:#fff;border-radius:11px;font-size:12px;font-weight:800;letter-spacing:.02em;flex:none}.avatar.red{background:linear-gradient(135deg,#ea5363,#d72337)}.avatar.green{background:linear-gradient(135deg,#28a273,#156c66)}.avatar.peach{background:linear-gradient(135deg,#efb68b,#de855a)}.avatar.gray{background:linear-gradient(135deg,#8491ab,#526079)}.top-person{display:flex;align-items:center;gap:9px;font-size:11px}.top-person strong{font-size:11px;display:block}.top-person small{display:block;color:#9da8b5;font-size:9px}.page-main{max-width:1510px;padding:32px 34px 75px;margin:auto}.page-eyebrow{color:var(--red);font-size:10px;font-weight:850;letter-spacing:.16em;margin-bottom:5px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-heading h1{font-size:28px;margin:0 0 6px;letter-spacing:-.055em}.page-heading p{color:#929cac;margin:0;font-size:12px}.heading-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 28px rgba(32,52,76,.03)}.card-pad{padding:23px}.card-title{font-size:15px;font-weight:850;letter-spacing:-.03em;margin:0}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.card-heading p{color:var(--muted);font-size:10px;margin:5px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric-card{padding:19px 19px;background:#fff;border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden;min-height:128px}.metric-card .metric-icon{height:35px;width:35px;display:grid;place-items:center;border-radius:10px;background:#f0f2fa;color:var(--blue);position:absolute;right:18px;top:18px}.metric-card .metric-icon.red{background:#fff0ef;color:var(--red)}.metric-card .metric-icon.green{background:#eaf7f0;color:var(--success)}.metric-card .metric-icon.gold{background:#fff5e6;color:#d99a39}.metric-card>span{font-size:10px;color:#8895a8;font-weight:750}.metric-value{font-size:30px;color:var(--ink);font-weight:850;letter-spacing:-.065em;margin:17px 0 0;line-height:1.15}.metric-foot{display:flex;align-items:center;gap:5px;color:#8a97a8;font-size:10px;margin-top:7px}.metric-foot strong{color:var(--success)}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:17px;margin-bottom:18px}.dashboard-grid.equal{grid-template-columns:1fr 1fr}.stats-bars{height:180px;display:flex;align-items:end;gap:9px;justify-content:space-between;padding-top:12px}.bar-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;height:100%;justify-content:end}.bar-track{height:145px;width:100%;max-width:34px;border-radius:7px 7px 0 0;background:#eef1f9;display:flex;align-items:end;position:relative;overflow:hidden}.bar-fill{width:100%;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#6e76c5,#344298);min-height:5px;transition:height .25s}.bar-cell:last-child .bar-fill{background:linear-gradient(180deg,#ef7079,#df2e41)}.bar-label{font-size:9px;color:#97a1b0;font-weight:800}.bar-grid{position:relative}.stat-donut{width:155px;height:155px;position:relative;margin:8px auto 15px}.stat-donut svg{transform:rotate(-90deg);width:100%;height:100%}.donut-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut-text strong{font-size:28px;letter-spacing:-.05em}.donut-text span{font-size:10px;color:#9ba5b3}.donut-legend{display:flex;justify-content:center;gap:17px;font-size:10px;color:#687587}.dot{width:7px;height:7px;border-radius:99px;display:inline-block;margin-right:6px}.dot.red{background:var(--red)}.dot.blue{background:var(--blue)}.dot.green{background:var(--success)}.dot.gold{background:#eda94d}.task-list{display:flex;flex-direction:column;gap:0}.task-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid #f0f1f5;padding:14px 0}.task-row:last-child{border:0}.task-icon{width:35px;height:35px;display:grid;place-items:center;background:#fff0f1;color:var(--red);border-radius:10px}.task-row strong{display:block;font-size:11px}.task-row small{color:#9ba5b3}.task-row .btn{margin-left:auto}.tag{display:inline-flex;align-items:center;gap:4px;border-radius:50px;padding:5px 9px;font-size:10px;font-weight:750;line-height:1;white-space:nowrap;background:#edf0f5;color:#637189}.tag.paid,.tag.active,.tag.approved,.tag.present{background:#e8f8ee;color:#24815b}.tag.unpaid,.tag.rejected,.tag.inactive{background:#fff0f0;color:#d44550}.tag.partial,.tag.pending{background:#fff6e5;color:#b27b22}.tag.blue{background:#ebedfe;color:#4b51a7}.tag.outline{background:white;border:1px solid #dfe4ed}.table-scroll{width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:11px;min-width:620px;text-align:left}.data-table th{color:#97a1b0;font-weight:750;background:#fafbfc;border-bottom:1px solid #e8ebf1;padding:13px 15px;white-space:nowrap;font-size:10px}.data-table td{border-bottom:1px solid #f0f2f6;padding:13px 15px;color:#4c596d;white-space:nowrap}.data-table tbody tr:hover{background:#fafbff}.data-table tbody tr:last-child td{border:0}.data-table strong{color:#263149}.name-cell{display:flex;align-items:center;gap:10px}.name-cell .avatar{width:33px;height:33px;border-radius:9px;font-size:11px}.name-cell span small{display:block;color:#9da7b5;font-size:9px}.filterbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}.filterbar input{max-width:265px}.filterbar select{max-width:150px}.filterbar .spacer{flex:1}.toolbar-group{display:flex;gap:8px;align-items:center}.segmented{display:inline-flex;border-radius:10px;padding:3px;background:#eff1f5;gap:2px}.segmented button{border:0;background:transparent;border-radius:7px;color:#8994a5;font-weight:750;font-size:11px;padding:8px 11px}.segmented button.active{background:white;color:var(--ink);box-shadow:0 1px 5px #141a2419}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.detail-list{display:flex;flex-direction:column;gap:13px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px}.detail-row>span:first-child{color:#93a0b0}.detail-row strong{font-weight:800}.highlight-card{background:linear-gradient(125deg,#25368d,#182249);border-radius:18px;color:#fff;padding:26px;position:relative;overflow:hidden}.highlight-card:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #ffffff19;border-radius:50%;top:-170px;right:-100px}.highlight-card h3{font-size:26px;max-width:310px}.highlight-card p{color:#c8cfee;font-size:12px;max-width:360px}.highlight-card .btn{margin-top:10px}.rule-note{color:#8e9aa9;font-size:10px;line-height:1.7}.notice-box{background:#f1f2fa;border:1px solid #e5e7f8;padding:15px 17px;border-radius:12px;color:#556393;font-size:11px;line-height:1.8}
.date-stepper{display:flex;gap:8px;align-items:center}.date-stepper span{font-size:12px;font-weight:850;min-width:127px;text-align:center}.attendance-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(255px,.85fr);gap:18px}.attendance-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendee{display:flex;gap:11px;align-items:center;justify-content:space-between;border:1.5px solid #e9ecf2;border-radius:12px;padding:13px;background:white;transition:.15s;min-width:0}.attendee:hover{border-color:#c4c9e1}.attendee.checked{background:#f1faf5;border-color:#99dec0}.attendee .attendee-name{font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendee small{font-size:9px;color:#98a2af}.attendee .avatar{width:34px;height:34px;font-size:10px}.check-square{width:29px;height:29px;background:white;border:1.5px solid #ccd3de;display:grid;place-items:center;border-radius:9px;color:white;flex:none}.attendee.checked .check-square{background:var(--success);border-color:var(--success)}.quick-summary{display:flex;align-items:center;gap:20px}.quick-summary .number{font-size:48px;letter-spacing:-.075em;font-weight:850;line-height:1}.progress{width:100%;height:7px;border-radius:50px;background:#e9edf3;overflow:hidden}.progress>span{height:100%;display:block;background:var(--blue);border-radius:50px;transition:width .2s}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day-choice{border:1px solid #e1e5ec;background:#fff;border-radius:11px;height:72px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#8290a2;font-weight:800}.day-choice.selected{border-color:var(--blue);background:#f2f3fe;color:var(--blue)}.day-choice .ic{opacity:.5}.day-choice.selected .ic{opacity:1}.calendar-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;color:#98a2b1;font-size:9px;text-align:center;font-weight:800;margin-bottom:8px}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{border-radius:9px;background:#f7f8fb;border:1px solid transparent;min-height:60px;display:flex;align-items:start;justify-content:start;flex-direction:column;padding:8px;font-size:11px;font-weight:800;color:#627085}.calendar-day.open{background:#eff0fc;border-color:#dee2fa;color:var(--blue)}.calendar-day.cancelled{background:#fff0f1;color:var(--red);border-color:#f8d9de;text-decoration:line-through}.calendar-day.today{outline:2px solid #ee8c95}.calendar-day.disabled{background:transparent;color:#d8dde4;cursor:default}.calendar-day small{font-size:8px;font-weight:700;margin-top:6px;opacity:.85}.calendar-day:hover:not(:disabled){border-color:var(--blue)}.ranking-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid #edf0f4;padding:13px 0}.ranking-row:last-child{border:0}.ranking-index{font-size:11px;font-weight:850;color:#aab2bf;min-width:18px}.ranking-row:first-child .ranking-index{color:#c9953b}.ranking-data{flex:1}.ranking-row strong{display:block;font-size:12px}.ranking-row small{color:#9aa5b3}.ranking-progress{width:130px}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.year-cell{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:800;font-size:11px}.year-cell .ic{width:25px;height:25px}.year-cell.paid{color:var(--success);background:#f5fcf8;border-color:#d6eedf}.year-cell.unpaid{color:#a5acb7}.year-cell.partial{color:#bd8123;background:#fffaf0;border-color:#f3e6c7}.year-cell strong{color:var(--ink);font-size:15px}.year-cell span{font-size:9px}.timeline{border-left:1px solid #e3e7ef;margin-left:9px;padding-left:23px}.timeline-row{position:relative;margin-bottom:22px}.timeline-row:before{content:'';position:absolute;left:-29px;top:3px;background:#fff;border:2px solid var(--red);border-radius:50%;width:9px;height:9px}.timeline-row strong{display:block;font-size:11px}.timeline-row small{color:#96a0ae}.timeline-row p{color:#728093;margin:6px 0 0;font-size:11px}.org-node{display:flex;align-items:center;gap:10px;background:#f8f9fc;border:1px solid #e9ebf3;border-radius:11px;padding:11px 13px;margin-bottom:8px;min-width:0}.org-node.sub{margin-left:26px}.org-node.depth2{margin-left:52px}.org-node .org-label{flex:1;min-width:0}.org-node .org-label strong{display:block;font-size:12px}.org-node .org-label span{color:#98a3b3;font-size:10px}.org-node .btn{flex:none}.org-node .icon-btn{width:29px;height:29px}.org-controls{display:flex;gap:5px;align-items:center}.org-indent{display:inline-block;width:8px;height:1px;background:#b3bfd0;margin-right:3px}.price-rule{display:flex;align-items:center;justify-content:space-between;border:1px solid #ebedf2;border-radius:10px;padding:13px;margin-bottom:9px}.price-rule b{font-size:12px}.price-rule span{color:#98a3af;font-size:10px}.field-list{display:flex;flex-direction:column;gap:9px}.field-item{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;border:1px solid #e7eaf0;border-radius:12px;padding:12px}.field-item b{display:block;font-size:12px}.field-item small{display:block;color:#96a1b0;font-size:10px;margin-top:3px}.small-counter{background:#f4f5f8;border-radius:8px;padding:7px 10px;font-size:10px;color:#657185;font-weight:750}.checkline{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:650;color:#5d6879}.checkline input{accent-color:var(--red);width:15px;height:15px}.checkline input:disabled{opacity:.5}.member-banner{display:flex;align-items:center;gap:18px;padding:23px;margin-bottom:17px}.member-banner .avatar{width:72px;height:72px;border-radius:21px;font-size:24px}.member-banner h2{font-size:24px;margin:0 0 4px}.member-banner p{color:#8792a3;margin:0}.info-chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;background:#f1f3f8;padding:6px 9px;border-radius:8px;color:#687589;font-weight:700}.list-inline{display:flex;flex-wrap:wrap;gap:7px}
.modal-mask{position:fixed;inset:0;background:#101a30b5;z-index:190;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(4px)}.modal{width:min(650px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:white;border-radius:19px;box-shadow:0 40px 100px rgba(0,0,0,.22);overflow:hidden}.modal.wide{width:min(880px,100%)}.modal-head{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-head h3{margin:0;font-size:18px}.modal-content{overflow:auto;padding:25px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:17px 25px;border-top:1px solid var(--line)}.drawer-mask{position:fixed;inset:0;background:#0e1a31a6;z-index:160;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.drawer{background:#fff;height:100vh;width:min(565px,100vw);display:flex;flex-direction:column;box-shadow:-20px 0 60px #0003}.drawer-header{padding:24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.drawer-main{padding:23px;overflow:auto;flex:1}.drawer-footer{border-top:1px solid var(--line);padding:17px 23px;display:flex;gap:9px;justify-content:flex-end}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:23px}.tab{border:0;background:none;border-bottom:2px solid transparent;padding:12px 13px;font-size:11px;color:#8d9aaa;white-space:nowrap;font-weight:800}.tab.active{border-color:var(--red);color:var(--red)}.slot{margin-bottom:20px}.slot-label{color:#98a3af;font-size:9px;letter-spacing:.13em;font-weight:850;text-transform:uppercase;margin-bottom:11px}.search-input{position:relative}.search-input .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9aa4b2}.search-input input{padding-left:38px!important}.toast{position:fixed;z-index:300;bottom:25px;right:27px;display:flex;align-items:center;gap:12px;background:#172340;color:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 14px 50px #17234040;font-weight:700;font-size:12px;max-width:400px;animation:pop .2s ease}.toast .ic{color:#55cf96}@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.no-schedule{background:#fff6e8;border:1px solid #f3e3c7;color:#ad7f32;padding:24px;border-radius:14px;text-align:center}.demo-statstrip{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:11px;color:#8491a2;font-size:11px}.demo-statstrip strong{color:var(--ink)}.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.sitemap-block{border:1px solid var(--line);border-radius:13px;padding:16px}.sitemap-block h3{font-size:13px}.sitemap-block button{border:0;background:transparent;color:var(--sub);display:block;padding:8px 0;text-align:left;font-size:11px}.sitemap-block button:hover{color:var(--red)}.blank-avatar{background:#eff1fd;color:var(--blue);width:55px;height:55px;border-radius:16px;display:grid;place-items:center}
@media(max-width:1160px){.workspace{grid-template-columns:218px minmax(0,1fr)}.main-top{padding:0 22px}.page-main{padding:27px 23px 65px}.metrics{grid-template-columns:repeat(2,1fr)}.hero-copy h1{font-size:60px}.hero-sticker{right:1px}.public-nav{padding:0 30px}.public-links{gap:19px}}@media(max-width:890px){.public-links,.public-actions .btn-outline{display:none}.public-nav{height:80px}.mobile-menu{display:grid}.public-hero{grid-template-columns:1fr;min-height:0;padding:15px 27px 60px}.hero-copy{padding-top:35px}.hero-copy h1{font-size:58px}.hero-photo-panel{margin:32px 0 0;min-height:430px;max-height:430px;border-radius:80px 16px 16px 16px}.loop{left:auto;right:30px;bottom:44px}.hero-sticker{top:auto;bottom:460px;right:42px}.public-feature-grid{grid-template-columns:1fr 1fr}.story-block{grid-template-columns:1fr}.join-wrap{grid-template-columns:1fr}.join-summary{position:relative;top:0}.workspace{grid-template-columns:1fr}.sidebar{position:fixed;top:38px;left:0;width:257px;height:calc(100vh - 38px);z-index:60;transform:translateX(-105%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;inset:38px 0 0;background:#0a142099;z-index:50}.sidebar-backdrop.open{display:block}.main-top .mobile-menu{display:grid}.attendance-layout{grid-template-columns:1fr}}@media(max-width:640px){.demo-ribbon{padding:0 10px;height:43px}.demo-copy span:not(.blink){font-size:8px;max-width:106px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.demo-right{gap:3px}.role-switch button{padding:5px 6px;font-size:9px}.demo-reset{display:none}.public-nav{padding:0 18px;height:73px}.brand-image{width:54px;height:52px}.brand-label strong{font-size:13px}.public-actions>.btn{font-size:10px;padding:9px 11px}.public-hero{padding:8px 20px 57px}.hero-copy h1{font-size:clamp(45px,11vw,60px);letter-spacing:-.078em}.hero-copy p{font-size:13px}.hero-mini{margin-top:29px;gap:15px}.hero-photo-panel{min-height:360px;max-height:360px;border-radius:60px 15px 15px 15px}.hero-sticker{bottom:385px;right:25px;top:auto;padding:9px 12px}.hero-sticker b{font-size:11px}.loop{height:74px;width:74px;bottom:38px;right:20px}.loop strong{font-size:19px}.section{padding:50px 20px}.sec-title{font-size:30px}.public-feature-grid{grid-template-columns:1fr}.feature-card{min-height:185px;padding:24px}.feature-icon{margin-bottom:17px}.story-block{padding:28px 23px;border-radius:18px;gap:22px}.story-block h2{font-size:30px}.story-visual{gap:7px}.story-tile{padding:15px}.story-tile strong{font-size:20px}.cta-section h2{font-size:29px}.public-footer{padding:29px 20px;flex-direction:column;align-items:start}.join-wrap{padding:0 12px;margin-top:15px}.join-panel,.join-summary{padding:20px}.option-cards{grid-template-columns:1fr;gap:8px}.plan-option{min-height:70px;padding:11px 13px;flex-direction:row;align-items:center}.plan-option small{margin-left:auto}.plan-option .plan-icon{margin:0}.form-grid,.form-grid.three{grid-template-columns:1fr}.stepper{gap:5px}.step-pill{font-size:9px;gap:4px}.step-rule{display:none}.main-top{height:64px;padding:0 15px}.top-date,.top-person div:not(.avatar){display:none}.top-right{gap:5px}.page-main{padding:21px 12px 50px}.page-heading{align-items:start;flex-direction:column;gap:13px;margin-bottom:19px}.page-heading h1{font-size:24px}.metrics{gap:9px}.metric-card{padding:15px;min-height:115px}.metric-card .metric-icon{right:10px;top:10px;width:28px;height:28px}.metric-value{font-size:25px}.dashboard-grid,.dashboard-grid.equal,.grid2,.grid3{grid-template-columns:1fr}.card-pad{padding:16px}.attendance-items{grid-template-columns:1fr}.weekday-row{gap:3px}.day-choice{height:60px}.calendar-day{min-height:47px;padding:5px;font-size:10px}.year-grid{gap:6px}.year-cell{padding:11px 5px}.filterbar input{max-width:100%;flex:1}.filterbar select{max-width:calc(50% - 5px)}.ranking-progress{width:65px}.modal-mask{padding:9px}.modal-content{padding:18px}.modal-head,.modal-foot{padding:16px}.sitemap-grid{grid-template-columns:1fr}.member-banner{align-items:start;flex-wrap:wrap}.drawer-main{padding:15px}.drawer-header{padding:18px}.public-mobile-links{display:flex;flex-direction:column;background:#fff;border-top:1px solid var(--line);padding:10px 21px 21px;gap:4px}.public-mobile-links button{border:0;background:#f6f7fa;text-align:left;padding:12px;font-weight:750;color:var(--ink);border-radius:8px}.demo-statstrip{flex-wrap:wrap}}

/* Mobile masthead refinement: keep title on one line and avoid breadcrumb collision. */
@media(max-width:640px){.main-top .top-crumb{display:none}.main-top .top-left{gap:8px;min-width:0;flex:1}.main-top .top-left h2{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.main-top .top-right{gap:7px;flex:none}.main-top .top-right>span[style]{display:none}.main-top .top-person .avatar{width:34px;height:34px}}

/* Member-first attendance */
.member-checkin{display:grid;grid-template-columns:1fr;gap:22px;align-items:center;background:#172646;color:white;border-radius:24px;padding:30px;margin-bottom:24px;box-shadow:0 12px 30px #14224415}.checkin-kicker{color:#ffb3bc;font-size:10px;font-weight:800;letter-spacing:.16em}.checkin-copy h2{font-size:32px;letter-spacing:-.05em;margin:12px 0 6px;line-height:1.3}.checkin-copy>p{color:#c4cfe2;font-size:13px}.checkin-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;max-width:490px;margin-top:23px}.checkin-day{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;border:1px solid #ffffff12;border-radius:12px;color:#9aaac4}.checkin-day small{font-size:11px}.checkin-day b{font-size:16px}.checkin-day>span{font-size:9px}.checkin-day.scheduled{color:#fff;background:#ffffff0c}.checkin-day.today{border-color:#ff9ca9;background:#ffffff18}.checkin-day.attended>span{color:#89e0b6}.checkin-button{width:100%;min-height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--red);border:0;border-radius:20px;color:white;cursor:pointer;box-shadow:0 7px 0 #a51c32;transition:transform .15s,background .15s}.checkin-button>.ic{width:30px;height:30px}.checkin-button strong{font:800 35px Manrope,sans-serif;letter-spacing:.03em}.checkin-button>span{font-size:12px;font-weight:700}.checkin-button:hover:enabled{background:#dc2944;transform:translateY(-2px)}.checkin-button:active:enabled{transform:translateY(4px);box-shadow:0 3px 0 #a51c32}.checkin-button:focus-visible{outline:3px solid #fff;outline-offset:5px}.checkin-button:disabled{opacity:1;cursor:default;background:#34445f;color:#b8c7dc;box-shadow:none}.is-done .checkin-button:disabled{background:#22845f;color:#fff}.checkin-control>p{font-size:11px;line-height:1.6;text-align:center;color:#c4cfe2;margin:15px 0 0}.day-choice small{display:block;font-size:10px;margin-top:5px}
@media(max-width:640px){.member-checkin{grid-template-columns:1fr;padding:23px 18px;gap:22px;border-radius:19px}.checkin-copy h2{font-size:29px}.checkin-week{gap:5px;max-width:none}.checkin-day{padding:9px 3px}.checkin-button{min-height:148px}.checkin-button strong{font-size:38px}}

/* Treasury extends the established club administration styles. */
.treasury-actions{display:flex;gap:10px;flex-wrap:wrap}.treasury-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:20px}.treasury-filters>label{display:grid;gap:7px;font-size:12px;color:var(--muted);font-weight:600}.treasury-filters .checkline{display:flex;padding-bottom:10px}.treasury-search{flex:1;min-width:190px}.treasury-filters input:not([type=checkbox]),.treasury-filters select{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;min-height:42px;color:var(--ink)}.treasury-memo{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:5px;max-width:350px;white-space:normal}.treasury-income{color:#208960;font-weight:700}.treasury-form-error{color:#b51f2d;font-size:13px;margin-top:12px}.form-group input[type=file]{max-width:100%;white-space:normal}.form-group label>input,.form-group label>textarea{display:block;margin-top:7px;width:100%}.form-group label>small{display:block;font-weight:400;margin-top:7px}.table-wrap table td{vertical-align:top}@media(max-width:640px){.treasury-filters{padding:14px;gap:12px}.treasury-filters>label{flex:1;min-width:125px}.treasury-actions .btn{flex:1;min-width:145px}.treasury-memo{max-width:240px}}

/* Treasury: reuse the club table and card system, with a phone-first entry form. */
.treasury-ledger{overflow:hidden}.treasury-list-heading{padding:22px 23px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.treasury-list-heading p{margin:5px 0 0;font-size:11px;color:var(--muted)}.treasury-filters{gap:12px;padding:20px 23px;border-bottom:1px solid var(--line);align-items:end}.treasury-filters .treasury-range{display:flex;align-items:end;gap:8px}.treasury-range>label{display:grid;gap:7px;font-size:11px;font-weight:750;color:var(--muted);min-width:0}.treasury-range>span{padding-bottom:13px;color:var(--muted)}.treasury-filters input,.treasury-filters select{font-family:inherit;font-size:12px;max-width:100%;min-width:0}.treasury-filters .checkline{font-size:11px;padding-bottom:12px}.treasury-search{min-width:180px}.treasury-table{min-width:760px}.treasury-table td{vertical-align:middle}.treasury-table .treasury-description{min-width:180px;max-width:340px;white-space:normal}.treasury-table .treasury-number{text-align:right;font-variant-numeric:tabular-nums}.treasury-table td.treasury-income{color:var(--success);font-weight:750}.treasury-table th{font-size:10px}.treasury-table .treasury-memo{max-width:340px;line-height:1.55}.treasury-member-quick{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 20px;margin-bottom:20px}.treasury-member-quick>span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700}.treasury-section-title{display:flex;gap:8px;align-items:center;margin:22px 0 12px}.treasury-section-title h4{margin:0;font-size:13px}.treasury-section-title>span{font-size:10px;font-weight:800;color:var(--red);background:#fff0f1;border-radius:6px;padding:4px 6px}.treasury-section-title>small{margin-left:auto;color:var(--muted);font-size:10px}.treasury-registrant{display:flex;align-items:center;gap:10px;background:#f6f7fb;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:16px 0}.treasury-registrant .ic{color:var(--blue);flex:none}.treasury-registrant strong{display:block;font-size:12px}.treasury-registrant small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.treasury-upload{padding:16px;border:1px dashed #cfd6e4;background:#fafbfe;border-radius:12px}.treasury-upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.treasury-upload-actions .btn{justify-content:center;min-height:48px}.treasury-upload>p{line-height:1.6;margin:10px 0 0}.treasury-preview{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:8px;border-radius:9px;margin-top:9px}.treasury-preview img,.treasury-pdf-icon{width:54px;height:60px;object-fit:cover;border-radius:5px;flex:none}.treasury-pdf-icon{display:grid;place-items:center;background:#eff1fa;color:var(--blue)}.treasury-preview>div{flex:1;min-width:0}.treasury-preview strong{display:block;font-size:11px;overflow-wrap:anywhere}.treasury-preview small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.treasury-entry .form-group label>select{display:block;margin-top:7px}.treasury-submitbar{position:sticky;bottom:-22px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;margin-top:22px;z-index:2}.treasury-submitbar>small{font-size:10px;color:var(--muted)}.treasury-submitbar .btn{min-height:46px}.treasury-modal .modal-content{min-height:0;overscroll-behavior:contain}.treasury-evidence-preview{border:1px solid var(--line);border-radius:10px;padding:12px;margin:15px 0}.treasury-evidence-preview>strong{font-size:12px;overflow-wrap:anywhere}.treasury-evidence-preview img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin-top:10px}.treasury-evidence-preview iframe{display:block;width:100%;height:440px;border:0;margin-top:10px}
@media(max-width:640px){.demo-copy span:not(.blink){max-width:73px}.role-switch button{min-height:32px;padding:5px 7px}.demo-ribbon{gap:5px}.treasury-list-heading{padding:18px 16px 0}.treasury-filters{padding:16px;gap:12px}.treasury-filters .treasury-range{width:100%;flex:1 1 100%}.treasury-range>label{flex:1}.treasury-range input{width:100%;font-size:16px;min-height:46px;padding:10px 6px}.treasury-filters>label{min-width:0}.treasury-filters .treasury-search{flex:1 1 100%;min-width:0}.treasury-filters select,.treasury-filters input:not([type=checkbox]){font-size:16px;min-height:46px;width:100%}.treasury-filters .checkline{min-width:135px;flex:1 1 100%;padding:0;font-size:12px;min-height:35px}.treasury-table-scroll{overflow:visible}.treasury-table{display:block;min-width:0;width:100%;padding:0 14px 14px}.treasury-table thead{display:none}.treasury-table tbody{display:block}.treasury-table tr{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px 2px;border-bottom:1px solid var(--line);margin:0 0 2px}.treasury-table td{display:flex;flex-direction:column;align-items:start;gap:5px;padding:0;border:0;white-space:normal;min-width:0;font-size:12px;max-width:none}.treasury-table td::before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:600}.treasury-table .treasury-description{grid-column:1/-1;order:-1;max-width:none;min-width:0;gap:2px}.treasury-table .treasury-description::before{display:none}.treasury-table .treasury-description strong{font-size:14px;line-height:1.5}.treasury-table .treasury-number{align-items:start;font-size:17px;font-weight:800;letter-spacing:-.02em}.treasury-table td:last-child{align-items:end}.treasury-table td:last-child::before{display:none}.treasury-table td:last-child .btn{min-height:44px;font-size:11px}.treasury-table .treasury-empty-amount{display:none}.treasury-table .treasury-empty-row{grid-template-columns:1fr}.treasury-table .treasury-empty-row td::before{display:none}.treasury-table .treasury-empty-row td{grid-column:1/-1;display:block}.treasury-member-quick{padding:13px;flex-wrap:wrap}.treasury-member-quick>span{font-size:11px}.treasury-member-quick .btn{min-height:44px}.treasury-mask{padding:0;align-items:stretch}.treasury-modal{width:100%;max-height:100dvh;height:100dvh;border-radius:0;box-shadow:none}.treasury-modal .modal-head{padding:calc(16px + env(safe-area-inset-top)) 18px 14px;flex:none}.treasury-modal .modal-head h3{font-size:18px}.treasury-modal .modal-head .icon-btn{width:44px;height:44px}.treasury-modal .modal-content{padding:0 18px 0;flex:1;overflow:auto;-webkit-overflow-scrolling:touch;scroll-padding-bottom:110px}.treasury-entry .form-grid{grid-template-columns:1fr 1fr;gap:12px}.treasury-modal .form-group>label{font-size:12px}.treasury-modal .form-group input:not([type=checkbox]),.treasury-modal .form-group select,.treasury-modal .form-group textarea{font-size:16px;min-height:48px;max-width:100%}.treasury-modal input[type=date]{padding:10px 6px;min-width:0}.treasury-modal .treasury-amount-input{font-size:21px!important;font-weight:750}.treasury-upload{padding:12px}.treasury-upload-actions .btn{font-size:12px;min-height:52px;padding:10px 8px}.treasury-upload>p{font-size:10px}.treasury-submitbar{bottom:0;flex-direction:column;align-items:stretch;gap:8px;margin:24px -18px 0;padding:12px 18px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -5px 18px #111c3708}.treasury-submitbar .btn{min-height:50px;font-size:14px;justify-content:center}.treasury-submitbar>small{text-align:center}.treasury-modal .detail-row{align-items:start}.treasury-modal .detail-row strong{max-width:65%;overflow-wrap:anywhere}.treasury-modal .task-row{flex-wrap:wrap}.treasury-modal .task-row .btn{min-height:44px}.treasury-modal .task-row>span{flex-basis:100%!important}}

/* Local onboarding design: invitation email and fixed welcome-image workflow. */
.onboarding-photo{margin-bottom:22px}.onboarding-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.onboarding-portrait{width:148px;height:148px;display:grid;place-items:center;border:5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--line);background:#f0f2f8;overflow:hidden;margin:10px 0 19px}.onboarding-portrait>img{width:100%;height:100%;object-fit:cover}.onboarding-portrait .ic{height:38px;width:38px;color:#7f8bac}.onboarding-photo h3{margin:10px 0 4px}.onboarding-photo-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.onboarding-photo-actions .btn{min-height:46px}.onboarding-card-preview{background:#f5f6fa;border:1px solid var(--line);padding:15px;border-radius:13px}.onboarding-card-preview>img,.onboarding-template-placeholder>img{display:block;width:100%;height:auto;max-height:590px;object-fit:contain}.onboarding-card-preview>small{display:block;font-size:10px;margin-top:10px;text-align:center}.onboarding-template-placeholder{position:relative}.onboarding-template-placeholder>span{position:absolute;left:7%;right:7%;bottom:5%;padding:10px;background:#111c37e8;color:#fff;border-radius:8px;font-size:11px;text-align:center}.onboarding-implementation{margin-top:21px;padding:12px;border:1px dashed #ccd3e2;border-radius:9px;font-size:10px;color:#7a879c;line-height:1.8}.onboarding-implementation summary{cursor:pointer;font-weight:750}.onboarding-error{color:#bd2635;font-size:12px;line-height:1.6;margin-top:12px}.onboarding-first-login{background:#fff8e1;border:1px solid #f2df99;padding:24px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.onboarding-first-login h2{font-size:23px;margin:5px 0 8px}.onboarding-first-login p{margin:0;font-size:12px;color:#82724c}.onboarding-first-login .btn{flex:none}.invite-envelope{border:1px solid var(--line);border-radius:14px;padding:30px;background:#fafbfe;line-height:1.8}.invite-envelope>small{font-size:11px;color:var(--muted)}.invite-envelope h2{font-size:23px;letter-spacing:-.04em}.invite-envelope p{font-size:12px;color:#778298}.onboarding-steps{display:flex;gap:7px;margin:22px 0;font-size:10px;font-weight:700;color:var(--blue);flex-wrap:wrap}.onboarding-steps>span{background:#edf0fa;padding:9px 12px;border-radius:7px}.onboarding-crop{height:280px;width:280px;max-width:100%;border:5px solid #293468;border-radius:50%;overflow:hidden;position:relative;background:#f5f2e8;margin:20px auto}.onboarding-crop img{position:absolute;max-width:none;object-fit:fill}.onboarding-slider{display:flex;align-items:center;gap:18px;font-size:12px;color:#768297;margin-top:17px}.onboarding-slider input{flex:1;min-width:0;accent-color:var(--red);min-height:35px}.onboarding-photo-grid .onboarding-photo-actions+.rule-note{max-width:310px}
@media(max-width:640px){.onboarding-photo-grid{grid-template-columns:1fr;gap:22px}.onboarding-photo .card-heading{align-items:start}.onboarding-photo .card-heading>span{flex:none}.onboarding-portrait{margin:12px auto 18px}.onboarding-photo-grid>div:first-child>h3,.onboarding-photo-grid>div:first-child>p{ text-align:center}.onboarding-photo-actions{display:grid;grid-template-columns:1fr 1fr}.onboarding-photo-actions .btn{min-height:50px;justify-content:center;font-size:12px}.onboarding-card-preview{padding:12px}.onboarding-first-login{padding:20px;flex-direction:column;align-items:stretch;gap:15px}.onboarding-first-login h2{font-size:22px}.onboarding-first-login .btn{min-height:48px;justify-content:center}.invite-envelope{padding:19px}.invite-envelope h2{font-size:21px}.invite-envelope .btn{min-height:48px;width:100%;justify-content:center}.onboarding-crop{width:260px;height:260px}.onboarding-slider{font-size:13px}.onboarding-photo input,.join-panel input{font-size:16px!important}.onboarding-photo .card-heading{gap:6px}.onboarding-photo .card-heading .tag{font-size:9px;padding:5px 6px}.onboarding-card-preview>.btn{min-height:48px;font-size:11px}}
