.utility-suite-page { --suite-accent:#0b8877; --suite-accent-dark:#076b5e; --suite-soft:#e8f6f2; --suite-ink:#111827; --suite-muted:#62708a; --suite-line:#d7e1ec; color:var(--suite-ink); }
.utility-suite-page * { box-sizing:border-box; }
.utility-suite-page button,.utility-suite-page input,.utility-suite-page select,.utility-suite-page textarea { font:inherit; letter-spacing:0; }
.suite-heading { margin:0 0 2rem; padding:.25rem 0 1.75rem; border-bottom:1px solid var(--suite-line); }
.suite-eyebrow { margin:0 0 .65rem; color:var(--suite-accent); font-size:.82rem; font-weight:800; }
.suite-heading h1 { margin:0; color:var(--suite-ink); font-size:clamp(2rem,4vw,3.15rem); line-height:1.18; letter-spacing:0; }
.suite-heading>p:last-child { max-width:760px; margin:1rem 0 0; color:var(--suite-muted); font-size:1.03rem; line-height:1.8; }
.suite-tool,.suite-guide,.suite-history { margin:0 0 2rem; border:1px solid var(--suite-line); background:#fff; border-radius:8px; overflow:hidden; }
.suite-tool-head,.suite-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.35rem 1.5rem; border-bottom:1px solid var(--suite-line); }
.suite-tool-head h2,.suite-section-head h2,.suite-guide h2 { margin:0; color:var(--suite-ink); font-size:1.35rem; line-height:1.35; }
.suite-tool-head p,.suite-section-head p { margin:.35rem 0 0; color:var(--suite-muted); line-height:1.6; }
.suite-body { padding:1.5rem; }
.suite-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr); gap:1rem; }
.suite-panel { min-width:0; padding:1.25rem; border:1px solid var(--suite-line); border-radius:8px; background:#f8fafc; }
.suite-panel h3 { margin:0 0 .85rem; color:var(--suite-ink); font-size:1.08rem; }
.suite-field { display:block; margin:0 0 1rem; }
.suite-field>span,.suite-field legend { display:block; margin:0 0 .45rem; color:#24334d; font-size:.86rem; font-weight:800; }
.suite-field small { display:block; margin-top:.38rem; color:#7c8ba4; font-size:.78rem; line-height:1.5; }
.suite-field input,.suite-field select,.suite-field textarea { width:100%; min-height:48px; margin:0; padding:.72rem .85rem; border:1px solid #cfdbe8; border-radius:8px; background:#fff; color:var(--suite-ink); box-shadow:none; }
.suite-field textarea { min-height:94px; resize:vertical; }
.suite-field input:focus,.suite-field select:focus,.suite-field textarea:focus { border-color:var(--suite-accent); outline:2px solid rgba(11,136,119,.13); }
.suite-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.suite-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.suite-button,.suite-file-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:.45rem; margin:0; padding:.72rem 1rem; border:1px solid #cfdbe8; border-radius:8px; background:#fff; color:#273750; font-weight:800; line-height:1.2; cursor:pointer; text-decoration:none; box-shadow:none; }
.suite-button:hover,.suite-file-button:hover { border-color:#9db3c8; background:#f4f7fa; }
.suite-button.primary,.suite-file-button.primary { border-color:var(--suite-accent); background:var(--suite-accent); color:#fff; }
.suite-button.primary:hover,.suite-file-button.primary:hover { border-color:var(--suite-accent-dark); background:var(--suite-accent-dark); }
.suite-button:disabled { cursor:not-allowed; opacity:.45; }
.suite-upload-input { position:absolute; width:1px!important; height:1px!important; overflow:hidden; opacity:0; pointer-events:none; }
.suite-dropzone { display:flex; min-height:180px; flex-direction:column; align-items:center; justify-content:center; gap:.45rem; padding:1.5rem; border:1px dashed #aebed0; border-radius:8px; background:#fbfdff; text-align:center; cursor:pointer; transition:border-color .18s,background .18s; }
.suite-dropzone:hover,.suite-dropzone.is-dragover { border-color:var(--suite-accent); background:var(--suite-soft); }
.suite-dropzone .drop-icon { display:grid; width:52px; height:52px; place-items:center; border-radius:50%; background:var(--suite-soft); color:var(--suite-accent); font-size:1.4rem; font-weight:900; }
.suite-dropzone strong { color:var(--suite-ink); font-size:1.05rem; }
.suite-dropzone span { color:var(--suite-muted); font-size:.84rem; line-height:1.55; }
.suite-status { margin:1rem 0 0; padding:.75rem .85rem; border-left:3px solid #9eb1c4; background:#f4f7fa; color:var(--suite-muted); line-height:1.55; }
.suite-status.success { border-color:var(--suite-accent); background:var(--suite-soft); color:#076b5e; }
.suite-status.error { border-color:#d9544d; background:#fff0ef; color:#ad312b; }
.suite-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.suite-stat { min-width:0; padding:.9rem; border:1px solid var(--suite-line); border-radius:8px; background:#fff; }
.suite-stat span { display:block; color:var(--suite-muted); font-size:.78rem; }
.suite-stat strong { display:block; margin-top:.25rem; color:var(--suite-ink); font-size:1.08rem; overflow-wrap:anywhere; }
.suite-segmented { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:1rem; border:1px solid var(--suite-line); border-radius:8px; overflow:hidden; }
.suite-segmented button { min-height:48px; margin:0; border:0; border-radius:0; background:#fff; color:#40516b; font-weight:800; }
.suite-segmented button+button { border-left:1px solid var(--suite-line); }
.suite-segmented button[aria-selected="true"],.suite-segmented button[aria-pressed="true"] { background:var(--suite-soft); color:var(--suite-accent-dark); }
.suite-guide { padding:1.65rem; }
.suite-guide>header { margin-bottom:1.3rem; }
.suite-guide>header p { margin:.6rem 0 0; color:var(--suite-muted); line-height:1.75; }
.suite-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--suite-line); background:var(--suite-line); }
.suite-guide-grid section { min-width:0; padding:1.2rem; background:#fff; }
.suite-guide-grid h3 { margin:0 0 .5rem; color:var(--suite-ink); font-size:1rem; }
.suite-guide-grid p,.suite-guide-grid li { color:var(--suite-muted); line-height:1.7; }
.suite-guide-grid p { margin:0; }
.suite-guide-grid ul { margin:.35rem 0 0; padding-left:1.1rem; }
.suite-note { margin:1.2rem 0 0; padding:1rem 1.1rem; border-left:3px solid var(--suite-accent); background:var(--suite-soft); color:#315c55; line-height:1.7; }
.suite-check { display:flex; align-items:flex-start; gap:.6rem; margin:.55rem 0; color:#33445d; line-height:1.5; }
.suite-check input { width:18px!important; height:18px!important; min-height:18px!important; flex:0 0 auto; margin:.12rem 0 0!important; opacity:1!important; appearance:auto!important; }

/* PDF page selector */
.pdf-page-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:.7rem; margin:1rem 0; }
.pdf-page-toolbar .suite-field { min-width:230px; flex:1; margin:0; }
.pdf-page-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; max-height:640px; overflow:auto; padding:.2rem; }
.pdf-page-card { position:relative; min-width:0; padding:.55rem; border:2px solid transparent; border-radius:8px; background:#edf2f7; cursor:pointer; }
.pdf-page-card.is-selected { border-color:var(--suite-accent); background:var(--suite-soft); }
.pdf-page-card canvas { display:block; width:100%; height:auto; aspect-ratio:.707; object-fit:contain; background:#fff; box-shadow:0 2px 8px rgba(15,23,42,.12); }
.pdf-page-card footer { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding-top:.5rem; font-size:.78rem; }
.pdf-page-card input { width:18px!important; height:18px!important; min-height:18px!important; margin:0!important; opacity:1!important; appearance:auto!important; }
.suite-empty { grid-column:1/-1; padding:2rem 1rem; color:#8190a7; text-align:center; }

/* Business day calendar */
.business-result-main { padding:1.25rem; border-radius:8px; background:linear-gradient(145deg,#e4f5f0,#f7fbfa); }
.business-result-main span { color:var(--suite-accent-dark); font-weight:800; }
.business-result-main strong { display:block; margin:.45rem 0; color:var(--suite-ink); font-size:2.35rem; line-height:1.15; }
.business-breakdown { margin:1rem 0 0; padding:0; list-style:none; }
.business-breakdown li { display:flex; justify-content:space-between; gap:1rem; padding:.68rem 0; border-bottom:1px solid #d4e5e0; color:#40516b; }
.business-breakdown li:last-child { border-bottom:0; }
.business-breakdown strong { color:var(--suite-ink); }
.holiday-list { max-height:245px; overflow:auto; margin:.8rem 0 0; padding:0; list-style:none; }
.holiday-list li { display:flex; justify-content:space-between; gap:.8rem; padding:.55rem 0; border-bottom:1px solid var(--suite-line); color:#475875; font-size:.84rem; }

/* Image privacy cards */
.privacy-file-list { display:grid; gap:.8rem; margin-top:1rem; }
.privacy-file-card { display:grid; grid-template-columns:76px minmax(0,1fr) auto auto; gap:.9rem; align-items:center; padding:.8rem; border:1px solid var(--suite-line); border-radius:8px; background:#fff; }
.privacy-file-card img { display:block; width:76px; height:76px; object-fit:cover; border-radius:6px; background:#eef2f6; }
.privacy-file-copy { min-width:0; }
.privacy-file-copy strong { display:block; overflow:hidden; color:var(--suite-ink); text-overflow:ellipsis; white-space:nowrap; }
.privacy-file-copy span { display:block; margin-top:.25rem; color:var(--suite-muted); font-size:.78rem; line-height:1.45; }
.privacy-badge { display:inline-flex; align-items:center; padding:.3rem .48rem; border-radius:6px; background:#eef2f7; color:#51627d; font-size:.72rem; font-weight:800; white-space:nowrap; }
.privacy-badge.sensitive { background:#fff0e6; color:#ad4d16; }
.privacy-badge.clean { background:var(--suite-soft); color:var(--suite-accent-dark); }
.privacy-file-card button { width:38px; min-width:38px; height:38px; padding:0; border:1px solid var(--suite-line); border-radius:7px; background:#fff; color:#7a3140; font-weight:900; cursor:pointer; }

@media screen and (max-width:980px) {
  .suite-grid { grid-template-columns:1fr; }
  .pdf-page-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width:640px) {
  .suite-heading h1 { font-size:2rem; }
  .suite-tool-head,.suite-section-head,.suite-body,.suite-guide { padding:1rem; }
  .suite-tool-head,.suite-section-head { display:block; }
  .suite-field-row,.suite-guide-grid { grid-template-columns:1fr; }
  .suite-actions .suite-button,.suite-actions .suite-file-button { flex:1 1 calc(50% - .4rem); }
  .suite-stat-grid { gap:.55rem; }
  .pdf-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .privacy-file-card { grid-template-columns:60px minmax(0,1fr) auto; gap:.65rem; }
  .privacy-file-card>button { grid-column:3; grid-row:1; }
  .privacy-file-card>div:nth-of-type(2) { grid-column:2/4; }
  .privacy-file-card img { width:60px; height:60px; }
}
