/* Keeps the inactive modal layer completely out of the page stacking context. */
.modal-layer[hidden] {
  display: none !important;
}

.admin-mobile-nav {
  display: none;
}

@media (max-width: 900px) {
  .admin-mobile-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin-bottom: 24px;
  }

  .admin-mobile-nav button {
    border: 1px solid #dfe4df;
    background: #fff;
    color: #17211f;
    padding: 9px 12px;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;
  }
}

.clickable-deal { cursor: pointer; }
.back-button { margin-bottom: 18px; }
.deal-card { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; background: #fff; border: 1px solid #dfe4df; padding: 28px; }
.deal-card h2 { margin: 0 0 10px; }
.deal-card h3, .notes h3 { margin-top: 0; }
.deal-summary > p { color: #64706b; font-size: 13px; }
.deal-summary a { display: block; color: #17211f; font-weight: 800; margin: 18px 0; }
.deal-summary label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.deal-summary select, .compact-form select, .compact-form textarea { border: 1px solid #dfe4df; padding: 11px; background: #fff; }
.compact-form { display: grid; gap: 10px; }
.compact-form textarea { min-height: 92px; resize: vertical; }
.quote-list, .note-list { display: grid; gap: 8px; margin-top: 18px; }
.quote-list button { background: #f5f3ec; padding: 12px; }
.notes { margin-top: 18px; background: #fff; border: 1px solid #dfe4df; padding: 28px; }
.note-list article { border-top: 1px solid #dfe4df; padding-top: 10px; }
.note-list p { margin: 0 0 4px; font-size: 13px; line-height: 1.55; }
.note-list small { color: #64706b; font-size: 11px; }
.quote-preview { position: fixed; inset: 0; z-index: 30; overflow: auto; background: rgba(10,15,13,.67); padding: 28px; }
.quote-sheet { max-width: 760px; min-height: 740px; margin: 0 auto; padding: 65px; background: #fff; position: relative; }
.quote-sheet h1 { font-family: Oswald, sans-serif; font-size: 40px; text-transform: uppercase; }
.quote-price { font-family: Oswald, sans-serif; font-size: 42px; margin: 55px 0; }
.quote-footer { display: flex; justify-content: space-between; border-top: 1px solid #dfe4df; margin-top: 150px; padding-top: 20px; font-size: 12px; }
.quote-sheet > p { line-height: 1.7; max-width: 560px; }
.catalog-add { margin: 0 0 18px; }
.product-editor .quote-sheet { min-height: auto; max-width: 620px; }
.product-editor input { border: 1px solid #dfe4df; padding: 12px; }
.analytics-report { margin-top: 18px; background: #fff; border: 1px solid #dfe4df; padding: 28px; max-width: 560px; }
.analytics-report h3 { margin-top: 0; }
.analytics-report ul { list-style: none; padding: 0; margin: 18px 0; }
.analytics-report li { display: flex; justify-content: space-between; border-top: 1px solid #dfe4df; padding: 10px 0; font-size: 13px; }
.release-list { display: grid; gap: 12px; max-width: 900px; }
.release-intro { padding: 22px 0; }
.release-intro h2 { margin: 0 0 12px; font-size: 30px; }
.release-intro > p:last-child { max-width: 640px; color: #64706b; font-size: 13px; line-height: 1.65; }
.release-card { background: #fff; border: 1px solid #dfe4df; padding: 22px 24px; }
.release-meta, .release-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.release-meta time, .release-foot span { color: #64706b; font-size: 11px; }
.release-state { border-radius: 20px; padding: 5px 9px; font-size: 10px; font-weight: 800; }
.success-state { color: #32653f; background: #e7f2e8; }
.failed-state { color: #8a2e1e; background: #fae9e5; }
.release-card h3 { margin: 16px 0 18px; font-size: 15px; }
.release-foot code { background: #edf0ed; padding: 5px 7px; font-size: 11px; }
.dashboard-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dashboard-cards article, .pipeline { background: #fff; border: 1px solid #dfe4df; padding: 24px; }
.dashboard-cards span, .pipeline span { display: block; color: #64706b; font-size: 12px; }
.dashboard-cards b { display: block; margin-top: 12px; font-family: Oswald, sans-serif; font-size: 44px; line-height: 1; }
.pipeline { margin-top: 18px; }
.pipeline h2 { margin: 0; }
.pipeline-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 24px; }
.pipeline-grid article { background: #f5f3ec; padding: 14px; }
.pipeline-grid b { display: block; margin-top: 8px; font-family: Oswald, sans-serif; font-size: 26px; }
@media (max-width: 650px) { .dashboard-cards { grid-template-columns: 1fr; } .pipeline-grid { grid-template-columns: repeat(2, 1fr); } }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #f5f3ec; }
.auth-card { width: min(440px, 100%); padding: 38px; background: #fff; border: 1px solid #dfe4df; }
.auth-card .logo { display: block; margin-bottom: 40px; }
.auth-card h1 { margin: 0 0 12px; font-family: Oswald, sans-serif; font-size: 36px; text-transform: uppercase; }
.auth-card > p:not(.eyebrow) { color: #64706b; font-size: 13px; line-height: 1.6; }
.auth-card input, .deal-actions input { border: 1px solid #dfe4df; padding: 12px; }
.deal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.deal-actions > div { padding: 24px; background: #fff; border: 1px solid #dfe4df; }
.deal-actions h3 { margin-top: 0; }
.deal-actions #lost-form { margin-top: 16px; }
@media (max-width: 650px) { .deal-actions { grid-template-columns: 1fr; } }
.product-page { padding: 48px clamp(24px, 8vw, 140px) 90px; }
.product-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: center; margin-top: 28px; }
.product-layout > img { width: 100%; min-height: 420px; object-fit: cover; }
.product-layout h1 { margin: 0 0 20px; font-family: Oswald, sans-serif; font-size: clamp(36px, 4vw, 58px); line-height: 1.05; text-transform: uppercase; }
.product-lead { max-width: 480px; color: #64706b; line-height: 1.7; font-size: 14px; margin: 25px 0; }
.specifications { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: 80px clamp(24px, 8vw, 140px); background: #f5f3ec; }
.specifications h2 { margin: 0; font-family: Oswald, sans-serif; font-size: clamp(32px, 4vw, 48px); text-transform: uppercase; line-height: 1.05; }
.specifications dl { margin: 0; }
.specifications dl > div { display: grid; grid-template-columns: .8fr 1.2fr; padding: 14px 0; border-top: 1px solid #d3d8d3; font-size: 13px; }
.specifications dt { color: #64706b; }
.specifications dd { margin: 0; font-weight: 700; }
@media (max-width: 700px) { .product-layout, .specifications { grid-template-columns: 1fr; gap: 30px; } .product-layout > img { min-height: 270px; } }
@media (max-width: 650px) { .deal-card { grid-template-columns: 1fr; } .quote-sheet { padding: 36px 24px; } .quote-footer { margin-top: 80px; flex-direction: column; gap: 8px; } }
@media print { body * { visibility: hidden; } .quote-preview, .quote-preview * { visibility: visible; } .quote-preview { position: absolute; inset: 0; padding: 0; background: #fff; } .quote-sheet { box-shadow: none; max-width: none; } .no-print, .close { display: none !important; } }

.domain-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.domain-toolbar .intro { margin:0; max-width:640px; }
.domain-toolbar .button { flex-shrink:0; }
.domain-feedback { color:#27644a; min-height:1em; }
.domain-list { display:grid; gap:12px; }
.domain-list .domain-card { margin:0; gap:20px; }
.domain-card h2 { overflow-wrap:anywhere; }
.domain-card small { color:#64706b; overflow-wrap:anywhere; }
.domain-actions { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.domain-editor, .domain-help { margin-top:24px; padding:28px; background:white; border:1px solid #dfe4df; }
.domain-editor { scroll-margin-top:24px; }
.domain-editor h2 { font-size:24px; margin:0 0 16px; overflow-wrap:anywhere; }
.domain-form { display:grid; gap:20px; }
.domain-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.domain-form label { display:grid; gap:8px; font-size:13px; font-weight:700; min-width:0; }
.domain-form input, .domain-form textarea { width:100%; min-width:0; padding:12px; border:1px solid #cfd7d2; font:inherit; font-weight:400; background:white; }
.domain-form textarea { min-height:100px; resize:vertical; }
.domain-form fieldset { border:1px solid #dfe4df; padding:20px; min-width:0; }
.domain-form legend { font-weight:700; padding:0 8px; }
.domain-help li { margin:10px 0; line-height:1.5; }
.form-error { color:#a63223; background:#fff2ee; padding:12px; }
.form-error[hidden] { display:none; }
button:disabled { opacity:.6; cursor:wait; }
.preview-banner { background:#e8f1eb; padding:12px 24px; text-align:center; font-size:12px; line-height:1.6; }
.preview-banner a { text-decoration:underline; margin-left:16px; }
@media(max-width:700px) {
  .domain-toolbar, .domain-list .domain-card { align-items:flex-start; flex-direction:column; }
  .domain-fields { grid-template-columns:1fr; }
  .domain-editor, .domain-help { padding:18px; }
}

.search-label { display:grid; gap:8px; font-size:13px; margin:20px 0; max-width:540px; }
.search-label input, .sales-filters input, .sales-filters select { padding:12px; border:1px solid #d1d9d3; font:inherit; background:white; }
.sales-filters { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; margin-bottom:24px; }
.sales-filters label { display:grid; gap:8px; font-size:12px; }
.sales-filters button, .sales-filters a { padding:12px 0; }
.check-label { display:flex!important; align-items:center; gap:10px; font-size:12px; line-height:1.6; }
.check-label input { width:auto!important; flex-shrink:0; }
.domain-form select { padding:12px; border:1px solid #d1d9d3; background:white; font:inherit; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.image-placeholder { width:130px; min-height:90px; display:grid; place-items:center; background:#ecefe9; font-weight:bold; }
.overdue { border-left:4px solid #b3422c; padding-left:16px; }
.notes [data-lost] { margin-top:18px; }
.deal-card input, .notes input { padding:12px; border:1px solid #d1d9d3; }
.deal-card [data-lost] { margin-top:20px; }
.quote-preview .quote-sheet { overflow-wrap:anywhere; }
@media(max-width:700px) { .sales-filters { flex-direction:column; align-items:stretch; } .catalog-admin article { flex-wrap:wrap; } }
