:root{--bg:#f5f5f7;--surface:#fff;--ink:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--blue:#06c;--blue2:#0071e3;--red:#b42318;--green:#16794c;--radius:28px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.48}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}header{height:64px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2));background:rgba(250,250,252,.86);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}.brand{display:flex;align-items:center}.brand img{display:block;width:162px;height:auto;max-height:48px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a,nav .link{color:var(--ink)}main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:36px 0 80px;min-height:calc(100vh - 240px)}footer{border-top:1px solid var(--line);padding:32px max(28px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.inline{display:inline}.link{border:0;background:none;padding:0;font:inherit;cursor:pointer}.pill,.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;border:0;border-radius:999px;padding:10px 22px;background:var(--blue2);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.pill{min-height:32px;padding:6px 16px}.pill:hover,.button:hover{background:#0077ed;text-decoration:none}.button.secondary{background:transparent;color:var(--blue);border:1px solid var(--blue)}.hero{text-align:center;padding:76px 0 16px}.hero h1,.page-heading h1{font-size:clamp(48px,7vw,84px);line-height:.98;letter-spacing:-.055em;margin:16px 0 24px}.hero>p,.page-heading>p{font-size:clamp(21px,2.2vw,30px);line-height:1.28;color:var(--muted);margin:0 auto 28px}.eyebrow{display:block;font-weight:700;font-size:14px;letter-spacing:.06em}.actions{display:flex;justify-content:center;gap:14px}.cloud-visual{width:min(960px,100%);aspect-ratio:16/9;margin:36px auto 0;border-radius:42px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff 0,rgba(255,255,255,.7) 18%,transparent 45%),linear-gradient(145deg,#e4f7ff 5%,#e5e9ff 43%,#ffe6dc 100%);box-shadow:inset 0 0 80px rgba(255,255,255,.7)}.cloud-visual:before{content:"";position:absolute;width:56%;height:46%;border-radius:50%;background:rgba(255,255,255,.46);box-shadow:-90px 25px 0 -25px rgba(255,255,255,.44),100px 30px 0 -28px rgba(255,255,255,.4);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8)}.cloud-visual span{position:relative;font-size:clamp(44px,8vw,94px);font-weight:800;letter-spacing:-.06em;color:rgba(13,35,78,.9);text-shadow:0 10px 30px rgba(42,101,205,.14)}.orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.65}.orb.one{width:300px;height:300px;left:-80px;bottom:-70px;background:#00c7ff}.orb.two{width:260px;height:260px;right:-50px;top:-30px;background:#ff7058}.orb.three{width:180px;height:180px;right:25%;bottom:-60px;background:#694cff}.grid{display:grid;gap:20px;margin:20px 0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--surface);border-radius:var(--radius);padding:38px;margin:20px 0;box-shadow:0 1px 0 rgba(0,0,0,.02)}.grid>.panel{margin:0}.feature{min-height:480px;display:flex;flex-direction:column;justify-content:flex-start;background:linear-gradient(145deg,#fff,#e9f7ff);overflow:hidden}.feature h2{font-size:clamp(38px,4.4vw,58px);line-height:1.02;letter-spacing:-.045em;margin:14px 0}.feature p{font-size:20px;color:var(--muted);max-width:430px}.feature a{margin-top:auto;font-weight:600}.feature.dark{background:radial-gradient(circle at 80% 75%,#163989,#071329 54%,#020712);color:#fff}.feature.dark p{color:#b5c7ee}.feature.dark a{color:#6eb4ff}.strip{display:flex;align-items:center;justify-content:space-between;gap:28px}.strip h2{font-size:32px;letter-spacing:-.03em;margin:0 0 4px}.strip p{margin:0;color:var(--muted)}.page-heading{padding:46px 0 20px;text-align:center}.page-heading h1{font-size:clamp(44px,6vw,72px)}.page-heading>p{font-size:22px}.stat{min-height:210px;display:flex;flex-direction:column}.stat>span{font-size:14px;color:var(--muted)}.stat>strong{font-size:34px;line-height:1.1;margin:16px 0}.stat>a{margin-top:auto}.balance{background:linear-gradient(145deg,#06132c,#092e70);color:#fff}.balance>span,.balance>p{color:#b7c9e9}.blue{background:linear-gradient(145deg,#e9f5ff,#f8fbff)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title h2{margin:0}.auth{max-width:560px;margin:70px auto;padding:48px}.auth h1{font-size:42px;line-height:1.05;letter-spacing:-.04em;margin:14px 0 30px}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-size:13px;font-weight:600}.form input,.form select,.domain-search input{width:100%;border:1px solid #b9b9bf;border-radius:12px;background:#fff;color:var(--ink);padding:13px 14px;font:inherit;outline:none}.form input:focus,.form select:focus,.domain-search input:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(0,113,227,.14)}.checkbox{display:flex!important;grid-template-columns:20px 1fr!important;align-items:start}.checkbox input{width:auto;margin-top:4px}.hint{font-size:12px;color:var(--muted)}.center{text-align:center}.alert{border-radius:16px;padding:14px 18px;margin:10px 0}.alert.success{background:#eaf8f1;color:#11633e}.alert.error{background:#fff0ee;color:var(--red)}.alert.info{background:#eaf4ff;color:#174f8d}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:650;background:#eeeef0;color:#4b4b50;white-space:nowrap}.status.active,.status.completed,.status.paid,.status.confirmed,.status.reconciled,.status.sent{background:#e8f6ee;color:var(--green)}.status.failed{background:#fff0ee;color:var(--red)}.status.unpaid,.status.pending,.status.pending_payment,.status.processing,.status.submitted{background:#fff5d9;color:#785800}.status.dry_run,.status.logged{background:#eaf2ff;color:#205caa}dl{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.5fr);gap:12px;margin:24px 0}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.92em}.table-wrap{overflow:auto;margin-top:20px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600}.empty{text-align:center;color:var(--muted);padding:36px}.domain-search{display:flex;gap:12px}.domain-search input{font-size:22px}.price{font-size:38px;font-weight:700}.price small{font-size:14px;font-weight:400;color:var(--muted)}details{border:1px solid var(--line);border-radius:14px;padding:14px}summary{cursor:pointer;font-weight:600}.invoice{max-width:920px;margin:30px auto}.invoice-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:28px}.invoice-head h1{font-size:48px;margin:8px 0}.right{text-align:right}.total{display:flex;justify-content:flex-end;gap:32px;align-items:baseline;margin:28px 0}.total strong{font-size:28px}.payment-note{background:var(--bg);border-radius:18px;padding:22px}.compact{min-width:250px;gap:8px}.compact input{padding:8px}.compact .button{min-height:34px;padding:7px 14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-print{margin-top:20px}@media(max-width:820px){header{height:auto;min-height:62px;padding:10px 18px;align-items:flex-start}.brand img{width:125px}nav{gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}main{width:min(100% - 24px,1180px);padding-top:16px}.grid.two,.grid.three{grid-template-columns:1fr}.panel{padding:26px;border-radius:22px}.hero{padding-top:50px}.cloud-visual{border-radius:26px}.feature{min-height:380px}.strip,.invoice-head{align-items:flex-start;flex-direction:column}.domain-search{flex-direction:column}footer{flex-direction:column;padding:28px 18px}.auth{margin:30px auto}.page-heading{padding-top:30px}}@media print{header,footer,.no-print,.alert{display:none!important}body,main{background:#fff}main{width:100%;padding:0}.panel{box-shadow:none;margin:0;padding:0}.invoice{max-width:none}.payment-note{border:1px solid #ddd}}
.cancel-note{border:1px solid #f0c6c1}.form.danger .button{background:var(--red)}.form.danger .button:hover{background:#8f1d14}
.form textarea{width:100%;border:1px solid #b9b9bf;border-radius:12px;background:#fff;color:var(--ink);padding:13px 14px;font:inherit;line-height:1.55;outline:none;resize:vertical}.form textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(0,113,227,.14)}.status.answered{background:#e8f6ee;color:var(--green)}.status.open,.status.customer_reply{background:#fff5d9;color:#785800}details+details{margin-top:12px}.ticket-thread{display:grid;gap:14px}.ticket-thread h2{margin-bottom:8px}.ticket-message{border-radius:18px;padding:22px;max-width:86%;background:var(--bg);border:1px solid var(--line)}.ticket-message.staff{margin-left:auto;background:#eaf4ff;border-color:#cbe1f8}.ticket-message p{margin-bottom:0;overflow-wrap:anywhere}@media(max-width:820px){.ticket-message{max-width:100%}}
.preference-menu{position:relative;border:0;padding:0;margin:0}.preference-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:650}.preference-menu summary::-webkit-details-marker{display:none}.preference-menu[open] summary{border-color:var(--blue2);color:var(--blue)}.preference-popover{position:absolute;right:0;top:calc(100% + 12px);width:280px;padding:20px;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 50px rgba(0,0,0,.15);z-index:30}.preference-popover .form{gap:12px}.preference-popover .preference-divider{border-top:1px solid #d2d2d7;margin-top:14px;padding-top:14px}.preference-popover .button{width:100%;min-height:36px}.preference-popover .hint{margin:0}@media(max-width:820px){.preference-popover{right:-80px;width:min(280px,calc(100vw - 30px))}}
.panel[id]{scroll-margin-top:84px}.readiness{background:linear-gradient(145deg,#071329,#0b2d68);color:#fff}.readiness>p,.readiness .hint{color:#bdcce6}.readiness h2{margin:6px 0 0}.readiness-summary{display:flex;align-items:baseline;gap:10px 18px;padding:18px 0 4px;flex-wrap:wrap}.readiness-summary strong{font-size:28px}.readiness-summary span{font-size:13px;color:#bdcce6;margin-right:12px}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.readiness-card{padding:22px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.readiness-card h3{margin:0;font-size:17px}.readiness-card p{color:#dce6f5;min-height:48px}.readiness-card .readiness-action{min-height:34px;padding:7px 14px;border-color:#8cc4ff;color:#8cc4ff}.readiness-card .readiness-action:hover{background:#8cc4ff;color:#071329}.readiness-facts{display:flex;gap:18px;color:#bdcce6;font-size:12px}.status.readiness-ready{background:#dff7e9;color:#11633e}.status.readiness-pending{background:#fff1c7;color:#705200}.status.readiness-blocked{background:#ffe1dd;color:#8f1d14}.status.readiness-safe{background:#dcecff;color:#174f8d}@media(max-width:820px){.readiness-grid{grid-template-columns:1fr}.readiness-card p{min-height:0}.readiness>.section-title{align-items:flex-start;flex-direction:column}}
.domain-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}.domain-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-size:14px}.domain-filter strong{font-size:18px}.domain-filter:hover{text-decoration:none;border-color:#9f9fa5}.domain-filter.active{color:#fff;background:#1d1d1f;border-color:#1d1d1f}.domain-portfolio-search{display:flex;align-items:center;gap:12px;margin:18px 0}.domain-portfolio-search input{flex:1;min-width:0;border:1px solid #b9b9bf;border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;font:inherit}.domain-portfolio-search input:focus{outline:none;border-color:var(--blue2);box-shadow:0 0 0 3px rgba(0,113,227,.14)}.domain-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:22px;color:var(--muted);font-size:13px;text-align:center}.domain-pagination>:last-child{justify-self:end}@media(max-width:820px){.domain-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-portfolio-search{align-items:stretch;flex-direction:column}.domain-pagination{grid-template-columns:1fr 1fr}.domain-pagination>span:nth-child(2){grid-column:1/-1;grid-row:1}.domain-pagination>:last-child{justify-self:stretch}.domain-pagination .button{width:100%}}
.status.suspended{background:#fff0ee;color:var(--red)}
.reconciliation-filters{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:14px;align-items:end}.reconciliation-filters label{display:grid;gap:7px;font-size:13px;font-weight:600}.reconciliation-filters input,.reconciliation-filters select{width:100%;border:1px solid #b9b9bf;border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;font:inherit}.reconciliation-filters input:focus,.reconciliation-filters select:focus{outline:none;border-color:var(--blue2);box-shadow:0 0 0 3px rgba(0,113,227,.14)}.reconciliation-actions{display:flex;gap:10px;grid-column:1/-1}@media(max-width:820px){.reconciliation-filters{grid-template-columns:1fr}.reconciliation-actions{grid-column:auto;flex-direction:column}.reconciliation-actions .button{width:100%}}

/* Shared appearance palette: explicit preference wins over the system. */
:root {
  color-scheme: light;
  --fc-canvas: #ffffff;
  --fc-page: #f5f5f7;
  --fc-surface: #ffffff;
  --fc-soft: #f5f5f7;
  --fc-raised: #fbfbfd;
  --fc-ink: #1d1d1f;
  --fc-muted: #62646d;
  --fc-border: #d9dce3;
  --fc-field-border: #b8bfca;
  --fc-link: #0066cc;
  --fc-accent: #0071e3;
  --fc-accent-hover: #0066cc;
  --fc-accent-ink: #ffffff;
  --fc-tint: #edf4ff;
  --fc-info-bg: #eaf4ff;
  --fc-info-ink: #174f8d;
  --fc-success-bg: #e8f6ee;
  --fc-success-ink: #11633e;
  --fc-warning-bg: #fff5d9;
  --fc-warning-ink: #765600;
  --fc-danger-bg: #fff0ee;
  --fc-danger-ink: #b42318;
  --fc-danger-button: #b42318;
  --fc-nav: rgba(250, 250, 252, .96);
  --fc-local-nav: rgba(255, 255, 255, .94);
  --fc-popover: rgba(255, 255, 255, .98);
  --fc-shadow: 0 18px 50px rgba(20, 30, 50, .15);
  --fc-art-scrim: linear-gradient(transparent, transparent);
  --fc-art-ink: #1d1d1f;
  --fc-art-muted: #4b5260;
  --fc-brand-radius: 0px;
  --fc-logo-filter: none;
  --fc-logo-blend: normal;
  --fc-mobile-copy: linear-gradient(#fff 65%, #ffffff00);
  --fc-promo: linear-gradient(145deg, #e9f3ff, #ffffff 62%);
  --fc-scenario: linear-gradient(110deg, #f1f7ff, #fbfbfd);
  --fc-symbol: linear-gradient(140deg, #fcfeff, #cfebff);
  --fc-spotlight: #e9f7ff;
  --fc-image-blend: multiply;

  --bg: var(--fc-page);
  --surface: var(--fc-surface);
  --ink: var(--fc-ink);
  --muted: var(--fc-muted);
  --line: var(--fc-border);
  --blue: var(--fc-link);
  --blue2: var(--fc-accent);
  --red: var(--fc-danger-ink);
  --green: var(--fc-success-ink);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --fc-canvas: #101216;
  --fc-page: #101216;
  --fc-surface: #1b1f26;
  --fc-soft: #15191f;
  --fc-raised: #252b34;
  --fc-ink: #f3f5f8;
  --fc-muted: #b0b8c5;
  --fc-border: #3e4653;
  --fc-field-border: #637085;
  --fc-link: #86bdff;
  --fc-accent: #0071e3;
  --fc-accent-hover: #0066cc;
  --fc-accent-ink: #ffffff;
  --fc-tint: #173251;
  --fc-info-bg: #142e4c;
  --fc-info-ink: #a4d0ff;
  --fc-success-bg: #17382b;
  --fc-success-ink: #94dfb8;
  --fc-warning-bg: #3d3117;
  --fc-warning-ink: #f2d38a;
  --fc-danger-bg: #462523;
  --fc-danger-ink: #ffb4aa;
  --fc-danger-button: #b42318;
  --fc-nav: rgba(20, 23, 29, .96);
  --fc-local-nav: rgba(25, 29, 36, .94);
  --fc-popover: rgba(30, 35, 44, .98);
  --fc-shadow: 0 18px 50px rgba(0, 0, 0, .4);
  --fc-art-scrim: linear-gradient(180deg, rgba(9, 16, 29, .91) 0%, rgba(12, 23, 41, .73) 38%, rgba(11, 24, 47, .12) 76%);
  --fc-art-ink: #f5f8ff;
  --fc-art-muted: #d1deef;
  --fc-brand-radius: 6px;
  --fc-logo-filter: invert(1) hue-rotate(180deg);
  --fc-logo-blend: screen;
  --fc-mobile-copy: transparent;
  --fc-promo: linear-gradient(145deg, #17304e, #1b1f26 68%);
  --fc-scenario: linear-gradient(110deg, #162a43, #1b1f26);
  --fc-symbol: linear-gradient(140deg, #1c4165, #142b46);
  --fc-spotlight: #17304a;
  --fc-image-blend: normal;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]),
  :root[data-theme="system"] {
  color-scheme: dark;
  --fc-canvas: #101216;
  --fc-page: #101216;
  --fc-surface: #1b1f26;
  --fc-soft: #15191f;
  --fc-raised: #252b34;
  --fc-ink: #f3f5f8;
  --fc-muted: #b0b8c5;
  --fc-border: #3e4653;
  --fc-field-border: #637085;
  --fc-link: #86bdff;
  --fc-accent: #0071e3;
  --fc-accent-hover: #0066cc;
  --fc-accent-ink: #ffffff;
  --fc-tint: #173251;
  --fc-info-bg: #142e4c;
  --fc-info-ink: #a4d0ff;
  --fc-success-bg: #17382b;
  --fc-success-ink: #94dfb8;
  --fc-warning-bg: #3d3117;
  --fc-warning-ink: #f2d38a;
  --fc-danger-bg: #462523;
  --fc-danger-ink: #ffb4aa;
  --fc-danger-button: #b42318;
  --fc-nav: rgba(20, 23, 29, .96);
  --fc-local-nav: rgba(25, 29, 36, .94);
  --fc-popover: rgba(30, 35, 44, .98);
  --fc-shadow: 0 18px 50px rgba(0, 0, 0, .4);
  --fc-art-scrim: linear-gradient(180deg, rgba(9, 16, 29, .91) 0%, rgba(12, 23, 41, .73) 38%, rgba(11, 24, 47, .12) 76%);
  --fc-art-ink: #f5f8ff;
  --fc-art-muted: #d1deef;
  --fc-brand-radius: 6px;
  --fc-logo-filter: invert(1) hue-rotate(180deg);
  --fc-logo-blend: screen;
  --fc-mobile-copy: transparent;
  --fc-promo: linear-gradient(145deg, #17304e, #1b1f26 68%);
  --fc-scenario: linear-gradient(110deg, #162a43, #1b1f26);
  --fc-symbol: linear-gradient(140deg, #1c4165, #142b46);
  --fc-spotlight: #17304a;
  --fc-image-blend: normal;
  }
}

/* Native controls and semantic feedback also participate in the chosen appearance. */
header { background: var(--fc-nav); border-color: var(--line); }
button, input, select, textarea { color: inherit; }
input, select, textarea { accent-color: var(--blue2); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--blue); outline-offset: 3px;
}
.form, .form label, .form > *, .grid > *, .reconciliation-filters > * { min-width: 0; }
.form input, .form select, .form textarea, .domain-search input,
.domain-portfolio-search input, .reconciliation-filters input,
.reconciliation-filters select {
  min-width: 0;
  max-width: 100%;
  background: var(--surface);
  color: var(--ink);
  border-color: var(--fc-field-border);
}
select option, select optgroup { background: var(--surface); color: var(--ink); }
.form .hint, .form label { white-space: normal; overflow-wrap: anywhere; }
.button, .pill { color: var(--fc-accent-ink); white-space: normal; text-align: center; max-width: 100%; }
.button:hover, .pill:hover { background: var(--fc-accent-hover); }
.button.secondary:hover { background: var(--fc-tint); color: var(--blue); }
.form.danger .button { background: var(--fc-danger-button); color: #fff; }
.compact { min-width: 0; max-width: 100%; }
.alert.success, .status.active, .status.completed, .status.paid,
.status.confirmed, .status.reconciled, .status.sent, .status.answered,
.status.readiness-ready { background: var(--fc-success-bg); color: var(--fc-success-ink); }
.alert.error, .status.failed, .status.suspended, .status.readiness-blocked {
  background: var(--fc-danger-bg); color: var(--fc-danger-ink);
}
.alert.info, .status.dry_run, .status.logged, .status.readiness-safe {
  background: var(--fc-info-bg); color: var(--fc-info-ink);
}
.status { background: var(--fc-raised); color: var(--muted); }
.status.unpaid, .status.pending, .status.pending_payment, .status.processing,
.status.submitted, .status.open, .status.customer_reply, .status.readiness-pending {
  background: var(--fc-warning-bg); color: var(--fc-warning-ink);
}
.blue, .feature:not(.dark) { background: var(--fc-promo); }
.cancel-note { border-color: var(--fc-danger-ink); }
.ticket-message.staff { background: var(--fc-info-bg); border-color: var(--line); }
.domain-filter.active { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.domain-filter:hover { border-color: var(--fc-field-border); }
.table-wrap { max-width: 100%; }
.preference-popover {
  right: 0;
  width: min(360px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 144px);
  overflow-y: auto;
  white-space: normal;
  background: var(--fc-popover);
  border-color: var(--line);
  box-shadow: var(--fc-shadow);
}
.preference-popover .form { grid-template-columns: minmax(0, 1fr); }
.preference-popover .form > * { min-width: 0; max-width: 100%; }
.preference-popover .hint { white-space: normal; overflow-wrap: anywhere; line-height: 1.65; }
.preference-popover .button { width: fit-content; min-width: 7rem; justify-self: start; }
.preference-popover .preference-divider { border-color: var(--line); }
@media (max-width: 640px) {
  .preference-popover { width: min(340px, calc(100vw - 32px)); }
  .preference-popover .button { width: 100%; }
}
@media print {
  :root { color-scheme: light; --bg:#fff; --surface:#fff; --ink:#111; --muted:#555; --line:#ddd; --blue:#06c; }
  body, main, .invoice, .panel, .payment-note { color: #111; background: #fff; }
  .invoice a, .invoice th, .invoice dt, .invoice .hint { color: #333; }
}

/* Printing keeps the original artwork regardless of the saved or system theme. */
@media print {
  :root[data-theme], :root:not([data-theme]) {
    --fc-logo-filter: none;
    --fc-logo-blend: normal;
  }
}
