/* Momentum design system – mobile first */
:root{--m-bg:#0b0d0c;--m-surface:#151817;--m-surface-2:#1b1f1d;--m-border:#2b322e;--m-text:#f7faf8;--m-muted:#9aa59e;--m-green:#20c968;--m-green-soft:#10251a;--m-pink:#ff4f9a;--m-radius:18px;--m-shadow:0 18px 55px rgba(0,0,0,.28)}
html{background:var(--m-bg);-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:radial-gradient(circle at 50% -10%,rgba(32,201,104,.09),transparent 35%),var(--m-bg);color:var(--m-text);overflow-x:hidden;max-width:100vw}button,a,input,select{ -webkit-tap-highlight-color:transparent }button{transition:transform .12s ease,filter .12s ease,background .12s ease}button:not(:disabled):active{transform:scale(.985)}button:not(:disabled):hover{filter:brightness(1.06)}.logo{letter-spacing:.16em!important;font-weight:900!important}.logo:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--m-green);margin:0 8px 2px 0;box-shadow:0 0 18px rgba(32,201,104,.55)}
body:has(#memberForm) .app{padding:34px 16px 60px}body:has(#memberForm) .container{max-width:620px}body:has(#memberForm) .card{background:linear-gradient(180deg,rgba(25,29,27,.98),rgba(18,21,20,.98));border-color:var(--m-border);box-shadow:var(--m-shadow)}body:has(#memberForm) h1{font-size:32px;letter-spacing:-.02em}body:has(#memberForm) .subtitle{font-size:14px;color:#8f9993}body:has(#memberForm) .intro{font-size:15px;color:#c5cdc8;line-height:1.65}body:has(#memberForm) .membership-info{background:linear-gradient(135deg,#111512,#0d100f);border-color:#294333}body:has(#memberForm) .membership-info .price{font-size:32px}body:has(#memberForm) .included{background:#121614;border-color:#26302b}body:has(#memberForm) .included li{margin:4px 0}body:has(#memberForm) .steps{gap:6px}body:has(#memberForm) .step{border:1px solid #252b28}body:has(#memberForm) .step.active{border-color:#2c7048}body:has(#memberForm) form{margin-top:8px}body:has(#memberForm) .field{margin-top:16px}body:has(#memberForm) .field label{font-size:14px;color:#e1e7e3}body:has(#memberForm) input{background:#0e1110;border-color:#353c38;border-radius:12px;min-height:50px}body:has(#memberForm) input:focus{box-shadow:0 0 0 3px rgba(32,201,104,.12)}body:has(#memberForm) button[type=submit]{min-height:52px;border-radius:12px;box-shadow:0 8px 24px rgba(32,201,104,.16)}body:has(#memberForm) .admin-link{opacity:.55}body:has(#memberForm) .member-link{background:#171b19;border-color:#303733;color:#c6cec9}
body:has(#memberArea) .app{padding-top:24px}body:has(#memberArea) .container{max-width:560px}body:has(#memberArea) .top{margin-bottom:18px}body:has(#memberArea) .member-card{background:linear-gradient(145deg,#1d2b23 0%,#151a17 45%,#101311 100%);border-color:#355440;box-shadow:var(--m-shadow);padding:26px}body:has(#memberArea) .member-card:before{content:"";position:absolute;left:-35px;bottom:-80px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(32,201,104,.13);box-shadow:0 0 0 22px rgba(32,201,104,.025),0 0 0 44px rgba(32,201,104,.018)}body:has(#memberArea) .member-card:after{border-color:rgba(32,201,104,.22);width:220px;height:220px;right:-105px;top:-105px}body:has(#memberArea) .brand{font-size:13px;color:#dce9e1}body:has(#memberArea) .member-label{margin-top:48px;color:#8fa097;font-weight:700}body:has(#memberArea) .member-name{font-size:30px;letter-spacing:-.02em}body:has(#memberArea) .details{gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}body:has(#memberArea) .detail-label{font-size:10px;letter-spacing:.1em}body:has(#memberArea) .detail-value{font-size:14px}body:has(#memberArea) #actionArea button{min-height:50px;border-radius:12px}body:has(#memberArea) .payment-box{box-shadow:var(--m-shadow);background:linear-gradient(145deg,#21171e,#151215);border-color:#553346}body:has(#memberArea) .payment-amount{font-size:34px}body:has(#proofModal) .proof{box-shadow:0 25px 80px rgba(0,0,0,.55);border-color:#3b4b42;background:linear-gradient(180deg,#1a201d,#131615)}body:has(#proofModal) .proof h2{letter-spacing:.02em}body:has(#proofModal) .proof .logo:after{content:"";display:block;width:54px;height:3px;background:var(--m-green);border-radius:99px;margin:8px auto 0}body:has(#proofModal) .qr{box-shadow:0 10px 30px rgba(0,0,0,.3)}
body:has(#adminPanel) .container{padding-top:28px}body:has(#adminPanel) .card,body:has(#loginPanel) .card{background:linear-gradient(180deg,#171b19,#131615);border-color:var(--m-border);box-shadow:0 12px 40px rgba(0,0,0,.2)}body:has(#adminPanel) .topbar h1{letter-spacing:-.03em}body:has(#adminPanel) .stat{background:linear-gradient(145deg,#191e1b,#141816);border-color:#29312d}body:has(#adminPanel) .stat-number{letter-spacing:-.03em}body:has(#adminPanel) .filters{padding:14px;background:#111412;border:1px solid #252b28;border-radius:14px}body:has(#adminPanel) .table-wrapper{border:1px solid #292f2c;border-radius:14px;background:#101211;overflow:hidden}body:has(#adminPanel) table{min-width:1000px}body:has(#adminPanel) th{background:#171b19;padding-top:13px;padding-bottom:13px}body:has(#adminPanel) td{border-color:#252b28}body:has(#adminPanel) tbody tr:hover{background:#171c19}body:has(#adminPanel) .badge{border:1px solid #343b37;background:#202521}body:has(#adminPanel) .actions button{border-radius:9px}body:has(#adminPanel) .modal{box-shadow:0 25px 90px rgba(0,0,0,.5);border-color:#3a433e}body:has(#adminPanel) .modal-header{border-bottom:1px solid #292f2c}body:has(#adminPanel) .membership-box{background:#111412;border-color:#2b322e}
@media(max-width:700px){
body:has(#memberForm) .app{padding:54px 12px 36px}body:has(#memberForm) .card{padding:19px;border-radius:16px}body:has(#memberForm) .logo{font-size:26px}body:has(#memberForm) .admin-link,body:has(#memberForm) .member-link{font-size:11px;padding:7px 9px}body:has(#memberForm) .member-link{right:82px}body:has(#memberArea) .app{padding:18px 12px calc(34px + env(safe-area-inset-bottom))}body:has(#memberArea) .member-card{padding:22px;border-radius:19px}body:has(#memberArea) .member-name{font-size:27px}body:has(#memberArea) .details{grid-template-columns:1fr 1fr}body:has(#memberArea) .proof{border-radius:20px;padding:22px 18px}body:has(#memberArea) .proof h2{font-size:26px}
body:has(#adminPanel) .container{width:100%;max-width:none;padding:16px 10px calc(32px + env(safe-area-inset-bottom));margin:0;overflow-x:hidden}body:has(#adminPanel) .container>*{width:100%;max-width:100%;min-width:0}body:has(#adminPanel) .topbar{width:100%;min-width:0}body:has(#adminPanel) .card{width:100%;max-width:100%;min-width:0;padding:16px;border-radius:14px}body:has(#adminPanel) .stats{width:100%;grid-template-columns:1fr;gap:10px}body:has(#adminPanel) .stats .stat{width:100%;min-width:0}body:has(#adminPanel) .filters{width:100%;min-width:0;padding:10px}body:has(#adminPanel) .table-wrapper{width:100%;max-width:100%;min-width:0;border:0;background:transparent;overflow:visible}body:has(#adminPanel) table{display:block;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:auto}body:has(#adminPanel) table thead{display:none}body:has(#adminPanel) table tbody{display:block;width:100%;max-width:100%}body:has(#adminPanel) table tbody tr{display:block;width:100%;max-width:100%;background:linear-gradient(180deg,#151917,#111412);border:1px solid #303732;border-radius:14px;margin:0 0 10px;padding:10px 14px;box-shadow:0 5px 18px rgba(0,0,0,.16);overflow:hidden}body:has(#adminPanel) table tbody td{display:block;width:100%;max-width:100%;padding:9px 0;border-bottom:1px solid #292f2c;min-height:0;position:relative;word-break:break-word;overflow-wrap:anywhere;white-space:normal}body:has(#adminPanel) table tbody td:last-child{border-bottom:0}body:has(#adminPanel) table tbody td::before{position:static;display:block;width:auto;margin-bottom:4px;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7f8983}body:has(#adminPanel) table tbody td:nth-child(1)::before{content:"Navn"}body:has(#adminPanel) table tbody td:nth-child(2)::before{content:"Fødselsdato"}body:has(#adminPanel) table tbody td:nth-child(3)::before{content:"Telefon"}body:has(#adminPanel) table tbody td:nth-child(4)::before{content:"E-post"}body:has(#adminPanel) table tbody td:nth-child(5)::before{content:"Poststed"}body:has(#adminPanel) table tbody td:nth-child(6)::before{content:"Medlemskap"}body:has(#adminPanel) table tbody td:nth-child(7)::before{content:"Handlinger"}body:has(#adminPanel) .actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-top:2px}body:has(#adminPanel) .actions button{width:100%;min-height:44px}body:has(#adminPanel) .badge{white-space:normal}body:has(#adminPanel) .report-grid{grid-template-columns:1fr!important;width:100%!important}body:has(#adminPanel) .report-stat{width:100%!important;min-width:0!important}body:has(#adminPanel) .report-actions button{width:100%;min-height:48px}body:has(#adminPanel) .annual{grid-template-columns:1fr;gap:10px}body:has(#adminPanel) .annual button{width:100%}
body:has(#adminPanel) .modal-backdrop{padding:0;align-items:flex-end}body:has(#adminPanel) .modal{width:100%;max-width:100%;max-height:94vh;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;padding:18px 16px calc(22px + env(safe-area-inset-bottom))}body:has(#adminPanel) .modal-header{position:sticky;top:-18px;background:#191919;padding:4px 0 14px;margin-bottom:8px;z-index:2}body:has(#adminPanel) .modal-header h2{font-size:22px}body:has(#adminPanel) .close{min-width:72px}body:has(#adminPanel) .checkbox-row{align-items:flex-start;line-height:1.35}body:has(#adminPanel) .checkbox-row input{flex:0 0 auto;margin-top:2px}body:has(#adminPanel) .form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}body:has(#adminPanel) .form-actions button{width:100%}body:has(#adminPanel) .danger-zone .danger{width:100%}body:has(#adminPanel) .history{margin-left:-2px;margin-right:-2px}body:has(#adminPanel) .history table{min-width:680px;display:table}body:has(#adminPanel) .history thead{display:table-header-group}body:has(#adminPanel) .history tbody{display:table-row-group}body:has(#adminPanel) .history tr{display:table-row;background:transparent;border:0;margin:0;padding:0}body:has(#adminPanel) .history th,body:has(#adminPanel) .history td{display:table-cell;width:auto;padding:9px 8px;min-height:0;position:static;border-bottom:1px solid #333;white-space:nowrap}body:has(#adminPanel) .history td::before{display:none}
}
@media(max-width:380px){body:has(#memberArea) .details{grid-template-columns:1fr}body:has(#memberForm) .steps .step{font-size:11px;padding:8px 3px}body:has(#adminPanel) .container{padding-left:8px;padding-right:8px}body:has(#adminPanel) .card{padding:14px}body:has(#adminPanel) .topbar-actions{grid-template-columns:1fr}body:has(#adminPanel) .form-actions{grid-template-columns:1fr}}
