/* Калькулятор раскроя — стили страницы (палитра в :root темы) */

  .raskroy-page h1, .raskroy-page h2, .raskroy-page h3 { font-family:'Onest', sans-serif; }
  .raskroy-page .wrap { max-width:1180px; margin:0 auto; }

  .raskroy-page .head-tag {
    display:inline-block; font-size:12px; font-weight:700; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--blue-bright); background:var(--blue-soft);
    padding:6px 14px; border-radius:99px; margin-bottom:14px;
  }
  .raskroy-page h1 { font-size:34px; font-weight:800; letter-spacing:-.5px; margin-bottom:10px; }
  .raskroy-page .sub { color:var(--text-mid); max-width:640px; margin-bottom:36px; }

  .raskroy-page .grid { display:grid; grid-template-columns:430px 1fr; gap:28px; align-items:start; }
  @media (max-width:960px){ .raskroy-page .grid{ grid-template-columns:1fr; } }

  .raskroy-page .card {
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-lg); padding:26px;
  }
  .raskroy-page .card h2 { font-size:17px; font-weight:700; margin-bottom:18px; }

  .raskroy-page label.fl { display:block; font-size:12.5px; font-weight:600; color:var(--text-mid); margin:0 0 5px; }
  .raskroy-page .row { display:flex; gap:12px; margin-bottom:14px; }
  .raskroy-page .row > div { flex:1; }
  .raskroy-page input[type=number], .raskroy-page select {
    width:100%; padding:9px 12px; font:inherit; font-size:14px;
    border:1px solid var(--border); border-radius:var(--radius); background:var(--white);
    color:var(--text-dark); outline:none; transition:border-color .15s;
  }
  .raskroy-page input[type=number]:focus, .raskroy-page select:focus { border-color:var(--blue-bright); }

  .raskroy-page .chk { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text-mid);
         margin:4px 0 18px; cursor:pointer; user-select:none; }
  .raskroy-page .chk input { accent-color:var(--blue); width:16px; height:16px; }

  .raskroy-page .pieces-head { display:grid; grid-template-columns:1fr 1fr 72px 30px; gap:8px;
                 font-size:11.5px; font-weight:700; color:var(--text-light);
                 text-transform:uppercase; letter-spacing:.6px; margin-bottom:7px; }
  .raskroy-page .piece-row { display:grid; grid-template-columns:1fr 1fr 72px 30px; gap:8px; margin-bottom:8px; }
  .raskroy-page .del-btn {
    border:none; background:transparent; color:var(--text-light); font-size:18px;
    cursor:pointer; border-radius:var(--radius-sm); line-height:1;
  }
  .raskroy-page .del-btn:hover { color:var(--danger); }

  .raskroy-page .add-btn {
    display:block; width:100%; padding:9px; margin:4px 0 20px;
    border:1.5px dashed var(--blue-line); border-radius:var(--radius);
    background:transparent; color:var(--blue-bright); font:inherit; font-size:13.5px;
    font-weight:600; cursor:pointer; transition:background .15s;
  }
  .raskroy-page .add-btn:hover { background:var(--blue-soft); }

  .raskroy-page .calc-btn {
    width:100%; padding:14px; border:none; border-radius:var(--radius);
    background:var(--blue); color:var(--white); font-family:'Onest',sans-serif;
    font-size:15.5px; font-weight:700; cursor:pointer; transition:background .15s;
  }
  .raskroy-page .calc-btn:hover { background:var(--blue-bright); }

  .raskroy-page .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:22px; }
  .raskroy-page .stat {
    background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg);
    padding:18px 20px;
  }
  .raskroy-page .stat .num { font-family:'Onest',sans-serif; font-size:30px; font-weight:800; color:var(--blue); }
  .raskroy-page .stat .num small { font-size:15px; font-weight:600; color:var(--text-light); }
  .raskroy-page .stat .lbl { font-size:12.5px; color:var(--text-mid); margin-top:2px; }
  .raskroy-page .stat.warn .num { color:#B45309; }

  .raskroy-page .sheet-block { background:var(--white); border:1px solid var(--border);
                 border-radius:var(--radius-lg); padding:22px; margin-bottom:18px; }
  .raskroy-page .sheet-block h3 { font-size:14.5px; font-weight:700; margin-bottom:4px; }
  .raskroy-page .sheet-meta { font-size:12.5px; color:var(--text-mid); margin-bottom:12px; }
  .raskroy-page .sheet-svg { width:100%; height:auto; display:block; border-radius:var(--radius); }

  .raskroy-page .actions { display:flex; gap:12px; margin-top:6px; flex-wrap:wrap; }
  .raskroy-page .btn-ghost {
    padding:11px 22px; border:1.5px solid var(--blue-line); border-radius:var(--radius);
    background:var(--white); color:var(--blue); font:inherit; font-size:14px; font-weight:600;
    cursor:pointer; transition:all .15s;
  }
  .raskroy-page .btn-ghost:hover { border-color:var(--blue-bright); background:var(--blue-soft); }
  .raskroy-page .btn-accent {
    padding:11px 22px; border:none; border-radius:var(--radius);
    background:var(--accent); color:var(--text-dark); font:inherit; font-size:14px; font-weight:700;
    cursor:pointer;
  }
  .raskroy-page .btn-accent:hover { filter:brightness(1.04); }

  .raskroy-page .empty {
    border:1.5px dashed var(--blue-line); border-radius:var(--radius-lg);
    padding:60px 30px; text-align:center; color:var(--text-light); font-size:14.5px;
    background:var(--blue-soft);
  }
  .raskroy-page .err { color:var(--danger); font-size:13px; margin:-8px 0 12px; display:none; }
  .raskroy-page .toast {
    position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(80px);
    background:var(--text-dark); color:var(--white); font-size:13.5px; padding:11px 22px;
    border-radius:99px; opacity:0; transition:all .3s; pointer-events:none; z-index:50;
  }
  .raskroy-page .toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
