:root{--bg:#14171c;--panel:#1b2027;--panel2:#232a33;--line:#323b47;--ink:#e8ecf1;--mute:#98a3b1;--acc:#e5493a;--acc2:#ffb020;--ok:#3fb27f}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:14px/1.4 "Segoe UI",system-ui,Arial,sans-serif;display:flex;flex-direction:column;min-height:100vh}
button,select,input,textarea{font:inherit;color:inherit}
.top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:10px 16px;background:#0f1216;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:flex;gap:10px;align-items:center;margin-right:auto}
.brand b{display:block;font-size:15px}.brand small{color:var(--mute);font-size:11px}
.logo{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--acc),var(--acc2));position:relative}
.logo:after{content:"";position:absolute;inset:7px 9px;border:2px solid #fff;border-radius:3px 3px 8px 8px;border-top-width:5px}
.tabs{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.tabs button{background:none;border:0;padding:8px 14px;cursor:pointer;color:var(--mute)}
.tabs button.on{background:var(--acc);color:#fff;font-weight:600}
.tabs.alt button.on{background:#2f6fed}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.actions button,.btn{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}
.actions button:hover,.btn:hover{border-color:#5b6878}
.actions .primary{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.layout{display:grid;grid-template-columns:340px 1fr;flex:1;min-height:0}
#panel{background:var(--panel);border-right:1px solid var(--line);overflow:auto;max-height:calc(100vh - 62px);position:sticky;top:62px;padding:8px 0 40px}
#stage{padding:14px;overflow:auto;min-width:0}
#sheetWrap svg{width:100%;height:auto;display:block;background:#fff;border-radius:6px;box-shadow:0 8px 30px #0008}
#fichaWrap{background:#fff;color:#18202a;border-radius:6px;padding:22px 26px;max-width:1100px;margin:0 auto}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:11px 16px;font-weight:600;list-style:none;display:flex;justify-content:space-between}
summary:after{content:"＋";color:var(--mute)}details[open] summary:after{content:"－"}
summary::-webkit-details-marker{display:none}
.sec{padding:2px 16px 14px;display:grid;gap:10px}
.fld{display:grid;gap:4px}.fld>span,.lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
input[type=text],input[type=date],select,textarea{width:100%;background:#10141a;border:1px solid var(--line);border-radius:7px;padding:7px 9px}
textarea{min-height:64px;resize:vertical}
.chk{display:flex;gap:8px;align-items:flex-start;cursor:pointer;padding:3px 0}
.chk input{margin-top:3px;accent-color:var(--acc)}
.chk small{display:block;color:var(--mute);font-size:11px}
.seg{display:flex;flex-wrap:wrap;gap:4px}
.seg button{flex:1;min-width:64px;background:#10141a;border:1px solid var(--line);border-radius:7px;padding:6px 8px;cursor:pointer;font-size:12px}
.seg button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.sw{display:flex;gap:7px;flex-wrap:wrap}
.sw button{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);cursor:pointer}
.sw button.on{border-color:#fff;box-shadow:0 0 0 2px var(--acc)}
.kits{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kits button{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:10px;text-align:left;cursor:pointer}
.kits button:hover{border-color:var(--acc)}
.kits b{display:block;font-size:13px}.kits small{color:var(--mute);font-size:11px;line-height:1.25;display:block}
.grp{font-size:11px;color:var(--acc2);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}
.only-pants{display:none}
body[data-view=pants] .only-pants{display:block}
body[data-view=pants] .only-jacket{display:none}
body[data-tab=plano] #fichaWrap,body[data-tab=forro] #fichaWrap{display:none}
body[data-tab=ficha] #sheetWrap,body[data-tab=espec] #sheetWrap{display:none}
.foot{padding:10px 16px;color:var(--mute);font-size:11px;border-top:1px solid var(--line)}
/* ficha */
#fichaWrap h2{margin:0 0 4px;font-size:22px}#fichaWrap h3{margin:22px 0 8px;font-size:15px;border-bottom:2px solid #18202a;padding-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
#fichaWrap .sub{color:#566;margin:0 0 14px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.box{border:1px solid #cfd6de;border-radius:8px;padding:12px 14px}
.box h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.box.in h4{color:#16794f}.box.out h4{color:#b3261e}
.box ul{margin:0;padding:0;list-style:none}
.box li{padding:4px 0 4px 22px;position:relative;border-bottom:1px dashed #e1e6ec;font-size:13px}
.box li:last-child{border:0}
.box.in li:before{content:"✓";position:absolute;left:0;color:#16794f;font-weight:700}
.box.out li:before{content:"✕";position:absolute;left:0;color:#b3261e;font-weight:700}
.box li small{display:block;color:#566;font-size:11.5px}
.box.out li{color:#6a7480}
table.t{width:100%;border-collapse:collapse;font-size:12.5px}
table.t th,table.t td{border:1px solid #cfd6de;padding:6px 8px;text-align:left;vertical-align:top}
table.t th{background:#eef1f5;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.chip{display:inline-block;padding:1px 8px;border-radius:99px;background:#eef1f5;font-size:11px}
table.sp th{width:170px;background:#eef1f5;font-size:11px}
table.sp textarea{width:100%;border:0;background:transparent;color:#18202a;font:inherit;font-size:12.5px;resize:vertical;padding:0;min-height:20px}
table.sp textarea.ov{background:#fff4d6}
#printArea{display:none}
@media (max-width:900px){
  .layout{grid-template-columns:1fr}
  #panel{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line)}
  .fgrid{grid-template-columns:1fr}
  .top{position:static}
}
@page{size:A4 landscape;margin:8mm}
@media print{
  body{background:#fff;display:block}
  .top,.layout,.foot{display:none!important}
  #printArea{display:block;color:#000}
  #printArea svg{width:100%;height:auto;page-break-after:always;display:block}
  #printArea .fp{page-break-after:always}
  #printArea .fp:last-child{page-break-after:auto}
  #printArea #fichaWrap,#printArea .fich{display:block!important;box-shadow:none;padding:0}
}
