 :root{
      --bg:#fff;
      --text:#000000;
      --border:#e8e8e8;
      --card:#ffffff;
    }
    
    .quote_page_wrap{max-width:1180px; margin:0 auto; padding:22px 14px 50px;}
    .quote_page_card{
      background:var(--card);
      border:1px solid var(--border);
      padding:18px;
    }
    .quote_page_header{
      display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap;
      margin-bottom:14px;
    }
    .quote_page_title{
      margin:0; font-size:28px; letter-spacing:.2px;
      display:flex; align-items:center; gap:10px;
    }
    .quote_page_title i{font-size:18px;}
    .quote_page_sub{
      margin:6px 0 0; font-size:13px; opacity:.75; max-width:720px;
    }

    .quote_page_grid{
      display:grid;
      grid-template-columns: repeat(4, minmax(100px, 1fr));
      gap:10px;
      margin-top:12px;
    }

    .quote_page_field label{
      display:block; font-size:12px; margin:0 0 6px; opacity:.8;
    }
    .quote_page_select,
    .quote_page_textarea{
      width:100%;
      border:1px solid var(--border);
      outline:1px solid transparent;
      background:#fff;
      padding:12px 12px;
      border-radius:0;
      color:var(--text);
      font-size:14px;
    }
    .quote_page_select:focus,
    .quote_page_textarea:focus{
      outline-color: var(--border);
    }

    .quote_page_qty_row{
      display:flex; gap:10px; align-items:flex-end;
    }

    .quote_page_divider{
      height:1px; background:var(--border);
      margin:16px 0;
    }

    .quote_page_h3{
      margin:0 0 10px;
      font-size:25px;
      letter-spacing:.2px;
      display:flex; align-items:center; gap:10px;
    }

    .quote_page_checks{
      display:grid;
      grid-template-columns: repeat(3, minmax(220px, 1fr));
      gap:10px;
    }

    .quote_page_check{
      border:1px solid var(--border);
      padding:12px;
      background:#fff;
      border-radius:0;
      display:flex;
      gap:10px;
      align-items:flex-start;
    }

    .quote_page_check input{
      margin-top:2px;
      width:18px; height:18px;
      accent-color:#000;
      outline:1px solid var(--border);
    }
    .quote_page_check_title{font-size:13px; margin:0; font-weight:600;}
    .quote_page_check_sub{font-size:12px; margin:6px 0 0; opacity:.8;}

    .quote_page_summary{
      margin-top:14px;
      border:1px solid var(--border);
      background:#fff;
      padding:14px;
    }
    .quote_page_summary h2{
      margin:0 0 12px;
      font-size:25px;
      display:flex; align-items:center; gap:10px;
    }
    .quote_page_summary_grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(220px, 1fr));
      gap:10px;
    }
    .quote_page_summary_item{
      border:1px solid var(--border);
      padding:10px 12px;
      background:#fff;
    }
    .quote_page_summary_item .k{font-size:11px; opacity:.75; margin-bottom:6px;}
    .quote_page_summary_item .v{font-size:13px; font-weight:600; word-break:break-word;}

    .quote_page_textarea{
      min-height:110px;
      resize:vertical;
      margin-top:10px;
    }

    .quote_page_total_box{
      margin-top:12px;
      border:1px solid var(--border);
      background:#fff;
      padding:14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
    }
    .quote_page_total_label{
      font-size:12px; opacity:.75;
      display:flex; align-items:center; gap:8px;
    }
    .quote_page_total_value{
      font-size:22px;
      font-weight:800;
      letter-spacing:.2px;
    }

    .quote_page_actions{
      margin-top:12px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .quote_page_btn{
      border:1px solid var(--border);
      background:#000;
      color:#fff;
      padding:12px 14px;
      cursor:pointer;
      border-radius:0;
      font-size:14px;
      display:inline-flex;
      align-items:center;
      gap:10px;
      text-decoration:none;
      justify-content:center;
    }
    .quote_page_btn_secondary{
      background:#fff;
      color:#000;
    }

    .quote_page_note{
      margin-top:10px;
      font-size:12px;
      opacity:.75;
    }

    @media (max-width: 980px){
      .quote_page_grid{grid-template-columns:repeat(2, minmax(180px, 1fr));}
      .quote_page_checks{grid-template-columns:repeat(1, minmax(220px, 1fr));}
      .quote_page_summary_grid{grid-template-columns:repeat(1, minmax(220px, 1fr));}
    }