    body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:#0b1220; color:#e5e7eb; margin:0; }
    .wrap { max-width: 980px; margin: 0 auto; padding: 24px; }
    .card { background:#0f1a30; border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:18px; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
    h1 { font-size: 22px; margin: 0 0 16px; }
    .muted { color:#94a3b8; font-size: 13px; }
    .grid { display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
    @media (max-width: 760px){ .grid { grid-template-columns: 1fr; } }
    label { display:flex; align-items:center; gap:8px; font-size: 13px; color:#cbd5e1; margin-bottom:6px; }
    input, select, textarea {
      width: 100%;
      box-sizing: border-box;
      background:#0b1325;
      border:1px solid rgba(255,255,255,.10);
      color:#e5e7eb;
      border-radius:10px;
      padding:10px 12px;
      outline:none;
    }
    input:focus, select:focus, textarea:focus { border-color: rgba(59,130,246,.8); }
    .row { margin-bottom: 12px; }
    .btn {
      cursor:pointer;
      background:#2563eb;
      border:none;
      color:white;
      border-radius:12px;
      padding:11px 14px;
      font-weight:600;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:44px;
      text-decoration:none;
    }
    .btn:hover { filter: brightness(1.05); }
    .btn:disabled { opacity:.6; cursor:not-allowed; }
    .btn.secondary { background:#334155; }
    .btn.danger { background:#475569; }
    .totals { margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.10); }
    .line { display:flex; justify-content:space-between; gap:12px; padding:6px 0; }
    .success { background: rgba(16,185,129,.14); border:1px solid rgba(16,185,129,.35); padding:10px 12px; border-radius:12px; }
    .error { background: rgba(239,68,68,.14); border:1px solid rgba(239,68,68,.35); padding:10px 12px; border-radius:12px; }
    .warn { background: rgba(245,158,11,.14); border:1px solid rgba(245,158,11,.35); padding:10px 12px; border-radius:12px; color:#fde68a; }
    .checkboxRow { display:flex; align-items:center; gap:10px; margin-top: 10px; }
    .checkboxRow input { width:auto; }
    .hr { border-top:1px solid rgba(255,255,255,.10); margin:14px 0; }

    .qmark {
      display:inline-flex; align-items:center; justify-content:center;
      width:18px; height:18px; border-radius:999px;
      border:1px solid rgba(255,255,255,.25);
      color:#cbd5e1; font-size:12px; line-height:1;
      cursor:pointer; user-select:none;
    }
    .tooltip {
      position: absolute;
      z-index: 50;
      max-width: 320px;
      background:#0b1325;
      border:1px solid rgba(255,255,255,.15);
      padding:10px 12px;
      border-radius:12px;
      box-shadow: 0 12px 30px rgba(0,0,0,.35);
      color:#e5e7eb;
      font-size: 13px;
    }

    details.section {
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 14px;
      margin-top: 14px;
      background: rgba(11,19,37,.25);
      overflow: hidden;
    }
    details.section summary {
      list-style: none;
      cursor: pointer;
      padding: 12px 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      user-select: none;
    }
    details.section summary::-webkit-details-marker { display:none; }
    .sectionTitle { font-weight: 700; }
    .sectionHint { font-size: 12px; color:#94a3b8; }
    .chev { opacity: .8; transition: transform .15s ease; }
    details.section[open] .chev { transform: rotate(180deg); }
    details.section .sectionBody { padding: 6px 14px 14px; }

    details.section.locked summary {
      cursor: not-allowed;
      opacity: .55;
    }

    .modalBackdrop {
      position: fixed; inset:0; background: rgba(0,0,0,.55);
      display:none; align-items:center; justify-content:center;
      z-index: 200;
      padding: 18px;
    }
    .modal {
      width: 100%;
      max-width: 520px;
      background:#0f1a30;
      border:1px solid rgba(255,255,255,.12);
      border-radius: 14px;
      box-shadow: 0 20px 60px rgba(0,0,0,.55);
      padding: 16px;
    }
    .modal h3 { margin: 0 0 10px; font-size: 16px; }
    .modal .muted { margin-bottom: 14px; }
    .modalActions { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }

    .printUploadLinkBox {
      display:none;
      margin-top:12px;
      padding:14px;
      border:1px solid rgba(59,130,246,.35);
      background:rgba(37,99,235,.10);
      border-radius:12px;
    }
    .printUploadLinkBox.active {
      display:block;
    }
    .printUploadTitle {
      font-weight:700;
      margin-bottom:6px;
      color:#dbeafe;
    }
    .printUploadText {
      color:#cbd5e1;
      font-size:13px;
      margin-bottom:10px;
    }

    .spinner {
      width:16px;
      height:16px;
      border:2px solid rgba(255,255,255,.35);
      border-top-color:#fff;
      border-radius:50%;
      display:inline-block;
      animation: spin .8s linear infinite;
      flex:0 0 auto;
    }
    .hidden {
      display:none !important;
    }
    @keyframes spin {
      to { transform: rotate(360deg); }
    }