:root{--navy: #001C46;--navy-2: #0D2B5C;--navy-3: #2A4470;--pink: #F087B6;--pink-l: #FCE7F1;--bg: #F4F6F8;--line: #E2E6EA;--line-2: #EEF1F3;--input: #C9D1D8;--muted: #5B6672;--muted-2: #44505B;--ok-bg: #E7F4EC;--ok: #1E5B36;--warn-bg: #FFF4E8;--warn: #8A3B00;--warn-line: #F3C99B;--err: #A12A1A;--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--navy);font-family:var(--font);font-size:15px}a{color:var(--navy)}a:hover{color:var(--navy-3)}h1,h2,h3{margin:0;font-weight:600}h1{font-size:26px}h2{font-size:18px}h3{font-size:15px}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.mono{font-family:IBM Plex Mono,monospace}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.col{display:flex;flex-direction:column;gap:6px}.grow{flex:1 1 auto;min-width:0}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:16px}.btn{min-height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--input);background:#fff;color:var(--navy);font:inherit;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--navy-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.btn-primary:hover{background:var(--navy-2);color:#fff}.btn-pink{background:var(--pink);border-color:var(--pink);color:var(--navy);font-weight:700}.btn-ghost{border-color:transparent;background:transparent}.btn-danger{color:var(--err);border-color:transparent;background:transparent}.btn-sm{min-height:36px;padding:0 10px;font-size:13px}.btn-excel{background:#1d6f42;border-color:#1d6f42;color:#fff;font-weight:700}label.lbl{font-size:13px;font-weight:500}.input,select.input,textarea.input{min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--input);background:#fff;font:inherit;font-size:14px;color:var(--navy);width:100%}textarea.input{padding:10px 12px;min-height:80px;resize:vertical;line-height:1.5}.input:focus,.btn:focus-visible{outline:2px solid var(--pink);outline-offset:1px}.input.bad{border-color:var(--err)}.err{color:var(--err);font-size:13px}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--navy);margin:0}.check{display:flex;align-items:center;gap:10px;min-height:38px;font-size:14px;cursor:pointer}.card{background:#fff;border:1px solid var(--line);border-radius:12px}.pad{padding:18px 20px}.chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:#edf1f4;color:var(--navy);white-space:nowrap}.chip-ok{background:var(--ok-bg);color:var(--ok)}.chip-warn{background:var(--warn-bg);color:var(--warn)}.chip-pink{background:var(--pink-l);color:var(--navy)}.chip-dark{background:var(--navy);color:#fff}.note{background:var(--pink-l);border-radius:8px;padding:10px 14px;font-size:14px}.warnbox{background:var(--warn-bg);border:1px solid var(--warn-line);color:#6b3000;border-radius:10px;padding:12px 16px;font-size:14px}.ph{background:#edf1f4;display:flex;align-items:center;justify-content:center;color:#8c99a5}.ph img,.imgbox img{max-width:100%;max-height:100%;object-fit:contain}.topbar{background:#fff;border-bottom:4px solid var(--pink);padding:10px 24px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;position:sticky;top:0;z-index:20}.topbar .brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:600}.topbar .brand img{height:42px}.topbar .custlogo{height:34px;max-width:140px;object-fit:contain;padding-left:14px;border-left:1px solid var(--line)}@media (max-width: 640px){.topbar .custlogo{height:26px;max-width:90px;padding-left:10px}}.topnav{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 300px}.topnav a{min-height:40px;padding:0 12px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:500;display:flex;align-items:center}.topnav a.on{background:var(--pink-l);font-weight:600}.cartbtn{background:var(--navy);color:#fff!important;font-weight:600}.badge{min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--pink);color:var(--navy);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.banner{padding:10px 24px;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.banner.dark{background:var(--navy);color:#fff}.banner.warn{background:var(--warn-bg);color:#6b3000;border-bottom:1px solid var(--warn-line)}.banner.pink{background:var(--pink-l)}.layout{display:flex;flex-wrap:wrap;align-items:stretch;min-height:calc(100vh - 70px)}.side{flex:1 1 230px;max-width:280px;background:#fff;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:2px}.side .h{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 12px}.catbtn{min-height:40px;padding:0 12px;border:none;background:transparent;border-radius:8px;font:inherit;font-size:14px;color:var(--navy);text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;width:100%}.catbtn.on{background:var(--pink-l);font-weight:600}.catbtn.main{font-weight:600}.subs{margin-left:18px;padding-left:8px;border-left:2px solid var(--pink-l);display:flex;flex-direction:column;gap:2px}.subs .catbtn{min-height:36px;color:var(--muted-2)}.subs .catbtn.on{color:var(--navy)}.content{flex:999 1 560px;min-width:0;padding:22px 26px 60px;display:flex;flex-direction:column;gap:18px}.wrap{max-width:1220px;width:100%;margin:0 auto;padding:22px 24px 60px;display:flex;flex-direction:column;gap:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.pcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.pcard .img{height:140px;cursor:pointer}.pcard .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.pcard h3{font-size:15px;line-height:1.3;cursor:pointer}.prices{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:3px}.prices .l{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.prices .n{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:13px}.prices .n b{font-size:17px}.qty{display:flex;align-items:center;border:1px solid var(--input);border-radius:8px;overflow:hidden;flex:none}.qty button{width:34px;height:42px;border:none;background:var(--bg);color:var(--navy);font:inherit;font-size:18px;cursor:pointer}.qty input{width:44px;height:42px;border:none;text-align:center;font:inherit;font-size:15px;font-weight:600;color:var(--navy)}.addbtn{flex:1;min-width:0;min-height:44px;border-radius:8px;border:none;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:var(--navy);color:#fff}.addbtn.done{background:var(--pink);color:var(--navy)}.steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.steps li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;font-size:14px;background:#fff;border:1px solid var(--line);color:var(--muted-2)}.steps li.on{background:var(--navy);color:#fff;font-weight:600;border-color:var(--navy)}.steps li span{width:26px;height:26px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#edf1f4;color:var(--muted-2)}.steps li.on span{background:var(--pink);color:var(--navy)}.steps li.done span{background:var(--pink-l);color:var(--navy)}.cline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 20px;border-bottom:1px solid var(--line-2)}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formgrid .full{grid-column:1 / -1}@media (max-width: 640px){.formgrid{grid-template-columns:1fr}.topbar{padding:10px 14px}.content,.wrap{padding:16px 14px 60px}}.admin{display:flex;flex-wrap:wrap;align-items:stretch;min-height:100vh}.aside{flex:1 1 220px;max-width:240px;background:var(--navy);color:#fff;padding:20px 12px;display:flex;flex-direction:column;gap:4px}.aside .logo{background:#fff;border-radius:10px;padding:8px 12px;display:inline-flex;align-self:flex-start}.aside .logo img{height:40px}.aside a{min-height:42px;padding:0 12px;border-radius:8px;text-decoration:none;font-size:14px;display:flex;align-items:center;color:#d6dee5;justify-content:space-between}.aside a.on{background:var(--pink);color:var(--navy);font-weight:600}.aside a:hover{color:#fff}.aside a.on:hover{color:var(--navy)}.amain{flex:999 1 560px;min-width:0;padding:24px 28px 60px;display:flex;flex-direction:column;gap:16px}.tbl-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fff;position:sticky;top:0}.tbl td{padding:8px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl tr.grp td{background:var(--navy);color:#fff;font-weight:700}.tbl tr.sub td{background:var(--bg);font-weight:600}.tbl tr.changed td{background:#fff9f2}.tbl td.r,.tbl th.r{text-align:right}.tbl .input{min-height:36px}.bulkbar{position:sticky;bottom:12px;align-self:center;background:var(--navy);color:#fff;border-radius:12px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;box-shadow:0 8px 24px #001c4640;z-index:5}.bulkbar .input{min-height:38px;width:auto}.tabs{display:flex;flex-wrap:wrap;gap:6px}.tab{min-height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--input);background:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--navy)}.tab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;z-index:50;box-shadow:0 8px 24px #001c464d}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--navy)}.thumbs{display:flex;flex-wrap:wrap;gap:10px}.thumb{width:96px;height:96px;border-radius:8px;border:1px solid var(--line);position:relative;overflow:hidden}.thumb.main{border:2px solid var(--navy)}.tbl td.r,.tbl th.r{white-space:nowrap}.chip-camp{background:var(--pink);color:var(--navy)}.menubtn{display:none}@media (max-width: 760px){.menubtn{display:inline-flex;order:2}.topnav{display:none;order:9;flex-basis:100%;flex-direction:column}.topnav.open{display:flex}}.topnav .badge{margin-left:6px}.orow{all:unset;box-sizing:border-box;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 18px;cursor:pointer}.orow:hover{background:#f9fafb}.orow:focus-visible{outline:3px solid var(--pink);outline-offset:-3px}.steps-mini{display:flex;gap:6px}.steps-mini span{flex:1;text-align:center;font-size:12px;font-weight:600;padding:6px 4px;border-radius:6px;background:#edf1f4;color:var(--muted)}.steps-mini span.on{background:var(--navy);color:#fff}.optgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.opt{min-height:56px;padding:12px 16px;border-radius:10px;border:1.5px solid var(--input);background:#fff;font:inherit;font-size:15px;font-weight:600;color:var(--navy);text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px}.opt:hover{border-color:var(--navy)}.opt.on{border-color:var(--pink);background:var(--pink-l)}.opt .box{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--input);display:inline-flex;align-items:center;justify-content:center;font-size:13px;background:#fff;flex:none}.opt.on .box{background:var(--navy);color:#fff;border-color:var(--navy)}.tbl.cmp td{vertical-align:top}.tbl.cmp tr.diff td{background:#fff8ec}.kbcard:hover{border-color:var(--navy)}.statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.stat b{font-size:26px}.bars{display:flex;flex-direction:column;gap:6px}.bars .bar{display:grid;grid-template-columns:minmax(120px,1.2fr) 3fr auto;gap:10px;align-items:center;font-size:13px}.bars .bar i{display:block;height:10px;border-radius:99px;background:var(--navy)}.spoint{padding:2px 0;border-bottom:1px solid var(--line-2);gap:10px;align-items:center}.spoint:last-child{border-bottom:none}.targets{gap:10px;padding:0 0 8px 30px}.visitbar{position:sticky;bottom:12px;z-index:10;box-shadow:0 6px 20px #001c4640;display:flex;gap:16px;align-items:center;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px}.visitbar .warn b{color:var(--pink)}.segbtn{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segbtn button{min-height:46px;border-radius:8px;border:1.5px solid var(--input);background:#fff;font:inherit;font-weight:700;font-size:15px;color:var(--navy);cursor:pointer}.segbtn button.on.st-ok{background:#e3f4ea;border-color:#1e7b45;color:#145a31}.segbtn button.on.st-avvik{background:var(--warn-bg);border-color:var(--warn);color:#6b3000}.segbtn button.on.st-na{background:#edf1f4;border-color:#8a96a3}.vitem.s-ok{border-left:5px solid #1E7B45}.vitem.s-avvik{border-left:5px solid var(--warn)}.vitem.s-na{border-left:5px solid #8A96A3}.vphoto{position:relative;display:inline-block;width:84px;height:84px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.vphoto img{width:100%;height:100%;object-fit:cover;display:block}.vphoto button{position:absolute;top:2px;right:2px;width:24px;height:24px;border-radius:99px;border:none;background:#0009;color:#fff;cursor:pointer}.vphoto.sm{width:64px;height:64px}.scanpage{min-height:100vh;background:var(--bg)}.scanhead{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-bottom:4px solid var(--pink)}.scanhead img:first-child{max-height:44px;max-width:200px;object-fit:contain}.hitem{padding:8px 0;border-bottom:1px solid var(--line-2)}.hitem:last-child{border-bottom:none}.stchip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}.stchip.st-ok{background:#e3f4ea;color:#145a31}.stchip.st-avvik{background:var(--warn-bg);color:#6b3000}.stchip.st-na{background:#edf1f4;color:#4a5560}.linkbtn{all:unset;cursor:pointer;font-weight:600;color:var(--navy)}.linkbtn:focus-visible{outline:2px solid var(--pink);outline-offset:2px;border-radius:4px}.wtbl tr.dev td{background:#fff9f2}.wtbl td{vertical-align:top}.wdev{border-left:4px solid var(--warn)}.wrule{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:10px;background:var(--bg)}.pickchips{display:flex;flex-wrap:wrap;gap:6px}.pickchips button{all:unset;cursor:pointer;font-size:12px;padding:4px 10px;border-radius:99px;border:1px solid var(--line);background:#fff}.pickchips button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.pickchips button:focus-visible{outline:2px solid var(--pink)}.psearch{position:relative}.psearch ul{position:absolute;z-index:5;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;max-height:260px;overflow:auto}.psearch li button{all:unset;cursor:pointer;display:block;width:100%;box-sizing:border-box;padding:8px 10px;border-radius:6px;font-size:14px}.psearch li button:hover,.psearch li button:focus-visible{background:var(--pink-l)}@media (max-width: 1500px){.topnav a{padding:0 8px}.topbar{column-gap:14px}}.wtbl .monly{display:none}@media (max-width: 640px){.wtbl th:nth-child(n+3),.wtbl td:nth-child(n+3){display:none}.wtbl .monly{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}.wtbl input.input{width:96px!important}}a.tab{display:inline-flex;align-items:center;text-decoration:none}.kindsw{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kindsw a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:#fff;color:inherit;text-decoration:none}.kindsw a span{font-size:12px;color:var(--muted)}.kindsw a.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:var(--pink-l)}.kindsw a:focus-visible{outline:2px solid var(--pink);outline-offset:2px}@media (max-width: 640px){.kindsw{grid-template-columns:1fr}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.kpi span{font-size:12px;color:var(--muted)}.kpi strong{font-size:20px;color:var(--navy)}.alufs{border:0;padding:0;margin:0;gap:6px}.albtn{border:1px solid var(--line);border-radius:10px;padding:8px 16px;background:#fff;cursor:pointer}.albtn.on{border-color:var(--navy);background:var(--pink-l);font-weight:600}.badwrap{outline:2px solid var(--warn);outline-offset:4px;border-radius:10px}.htbl td{vertical-align:top}.aldetails{border:1px dashed var(--warn);border-radius:10px;padding:8px 12px;display:grid;gap:8px;background:#fffbf5}.aldetails>summary{cursor:pointer;font-weight:600;font-size:14px}.aldetails[open]>summary{margin-bottom:4px}.basegrp{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
