/* ============ JPA · Sistema de gestión · estilos ============ */
:root{
  --ink:#16110f; --ink-2:#2a2320; --ink-3:#3a302c;
  --rose:#A9707C; --rose-deep:#7C4B56; --rose-soft:#F4E7E9; --rose-line:#E8CDD2;
  --paper:#F6F1EC; --card:#fff; --line:#E7DED6; --line-2:#F0E8E1;
  --text:#2a2320; --muted:#7a6e66; --faint:#a89d95;
  --ok:#2f7d5b; --ok-bg:#E4F3EB; --warn:#9a6a14; --warn-bg:#FBF0D8; --bad:#b4413a; --bad-bg:#FBE6E3; --info:#3b6ea5; --info-bg:#E5EEF8;
  --r:14px; --r-sm:10px; --sh:0 1px 2px rgba(22,17,15,.05),0 6px 18px rgba(22,17,15,.05); --sh-lg:0 20px 60px rgba(22,17,15,.28);
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --nav-w:252px; --top-h:62px; --tab-h:64px;
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;letter-spacing:-.01em;color:var(--ink)}
a{color:var(--rose-deep)}
.hide{display:none!important}
.mono{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .faint{color:var(--faint)} .right{text-align:right} .center{text-align:center}
.nowrap{white-space:nowrap} .bold{font-weight:700} .sm{font-size:13px} .xs{font-size:12px}
.grow{flex:1} .row{display:flex;align-items:center;gap:10px} .wrap{flex-wrap:wrap} .gap-s{gap:6px} .gap-l{gap:18px}
.stack{display:flex;flex-direction:column;gap:14px}
svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.i.sm{width:16px;height:16px} svg.i.lg{width:26px;height:26px}

/* ---------- arranque ---------- */
.boot{min-height:100vh;display:grid;place-content:center;gap:22px;justify-items:center;background:var(--ink)}
.boot img{border-radius:18px}
.boot-bar{width:120px;height:3px;background:#ffffff22;border-radius:3px;overflow:hidden}
.boot-bar span{display:block;width:40%;height:100%;background:var(--rose);border-radius:3px;animation:slide 1.1s ease-in-out infinite}
@keyframes slide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}

/* ---------- login ---------- */
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.login-brand{position:relative;background:linear-gradient(160deg,#16110f 0%,#2a1c20 60%,#3a2328 100%);color:#fff;padding:56px 56px 48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.login-brand::after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;border:1px solid #A9707C55;box-shadow:0 0 0 60px #A9707C10,0 0 0 120px #A9707C08}
.login-brand img{width:64px;height:64px;border-radius:16px}
.login-brand h1{color:#fff;font-size:40px;line-height:1.1;max-width:420px;margin:28px 0 14px}
.login-brand p{color:#d9c3c7;max-width:380px;margin:0}
.login-brand small{color:#a88b90;position:relative;z-index:1}
.login-panel{display:grid;place-content:center;padding:32px;background:var(--paper)}
.login-card{width:min(400px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 30px;box-shadow:var(--sh)}
.login-card h2{font-size:26px;margin-bottom:6px}
.login-card .lead{color:var(--muted);margin:0 0 22px;font-size:14px}
.code-input{letter-spacing:.5em;text-align:center;font-size:26px;font-weight:700;padding-left:.5em}
@media (max-width:860px){
  .login{grid-template-columns:1fr}
  .login-brand{padding:28px 24px 26px;gap:12px}
  .login-brand h1{font-size:26px;margin:14px 0 6px}
  .login-brand p,.login-brand small{display:none}
  .login-brand::after{display:none}
  .login-panel{padding:20px 16px 40px;place-content:start center}
}

/* ---------- estructura ---------- */
.shell{min-height:100vh}
.nav{position:fixed;inset:0 auto 0 0;width:var(--nav-w);background:var(--ink);color:#e9dfdb;display:flex;flex-direction:column;z-index:30}
.nav-head{display:flex;align-items:center;gap:12px;padding:20px 20px 16px}
.nav-head img{width:40px;height:40px;border-radius:11px}
.nav-head b{display:block;font-family:var(--serif);font-size:18px;color:#fff;line-height:1.1}
.nav-head span{font-size:11px;color:#a88b90;letter-spacing:.08em;text-transform:uppercase}
.nav-list{flex:1;overflow:auto;padding:6px 12px 12px}
.nav-sec{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7d6a6e;padding:16px 10px 6px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:#d8cbc7;text-decoration:none;font-weight:600;font-size:14.5px}
.nav a:hover{background:#ffffff0f;color:#fff}
.nav a.on{background:linear-gradient(90deg,#A9707C33,#A9707C14);color:#fff;box-shadow:inset 3px 0 0 var(--rose)}
.nav-foot{padding:14px;border-top:1px solid #ffffff12}
.me{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-content:center;font-weight:800;flex:none}
.me b{display:block;color:#fff;font-size:13.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.me span{font-size:11.5px;color:#a88b90}
.me .meta{min-width:0;flex:1}
.icon-btn{border:0;background:transparent;color:inherit;width:38px;height:38px;border-radius:10px;display:grid;place-content:center;cursor:pointer}
.icon-btn:hover{background:#ffffff14}
.main{margin-left:var(--nav-w);min-height:100vh}
.top{position:sticky;top:0;z-index:20;height:var(--top-h);display:flex;align-items:center;gap:12px;padding:0 28px;background:#F6F1ECE6;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top h1{font-size:22px}
.top .menu-btn{display:none}
.page{padding:26px 28px 60px;max-width:1280px}
.sync{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:600}
.sync i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.sync.off i{background:var(--bad)} .sync.busy i{background:var(--warn)}
.tabbar{display:none}
.scrim{display:none}
@media (max-width:980px){
  .nav{transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--sh-lg)}
  .nav.open{transform:none}
  .scrim.open{display:block;position:fixed;inset:0;background:#16110f66;z-index:25}
  .main{margin-left:0;padding-bottom:calc(var(--tab-h) + var(--safe-b) + 8px)}
  .top{padding:0 14px}
  .top h1{font-size:19px}
  .top .menu-btn{display:grid;color:var(--ink)}
  .top .menu-btn:hover{background:#00000008}
  .page{padding:16px 14px 40px}
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset:auto 0 0 0;z-index:22;height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);background:#fff;border-top:1px solid var(--line)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:10.5px;font-weight:700}
  .tabbar a.on{color:var(--rose-deep)}
  .tabbar svg.i{width:22px;height:22px}
}

/* ---------- componentes ---------- */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.page-head h2{font-size:26px}
.page-head p{margin:2px 0 0;color:var(--muted);font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.card-pad{padding:18px 20px}
.card h3{font-size:17px;margin-bottom:12px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))} .g-main{grid-template-columns:1fr}}
@media (max-width:640px){.g2,.g3{grid-template-columns:1fr} .g4{grid-template-columns:repeat(2,minmax(0,1fr))}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border-radius:11px;border:1px solid transparent;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-primary{background:var(--ink);color:#fff} .btn-primary:hover{background:var(--ink-3)}
.btn-accent{background:var(--rose-deep);color:#fff} .btn-accent:hover{background:#6a3f49}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)} .btn-ghost:hover{border-color:var(--rose);background:var(--rose-soft)}
.btn-danger{background:#fff;border-color:#e9c4c0;color:var(--bad)} .btn-danger:hover{background:var(--bad-bg)}
.btn-danger-solid{background:var(--bad);color:#fff}
.btn-sm{min-height:34px;padding:0 12px;font-size:13px;border-radius:9px}
.btn-block{width:100%}
.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:rot .7s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;min-width:0}
.field>label{font-size:12.5px;font-weight:700;color:var(--ink-3);letter-spacing:.01em}
.field .hint{font-size:12px;color:var(--muted)}
.field .err{font-size:12px;color:var(--bad);font-weight:600}
.input,select.input,textarea.input{width:100%;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
textarea.input{min-height:76px;resize:vertical}
.input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #A9707C26}
.input.bad{border-color:var(--bad)}
.input[disabled]{background:#f7f3ef;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.form-grid .full{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.check{display:flex;align-items:center;gap:10px;min-height:38px;cursor:pointer;font-size:14px}
.check input{width:19px;height:19px;accent-color:var(--rose-deep)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill-check{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:13.5px;font-weight:600;background:#fff}
.pill-check:has(input:checked){background:var(--rose-soft);border-color:var(--rose);color:var(--rose-deep)}
.pill-check input{accent-color:var(--rose-deep)}
.search{position:relative;flex:1;min-width:200px}
.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--faint)}
.search .input{padding-left:40px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.toolbar .input{width:auto;min-width:150px}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;padding:7px 13px;border-radius:8px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--ink);color:#fff}

.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.b-ok{background:var(--ok-bg);color:var(--ok)} .b-warn{background:var(--warn-bg);color:var(--warn)} .b-bad{background:var(--bad-bg);color:var(--bad)}
.b-info{background:var(--info-bg);color:var(--info)} .b-gray{background:#efe9e4;color:var(--muted)} .b-rose{background:var(--rose-soft);color:var(--rose-deep)}

.table-wrap{overflow:auto;border-radius:var(--r)}
table.t{width:100%;border-collapse:collapse;background:#fff}
.t th{position:sticky;top:0;text-align:left;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:11px 14px;background:#FBF8F5;border-bottom:1px solid var(--line);white-space:nowrap}
.t td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.t tr:last-child td{border-bottom:0}
.t tbody tr.click{cursor:pointer} .t tbody tr.click:hover{background:#FCF9F7}
.t .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.t tr.dim td{opacity:.55}
.empty{padding:48px 20px;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-family:var(--serif);font-size:19px;margin-bottom:4px}
.skeleton{background:linear-gradient(90deg,#efe8e2 25%,#f7f2ee 37%,#efe8e2 63%);background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:10px;min-height:18px}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* tarjetas de lista en celular */
.cards-m{display:none}
@media (max-width:760px){
  .hide-m{display:none!important}
  .t-resp thead{display:none}
  .t-resp,.t-resp tbody,.t-resp tr,.t-resp td{display:block;width:100%}
  .t-resp tr{padding:12px 14px;border-bottom:1px solid var(--line-2);position:relative}
  .t-resp td{padding:2px 0;border:0}
  .t-resp td[data-l]::before{content:attr(data-l);display:inline-block;min-width:92px;color:var(--muted);font-size:12px;font-weight:700}
  .t-resp td.num{text-align:left}
  .t-resp td.title{font-weight:800;font-size:15.5px;color:var(--ink);margin-bottom:2px}
  .t-resp td.title::before{display:none}
}

/* KPIs */
.kpi{padding:16px 18px;position:relative;overflow:hidden}
.kpi .l{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font-family:var(--serif);font-size:27px;font-weight:600;color:var(--ink);margin:6px 0 2px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi .s{font-size:12.5px;color:var(--muted);font-weight:600}
.kpi .ic{position:absolute;right:14px;top:14px;color:var(--rose);opacity:.55}
.kpi.warn .v{color:var(--bad)}
.up{color:var(--ok)} .down{color:var(--bad)}
.chart{width:100%;height:210px;display:block}
.bar-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;gap:10px;align-items:center;margin:9px 0;font-size:13.5px}
.bar-row .bar{height:9px;background:#f1e9e4;border-radius:9px;overflow:hidden}
.bar-row .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--rose-deep));border-radius:9px}
.list-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.list-row:last-child{border-bottom:0}

/* modal */
.modal-back{position:fixed;inset:0;z-index:60;background:#16110f80;display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow:auto;animation:fade .15s}
.modal{background:#fff;border-radius:18px;box-shadow:var(--sh-lg);width:min(var(--w,560px),100%);margin:auto 0;animation:pop .18s ease}
.modal-head{display:flex;align-items:center;gap:10px;padding:18px 22px 12px}
.modal-head h3{font-size:21px;flex:1}
.modal-body{padding:6px 22px 20px}
.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 22px 20px;border-top:1px solid var(--line-2);flex-wrap:wrap}
.modal-foot .left{margin-right:auto}
@keyframes fade{from{opacity:0}} @keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}}
@media (max-width:640px){.modal-back{padding:0;align-items:flex-end}.modal{border-radius:20px 20px 0 0;margin:0;max-height:94vh;overflow:auto}.modal-foot .btn{flex:1}}

#toasts{position:fixed;z-index:90;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px))}
.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--sh-lg);font-weight:600;font-size:14px;display:flex;gap:10px;align-items:flex-start;animation:pop .2s}
.toast.ok{border-left:4px solid #4cc38a} .toast.err{border-left:4px solid #ff7b72} .toast.warn{border-left:4px solid #f2b74a}
@media (max-width:980px){#toasts{bottom:calc(var(--tab-h) + var(--safe-b) + 10px);left:12px;right:12px;max-width:none}}

.banner{padding:11px 14px;border-radius:11px;font-size:13.5px;font-weight:600;margin-bottom:14px;display:flex;gap:10px;align-items:flex-start}
.banner.info{background:var(--info-bg);color:var(--info)} .banner.warn{background:var(--warn-bg);color:var(--warn)} .banner.bad{background:var(--bad-bg);color:var(--bad)} .banner.ok{background:var(--ok-bg);color:var(--ok)}

/* venta nueva */
.pos{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1000px){.pos{grid-template-columns:1fr}}
.prod-results{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.prod-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;width:100%;text-align:left;background:#fff;border-left:0;border-right:0;border-top:0}
.prod-item:last-child{border-bottom:0} .prod-item:hover,.prod-item:focus{background:var(--rose-soft);outline:none}
.line{display:grid;grid-template-columns:minmax(0,1fr) 84px 110px 96px 34px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-2)}
.line .input{min-height:38px;padding:6px 9px}
@media (max-width:640px){.line{grid-template-columns:1fr 1fr 1fr;} .line>.name{grid-column:1/-1}}
.totals{display:grid;gap:7px}
.totals .tr{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.totals .tr.big{font-size:21px;font-weight:800;font-family:var(--serif);padding-top:9px;border-top:1px dashed var(--line)}
.sticky-side{position:sticky;top:calc(var(--top-h) + 14px)}
@media (max-width:1000px){.sticky-side{position:static}}

/* detalles */
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:14px}
.kv dt{color:var(--muted);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;padding-top:2px} .kv dd{margin:0}

/* factura imprimible */
.invoice{background:#fff;color:#111;padding:28px;font-size:13px;max-width:780px;margin:0 auto}
.invoice h2{font-family:var(--serif);font-size:22px;margin:0}
.invoice .inv-head{display:flex;justify-content:space-between;gap:18px;border-bottom:2px solid #16110f;padding-bottom:12px;margin-bottom:12px}
.invoice table{width:100%;border-collapse:collapse;margin:12px 0}
.invoice th{background:#16110f;color:#fff;text-align:left;padding:7px 9px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.invoice td{padding:7px 9px;border-bottom:1px solid #e5e0db}
.invoice .num{text-align:right}
.invoice .tot{margin-left:auto;width:260px}
.invoice .tot div{display:flex;justify-content:space-between;padding:3px 0}
.invoice .tot .g{font-weight:800;font-size:16px;border-top:2px solid #16110f;margin-top:4px;padding-top:6px}
.invoice .anulada{color:#b4413a;font-weight:800;font-size:20px;border:3px solid #b4413a;display:inline-block;padding:2px 12px;transform:rotate(-6deg);margin-left:14px}
@media print{
  body{background:#fff}
  body>*:not(.print-root){display:none!important}
  .print-root{display:block!important}
  .modal-back{position:static;background:none;padding:0;display:block}
  .modal{box-shadow:none;width:100%;border-radius:0}
  .modal-head,.modal-foot,.no-print{display:none!important}
  .invoice{padding:0;max-width:none}
}
.print-root{display:none}
.skel-row{height:46px;margin:10px 0}
.no-scroll{overflow:hidden}
.mt{margin-top:14px} .mb{margin-bottom:14px}
.link{background:none;border:0;padding:0;color:var(--rose-deep);font-weight:700;cursor:pointer;text-decoration:underline}
.tag-list{display:flex;gap:6px;flex-wrap:wrap}
.w-sm{width:120px} 

/* anchos de barras */
.w-0{width:0%}.w-1{width:1%}.w-2{width:2%}.w-3{width:3%}.w-4{width:4%}.w-5{width:5%}.w-6{width:6%}.w-7{width:7%}.w-8{width:8%}.w-9{width:9%}.w-10{width:10%}.w-11{width:11%}.w-12{width:12%}.w-13{width:13%}.w-14{width:14%}.w-15{width:15%}.w-16{width:16%}.w-17{width:17%}.w-18{width:18%}.w-19{width:19%}.w-20{width:20%}.w-21{width:21%}.w-22{width:22%}.w-23{width:23%}.w-24{width:24%}.w-25{width:25%}.w-26{width:26%}.w-27{width:27%}.w-28{width:28%}.w-29{width:29%}.w-30{width:30%}.w-31{width:31%}.w-32{width:32%}.w-33{width:33%}.w-34{width:34%}.w-35{width:35%}.w-36{width:36%}.w-37{width:37%}.w-38{width:38%}.w-39{width:39%}.w-40{width:40%}.w-41{width:41%}.w-42{width:42%}.w-43{width:43%}.w-44{width:44%}.w-45{width:45%}.w-46{width:46%}.w-47{width:47%}.w-48{width:48%}.w-49{width:49%}.w-50{width:50%}.w-51{width:51%}.w-52{width:52%}.w-53{width:53%}.w-54{width:54%}.w-55{width:55%}.w-56{width:56%}.w-57{width:57%}.w-58{width:58%}.w-59{width:59%}.w-60{width:60%}.w-61{width:61%}.w-62{width:62%}.w-63{width:63%}.w-64{width:64%}.w-65{width:65%}.w-66{width:66%}.w-67{width:67%}.w-68{width:68%}.w-69{width:69%}.w-70{width:70%}.w-71{width:71%}.w-72{width:72%}.w-73{width:73%}.w-74{width:74%}.w-75{width:75%}.w-76{width:76%}.w-77{width:77%}.w-78{width:78%}.w-79{width:79%}.w-80{width:80%}.w-81{width:81%}.w-82{width:82%}.w-83{width:83%}.w-84{width:84%}.w-85{width:85%}.w-86{width:86%}.w-87{width:87%}.w-88{width:88%}.w-89{width:89%}.w-90{width:90%}.w-91{width:91%}.w-92{width:92%}.w-93{width:93%}.w-94{width:94%}.w-95{width:95%}.w-96{width:96%}.w-97{width:97%}.w-98{width:98%}.w-99{width:99%}.w-100{width:100%}
.noscript{padding:2rem;font-family:sans-serif}
.line .name .check{min-height:28px}
@media (max-width:640px){.line{grid-template-columns:1fr 1fr 1fr 34px}.line>.name{grid-column:1/-1}}
