/* Pimpro experience — intentionally scoped so admin styling stays stable. */
.public-nav{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom-color:rgba(18,91,67,.10)}
.brand small{font:700 10px 'DM Sans';letter-spacing:.4px;color:var(--green);background:#e9f1eb;padding:5px 8px;border-radius:999px}
.hero-actions{display:flex;gap:10px}

body:has(.pimpro-welcome),body:has(.pimpro-event-head){background:radial-gradient(circle at 12% 5%,#eaf3ed 0,transparent 27%),var(--cream)}
.page:has(.pimpro-welcome),.page:has(.pimpro-event-head){max-width:860px}
.pimpro-welcome{position:relative;background:linear-gradient(135deg,#0e503b,#17694e);color:#fff;border-radius:28px;padding:44px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;overflow:hidden;box-shadow:0 22px 55px rgba(18,91,67,.18)}
.pimpro-welcome:after{content:'';position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-70px;top:-95px;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}
.pimpro-welcome>div:first-child{position:relative;z-index:1}
.pimpro-welcome h1{font:800 43px/1.1 Manrope;margin:0 0 11px;letter-spacing:-1.7px}
.pimpro-welcome p{color:#d5e2db;max-width:570px;margin:0;line-height:1.6}
.pimpro-welcome .eyebrow{color:var(--lime)}
.shield{position:relative;z-index:1;flex:0 0 auto;width:84px;height:84px;background:var(--lime);color:var(--green);border-radius:24px;display:grid;place-items:center;font:800 30px Manrope;transform:rotate(4deg);box-shadow:0 12px 30px rgba(0,0,0,.13)}
.event-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pick-card{display:flex;align-items:center;gap:17px;padding:20px;background:rgba(255,255,255,.92);border:1px solid rgba(18,91,67,.10);border-radius:18px;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 5px 18px rgba(31,56,44,.04)}
.pick-card:hover{transform:translateY(-3px);border-color:rgba(18,91,67,.25);box-shadow:0 18px 36px rgba(31,56,44,.10)}
.pick-card h3{margin:0 0 5px;font:800 17px/1.25 Manrope}.pick-card p,.pick-card small{margin:0;color:var(--muted);font-size:12px}.pick-card small{display:block;margin-top:5px}.pick-card i{margin-left:auto;font-style:normal;color:var(--green);font-size:22px}

.pimpro-event-head{margin-bottom:24px}.pimpro-event-head .back{display:inline-flex;margin-bottom:32px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px}.pimpro-event-head h1{font:800 40px/1.1 Manrope;letter-spacing:-1.5px;margin:0 0 8px}.pimpro-event-head>p:last-child{color:var(--muted);margin:0}
.balance-card{position:relative;background:linear-gradient(135deg,#0e503b,#17694e);color:#fff;padding:28px 30px;border-radius:22px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;box-shadow:0 18px 45px rgba(18,91,67,.17);overflow:hidden}.balance-card:after{content:'';position:absolute;width:130px;height:130px;border:25px solid rgba(255,255,255,.045);border-radius:50%;right:-30px;top:-55px}.balance-card span,.balance-card small{display:block;color:#c8dacf}.balance-card span{font-size:13px;font-weight:600}.balance-card strong{display:block;font:800 32px Manrope;letter-spacing:-1px;margin:5px 0}.balance-icon{position:relative;z-index:1;width:62px;height:62px;background:var(--lime);color:var(--green);border-radius:18px;display:grid;place-items:center;font-weight:800}
.summary-balance{gap:35px}.balance-primary{position:relative;z-index:1;flex:1}.balance-breakdown{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-left:30px;border-left:1px solid rgba(255,255,255,.18)}.balance-breakdown span{font-size:11px}.balance-breakdown b{display:block;margin-top:7px;font:700 14px Manrope;white-space:nowrap}
.add-expense{height:54px;margin-bottom:30px;justify-content:center!important;border-radius:15px!important;font-size:15px;box-shadow:0 12px 30px rgba(18,91,67,.18)!important}
.public-ledger{background:rgba(255,255,255,.92);border:1px solid rgba(18,91,67,.10);border-radius:20px;padding:25px;box-shadow:0 10px 35px rgba(31,56,44,.05)}
.expense-item{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding:17px 0}.expense-icon{flex:0 0 auto;width:44px;height:44px;background:#eef4f0;border-radius:13px;display:grid;place-items:center}.expense-main{display:grid;gap:3px;flex:1}.expense-main span{font-size:12px;color:var(--muted)}.expense-main a{font-size:11px;color:var(--green);font-weight:700;text-decoration:none}.expense-item>strong{font-size:14px;white-space:nowrap}

/* Correct the shared close-button collision and polish the entry sheet. */
#expense-modal{background:transparent;overflow:visible}
#expense-modal .modal-card{background:#fff;border-radius:22px;padding:28px;max-height:90vh;overflow:auto}
#expense-modal .modal-head>.modal-close{width:38px;height:38px;padding:0;border-radius:12px;font-size:22px;display:grid;place-items:center;background:#eff3f0;color:#44564d}
#expense-modal .actions{padding-top:18px;border-top:1px solid var(--line);margin-top:24px}
#expense-modal .actions .modal-close{width:auto;height:auto;border-radius:12px;font-size:14px;padding:13px 22px;background:#eef1ee;color:var(--ink)}
#expense-modal .actions .btn.primary{min-width:220px}
.camera-upload{position:relative;min-height:130px;display:flex!important;align-items:center;justify-content:space-between;gap:18px;text-align:left!important;background:linear-gradient(135deg,#f1f7f3,#f8fbf4)!important;border:1.5px dashed #7fa691!important;transition:.2s}.camera-upload:hover{border-color:var(--green)!important;background:#edf6f0!important}.camera-upload>span{flex:1}.camera-upload b{font-size:15px;color:var(--green)}.camera-upload small{margin-top:7px!important}.camera-actions{display:flex;gap:8px}.camera-actions button{border:0;border-radius:10px;padding:11px 13px;font-size:11px;font-weight:800;cursor:pointer}.camera-button{background:var(--green);color:#fff}.browse-button{background:#e5ece7;color:#355747}.camera-overlay{position:fixed;inset:0;background:rgba(8,26,19,.82);backdrop-filter:blur(8px);z-index:999;display:grid;place-items:center;padding:18px}.camera-sheet{width:min(680px,100%);background:#fff;border-radius:22px;padding:18px;box-shadow:0 30px 100px #0006}.camera-sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.camera-sheet-head b,.camera-sheet-head small{display:block}.camera-sheet-head small{color:var(--muted);font-size:11px;margin-top:3px}.camera-x{border:0;background:#edf1ee;border-radius:10px;width:36px;height:36px;font-size:21px}.camera-sheet video{display:block;width:100%;max-height:65vh;aspect-ratio:4/3;object-fit:cover;background:#111;border-radius:15px}.camera-sheet-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:14px}.camera-sheet-actions button{height:48px;border:0;border-radius:12px;font-weight:800}.camera-cancel{background:#edf1ee;color:var(--ink)}.camera-shot{background:var(--green);color:#fff}

@media(max-width:800px){
 .hero-actions{width:100%;flex-direction:column}.pimpro-welcome{padding:30px 23px;border-radius:22px}.pimpro-welcome h1{font-size:32px}.shield{display:none}.event-picker{grid-template-columns:1fr}.pimpro-event-head h1{font-size:31px}.balance-card{padding:22px;border-radius:19px}.balance-card strong{font-size:27px}.summary-balance{display:block}.balance-breakdown{grid-template-columns:1fr 1fr;gap:15px;padding:15px 0 0;margin-top:15px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.balance-breakdown b{font-size:13px}.public-ledger{padding:19px 17px}.expense-item{align-items:flex-start}.expense-item>strong{font-size:12px}.public-nav .quiet-link{font-size:12px}
 #expense-modal{width:100%;max-width:none;margin:auto 0 0;border-radius:24px 24px 0 0}
 #expense-modal .modal-card{border-radius:24px 24px 0 0;padding:23px 18px 20px;max-height:94dvh}
 #expense-modal .form-grid{gap:16px}
 #expense-modal .actions{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.7fr);gap:10px;position:sticky;bottom:-20px;background:#fff;padding:15px 0 20px;z-index:2}
 #expense-modal .actions .btn,#expense-modal .actions .modal-close{min-width:0;width:100%;height:52px;padding:0 12px;font-size:14px;white-space:nowrap}
 .camera-upload{display:grid!important;text-align:center!important}.camera-actions{width:100%;display:grid;grid-template-columns:1.4fr 1fr}.camera-actions button{height:44px}.camera-sheet{padding:13px;border-radius:20px}.camera-sheet video{max-height:58vh}
}
