/* ─────────────────────────────────────────────
   Smartorder POS — styles.css
   Uttrukket fra index.html (Nivå 1-split).
   Blokk 1 og 2 er konkatenert i original rekkefølge — CSS uendret.
   ───────────────────────────────────────────── */
[data-theme="dark"]{
  --sb:#1A1D2E;--sbh:#252840;--sbt:rgba(255,255,255,.5);--ston:#FFFFFF;
  --bg:#13152A;--surf:#1E2140;--tx:#E8E8FF;--t2:#A0A8C0;--t3:#6B7280;
  --bdr:#2A2D50;--b2:#363968;--card:#1E2140;--inp:#252840;
}
[data-theme="light"]{--sb:#2A2D4A;--sbh:#353869;--sbt:rgba(255,255,255,.5);--ston:#fff;--bg:#F0F0F8;--surf:#FFFFFF;--tx:#1A1A1A;--t2:#6B7280;--t3:#9CA3AF;--bdr:#DDDDF0;--b2:#C0C0E0;--card:#FFFFFF;--inp:#FFFFFF;}
:root{
  --oi-name-fs:13px;
  --oi-sz-fs:11px;
  --oi-price-fs:13px;
  --oi-vat-fs:10px;
  --sum-row-fs:14px;
  --ord-tot-fs:15px;
  --ac:#6C63FF;--acl:#EEEEFF;--acd:#4B44CC;
  --ac2:#E8645A;--ac2l:#FDECEA;
  --wa:#F59E0B;--wal:#FEF3C7;
  --gr:#10B981;--grl:#D1FAE5;
  --sbw:clamp(180px,15vw,240px);
  --sbwc:108px;
  --op-w:clamp(300px,26vw,400px);
  --op-zoom:1;
  --touch:44px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;font-family:'Inter',sans-serif;font-size:16px;color:var(--tx);background:var(--bg);-webkit-tap-highlight-color:transparent;}
.sidebar,.main-area,.order-panel,.pos-topbar,.pos-cats,.card,.modal,.overlay .modal,input,select,textarea{transition:background-color .2s ease,border-color .2s ease,color .15s ease;}
/* LOGIN */
#sLogin{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--sb);transition:background .2s ease;}
.lc{background:var(--surf);border-radius:20px;padding:36px;width:360px;color:var(--tx);}
.lc-logo{font-size:22px;font-weight:800;margin-bottom:4px;color:var(--tx);}
.lc-logo em{color:var(--ac);font-style:normal;}
.lc-sub{font-size:12px;color:var(--t2);margin-bottom:22px;}
.pdots{display:flex;gap:12px;justify-content:center;margin-bottom:14px;}
.pdot{width:15px;height:15px;border-radius:50%;border:2px solid var(--b2);transition:all .15s;}
.pdot.on{background:var(--ac);border-color:var(--ac);}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:11px;}
.pkey{padding:15px;border:1.5px solid var(--bdr);border-radius:11px;background:var(--bg);cursor:pointer;font-size:19px;font-weight:700;text-align:center;transition:all .1s ease;color:var(--tx);}
.pkey:hover{background:var(--acl);border-color:var(--ac);color:var(--ac);}
.pkey:active{transform:scale(.92);}
.pkey.del{background:var(--ac2l);color:var(--ac2);border-color:var(--ac2);}
.pkey.ok{background:var(--ac);color:#fff;font-size:13px;}
.phint{text-align:center;font-size:12px;color:var(--t3);}
.phint span{color:var(--ac);cursor:pointer;font-weight:700;}
.dusers{margin-top:13px;border-top:1.5px solid var(--bdr);padding-top:11px;}
.du-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;}
.du-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;cursor:pointer;}
.du-row:hover{background:var(--bg);}
.du-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.du-name{font-size:13px;font-weight:600;color:var(--tx);}
.du-pin{font-size:11px;color:var(--t2);}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes spin{to{transform:rotate(360deg);}}
.shake{animation:shake .35s ease;}
/* APP */
#sApp{display:none;height:100vh;overflow:hidden;}
.app-wrap{display:flex;height:100%;width:100%;overflow:hidden;}
/* SIDEBAR */
.sidebar{width:var(--sbw);background:var(--sb);display:flex;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;}
.sidebar.col{width:var(--sbwc);}
.sb-top{padding:28px 10px 16px;border-bottom:1px solid rgba(255,255,255,.07);}
.sb-logo-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;}
.sb-logo{font-size:22px;font-weight:800;color:var(--ston);white-space:nowrap;transition:opacity .2s;letter-spacing:-0.3px;}
.sb-logo em{color:var(--ac);font-style:normal;}
.sidebar.col .sb-logo{opacity:0;width:0;}
.sb-ham{width:33px;height:33px;border-radius:8px;border:none;background:rgba(255,255,255,.1);cursor:pointer;color:var(--ston);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sb-ham:hover{background:rgba(255,255,255,.2);}
.sb-ham svg{width:18px;height:18px;}
/* Når sidebaren er kollapset: skjul språk-knappene, sentrer hamburger på samme rad */
.sidebar.col #langSwitcherWrap{justify-content:center !important;margin-top:14px !important;}
.sidebar.col #langSwitcherWrap .lang-switch{display:none !important;}
.sidebar.col #langSwitcherWrap .sb-ham{margin:0 !important;}
.sb-nav{flex:1;padding:24px 8px 10px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;scrollbar-width:none;}
.sbi{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:11px;cursor:pointer;color:var(--sbt);overflow:hidden;transition:all .15s;position:relative;margin-bottom:5px;}
.sbi:hover{background:var(--sbh);color:var(--ston);}
.sbi.on{background:var(--ac);color:#fff;}
.sbi svg{width:22px;height:22px;flex-shrink:0;stroke-width:2;}
.sbi-lbl{font-size:clamp(12px,1vw,14px);font-weight:600;overflow:hidden;transition:opacity .2s,max-width .2s;max-width:160px;white-space:nowrap;}
.sbi-sm{font-size:9px;font-weight:700;text-align:center;display:none;color:inherit;margin-top:2px;}
/* removed */
/* removed */
/* removed duplicate */
.sb-badge{background:var(--ac2);color:#fff;font-size:9px;padding:1px 5px;border-radius:7px;font-weight:700;margin-left:auto;}
.sb-div{height:1px;background:rgba(255,255,255,.07);margin:4px 8px;}
.sb-sec{font-size:9px;font-weight:700;color:rgba(255,255,255,.28);padding:7px 12px 2px;letter-spacing:.09em;text-transform:uppercase;transition:opacity .2s;}
/* removed */
.sb-bot{padding:9px 8px;border-top:1px solid rgba(255,255,255,.07);}
.sb-theme{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;cursor:pointer;color:var(--sbt);overflow:hidden;transition:background .15s;}
.sb-theme:hover{background:var(--sbh);color:var(--ston);}
.sb-theme svg{width:20px;height:20px;flex-shrink:0;}
.sb-theme-lbl{font-size:13px;font-weight:600;transition:opacity .2s,max-width .2s;max-width:140px;overflow:hidden;white-space:nowrap;}
.sidebar.col .sb-theme-lbl{opacity:0;max-width:0;}
.sidebar.col .sb-theme{justify-content:center;}
.sb-user{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;cursor:pointer;overflow:hidden;transition:background .15s;margin-top:4px;}
.sb-user:hover{background:var(--sbh);}
.sb-av{width:32px;height:32px;border-radius:50%;background:var(--ac);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
.sb-uinfo{overflow:hidden;transition:opacity .2s,max-width .2s;max-width:140px;white-space:nowrap;}
.sidebar.col .sb-uinfo{opacity:0;max-width:0;}
.sb-uname{font-size:13px;font-weight:600;color:var(--ston);}
.sb-urole{font-size:11px;color:var(--sbt);}
/* MAIN */
.main-area{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bg);transition:background .3s;}
.pg{display:none;flex-direction:column;height:100%;overflow:hidden;width:100%;}
.pg.on{display:flex;}
.pg-body{padding:clamp(14px,2vw,28px) clamp(16px,2.5vw,32px);flex:1;overflow-y:auto;width:100%;}
.pg-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.pg-title{font-size:clamp(20px,2vw,28px);font-weight:800;letter-spacing:-.5px;color:var(--tx);}
.pg-sub{font-size:13px;color:var(--t2);margin-top:3px;}
/* UTIL */
.card{background:var(--card);border:1.5px solid var(--bdr);border-radius:16px;padding:15px;margin-bottom:12px;transition:background .3s;}
.card-title{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--tx);}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.btn{padding:8px 14px;border-radius:9px;border:1.5px solid var(--b2);background:var(--surf);cursor:pointer;font-size:13px;font-weight:600;font-family:'Inter',sans-serif;color:var(--tx);transition:all .12s;}
.btn:hover{background:var(--bg);}
.btn.pr{background:var(--ac2);color:#fff;border-color:var(--ac2);}
.btn.sec{background:var(--acl);color:var(--ac);border-color:var(--ac);}
.btn.gr{background:var(--ac);color:#fff;border-color:var(--ac);}
.badge{display:inline-flex;padding:3px 8px;border-radius:18px;font-size:11px;font-weight:700;}
.badge.green{background:var(--grl);color:var(--gr);}.badge.blue{background:var(--acl);color:var(--acd);}.badge.red{background:#FEE2E2;color:#E8645A;}.sys-card{background:var(--surf);border:2px solid var(--bdr);border-radius:16px;padding:24px 20px;cursor:pointer;text-align:left;transition:all .15s;font-family:Inter,sans-serif;width:100%;}.kv-mal-kort{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:20px;}.sys-card:hover{border-color:var(--ac);background:var(--acl);}.sys-card-icon{font-size:32px;margin-bottom:12px;display:block;}.sys-card-lbl{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:4px;}.sys-card-sub{font-size:12px;color:var(--t2);}.rapp-tab{padding:11px 20px;border:2px solid var(--bdr);border-radius:11px;background:var(--surf);cursor:pointer;font-size:14px;font-weight:700;font-family:Inter,sans-serif;color:var(--t2);transition:all .15s;}.rapp-tab.on{border-color:var(--ac);background:var(--acl);color:var(--ac);}.kamp-tab{padding:12px 24px;border:2px solid var(--bdr);border-radius:12px;background:var(--surf);cursor:pointer;font-size:14px;font-weight:700;font-family:Inter,sans-serif;color:var(--t2);transition:all .15s;}.kamp-tab.on{border-color:var(--ac);background:var(--acl);color:var(--ac);}.periode-btn{padding:7px 13px;border:1.5px solid var(--bdr);border-radius:8px;background:var(--surf);cursor:pointer;font-size:12px;font-weight:600;font-family:Inter,sans-serif;color:var(--t2);transition:all .15s;}.periode-btn.on{border-color:var(--ac);background:var(--acl);color:var(--ac);}.rapp-tbl{width:100%;border-collapse:collapse;font-size:13px;}.rapp-tbl th{text-align:left;padding:10px 14px;border-bottom:2px solid var(--bdr);font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}.rapp-tbl td{padding:10px 14px;border-bottom:1px solid var(--bdr);color:var(--tx);white-space:nowrap;}.rapp-tbl tr:last-child td{border-bottom:none;}.rapp-tbl tr:hover td{background:var(--bg);}.rapp-sum{display:flex;justify-content:space-between;padding:10px 0;border-top:2px solid var(--bdr);font-size:15px;font-weight:800;color:var(--tx);margin-top:6px;}.kpi-card{background:var(--surf);border:1.5px solid var(--bdr);border-radius:14px;padding:16px;}.csel{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:13px 16px;border:1px solid var(--bdr);border-radius:12px;font-size:15px;font-weight:500;font-family:Inter,sans-serif;background:var(--surf);color:var(--tx);cursor:pointer;min-width:165px;user-select:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;}.csel:hover{border-color:#6C63FF;}.csel.open{border-color:#6C63FF;box-shadow:0 0 0 3px rgba(108,99,255,.15);}.csel-arr{font-size:12px;color:var(--t2);margin-left:8px;transition:transform .2s;}.csel.open .csel-arr{transform:rotate(180deg);}.csel-list{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:100%;background:var(--surf);border:1px solid var(--bdr);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);z-index:200;padding:6px;}.csel.open .csel-list{display:block;}.csel-opt{padding:12px 14px;font-size:15px;font-weight:500;color:var(--tx);cursor:pointer;transition:background .12s;border-radius:9px;}.csel-opt:hover{background:#EEEEFF;}.csel-opt.on{color:#6C63FF;font-weight:500;background:#EEEEFF;}.cdate-cal{padding:12px !important;min-width:260px !important;}.cal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}.cal-hdr span{font-size:14px;font-weight:700;color:var(--tx);}.cal-hdr button{background:none;border:1.5px solid var(--bdr);border-radius:8px;padding:4px 10px;cursor:pointer;font-size:16px;color:var(--t2);line-height:1;}.cal-hdr button:hover{border-color:var(--ac);color:var(--ac);}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}.cal-dow{font-size:10px;font-weight:700;color:var(--t2);text-align:center;text-transform:uppercase;padding:4px 2px;}.cal-day{text-align:center;padding:7px 2px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--tx);transition:background .1s;}.cal-day:hover{background:var(--bg);}.cal-day.today{font-weight:800;color:var(--ac);}.cal-day.sel{background:var(--ac) !important;color:#fff !important;}.cal-day.empty{cursor:default;pointer-events:none;color:transparent;}.custom-sel{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px !important;}.kpi-val{font-size:22px;font-weight:800;color:var(--tx);margin:4px 0;}.kpi-lbl{font-size:11px;font-weight:600;color:var(--t2);text-transform:uppercase;letter-spacing:.06em;}.kpi-sub{font-size:12px;color:var(--t2);}
.badge.red{background:var(--ac2l);color:var(--ac2);}
.badge.blue{background:var(--acl);color:var(--acd);}
.badge.warn{background:var(--wal);color:#92400E;}
.ff{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.ff label{font-size:12px;font-weight:700;color:var(--t2);}
.ff input,.ff select,.ff textarea{width:100%;padding:11px 14px;border:1.5px solid var(--bdr);border-radius:11px;font-size:14px;font-family:'Inter',sans-serif;background:var(--inp);color:var(--tx);box-sizing:border-box;outline:none;}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--ac);}
.tbl{width:100%;border-collapse:collapse;}
.tbl th{padding:9px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.05em;border-bottom:1.5px solid var(--bdr);}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--bdr);font-size:13px;color:var(--tx);}
.tbl tr:last-child td{border:none;}
.tbl tbody tr:hover td{background:var(--bg);}
.tog{width:42px;height:24px;border-radius:12px;background:#ccc;border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0;}
.tog.on{background:var(--ac);}
.tok{position:absolute;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 4px rgba(0,0,0,.25);}
.tog.on .tok{left:21px;}
.tog.off .tok{left:3px;}
.toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);background:var(--ac2);color:#fff;padding:11px 20px;border-radius:11px;font-size:13px;font-weight:700;z-index:900;display:none;box-shadow:0 4px 20px rgba(0,0,0,.2);}
.toast.on{display:block;animation:tin .3s ease;}
@keyframes tin{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
/* POS */
#pgPOS{flex-direction:row;}
.pos-left{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.pos-topbar{background:var(--surf);padding:9px 13px;border-bottom:1.5px solid var(--bdr);display:flex;align-items:center;gap:9px;flex-shrink:0;transition:background .3s;}
.pos-search{flex:1;padding:8px 12px;border:1.5px solid var(--bdr);border-radius:9px;font-size:13px;font-family:'Inter',sans-serif;outline:none;background:var(--inp);color:var(--tx);}
.pos-search:focus{border-color:var(--ac);}
.ot-group{display:flex;background:var(--bdr);border-radius:9px;overflow:hidden;flex-shrink:0;}
.ot-btn{padding:12px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;color:var(--t2);transition:all .12s;white-space:nowrap;}
.ot-btn.on{background:var(--surf);color:var(--ac);}
.pos-cats{display:flex;gap:6px;padding:9px 13px;border-bottom:1.5px solid var(--bdr);overflow-x:auto;scrollbar-width:none;flex-shrink:0;background:var(--surf);transition:background .3s;}
.pcat{padding:10px 18px;border-radius:20px;border:1.5px solid var(--tx);background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:var(--tx);white-space:nowrap;font-family:'Inter',sans-serif;transition:all .12s;}
.pcat.on{background:var(--ac);color:#fff;border-color:var(--ac);}
/* Kampanje-knapp i POS — alltid oransje (skiller seg fra vanlige kategorier) */
.pcat.pcat-kamp{border-color:#FFA500;color:#C77700;background:transparent;}
.pcat.pcat-kamp:hover{background:rgba(255,165,0,0.10);color:#A85F00;}
.pcat.pcat-kamp.on{background:#FFA500;color:#fff;border-color:#FFA500;}
.pcat.pcat-kamp.on:hover{background:#E89500;border-color:#E89500;}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(130px,10vw,175px),1fr));gap:clamp(8px,1vw,14px);padding:clamp(10px,1.5vw,18px);overflow-y:auto;align-content:start;flex:1;}
.pos-item,
.pos-item:hover{border-color:var(--ac);background:var(--acl);}
.pos-item:active{transform:scale(.95);}
.pi-img{width:100%;height:90px;object-fit:cover;border-radius:11px 11px 0 0;display:block;}
.pi-e{font-size:var(--pi-emoji-sz,38px);display:block;padding:16px 0 4px;line-height:1;}
.pi-n{font-size:var(--pi-navn-sz,14px);font-weight:700;color:var(--tx);margin-top:6px;line-height:1.3;}
.pi-desc{font-size:var(--pi-desc-sz,10px);color:var(--t3);margin-top:2px;overflow:hidden;max-height:32px;}
.pi-p{font-size:var(--pi-pris-sz,16px);font-weight:800;color:var(--tx);margin-top:6px;letter-spacing:-.3px;}
.pi-v{font-size:10px;color:var(--t3);}
.pi-algs{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-top:8px;}
.pi-sz{font-size:10px;color:var(--ac);font-weight:600;margin-top:3px;}
/* ORDER PANEL */
.order-panel{width:var(--op-w);flex-shrink:0;background:var(--surf);border-left:1.5px solid var(--bdr);display:flex;flex-direction:column;transition:background .3s;}
.op-head{padding:12px 14px;border-bottom:1.5px solid var(--bdr);flex-shrink:0;}
.op-title-row{font-size:14px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;color:var(--tx);}
.svc-tag{font-size:11px;padding:4px 10px;border-radius:18px;font-weight:700;}
.svc-dine{background:var(--acl);color:var(--acd);}
.svc-take{background:var(--wal);color:#92400E;}
.svc-lev{background:var(--grl);color:var(--gr);}
.op-info{background:var(--bg);border-radius:8px;padding:7px 10px;font-size:12px;color:var(--t2);margin-top:5px;display:none;align-items:center;gap:7px;flex-wrap:wrap;}
.op-items{flex:1;overflow-y:auto;padding:8px 12px;}
.op-empty{text-align:center;padding:40px 0;color:var(--t2);font-size:14px;}
.op-item{display:flex;align-items:flex-start;gap:8px;padding:9px 0;border-bottom:1px solid var(--bdr);}
.op-item:last-child{border:none;}
.oi-e{font-size:19px;flex-shrink:0;}
.oi-info{flex:1;}
.oi-name{font-size:var(--oi-name-fs);font-weight:600;color:var(--tx);}
.oi-sz{font-size:var(--oi-sz-fs);color:var(--ac);font-weight:600;}
.oi-vat{font-size:var(--oi-vat-fs);color:var(--t3);}
.oi-ctrl{display:flex;align-items:center;gap:5px;margin-top:5px;}
.qbtn{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--bdr);background:var(--bg);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .1s;}
.qbtn:hover{background:var(--acl);border-color:var(--ac);}
.qnum{font-size:16px;font-weight:700;min-width:28px;text-align:center;color:var(--tx);}
.dbtn{background:transparent;border:none;cursor:pointer;color:var(--ac2);font-size:18px;padding:4px 8px;border-radius:6px;margin-left:2px;}
.oi-price{font-size:var(--oi-price-fs);font-weight:700;flex-shrink:0;color:var(--tx);}
.op-sum{padding:11px 14px;border-top:1.5px solid var(--bdr);flex-shrink:0;}
.sum-row{display:flex;justify-content:space-between;font-size:var(--sum-row-fs);color:var(--t2);margin-bottom:5px;}
.sum-mva{display:flex;justify-content:space-between;font-size:13px;color:var(--t3);margin-bottom:3px;}
.sum-div{border:none;border-top:1px solid var(--bdr);margin:7px 0;}
.sum-tot{display:flex;justify-content:space-between;font-size:clamp(16px,1.5vw,22px);font-weight:800;margin-bottom:10px;color:var(--tx);}
.pgrid2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px;}
.paybtn{padding:clamp(12px,1.5vh,18px);border-radius:12px;border:1.5px solid var(--bdr);background:var(--bg);cursor:pointer;font-size:clamp(13px,1.1vw,15px);font-weight:700;font-family:'Inter',sans-serif;color:var(--tx);transition:all .12s;}
.paybtn:hover{background:var(--acl);border-color:var(--ac);color:var(--ac);}
.paybtn.kort{background:var(--ac);color:#fff;border-color:var(--ac);}
.paybtn.vipps{background:#FF5B24;color:#fff;border-color:#FF5B24;}
.paybtn.dark{background:var(--sb);color:#fff;border-color:var(--sb);}
.paybtn.hold{background:var(--wal);color:#92400E;border-color:var(--wa);}
.clrbtn{width:100%;padding:10px;border-radius:10px;border:1.5px solid var(--bdr);background:transparent;cursor:pointer;font-size:13px;color:var(--t2);font-family:'Inter',sans-serif;}
/* ORDRER PAGE */
.ord-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:13px;padding:13px;margin-bottom:9px;cursor:pointer;transition:all .15s;}
.ord-card:hover{border-color:var(--ac);}
.ord-card.hold-ord{border-color:var(--wa);background:var(--wal);}
.ord-card.take-ord{border-color:var(--ac);background:var(--acl);}
.ord-card.lev-ord{border-color:var(--gr);background:var(--grl);}
.ord-top{display:flex;align-items:center;gap:8px;margin-bottom:7px;flex-wrap:wrap;}
.ord-num{font-size:14px;font-weight:800;color:var(--tx);}
.ord-tot{font-size:var(--ord-tot-fs);font-weight:800;color:var(--ac);margin-left:auto;}
.ord-itms{font-size:12px;color:var(--t2);}
.ord-meta{font-size:11px;color:var(--t3);margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;}
/* MODALS */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:400;align-items:center;justify-content:center;overflow-y:auto;padding:16px;}
.overlay.on{display:flex;}
.modal{background:var(--surf);border-radius:18px;padding:24px;border:1.5px solid var(--bdr);box-sizing:border-box;} .modal h2{font-size:19px;}
.modal h2{font-size:17px;font-weight:800;margin-bottom:4px;color:var(--tx);}
.modal-sub{font-size:13px;color:var(--t2);margin-bottom:13px;}
.mrow{display:flex;gap:8px;margin-top:12px;}
.mbtn{flex:1;padding:18px;border-radius:14px;border:none;cursor:pointer;font-size:16px;font-weight:700;font-family:'Inter',sans-serif;transition:all .12s;}
.mbtn.cancel{background:var(--bg);border:1.5px solid var(--b2);color:var(--t2);}
.mbtn.confirm{background:var(--ac);color:#fff;}
.mbtn.red{background:var(--ac2);color:#fff;}
.mbtn.hold{background:var(--wa);color:#fff;}
/* BORD PICKER */
.bpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;max-height:270px;overflow-y:auto;}
.bpi{padding:18px 10px;border:2px solid var(--bdr);border-radius:12px;cursor:pointer;text-align:center;transition:all .12s;background:var(--surf);}
.bpi:hover{border-color:var(--ac);}
.bpi.sel{border-color:var(--ac);background:var(--acl);box-shadow:0 0 0 2px rgba(108,99,255,.15);}
.bpi.sel .bpi-num{color:var(--ac);}
.bpi.occ{opacity:.4;cursor:not-allowed;}
.bpi-num{font-size:22px;font-weight:800;color:var(--tx);}
.bpi-info{font-size:13px;color:var(--t2);margin-top:3px;}
.bpi-st{font-size:10px;font-weight:700;margin-top:3px;}
/* CUST MODAL */
.ctabs{display:flex;background:var(--bdr);border-radius:9px;overflow:hidden;margin-bottom:13px;}
.ctab{flex:1;padding:9px 5px;border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:700;color:var(--t2);font-family:'Inter',sans-serif;transition:all .12s;}
.ctab.on{background:var(--surf);color:var(--ac);}
.cmode{display:none;}
.cmode.on{display:block;}
.cres{padding:9px 11px;border:1.5px solid var(--bdr);border-radius:8px;cursor:pointer;margin-bottom:6px;}
.cres:hover{border-color:var(--ac);background:var(--acl);}
.cres-name{font-size:13px;font-weight:700;color:var(--tx);}
.cres-info{font-size:11px;color:var(--t2);}
/* PAY MODAL */
.ptabs{display:flex;border:1.5px solid var(--bdr);border-radius:12px;overflow:hidden;margin-bottom:14px;gap:0;}
.ptab{flex:1;padding:20px 8px;border:none;background:transparent;cursor:pointer;font-size:17px;font-weight:700;color:var(--t2);font-family:'Inter',sans-serif;transition:all .12s;min-height:62px;}
.ptab.on{background:var(--ac);color:#fff;}
.pmode{display:none;}
.pmode.on{display:block;}
.cash-info{background:var(--bg);border-radius:11px;padding:12px;margin-bottom:11px;}
.cash-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;}
.cash-lbl{font-size:12px;color:var(--t2);font-weight:500;}
.cash-val{font-size:24px;font-weight:800;color:var(--tx);}
.ndisp{background:var(--sb);color:#fff;border-radius:12px;padding:14px 18px;font-size:30px;font-weight:800;text-align:right;font-family:'Inter',sans-serif;margin-bottom:10px;}
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px;}
.nkey{padding:16px;border:1.5px solid var(--bdr);border-radius:12px;background:var(--bg);cursor:pointer;font-size:20px;font-weight:700;text-align:center;transition:all .1s;font-family:'Inter',sans-serif;color:var(--tx);}
.nkey:hover{background:var(--acl);border-color:var(--ac);}
.nkey:active{transform:scale(.92);}
.nkey.del{background:var(--ac2l);color:var(--ac2);}
.qkgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px;}
.qk{padding:12px;border:1.5px solid var(--bdr);border-radius:10px;background:var(--bg);cursor:pointer;font-size:14px;font-weight:700;text-align:center;font-family:'Inter',sans-serif;color:var(--tx);}
.qk:hover{background:var(--acl);}
.sp-ctrl{display:flex;align-items:center;gap:14px;margin:10px 0;}
.sp-adj{padding:12px 22px;border:1.5px solid var(--bdr);border-radius:11px;background:var(--bg);cursor:pointer;font-size:22px;font-family:'Inter',sans-serif;}
.sp-n{font-size:29px;font-weight:800;flex:1;text-align:center;color:var(--tx);}
.pp-box{background:var(--acl);border-radius:10px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.pp-val{font-size:20px;font-weight:800;color:var(--ac);}
.prow{display:flex;align-items:center;gap:8px;padding:7px 9px;background:var(--bg);border-radius:8px;margin-bottom:5px;}
.pr-av{width:24px;height:24px;border-radius:50%;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;}
.mix-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border-radius:12px;margin-bottom:8px;}
.mix-inp{width:110px;padding:12px 14px;border:1.5px solid var(--bdr);border-radius:10px;font-size:20px;font-weight:700;font-family:'Inter',sans-serif;text-align:right;background:var(--surf);color:var(--tx);}
.mix-inp:focus{outline:none;border-color:var(--ac);}
.remain-box{display:flex;justify-content:space-between;padding:8px 10px;background:var(--bdr);border-radius:9px;margin:5px 0 10px;}
/* SIZE MODAL */
.sz-opt{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;border:1.5px solid var(--bdr);border-radius:10px;cursor:pointer;margin-bottom:6px;transition:all .12s;}
.sz-opt:hover,.sz-opt.sel{border-color:var(--ac);background:var(--acl);} .sz-opt.sel .sz-name,.sz-opt.sel .sz-price{color:var(--ac);font-weight:700;} .sz-opt.sel .sz-name,.sz-opt.sel .sz-price{color:var(--ac);font-weight:700;}
.sz-name{font-size:14px;font-weight:600;color:var(--tx);}
.sz-price{font-size:15px;font-weight:800;color:var(--ac);}
/* ITEM EDITOR */
.szrow{display:flex;align-items:center;gap:7px;margin-bottom:7px;}
.szrow input{flex:1;padding:8px 9px;border:1.5px solid var(--bdr);border-radius:7px;font-size:13px;font-family:'Inter',sans-serif;color:var(--tx);background:var(--inp);}
.szrow input:focus{outline:none;border-color:var(--ac);}
.add-sz{padding:7px 11px;border:1.5px dashed var(--ac);border-radius:7px;background:var(--acl);color:var(--ac);cursor:pointer;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;}
.img-up-area{border:2px dashed var(--bdr);border-radius:10px;padding:16px;text-align:center;cursor:pointer;background:var(--bg);transition:all .15s;}
.img-up-area:hover{border-color:var(--ac);background:var(--acl);}
.ie-img-prev{max-width:100%;max-height:100px;object-fit:cover;border-radius:8px;display:none;}
.alg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px;}
.ag-opt{padding:14px 5px;border:1.5px solid var(--bdr);border-radius:9px;cursor:pointer;text-align:center;transition:all .12s;}
.ag-opt:hover,.ag-opt.sel{border-color:var(--ac);background:var(--acl);}
.ag-icon{font-size:26px;display:block;margin-bottom:5px;}
.ag-name{font-size:10px;font-weight:600;color:var(--tx);}
/* PRINT MODAL */
.print-opts{display:flex;gap:8px;justify-content:center;margin:15px 0;}
.print-opt{flex:1;padding:16px 8px;border:2px solid var(--bdr);border-radius:12px;cursor:pointer;text-align:center;transition:all .15s;}
.print-opt:hover,.print-opt.sel{border-color:var(--ac);background:var(--acl);}
.po-icon{font-size:30px;display:block;margin-bottom:6px;}
.po-lbl{font-size:13px;font-weight:700;color:var(--tx);}
.po-sub{font-size:11px;color:var(--t2);margin-top:2px;}
/* BORD MAP */
.bord-chip{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:2px solid;transition:all .15s;user-select:none;font-size:11px;font-weight:700;}
.bord-chip:hover{transform:scale(1.07);}
.bord-chip.ledig{background:var(--grl);border-color:var(--gr);color:var(--gr);}
.bord-chip.opptatt{background:var(--wal);border-color:var(--wa);color:#92400E;}
.bord-chip.reservert{background:var(--ac2l);border-color:var(--ac2);color:#7F1D1D;}
/* KVITTERING MAL */
/* Layout: preview til venstre (skalert ned), settings til høyre.
   Forhåndsvisningen rendres internt på 576px (eksakt papirstørrelse) og
   skaleres ned med CSS transform så den passer i mindre container. */
.kvit-wrap{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:20px;align-items:start;max-width:100%;}
.kvit-prev{background:#fff;border:2px solid var(--bdr);border-radius:16px;overflow:hidden;position:sticky;top:0;width:100%;max-width:360px;}
/* Wrapper rundt selve forhåndsvisningen — får dynamisk høyde fra JS slik at
   den ikke etterlater tomrom under det skalerte innholdet. */
.kv-prev-scale{position:relative;width:100%;overflow:hidden;}
.kv-prev-scale > .kv-area{
  width:576px;            /* faktisk 80mm-papirstørrelse */
  transform-origin:top left;
  /* transform: scale(...) settes dynamisk via fitKvPrevScale() */
}
@media (max-width:1100px){
  .kvit-wrap{grid-template-columns:minmax(260px,320px) 1fr;}
  .kvit-prev{max-width:320px;}
}
@media (max-width:900px){
  .kvit-wrap{grid-template-columns:1fr;}
  .kvit-prev{position:static;max-width:100%;}
}
/* Kvitterings-forhåndsvisning (matcher print-output 1:1) */
.kv-area{padding:16px;font-family:'Inter',sans-serif;width:100%;box-sizing:border-box;color:#000;background:#fff;}
.kv-logo-ph{border:2px dashed #ccc;border-radius:7px;padding:14px;text-align:center;font-size:13px;color:#aaa;cursor:pointer;margin:0 auto 10px;max-width:240px;}
.kv-logo-img{max-width:100%;max-height:200px;object-fit:contain;display:none;margin:0 auto 10px;}
/* Hver seksjon har sin egen font-size (settes via setKvF). Alle barn-elementer
   bruker em (relativt) eller inherit, slik at endring av seksjonens font-size
   propagerer ned til alle linjer. */
.kv-sec{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #000;font-size:24px;color:#000;font-weight:700;line-height:1.4;}
.kv-sec:last-child{border:none;}
.kv-hidden{opacity:.2;}
.kv-title{font-weight:900;text-align:center;margin-bottom:8px;font-size:30px;color:#000;letter-spacing:1px;line-height:1.15;}
.kv-row{display:flex;justify-content:space-between;margin-bottom:4px;font-size:1em;color:#000;width:100%;font-weight:700;}
.kv-row span:first-child{color:#000;}
.kv-row span:last-child{color:#000;text-align:right;}
.kv-tot-row{display:flex;justify-content:space-between;font-weight:900;border-top:1px solid #000;padding-top:8px;margin-top:6px;font-size:1.5em;color:#000;}
.kv-paid-row{display:flex;gap:18px;justify-content:center;margin-top:10px;border:1px solid #000;border-radius:4px;padding:12px;font-size:28px;font-weight:900;}
.kv-check{width:22px;height:22px;border:1px solid #000;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;margin-right:8px;font-weight:900;}
.kv-footer{text-align:center;margin-top:12px;font-size:1em;color:#000;font-weight:700;}
.kv-footer #kvFtName,.kv-footer .kv-ft-name{font-size:1.2em;font-weight:900;color:#000;}
/* Vare-elementer i forhåndsvisning (matcher print-output) */
.kv-item-main{display:flex;justify-content:space-between;font-size:1em;color:#000;width:100%;margin-top:14px;font-weight:700;}
.kv-item-main:first-of-type{margin-top:0;}
.kv-item-sub{display:block;font-size:0.78em;color:#000;font-weight:600;margin:2px 0 0 2.5em;line-height:1.3;font-style:italic;}
.kv-item-sub .kv-item-lbl{font-weight:600;font-style:italic;color:#000;margin-right:4px;}
/* Melding — lys grå boks med rounded corners */
.kv-item-melding{display:block;margin:6px 0 2px 2.5em;padding:7px 11px;
  background:#E5E7EB;color:#000;border:none;border-radius:10px;
  font-size:0.85em;font-weight:700;line-height:1.35;font-style:italic;
  letter-spacing:0.2px;}
.kv-item-melding .kv-item-lbl{font-weight:700;font-style:italic;color:#000;margin-right:6px;}
.kv-item-melding *{color:#000;}
/* Signatur-seksjon (refusjon) — mye luft over og under */
.kv-sig-sec{padding-top:24px !important;padding-bottom:24px !important;}
.kv-sig-tekst{text-align:center;font-style:italic;line-height:1.4;margin-bottom:40px;}
.kv-sig-line{text-align:center;margin-top:40px;font-size:0.7em;color:#666;}
.kv-sig-lbl{text-align:center;margin-top:10px;font-size:0.6em;color:#666;text-transform:uppercase;letter-spacing:0.5px;}
.kv-cutmark-prev{font-family:'Courier New',monospace;color:#000;text-align:center;font-size:18px;margin-top:20px;font-weight:400;}
/* OT-bar / Bord-bar i forhåndsvisning — egne font-størrelser via setKvF */
#kvOTBarPrev{background:#000;color:#fff;padding:10px 14px;font-weight:900;text-align:center;font-size:30px;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
#kvBordBarPrev{background:#000;color:#fff;padding:8px 14px;font-weight:800;text-align:center;font-size:25px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;}
/* Seksjons-overskrifter ("Ordredetaljer:", "Varer:" osv.) — relativt til seksjonen */
.kv-area .kv-shead,.kv-area #kvOrdSec > div:first-child,.kv-area #kvCustSec > div:first-child,.kv-area #kvItemsSec > div:first-child{font-size:1.17em;font-weight:900;letter-spacing:0.5px;margin-bottom:6px;color:#000;}
/* Egendefinert info-boks */
#kvInfo1{font-size:24px;}
#kvInfo1 > div{font-size:1em;color:#000;font-weight:700;text-align:center;padding:12px 10px;border:1px solid #000;}
.kvit-settings{display:flex;flex-direction:column;gap:7px;}
.kvs-sec{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin:9px 0 4px;}
.kvs-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surf);border:1.5px solid var(--bdr);border-radius:9px;cursor:pointer;}
.kvs-row:hover{background:var(--bg);}
.kvs-lbl{font-size:13px;font-weight:500;color:var(--tx);}
.kvs-sub{font-size:11px;color:var(--t2);margin-top:1px;}
.kvs-right{display:flex;align-items:center;gap:8px;}
/* Moderne kompakt dropdown for font-størrelser i Kvitteringsmal-settings */
.fnt-csel{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  padding:7px 10px 7px 12px;
  border:1.5px solid var(--bdr);
  border-radius:9px;
  font-size:12px;
  font-weight:600;
  font-family:'Inter',sans-serif;
  background:var(--inp);
  color:var(--tx);
  cursor:pointer;
  user-select:none;
  min-width:78px;
  transition:border-color .12s,background-color .12s;
}
.fnt-csel:hover{border-color:var(--ac);}
.fnt-csel-val{flex:1;text-align:left;}
.fnt-csel-arr{font-size:10px;color:var(--t2);margin-left:6px;transition:transform .2s;line-height:1;}
.fnt-csel.open .fnt-csel-arr{transform:rotate(180deg);}
.fnt-csel-list{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  min-width:88px;
  max-height:240px;
  overflow-y:auto;
  background:var(--surf);
  border:1.5px solid var(--bdr);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
  z-index:600;
}
.fnt-csel.open .fnt-csel-list{display:block;}
.fnt-csel-opt{
  padding:9px 14px;
  font-size:12px;
  font-weight:500;
  color:var(--tx);
  cursor:pointer;
  transition:background .1s;
  white-space:nowrap;
}
.fnt-csel-opt:hover{background:var(--bg);}
.fnt-csel-opt.on{color:var(--ac);font-weight:700;background:var(--acl);}
/* STAT */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(160px,18vw,260px),1fr));gap:clamp(8px,1vw,14px);margin-bottom:16px;}
.stat-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:16px;padding:18px 20px;}
.stat-lbl{font-size:12px;color:var(--t2);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.stat-val{font-size:clamp(18px,2vw,26px);font-weight:800;letter-spacing:-.5px;color:var(--tx);}
.stat-sub{font-size:11px;color:var(--t2);margin-top:2px;}
.up{color:var(--gr);}
/* MOD CARDS */
.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:11px;margin-bottom:20px;}
.mod-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:16px;padding:19px 14px;cursor:pointer;transition:all .15s;text-align:center;}
.mod-card:hover{border-color:var(--ac);background:var(--acl);}
.mod-card:hover .mc-lbl{color:var(--ac);}

/* REGNSKAP */
.rg-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;}
.rg-step-circ{width:36px;height:36px;border-radius:50%;background:var(--bdr);color:var(--t2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;transition:all .2s;}
.rg-step-lbl{font-size:12px;font-weight:600;color:var(--t2);transition:color .2s;}
.rg-step.active .rg-step-circ{background:var(--ac);color:#fff;box-shadow:0 0 0 4px rgba(108,99,255,.18);}
.rg-step.active .rg-step-lbl{color:var(--ac);font-weight:800;}
.rg-step.done .rg-step-circ{background:var(--gr);color:#fff;}
.rg-step.done .rg-step-circ::before{content:'✓';}
.rg-step.done .rg-step-circ-num{display:none;}
.rg-step-line{flex:1;height:2px;background:var(--bdr);margin:0 8px;margin-bottom:24px;transition:background .2s;}
.rg-step-line.done{background:var(--gr);}
.rg-sec-hdr{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.rg-sec-ico{width:46px;height:46px;border-radius:12px;background:var(--acl);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.rg-radio-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:2px solid var(--bdr);border-radius:12px;cursor:pointer;transition:all .15s;background:var(--surf);}
.rg-radio-card:hover{border-color:var(--ac);}
.rg-radio-card input[type="radio"]{margin-top:2px;width:20px;height:20px;cursor:pointer;accent-color:var(--ac);flex-shrink:0;}
.rg-radio-card:has(input:checked){border-color:var(--ac);background:var(--acl);}
.rg-switch-slider{position:absolute;inset:0;background:var(--bdr);border-radius:26px;transition:.2s;}
.rg-switch-slider::before{content:'';position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
input:checked + .rg-switch-slider{background:var(--ac);}
input:checked + .rg-switch-slider::before{transform:translateX(22px);}
.rg-status-ok{background:rgba(16,185,129,.1);border:1.5px solid var(--gr);color:#065F46;}
.rg-status-err{background:rgba(232,100,90,.1);border:1.5px solid var(--ac2);color:#991B1B;}
.rg-status-info{background:var(--bg);border:1.5px solid var(--bdr);color:var(--tx);}
.rg-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:700;}
.rg-pill-ok{background:rgba(16,185,129,.15);color:#065F46;}
.rg-pill-err{background:rgba(232,100,90,.15);color:#991B1B;cursor:pointer;}
.rg-pill-warn{background:rgba(245,158,11,.15);color:#92400E;}
.rg-pill-neutral{background:var(--bg);color:var(--t2);}
.rg-log-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--bdr);}
.rg-log-row:last-child{border-bottom:none;}
.rg-log-ico{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0;}
.rg-log-ico.s{background:rgba(16,185,129,.18);color:#065F46;}
.rg-log-ico.f{background:rgba(232,100,90,.18);color:#991B1B;}
.rg-log-ico.k{background:var(--bg);color:var(--t2);}
[data-theme="dark"] .rg-status-ok{color:#86efac;}
[data-theme="dark"] .rg-status-err{color:#fca5a5;}
[data-theme="dark"] .rg-pill-ok{color:#6ee7b7;}
[data-theme="dark"] .rg-pill-err{color:#fca5a5;}
[data-theme="dark"] .rg-pill-warn{color:#fcd34d;}
[data-theme="dark"] .rg-log-ico.s{color:#6ee7b7;}
[data-theme="dark"] .rg-log-ico.f{color:#fca5a5;}
.mc-icon{font-size:28px;margin-bottom:7px;display:block;}
.mc-lbl{font-size:12px;font-weight:700;color:var(--tx);line-height:1.3;}
.sec-title{font-size:16px;font-weight:700;margin-bottom:12px;margin-top:7px;color:var(--tx);}
.channels{display:flex;gap:5px;}
.ch-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;}
.ch-dot.on{background:var(--gr);}
.ch-dot.off{background:var(--bdr);opacity:.5;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-thumb{background:var(--b2);border-radius:4px;}

/* KJØKKEN */
/* v3.7: Drag-and-drop for menyer (Retter/Kategorier/Allergener) */
.dnd-row{transition:background .15s,box-shadow .15s,transform .12s;}
.dnd-row.dragging{opacity:0.4;background:var(--acl);}
.dnd-row.drag-over{box-shadow:0 -3px 0 0 var(--ac) inset;}
.dnd-row.drag-over-bottom{box-shadow:0 3px 0 0 var(--ac) inset;}
.dnd-handle{
  width:28px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  cursor:grab;user-select:none;
  color:var(--t3);font-size:18px;line-height:1;
  border-radius:7px;padding:6px 0;
  transition:background .12s,color .12s;
}
.dnd-handle:hover{background:var(--bg);color:var(--ac);}
.dnd-handle:active{cursor:grabbing;}
.dnd-row[draggable=true]{cursor:default;}
/* v3.7: Retter-kort med drag-and-drop — subtil cursor-hint */
.meny-card.dnd-row{cursor:grab;}
.meny-card.dnd-row:active{cursor:grabbing;}
.meny-card.dnd-row button,.meny-card.dnd-row a,.meny-card.dnd-row input,.meny-card.dnd-row select{cursor:pointer;}
.kjk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(260px,22vw,380px),1fr));gap:clamp(10px,1.2vw,16px);}
/* v3.7: Kjøkken-kort med fast footer — header + items scrollbar + footer alltid synlig */
.kjk-card{background:var(--card);border:2px solid var(--bdr);border-radius:16px;overflow:hidden;transition:all .15s;display:flex;flex-direction:column;max-height:520px;}
.kjk-card.status-venter{border-color:var(--wa);}
.kjk-card.status-pagar{border-color:var(--ac);}
.kjk-card.status-done{border-color:var(--gr);opacity:.6;}
.kjk-card.status-cancel{border-color:var(--ac2);opacity:.5;}
.kjk-header{padding:14px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;}
.kjk-num{font-size:18px;font-weight:800;color:var(--tx);}
.kjk-time{font-size:12px;color:var(--t3);margin-left:auto;}
.kjk-items{padding:0 16px 10px;flex:1;overflow-y:auto;min-height:0;}
.kjk-item-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bdr);font-size:14px;color:var(--tx);}
.kjk-item-row:last-child{border:none;}
.kjk-item-qty{font-size:18px;font-weight:800;min-width:28px;color:var(--ac);}
.kjk-item-name{flex:1;font-weight:600;}
.kjk-item-sz{font-size:12px;color:var(--t2);}
.kjk-total-row{padding:0 16px 12px;display:flex;justify-content:space-between;font-size:13px;color:var(--t2);flex-shrink:0;}
.kjk-actions{display:flex;gap:0;border-top:1.5px solid var(--bdr);flex-shrink:0;background:var(--card);}
.kjk-btn{flex:1;padding:14px 6px;border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;color:var(--t2);transition:all .12s;border-right:1px solid var(--bdr);}
.kjk-btn:last-child{border-right:none;}
.kjk-btn:hover{background:var(--bg);}
.kjk-btn.venter{color:var(--wa);}
.kjk-btn.pagar{color:var(--ac);}
.kjk-btn.done{color:var(--gr);}
.kjk-btn.cancel{color:var(--ac2);}
.kjk-filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.kjk-filter{padding:10px 18px;border-radius:20px;border:1.5px solid var(--bdr);background:transparent;cursor:pointer;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;color:var(--t2);transition:all .12s;}
.kjk-filter.on{background:var(--ac);color:#fff;border-color:var(--ac);}
.kjk-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}

/* MIX BETALING RECEIPT */
.mix-receipt{background:var(--bg);border-radius:10px;padding:12px;margin-top:10px;}
.mix-receipt-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px;color:var(--tx);}
.mix-receipt-row.total{font-weight:800;font-size:15px;border-top:1px solid var(--bdr);padding-top:7px;margin-top:4px;}

/* ADMIN PANEL extra */
.admin-section{background:var(--card);border:1.5px solid var(--bdr);border-radius:16px;padding:20px 24px;margin-bottom:16px;max-width:900px;width:100%;}
.admin-section h3{font-size:16px;font-weight:700;margin-bottom:12px;color:var(--tx);}
.bilag-display{font-size:32px;font-weight:800;color:var(--ac);text-align:center;padding:16px;background:var(--acl);border-radius:12px;letter-spacing:2px;margin-bottom:12px;}
.bilag-info{font-size:13px;color:var(--t2);text-align:center;margin-bottom:14px;}
.bilag-config-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.bilag-config-row label{font-size:13px;font-weight:600;color:var(--t2);flex-shrink:0;width:140px;}
.bilag-config-row input{flex:1;padding:10px 12px;border:1.5px solid var(--bdr);border-radius:9px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;color:var(--tx);background:var(--inp);}

/* STATUS BADGES */
.st-venter{background:var(--wal);color:#92400E;}
.st-pagar{background:var(--acl);color:var(--acd);}
.st-done{background:var(--grl);color:var(--gr);}
.st-cancel{background:var(--ac2l);color:var(--ac2);}

/* TOUCH ACTIVE STATE */
.pos-item:active,.bpi:active,.paybtn:active,.mbtn:active,.nkey:active,.qk:active,.pcat:active,.ot-btn:active,.kjk-btn:active{transform:scale(.95);opacity:.85;}
/* ── V7 ADDITIONS ── */

/* SIDEBAR LIGHT MODE FIX */
[data-theme="light"] .sidebar{background:var(--sb);box-shadow:2px 0 12px rgba(0,0,0,.08);}
[data-theme="light"] .sbi{color:rgba(255,255,255,.7);}
[data-theme="light"] .sbi:hover{background:rgba(255,255,255,.18);color:#fff;}
[data-theme="light"] .sbi.on{background:#fff;color:var(--ac);}
[data-theme="light"] .sidebar.col .sbi.on{background:rgba(255,255,255,.25);color:#fff;}
[data-theme="light"] .sb-logo em{color:#fff;}
[data-theme="light"] .sb-logo{color:rgba(255,255,255,.9);}
[data-theme="light"] .sb-ham{background:rgba(255,255,255,.15);}
[data-theme="light"] .sb-ham:hover{background:rgba(255,255,255,.3);}
[data-theme="light"] .sb-div{background:rgba(255,255,255,.15);}
[data-theme="light"] .sb-sec{color:rgba(255,255,255,.4);}
[data-theme="light"] .sb-theme{color:rgba(255,255,255,.7);}
[data-theme="light"] .sb-theme:hover{background:rgba(255,255,255,.18);color:#fff;}
[data-theme="light"] .sb-user:hover{background:rgba(255,255,255,.18);}
[data-theme="light"] .sb-uname{color:#fff;}
[data-theme="light"] .sb-urole{color:rgba(255,255,255,.6);}
[data-theme="light"] .sb-badge{background:#fff;color:var(--ac2);}

/* COLLAPSED SIDEBAR — Quickorder style: icon above label, centered */
.sidebar.col .sbi{flex-direction:column;gap:0;padding:10px 4px 8px;align-items:center;justify-content:center;border-radius:12px;margin:4px 6px;}
.sidebar.col .sbi svg{width:26px;height:26px;}
.sidebar.col .sbi-sm{display:block;font-size:11px;font-weight:700;letter-spacing:.01em;line-height:1;margin-top:1px;padding:0;}
.sidebar.col .sbi-lbl{opacity:0;max-width:0;overflow:hidden;}
.sidebar.col .sb-sec{opacity:0;height:0;padding:0;overflow:hidden;}
.sidebar.col .sb-logo{opacity:0;max-width:0;overflow:hidden;position:absolute;}
.sidebar.col .sb-logo-row{justify-content:center;}
.sidebar.col .sb-ham{margin:0 auto;width:38px;height:38px;}
.sidebar.col .sb-theme{flex-direction:column;gap:2px;padding:8px 4px;justify-content:center;align-items:center;}
.sidebar.col .sb-theme-lbl{opacity:0;max-width:0;overflow:hidden;}
.sidebar.col .sb-theme svg{width:24px;height:24px;}
.sidebar.col .sb-user{flex-direction:column;gap:2px;padding:8px 4px;justify-content:center;align-items:center;border-radius:10px;margin:1px 4px;}
.sidebar.col .sb-uinfo{opacity:0;max-width:0;overflow:hidden;}
/* langSwitcherWrap forblir synlig i kollapset modus (inneholder hamburger-knappen).
   Selve språk-knappene skjules av regelen på linje 77. */
.sidebar.col .sb-badge{position:absolute;top:4px;right:4px;font-size:8px;padding:1px 4px;}

/* POS — tjeneste buttons MOVED to right panel */
.pos-topbar{padding:10px 14px;}
.op-ot-group{display:flex;gap:0;background:var(--bdr);border-radius:10px;overflow:hidden;margin-bottom:8px;}
.op-ot-btn{flex:1;padding:11px 6px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;color:var(--t2);transition:all .12s;white-space:nowrap;text-align:center;}
.op-ot-btn.on{background:var(--surf);color:var(--ac);}

/* POS ITEM CARDS — uniform size grid */
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:11px;padding:13px;overflow-y:auto;align-content:start;flex:1;}
.pos-item{background:var(--surf);border:4px solid var(--bdr);border-radius:14px;cursor:pointer;transition:all .15s;text-align:center;display:flex;flex-direction:column;overflow:hidden;}.pos-grid.list-view{display:flex !important;flex-direction:column;gap:8px;padding:10px 12px;align-content:unset;}.pos-grid.list-view .pos-item .pi-algs{display:flex;gap:4px;}
.pos-item:hover{border-color:var(--ac);background:var(--acl);}
.pos-item:active{transform:scale(.96);opacity:.88;}
.pi-img{width:64px;height:64px;object-fit:cover;border-radius:9px;display:block;flex-shrink:0;}
.pi-e{font-size:clamp(28px,3.5vw,42px);display:block;flex-shrink:0;line-height:1.1;}
.pi-n{font-size:clamp(12px,1.1vw,15px);font-weight:700;color:var(--tx);margin-top:5px;line-height:1.2;max-height:36px;overflow:hidden;}
.pi-desc{font-size:10px;color:var(--t3);margin-top:2px;overflow:hidden;max-height:24px;line-height:1.3;}
.pi-p{font-size:12px;color:var(--t2);margin-top:auto;padding-top:4px;}
.pi-v{font-size:10px;color:var(--t3);}
.pi-algs{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;margin-top:3px;}
.pi-sz{font-size:10px;color:var(--ac);font-weight:600;}

/* ORDER NUMBER — bigger */
.ord-num-badge{font-size:15px;font-weight:800;color:var(--ac);background:var(--acl);padding:4px 12px;border-radius:8px;letter-spacing:.5px;}

/* CUSTOMER / DELIVERY MODAL — redesigned */
.cust-modal-inner{max-width:420px;width:100%;}
.cust-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.cust-type-btn{padding:16px 8px;border:2px solid var(--bdr);border-radius:12px;background:var(--bg);cursor:pointer;text-align:center;transition:all .15s;font-family:'Inter',sans-serif;}
.cust-type-btn:hover{border-color:var(--ac);}
.cust-type-btn.sel{border-color:var(--ac);background:var(--acl);}
.cust-type-btn svg{width:28px;height:28px;margin:0 auto 7px;display:block;stroke:var(--t2);}
.cust-type-btn.sel svg{stroke:var(--ac);}
.cust-type-lbl{font-size:13px;font-weight:700;color:var(--t2);}
.cust-type-btn.sel .cust-type-lbl{color:var(--ac);}
.cust-type-sub{font-size:11px;color:var(--t3);margin-top:2px;}
.cust-search-box{position:relative;margin-bottom:10px;}
.cust-search-box input{width:100%;padding:13px 14px 13px 42px;border:1.5px solid var(--bdr);border-radius:11px;font-size:14px;font-family:'Inter',sans-serif;color:var(--tx);background:var(--inp);outline:none;}
.cust-search-box input:focus{border-color:var(--ac);}
.cust-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--t3);}
.cust-result-item{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1.5px solid var(--bdr);border-radius:10px;cursor:pointer;margin-bottom:7px;transition:all .12s;}
.cust-result-item:hover{border-color:var(--ac);background:var(--acl);}
.cust-result-av{width:38px;height:38px;border-radius:50%;background:var(--acl);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--ac);flex-shrink:0;}
.cust-result-name{font-size:14px;font-weight:700;color:var(--tx);}
.cust-result-info{font-size:12px;color:var(--t2);}
.cust-guest-box{text-align:center;padding:20px 0;}
.addr-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:10px;}
.addr-grid .g2{margin-bottom:0;}
.addr-suggest{background:var(--bg);border:1.5px solid var(--bdr);border-radius:9px;max-height:180px;overflow-y:auto;margin-top:4px;display:none;}
.addr-suggest-item{padding:11px 13px;cursor:pointer;font-size:13px;color:var(--tx);border-bottom:1px solid var(--bdr);}
.addr-suggest-item:last-child{border:none;}
.addr-suggest-item:hover{background:var(--acl);}

/* LANG SWITCHER */
.lang-switch{display:flex;gap:0;background:var(--bdr);border-radius:8px;overflow:hidden;flex-shrink:0;}
.lang-btn{padding:6px 11px;border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;color:var(--t2);transition:all .12s;}
.lang-btn.on{background:var(--surf);color:var(--ac);}

/* PORTAL LOGO in admin */
.portal-logo-upload{border:2px dashed var(--bdr);border-radius:12px;padding:20px;text-align:center;cursor:pointer;background:var(--bg);transition:all .15s;position:relative;}
.portal-logo-upload:hover{border-color:var(--ac);background:var(--acl);}
.portal-logo-img{max-width:200px;max-height:80px;object-fit:contain;display:none;margin:0 auto;}
.portal-logo-ph{font-size:14px;color:var(--t2);}
.portal-logo-sub{font-size:12px;color:var(--t3);margin-top:4px;}

/* SIDEBAR LOGO area — show portal logo if set */
.sb-portal-logo{max-width:200px;max-height:80px;width:auto;height:auto;object-fit:contain;display:block;}
.sb-portal-logo:not([src]),.sb-portal-logo[src=""]{display:none;}
.sb-logo-text{display:flex;align-items:center;gap:8px;}



/* Dark mode button visibility */
[data-theme="dark"] .paybtn{background:var(--surf);border-color:var(--b2);color:var(--tx);}
[data-theme="dark"] .paybtn:hover{background:#2E3268;border-color:var(--ac);color:#fff;}
[data-theme="dark"] .paybtn.kort{background:var(--ac);color:#fff;border-color:var(--ac);}
[data-theme="dark"] .paybtn.vipps{background:#FF5B24;color:#fff;}
[data-theme="dark"] .paybtn.hold{background:#3D3000;color:var(--wa);border-color:var(--wa);}
[data-theme="dark"] .paybtn.dark{background:#2A2D50;color:#fff;border-color:var(--b2);}
[data-theme="dark"] .clrbtn{color:var(--t2);border-color:var(--b2);}
[data-theme="dark"] .clrbtn:hover{background:var(--b2);}
[data-theme="dark"] .nkey{background:var(--surf);color:var(--tx);border-color:var(--b2);}
[data-theme="dark"] .nkey:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .nkey.del{background:#3A1A1A;color:var(--ac2);border-color:var(--ac2);}
[data-theme="dark"] .qk{background:var(--surf);color:var(--tx);border-color:var(--b2);}
[data-theme="dark"] .qk:hover{background:#2E3268;}
[data-theme="dark"] .pcat{border-color:var(--b2);color:var(--t2);}
[data-theme="dark"] .pcat:hover{background:var(--surf);color:var(--tx);}
[data-theme="dark"] .pcat.on{background:var(--ac);color:#fff;border-color:var(--ac);}
[data-theme="dark"] .pcat.pcat-kamp{border-color:#FFA500;color:#FFB938;background:transparent;}
[data-theme="dark"] .pcat.pcat-kamp:hover{background:rgba(255,165,0,0.15);color:#FFC966;}
[data-theme="dark"] .pcat.pcat-kamp.on{background:#FFA500;color:#fff;border-color:#FFA500;}
[data-theme="dark"] .pos-item{background:var(--surf);border-color:var(--b2);}
[data-theme="dark"] .pos-item:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .op-ot-btn{color:var(--t2);}
[data-theme="dark"] .op-ot-btn.on{background:var(--surf);color:var(--ac);}
[data-theme="dark"] .op-ot-group{background:var(--bdr);}
[data-theme="dark"] .sz-opt{background:var(--surf);border-color:var(--b2);}
[data-theme="dark"] .sz-opt:hover,[data-theme="dark"] .sz-opt.sel{background:#2E3268;border-color:var(--ac);} [data-theme="dark"] .sz-opt.sel .sz-name,[data-theme="dark"] .sz-opt.sel .sz-price{color:#fff;font-weight:700;} [data-theme="dark"] .sz-opt.sel .sz-name,[data-theme="dark"] .sz-opt.sel .sz-price{color:#fff;font-weight:700;}
[data-theme="dark"] .cust-type-btn{background:var(--surf);border-color:var(--b2);}
[data-theme="dark"] .cust-type-btn:hover,.cust-type-btn.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .mbtn.cancel{background:var(--surf);border-color:var(--b2);color:var(--t2);}
[data-theme="dark"] .bpi{background:var(--surf);border-color:var(--b2);}
[data-theme="dark"] .bpi:hover,[data-theme="dark"] .bpi.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .btn{background:var(--surf);border-color:var(--b2);color:var(--tx);}
[data-theme="dark"] .btn:hover{background:#2A2D50;}
[data-theme="dark"] .btn.sec{background:#1A1F50;color:var(--ac);border-color:var(--ac);}
[data-theme="dark"] .btn.gr{background:var(--ac);color:#fff;}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:var(--inp);color:var(--tx);border-color:var(--b2);}
[data-theme="dark"] .card{background:var(--card);border-color:var(--b2);}
[data-theme="dark"] .ord-card{background:var(--card);border-color:var(--b2);}
[data-theme="dark"] .tbl td{color:var(--tx);}
[data-theme="dark"] .tbl tbody tr:hover td{background:var(--surf);}
[data-theme="dark"] .sum-div{border-color:var(--b2);}
[data-theme="dark"] .op-info-bar,[data-theme="dark"] .op-info{background:#2A2D50;}
[data-theme="dark"] .svc-dine{background:#1A1F50;color:#A8A3FF;}
[data-theme="dark"] .svc-take{background:#3D2800;color:var(--wa);}
[data-theme="dark"] .svc-lev{background:#0A2818;color:var(--gr);}
[data-theme="dark"] .ord-num-badge{background:#1A1F50;color:var(--ac);}


/* === DARK MODE FIXES === */
[data-theme="dark"] .qbtn{background:#2E3268;border-color:#4A4E88;color:#fff;}
[data-theme="dark"] .qbtn:hover{background:#3A3F80;border-color:var(--ac);}
[data-theme="dark"] .paybtn{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .paybtn:hover{background:#2E3268;border-color:var(--ac);color:#fff;}
[data-theme="dark"] .paybtn.kort{background:var(--ac);color:#fff;border-color:var(--ac);}
[data-theme="dark"] .paybtn.vipps{background:#FF5B24;color:#fff;border-color:#FF5B24;}
[data-theme="dark"] .paybtn.hold{background:#3A2800;color:var(--wa);border-color:var(--wa);}
[data-theme="dark"] .paybtn.dark{background:#252840;color:#D0D0FF;border-color:#3A3D6A;}
[data-theme="dark"] .clrbtn{background:transparent;color:var(--t2);border-color:#3A3D6A;}
[data-theme="dark"] .nkey{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .nkey:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .nkey.del{background:#3A1A1A;color:var(--ac2);border-color:var(--ac2);}
[data-theme="dark"] .qk{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .qk:hover{background:#2E3268;}
[data-theme="dark"] .pcat{border-color:#3A3D6A;color:var(--t2);background:transparent;}
[data-theme="dark"] .pcat.on{background:var(--ac);color:#fff;border-color:var(--ac);}
[data-theme="dark"] .pcat.pcat-kamp{border-color:#FFA500;color:#FFB938;}
[data-theme="dark"] .pcat.pcat-kamp.on{background:#FFA500;color:#fff;border-color:#FFA500;}
[data-theme="dark"] .pos-item{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .pos-item:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .btn{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .btn:hover{background:#2E3268;}
[data-theme="dark"] .btn.sec{background:#1A1F50;color:#A8A3FF;border-color:var(--ac);}
[data-theme="dark"] .btn.gr{background:var(--ac);color:#fff;border-color:var(--ac);}
[data-theme="dark"] .btn.pr{background:var(--ac2);color:#fff;border-color:var(--ac2);}
[data-theme="dark"] .op-ot-btn.on{background:#252840;color:var(--ac);}
[data-theme="dark"] .op-ot-group{background:#13152A;}
[data-theme="dark"] .sz-opt{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .sz-opt:hover,[data-theme="dark"] .sz-opt.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .cust-type-btn{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .cust-type-btn:hover,[data-theme="dark"] .cust-type-btn.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .cust-type-lbl{color:var(--t2);}
[data-theme="dark"] .cust-type-btn.sel .cust-type-lbl{color:#A8A3FF;}
[data-theme="dark"] .mbtn.cancel{background:#252840;border-color:#3A3D6A;color:var(--t2);}
[data-theme="dark"] .bpi{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .bpi:hover,[data-theme="dark"] .bpi.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .bpi-num{color:var(--tx);}
[data-theme="dark"] .bpi-info{color:var(--t2);}
[data-theme="dark"] .print-opt{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .print-opt:hover,[data-theme="dark"] .print-opt.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .ord-num-badge{background:#1A1F50;color:#A8A3FF;}
[data-theme="dark"] .svc-dine{background:#1A1F50;color:#A8A3FF;}
[data-theme="dark"] .svc-take{background:#3A2800;color:var(--wa);}
[data-theme="dark"] .svc-lev{background:#0A2818;color:var(--gr);}
[data-theme="dark"] .op-info{background:#252840;}
[data-theme="dark"] .ptab{color:var(--t2);}
[data-theme="dark"] .ptab.on{background:var(--ac);color:#fff;}
[data-theme="dark"] .pay-tabs{border-color:#3A3D6A;}
[data-theme="dark"] .ndisp{background:#0D0F1E;}
[data-theme="dark"] .cash-info{background:#252840;}
[data-theme="dark"] .mix-row{background:#252840;}
[data-theme="dark"] .remain-box{background:#1A1D2E;}
[data-theme="dark"] .add-sz{background:#1A1F50;color:#A8A3FF;border-color:var(--ac);}
[data-theme="dark"] .ag-opt{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .ag-opt:hover,[data-theme="dark"] .ag-opt.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .ag-name{color:var(--t2);}
[data-theme="dark"] .szrow input{background:#1C1E2E;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .img-up-area{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .img-up-area:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .kjk-card{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .kjk-btn{color:var(--t2);border-color:#2A2D50;}
[data-theme="dark"] .kjk-filter{background:transparent;border-color:#3A3D6A;color:var(--t2);}
[data-theme="dark"] .kjk-filter.on{background:var(--ac);color:#fff;border-color:var(--ac);}
[data-theme="dark"] .admin-section{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .tbl{background:transparent;}
[data-theme="dark"] .tbl th{border-color:#2A2D50;color:var(--t2);}
[data-theme="dark"] .tbl td{border-color:#2A2D50;}
[data-theme="dark"] .tbl tbody tr:hover td{background:#252840;}
[data-theme="dark"] .stat-card{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .mod-card{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .mod-card:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .kvit-settings .kvs-row{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .kvs-row:hover{background:#252840;}
[data-theme="dark"] .fnt-csel{
  background:#252840;
  border-color:#3A3D6A;
  color:var(--tx);
}
[data-theme="dark"] .fnt-csel:hover{border-color:var(--ac);}
[data-theme="dark"] .fnt-csel-list{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .fnt-csel-opt:hover{background:#2E3268;}
[data-theme="dark"] .ord-card{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .ord-card:hover{border-color:var(--ac);}
[data-theme="dark"] .ord-card.hold-ord{background:#2A1F00;border-color:var(--wa);}
[data-theme="dark"] .sum-div{border-color:#2A2D50;}
[data-theme="dark"] .op-item{border-color:#2A2D50;}
[data-theme="dark"] .cust-result-item{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .cust-result-item:hover{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .cust-result-av{background:#1A1F50;color:#A8A3FF;}
[data-theme="dark"] .cust-search-box input{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .addr-suggest{background:#252840;border-color:#3A3D6A;}
[data-theme="dark"] .addr-suggest-item:hover{background:#2E3268;}
[data-theme="dark"] .modal{background:#1E2140;border-color:#2A2D50;}
[data-theme="dark"] .lc{background:#1E2140;}
[data-theme="dark"] .pkey{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .pkey:hover{background:#2E3268;border-color:var(--ac);color:#A8A3FF;}
[data-theme="dark"] .pkey.del{background:#3A1A1A;color:var(--ac2);border-color:var(--ac2);}
[data-theme="dark"] .pkey.ok{background:var(--ac);color:#fff;}
[data-theme="dark"] .phint span{color:#A8A3FF;}
[data-theme="dark"] .du-row:hover{background:#252840;}
[data-theme="dark"] .ff input,[data-theme="dark"] .ff select,[data-theme="dark"] .ff textarea{background:#252840;border-color:#3A3D6A;color:var(--tx);}
[data-theme="dark"] .lang-btn{color:var(--t2);}
[data-theme="dark"] .lang-btn.on{background:#252840;color:var(--ac);}
[data-theme="dark"] .lang-switch{background:#13152A;}


/* MENY TABS */
.meny-tab{padding:11px 22px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;color:var(--t2);transition:all .12s;}
.meny-tab.on{background:var(--surf);color:var(--ac);}
[data-theme="dark"] .meny-tab.on{background:var(--surf);color:var(--ac);}
[data-theme="dark"] .meny-tab{color:var(--t2);}.meny-card{background:var(--surf);border:1.5px solid var(--bdr);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s;}.meny-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.10);border-color:var(--ac);}.meny-edit-btn{width:100%;padding:10px;border:none;border-top:1.5px solid var(--bdr);background:transparent;color:var(--ac);font-size:13px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;}.meny-edit-btn:hover{background:var(--acl);}


/* SEPARATE OT BUTTONS */
.ot-sep-btn{
  flex:1;padding:10px 6px;
  border:2px solid var(--tx);border-radius:11px;
  background:var(--surf);
  cursor:pointer;
  font-family:'Inter',sans-serif;color:var(--tx);
  transition:all .15s;text-align:center;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.ot-sep-btn:hover{border-color:var(--ac);color:var(--ac);background:var(--acl);}
.ot-sep-btn.on{
  border-color:var(--ac) !important;
  background:var(--ac) !important;
  color:#fff !important;
  box-shadow:0 2px 8px rgba(108,99,255,.35);
}
[data-theme="dark"] .ot-sep-btn{background:var(--surf);border-color:var(--b2);color:var(--t2);}
[data-theme="dark"] .ot-sep-btn:hover{background:#2E3268;border-color:var(--ac);color:#A8A3FF;}
[data-theme="dark"] .ot-sep-btn.on{background:var(--ac) !important;border-color:var(--ac) !important;color:#fff !important;}

.superadmin-only{display:none;}

/* MODULER GRID — responsive, fills full width */
.mod-section-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:12px;
  margin-bottom:22px;
}
.mod-card{
  min-width:0;
  max-width:200px;
}


/* MENY TABS — full width */
#menyTabAllergener, #menyTabKategorier {width:100%;}
#menyTabAllergener .algListMeny, #menyTabKategorier .catListMeny {width:100%;}


/* TOUCH OPTIMIZATION — 13-20" screens */
@media (min-width: 1024px){
  :root{--sbw:clamp(190px,14vw,230px);}
  .pos-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(140px,9vw,190px),1fr));}
}
@media (min-width: 1440px){
  :root{--sbw:220px;--op-w:380px;}
  .pos-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
  .kjk-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));}
}
@media (min-width: 1920px){
  :root{--sbw:240px;--op-w:420px;}
  .pos-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
}
/* Ensure touch targets are large enough */
.sbi,.ot-sep-btn,.paybtn,.pcat,.qbtn,.kjk-btn{min-height:44px;}
.ot-sep-btn{min-height:64px;}

/* Admin sections full width */
.admin-section{width:100%;}
.bilag-config-row{display:flex;align-items:center;gap:12px;max-width:680px;}
.bilag-config-row label{width:200px;flex-shrink:0;font-size:13px;font-weight:600;color:var(--t2);}
.bilag-config-row input{flex:1;max-width:420px;padding:11px 14px;border:1.5px solid var(--bdr);border-radius:9px;font-size:15px;font-family:'Inter',sans-serif;color:var(--tx);background:var(--inp);}
.bilag-config-row input:focus{outline:none;border-color:var(--ac);}

/* Meny table full width */
#menyTable{width:100%;}
.tbl{table-layout:fixed;width:100%;}

/* Ordrer list full width */
.ord-card{width:100%;}

/* Kitchen cards — better use of space */
.kjk-card{height:100%;}


.sidebar.col .sb-logo-row{justify-content:center;flex-direction:column;align-items:center;gap:4px;}
.sidebar.col .sb-logo-text{justify-content:center;}
.sidebar.col .sb-ham{margin:0 auto;}


/* COLLAPSED SIDEBAR — tight icon+label */
.sidebar.col .sbi{gap:0!important;padding:10px 4px 8px!important;line-height:1!important;}
.sidebar.col .sbi svg{display:block!important;margin:0 auto!important;width:26px!important;height:26px!important;}
.sidebar.col .sbi-sm{display:block!important;margin:1px 0 0!important;padding:0!important;line-height:1!important;font-size:11px!important;font-weight:700!important;}

/* ════════════════════════════════════════════════════════════
   SMARTORDER DESIGN SYSTEM — paneler, knapper, dropdowns
   ════════════════════════════════════════════════════════════ */

/* Touch-vennlige knapper */
.smo-btn { min-height:48px; padding:13px 26px; border-radius:12px; font-size:15px; font-weight:500; cursor:pointer; border:none; font-family:inherit; transition:all .15s; display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; }
.smo-btn-pri { background:#6C63FF; color:#fff; min-width:110px; }
.smo-btn-pri:hover { box-shadow:0 4px 12px rgba(108,99,255,.3); }
.smo-btn-pri:active { transform:scale(.98); }
.smo-btn-sek { background:var(--surf,#fff); color:var(--t2,#6B7280); border:1px solid var(--bdr,#E5E7EB); min-width:110px; }
.smo-btn-sek:hover { background:#F5F5FC; }
.smo-btn-sek:active { transform:scale(.98); }
.smo-btn-fare { background:transparent; color:#dc2626; border:1px solid #fecaca; min-width:110px; }
.smo-btn-fare:hover { background:#fee2e2; }
.smo-btn-suksess { background:#10B981; color:#fff; min-width:110px; }
.smo-btn-suksess:hover { box-shadow:0 4px 12px rgba(16,185,129,.3); }

/* Custom dropdown (runde menyer) */
.smo-dd { position:relative; }
.smo-dd-btn { width:100%; min-height:48px; padding:13px 44px 13px 16px; font-size:15px; border:1px solid var(--bdr,#E5E7EB); border-radius:12px; background:var(--surf,#fff); box-sizing:border-box; font-family:inherit; color:var(--tx,#1A1A1A); text-align:left; cursor:pointer; transition:border-color .15s; display:flex; align-items:center; }
.smo-dd-btn:hover { border-color:#6C63FF; }
.smo-dd.open .smo-dd-btn { border-color:#6C63FF; box-shadow:0 0 0 3px rgba(108,99,255,.15); }
.smo-dd-chev { position:absolute; right:16px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--t2,#6B7280); font-size:12px; transition:transform .2s; }
.smo-dd.open .smo-dd-chev { transform:translateY(-50%) rotate(180deg); }
.smo-dd-meny { position:absolute; top:calc(100% + 6px); left:0; right:0; background:var(--surf,#fff); border:1px solid var(--bdr,#E5E7EB); border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,.12); padding:6px; display:none; z-index:10000; max-height:280px; overflow-y:auto; }
.smo-dd.open .smo-dd-meny { display:block; }
.smo-dd-opt { padding:12px 14px; font-size:15px; border-radius:9px; cursor:pointer; transition:background .12s; color:var(--tx,#1A1A1A); }
.smo-dd-opt:hover { background:#EEEEFF; }
.smo-dd-opt.valgt { background:#EEEEFF; color:#6C63FF; font-weight:500; }

/* Panel-modal (700px, sentrert, runde kanter) */
.smo-modal-bg { position:fixed; inset:0; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .25s; z-index:9000; display:flex; align-items:center; justify-content:center; padding:20px; }
.smo-modal-bg.on { opacity:1; pointer-events:auto; }
.smo-panel { width:700px; max-width:100%; max-height:88vh; background:var(--surf,#fff); border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.25); transform:scale(.96); opacity:0; transition:all .28s cubic-bezier(.22,1,.36,1); display:flex; flex-direction:column; overflow:hidden; }
.smo-modal-bg.on .smo-panel { opacity:1; transform:scale(1); }
.smo-mhdr { display:flex; align-items:center; gap:14px; padding:20px 24px; border-bottom:1px solid var(--bdr,#E5E7EB); flex-shrink:0; }
.smo-mhdr-ico { width:44px; height:44px; background:#EEEEFF; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.smo-mhdr-tit { font-size:18px; font-weight:700; color:var(--tx,#1A1A1A); }
.smo-mhdr-sub { font-size:13px; color:var(--t2,#6B7280); margin-top:2px; }
.smo-mhdr-x { width:42px; height:42px; border:1px solid var(--bdr,#E5E7EB); background:var(--surf,#fff); border-radius:11px; color:var(--t2,#6B7280); cursor:pointer; font-size:22px; display:flex; align-items:center; justify-content:center; margin-left:auto; transition:all .15s; line-height:1; font-family:inherit; }
.smo-mhdr-x:hover { background:#fee2e2; color:#dc2626; border-color:#fecaca; }
.smo-mbody { flex:1 1 auto; overflow-y:auto; padding:20px 24px; min-height:0; }
.smo-mbody::-webkit-scrollbar { width:6px; }
.smo-mbody::-webkit-scrollbar-thumb { background:var(--bdr,#E5E7EB); border-radius:3px; }
.smo-mfoot { padding:16px 24px; border-top:1px solid var(--bdr,#E5E7EB); background:#F5F5FC; display:flex; gap:12px; justify-content:flex-end; flex-shrink:0; }

/* Seksjons-kort (inni paneler) */
.smo-seksjon { background:var(--surf,#fff); border:1px solid var(--bdr,#E5E7EB); border-radius:14px; padding:20px; margin-bottom:14px; }
.smo-seksjon:last-child { margin-bottom:0; }
.smo-seksjon-hdr { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.smo-sek-ico { width:42px; height:42px; background:#EEEEFF; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.smo-sek-tit { font-size:16px; font-weight:600; color:var(--tx,#1A1A1A); }
.smo-sek-sub { font-size:12px; color:var(--t2,#6B7280); margin-top:2px; }

/* Felt + label */
.smo-felt { margin-bottom:14px; }
.smo-felt:last-child { margin-bottom:0; }
.smo-lbl { display:block; font-size:13px; font-weight:500; color:var(--t2,#6B7280); margin-bottom:7px; }
.smo-inp { width:100%; min-height:48px; padding:13px 16px; font-size:15px; border:1px solid var(--bdr,#E5E7EB); border-radius:12px; background:var(--surf,#fff); box-sizing:border-box; font-family:inherit; color:var(--tx,#1A1A1A); transition:border-color .15s; }
.smo-inp:focus { outline:none; border-color:#6C63FF; box-shadow:0 0 0 3px rgba(108,99,255,.15); }

/* Toggle-rader */
.smo-tog-rad { display:flex; align-items:center; gap:14px; padding:14px 16px; background:#F5F5FC; border-radius:12px; margin-bottom:10px; }
.smo-tog-rad:last-child { margin-bottom:0; }
.smo-tog-tit { font-size:15px; font-weight:500; color:var(--tx,#1A1A1A); }
.smo-tog-sub { font-size:12px; color:var(--t2,#6B7280); margin-top:2px; font-weight:400; }
.smo-sw { position:relative; width:48px; height:28px; background:#ccc; border-radius:14px; cursor:pointer; transition:background .2s; flex-shrink:0; }
.smo-sw.on { background:#6C63FF; }
.smo-sw::after { content:''; position:absolute; top:3px; left:3px; width:22px; height:22px; background:#fff; border-radius:50%; transition:left .2s; box-shadow:0 2px 4px rgba(0,0,0,.2); }
.smo-sw.on::after { left:23px; }

/* Hjelpere */
.smo-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.smo-pill { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:14px; font-size:12px; font-weight:500; }
.smo-pill-ok    { background:#dcfce7; color:#166534; }
.smo-pill-off   { background:#fef3c7; color:#92400e; }
.smo-pill-feil  { background:#fee2e2; color:#991b1b; }
.smo-pill-ukjent{ background:#e5e7eb; color:#6b7280; }
.smo-pill-info  { background:#dbeafe; color:#1e40af; }

/* Liste-rad */
.smo-row-rad { display:flex; align-items:center; gap:14px; padding:13px 14px; border-radius:12px; transition:background .15s; cursor:pointer; }
.smo-row-rad:hover { background:#F5F5FC; }
.smo-row-rad+.smo-row-rad { margin-top:2px; }
.smo-row-ico { width:38px; height:38px; background:#F5F5FC; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:17px; }
.smo-row-info { flex:1; min-width:0; }
.smo-row-navn { font-size:15px; font-weight:500; color:var(--tx,#1A1A1A); }
.smo-row-meta { font-size:12px; color:var(--t2,#6B7280); margin-top:3px; }

/* Spinner og status-ikoner */
.smo-spinner { width:48px; height:48px; border:4px solid var(--bdr,#E5E7EB); border-top-color:#6C63FF; border-radius:50%; animation:smoSpin 1s linear infinite; margin:0 auto 18px; }
@keyframes smoSpin { to { transform:rotate(360deg); } }
.smo-ok-ico { width:64px; height:64px; background:#dcfce7; color:#16a34a; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:32px; font-weight:700; }
.smo-feil-ico { width:64px; height:64px; background:#fee2e2; color:#dc2626; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:32px; font-weight:700; }

/* SUB-SEKSJON (gruppe inne i smo-seksjon — for Regnskap Salg/Betalinger/MVA) */
.rg-subsek { background:#F5F5FC; border-radius:11px; padding:14px 16px; margin-bottom:10px; }
.rg-subsek:last-child { margin-bottom:0; }
.rg-subsek-hdr { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.rg-subsek-tit { font-size:11px; font-weight:700; color:#6C63FF; letter-spacing:.08em; text-transform:uppercase; }

/* ════════════════════════════════════════════════════════════
   GLOBAL HARMONISERING — overstyrer eksisterende .btn og .mbtn
   slik at alle knapper får samme touch-vennlige stil overalt
   IDENTISK med smo-btn (Swedbank Pay-stil)
   ════════════════════════════════════════════════════════════ */
.btn {
  min-height: 48px !important;
  padding: 13px 26px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  border: 1px solid var(--bdr,#E5E7EB) !important;
  background: var(--surf,#fff) !important;
  color: var(--t2,#6B7280) !important;
  cursor: pointer !important;
  font-family: inherit !important;
  transition: all .15s !important;
}
.btn:hover { background: #F5F5FC !important; }
.btn:active { transform: scale(.98); }
.btn.gr {
  background: #6C63FF !important;
  color: #fff !important;
  border-color: #6C63FF !important;
}
.btn.gr:hover { box-shadow: 0 4px 12px rgba(108,99,255,.3); background: #6C63FF !important; }
.btn.pr {
  background: var(--ac2,#E8645A) !important;
  color: #fff !important;
  border-color: var(--ac2,#E8645A) !important;
}
.btn.sec {
  background: #EEEEFF !important;
  color: #6C63FF !important;
  border-color: #6C63FF !important;
}
.btn.red {
  background: transparent !important;
  color: #dc2626 !important;
  border: 1px solid #fecaca !important;
}
.btn.red:hover { background: #fee2e2 !important; }
.btn-sm {
  min-height: 38px !important;
  padding: 9px 16px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
}
.btn-chip {
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}

/* mbtn (modal-knapper) — IDENTISK stil som smo-btn (Swedbank Pay-stil) */
.mbtn {
  flex: 1 !important;
  min-height: 48px !important;
  min-width: 110px !important;
  padding: 13px 26px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  font-family: inherit !important;
  transition: all .15s !important;
  cursor: pointer !important;
}
.mbtn.cancel {
  background: var(--surf,#fff) !important;
  border: 1px solid var(--bdr,#E5E7EB) !important;
  color: var(--t2,#6B7280) !important;
}
.mbtn.cancel:hover { background: #F5F5FC !important; }
.mbtn.cancel:active { transform: scale(.98); }
.mbtn.confirm {
  background: #6C63FF !important;
  color: #fff !important;
}
.mbtn.confirm:hover { box-shadow: 0 4px 12px rgba(108,99,255,.3); }
.mbtn.confirm:active { transform: scale(.98); }
.mbtn.red {
  background: transparent !important;
  color: #dc2626 !important;
  border: 1px solid #fecaca !important;
}
.mbtn.red:hover { background: #fee2e2 !important; }
.mbtn.hold { background: var(--wa,#F59E0B) !important; color: #fff !important; }

/* GLOBAL OVERRIDE for native <select> — alle skal være runde og touch-vennlige
   (unntak: små .fnt-sel og .kompakt-sel forblir kompakte) */
html body select:not(.fnt-sel):not(.kompakt-sel):not([style*="padding:5px"]):not([style*="padding: 5px"]) {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border-radius: 12px !important;
  border: 1px solid var(--bdr,#E5E7EB) !important;
  background-color: var(--surf,#fff) !important;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="%236B7280" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 5l4 4 4-4"/></svg>') !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 38px !important;
  min-height: 46px !important;
  cursor: pointer !important;
  transition: border-color .15s, box-shadow .15s !important;
}
html body select:not(.fnt-sel):not(.kompakt-sel):not([style*="padding:5px"]):not([style*="padding: 5px"]):focus {
  outline: none !important;
  border-color: #6C63FF !important;
  box-shadow: 0 0 0 3px rgba(108,99,255,.15) !important;
}
/* Små font-velgere i kvitterings-mal beholder sin kompakte stil */
.fnt-sel, .kompakt-sel { border-radius: 9px !important; }

/* date-input runde corners */
input[type="date"] {
  border-radius: 12px !important;
}

/* Regnskap-filterknapper for konsistens */
.rg-fbtn {
  min-height: 38px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}


/* ═══════════════════════════════════════════════════════════════
   VALG-GRUPPER / MODIFIERS (gjeninnsatt fra v285)
   ═══════════════════════════════════════════════════════════════ */
.mod-grp{margin-top:18px;}
.mod-grp:first-child{margin-top:8px;}
.mod-grp-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.mod-grp-title{font-size:14px;font-weight:700;color:var(--tx);}
.mod-grp-required{font-size:11px;font-weight:700;color:var(--ac2);background:var(--ac2l);padding:3px 8px;border-radius:6px;}
.mod-grp-optional{font-size:11px;font-weight:700;color:var(--t2);background:var(--bg);padding:3px 8px;border-radius:6px;border:1px solid var(--bdr);}
.mod-opt{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1.5px solid var(--bdr);border-radius:11px;cursor:pointer;margin-bottom:6px;transition:all .12s;background:var(--surf);}
.mod-opt:hover{border-color:var(--ac);background:var(--acl);}
.mod-opt.sel{border-color:var(--ac);background:var(--acl);}
.mod-opt-left{display:flex;align-items:center;gap:11px;}
.mod-opt-radio{width:20px;height:20px;border:2px solid var(--b2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surf);}
.mod-opt.sel .mod-opt-radio{border-color:var(--ac);}
.mod-opt.sel .mod-opt-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--ac);}
.mod-opt-check{width:20px;height:20px;border:2px solid var(--b2);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surf);font-size:13px;font-weight:800;color:#fff;}
.mod-opt.sel .mod-opt-check{border-color:var(--ac);background:var(--ac);}
.mod-opt.sel .mod-opt-check::after{content:'\2713';}
.mod-opt-name{font-size:14px;font-weight:600;color:var(--tx);}
.mod-opt.sel .mod-opt-name{font-weight:700;color:var(--ac);}
.mod-opt-price{font-size:13px;font-weight:700;color:var(--gr);}
.mod-opt-price.zero{color:var(--t3);font-weight:500;}
[data-theme="dark"] .mod-opt{background:var(--surf);border-color:var(--b2);}
[data-theme="dark"] .mod-opt:hover,[data-theme="dark"] .mod-opt.sel{background:#2E3268;border-color:var(--ac);}
[data-theme="dark"] .mod-opt.sel .mod-opt-name{color:#fff;}
.mbtn.confirm:disabled{background:var(--b2);cursor:not-allowed;opacity:.6;}

/* MODIFIER ADMIN — touch-vennlig */
.mod-grp-card{border:1.5px solid var(--bdr);border-radius:13px;padding:18px;margin-bottom:20px;background:var(--bg);box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.mod-grp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.mod-grp-head-left{display:flex;align-items:center;gap:12px;flex:1;min-width:200px;}
.drag-handle{color:var(--t3);cursor:grab;font-size:18px;user-select:none;padding:4px 6px;}
.drag-handle:hover{color:var(--ac);}
.drag-handle:active{cursor:grabbing;}
.dragging{opacity:.4;}
.drag-over-top{box-shadow:0 -3px 0 var(--ac);}
.drag-over-bottom{box-shadow:0 3px 0 var(--ac);}
.mod-grp-name-input{flex:1;padding:11px 14px;border:1.5px solid var(--bdr);border-radius:9px;font-size:15px;font-weight:700;font-family:inherit;background:var(--surf);color:var(--tx);outline:none;min-width:120px;}
.mod-grp-name-input:focus{border-color:var(--ac);}
.mod-grp-actions{display:flex;gap:8px;}
.btn-grp-act{padding:10px 16px;font-size:14px;font-weight:700;border-radius:10px;cursor:pointer;font-family:inherit;border:1.5px solid;transition:all .12s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:42px;}
.btn-grp-act.dup{background:var(--surf);color:var(--ac);border-color:var(--ac);}
.btn-grp-act.dup:hover{background:var(--acl);}
.btn-grp-act.del{background:var(--surf);color:var(--ac2);border-color:var(--ac2);}
.btn-grp-act.del:hover{background:var(--ac2l);color:#fff;background:var(--ac2);}
.mod-grp-config{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
@media (max-width:600px){.mod-grp-config{grid-template-columns:1fr;}}
.toggle-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--bdr);border-radius:10px;background:var(--surf);cursor:pointer;user-select:none;transition:border-color .12s;min-height:46px;}
.toggle-row:hover{border-color:var(--ac);}
.toggle-sw{width:40px;height:22px;background:var(--b2);border-radius:22px;position:relative;transition:background .15s;flex-shrink:0;}
.toggle-sw::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.toggle-row.on .toggle-sw{background:var(--ac);}
.toggle-row.on .toggle-sw::after{transform:translateX(18px);}
.toggle-lbl{font-size:14px;font-weight:700;color:var(--tx);}
.toggle-help{font-size:12px;color:var(--t2);font-weight:500;}
.type-pick{display:flex;gap:6px;padding:4px;background:var(--surf);border:1.5px solid var(--bdr);border-radius:10px;}
.type-pick-opt{flex:1;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:700;text-align:center;cursor:pointer;color:var(--t2);transition:all .12s;user-select:none;min-height:42px;display:flex;align-items:center;justify-content:center;}
.type-pick-opt.on{background:var(--ac);color:#fff;}
.type-pick-opt:not(.on):hover{background:var(--bg);color:var(--tx);}
.mod-opt-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.mod-opt-row{display:grid;grid-template-columns:22px 1fr 130px 36px;gap:10px;align-items:center;padding:10px 12px;background:var(--surf);border:1.5px solid var(--bdr);border-radius:10px;}
.mod-opt-row .drag-handle{font-size:16px;}
.mod-opt-row input{padding:10px 12px;border:1.5px solid var(--bdr);border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;background:var(--inp);color:var(--tx);outline:none;}
.mod-opt-row input:focus{border-color:var(--ac);}
.mod-opt-row .price-input{display:flex;align-items:center;border:1.5px solid var(--bdr);border-radius:8px;background:var(--inp);overflow:hidden;}
.mod-opt-row .price-input:focus-within{border-color:var(--ac);}
.mod-opt-row .price-input input{border:none;text-align:right;background:transparent;padding:10px 4px 10px 12px;width:100%;}
.mod-opt-row .price-input span{padding:10px 12px 10px 0;font-size:13px;color:var(--t2);font-weight:600;}
.mod-opt-row .del-opt-btn{background:transparent;border:none;color:var(--ac2);font-size:18px;cursor:pointer;padding:6px;border-radius:7px;transition:background .1s;line-height:1;}
.mod-opt-row .del-opt-btn:hover{background:var(--ac2l);}
.add-opt-btn{width:100%;padding:12px;border:1.5px dashed var(--bdr);border-radius:10px;background:transparent;color:var(--t2);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;margin-top:10px;transition:all .12s;min-height:44px;}
.add-opt-btn:hover{border-color:var(--ac);color:var(--ac);background:var(--acl);}
.add-grp-btn{width:100%;padding:16px;border:2px dashed var(--bdr);border-radius:12px;background:transparent;color:var(--t2);font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .12s;min-height:54px;}
.add-grp-btn:hover{border-color:var(--ac);color:var(--ac);background:var(--acl);}
.grp-tag{font-size:11px;font-weight:700;padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;}
.grp-tag.req{background:var(--ac2l);color:var(--ac2);}
.grp-tag.opt{background:var(--bg);color:var(--t2);border:1px solid var(--bdr);}
.grp-tag.single{background:var(--acl);color:var(--acd);}
.grp-tag.multi{background:var(--grl);color:var(--gr);}
.grp-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}

/* Modifier-bibliotek (Variant B) */
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.lib-card{padding:16px 18px;border:1.5px solid var(--bdr);border-radius:12px;background:var(--bg);cursor:pointer;transition:all .12s;position:relative;}
.lib-card:hover{border-color:var(--ac);background:var(--acl);}
.lib-card-name{font-size:15px;font-weight:800;color:var(--tx);margin-bottom:6px;padding-right:54px;}
.lib-card-meta{font-size:12px;color:var(--t2);font-weight:600;}
.lib-card-opts{font-size:12px;color:var(--t3);margin-top:8px;line-height:1.5;}
.lib-card-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;}
.lib-card-actions button{background:var(--surf);border:1.5px solid #fecaca;color:#dc2626;border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;font-family:inherit;font-weight:700;line-height:1;transition:all .12s;}
.lib-card-actions button:hover{background:#fee2e2;border-color:#dc2626;}

/* Ordrelinje modifiers — full-bredde rad i op-item, navn+pris på samme linje, pris helt til høyre */
.ord-mods{margin-top:6px;}
.ord-mod-grp{margin-bottom:5px;}
.ord-mod-grp:last-child{margin-bottom:0;}
.ord-mod-grp-title{font-size:12px;font-weight:700;color:var(--t2);line-height:1.5;}
.ord-mod-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;line-height:1.5;gap:10px;}
.ord-mod-row .name{color:var(--t2);font-weight:500;flex:1;min-width:0;}
.ord-mod-row .price{color:var(--gr);font-weight:700;white-space:nowrap;flex-shrink:0;}
.ord-mod-row .price.free{color:var(--t3);font-weight:500;}
/* Bunnrad i ordrelinjen — kvantitet venstre, notat høyre */
.op-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-left:35px;gap:10px;}
.op-item-bottom .oi-ctrl{margin-top:0;}

/* ITEM EDITOR — større og mer luftig (Legg til/Rediger vare) */
.item-ed-modal{padding:30px 32px;}
.item-ed-modal h2{font-size:24px;font-weight:800;margin-bottom:6px;}
.item-ed-modal .modal-sub{font-size:14px;color:var(--t2);margin-bottom:22px;}
.item-ed-modal .ff label{font-size:13px;font-weight:700;margin-bottom:7px;}
.item-ed-modal .ff input,.item-ed-modal .ff select,.item-ed-modal .ff textarea{padding:13px 16px;font-size:15px;border-radius:11px;}
.item-ed-modal .g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.item-ed-modal .mbtn{padding:15px 20px;font-size:15px;border-radius:12px;font-weight:700;}
.item-ed-modal .mrow{gap:12px;margin-top:24px;}
.item-ed-modal .alg-grid{gap:8px;}
.item-ed-modal .alg-tag{padding:10px 14px;font-size:14px;border-radius:10px;}
/* v3.7: Seksjon-design i item-editor */
.ie-section{background:var(--bg);border:1.5px solid var(--bdr);border-radius:14px;padding:18px 20px;margin-bottom:16px;}
.ie-section-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--ac);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:14px;padding-bottom:10px;border-bottom:1.5px solid var(--bdr);}
.ie-section-title .ie-section-ico{width:32px;height:32px;background:var(--acl);color:var(--ac);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.ie-section-title .ie-section-num{font-size:11px;color:var(--t2);font-weight:600;margin-left:auto;letter-spacing:0;text-transform:none;}
.item-ed-modal .add-sz{padding:9px 14px;font-size:13px;border-radius:9px;}
.item-ed-modal .szrow input{padding:10px 12px;font-size:14px;}
.item-ed-modal label[style*="font-size:12px"]{font-size:13px !important;}

/* === TABLET-OPTIMALISERING === */
/* Fix #1: Logo krymper i stedet for å klippes */
.sb-portal-logo{max-width:100%;height:auto;object-fit:contain;}
.sb-logo-col{font-size:clamp(16px,1.6vw,20px) !important;}

/* Fix #2: Auto-kollaps sidebar til ikoner ved smal viewport (<1100px) */
@media (max-width:1099px){
  /* Tving sidebar smal selv om bruker ikke har trykket kollaps */
  .sidebar:not(.col){width:var(--sbwc) !important;}
  /* Skjul tekstetiketter */
  .sidebar:not(.col) .sbi-lbl{opacity:0 !important;max-width:0 !important;width:0 !important;overflow:hidden !important;}
  .sidebar:not(.col) .sb-theme-lbl{opacity:0 !important;max-width:0 !important;}
  .sidebar:not(.col) .sb-uinfo{opacity:0 !important;max-width:0 !important;}
  /* Full logo skjules, vis kompakt "SO" */
  .sidebar:not(.col) .sb-portal-logo{display:none !important;}
  .sidebar:not(.col) .sb-logo-col{display:block !important;}
  /* Språkbryter kompakt */
  .sidebar:not(.col) #langSwitcherWrap{justify-content:center !important;}
  .sidebar:not(.col) #langSwitcherWrap .lang-switch{display:none !important;}
  /* Nav-ikoner sentreres */
  .sidebar:not(.col) .sbi{justify-content:center !important;}
  .sidebar:not(.col) .sb-theme{justify-content:center !important;}
  .sidebar:not(.col) .sb-user{justify-content:center !important;}
  /* Profil-avatar litt mindre når kollapset */
  .sidebar:not(.col) .sb-av{width:34px !important;height:34px !important;font-size:12px !important;}
  /* Dagmodus-toggle kompakt */
  .sidebar:not(.col) .sb-theme{padding:8px 6px !important;}
  .sidebar:not(.col) .sb-theme svg{width:19px !important;height:19px !important;}
  /* Seksjonsoverskrift ("Innstillinger") skjules når kollapset */
  .sidebar:not(.col) .sb-sec{opacity:0 !important;max-height:0 !important;padding:0 !important;overflow:hidden !important;}
}

/* Fix #4: Top-bar komprimeres ved lav skjermhøyde (<700px) */
@media (max-height:700px){
  .pos-topbar{padding:6px 10px !important;gap:7px !important;}
  .pos-search{padding:8px 12px !important;font-size:14px !important;}
  /* Refusjon-knapp og andre topbar-knapper */
  .pos-topbar button{padding:9px 14px !important;font-size:13px !important;}
}
/* === SLUTT TABLET-OPTIMALISERING === */

/* ── (blokk 2 — opprinnelig andre <style> i index.html) ── */
.btn-chip{
  background:var(--bg);border:1.5px solid var(--bdr);color:var(--tx);
  border-radius:22px;padding:10px 18px;font-size:13px;font-weight:600;
  font-family:'Inter',sans-serif;cursor:pointer;transition:all .15s;
  min-height:42px;
}
.btn-chip:hover{background:var(--ac);color:#fff;border-color:var(--ac);}
.kvit-card{
  background:var(--surf);border:1.5px solid var(--bdr);border-radius:14px;
  padding:16px 18px;margin-bottom:12px;
}
.kvit-card.refusjon{border-left:4px solid var(--ac2);}
.kvit-card-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.kvit-card-num{font-weight:800;color:var(--ac);font-size:16px;}
.kvit-card.refusjon .kvit-card-num{color:var(--ac2);}
.kvit-card-tot{margin-left:auto;font-weight:800;font-size:16px;color:var(--tx);}
.kvit-card-meta{font-size:13px;color:var(--t2);margin-top:8px;line-height:1.6;}
.kvit-card-items{font-size:13px;color:var(--t2);margin-top:6px;font-style:italic;}
.kvit-card-act{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.kvit-act-btn{
  padding:11px 18px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;
  border-radius:10px;border:1.5px solid var(--bdr);background:var(--bg);color:var(--tx);
  cursor:pointer;transition:all .15s;min-height:42px;
}
.kvit-act-btn:hover{background:var(--ac);color:#fff;border-color:var(--ac);}
.kvit-act-btn.primary{background:var(--ac);color:#fff;border-color:var(--ac);}

/* Native date-input round corners (browser-spesifikt) */
input[type="date"]{
  -webkit-appearance:none;
  appearance:none;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.6;
  padding:4px;
}

/* Modernized select wrappers */
.modern-select-wrap{
  position:relative;
  border-radius:11px;
  overflow:visible;
}
.modern-select-wrap select{
  border-radius:11px !important;
}

/* ═══════════════════════════════════════════════════════════════
   GAVEKORT (v3.4)
   ═══════════════════════════════════════════════════════════════ */
/* Filter-tabs + søk */
.gk-tab{padding:14px 22px;border:2px solid var(--bdr);border-radius:12px;background:var(--surf);cursor:pointer;font-size:14px;font-weight:700;font-family:Inter,sans-serif;color:var(--t2);transition:all .15s;min-height:50px;display:inline-flex;align-items:center;gap:6px;}
.gk-tab:hover{border-color:var(--ac);color:var(--ac);}
.gk-tab.on{border-color:var(--ac);background:var(--acl);color:var(--ac);}
.gk-search{flex:1;min-width:240px;padding:14px 18px;border:1.5px solid var(--bdr);border-radius:12px;font-size:15px;font-weight:500;font-family:Inter,sans-serif;background:var(--inp);color:var(--tx);outline:none;min-height:50px;transition:border-color .12s;}
.gk-search:focus{border-color:var(--ac);}
/* Gavekort-grid */
.gk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
.gk-card{background:var(--surf);border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden;transition:all .15s;}
.gk-card:hover{border-color:var(--ac);box-shadow:0 4px 12px rgba(108,99,255,.08);}
.gk-card-top{padding:16px 18px;border-bottom:1px dashed var(--bdr);background:linear-gradient(135deg,var(--acl) 0%,var(--surf) 100%);position:relative;}
.gk-card-top.brukt{background:var(--bg);}
.gk-card-top.utlopt{background:#FEF3C7;}
.gk-card-top.sperret{background:#FEE2E2;}
.gk-card-status{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;padding:4px 9px;border-radius:5px;text-transform:uppercase;letter-spacing:.04em;}
.gk-card-status.aktiv{background:#D1FAE5;color:#10B981;}
.gk-card-status.brukt{background:var(--bg);color:var(--t2);border:1px solid var(--bdr);}
.gk-card-status.utlopt{background:#FEF3C7;color:#92400E;}
.gk-card-status.sperret{background:#FEE2E2;color:#E8645A;}
.gk-card-amount{font-size:28px;font-weight:800;color:var(--tx);margin-bottom:2px;}
.gk-card-amount.brukt{text-decoration:line-through;color:var(--t3);}
.gk-card-saldo{font-size:13px;font-weight:600;color:var(--t2);margin-top:2px;}
.gk-card-code{font-family:'Courier New',monospace;font-size:14px;font-weight:700;color:var(--ac);letter-spacing:.05em;margin-top:4px;}
.gk-card-body{padding:14px 18px;}
.gk-card-meta{font-size:11px;color:var(--t2);line-height:1.7;}
.gk-card-meta b{color:var(--tx);font-weight:600;}
.gk-card-actions{display:flex;gap:8px;padding:12px;border-top:1px solid var(--bdr);background:var(--bg);}
.gk-card-actions button{flex:1;padding:13px 8px;border:1.5px solid var(--bdr);background:var(--surf);border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;color:var(--t2);transition:all .12s;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:54px;justify-content:center;}
.gk-card-actions button:hover{background:var(--acl);color:var(--ac);border-color:var(--ac);}
.gk-card-actions button.danger:hover{background:#FEE2E2;color:#E8645A;border-color:#E8645A;}
.gk-card-actions button .gk-act-ico{font-size:18px;line-height:1;}
.gk-card-actions button .gk-act-lbl{font-size:11px;font-weight:700;line-height:1;}

/* Required-merke i label */
.gk-req{color:#E8645A;margin-left:3px;font-weight:800;}

/* Beløp-velger */
.gk-amount-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;}
.gk-amount-pick{padding:14px 0;border:2px solid var(--bdr);border-radius:11px;background:var(--surf);font-size:14px;font-weight:700;color:var(--tx);cursor:pointer;text-align:center;transition:all .12s;font-family:inherit;min-height:46px;}
.gk-amount-pick:hover{border-color:var(--ac);}
.gk-amount-pick.on{border-color:var(--ac);background:var(--acl);color:var(--ac);}

/* Telefon-input med fast +47-prefiks */
.gk-phone-wrap{display:flex;border:1.5px solid var(--bdr);border-radius:10px;background:var(--inp);overflow:hidden;transition:border-color .12s;}
.gk-phone-wrap:focus-within{border-color:var(--ac);}
.gk-phone-prefix{padding:12px 14px;background:var(--bg);color:var(--t2);font-weight:700;font-size:14px;border-right:1.5px solid var(--bdr);user-select:none;display:flex;align-items:center;}
.gk-phone-wrap input{flex:1;border:none !important;border-radius:0 !important;background:transparent !important;padding:12px 14px !important;font-family:'Courier New',monospace !important;font-weight:600 !important;letter-spacing:.05em !important;}
.gk-phone-wrap input:focus{border:none !important;outline:none;}

/* Levering-velger */
.gk-delivery-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;}
.gk-delivery-pick{padding:14px;border:2px solid var(--bdr);border-radius:11px;background:var(--surf);cursor:pointer;text-align:center;transition:all .12s;}
.gk-delivery-pick:hover{border-color:var(--ac);}
.gk-delivery-pick.on{border-color:var(--ac);background:var(--acl);}
.gk-delivery-pick-icon{font-size:24px;margin-bottom:6px;}
.gk-delivery-pick-lbl{font-size:13px;font-weight:700;color:var(--tx);}
.gk-delivery-pick.on .gk-delivery-pick-lbl{color:var(--ac);}
.gk-delivery-pick-help{font-size:11px;color:var(--t2);margin-top:3px;}

/* Kode-rad med generator-knapp */
.gk-code-row{display:flex;gap:8px;}
.gk-code-row input{flex:1;font-family:'Courier New',monospace;font-weight:700;letter-spacing:.05em;}
.gk-code-row button{padding:0 16px;border:1.5px solid var(--bdr);border-radius:10px;background:var(--bg);color:var(--t2);cursor:pointer;font-size:18px;font-family:inherit;min-width:46px;}
.gk-code-row button:hover{border-color:var(--ac);color:var(--ac);}

/* Moderne dropdown for hurtigvalg */
.gk-csel{position:relative;width:100%;}
.gk-csel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1.5px solid var(--bdr);border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;background:var(--inp);color:var(--tx);cursor:pointer;user-select:none;transition:border-color .12s;min-height:46px;box-sizing:border-box;}
.gk-csel-btn:hover{border-color:var(--ac);}
.gk-csel.open .gk-csel-btn{border-color:var(--ac);}
.gk-csel-arr{font-size:11px;color:var(--t2);margin-left:8px;transition:transform .2s;}
.gk-csel.open .gk-csel-arr{transform:rotate(180deg);}
.gk-csel-list{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surf);border:1.5px solid var(--bdr);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:200;overflow:hidden;max-height:240px;overflow-y:auto;}
.gk-csel.drop-up .gk-csel-list{top:auto;bottom:calc(100% + 6px);}
.gk-csel.open .gk-csel-list{display:block;}
.gk-csel-opt{padding:11px 16px;font-size:14px;font-weight:500;color:var(--tx);cursor:pointer;transition:background .1s;}
.gk-csel-opt:hover{background:var(--bg);}
.gk-csel-opt.on{color:var(--ac);font-weight:700;background:var(--acl);}

/* Moderne dato-velger */
.gk-date-picker{position:relative;width:100%;}
.gk-date-btn{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1.5px solid var(--bdr);border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;background:var(--inp);color:var(--tx);cursor:pointer;user-select:none;transition:border-color .12s;min-height:46px;box-sizing:border-box;}
.gk-date-btn:hover{border-color:var(--ac);}
.gk-date-picker.open .gk-date-btn{border-color:var(--ac);}
.gk-date-picker.disabled .gk-date-btn{background:var(--bg);color:var(--t3);}
.gk-date-val{flex:1;text-align:left;}
.gk-date-icon{font-size:14px;color:var(--t2);margin-left:8px;}
.gk-date-cal{display:none;position:absolute;top:calc(100% + 6px);left:0;width:300px;background:var(--surf);border:1.5px solid var(--bdr);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:300;padding:14px;}
.gk-date-picker.drop-up .gk-date-cal{top:auto;bottom:calc(100% + 6px);}
.gk-date-picker.open .gk-date-cal{display:block;}
.gk-cal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.gk-cal-hdr span{font-size:14px;font-weight:700;color:var(--tx);}
.gk-cal-hdr button{background:var(--bg);border:1.5px solid var(--bdr);border-radius:8px;padding:5px 12px;cursor:pointer;font-size:18px;color:var(--t2);line-height:1;font-family:inherit;font-weight:700;transition:all .12s;}
.gk-cal-hdr button:hover{border-color:var(--ac);color:var(--ac);background:var(--acl);}
.gk-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.gk-cal-dow{font-size:10px;font-weight:700;color:var(--t2);text-align:center;text-transform:uppercase;padding:6px 2px;letter-spacing:.04em;}
.gk-cal-day{text-align:center;padding:9px 0;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;color:var(--tx);transition:background .1s;border:none;background:transparent;font-family:inherit;}
.gk-cal-day:hover{background:var(--acl);color:var(--ac);}
.gk-cal-day.today{font-weight:800;color:var(--ac);background:var(--acl);}
.gk-cal-day.sel{background:var(--ac) !important;color:#fff !important;}
.gk-cal-day.empty{cursor:default;pointer-events:none;color:transparent;}
.gk-cal-day.disabled{color:var(--t3);cursor:not-allowed;}
.gk-cal-day.disabled:hover{background:transparent;color:var(--t3);}
.gk-cal-foot{margin-top:10px;padding-top:10px;border-top:1.5px solid var(--bdr);display:flex;justify-content:center;}
.gk-cal-clear{padding:8px 14px;border:1.5px solid var(--bdr);border-radius:8px;background:var(--surf);color:var(--t2);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s;}
.gk-cal-clear:hover{border-color:#E8645A;color:#E8645A;background:#FEE2E2;}

/* Hurtigvalg-resultat */
.gk-quickdate-result{font-size:12px;color:var(--t2);margin-top:6px;font-weight:500;font-style:italic;}
.gk-quickdate-result span{color:var(--tx);font-weight:700;font-style:normal;}

/* Field-error */
.gk-ff-error input,.gk-ff-error .gk-phone-wrap,.gk-ff-error .gk-csel-btn{border-color:#E8645A !important;}

/* Modal-styling for gavekort */
.gk-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);}
.gk-modal-overlay.on{display:flex;}
.gk-modal{background:var(--surf);border-radius:18px;padding:28px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.18);}
.gk-modal.gk-modal-issue{max-width:680px;max-height:96vh;padding:32px 36px;}
.gk-modal h2{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--tx);}
.gk-modal-sub{font-size:13px;color:var(--t2);margin-bottom:20px;}
.gk-ff{margin-bottom:14px;}
.gk-ff label{font-size:12px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:7px;}
.gk-ff input,.gk-ff select,.gk-ff textarea{width:100%;padding:12px 14px;border:1.5px solid var(--bdr);border-radius:10px;font-size:14px;font-weight:500;font-family:inherit;background:var(--inp);color:var(--tx);outline:none;transition:border-color .12s;box-sizing:border-box;min-height:46px;}
.gk-ff input:focus,.gk-ff select:focus,.gk-ff textarea:focus{border-color:var(--ac);}
.gk-ff textarea{resize:vertical;min-height:60px;}
.gk-mrow{display:flex;gap:10px;margin-top:24px;}
.gk-mbtn{flex:1;padding:14px;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;min-height:46px;}
.gk-mbtn.cancel{background:var(--bg);color:var(--t2);}
.gk-mbtn.cancel:hover{background:var(--bdr);}
.gk-mbtn.confirm{background:var(--ac);color:#fff;flex:2;}
.gk-mbtn.confirm:hover{background:#5249E8;}
.gk-mbtn.danger{background:#FEE2E2;color:#E8645A;}
.gk-mbtn.danger:hover{background:#FCA5A5;color:#fff;}

/* Kvitterings-forhåndsvisning i suksess-modal */
.gk-kvit-prev-wrap{display:flex;justify-content:center;background:var(--bg);padding:20px;border-radius:12px;margin-bottom:18px;}
.gk-kvit-prev{background:#fff;border:2px solid var(--bdr);border-radius:16px;overflow:hidden;width:340px;max-width:100%;}

/* Knapp-stiler for hovedside (sjekk om allerede definert) */
.gk-btn-pri{padding:11px 18px;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;border:1.5px solid var(--ac);background:var(--ac);color:#fff;transition:all .12s;min-height:46px;}
.gk-btn-pri:hover{background:#5249E8;border-color:#5249E8;}
.gk-btn-sec{padding:11px 18px;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;border:1.5px solid var(--bdr);background:var(--surf);color:var(--t2);transition:all .12s;min-height:46px;}
.gk-btn-sec:hover{border-color:var(--ac);color:var(--ac);}

/* KPI-kort for gavekort-siden */
.gk-stat-card{background:var(--surf);border:1.5px solid var(--bdr);border-radius:14px;padding:18px;}
.gk-stat-lbl{font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.gk-stat-val{font-size:28px;font-weight:800;color:var(--tx);line-height:1;margin-bottom:4px;}
.gk-stat-sub{font-size:12px;font-weight:500;color:var(--t2);}
