/* OceanofTools — passport_size_image_maker.php
   Page-specific tool/workspace CSS only. Universal header/footer stays in /style/header_footer.css. */
/* ===== Migrated from image_tools/passport_size_image_maker.php inline <style> ===== */
.container1 {
      max-width:none;
      margin: 0 auto;
      background: white;
      border-radius: 16px;
      box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08);
      overflow: hidden;
      margin-left:20px;
      margin-right:20px;
    }

    .hero {
      text-align: center;
      margin-bottom: 30px;
      padding: 40px 20px 20px;
    }

    .hero-icon {
      font-size: 2.4rem;
      display: block;
      margin-bottom: 10px;
      color: #1a75ff;
    }

    h1 {
      font-size: 2.2rem;
      margin-bottom: 12px;
      background: linear-gradient(135deg, #1a75ff, #0d47aa);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero p {
      color: #555;
      font-size: 1.1rem;
      max-width: 750px;
      margin: 0 auto;
      opacity: 0.9;
      line-height: 1.6;
    }

    .settings-section {
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
      padding: 25px;
      border-radius: 15px;
      margin: 0 25px 30px;
    }

    .settings-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-top: 20px;
    }

    .setting-group {
      background: white;
      padding: 15px;
      border-radius: 10px;
      border: 2px solid #e2e8f0;
    }

    .setting-label {
      font-size: 14px;
      color: #2d3748;
      margin-bottom: 8px;
      font-weight: 600;
      display: block;
    }

    .setting-input, .setting-select {
      width: 100%;
      padding: 10px;
      font-size: 14px;
      border: 2px solid #e2e8f0;
      border-radius: 8px;
      outline: none;
      transition: all 0.3s ease;
    }

    .setting-input:focus, .setting-select:focus {
      border-color: #14b89a;
      box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    }

    .upload-section {
      text-align: center;
      padding: 40px;
      margin: 0 25px 30px;
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
      border-radius: 15px;
      border: 3px dashed #14b89a;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .upload-section:hover {
      background: linear-gradient(135deg, #14b89a25 0%, #0d8d7625 100%);
      border-color: #0d8d76;
    }

    .upload-section.dragover {
      background: linear-gradient(135deg, #14b89a35 0%, #0d8d7635 100%);
      border-color: #48bb78;
    }

    .upload-icon {
      font-size: 3rem;
      margin-bottom: 15px;
    }

    .upload-text {
      font-size: 18px;
      color: #2d3748;
      margin-bottom: 10px;
      font-weight: 600;
    }

    .upload-hint {
      color: #718096;
      font-size: 14px;
    }

    #fileInput {
      display: none;
    }

    .editor-section {
      display: none;
      padding: 0 25px 30px;
    }

    .editor-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 30px;
    }

    @media (max-width: 968px) {
      .editor-grid {
        grid-template-columns: 1fr;
      }
    }

    .canvas-container {
      background: #f7fafc;
      padding: 20px;
      border-radius: 12px;
      text-align: center;
      border: 2px solid #e2e8f0;
    }

    .section-title {
      font-size: 18px;
      color: #2d3748;
      margin-bottom: 15px;
      font-weight: 600;
      text-align: left;
    }

    #cropCanvas {
      max-width: 100%;
      border: 2px solid #14b89a;
      border-radius: 8px;
      cursor: crosshair;
      background: #ffffff;
    }

    .crop-controls {
      margin-top: 15px;
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .control-btn {
      padding: 10px 20px;
      font-size: 14px;
      font-weight: 600;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: all 0.3s ease;
      background: linear-gradient(135deg, #14b89a 0%, #0d8d76 100%);
      color: white;
      box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    }

    .control-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
    }

    .control-btn.secondary {
      background: linear-gradient(135deg, #718096 0%, #4a5568 100%);
      box-shadow: 0 4px 15px rgba(113, 128, 150, 0.4);
    }

    #previewCanvas {
      max-width: 100%;
      border: 2px solid #14b89a;
      border-radius: 8px;
      background: #ffffff;
    }

    .action-buttons {
      display: flex;
      gap: 15px;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 30px;
      padding: 0 25px;
    }

    .action-btn {
      padding: 14px 30px;
      font-size: 16px;
      font-weight: 600;
      border: none;
      border-radius: 10px;
      cursor: pointer;
      transition: all 0.3s ease;
      background: linear-gradient(135deg, #14b89a 0%, #0d8d76 100%);
      color: white;
      box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    }

    .action-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
    }

    .action-btn.secondary {
      background: linear-gradient(135deg, #718096 0%, #4a5568 100%);
      box-shadow: 0 4px 15px rgba(113, 128, 150, 0.4);
    }

    .action-btn:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

    .info-card {
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
      padding: 15px;
      border-radius: 10px;
      margin-top: 15px;
      font-size: 14px;
      color: #2d3748;
    }

    .slider-container {
      margin-top: 10px;
    }

    .slider-value {
      display: inline-block;
      margin-left: 10px;
      font-weight: 600;
      color: #14b89a;
    }

    input[type="range"] {
      width: 100%;
      margin-top: 8px;
    }

    .color-picker-group {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    input[type="color"] {
      width: 50px;
      height: 40px;
      border: 2px solid #e2e8f0;
      border-radius: 8px;
      cursor: pointer;
    }

    .checkbox-group {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 10px;
    }

    input[type="checkbox"] {
      width: 20px;
      height: 20px;
      cursor: pointer;
    }

/* ===== Migrated from image_tools/passport_size_image_maker.php inline <style> ===== */
.container1 {
      max-width:none;
      margin: 0 auto;
      background: white;
      border-radius: 16px;
      box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08);
      overflow: hidden;
       margin-left:20px;
      margin-right:20px;
    }

    .hero {
      text-align: center;
      margin-bottom: 30px;
      padding: 40px 20px 20px;
    }

    .hero-icon {
      font-size: 2.4rem;
      display: block;
      margin-bottom: 10px;
      color: #1a75ff;
    }

    h1 {
      font-size: 2.2rem;
      margin-bottom: 12px;
      background: linear-gradient(135deg, #1a75ff, #0d47aa);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero p {
      color: #555;
      font-size: 1.1rem;
      max-width: 750px;
      margin: 0 auto;
      opacity: 0.9;
      line-height: 1.6;
    }

    .section {
      padding: 30px 25px;
      border-bottom: 1px solid #e2e8f0;
    }

    .section:last-child {
      border-bottom: none;
    }

    .section-header {
      display: flex;
      align-items: center;
      gap: 15px;
      margin-bottom: 25px;
    }

    .section-icon {
      font-size: 2rem;
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
      padding: 15px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 60px;
      height: 60px;
    }

    .section-title {
      font-size: 1.8rem;
      color: #2d3748;
      font-weight: 700;
    }

    .content-text {
      color: #4a5568;
      font-size: 1.05rem;
      line-height: 1.8;
      margin-bottom: 20px;
    }

    .feature-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px;
      margin-top: 20px;
    }

    .feature-card {
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
      padding: 25px;
      border-radius: 12px;
      border: 2px solid #e2e8f0;
      transition: all 0.3s ease;
    }

    .feature-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 20px rgba(102, 126, 234, 0.2);
      border-color: #14b89a;
    }

    .feature-icon {
      font-size: 2.5rem;
      margin-bottom: 15px;
      display: block;
    }

    .feature-title {
      font-size: 1.2rem;
      color: #2d3748;
      font-weight: 600;
      margin-bottom: 10px;
    }

    .feature-description {
      color: #718096;
      font-size: 0.95rem;
      line-height: 1.6;
    }

    .steps-container {
      margin-top: 20px;
    }

    .step-item {
      display: flex;
      gap: 20px;
      margin-bottom: 25px;
      padding: 20px;
      background: linear-gradient(135deg, #14b89a08 0%, #0d8d7608 100%);
      border-radius: 12px;
      border-left: 4px solid #14b89a;
    }

    .step-number {
      font-size: 1.8rem;
      font-weight: 700;
      color: #14b89a;
      min-width: 40px;
      height: 40px;
      background: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 10px rgba(102, 126, 234, 0.2);
    }

    .step-content h3 {
      font-size: 1.2rem;
      color: #2d3748;
      margin-bottom: 8px;
      font-weight: 600;
    }

    .step-content p {
      color: #718096;
      line-height: 1.6;
      font-size: 0.95rem;
    }

    .faq-container {
      margin-top: 20px;
    }

    .faq-item {
      background: white;
      border: 2px solid #e2e8f0;
      border-radius: 12px;
      margin-bottom: 15px;
      overflow: hidden;
      transition: all 0.3s ease;
    }

    .faq-item:hover {
      border-color: #14b89a;
    }

    .faq-question {
      padding: 20px;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: linear-gradient(135deg, #14b89a05 0%, #0d8d7605 100%);
      transition: all 0.3s ease;
    }

    .faq-question:hover {
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
    }

    .faq-question h3 {
      font-size: 1.1rem;
      color: #2d3748;
      font-weight: 600;
      flex: 1;
    }

    .faq-toggle {
      font-size: 1.5rem;
      color: #14b89a;
      font-weight: 700;
      transition: transform 0.3s ease;
    }

    .faq-item.active .faq-toggle {
      transform: rotate(45deg);
    }

    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
    }

    .faq-item.active .faq-answer {
      max-height: 500px;
    }

    .faq-answer-content {
      padding: 20px;
      color: #718096;
      line-height: 1.8;
      font-size: 0.95rem;
      border-top: 1px solid #e2e8f0;
    }

    .highlight-box {
      background: linear-gradient(135deg, #14b89a15 0%, #0d8d7615 100%);
      padding: 20px;
      border-radius: 12px;
      border-left: 4px solid #14b89a;
      margin: 20px 0;
    }

    .highlight-box h4 {
      color: #2d3748;
      font-size: 1.1rem;
      margin-bottom: 10px;
      font-weight: 600;
    }

    .highlight-box p {
      color: #718096;
      line-height: 1.6;
    }

    .highlight-box ul {
      list-style: none;
      margin-top: 15px;
    }

    .highlight-box ul li {
      padding: 8px 0;
      color: #4a5568;
      position: relative;
      padding-left: 25px;
    }

    .highlight-box ul li:before {
      content: "✓";
      position: absolute;
      left: 0;
      color: #14b89a;
      font-weight: 700;
      font-size: 1.2rem;
    }

    .tips-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 15px;
      margin-top: 20px;
    }

    .tip-card {
      background: white;
      padding: 15px;
      border-radius: 10px;
      border: 2px solid #e2e8f0;
      display: flex;
      align-items: flex-start;
      gap: 12px;
    }

    .tip-icon {
      font-size: 1.5rem;
      flex-shrink: 0;
    }

    .tip-text {
      color: #718096;
      font-size: 0.9rem;
      line-height: 1.5;
    }

    @media (max-width: 768px) {
      .section-title {
        font-size: 1.5rem;
      }

      .feature-grid {
        grid-template-columns: 1fr;
      }

      .step-item {
        flex-direction: column;
      }
    }

/* ===== Migrated from style/tool-suite.css ===== */
/* OceanofTools shared premium tool interface */
:root{--oot-primary:#0e9379;--oot-primary-dark:#087461;--oot-secondary:#14b8a6;--oot-accent:#06b6d4;--oot-bg:#f3f7fc;--oot-card:#ffffff;--oot-text:#132238;--oot-muted:#61758f;--oot-border:#dbe3f0;--oot-success:#15803d;--oot-danger:#b91c1c;--oot-warning:#a16207;--oot-radius:24px;--oot-shadow:0 22px 56px rgba(17,31,61,.1);--oot-shadow-strong:0 28px 70px rgba(9,19,37,.16)}
html{scroll-behavior:smooth}body.oot-modern{margin:0;background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 18%),radial-gradient(circle at top right,rgba(6,182,212,.08),transparent 18%),linear-gradient(180deg,#f7f9fc 0%,#eef3f9 100%);color:var(--oot-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}body.oot-modern *{box-sizing:border-box}body.oot-modern [hidden]{display:none!important}body.oot-modern img,body.oot-modern canvas,body.oot-modern svg,body.oot-modern video{max-width:100%}body.oot-modern button,body.oot-modern input,body.oot-modern select,body.oot-modern textarea{font:inherit}body.oot-modern button{touch-action:manipulation}body.oot-modern a,body.oot-modern button,body.oot-modern input,body.oot-modern select,body.oot-modern textarea{outline-offset:3px}body.oot-modern :focus-visible{outline:3px solid rgba(37,99,235,.30)}
body.oot-modern>.hero,body.oot-modern main>.hero,body.oot-modern .container1>.hero{position:relative;width:min(1240px,calc(100% - 28px));margin:28px auto 24px!important;padding:36px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:30px!important;background:radial-gradient(circle at top right,rgba(6,182,212,.18),transparent 22%),linear-gradient(135deg,#0f1c34,#142749 58%, #1b2f57 100%)!important;color:#fff!important;box-shadow:var(--oot-shadow-strong)!important;text-align:left!important;overflow:hidden}body.oot-modern .container1>.hero{width:100%;margin:0 0 24px!important}body.oot-modern .hero h1,body.oot-modern .hero h1 *{margin-top:0!important;color:#fff!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:#fff!important;line-height:1.04!important;font-size:clamp(2rem,5vw,3.55rem)!important;letter-spacing:-.04em}body.oot-modern .hero p{max-width:860px!important;margin:14px 0 0!important;color:rgba(255,255,255,.82)!important;font-size:1.05rem!important;line-height:1.72!important}body.oot-modern .hero-icon{display:inline-grid!important;place-items:center;width:66px;height:66px;margin:0 0 15px!important;border-radius:20px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:1.7rem!important;border:1px solid rgba(255,255,255,.08)}
body.oot-modern .container1,body.oot-modern .container2,body.oot-modern .tool-container,body.oot-modern .calculator-container,body.oot-modern .main-container,body.oot-modern .content-container{width:min(1240px,calc(100% - 28px))!important;max-width:1240px!important;margin:24px auto!important;border:1px solid var(--oot-border)!important;border-radius:var(--oot-radius)!important;background:linear-gradient(180deg,#fff,#fbfcff)!important;box-shadow:var(--oot-shadow)!important;padding:28px!important;overflow:visible!important}body.oot-modern .container1 .container1,body.oot-modern .container1 .container2,body.oot-modern .container2 .container1,body.oot-modern .tool-container .container1{width:100%!important;margin:18px 0!important;box-shadow:none!important}
body.oot-modern .content-section,body.oot-modern .faq-section,body.oot-modern .how-to-use,body.oot-modern .features-section,body.oot-modern .about-section,body.oot-modern .stats-card,body.oot-modern .feature-card,body.oot-modern .result-card,body.oot-modern .doc-step,body.oot-modern .doc-section{border:1px solid var(--oot-border)!important;border-radius:20px!important;background:#fff!important;color:var(--oot-text)!important;box-shadow:0 14px 28px rgba(17,31,61,.06)!important}body.oot-modern h1,body.oot-modern h2,body.oot-modern h3{color:var(--oot-text);overflow-wrap:anywhere}body.oot-modern h2{line-height:1.18;letter-spacing:-.03em}body.oot-modern p,body.oot-modern li{line-height:1.7}body.oot-modern .section-description,body.oot-modern .description,body.oot-modern .subtitle,body.oot-modern .help-text{color:var(--oot-muted)!important}
body.oot-modern input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),body.oot-modern select,body.oot-modern textarea{max-width:100%;min-height:48px;padding:12px 14px;border:1px solid #d2dcec!important;border-radius:16px!important;background:#fff!important;color:var(--oot-text)!important;box-shadow:none!important}body.oot-modern textarea{resize:vertical;line-height:1.6}body.oot-modern input:focus,body.oot-modern select:focus,body.oot-modern textarea:focus{border-color:var(--oot-primary)!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important}body.oot-modern input[type=file]{max-width:100%}body.oot-modern input[type=checkbox],body.oot-modern input[type=radio]{accent-color:var(--oot-primary)}
body.oot-modern .btn,body.oot-modern .primary-btn,body.oot-modern .action-btn,body.oot-modern .convert-btn,body.oot-modern .calculate-btn,body.oot-modern .process-btn,body.oot-modern .download-btn,body.oot-modern .upload-btn,body.oot-modern button[class*=primary],body.oot-modern button[class*=convert],body.oot-modern button[class*=calculate],body.oot-modern button[class*=generate]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:16px!important;font-weight:800!important;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,border-color .18s ease;background:#fff;color:var(--oot-text);border:1px solid #d7e0ef!important;box-shadow:0 10px 24px rgba(17,31,61,.06)!important}body.oot-modern .primary-btn,body.oot-modern .convert-btn,body.oot-modern .calculate-btn,body.oot-modern .process-btn,body.oot-modern button[class*=primary],body.oot-modern button[class*=convert],body.oot-modern button[class*=calculate],body.oot-modern button[class*=generate]{border:1px solid transparent!important;background:linear-gradient(135deg,var(--oot-primary),var(--oot-secondary))!important;color:#fff!important;box-shadow:0 16px 34px rgba(37,99,235,.26)!important}body.oot-modern button:hover:not(:disabled),body.oot-modern .btn:hover{transform:translateY(-1px)}body.oot-modern button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none!important}
body.oot-modern .drop-zone,body.oot-modern .upload-area,body.oot-modern .file-upload,body.oot-modern [class*=dropzone]{border:2px dashed #b8c8e4!important;border-radius:20px!important;background:linear-gradient(180deg,#fbfcff,#f4f8ff)!important;transition:.2s ease;padding:18px!important}body.oot-modern .is-dragging{border-color:var(--oot-primary)!important;background:#eef1ff!important}
body.oot-modern .result,body.oot-modern .result-section,body.oot-modern .output-section,body.oot-modern .output-container,body.oot-modern .preview-section,body.oot-modern .preview-area{min-width:0;border:1px solid var(--oot-border)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 28px rgba(17,31,61,.05)!important}body.oot-modern .success,body.oot-modern .success-message{border:1px solid #bde5c7!important;background:#f0fff4!important;color:var(--oot-success)!important}body.oot-modern .error,body.oot-modern .error-message{border:1px solid #f2c6c6!important;background:#fff4f4!important;color:var(--oot-danger)!important}
body.oot-modern table{width:100%;border-collapse:collapse}body.oot-modern th,body.oot-modern td{padding:12px 13px;border:1px solid var(--oot-border);text-align:left}body.oot-modern th{background:#f4f7fd}.oot-table-wrap{max-width:100%;overflow:auto;border-radius:16px;border:1px solid var(--oot-border)}.oot-table-wrap table{min-width:520px}
body.oot-modern .tool-interface,body.oot-modern .input-output-container,body.oot-modern .editor-container,body.oot-modern .controls-container,body.oot-modern .main-content{min-width:0}body.oot-modern canvas{height:auto!important}body.oot-modern iframe{max-width:100%;border-radius:16px}
body.oot-modern .faq-item,body.oot-modern details{border-radius:18px;border:1px solid var(--oot-border)!important;background:#fff!important}body.oot-modern details summary{cursor:pointer;padding:14px 16px;font-weight:800}.oot-toast{position:fixed;right:18px;bottom:18px;z-index:99999;width:min(390px,calc(100% - 36px));padding:14px 16px;border:1px solid #f2c6c6;border-radius:18px;background:#fff4f4;color:var(--oot-danger);box-shadow:0 16px 50px rgba(15,23,42,.18);font-weight:650}.oot-toast.is-success{border-color:#bde5c7;background:#f0fff4;color:var(--oot-success)}.oot-toast button{float:right;border:0;background:transparent;color:inherit;font-size:1.1rem}.oot-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.oot-modern .stat-card,body.oot-modern .metric-card,body.oot-modern .feature-card,body.oot-modern .color-card,body.oot-modern .palette-card,body.oot-modern .faq-card{padding:18px!important}
body.oot-modern .progress-bar{background:#e7eef9!important;border-radius:999px!important;overflow:hidden}body.oot-modern .progress-fill{background:linear-gradient(90deg,var(--oot-primary),var(--oot-secondary))!important;border-radius:999px!important}
@media(max-width:900px){body.oot-modern .tool-interface,body.oot-modern .input-output-container,body.oot-modern .editor-container,body.oot-modern .controls-container,body.oot-modern .main-content{grid-template-columns:1fr!important;flex-direction:column!important}body.oot-modern [style*="grid-template-columns"]{max-width:100%}body.oot-modern .sidebar,body.oot-modern [class*=sidebar]{position:static!important;width:100%!important;max-width:none!important}}
@media(max-width:720px){body.oot-modern>.hero,body.oot-modern main>.hero,body.oot-modern .container1>.hero{width:min(100% - 18px,1240px);padding:24px 19px!important;border-radius:24px!important;margin-top:14px!important}body.oot-modern .container1>.hero{width:100%}body.oot-modern .container1,body.oot-modern .container2,body.oot-modern .tool-container,body.oot-modern .calculator-container,body.oot-modern .main-container,body.oot-modern .content-container{width:min(100% - 18px,1240px)!important;margin:14px auto!important;padding:18px!important;border-radius:20px!important}body.oot-modern .container1 .container1,body.oot-modern .container1 .container2{width:100%!important}body.oot-modern .tool-interface>*,body.oot-modern .input-section,body.oot-modern .output-section{min-width:0!important;width:100%!important}body.oot-modern .button-group,body.oot-modern .actions,body.oot-modern .action-buttons,body.oot-modern .controls{flex-wrap:wrap!important}body.oot-modern .button-group>button,body.oot-modern .actions>button,body.oot-modern .action-buttons>button{flex:1 1 145px;min-height:46px}body.oot-modern input,body.oot-modern select,body.oot-modern textarea{font-size:16px!important}body.oot-modern .search-container{width:min(100% - 18px,1240px)!important;margin-left:auto!important;margin-right:auto!important}body.oot-modern pre,body.oot-modern code{white-space:pre-wrap;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.oot-modern *,body.oot-modern *:before,body.oot-modern *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body.oot-modern .doc-container,body.oot-modern .docs-container,body.oot-modern .documentation,body.oot-modern .doc-section,body.oot-modern .doc-steps,body.oot-modern .doc-step,body.oot-modern .doc-step-content,body.oot-modern .feature-card,body.oot-modern .section-content {min-width: 0;max-width: 100%;overflow-wrap: anywhere}
body.oot-modern .doc-code-block,body.oot-modern .code-block,body.oot-modern pre {max-width: 100%;overflow-x: auto;border-radius:16px;border:1px solid var(--oot-border);background:#0f1c34;color:#e7efff;padding:16px}
@media(max-width:720px){body.oot-modern .doc-step{gap:12px!important;padding-left:14px!important;padding-right:14px!important}body.oot-modern .doc-step-content{width:auto!important;flex:1 1 auto!important}body.oot-modern .doc-step-number{flex:0 0 auto!important}}
@media(max-width:720px){body.oot-modern table:not(.oot-no-scroll){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}body.oot-modern table:not(.oot-no-scroll) caption{display:block;width:100%}}

/* ===== Migrated from image_tools/assets/legacy-image-fixes.css ===== */
/* Conservative compatibility fixes for the original image tool pages. */
html, body { max-width: 100%; overflow-x: hidden; }
img, canvas, video, svg { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }
.nits-wrap { max-width: 1280px; margin: 28px auto; padding: 0 18px; }
.nits-box { background: #fff; border: 1px solid #e4e7ec; border-radius: 18px; padding: 24px; box-shadow: 0 8px 24px rgba(15,23,42,.06); }
.nits-box h2 { margin: 0 0 8px; color: #172033; font-size: 1.45rem; }
.nits-box > p { margin: 0 0 18px; color: #667085; line-height: 1.65; }
.nits-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.nits-grid a { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; align-items: start; padding: 14px; border: 1px solid #e4e7ec; border-radius: 12px; color: inherit; text-decoration: none; background: #fcfcfd; }
.nits-grid a:hover { border-color: #a78bfa; box-shadow: 0 7px 18px rgba(124,58,237,.1); transform: translateY(-1px); }
.nits-grid span { grid-row: span 2; font-size: 1.45rem; }.nits-grid strong { color: #101828; }.nits-grid small { color: #667085; line-height: 1.4; }
@media (max-width: 900px) {
  .nits-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .container1,.container2,.editor-container,.tool-container,.main-container { max-width: calc(100% - 20px) !important; margin-left: 10px !important; margin-right: 10px !important; }
}
@media (max-width: 560px) {
  .nits-grid { grid-template-columns: 1fr; }
  .nits-wrap { padding: 0 10px; }
  .nits-box { padding: 18px; }
}

/* ============================================================
   Compact image-tool workspaces — 2026-08-09
   Desktop: preview on the left, controls/actions on the right.
   Mobile/tablet: retain a natural stacked flow.
   ============================================================ */

@media (min-width: 901px) {
  /* Give editing tools room without making content full-bleed. */
  .container1,
  .app-wrapper,
  .settings-container,
  .signature-workspace,
  .editor-container {
    max-width: 1420px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Common legacy family: blur / hue / saturation / sharpen / rainbow / upscaler.
     Their controls and buttons live inside .preview-section. */
  .preview-section.active:has(> .canvas-container):has(> .controls-section) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 380px);
    grid-template-areas:
      "canvas controls"
      "stats controls"
      "stats actions";
    gap: 14px 16px;
    align-items: start;
    padding: 0 18px 22px !important;
  }
  .preview-section.active:has(> .canvas-container):has(> .controls-section) > .canvas-container {
    grid-area: canvas;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    align-items: center;
    min-width: 0;
  }
  .preview-section.active:has(> .canvas-container):has(> .controls-section) > .stats {
    grid-area: stats;
    margin: 0 !important;
  }
  .preview-section.active:has(> .canvas-container):has(> .controls-section) > .controls-section {
    grid-area: controls;
    margin: 0 !important;
    padding: 18px !important;
    max-height: calc(100vh - 150px);
    overflow: auto;
    overscroll-behavior: contain;
    position: sticky;
    top: 84px;
    scrollbar-width: thin;
  }
  .preview-section.active:has(> .canvas-container):has(> .controls-section) > .action-buttons {
    grid-area: actions;
    margin: 0 !important;
    align-self: start;
  }
  .preview-section.active .canvas-wrapper {
    min-width: 0;
    width: 100%;
  }
  .preview-section.active canvas {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: min(48vh, 520px) !important;
    object-fit: contain;
  }

  /* Image format converter: upload first, then previews left + format controls right. */
  .oot-compact-format-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 380px);
    gap: 16px;
    align-items: start;
    margin: 0 0 18px;
  }
  .oot-compact-format-workspace > .preview-section {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0;
  }
  .oot-compact-format-workspace > .format-selector-container {
    margin: 0 !important;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 110px);
    overflow: auto;
  }
  .oot-compact-format-workspace .image-container {
    min-height: 260px !important;
    height: min(46vh, 500px);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .oot-compact-format-workspace .image-container img,
  .oot-compact-format-workspace .image-container canvas {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
  }

  /* Metadata tool: uploaded image on left, metadata/edit panels on right. */
  .oot-compact-metadata-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    gap: 16px;
    align-items: start;
  }
  .oot-compact-metadata-workspace > .upload-section,
  .oot-compact-metadata-workspace > .tool-interface {
    margin: 0 !important;
    min-width: 0;
  }
  .oot-compact-metadata-workspace > .tool-interface {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-height: calc(100vh - 120px);
    overflow: auto;
    position: sticky;
    top: 84px;
    scrollbar-width: thin;
  }
  .oot-compact-metadata-workspace .preview-container {
    max-height: min(52vh, 560px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .oot-compact-metadata-workspace .preview-img {
    width: auto !important;
    height: auto !important;
    max-height: min(52vh, 560px) !important;
    object-fit: contain;
  }

  /* Enhanced resizer workspace created by compact-image-workspace.js. */
  .oot-compact-resizer-workspace,
  .oot-compact-special-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 400px);
    gap: 16px;
    align-items: start;
    width: min(1420px, calc(100% - 32px));
    margin: 0 auto 22px;
  }
  .container1 > .oot-compact-resizer-workspace { width: 100%; margin-left: 0; margin-right: 0; }
  .oot-compact-resizer-workspace > .tool-interface,
  .oot-compact-special-workspace > .oot-compact-preview-side {
    min-width: 0;
    margin: 0 !important;
  }
  .oot-compact-resizer-workspace > .tool-interface {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .oot-compact-resizer-workspace > .oot-compact-controls-side,
  .oot-compact-special-workspace > .oot-compact-controls-side {
    min-width: 0;
    max-height: calc(100vh - 110px);
    overflow: auto;
    position: sticky;
    top: 84px;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
  .oot-compact-resizer-workspace .input-section,
  .oot-compact-resizer-workspace .output-section {
    margin: 0 !important;
  }
  .oot-compact-resizer-workspace #imagePreview img,
  .oot-compact-resizer-workspace canvas,
  .oot-compact-special-workspace img,
  .oot-compact-special-workspace canvas {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: min(54vh, 580px) !important;
    object-fit: contain;
  }

  /* Pixelation / passport / watermark wrappers. */
  .oot-compact-special-workspace > .canvas-container,
  .oot-compact-special-workspace > .editor-section,
  .oot-compact-special-workspace > .tool-interface {
    min-width: 0;
    margin: 0 !important;
  }
  .oot-compact-special-workspace > .tool-interface {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .oot-compact-special-workspace .canvas-container {
    min-height: 360px;
    max-height: calc(100vh - 135px);
    overflow: auto;
  }
  .oot-compact-special-workspace .settings-section,
  .oot-compact-special-workspace .settings-container,
  .oot-compact-special-workspace .controls-section {
    margin: 0 !important;
  }
  .oot-compact-special-workspace .action-buttons {
    margin: 12px 0 0 !important;
  }

  /* Already-split editors: keep the actual canvas and tools inside one viewport. */
  .editor-container,
  .editor-layout,
  .signature-workspace {
    align-items: start;
  }
  .editor-container .canvas-area,
  .editor-layout .canvas-area,
  .signature-workspace .canvas-container {
    max-height: calc(100vh - 140px);
    overflow: auto;
  }
  .editor-container .controls-sidebar,
  .editor-container > .toolbar,
  .editor-layout .tools-column,
  .signature-workspace > .controls-section {
    max-height: calc(100vh - 120px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
  .editor-container canvas,
  .editor-layout canvas,
  .signature-workspace canvas {
    max-height: min(58vh, 620px) !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain;
  }

  /* Upload boxes should not consume half a screen once the editing workspace follows. */
  .container1 > .upload-section,
  .editor-container + .upload-section,
  .upload-section[id="uploadSection"] {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    min-height: 0 !important;
  }
}

@media (max-width: 900px) {
  .oot-compact-format-workspace,
  .oot-compact-metadata-workspace,
  .oot-compact-resizer-workspace,
  .oot-compact-special-workspace {
    display: block;
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
  }
  .oot-compact-format-workspace > *,
  .oot-compact-metadata-workspace > *,
  .oot-compact-resizer-workspace > *,
  .oot-compact-special-workspace > * {
    margin-bottom: 14px !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (min-width: 901px) {
  .oot-compact-format-workspace > .oot-compact-controls-side,
  .oot-compact-metadata-workspace > .oot-compact-controls-side {
    min-width: 0;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 110px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
  .oot-compact-format-workspace > .oot-compact-controls-side > .format-selector-container,
  .oot-compact-metadata-workspace > .oot-compact-controls-side > .tool-interface {
    margin: 0 !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .oot-compact-metadata-workspace > .oot-compact-controls-side > .tool-interface {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .oot-compact-format-workspace > .oot-compact-controls-side > .action-buttons,
  .oot-compact-metadata-workspace > .oot-compact-controls-side > .action-buttons {
    margin: 12px 0 0 !important;
  }
}

/* ===== Migrated from image_tools/css/passport_size_image_maker.css ===== */
.container,.container1{width:min(95vw,1520px)!important;max-width:1520px!important;margin-left:auto!important;margin-right:auto!important}.settings-section{margin:0 0 18px!important;padding:18px!important}.settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}.upload-section{margin:0 0 18px!important;padding:24px 18px!important}.editor-section{padding:0 0 18px!important}.editor-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.95fr)!important;gap:18px!important}.canvas-container{padding:16px!important}#cropCanvas,#previewCanvas{max-height:460px!important;width:auto!important;height:auto!important}.action-buttons{padding:0!important;margin-bottom:18px!important;justify-content:flex-start!important}@media(max-width:1180px){.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:900px){.container,.container1{width:calc(100% - 18px)!important}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.editor-grid{grid-template-columns:1fr!important}}@media(max-width:620px){.settings-grid{grid-template-columns:1fr!important}}


/* ===== Passport Size Maker modern workspace refresh ===== */
body.passport-size-tool-page .search-container{display:none!important;}
body.passport-size-tool-page .psm-tool-shell{width:min(1480px, calc(100% - 28px))!important;max-width:1480px!important;margin:18px auto 22px!important;padding:0!important;overflow:hidden!important;border-radius:28px!important;border:1px solid #dbe7e2!important;box-shadow:0 18px 42px rgba(15,35,30,.08)!important;background:linear-gradient(180deg,#fff,#fbfcff)!important;}
body.passport-size-tool-page .psm-tool-header{padding:18px 22px!important;border-bottom:1px solid #e3ece8!important;background:linear-gradient(180deg,#f5faf8 0%,#eef6f3 100%)!important;}
body.passport-size-tool-page .psm-tool-header h2{margin:0 0 6px!important;font-size:1.85rem!important;line-height:1.15!important;color:#082338!important;}
body.passport-size-tool-page .psm-tool-header p{margin:0!important;color:#5d7281!important;font-size:1rem!important;line-height:1.55!important;}
body.passport-size-tool-page .psm-shell-body{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;gap:18px!important;padding:18px!important;align-items:start!important;}
body.passport-size-tool-page .psm-main-column,body.passport-size-tool-page .psm-sidebar{min-width:0!important;}
body.passport-size-tool-page .upload-section{margin:0!important;min-height:184px!important;border:2px dashed #98e1d2!important;border-radius:22px!important;background:linear-gradient(180deg,#f9fcfb 0%,#f3f8f6 100%)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:22px 18px!important;}
body.passport-size-tool-page .upload-icon{font-size:2.35rem!important;margin-bottom:8px!important;} 
body.passport-size-tool-page .upload-text{font-size:1.08rem!important;font-weight:800!important;color:#082338!important;margin-bottom:8px!important;} 
body.passport-size-tool-page .upload-hint{font-size:.92rem!important;color:#5c7382!important;margin-bottom:16px!important;}
body.passport-size-tool-page .upload-cta{min-width:190px!important;min-height:48px!important;border-radius:15px!important;border:1px solid #ccdad5!important;background:#fff!important;color:#082338!important;font-weight:800!important;cursor:pointer!important;}
body.passport-size-tool-page .editor-section{padding:0!important;margin-top:16px!important;} 
body.passport-size-tool-page .editor-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
body.passport-size-tool-page .canvas-container,body.passport-size-tool-page .settings-section,body.passport-size-tool-page .action-buttons{border:1px solid #dbe7e2!important;border-radius:22px!important;box-shadow:0 12px 28px rgba(15,35,30,.05)!important;background:#fff!important;}
body.passport-size-tool-page .canvas-container{padding:18px!important;min-width:0!important;} 
body.passport-size-tool-page .section-title{margin-bottom:14px!important;color:#082338!important;font-size:1.3rem!important;}
body.passport-size-tool-page #cropCanvas,body.passport-size-tool-page #previewCanvas{width:100%!important;height:auto!important;max-height:500px!important;background:#fff!important;border:2px solid #c7e7df!important;border-radius:16px!important;}
body.passport-size-tool-page .crop-controls{gap:10px!important;margin-top:14px!important;} 
body.passport-size-tool-page .control-btn,body.passport-size-tool-page .action-btn{min-height:46px!important;border-radius:14px!important;box-shadow:none!important;}
body.passport-size-tool-page .control-btn.secondary,body.passport-size-tool-page .action-btn.secondary{background:linear-gradient(135deg,#718096 0%,#4a5568 100%)!important;}
body.passport-size-tool-page .settings-section{margin:0!important;padding:18px!important;background:linear-gradient(180deg,#f6fbf9 0%,#f1f7f4 100%)!important;}
body.passport-size-tool-page .settings-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important;}
body.passport-size-tool-page .setting-group{margin:0!important;padding:14px!important;border-radius:16px!important;border:1px solid #dbe7e2!important;box-shadow:none!important;min-width:0!important;} 
body.passport-size-tool-page .setting-group.inline-control{background:#f8fbfa!important;} 
body.passport-size-tool-page .settings-span-full{grid-column:1 / -1!important;}
body.passport-size-tool-page .setting-input,body.passport-size-tool-page .setting-select{min-height:46px!important;border-radius:12px!important;} 
body.passport-size-tool-page .color-picker-group{display:flex!important;gap:10px!important;align-items:center!important;} 
body.passport-size-tool-page .color-picker-group input[type="color"]{width:64px!important;height:46px!important;border:none!important;padding:0!important;background:transparent!important;}
body.passport-size-tool-page .info-card{border-radius:16px!important;margin-top:12px!important;background:linear-gradient(180deg,#f8fcfb 0%,#edf7f3 100%)!important;} 
body.passport-size-tool-page .preview-meta{font-size:.95rem!important;line-height:1.7!important;}
body.passport-size-tool-page .action-buttons{margin:16px 0 0!important;padding:14px!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;} 
body.passport-size-tool-page .action-btn{width:100%!important;justify-content:center!important;}
body.passport-size-tool-page .psm-tool-shell.psm-upload-only .editor-section{display:none!important;} 
body.passport-size-tool-page .psm-tool-shell.psm-has-image .editor-section{display:block!important;} 
body.passport-size-tool-page .psm-tool-shell.psm-upload-only .action-buttons{opacity:.72!important;}
@media (max-width:1180px){body.passport-size-tool-page .psm-shell-body{grid-template-columns:1fr!important;}body.passport-size-tool-page .psm-main-column{order:1!important;}body.passport-size-tool-page .psm-sidebar{order:2!important;}}
@media (max-width:860px){body.passport-size-tool-page .psm-tool-shell{width:calc(100% - 16px)!important;max-width:none!important;border-radius:22px!important;}body.passport-size-tool-page .psm-tool-header{padding:16px!important;}body.passport-size-tool-page .psm-tool-header h2{font-size:1.45rem!important;}body.passport-size-tool-page .psm-tool-header p{font-size:.92rem!important;}body.passport-size-tool-page .psm-shell-body{padding:14px!important;gap:14px!important;}body.passport-size-tool-page .editor-grid{grid-template-columns:1fr!important;}body.passport-size-tool-page .settings-grid{grid-template-columns:1fr 1fr!important;}}
@media (max-width:560px){body.passport-size-tool-page .upload-section{min-height:160px!important;padding:18px 14px!important;}body.passport-size-tool-page .upload-cta{width:100%!important;min-width:0!important;}body.passport-size-tool-page .settings-grid{grid-template-columns:1fr!important;}body.passport-size-tool-page .crop-controls{display:grid!important;grid-template-columns:1fr!important;}body.passport-size-tool-page .checkbox-group{align-items:flex-start!important;}}


/* ===== 2026-08-16 paper preview ratio correction ===== */
body.passport-size-tool-page .preview-card{
  overflow:visible!important;
}
body.passport-size-tool-page #previewCanvas{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:72vh!important;
  margin:0 auto!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
}
body.passport-size-tool-page #cropCanvas{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:62vh!important;
  margin:0 auto!important;
  object-fit:contain!important;
}
@media (max-width:860px){
  body.passport-size-tool-page #previewCanvas{
    max-height:none!important;
    width:100%!important;
    height:auto!important;
  }
  body.passport-size-tool-page .preview-card{
    overflow-x:auto!important;
  }
}
