:root{
  --bg:#FBFBFC;--panel:#F3F3F6;--card:#FFFFFF;--ink:#161619;--muted:#86868B;
  --hair:#E6E6EC;--accent:#2438C4;--accent-soft:#EDEFFB;--ok:#1F8A54;--warn:#C0392B;
  --shadow:0 1px 2px rgba(20,20,30,.04),0 8px 30px rgba(20,20,30,.06);--radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
.mono{font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum"}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px}
a{color:inherit}

/* topbar */
.topbar{position:sticky;top:0;z-index:20;background:rgba(251,251,252,.72);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hair)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:52px}
.brand{font-family:'Space Grotesk';font-weight:600;font-size:15px;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.brand span{color:var(--muted);font-weight:400}
.nav{display:flex;gap:26px;font-size:13.5px;color:var(--muted)}
.nav a{color:inherit;text-decoration:none;transition:color .2s}
.nav a:hover{color:var(--ink)}
.nav a.active{color:var(--ink);font-weight:500}
.crumb{font-size:13.5px;color:var(--muted)}
.crumb a{color:inherit;text-decoration:none}.crumb a:hover{color:var(--ink)}

/* head / hero */
.head{padding:56px 0 8px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:14px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(31,138,84,.14)}
.dot.off{background:var(--muted);box-shadow:0 0 0 3px rgba(134,134,139,.14)}
h1{font-family:'Space Grotesk';font-size:clamp(38px,6vw,58px);font-weight:600;line-height:1.02;letter-spacing:-.03em}
.lead{margin-top:12px;font-size:17px;color:var(--muted)}

.hero{padding:48px 0 8px;display:grid;grid-template-columns:120px 1fr;gap:26px;align-items:center}
.hthumb{background:linear-gradient(160deg,#FFFFFF,#EFEFF4);border:1px solid var(--hair);border-radius:16px;height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hthumb img{width:100%;height:100%;object-fit:cover}
.hthumb svg{width:58%}
.hero h1{font-size:clamp(34px,5vw,50px)}
.subtitle{margin-top:8px;font-size:16px;color:var(--muted)}
.subtitle b{color:var(--ink);font-weight:500}

/* toolbar / segmented */
.toolbar{position:sticky;top:52px;z-index:15;background:rgba(251,251,252,.82);backdrop-filter:blur(14px);
  padding:22px 0 18px;margin-top:26px;border-bottom:1px solid var(--hair)}
.toolbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.segmented{display:inline-flex;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:4px;gap:2px;flex-wrap:wrap}
.seg{border:0;background:transparent;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--muted);
  padding:7px 15px;border-radius:9px;cursor:pointer;transition:all .18s;white-space:nowrap;display:flex;align-items:center;gap:7px}
.seg .count{font-size:11px;color:var(--muted);background:rgba(0,0,0,.05);border-radius:20px;padding:1px 7px}
.seg:hover{color:var(--ink)}
.seg.active{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.seg.active .count{background:var(--accent-soft);color:var(--accent)}
.seg.newcat{color:var(--accent);padding:7px 11px}
.seg.newcat .plus{font-size:15px;color:var(--accent)}
.seg.newcat:hover{background:var(--accent-soft)}
.searchbox{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--hair);border-radius:11px;padding:8px 13px;min-width:220px}
.searchbox input{border:0;outline:0;font-family:inherit;font-size:13.5px;background:transparent;color:var(--ink);width:100%}
.searchbox input::placeholder{color:var(--muted)}
.searchbox .ic{color:var(--muted);font-size:14px}
.toolbar-actions{display:flex;gap:12px;align-items:center}

/* mini modal */
.scrim{position:fixed;inset:0;background:rgba(20,20,30,.28);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;z-index:40;opacity:0;transition:opacity .2s;padding:20px}
.scrim.on{display:flex;opacity:1}
.modal{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:26px;width:340px;
  box-shadow:0 20px 60px rgba(20,20,30,.2);transform:translateY(8px);transition:transform .2s;max-height:90vh;overflow:auto}
.modal.wide{width:480px}
.modal.stacked{width:420px}
.money-field{position:relative;display:flex;align-items:center}
.money-field .prefix{position:absolute;left:13px;font-size:14.5px;color:var(--muted);font-family:'JetBrains Mono';pointer-events:none}
.money-field input.money-display{padding-left:38px;font-family:'JetBrains Mono';font-feature-settings:"tnum"}
.fixed-value{padding:11px 13px;background:var(--panel);border:1px solid var(--hair);border-radius:11px;font-size:14.5px;color:var(--ink);font-weight:500}
.link-delete-btn{width:100%;margin-top:10px;background:transparent;border:1px solid var(--hair);color:var(--warn);font-family:inherit;font-weight:500;font-size:13px;padding:10px;border-radius:11px;cursor:pointer;transition:all .16s}
.link-delete-btn:hover{background:rgba(192,57,43,.08);border-color:var(--warn)}
.cost-history{margin-top:8px;border:1px solid var(--hair);border-radius:11px;overflow:hidden}
.cost-history .chrow{display:flex;justify-content:space-between;padding:8px 12px;font-size:12.5px;border-top:1px solid var(--hair)}
.cost-history .chrow:first-child{border-top:0}
.cost-history .chrow .chval{font-family:'JetBrains Mono';color:var(--ink)}
.cost-history .chrow .chdate{color:var(--muted)}
.scrim.on .modal{transform:none}
.modal h3{font-family:'Space Grotesk';font-size:18px;font-weight:600;letter-spacing:-.01em}
.modal p{font-size:13px;color:var(--muted);margin-top:5px;margin-bottom:18px}
.modal .row{display:flex;gap:10px;margin-top:18px}
.modal button{flex:1;font-family:inherit;font-weight:500;font-size:14px;padding:11px;border-radius:11px;cursor:pointer;border:1px solid var(--hair);background:var(--card);color:var(--ink);transition:all .18s}
.modal button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.modal button.primary:hover{background:#1c2ea8}
.modal button.ghost:hover{border-color:#CFCFDC}
.addbtn{border:1px solid var(--hair);background:var(--card);color:var(--ink);font-family:inherit;font-weight:500;
  font-size:13.5px;padding:9px 16px;border-radius:11px;cursor:pointer;display:flex;align-items:center;gap:7px;transition:border-color .18s;text-decoration:none;white-space:nowrap}
.addbtn:hover{border-color:#CFCFDC}
.addbtn .plus{font-size:16px;line-height:1;color:var(--accent)}

/* grid / product cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:34px 0 70px}
.pcard{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);padding:20px;
  text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#D9D9E4}
.thumb{background:linear-gradient(160deg,#FFFFFF,#EFEFF4);border:1px solid var(--hair);border-radius:12px;
  height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb svg{width:52%}
.thumb .mono{font-size:28px;color:#C7C7D2}
.ptype{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600}
.pname{font-family:'Space Grotesk';font-size:20px;font-weight:600;letter-spacing:-.01em;margin-top:8px}
.pbrand{font-size:13.5px;color:var(--muted);margin-top:2px}
.pmeta{display:flex;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--hair);align-items:flex-start}
.pmeta .m{font-size:12px;color:var(--muted)}
.pmeta .m b{display:block;color:var(--ink);font-size:14px;font-weight:500;margin-top:2px}
.status{margin-left:auto;align-self:flex-start;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(31,138,84,.14)}

.empty{grid-column:1/-1;text-align:center;padding:60px 0;color:var(--muted);font-size:15px}

/* cards de fornecedor */
.scard{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);padding:22px;
  text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px;transition:transform .18s,box-shadow .18s,border-color .18s}
.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#D9D9E4}
.scard .tav{width:46px;height:46px;font-size:17px;border-radius:13px;margin-bottom:10px}
.scard .sub.editable{margin-top:2px;font-size:13.5px}
.scard .pmeta{margin-top:16px;padding-top:14px}

@media (prefers-reduced-motion:no-preference){
  .pcard{animation:rise .5s cubic-bezier(.2,.7,.2,1) backwards}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}}
}

/* sections (dossiê) */
section{padding:44px 0;border-top:1px solid var(--hair)}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px;flex-wrap:wrap}
.sec-head .l{display:flex;align-items:baseline;gap:12px}
h2{font-family:'Space Grotesk';font-size:15px;font-weight:600;letter-spacing:.02em}
.sec-head .meta{font-size:13px;color:var(--muted)}
.mini{border:1px solid var(--hair);background:var(--card);color:var(--ink);font-family:inherit;font-weight:500;font-size:13px;padding:7px 13px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .18s;text-decoration:none}
.mini:hover{border-color:#CFCFDC}.mini .plus{color:var(--accent);font-size:15px;line-height:1}

/* contatos do fornecedor */
.contacts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.contact-card{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:2px}
.contact-card .cf{display:flex;gap:6px;font-size:13px;padding:3px 0}
.contact-card .cf .cl{color:var(--muted);flex-shrink:0;min-width:74px}
.contact-card .cf .cv{color:var(--ink);word-break:break-word}
.contact-card .cactions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair)}
.contact-card .cactions button{flex:1;border:1px solid var(--hair);background:var(--bg);color:var(--muted);font-family:inherit;font-size:12px;font-weight:500;padding:7px;border-radius:9px;cursor:pointer;transition:all .16s}
.contact-card .cactions button:hover{color:var(--ink);border-color:#CFCFDC}
.contact-card .cactions button.danger:hover{color:var(--warn);border-color:var(--warn)}

/* specs */
.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.spec{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:16px}
.spec .sl{font-size:11.5px;color:var(--muted);letter-spacing:.03em}
.spec .sv{font-size:19px;font-weight:500;margin-top:6px}
.spec .sv.mono{font-family:'JetBrains Mono';font-feature-settings:"tnum"}
.spec .sv a{color:var(--accent);text-decoration:none;font-size:14px}

/* documentação */
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tag{border:1px solid var(--hair);background:var(--card);font-family:inherit;font-size:12.5px;font-weight:500;color:var(--muted);padding:6px 12px;border-radius:20px;cursor:pointer;transition:all .16s}
.tag:hover{color:var(--ink)}
.tag.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.tag.add{color:var(--accent);border-style:dashed;background:transparent}
.files{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.file{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:16px;text-decoration:none;color:inherit;display:flex;gap:13px;align-items:flex-start;transition:transform .16s,box-shadow .16s,border-color .16s;cursor:pointer}
.file:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#D9D9E4}
.ficon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono';font-size:10px;font-weight:500;color:#fff;flex-shrink:0}
.ficon.pdf{background:#C0392B}.ficon.gll{background:var(--accent)}.ficon.xls{background:#1F8A54}.ficon.doc{background:#3A3A42}.ficon.img{background:#C0392B}.ficon.link{background:#6E6E78}.ficon.gal{background:#8B5CF6}.ficon.outro{background:#6E6E78}
.file .name{font-size:14px;font-weight:500}
.file .sub{font-size:12px;color:var(--muted);margin-top:2px}
.file .sub.editable{border-radius:5px;padding:1px 4px;margin-left:-4px;cursor:text;transition:background .14s,box-shadow .14s;outline:none;display:inline-block}
.file .sub.editable:hover{background:var(--accent-soft);box-shadow:inset 0 -1px 0 rgba(36,56,196,.3)}
.file .sub.editable:focus{background:#fff;box-shadow:0 0 0 2px var(--accent);color:var(--ink)}
.file .sub.editable:empty:before{content:attr(data-placeholder);color:#C7C7D2}
.file .ftag{font-size:10.5px;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:1px 6px;margin-top:7px;display:inline-block;margin-right:4px}

/* placeholder blocks (preços / mural / utilizada em) */
.placeholder-block{background:var(--panel);border:1px dashed var(--hair);border-radius:16px;padding:34px;text-align:center;color:var(--muted);font-size:13.5px}
.placeholder-block b{color:var(--ink);display:block;font-family:'Space Grotesk';font-size:15px;font-weight:600;margin-bottom:6px}
.placeholder-block.small{padding:18px;text-align:left;border-radius:14px}
.placeholder-block.small b{font-size:13.5px;margin-bottom:4px}

/* visualizador overlay */
.viewer{position:fixed;inset:0;z-index:50;display:none;flex-direction:column;background:rgba(20,20,30,.55);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s}
.viewer.on{display:flex;opacity:1}
.vbar{display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--card);border-bottom:1px solid var(--hair)}
.vbar .vic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono';font-size:10px;font-weight:500;color:#fff;flex-shrink:0}
.vbar .vname{font-weight:600;font-size:14.5px}
.vbar .vsub{font-size:12px;color:var(--muted)}
.vbar .vspacer{margin-left:auto}
.vbtn{border:1px solid var(--hair);background:var(--card);color:var(--ink);font-family:inherit;font-weight:500;font-size:13.5px;padding:9px 16px;border-radius:11px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .16s;text-decoration:none}
.vbtn:hover{border-color:#CFCFDC}
.vbtn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.vbtn.primary:hover{background:#1c2ea8}
.vclose{width:38px;height:38px;border-radius:11px;border:1px solid var(--hair);background:var(--card);cursor:pointer;font-size:18px;color:var(--muted);transition:all .16s}
.vclose:hover{color:var(--ink);border-color:#CFCFDC}
.vstage{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:32px}
.vpaper{background:#fff;border-radius:10px;box-shadow:0 12px 50px rgba(0,0,0,.28);width:100%;max-width:820px;min-height:70vh;overflow:hidden}
.vpdf-embed{width:100%;height:78vh;border:0;display:block}
.vimg-full{max-width:100%;max-height:78vh;display:block;margin:0 auto;border-radius:6px}
.vxls{padding:0}
.vxls .vtabs{display:flex;gap:2px;padding:10px 14px 0;background:#F7F7F9;border-bottom:1px solid #ECECEF;overflow-x:auto}
.vxls .vtab{font-size:12px;padding:7px 14px;border-radius:8px 8px 0 0;background:#ECECEF;color:#666;cursor:pointer;white-space:nowrap}
.vxls .vtab.on{background:#fff;color:var(--ink);font-weight:500}
.vxls table{width:100%;border-collapse:collapse;font-size:13px}
.vxls td,.vxls th{border:1px solid #ECECEF;padding:9px 12px;text-align:left}
.vxls th{background:#FAFAFB;font-weight:500;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.vdoc{padding:56px 64px;color:#2a2a2f;text-align:center}
.vdoc .ph{font-family:'Space Grotesk';font-weight:600;font-size:22px;margin-bottom:10px}
.vdoc .psub{color:#888;font-size:13px}
.vgal-nav{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px}
.vgal-nav button{width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);background:var(--card);cursor:pointer;font-size:16px}
.vgal-nav span{font-size:12.5px;color:var(--muted)}
@media (max-width:560px){.vbar .vsub{display:none}.vstage{padding:14px}}

/* preços */
.pgroup{margin-bottom:22px}
.pgroup:last-child{margin-bottom:0}
.pglabel{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.pglabel span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.pglabel small{font-size:12.5px;color:var(--muted)}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.price{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:18px;position:relative}
.price.best{border-color:var(--ok);box-shadow:0 0 0 3px rgba(31,138,84,.08)}
.price.sell{border-color:var(--accent);box-shadow:0 0 0 3px rgba(36,56,196,.06)}
.price .src{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.price .val{font-family:'Space Grotesk';font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:8px}
.price .val small{font-size:13px;color:var(--muted);font-weight:400;font-family:'Inter'}
.price .date{font-size:11.5px;color:var(--muted);margin-top:8px}
.badge{position:absolute;top:14px;right:14px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ok);background:rgba(31,138,84,.1);border-radius:6px;padding:2px 7px}
.badge.sellb{color:var(--accent);background:var(--accent-soft)}
.pmargin{background:var(--ink);border-radius:14px;padding:18px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.pmargin .mk{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.pmargin .mv{font-size:30px;font-weight:600;color:#7DDCA4;margin-top:6px;letter-spacing:-.01em}
.pmargin .ms{font-size:11.5px;color:rgba(255,255,255,.55);margin-top:6px}

/* mural interno */
.composer{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:16px;display:flex;gap:12px;margin-bottom:20px}
.av{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:600;font-size:14px;flex-shrink:0}
.composer .c-body{flex:1}
.composer textarea{width:100%;border:0;outline:0;resize:none;font-family:inherit;font-size:14.5px;color:var(--ink);background:transparent;min-height:24px;line-height:1.5}
.composer textarea::placeholder{color:var(--muted)}
.c-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.postbtn{background:var(--accent);color:#fff;border:0;font-family:inherit;font-weight:500;font-size:13.5px;padding:8px 18px;border-radius:10px;cursor:pointer;transition:background .18s}
.postbtn:hover{background:#1c2ea8}

/* utilizada em */
.rel-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.rel-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.rel-label .rc{background:var(--panel);color:var(--muted);border-radius:20px;font-size:11px;padding:1px 8px}
.tcard{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:14px 16px;text-decoration:none;color:inherit;display:flex;align-items:center;gap:13px;margin-bottom:10px;transition:border-color .16s,background .16s,transform .16s}
.tcard:hover{border-color:#D9D9E4;background:#FCFCFE;transform:translateX(2px)}
.tav{width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:600;font-size:14px;flex-shrink:0}
.tcard .tn{font-size:14px;font-weight:500}
.tcard .tt{font-size:12px;color:var(--muted);margin-top:2px}
.tcard .tedit{flex-shrink:0;margin-left:auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--hair);background:var(--card);color:var(--muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .16s}
.tcard .tedit:hover{color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}
.rel-hint{font-size:12px;color:var(--muted);line-height:1.5;margin-top:4px;padding:0 2px}

footer{padding:36px 0 60px;color:var(--muted);font-size:13px;border-top:1px solid var(--hair)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* --- formulário de cadastro --- */
.form-card{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);padding:30px;margin-bottom:24px}
.form-card h2{margin-bottom:18px}
.field-row{margin-bottom:18px}
.field-row:last-child{margin-bottom:0}
.field-row label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:7px}
.field-row .hint{font-size:12px;color:var(--muted);margin-top:6px}
.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field-row-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
input[type=text],input[type=number],input[type=url],select,textarea{
  width:100%;font-family:inherit;font-size:14.5px;padding:11px 13px;border:1px solid var(--hair);
  border-radius:11px;outline:none;transition:border-color .18s;background:var(--card);color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
textarea{resize:vertical;min-height:90px;line-height:1.5}
input[type=file]{width:100%;font-family:inherit;font-size:13.5px;padding:9px;border:1px dashed var(--hair);border-radius:11px;background:var(--panel);color:var(--muted)}
.checkline{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink)}
.checkline input{width:auto}

.repeat-block{border:1px solid var(--hair);border-radius:14px;padding:16px;margin-bottom:12px;position:relative;background:var(--bg)}
.repeat-block .rm{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:8px;border:1px solid var(--hair);background:var(--card);cursor:pointer;color:var(--muted);font-size:14px;line-height:1}
.repeat-block .rm:hover{color:var(--warn);border-color:var(--warn)}
.repeat-add{border:1px dashed var(--hair);background:transparent;color:var(--accent);font-family:inherit;font-weight:500;font-size:13.5px;padding:11px;border-radius:11px;cursor:pointer;width:100%;transition:all .18s}
.repeat-add:hover{background:var(--accent-soft)}

.suggest-wrap{position:relative}
.suggest-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--hair);
  border-radius:12px;box-shadow:var(--shadow);z-index:5;max-height:200px;overflow:auto;display:none}
.suggest-list.on{display:block}
.suggest-list .opt{padding:9px 13px;font-size:13.5px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}
.suggest-list .opt:hover{background:var(--accent-soft)}
.suggest-list .opt .ty{font-size:11px;color:var(--muted)}

.formfoot{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}
.btn{font-family:inherit;font-weight:500;font-size:14.5px;padding:12px 22px;border-radius:12px;cursor:pointer;border:1px solid var(--hair);background:var(--card);color:var(--ink);transition:all .18s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn:hover{border-color:#CFCFDC}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.primary:hover{background:#1c2ea8}
.pill-select{display:flex;flex-wrap:wrap;gap:8px}
.pill-select .popt{border:1px solid var(--hair);background:var(--card);border-radius:20px;padding:7px 14px;font-size:13px;cursor:pointer;color:var(--ink)}
.pill-select .popt.active{background:var(--ink);color:#fff;border-color:var(--ink)}

.flash{border-radius:14px;padding:14px 18px;font-size:13.5px;margin-bottom:20px}
.flash.ok{background:rgba(31,138,84,.1);color:var(--ok);border:1px solid rgba(31,138,84,.25)}
.flash.err{background:rgba(192,57,43,.08);color:var(--warn);border:1px solid rgba(192,57,43,.22)}

@media (max-width:860px){
  .grid{grid-template-columns:1fr 1fr}.nav{display:none}.wrap{padding:0 20px}
  .toolbar .wrap{flex-direction:column;align-items:stretch}.segmented{overflow-x:auto}
  .files,.prices,.specs-grid,.contacts-grid{grid-template-columns:1fr 1fr}.rel-grid{grid-template-columns:1fr}
  .field-row-2,.field-row-3{grid-template-columns:1fr}
}
@media (max-width:520px){
  .grid{grid-template-columns:1fr}.files,.prices,.specs-grid,.contacts-grid{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr}
}
