/* Palette reference: Immune Mitra — forest green, warm ivory and quiet sage. */
@media screen {
  :root { --ui-ink:#24342a; --ui-muted:#687367; --ui-line:#e1e4d8; --ui-accent:#19532a; --brand-action:#19532a; --brand-action-hover:#123e20; --brand-success:#327547; }
  body { background:#faf7ef !important; color:var(--ui-ink); }
  #root > div > header, .photo-topbar { background:#faf7eff5 !important; border-color:#e1e4d8 !important; }
  #root .workspace-intro :is(h1,h2), .photo-app .photo-hero h1, .photo-app .brand strong { color:#19532a !important; }
  #root .workspace-section { --category-ink:#27603a; --category-tint:#edf2e7; }
  #root .workspace-section[data-category="3"],#root .workspace-section[data-category="5"] { --category-ink:#796039; --category-tint:#f6efe0; }
  #root .workspace-section .pro-card, #root .workspace-search, .photo-app .panel { border-color:#e1e4d8 !important; }
  #root .workspace-section .pro-card:hover, #root .workspace-search:hover { border-color:#a5b59e !important; box-shadow:0 3px 12px #19532a09 !important; }
  #root .workspace-section .pro-card p { color:#687367 !important; }
  .workspace-categories a[aria-current] { background:#e9efdf !important; border-color:#dce5d0 !important; }
  .workspace-categories a[aria-current] :is(svg,.workspace-category-label,.workspace-category-count) { color:#19532a !important; }
  #root .text-primary, #root header .text-sky-700 { color:#19532a !important; }
  #root .bg-primary, .photo-app .brand-mark { background:#19532a !important; color:white !important; }
  .photo-app .step-nav { background:#f1f2e9; border-color:#dde3d3; }
  .photo-app .step-nav a.active, .photo-app .seg.active { background:#e8efdf; color:#19532a; border-color:#c9d9bf; }
  .photo-app .btn, .photo-app .seg { color:#35523c; border-color:#dbe2d4; }
  .photo-app .upload-zone, .photo-app .remove-card, .photo-app .mode-panel { background:#fbfcf7; border-color:#c8d7bd; }
  .photo-app .upload-icon { background:#e9efdf; color:#19532a; }
  .photo-app .output-summary { background:#eff3e9; color:#36563f; }
  .photo-app .field input,.photo-app .field select { border-color:#d9e0d2; }
  .pdfwb-action, .fwb-button-primary, .tcfwb-btn-primary, .swb-button-primary { background:#19532a !important; border-color:#19532a !important; color:white !important; }
  .pdfwb-header,.fwb-header,.tcfwb-header,.swb-header { background:#faf7ef !important; border-color:#e1e4d8 !important; }
  .pdfwb-header h2,.fwb-header h1,.tcfwb-header h2,.swb-header h2 { color:#19532a !important; }
  .photo-app .framing-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:16px 0 10px; }
  .photo-app .portrait-background { display:grid; gap:10px; margin:16px 0; padding-top:14px; border-top:1px solid var(--ui-line); }
  .photo-app .hint, .photo-app p, .photo-app .file-meta { color:var(--ui-muted, #697369); }
  .photo-app .portrait-background[hidden] { display:none; }
  .photo-app [hidden] { display:none !important; }
  .photo-app .framing-controls > .field { flex:1; min-width:160px; }
  .photo-app .framing-controls output { float:right; color:#19532a; }
  .photo-app .single-photo-preview { display:grid; place-items:center; min-height:200px; padding:12px; background:#f1f3eb; border:1px solid #e1e4d8; border-radius:8px; margin:12px 0; }
  .photo-app .single-photo-preview canvas { max-height:240px; max-width:100%; width:auto; height:auto; box-shadow:0 3px 12px #24342a15; }
  .photo-app .passport-grid .preview-frame { max-height:310px; min-height:150px; background:#eef0e8; }
  .photo-app .passport-grid .preview-frame canvas { max-height:290px; }
  .photo-app #sheetSettings { display:grid; gap:12px; }
  .photo-app #sheetSettings[hidden] { display:none; }
  .photo-app .field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .photo-app .face-guide { position:absolute; inset:10% 24% 20%; border:1px dashed #fff; border-radius:50%; box-shadow:0 0 0 1px #19532a65; pointer-events:none; }
  .photo-app .face-guide i { position:absolute; left:-30%; right:-30%; top:39%; border-top:1px dashed #fff; }
  .photo-app .crop-box:focus-visible { outline:3px solid #b19255; outline-offset:4px; }
  body[data-photo-page="passport"] .stage { background:#e3e7dc !important; }
  body[data-tool-mode="pvc-format"] .face-guide,body.card-layout-mode .face-guide { display:none; }
  @media(max-width:700px) { .photo-app .single-photo-preview { min-height:100px; } .photo-app .single-photo-preview canvas { max-height:180px; } }
}
/* Compact print-studio controls. */
.photo-app .studio-details { border-top:1px solid #e1e4d8; margin-top:12px; padding-top:10px; }
.photo-app .studio-details summary { cursor:pointer; color:#19532a; font-weight:600; margin-bottom:10px; }
.photo-app .studio-details > .field,.photo-app .studio-details > .field-row { margin:10px 0; }
.photo-app .studio-adjustments { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.photo-app .sheet-job { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:6px; align-items:center; border-top:1px solid #e1e4d8; padding:10px 0; }
.photo-app .sheet-job img { width:40px; height:52px; object-fit:contain; }
.photo-app .sheet-job label { font-size:11px; }
.photo-app .sheet-job input { width:100%; min-width:0; padding:6px; }
.photo-app .sheet-job .btn { min-width:0; padding:6px; font-size:11px; }
.photo-app .sheet-job .btn:last-child { grid-column:2/4; }
.photo-app .sheet-pagination { display:flex; justify-content:space-between; gap:6px; align-items:center; font-size:12px; }
.photo-app .repair-overlay { position:absolute; pointer-events:none; z-index:5; }
.photo-app .is-repairing { cursor:crosshair; touch-action:none; }
.photo-app .is-repairing .crop-box { opacity:.2; pointer-events:none; }
@media(max-width:600px){.photo-app .studio-adjustments{grid-template-columns:1fr;}}
.photo-app .photo-library { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.photo-app .library-photo { padding:3px; border:1px solid #d6dfcc; border-radius:5px; background:#fff; cursor:pointer; }
.photo-app .library-photo img { width:40px; height:50px; object-fit:cover; display:block; }
.photo-app .custom-background-color { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; margin:10px 0; }
.photo-app .custom-background-color span { font-size:12px; line-height:1.4; }
.photo-app .custom-background-color input[type="color"] { flex:0 0 36px; width:36px; min-width:36px; max-width:36px; height:36px; min-height:36px; padding:3px; border:1px solid #cbd5c5; border-radius:8px; background:#fff; cursor:pointer; }
.photo-app .custom-background-color input[type="color"]::-webkit-color-swatch-wrapper { padding:0; }
.photo-app .custom-background-color input[type="color"]::-webkit-color-swatch { border:1px solid #d9e0d2; border-radius:4px; }
.photo-app .custom-background-color input[type="color"]::-moz-color-swatch { border:1px solid #d9e0d2; border-radius:4px; }
/* Clear, consistent actions across tool workspaces. */
@media screen {
  a.dashboard-back, #root main button.dashboard-back {
    display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
    min-height:40px; width:fit-content; max-width:100%; padding:8px 12px !important;
    border:1px solid #ccd6c7 !important; border-radius:8px !important;
    background:#fff !important; color:#1b5530 !important; font-size:13px !important;
    line-height:1.4; font-weight:600 !important; text-decoration:none; cursor:pointer;
  }
  #root main button.dashboard-back > div { width:18px !important; height:18px !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
  .dashboard-back:hover { background:#edf3e7 !important; border-color:#1b5530 !important; }
  .photo-shell > .dashboard-back { margin-bottom:16px; }
  :is(button, a, summary, input, select, textarea):focus-visible { outline:3px solid #36734c !important; outline-offset:3px !important; }
  :is(.btn, .seg, .pdfwb-action, .pdfwb-button, .fwb-button, .tcfwb-btn, .swb-button) { min-height:40px; cursor:pointer; }
  button:disabled { cursor:not-allowed !important; }
  :is(.pdfwb-close, .fwb-header > .fwb-icon-button, .tcfwb-header [data-close], .swb-close) { width:auto !important; min-width:40px; min-height:40px; padding:8px 10px !important; display:inline-flex; align-items:center; justify-content:center; gap:6px; flex-shrink:0; font-size:20px; }
  :is(.pdfwb-close, .fwb-header > .fwb-icon-button, .tcfwb-header [data-close], .swb-close)::after { content:'Close'; font-size:12px; font-weight:600; }
  .pdfwb-header { grid-template-columns:36px minmax(0,1fr) auto !important; }
  .photo-app .step-nav a.active { font-weight:700; box-shadow:inset 0 -2px #1b5530 !important; }
}
@media screen and (max-width:600px) {
  :is(.dashboard-back, .photo-app .btn, .photo-app .seg, .photo-app .step-nav a, .pdfwb-action, .pdfwb-button, .fwb-button, .tcfwb-btn, .swb-button, .pdfwb-close, .fwb-header > .fwb-icon-button, .tcfwb-header [data-close], .swb-close) { min-height:44px !important; }
}
@media print { .dashboard-back { display:none !important; } }
@media screen and (min-width:761px) {
  .tcfwb-layer[data-compact="true"] .tcfwb-dialog {
    inset:50% auto auto 50%; transform:translate(-50%,-50%);
    width:min(940px,calc(100vw - 48px)); height:auto; max-height:calc(100dvh - 48px);
  }
  .tcfwb-layer[data-compact="true"] .tcfwb-content { min-height:0; flex:0 1 auto; overflow:auto; }
}
@media screen {
 .photo-app .sheet-quick-controls { display:grid; gap:10px; margin:12px 0; padding:12px; border:1px solid #dbe2d4; border-radius:8px; background:#f7f9f3; }
 .photo-app .sheet-quick-controls h3 { margin:0; }
 .photo-app .sheet-quick-controls .seg-row > button { flex:1; }
 .photo-app .sheet-border-color input[type="color"] { width:40px; min-width:40px; height:36px; padding:3px; cursor:pointer; }
}
