:root{--navy:#102f50;--blue:#174d7d;--gold:#c19a55;--ink:#1d2c3d;--muted:#708095;--line:#e3eaf1;--bg:#f3f6fa}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--blue);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:linear-gradient(165deg,#102f50,#0b243e);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:10;box-shadow:8px 0 28px #10243d12}
.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 25px;border-bottom:1px solid #ffffff20}.brand b{display:block;font-size:16px}.brand small{display:block;color:#c2d0df;font-size:12px}.club-logo{width:45px;height:45px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}
.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:22px;overflow:auto}.sidebar nav a{color:#d9e4ef;padding:10px 13px;border-radius:10px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff18;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--gold);font-weight:700}
.sidebar-bottom{margin-top:auto;padding:18px 9px 4px;border-top:1px solid #ffffff20;color:#c5d2df;font-size:12px}.sidebar-bottom a{display:inline-block;color:#fff;margin-top:10px}
.main{margin-left:252px;padding:30px 36px 55px;max-width:1800px}.main.authmain{margin:0;max-width:none;min-height:100vh;display:grid;place-items:center;padding:25px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.topbar h1{font-size:28px;margin:4px 0 0;color:var(--navy);letter-spacing:-.03em}.muted{color:var(--muted)}.userchip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px}
.panel,.stat,.authcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 5px 18px #19324b08;margin-bottom:18px}.panel h2,.panel h3{color:var(--navy);margin-top:0}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{padding:20px 22px;border-left:3px solid var(--gold)}.stat small{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;color:var(--navy);font-size:30px;margin-top:4px}
label{display:block;font-size:13px;font-weight:650;color:#46576b;margin:0 0 13px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #d8e1eb;border-radius:9px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:90px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d6e0ea;background:#fff;color:var(--navy);padding:10px 16px;border-radius:9px;font-weight:700;font-size:13px;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.full{width:100%}
.notice{padding:13px 16px;border-radius:11px;margin:0 0 18px;background:#e9f5ef;color:#176044;border:1px solid #cbe8d8}.notice.error{background:#fff0f0;color:#a33d3d;border-color:#f2d0d0}
.tablewrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#617187;font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:#f6f8fb;padding:12px}td{padding:12px;border-bottom:1px solid #edf1f5}.empty{padding:24px;text-align:center;border:1px dashed #cbd6e2;border-radius:12px;color:var(--muted)}
.authcard{width:min(440px,100%);padding:32px}
.cash-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:22px}.cash-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:11px}.cash-product{border:1px solid #dce4ee;border-radius:14px;padding:15px;background:linear-gradient(180deg,#fff,#f8fafc);cursor:pointer;text-align:left}.cash-product:hover{border-color:var(--blue);box-shadow:0 7px 18px #102d4b14}.cash-product b{display:block;color:#142d49}.cash-product small{color:#68788b}
.cartrow{display:grid;grid-template-columns:minmax(125px,1fr) 72px 92px 82px 92px 28px;gap:8px;align-items:end;border-bottom:1px solid #e7edf3;padding:12px 0}.cartrow label{font-size:11px;color:#68788b}.cartrow input,.cartrow select{width:100%;min-width:0;padding:8px 6px;font-size:13px}.cart-name{align-self:center}.cart-name b{display:block;color:#173653}.cart-name small{display:block;color:#718096;font-size:11px}.cash-total{font-size:30px;font-weight:800;text-align:right;color:#123b64;padding-top:6px}.cash-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.contract-print{max-width:900px;margin:22px auto;padding:36px!important;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 36px #0f172a0c}.contract-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.contract-head h2{font-size:30px;letter-spacing:.08em;margin:7px 0;color:#123b64}.contract-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;color:#b18a45}.contract-number{border:1px solid #d9e2ec;border-radius:10px;padding:10px 14px;font-weight:700;color:#234765}.contract-print hr{border:0;border-top:2px solid #d7e1eb;margin:22px 0}.contract-print h3{color:#1c4266;margin-top:22px}.contract-print table{width:100%;border-collapse:collapse;margin:20px 0}.contract-print th{background:#123b64;color:#fff;text-align:left;padding:11px}.contract-print td{padding:11px;border-bottom:1px solid #e4eaf0}.contract-print tr:nth-child(even) td{background:#f7f9fc}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:48px;padding-top:15px}
@media(max-width:1050px){.sidebar{width:220px}.main{margin-left:220px;padding:25px 22px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.cash-grid{grid-template-columns:1fr}.cartrow{grid-template-columns:1fr 72px 90px}.cartrow label:nth-of-type(3),.cartrow label:nth-of-type(4){grid-row:2}.cartrow button{grid-column:3}}
@media(max-width:760px){.sidebar{position:relative;width:auto;inset:auto;padding:14px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:12px}.sidebar-bottom{margin-top:12px}.main{margin:0;padding:18px 13px 35px}.topbar h1{font-size:23px}.grid.two,.form-grid{grid-template-columns:1fr}.panel{padding:17px}.userchip{display:none}}
@media print{@page{size:A4;margin:17mm}body{background:#fff!important;color:#111!important}.sidebar,.topbar,.notice,.cash-grid,.cash-actions,.cash-products,#cash-form,.panel:not(.contract-print),.contract-print~*{display:none!important}.main{margin:0!important;padding:0!important;max-width:none!important}.contract-print{display:block!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.contract-print th{background:#123b64!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Prislista: tydliga kolumner och redigeringsformulär dolda tills de öppnas */
.price-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto auto;gap:12px;align-items:end;margin:0 0 12px;padding:12px 0;border-bottom:1px solid #edf1f5}
.price-row .price-category{align-self:center;margin:0;padding:11px 12px;border:1px solid #d8e1eb;border-radius:9px;background:#f8fafc;color:#243c55}
.price-row .price-value{margin-bottom:0}
.category-edit{margin:0 0 16px 0;padding:14px;background:#f6f8fb;border:1px solid #e3eaf1;border-radius:12px}
.category-edit[hidden]{display:none!important}
@media(max-width:760px){.price-row{grid-template-columns:1fr 1fr}.price-row .price-category{grid-column:1/-1}}
