:root{--forest:#123d2e;--forest-deep:#092f25;--forest-mid:#236047;--lime:#d9ef7a;--cream:#f6f7f3;--white:#fff;--muted:#76847d;--line:#e3e9e2;--ink:#172923;--red:#bc493b;--red-bg:#fff0ec;--green:#167446;--green-bg:#eaf8ee;--amber:#916022;--amber-bg:#fff4dc;--shadow:0 9px 35px rgba(24,58,39,.055);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,5vw,2.6rem);letter-spacing:-.055em;line-height:1.12}h2{font-size:1.22rem;letter-spacing:-.036em}h3{font-size:1.07rem;letter-spacing:-.024em}p{line-height:1.55}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a,button,input,select,textarea{transition:box-shadow .16s,border-color .16s,background .16s,transform .16s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #90b986;outline-offset:3px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none}.topbar{height:82px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1050px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:flex;justify-content:center;align-items:center;position:relative;width:46px;height:46px;background:var(--forest);border-radius:15px;color:var(--white);font-weight:900;font-size:28px;letter-spacing:-.13em;padding-right:6px}.brand-spark{font-size:13px;letter-spacing:0;color:var(--lime);position:absolute;right:5px;top:3px}.brand-copy{display:flex;flex-direction:column;line-height:1;gap:4px}.brand-copy strong{font-size:17px;letter-spacing:.13em}.brand-copy small{font-size:9px;letter-spacing:.19em;font-weight:800;color:var(--muted)}.account{display:flex;align-items:center;gap:12px}.account-details{display:flex;flex-direction:column;text-align:right;gap:3px;font-size:12px}.account-details span{font-size:11px;color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e4eddf;color:var(--forest);font-weight:850}.avatar.big{width:47px;height:47px;font-size:19px}.container{max-width:1050px;margin:0 auto;padding:34px 26px 114px}.page-hero{padding:8px 0 33px}.page-hero.tight{padding:2px 0 23px}.page-hero h1{margin:10px 0 12px}.page-hero p{color:var(--muted);max-width:650px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.17em;color:#73916d}.eyebrow.light{color:var(--lime)}.wave{color:#c1d964}.out-arrow{color:#92ac4d}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:13px 0 18px}.section-header .eyebrow{display:block;margin-bottom:7px}.section-header.spaced{margin-top:42px}.count-pill{color:var(--forest-mid);background:#e6efe3;border-radius:999px;font-size:11px;font-weight:800;padding:8px 12px}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}.session-card,.panel,.list-panel{background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.session-card{padding:25px}.session-top{display:flex;align-items:center;gap:8px;margin-bottom:21px}.dot-online{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#1caa61;box-shadow:0 0 0 4px #e4f6e8}.status-label{font-size:11px;color:var(--green);font-weight:800}.session-ref{color:var(--muted);font-size:11px;margin-left:auto;max-width:43%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.session-card h3{font-size:1.3rem}.muted{color:var(--muted)}.small{font-size:12px}.session-card p{margin-top:7px}.session-actions{display:flex;gap:9px;margin-top:24px}.btn{border:1px solid transparent;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 17px;font-weight:800;font-size:13px;white-space:nowrap;text-align:center}.btn.primary{background:var(--forest);color:var(--white)}.btn.primary:hover{background:var(--forest-mid)}.btn.secondary{background:#e8eee8;color:var(--forest)}.btn.secondary:hover{background:#dce6db}.btn.quiet,.btn.ghost{color:var(--forest);border-color:var(--line);background:#fff}.btn.ghost:hover,.btn.quiet:hover{background:var(--cream)}.btn.full{width:100%}.btn.big{min-height:54px;font-size:14px}.session-actions .btn.primary{flex:1}.link-arrow{font-weight:850;color:var(--forest);font-size:12px}.list-panel{overflow:hidden}.activity-row{display:flex;align-items:center;gap:13px;padding:16px 19px;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-row:hover{background:#f9fbf8}.activity-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;background:#e9f2e6;color:var(--forest);font-size:23px;font-weight:800}.activity-icon.spend{background:#fff0e8;color:#b96543}.activity-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.activity-text strong{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.activity-text small{font-size:11px;color:var(--muted);line-height:1.3}.gap-badge{font-size:12px;font-weight:850;padding:8px;border-radius:9px;white-space:nowrap}.gap-badge.ok{background:var(--green-bg);color:var(--green)}.gap-badge.bad{background:var(--red-bg);color:var(--red)}.gap-badge.warn{background:var(--amber-bg);color:var(--amber)}.amount-out{font-weight:850;color:var(--red);font-size:12px;white-space:nowrap}.empty-state{border:1px dashed #ccd9cb;background:rgba(255,255,255,.8);border-radius:20px;padding:44px 22px;text-align:center}.empty-state p{margin-top:10px;color:var(--muted);font-size:13px}.empty-icon{font-size:36px;color:#91af8a;display:block;margin-bottom:14px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.97);display:flex;justify-content:center;border-top:1px solid var(--line);padding:9px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -7px 30px rgba(15,51,34,.04)}.nav-item{width:126px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:750;color:#809187;border-radius:13px;padding:5px}.nav-item.active{color:var(--forest);background:#ecf4e6}.nav-glyph{font-size:24px;line-height:1.2}.stack{display:flex;flex-direction:column;gap:16px}.stack-lg{display:flex;flex-direction:column;gap:23px}.panel{padding:26px;margin-bottom:18px}.banner{padding:14px 17px;border-radius:13px;margin:0 0 20px;font-size:13px;line-height:1.5}.banner.success{background:var(--green-bg);border:1px solid #bcdfc4;color:var(--green)}.banner.danger{background:var(--red-bg);border:1px solid #f1c4b9;color:#963e35}.banner.warn{background:var(--amber-bg);border:1px solid #e4cf9e;color:var(--amber)}.banner p{margin-top:8px}.text-link{font-weight:850;text-decoration:underline}.back-link{display:inline-flex;margin:5px 0 19px;color:var(--forest);font-weight:800;font-size:12px}.stepper{display:flex;gap:7px;margin:0 0 25px}.step{flex:1;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:750;color:#8c9c90;white-space:nowrap}.step b{height:27px;width:27px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#e3ebe0;color:#78927a;font-size:11px}.step.active{color:var(--forest)}.step.active b{background:var(--forest);color:#fff}.step.done b{background:#d6efb1;color:var(--forest)}.form-panel{max-width:700px}.form-panel form>label,.stack-lg>label,.stack>label{display:flex;flex-direction:column;gap:9px;font-weight:800;font-size:13px}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{background:#fff;border:1.5px solid #d9e3d9;border-radius:12px;min-height:48px;padding:12px 13px;color:var(--ink);width:100%;min-width:0;font-weight:550}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#688271 50%),linear-gradient(135deg,#688271 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:33px}textarea{resize:vertical;min-height:92px}input::placeholder,textarea::placeholder{color:#acb7ae;font-weight:450}fieldset{border:0;padding:0;margin:0;min-width:0}.label-heading{font-weight:850;font-size:13px;margin-bottom:12px}.choice-group{display:flex;flex-direction:column;gap:10px}.choice{border:1.5px solid var(--line);border-radius:15px;display:flex;align-items:center;padding:13px;gap:12px;cursor:pointer}.choice:has(input:checked){border-color:#599a68;background:#f5fbf0}.choice input{accent-color:var(--forest);width:17px;height:17px}.choice-icon{width:39px;height:39px;background:#ecf1e9;display:grid;place-items:center;border-radius:11px;font-size:21px;color:var(--forest)}.choice strong,.choice small{display:block}.choice strong{font-size:13px}.choice small{font-size:11px;color:var(--muted);font-weight:500;margin-top:4px}.privacy-callout{border:1px solid #cce2c6;background:#edf7e9;border-radius:17px;padding:17px;display:flex;gap:12px}.privacy-icon{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;color:var(--forest);background:#d9ecce;border-radius:11px;font-size:20px}.privacy-callout strong{font-size:12px;color:#22533a}.privacy-callout p{font-size:11px;color:#51765b;margin-top:4px}.card-heading{display:flex;justify-content:space-between;align-items:center}.card-heading h2{margin-top:6px}.round-icon{background:#e7f2e6;color:var(--forest);width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:21px}.round-icon.spend{background:var(--red-bg);color:var(--red)}.count-panel{max-width:760px}.count-panel>p{font-size:12px;margin:13px 0 20px}.denom-divider{font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:850;padding:13px 0 11px;border-bottom:1px solid var(--line)}.denom-row{display:flex;align-items:center;gap:13px;min-height:77px;border-bottom:1px solid #eff2ee}.denom-row:last-child{border-bottom:0}.denom-icon{display:grid;place-items:center;width:45px;height:35px;background:#e4eee1;border:1px solid #b7cdb3;color:#407348;border-radius:8px;flex-shrink:0;font-size:20px}.denom-icon.coin{width:37px;height:37px;border-radius:50%;background:#f0eee2;border-color:#d2c9a2;color:#9d8552}.denom-label{flex:1;display:flex;flex-direction:column;gap:3px}.denom-label strong{font-size:17px}.denom-label small{color:var(--muted);font-size:11px}.step-input{display:flex;align-items:center;background:#f3f6f0;border-radius:12px;padding:3px;gap:0;flex-shrink:0}.step-input input{width:54px;min-height:38px;text-align:center;border:0;background:transparent;padding:4px 1px;font-size:18px;font-weight:850;box-shadow:none}.step-btn{width:37px;height:38px;border:0;background:white;border-radius:10px;font-size:20px;color:var(--forest);font-weight:750}.step-btn:active{background:#d8ecd0}.payment-input{display:flex;align-items:center;gap:13px;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0}.payment-input:last-child{border-bottom:0}.payment-input>span:first-child{min-width:0}.payment-input strong,.payment-input small{display:block}.payment-input strong{font-size:14px}.payment-input small{color:var(--muted);font-size:11px;margin-top:3px}.currency-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;padding:0 11px;max-width:160px;flex-shrink:0}.currency-input input{border:0;text-align:right;font-size:17px;font-weight:850;min-height:45px;max-width:105px;padding:7px}.currency-input span{font-size:11px;color:var(--muted);font-weight:850}.lock-warning{display:flex;gap:12px;align-items:flex-start;font-size:12px;padding:13px;background:#fff8e6;border-radius:12px;color:#7a5e2f}.lock-warning p{font-size:11px;margin-top:4px}.locked-label{display:inline-block;color:var(--green);background:var(--green-bg);border-radius:10px;padding:8px 12px;font-size:11px;font-weight:800}.pair-title{margin:17px 0}.pair-title span{color:#7a9c77}.result-panel{border:1px solid #bad4bb}.result-panel h2{margin:8px 0 15px}.result-line{padding:17px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.result-line span{font-weight:750}.result-line strong{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}.diff-ok{color:var(--green)}.diff-bad{color:var(--red)}.diff-warn{color:var(--amber)}.note-text{margin-top:12px;white-space:pre-wrap;font-size:14px}.result-actions{max-width:700px;display:grid;gap:10px}.large-amount{border:1.5px solid #c7ddba;background:#f4fbef;padding:10px 14px;border-radius:15px;display:flex;align-items:center}.large-amount input{background:transparent;border:0;box-shadow:none;padding:5px 1px;font-size:34px;min-height:54px;letter-spacing:-.06em}.large-amount span{font-size:13px;font-weight:850;color:var(--forest-mid)}.upload-area{border:2px dashed #bed4b7;border-radius:17px;padding:21px;text-align:center;background:#fafff7}.upload-area label{display:flex;align-items:center;flex-direction:column;cursor:pointer;gap:8px}.upload-icon{font-size:31px;color:var(--forest-mid)}.upload-area strong{font-size:13px}.upload-area small{font-size:11px;color:var(--muted)}.upload-area input{margin-top:15px;max-width:100%;font-size:11px;min-height:0}.selected-file{display:block;font-size:11px;margin-top:7px;color:var(--green);word-break:break-all}.micro{font-size:10px;color:var(--muted);line-height:1.5}.center{text-align:center}.receipt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.status-chip{display:inline-block;background:#eff2ee;color:#526a55;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:850}.status-chip.ok{background:var(--green-bg);color:var(--green)}.status-chip.pending{background:var(--amber-bg);color:var(--amber)}.status-chip.alert{background:var(--red-bg);color:var(--red)}.expense-amount{font-size:48px;letter-spacing:-.06em;color:var(--forest);font-weight:900}.expense-amount small{font-size:15px;letter-spacing:0}.detail-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:12px}.detail-row>span{color:var(--muted);min-width:100px}.detail-row strong{text-align:right;overflow-wrap:anywhere}.reference{font-size:10px;word-break:break-all;color:var(--forest-mid);text-align:right}.attachment-link{display:flex;align-items:center;gap:10px;padding:13px;margin-top:12px;background:#f2f7ef;border-radius:11px;font-size:12px;font-weight:750}.attachment-link span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 35px}.inline-filter{display:flex;align-items:center;gap:7px;flex:1;max-width:400px}.inline-filter input{flex:1}.admin-tabs{display:flex;gap:19px;border-bottom:1px solid var(--line);margin-bottom:24px}.admin-tabs a{padding:0 2px 13px;font-size:12px;font-weight:850;color:var(--muted)}.admin-tabs a.active{color:var(--forest);border-bottom:3px solid var(--forest)}.user-card-head{display:flex;align-items:center;gap:12px}.user-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.user-main strong{font-size:14px}.user-main small{font-size:11px;color:var(--muted);word-wrap:break-word}.user-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:17px;padding-top:15px;flex-wrap:wrap}.password-row{display:flex;align-items:center;gap:7px;max-width:100%}.password-row input{font-size:12px;min-width:120px}.tick-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;margin:8px 0;font-size:12px}.tick-row input{accent-color:var(--forest);height:18px;width:18px}.tick-row small{color:var(--muted)}.logout-row{margin:25px 0 0;max-width:340px}.message-panel{max-width:470px;margin:12vh auto 0;background:#fff;border-radius:25px;padding:30px;text-align:center;border:1px solid var(--line)}.message-icon{display:grid;place-items:center;width:55px;height:55px;background:var(--red-bg);border-radius:17px;color:var(--red);font-size:29px;font-weight:900;margin:0 auto 20px}.message-panel p{margin:17px 0 25px;color:var(--muted)}.auth-screen{background:var(--forest-deep);min-height:100vh;display:grid;place-items:center;padding:20px}.auth-main{width:100%;max-width:920px}.login-shell{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 28px 75px rgba(0,0,0,.22);min-height:540px}.login-hero{background:linear-gradient(160deg,#19523d,#092d22);padding:55px 42px;display:flex;flex-direction:column;color:#fff;position:relative;overflow:hidden}.login-hero:after{content:'C';position:absolute;font-size:460px;color:#ffffff07;font-weight:950;bottom:-240px;right:-68px;pointer-events:none}.login-symbol{background:#285a45;color:var(--lime);height:55px;width:55px;border-radius:17px;display:grid;place-items:center;font-size:23px;font-weight:900;margin-bottom:64px}.login-hero h1{font-size:65px;line-height:1;letter-spacing:-.07em;margin:13px 0 28px}.lime-dot{color:var(--lime)}.login-hero p{color:#b7d5c4}.login-pill{font-size:11px;background:#ffffff12;color:#daedd7;border:1px solid #ffffff1c;padding:10px 13px;border-radius:999px;align-self:flex-start;margin-top:auto}.login-form{padding:66px 42px 42px;border:0;border-radius:0;box-shadow:none;margin:0}.login-form h2{font-size:31px;margin:13px 0 10px}.login-form>p{margin-bottom:38px;font-size:13px}.login-form label{font-size:12px}.login-form .micro{margin-top:27px;text-align:center}.auth-screen input{min-height:51px}.auth-screen .btn{min-height:53px}@media(max-width:760px){.container{padding:25px 16px 119px}.topbar{height:72px;padding:0 16px}.account-details{display:none}.brand-mark{height:42px;width:42px}.brand-copy strong{font-size:16px}.page-hero{padding:8px 0 23px}.page-hero.tight{padding:3px 0 19px}.page-hero h1{font-size:32px}.section-header.spaced{margin-top:32px}.session-card{padding:20px}.panel{padding:21px;border-radius:18px}.nav-item{width:unset;flex:1;font-size:9px}.nav-glyph{font-size:23px}.activity-row{padding:14px 12px;gap:9px}.activity-text strong{font-size:12px}.activity-text small{font-size:10px}.gap-badge{font-size:10px}.step{font-size:9px;gap:4px}.step b{height:23px;width:23px}.denom-row{gap:10px}.denom-label strong{font-size:16px}.denom-icon{width:34px}.denom-icon.coin{width:31px;height:31px}.step-input input{width:45px}.step-btn{width:32px}.user-card-head{flex-wrap:wrap}.user-card-head .status-chip{margin-left:auto}.user-actions{flex-direction:column;align-items:stretch}.user-actions>form{width:100%}.user-actions .btn{width:100%}.password-row{flex-wrap:wrap}.password-row input{flex:1}.login-shell{grid-template-columns:1fr;min-height:auto}.login-hero{padding:28px 28px 21px;min-height:245px}.login-symbol{height:44px;width:44px;margin-bottom:18px}.login-hero h1{font-size:48px;margin:8px 0}.login-hero p{font-size:12px}.login-pill{display:none}.login-form{padding:33px 27px}.login-form>p{margin-bottom:23px}.auth-screen{padding:13px}.expense-amount{font-size:42px}}@media(max-width:400px){.denom-label strong{font-size:14px}.step-input input{width:40px}.step-btn{width:30px}.stepper{gap:3px}.step{font-size:8px}.status-label{font-size:10px}.session-ref{font-size:9px}.amount-out{font-size:10px}.currency-input{max-width:133px}.currency-input input{max-width:84px}.nav-item{font-size:8px}}

.access-edit{margin-top:16px;padding:12px 0;border-top:1px solid var(--line)}.access-edit summary{cursor:pointer;color:var(--forest);font-weight:800;font-size:12px}.access-edit form{padding:13px 0}.access-edit .btn{margin-top:10px}

.upload-area{display:flex;flex-direction:column;align-items:center;gap:7px}.upload-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;margin-top:9px}.upload-choices input[type=file]{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}.upload-option{display:flex;align-items:center;justify-content:center;gap:7px;background:white;border:1px solid #c3d7ba;border-radius:12px;padding:12px 8px;font-size:11px;font-weight:800;cursor:pointer}.upload-option:hover{background:#edf8eb}.upload-option:has(+ input:focus-visible){outline:3px solid #90b986}@media(max-width:360px){.upload-choices{grid-template-columns:1fr}}

/* =========================================================
   CRISP Cash Control — Mobile visual refresh v1.3
   Pure presentation layer: no accounting/business logic here.
   ========================================================= */
:root{
  --crisp-green:#103b2d;
  --crisp-green-2:#184f3d;
  --crisp-lime:#d9ef72;
  --crisp-paper:#f3f0e8;
  --crisp-card:#fffdf9;
  --crisp-ink:#17231f;
  --crisp-muted:#748078;
  --crisp-line:#e5e2d9;
  --crisp-orange:#ed8456;
  --crisp-orange-soft:#fff0e8;
  --crisp-red:#b9493d;
  --crisp-shadow:0 14px 40px rgba(18,45,35,.08);
}
body{background:var(--crisp-paper);color:var(--crisp-ink)}
.topbar{height:76px;background:var(--crisp-green);border:0;color:#fff;box-shadow:0 8px 30px rgba(13,49,36,.12)}
.brand-mark{background:var(--crisp-lime);color:var(--crisp-green);border-radius:13px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.brand-spark{color:var(--crisp-green)}
.brand-copy strong{color:#fff;letter-spacing:.16em}.brand-copy small{color:#b9c9c1}
.account-details strong{color:#fff}.account-details span{color:#b9c9c1}.avatar{background:rgba(217,239,114,.14);color:var(--crisp-lime);border:1px solid rgba(217,239,114,.22)}
.container{max-width:980px;padding-top:28px}
.page-hero{padding:8px 0 27px}.page-hero h1{font-weight:900}.page-hero p{color:#66736c}.eyebrow{color:#6f806f}.wave,.out-arrow{color:#8aa43c}
.section-header{align-items:center}.section-header h2{font-size:1.28rem}.count-pill{background:#e3ead7;color:var(--crisp-green);padding:7px 11px}
.session-card,.panel,.list-panel{background:var(--crisp-card);border:1px solid rgba(21,55,42,.07);box-shadow:var(--crisp-shadow)}
.session-card{position:relative;overflow:hidden;padding:24px;border-radius:20px}.session-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--crisp-lime)}
.session-card h3{font-size:1.35rem}.session-ref{background:#f0eee7;padding:5px 8px;border-radius:8px;max-width:48%}
.session-actions{gap:10px}.session-actions .btn.primary{background:var(--crisp-orange);color:#fff}.session-actions .btn.primary:hover{background:#df7348}.session-actions .btn.quiet{background:var(--crisp-green);color:#fff;border-color:var(--crisp-green)}
.btn{border-radius:12px;min-height:46px}.btn.primary{background:var(--crisp-green)}.btn.primary:hover{background:var(--crisp-green-2)}.btn.secondary{background:#e7eadf;color:var(--crisp-green)}.btn.ghost,.btn.quiet{background:transparent;border-color:#d9ddd4}
.list-panel{border-radius:18px}.activity-row{padding:15px 17px}.activity-icon{background:#e9eedf;color:var(--crisp-green)}.activity-icon.spend{background:var(--crisp-orange-soft);color:#c76841}.activity-text strong{font-size:13.5px}.amount-out{color:#b85a3b}
.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(560px,calc(100% - 22px));bottom:10px;border:1px solid rgba(23,58,45,.09);border-radius:20px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 16px 45px rgba(15,48,36,.18);background:rgba(255,253,249,.94);backdrop-filter:blur(18px)}
.nav-item{flex:1;width:auto;min-width:0;border-radius:13px;padding:6px 3px;color:#849087}.nav-item.active{background:var(--crisp-green);color:#fff}.nav-item.active .nav-glyph{color:var(--crisp-lime)}.nav-glyph{font-size:21px}.nav-item span:last-child{font-size:9.5px}
.panel{border-radius:20px;padding:22px}.privacy-callout{background:#edf1df;border-color:#d6dec2}.privacy-icon{background:var(--crisp-lime);color:var(--crisp-green)}
.banner{border-radius:14px}.banner.warn{background:#fff4dd}.banner.danger{background:#fff0ec}
.stepper{background:rgba(255,253,249,.65);padding:10px;border-radius:16px;border:1px solid rgba(16,59,45,.06)}.step b{background:#e4e7df}.step.active b{background:var(--crisp-green)}.step.done b{background:var(--crisp-lime)}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{background:#fffdfa;border-color:#dcded6;border-radius:12px}.large-amount{background:#fffdfa}
.count-panel{max-width:760px}.denom-row{background:#fff;border:1px solid #e6e4dc;border-radius:15px;margin-bottom:9px;padding:11px 12px}.denom-icon{background:#edf0e4;color:var(--crisp-green)}.denom-icon.coin{background:#f5ead8;color:#8b672b}.step-input{background:#f0f1ec;border-radius:12px}.step-btn{background:transparent;color:var(--crisp-green);font-size:22px}.step-input input{background:#fff;border-radius:9px;border:1px solid #e0e2db}
.payment-input{background:#fff;border:1px solid #e5e4dc;border-radius:15px;padding:14px}.currency-input{background:#f6f5f0;border-radius:10px}
.lock-warning{background:#f2eee5;border-color:#e4ded0}.result-panel .result-line{border-radius:12px}.locked-label{background:#eef1e3;color:var(--crisp-green)}
.upload-area{background:#f8f5ed;border:1.5px dashed #cfd4c7;border-radius:18px}.upload-option{background:#fff;border-radius:12px}.upload-icon{color:var(--crisp-green)}
.status-chip.ok{background:#e8f4e7;color:#25714a}.status-chip.pending{background:#fff3da;color:#8c6423}.status-chip.alert{background:#fff0ec;color:#a9493f}
.admin-tabs{background:#e8e8e1;border-radius:14px;padding:4px}.admin-tabs a{border-radius:10px}.admin-tabs a.active{background:var(--crisp-green);color:white}
.logout-row{margin-bottom:28px}
.message-panel{background:var(--crisp-card);border:1px solid rgba(16,59,45,.08);box-shadow:var(--crisp-shadow)}

/* Login */
.auth-screen{background:var(--crisp-green)}.auth-main{min-height:100vh;background:linear-gradient(135deg,#0c3327 0%,#144834 55%,#0f392c 100%)}
.login-shell{max-width:980px;min-height:100vh;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:42px;padding:48px 34px}.login-hero{color:#fff}.login-symbol{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--crisp-lime);color:var(--crisp-green);font-size:26px;font-weight:950;margin-bottom:28px}.login-hero h1{font-size:clamp(3.8rem,8vw,6.5rem);line-height:.83;letter-spacing:-.075em;margin:10px 0 24px}.login-hero p{color:#c3d0ca;font-size:1.05rem}.lime-dot{color:var(--crisp-lime)}.login-pill{display:inline-flex;margin-top:28px;border:1px solid rgba(217,239,114,.25);background:rgba(217,239,114,.08);color:var(--crisp-lime);padding:9px 12px;border-radius:999px;font-size:11px;font-weight:800}.login-form.panel{background:#fffdf9;border:0;border-radius:24px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.2)}.login-form h2{font-size:1.8rem;margin:7px 0 5px}.login-form .btn.primary{background:var(--crisp-lime);color:var(--crisp-green);min-height:52px}.login-form .btn.primary:hover{background:#e5f59c}

@media(max-width:760px){
  .topbar{height:68px;padding:0 16px}.brand-mark{width:40px;height:40px;font-size:24px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:7.5px}.account-details{display:none}.avatar{width:36px;height:36px}
  .container{padding:22px 15px 112px}.page-hero{padding:3px 2px 24px}.page-hero h1{font-size:2.05rem}.page-hero p{font-size:13px}.section-header{margin-top:8px}.section-header.spaced{margin-top:32px}
  .sessions-grid{grid-template-columns:1fr;gap:12px}.session-card{padding:20px}.session-actions{display:grid;grid-template-columns:1fr 1fr}.session-actions .btn{padding:10px 8px;font-size:12px}
  .panel{padding:18px;border-radius:18px}.activity-row{padding:14px 13px}.activity-icon{width:39px;height:39px}.gap-badge{font-size:11px}
  .bottom-nav{bottom:7px;width:calc(100% - 14px);border-radius:18px}.nav-item{gap:1px}.nav-glyph{font-size:20px}
  .stepper{gap:3px;padding:8px}.step{font-size:9px;gap:4px}.step b{width:24px;height:24px}.privacy-callout{padding:14px}
  .denom-row{padding:10px}.denom-icon{width:38px;height:38px}.denom-label strong{font-size:14px}.step-input{min-width:126px}.step-btn{width:38px}.step-input input{width:48px;min-height:40px;padding:5px}
  .login-shell{display:flex;flex-direction:column;justify-content:center;gap:26px;padding:34px 18px}.login-hero{width:100%;max-width:520px}.login-symbol{width:52px;height:52px;border-radius:15px;margin-bottom:18px}.login-hero h1{font-size:3.7rem;margin:6px 0 17px}.login-hero p{font-size:.94rem}.login-pill{margin-top:18px}.login-form.panel{width:100%;max-width:520px;padding:22px;border-radius:20px}.login-form h2{font-size:1.55rem}
}
@media(max-width:390px){
  .brand-copy small{display:none}.session-actions{grid-template-columns:1fr}.step-input{min-width:118px}.denom-icon{display:none}.denom-row{gap:8px}.nav-item span:last-child{font-size:8.5px}
}

/* =====================================================
   V1.4 — Admin reports & immutable count breakdown
   ===================================================== */
.report-quicklinks{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}
.report-tabs{display:flex;gap:7px;padding:6px;margin:0 0 19px;background:#e8eae2;border-radius:16px;overflow-x:auto}
.report-tabs a{flex:1;min-width:94px;text-align:center;padding:12px 10px;border-radius:11px;color:var(--crisp-green);font-weight:850;font-size:12px;white-space:nowrap}
.report-tabs a.active{background:var(--crisp-green);color:#fff;box-shadow:0 6px 14px rgba(13,49,36,.12)}
.report-filters{margin-bottom:17px}
.report-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px}
.report-filter-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#53645b}
.report-filter-grid input,.report-filter-grid select{min-width:0;width:100%;min-height:46px;padding:11px 12px;color:#22382c;border:1px solid #dce3d7;background:#fffefa;border-radius:11px;font-size:14px}
.report-filter-grid [hidden]{display:none!important}
.report-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}
.report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}
.report-stats-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-stat{display:flex;flex-direction:column;gap:8px;min-height:135px;padding:19px 16px;background:#fffdf9;border-radius:18px;border:1px solid #e6e7df;box-shadow:var(--crisp-shadow)}
.report-stat.emphasized{background:var(--crisp-green);color:white}
.report-stat span{font-size:11px;font-weight:750;letter-spacing:.025em;color:#68766d}
.report-stat.emphasized span{color:#c8dbbf}
.report-stat strong{font-size:clamp(18px,2.2vw,27px);font-weight:900;letter-spacing:-.06em;line-height:1.1;white-space:nowrap}
.report-stat small{font-size:11px;line-height:1.35;color:#829087}
.report-stat.emphasized small{color:#c8dbbf}
.report-columns{display:grid;grid-template-columns:1.18fr .82fr;gap:17px;margin-bottom:17px}
.report-columns>.panel{min-width:0}
.category-block{padding:15px 0;border-bottom:1px solid #e5e7df}
.category-block:last-child{border:0;padding-bottom:0}
.category-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px}
.category-head b{font-size:14px;white-space:nowrap}
.category-meta{margin:5px 0 9px;color:#879088;font-size:11px}
.category-meter{width:100%;height:8px;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;overflow:hidden;background:#e6ebdf}
.category-meter::-webkit-progress-bar{background:#e6ebdf;border-radius:999px}
.category-meter::-webkit-progress-value{background:var(--crisp-green);border-radius:999px}
.category-meter::-moz-progress-bar{background:var(--crisp-green);border-radius:999px}
.summary-list{display:flex;flex-direction:column}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e5e7df;font-size:13px}
.summary-row:last-child{border:0}
.summary-row>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.summary-row small{font-size:11px;color:#7c8981}
.summary-row b{white-space:nowrap;font-size:13px}
.summary-row[href]:hover{color:var(--crisp-green)}
.admin-count-detail h2{margin:8px 0 16px}
.breakdown-head,.breakdown-row{display:grid;grid-template-columns:1fr 90px minmax(115px,1fr);align-items:center;gap:10px}
.breakdown-head{font-size:10px;text-transform:uppercase;letter-spacing:.085em;color:#7c8980;font-weight:900;border-bottom:1px solid var(--line);padding:12px 0 10px}
.breakdown-head>*:nth-child(2),.breakdown-row>*:nth-child(2){text-align:center}
.breakdown-head>*:nth-child(3),.breakdown-row>*:nth-child(3){text-align:right}
.breakdown-row{padding:11px 0;border-bottom:1px solid #eff0e9;font-size:13px}
.qty-chip{justify-self:center;min-width:50px;padding:5px 8px;background:#e8eee3;border-radius:9px;font-weight:900;color:var(--crisp-green)}
.detail-totals{display:grid;gap:10px;margin-top:17px;padding:16px;background:#f2f3ec;border-radius:13px}
.detail-totals>div{display:flex;justify-content:space-between;gap:15px;font-size:12px}
.detail-totals strong{font-size:14px;white-space:nowrap}
.report-table-scroll{overflow-x:auto;max-width:100%}
.report-table{width:100%;border-collapse:collapse;min-width:480px;font-size:13px}
.report-table th{text-align:left;color:#728077;background:#f0f1eb;padding:12px 10px;white-space:nowrap}
.report-table td{padding:13px 10px;border-bottom:1px solid #e9ebe4;white-space:nowrap}
.report-table th:not(:first-child),.report-table td:not(:first-child){text-align:right}
.report-table td:first-child{font-weight:800}
@media(max-width:760px){
  .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-filters{padding:16px}
  .report-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .report-stat{min-height:122px;padding:16px 13px}
  .report-stat strong{font-size:clamp(18px,5vw,25px)}
  .report-columns{grid-template-columns:1fr;gap:12px}
  .report-tabs a{padding:11px 8px;font-size:11px}
  .breakdown-head,.breakdown-row{grid-template-columns:1fr 58px 1fr}
}
@media(max-width:370px){.report-filter-grid{grid-template-columns:1fr}.report-stat strong{font-size:19px}}
