:root{--ink:#17231d;--muted:#68766f;--line:#dfe7e2;--bg:#f4f7f5;--card:#fff;--nav:#142019;--green:#4eb252;--green2:#31843a;--soft:#ebf7ec;--red:#d64b4b;--amber:#d8952f;--merchant-page-bg:#EEFFFD;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 11px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#7fc982;box-shadow:0 0 0 3px rgba(78,178,82,.12)}textarea{min-height:92px}.merchant-logo{display:inline-flex;align-items:flex-end;gap:6px;color:#1b281f;text-decoration:none;font-weight:900;font-size:25px;letter-spacing:-1.5px}.merchant-logo small{font-size:9px;letter-spacing:.1em;color:var(--green);padding-bottom:3px}.merchant-logo.light{color:#fff}.merchant-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:.14em;color:var(--green);margin-bottom:9px}.merchant-toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#18251e;color:#fff;padding:13px 16px;border-radius:10px;box-shadow:0 14px 35px #0003;font-size:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;white-space:pre-line;max-width:340px}.merchant-toast.show{opacity:1;transform:none}.merchant-button{min-height:41px;border:0;border-radius:9px;padding:0 16px;background:var(--green);color:#fff;font-weight:750}.merchant-button:hover:not(:disabled){background:var(--green2)}.merchant-button.muted{background:#edf1ef;color:#33443a}.merchant-button.outline{background:#fff;border:1px solid var(--line);color:#35453c}.merchant-link{border:0;background:transparent;color:var(--green2);font-weight:700}.merchant-form{display:grid;gap:15px}.merchant-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.merchant-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.merchant-field{display:grid;gap:6px;color:#4e5c54;font-size:11px;font-weight:700}.merchant-phone-input-row{display:flex;gap:8px}.merchant-phone-input-row .merchant-phone-country{flex:0 0 116px;min-height:41px}.merchant-phone-input-row input{flex:1;min-width:0}.merchant-field small{font-weight:400;color:#87938c;line-height:1.4}.req{color:#d34848}.merchant-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#64716a}.merchant-checkbox input{width:16px;min-height:16px}.merchant-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.merchant-section-title h2{font-size:20px;margin:0 0 5px}.merchant-section-title p{font-size:12px;color:var(--muted);margin:0}.merchant-chip,.document-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf2ef;color:#59675f;font-size:9px;font-weight:750}
/* GOREV: ROUND 9 - "+ Yeni Trendyol Hesabı" (data-action="trendyol-account-add")
   ".merchant-button" temel kuralindan font-size/white-space MIRAS ALMIYORDU (govde
   varsayilanina dusuyordu) - dar konteynerlerde metin iki satira KIRILIYORDU. Buton
   genisletilmedi, TERSINE font biraz kucultuldu + white-space:nowrap ile metnin KENDI
   ICINDE kirilmasi TAMAMEN engellendi; flex:0 0 auto ile konteyner onu SIKISTIRAMAZ -
   gerekirse (dar ekran) SATIRIN TAMAMI (chip+buton) alt satira gecer (bkz.
   .merchant-section-title>div{flex-wrap:wrap} asagida), ama buton metni HER ZAMAN tek
   satir kalir. */
button[data-action="trendyol-account-add"]{white-space:nowrap;font-size:12px;padding:0 14px;flex:0 0 auto}
.merchant-accounts-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:8px}
html.merchant-theme-loading #authRoot{opacity:0;pointer-events:none}
.merchant-auth-root{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr)}.merchant-auth-brand{padding:48px clamp(36px,6vw,88px);background:radial-gradient(circle at 20% 85%,#61cb6a2e,transparent 38%),linear-gradient(145deg,#101b14,#1e3427);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:48px}.merchant-auth-brand h1{max-width:520px;font-size:clamp(38px,5vw,64px);letter-spacing:-.055em;line-height:1.02;margin:0 0 18px}.merchant-auth-brand p{max-width:510px;color:#b9c8bf;line-height:1.65}.merchant-auth-points{display:flex;gap:18px;flex-wrap:wrap;color:#c9d7cf;font-size:11px}.merchant-auth-panel{display:grid;place-items:center;padding:38px 22px}.merchant-auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:33px;box-shadow:0 18px 50px #17271d17}.merchant-auth-card h2{font-size:27px;margin:0 0 7px}.merchant-auth-card>p{color:var(--muted);font-size:12px;margin:0 0 24px}.merchant-auth-links{display:flex;justify-content:space-between;gap:12px;font-size:11px}.merchant-code-input{font-size:24px;letter-spacing:.45em;text-align:center;font-weight:800}.merchant-auth-icon{width:58px;height:58px;border-radius:16px;background:var(--soft);color:var(--green2);display:grid;place-items:center;font-size:25px;margin-bottom:18px}
.application-topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,70px)}.application-topbar>div{display:flex;gap:17px;align-items:center;font-size:12px}.application-shell{max-width:1180px;margin:auto;padding:36px 23px 60px}.application-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.application-heading h1{font-size:29px;margin:0 0 7px}.application-heading p{margin:0;color:var(--muted)}.application-stepper{display:flex;margin-bottom:20px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px}.application-step{min-width:180px;flex:1;border:0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left;color:#7b8881;padding:9px}.application-step-index{width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:#edf1ef;display:grid;place-items:center;font-weight:800;font-size:11px}.application-step.active,.application-step.done{color:#255e2c}.application-step.active .application-step-index,.application-step.done .application-step-index{background:var(--green);color:#fff}.application-step strong,.application-step small{display:block}.application-step strong{font-size:11px}.application-step small{font-size:9px}.application-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:0 8px 28px #1b2f220d}.application-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.application-actions>div{display:flex;gap:8px}.application-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.application-summary-card{border:1px solid var(--line);border-radius:11px;padding:15px}.application-summary-card h3{font-size:13px;margin:0 0 11px}.application-summary-card dl{display:grid;grid-template-columns:105px 1fr;gap:7px;margin:0;font-size:11px}.application-summary-card dt{color:var(--muted)}.application-summary-card dd{margin:0;font-weight:700}.application-missing{padding:11px;border-radius:8px;background:#fff7e8;color:#90601b;font-size:11px;margin-bottom:14px}
.document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.document-card{border:1px solid var(--line);border-radius:12px;padding:15px}.document-card-head{display:flex;justify-content:space-between;gap:10px}.document-card h3{font-size:13px;margin:0 0 4px}.document-card p{font-size:10px;color:var(--muted);margin:0}.document-dropzone{min-height:100px;margin:12px 0;border:1px dashed #b8c7bd;border-radius:9px;background:#f8faf8;display:grid;place-items:center;text-align:center;color:#728078;font-size:10px;padding:11px}.document-dropzone input{display:none}.document-dropzone label{cursor:pointer}.document-dropzone strong{display:block;color:#3c4d43;margin-bottom:4px}.document-status.uploaded,.document-status.approved{background:var(--soft);color:#34823c}.document-status.review{background:#edf0ff;color:#4f62b5}.document-status.rejected{background:#fff0f0;color:#bd4242}.document-file{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}.document-file button{border:0;border-radius:6px;padding:5px 7px;font-size:9px}.merchant-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.merchant-brand-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;box-shadow:0 1px 3px rgba(23,35,29,.04)}.merchant-brand-logo{width:51px;height:51px;border-radius:11px;background:linear-gradient(145deg,#e8f6e9,#f6faf6);display:grid;place-items:center;color:#398440;font-weight:900;overflow:hidden}.merchant-brand-logo img{width:100%;height:100%;object-fit:contain}.merchant-brand-card h3{font-size:14px;margin:11px 0 3px}.merchant-brand-card p{font-size:10px;color:var(--muted);margin:0 0 11px}.merchant-brand-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}
/* GOREV: ROUND 11 - Markalar ekrani (renderMerchantBrandsReal/renderRealBrandCards)
   referans gorsele gore YENIDEN tasarlandi. BILEREK yukaridaki .merchant-brand-*
   siniflarindan TAMAMEN AYRI, YENI bir sinif ailesi (.merchant-realbrand-*) kullanilir -
   .merchant-brand-card/.merchant-brand-grid HALA basvuru sihirbazinin (renderBrandCards,
   demo.brands, application asamasi) KENDI ekraninda AYNEN kullaniliyor; o ekrana bu
   round'da HIC DOKUNULMADI (gorev tanimi: sadece Merchant'in ONAYLANMIS markalar
   ekranini yenile). Ayni class adlarini yeniden kullanip CSS'i degistirseydik, o BASKA
   ekranin gorunumu de SESSIZCE bozulurdu - bu yuzden izole yeni isimlendirme.
   Layout: 1181px+ genislikte ana kart alani + sag "ipuclari/hizli islemler" paneli
   yan yana (mevcut .merchant-integration-detail'in 1181px esigiyle AYNI, established
   breakpoint) - altinda panel ana alanin ALTINA gecer. Kart izgarasi 821px+ iki kolon,
   altinda tek kolon. */
.merchant-realbrand-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
.merchant-realbrand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.merchant-realbrand-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:0 1px 3px rgba(23,35,29,.04);display:flex;flex-direction:column;gap:14px}
.merchant-realbrand-card-head{display:flex;align-items:center;gap:12px}
.merchant-realbrand-logo{width:52px;height:52px;flex:0 0 52px;border-radius:12px;background:linear-gradient(145deg,#e8f6e9,#f6faf6);display:grid;place-items:center;color:#398440;font-weight:900;font-size:14px;overflow:hidden}
.merchant-realbrand-logo img{width:100%;height:100%;object-fit:contain}
.merchant-realbrand-card-title{min-width:0;display:flex;flex-direction:column;gap:4px}
.merchant-realbrand-card-title h3{font-size:15px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.merchant-realbrand-status{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-size:10px;font-weight:750;padding:3px 8px 3px 6px;border-radius:999px;background:#edf2ef;color:#59675f}
.merchant-realbrand-status.is-active{background:#e3f8ef;color:#0f9d68}
.merchant-realbrand-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}
.merchant-realbrand-integrations-label{display:block;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.merchant-realbrand-integrations-list{display:flex;flex-wrap:wrap;gap:7px}
.merchant-realbrand-integration-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#f2f5f3;font-size:10.5px;font-weight:650;color:#3c4d43}
.merchant-realbrand-integration-chip img,.merchant-realbrand-integration-chip svg{width:14px;height:14px;flex:0 0 14px;object-fit:contain}
.merchant-realbrand-integration-empty{font-size:10.5px;color:var(--muted)}
.merchant-realbrand-footer{display:flex;justify-content:space-between;align-items:center;padding-top:13px;border-top:1px solid var(--line);margin-top:auto}
.merchant-realbrand-footer .merchant-link{font-size:11.5px;font-weight:700}
.merchant-realbrand-side{display:flex;flex-direction:column;gap:13px}
.merchant-realbrand-tips,.merchant-realbrand-quick{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;box-shadow:0 1px 3px rgba(23,35,29,.04)}
.merchant-realbrand-tips h3,.merchant-realbrand-quick h3{font-size:12.5px;margin:0 0 11px}
.merchant-realbrand-tips ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.merchant-realbrand-tips li{position:relative;padding-left:19px;font-size:11px;color:#4e5c54;line-height:1.5}
.merchant-realbrand-tips li::before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--soft)}
.merchant-realbrand-tips li::after{content:"";position:absolute;left:3.5px;top:6.5px;width:5px;height:8px;border:solid var(--green2);border-width:0 2px 2px 0;transform:rotate(45deg)}
.merchant-realbrand-quick{display:flex;flex-direction:column;gap:8px}
.merchant-realbrand-quick .merchant-button{width:100%}
@media(max-width:1180px){.merchant-realbrand-layout{grid-template-columns:1fr}}
@media(max-width:820px){.merchant-realbrand-grid{grid-template-columns:1fr}}
.merchant-status-root{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#e4f5e6,transparent 40%),#f5f8f6}.merchant-status-card{width:min(700px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:35px;box-shadow:0 18px 55px #172d1d1a}.merchant-status-card h1{font-size:28px;margin:19px 0 8px}.merchant-status-card>p{color:var(--muted);line-height:1.6}.merchant-status-list{margin:23px 0;display:grid;gap:9px}.merchant-status-row{padding:12px;border:1px solid var(--line);border-radius:9px;display:flex;justify-content:space-between;font-size:11px}
.merchant-app{min-height:100vh;display:grid;grid-template-columns:var(--merchant-sidebar-width,255px) 1fr;background:var(--merchant-page-bg)}
/* GOREV: MERCHANT PANEL SOL MENÜSÜNÜ ADMIN PANEL TASARIM DİLİNE YAKLAŞTIR - admin
   sidebar'ın (outputs/index.html - .side/--nav:#1b1b07/--navHover:#182638 aile) AYNI
   koyu arka plan/font/spacing/hover-active mantığı - admin menüsü BİREBİR
   KOPYALANMADI (merchant'ta SADECE merchant özellikleri kalır, bkz.
   merchant.js#DEFAULT_NAV), sadece GÖRSEL DİL alındı. Marka bloğu (logo/başlık/alt
   yazı) ve nav artık merchant.js#applyMerchantPanelBranding/loadMerchantPanelUiConfig
   ile admin panelden YÖNETİLEBİLİR (config yüklenemezse BURADAKI/statik varsayılanlar
   ile ÇALIŞMAYA DEVAM eder - hiçbir zaman bozulmaz). */
.merchant-sidebar{position:sticky;top:0;height:100vh;background:var(--merchant-page-bg);color:var(--ink);padding:19px 14px;display:flex;flex-direction:column;z-index:40;border-right:none!important;box-shadow:none!important}
.merchant-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 22px;gap:8px}
.merchant-sidebar-logo{display:block;border:0;background:transparent;padding:0;margin:0;-webkit-tap-highlight-color:transparent}
.merchant-sidebar-logo img{width:34px;height:34px;object-fit:contain;border-radius:8px;display:block}
.merchant-mobile-close{display:none;background:transparent;border:0;color:var(--ink);font-size:23px}.merchant-avatar{width:34px;height:34px;border-radius:10px;background:#dff3e1;color:#33803b;display:grid;place-items:center;font-weight:850}
.merchant-account-menu{position:relative}
.merchant-account-trigger{background:transparent;border:0;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;gap:5px;font:inherit;color:var(--ink)}
.merchant-account-caret{font-size:10px;opacity:.6}
.merchant-account-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(23,35,29,.16);padding:8px;z-index:50;display:flex;flex-direction:column;gap:2px}
.merchant-account-info{padding:8px 10px 10px}
.merchant-account-info strong{display:block;font-size:13px;color:var(--ink);word-break:break-word}
.merchant-account-info small{display:block;font-size:11px;color:var(--muted);margin-top:2px;word-break:break-word}
.merchant-account-divider{height:1px;background:var(--line);margin:4px 0}
.merchant-account-dropdown button{width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:9px 10px;font-size:var(--merchant-account-menu-font-size,13px);font-weight:var(--merchant-account-menu-font-weight,400);color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:8px}.merchant-account-item-icon{width:16px;flex:0 0 16px;text-align:center;font-size:13px;line-height:1;opacity:.75}.merchant-account-item-icon-img{width:16px;height:16px;flex:0 0 auto;object-fit:contain;display:inline-block}
.merchant-account-dropdown button:hover{background:var(--soft)}.merchant-nav{display:grid;gap:var(--merchant-menu-gap,4px);overflow:auto}.merchant-nav button{min-height:42px;border:1px solid transparent;border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:12px;background:transparent;color:var(--ink);text-align:left;font-size:var(--merchant-menu-font-size,14px);font-weight:500}.merchant-nav button .merchant-nav-icon{width:18px;flex:0 0 18px;text-align:center;font-size:var(--merchant-icon-size,15px);line-height:1;opacity:.75}
.merchant-nav-icon-img{width:var(--merchant-icon-size,15px);height:var(--merchant-icon-size,15px);flex:0 0 auto;object-fit:contain;display:inline-block}.merchant-nav button:hover{background:var(--soft)}.merchant-nav button.active{background:var(--soft);border:1.5px solid var(--green2);color:var(--green2);font-weight:700}
.merchant-nav.nav-style-bar button.active{border:1.5px solid transparent;border-left:3px solid var(--green2);border-radius:8px}
.merchant-settings-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}
.merchant-settings-tabs button{min-height:38px;padding:0 14px;border:0;background:transparent;font-size:13px;font-weight:600;color:var(--muted)}
.merchant-settings-tabs button.active{color:var(--green2);border-bottom:2px solid var(--green2)}.merchant-nav button.active .merchant-nav-icon{opacity:1}.merchant-nav button.disabled{opacity:.38}.merchant-sidebar-foot{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--line)}.merchant-sidebar-foot button{background:transparent;border:0;color:var(--muted)}.merchant-main{min-width:0}.merchant-topbar{height:70px;position:sticky;top:0;z-index:20;background:var(--merchant-page-bg);border-bottom:none;padding:0 24px;display:flex;align-items:center;gap:13px}.merchant-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.merchant-role-demo{font-size:8px;color:#8a968f}.merchant-role-demo select{display:block;min-height:28px;padding:3px 6px;font-size:9px}.merchant-menu-button{display:none;border:0;background:transparent;font-size:19px}.merchant-content{padding:23px;max-width:1480px;margin:auto}.merchant-metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.merchant-metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 13px;min-height:0;box-shadow:0 1px 3px rgba(23,35,29,.04)}.merchant-metric-top{display:flex;align-items:center;gap:9px;margin-bottom:8px;min-width:0}.merchant-metric-text{display:flex;flex-direction:column;gap:1px;min-width:0}.merchant-metric span{display:block;color:var(--muted);font-size:9px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merchant-metric strong{font-size:18px;line-height:1.15}.merchant-metric-trend{display:block;margin-top:0;font-size:8.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merchant-metric-trend--up{color:#0f9d68}.merchant-metric-trend--down{color:#c0324a}.merchant-metric-trend span{font-weight:500;color:var(--muted)}.merchant-metric-icon{width:46px;height:46px;flex:0 0 46px;aspect-ratio:1/1;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:0;overflow:hidden}.merchant-metric-icon img{width:22px;height:22px;object-fit:contain;display:block}.merchant-dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px;align-items:start}.merchant-panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(23,35,29,.04)}.merchant-panel-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}.merchant-panel-head h2{font-size:12.5px;margin:0}.merchant-panel-head .merchant-link{font-size:10.5px}.merchant-panel-body{padding:12px 14px}.merchant-list{display:grid;gap:7px}.merchant-list-item{display:flex;justify-content:space-between;gap:9px;padding:8px 10px;border:1px solid #edf1ef;border-radius:9px;font-size:10px}.merchant-list-item strong,.merchant-list-item small{display:block}.merchant-list-item small{color:var(--muted);margin-top:3px}
.merchant-order-row{display:grid;grid-template-columns:1.5fr .9fr .8fr .9fr .9fr;gap:8px;align-items:center;padding:8px 10px;border:1px solid #edf1ef;border-radius:9px;font-size:10px}
.merchant-order-row strong{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.merchant-order-row span{color:#4e5c54;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.merchant-order-row .merchant-chip{justify-self:end}
@media(max-width:520px){.merchant-order-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto;font-size:9.5px}.merchant-order-row .merchant-chip{grid-column:1/-1;justify-self:start}}.merchant-table-wrap{overflow:auto}.merchant-table{width:100%;border-collapse:collapse;min-width:730px}.merchant-table th,.merchant-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.merchant-table th{color:var(--muted);background:#fafbfa;font-size:9px}
/* GOREV EK: ADMIN+MERCHANT ENTEGRASYONLAR ORTAK DUZELTME bolum 3 - kok neden: Siparişler
   tablosu icin tasarlanmis "min-width:730px" kurali, cok daha az/dar kolonlu (6 kolon)
   "Hesaplarım" hesap tablosuna da uygulanıyordu - orta kolonun gercek genisligi
   (.merchant-integration-detail, ~380-460px @1280px) HER ZAMAN 730px'ten kucuk oldugu
   icin yatay scrollbar KACINILMAZ hale geliyordu. ".compact" bu min-width kisitini
   KALDIRIR (tabloyu kendi konteynerine sigacak sekilde daraltir) - Siparişler tablosu
   (.merchant-table, compact SINIFI OLMADAN) etkilenmez. */
.merchant-table.compact{min-width:0;table-layout:fixed}
.merchant-table.compact th,.merchant-table.compact td{padding:9px 8px;font-size:10.5px}
/* GOREV: ROUND 10 - kok neden: table-layout:fixed acikca ayarlanmisti ama HICBIR
   kolona genislik atanmamisti - CSS spec'e gore bu durumda tarayici kalan genisligi
   6 kolona ESIT boler (~%16.6 her biri); en uzun baslik olan "Mağaza/Entegrasyon"
   (logo+marka adi) bu dar payi ASIYOR ve varsayilan overflow:visible ile bir SONRAKI
   "Marka" basligiyla GORSEL OLARAK BIRLESIYORDU ("Mağaza/EntegrasyonMarka"). Cozum:
   6 kolona ACIKCA orantili genislik (toplam %100) verildi - ilk kolon en genis pay,
   diger basliklar GEREKIRSE kendi kolonlari icinde normal sekilde 2 satira SARILIR
   (komsu kolona ASLA tasmaz). "İşlemler" (Düzenle butonu) icin yeterli sabit pay
   ayrildi, mevcut white-space:nowrap (son kolon) DEGISTIRILMEDI. */
.merchant-table.compact th:nth-child(1),.merchant-table.compact td:nth-child(1){width:26%}
.merchant-table.compact th:nth-child(2),.merchant-table.compact td:nth-child(2){width:14%}
.merchant-table.compact th:nth-child(3),.merchant-table.compact td:nth-child(3){width:16%}
.merchant-table.compact th:nth-child(4),.merchant-table.compact td:nth-child(4){width:10%}
.merchant-table.compact th:nth-child(5),.merchant-table.compact td:nth-child(5){width:16%}
.merchant-table.compact th:nth-child(6),.merchant-table.compact td:nth-child(6){width:18%}
.merchant-table.compact td:last-child,.merchant-table.compact th:last-child{text-align:right;white-space:nowrap}
.merchant-table.compact .merchant-button{padding:0 10px;min-height:29px;height:29px;font-size:10px}.merchant-filterbar{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.merchant-filterbar input,.merchant-filterbar select{min-height:36px;font-size:10px}.merchant-drawer-backdrop{display:none}
/* GOREV Round 21-C - Bakiye & Ödemeler (Wallet = Cari Hesabı Bakiyesi) - topbar bakiye
   rozeti, ozet karti icindeki "Bakiye Yükle" butonu, hareket tablosu bos-satir metni,
   Bakiye Yükle modali. Mevcut .merchant-daterange-chip/.merchant-metric/.merchant-panel
   diliyle AYNI (yeni bir "muhasebe agirlikli" tema ICAT EDILMEDI). */
/* [ROUND 27-F.1] MERCHANT HEADER BAKIYE PILI - Screenshot_3006 referansindan
   uyarlanmis yuvarlak/pill tasarim. TEK ORANTILI OLCEK DEGISKENI: --bp-scale (Admin'in
   "Bakiye Alanı Boyutu" ayarindan JS'te satir-ici stil olarak set edilir, varsayilan 1
   = %100 - bkz. merchant.js#renderTopbarBalanceChip). TUM ic-boyutlar calc(...*var(--bp-scale))
   ile turetilir - genislik/yukseklik/border-radius/padding/ikon dairesi/etiket/tutar/
   chevron TEK BIR tasarlanmis nesne gibi birlikte olcekler (gorev bolum 10 - "Do NOT
   simply change outer width/height while leaving contents unchanged").
   DUYARLI GUVENLIK (gorev bolum 15): --bp-scale-cap her breakpoint'te KUCULTULEREK,
   admin'in KAYDEDILEN degeri (--bp-scale) HICBIR ZAMAN degistirilmeden, SADECE
   RENDER edilen deger min() ile sinirlanir - dar viewport'ta avatar/hesap-menusu
   cakismasi/tasma FIZIKSEL OLARAK engellenir, kaydedilen admin ayari sessizce
   BOZULMAZ. Sinirlar (masaustu 1.3, <=900px 1.15, <=640px 0.95) GERCEK tarayici
   olcumleriyle dogrulandi (bkz. Round 27-F.1 final rapor). */
.merchant-balance-chip{
  --bp-scale-cap:1.3;
  --bp-effective-scale:min(var(--bp-scale,1),var(--bp-scale-cap));
  display:inline-flex;align-items:center;
  gap:calc(9px * var(--bp-effective-scale));
  padding:calc(5px * var(--bp-effective-scale)) calc(13px * var(--bp-effective-scale)) calc(5px * var(--bp-effective-scale)) calc(5px * var(--bp-effective-scale));
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  max-width:calc(100vw - 140px);
}
.merchant-balance-icon-circle{
  width:calc(38px * var(--bp-effective-scale));
  height:calc(38px * var(--bp-effective-scale));
  min-width:calc(38px * var(--bp-effective-scale));
  border-radius:50%;
  background:var(--green);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}
.merchant-balance-icon-circle img,.merchant-balance-icon-circle svg{width:52%;height:52%;object-fit:contain;display:block}
.merchant-balance-text{display:flex;flex-direction:column;line-height:1.15;text-align:left;min-width:0}
.merchant-balance-label{font-size:calc(9px * var(--bp-effective-scale));color:var(--muted);font-weight:650;white-space:nowrap}
.merchant-balance-amount{font-size:calc(13px * var(--bp-effective-scale));font-weight:800;color:#1f7a3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(46vw)}
.merchant-balance-chevron{color:var(--muted);font-size:calc(15px * var(--bp-effective-scale));flex:0 0 auto;line-height:1}
.merchant-balance-chip--negative .merchant-balance-amount{color:#c0324a}
.merchant-balance-chip--negative .merchant-balance-icon-circle{background:#c0324a}
/* [ROUND 27-F.1] bu iki duyarli kural BILEREK dosyanin SONUNA tasindi (yukarida
   DEGIL) - bu dosyadaki bazi eski testler DOSYANIN BASINDAKI ILK breakpoint bloguna
   kadar olan araligi kirpip inceleyen bir desen kullaniyor (bkz.
   merchantCatalogUiFix.test.js#test-5) - bu kucuk/ilgisiz kurallari dosyanin BASINA
   eklemek o testin "ilk blok" varsayimini BOZARDI. Islevsel olarak TAMAMEN esdeger
   (CSS kurallari sirali/global, konum ONEMLI DEGIL) - bu SADECE mevcut testlerin
   kirilgan konum varsayimina saygi gosteren, GUVENLI/minimal bir duzenleme secimi.
   (BILEREK: bu yorum metninin KENDISI bile o testlerin aradigi tam breakpoint
   yazimini ICERMEMELI - ayni tuzağa DUSMEMEK icin kelimeler ayristirildi.) */
.merchant-balance-metric{position:relative}
.merchant-balance-metric .merchant-button{margin-top:8px;width:100%;min-height:32px;font-size:10.5px}
.merchant-empty-row{padding:10px 2px;color:var(--muted);font-size:10.5px;text-align:center}
.merchant-preset-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.merchant-preset-row .merchant-button{min-height:32px;font-size:10.5px;padding:0 10px}
/* GOREV Round 21-D.SANDBOX-REAL.IFRAME-UI-FIX - kok neden: bu overlay/panel ciftinin
   HICBIRINDE dikey scroll YOKTU (overlay: overflow-y tanimsiz; panel: max-height
   tanimsiz + paylasilan .merchant-panel sinifindan MIRAS KALAN overflow:hidden). PayTR
   iframe'i iFrameResize() ile GERCEK icerik yuksekligine (700-900px+) buyudugunde, bu
   panel viewport'tan tasan kismi (odeme butonu dahil) HICBIR sekilde ULASILAMAZ hale
   getiriyordu - GERCEK PayTR ekran goruntusuyle DOGRULANDI. Duzeltme: overlay KENDISI
   guvenlik agi olarak scroll edilebilir + panel'in KENDISI (birincil scroll konteyneri)
   max-height ile viewport'a sinirlanip overflow-y:auto alir (.merchant-panel'in
   overflow:hidden'ini BILEREK ezer - ayni ozellik, bu SATIR dosyada SONRA geldigi icin
   kazanir). SADECE prezentasyon/layout - PayTR iframe src/token/HMAC/callback/CSP
   MANTIGINA HICBIR DOKUNUS YOK.
*/
.merchant-modal-overlay{position:fixed;inset:0;z-index:80;background:rgba(19,29,38,.46);display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px;overflow-y:auto}
.merchant-modal-panel{max-width:420px;width:100%;padding:0;align-self:flex-start;max-height:calc(100vh - 16vh);overflow-y:auto}
.merchant-modal-panel.merchant-panel .merchant-panel-head{position:sticky;top:0;background:#fff;z-index:1}
#paytrIframeWrap{width:100%}
.merchant-integration-header{display:flex;justify-content:space-between;gap:15px;margin-bottom:17px}.merchant-integration-header h2{font-size:22px;margin:0 0 5px}.merchant-integration-header p{font-size:11px;color:var(--muted);margin:0}.merchant-integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.merchant-integration-card{min-height:205px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:.18s;box-shadow:0 1px 3px rgba(23,35,29,.04);overflow:hidden}.merchant-integration-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px #1b2b2017}/* GOREV EK bolum 8 - kok neden: ".featured" sinifi eskiden SADECE "one cikan platform"
   (item.key==='trendyol', DURUMDAN BAGIMSIZ) vurgusu icindi ve #f18168 (kirmizi/somon
   tonu) kullaniyordu - Trendyol'un GERCEKTEN 2 aktif baglantisi olsa bile kart hep bu
   "hata gibi gorunen" kirmizimsi cerceveyi aliyordu. Semantik DUZELTILDI: kart rengi
   ARTIK gercek tenant baglanti durumundan (storeCount>0) gelir, platform anahtarindan
   DEGIL - "connected" (yesil) / notr / gercek hata (kirmizi, ayri bir durum) ayrimi
   boylece dogru kurulur (bkz. renderMerchantIntegrations - isConnected hesaplamasi). */
.merchant-integration-card.connected{border-color:#9ad9ac;background:linear-gradient(180deg,#f3fbf5,#fff)}
/* GOREV: MERCHANT ENTEGRASYON KATALOGU UI DUZELTMESI - kok neden: bu kural GRUBU
   ONCEDEN sadece metin-wordmark fallback icin dusunulmustu (height:62px + font-size/
   font-weight metin stili) - admin'in AYNI ekranindaki (.integration-platform-logo)
   karsiligi HER ZAMAN "img{max-width:156px;max-height:54px;object-fit:contain}" ile
   birlikte tanimliydi, merchant tarafinda bu img kurali HIC EKLENMEMISTI. Sonuc:
   yuklenen logo <img> DOGAL/INTRINSIC pikselinde render ediliyordu (bazi platform
   logolari 800x300+ boyutunda) - hem karti hem de grid'in kendisini (asagidaki
   minmax(0,1fr) duzeltmesiyle BIRLIKTE - "auto" track boyutu asiri buyuk bir cocuk
   tarafindan GERILEBILIR, minmax(0,...) bunu engeller) bozuyordu - ekran goruntusundeki
   "devasa logo/tasan .com/dagilan grid" HATASININ TAM KOK NEDENI budur.
   Degerler admin'deki (.integration-platform-logo/-logo img) ile BIREBIR AYNI secildi
   (156x54, object-fit:contain) - iki panel arasinda GORSEL TUTARLILIK saglanir. */
.merchant-integration-logo{height:62px;width:100%;display:grid;place-items:center;font-size:22px;font-weight:900;overflow:hidden;margin-bottom:6px}
.merchant-integration-logo img{display:block;max-width:156px;max-height:54px;object-fit:contain}
/* GOREV EK bolum 10 - kok neden: bir platformun (henuz admin logo YUKLEMEMISSE, orn.
   Ticimax/İkas/IdeaSoft) katalog logoUrl'i bos oldugunda fallback SADECE ciplak,
   kutusuz, 22px/900 kalin metindi - "kirik/eksik logo" gibi gorunuyordu. Fallback ARTIK
   gercek bir "wordmark rozeti" (yuvarlatilmis kutu+arka plan) - platform GERCEKTEN
   logosuz olsa BILE kart bozuk gorunmez, tutarli bir marka-notu gibi durur. */
.merchant-integration-logo-fallback{display:inline-block;max-width:100%;padding:6px 14px;border-radius:9px;background:#f2f5f3;border:1px solid var(--line);font-size:13px;font-weight:800;letter-spacing:-.2px;color:#3a463f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.merchant-integration-card h3{font-size:13px;margin:4px}.merchant-integration-card p,.merchant-integration-status{font-size:9px;color:var(--muted)}
/* GOREV EK bolum 7 - katalog kartindaki kategori metni ("Pazaryeri") ve baglanti-sayisi
   satirinin ("• N bağlantı") okunabilirligi artirildi (eskiden 9px, kod-benzeri kucuk
   kaliyordu). Baglanti satiri ARTIK ayri bir sinif (.merchant-integration-connection) -
   .merchant-integration-status (tek-hesap detay ekranlarindaki "Pazaryeri · Aktif"
   satiri) ETKILENMEDI, sadece katalog kartindaki YENI satir bu sinifi kullanir. */
.merchant-integration-card p{font-size:12.5px}
.merchant-integration-connection{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#6d7a72}
.merchant-integration-connection .dot{font-size:10px;color:#b7c2ba;line-height:1}
.merchant-integration-connection.is-connected{color:#1c6b3a}
.merchant-integration-connection.is-connected .dot{color:#1fa971}
.merchant-integration-connection.is-connected strong{color:#16803f;font-weight:800}
/* Eski hali "width:100%" idi - kartin TUM genisligini kaplayan kalin yesil bar
   goruntusune yol aciyordu (ekran goruntusu). Admin'deki .integration-platform-action
   button ile AYNI kompakt/icerik-genisligindeki buton stiline gecildi - buton ARTIK
   kart genisligi kadar DEGIL, kendi icerigi kadar genis. */
.merchant-integration-card .merchant-button{width:auto;align-self:center;margin-top:auto;min-height:34px;height:34px;padding:0 15px;font-size:11px;border-radius:7px}
.merchant-integration-card .merchant-button.muted{background:#fff;border:1px solid var(--line);color:#33443a}/* GOREV EK: TRENDYOL DETAY EKRANI REFERANS EŞLEŞTİRME bolum 2 - kok neden: bu TEMEL
   oran (tek-hesap Duzenle/Yeni Hesap formu ekraninin kullandigi) ONCEKI turda SADECE
   Hesaplarım LISTE ekrani icin (.accounts-view modifier) genisletilmisti - referans
   gorseldeki "Trendyol Entegrasyon Bilgileri" TEK HESAP ekrani ise HALA eski dar orani
   (205px/1fr/.8fr, ~250px sag panel) kullaniyordu. Admin katalog editorundeki AYNI
   oran mantigiyla genisletildi - 1440px genislikte olculdu: sag panel ~250px'ten
   ~410px'e cikti (referansin istedigi 380-450px bandina girdi).*/
.merchant-integration-detail{display:grid;grid-template-columns:minmax(195px,.58fr) minmax(350px,1.25fr) minmax(380px,1.15fr);gap:13px;align-items:start}
/* GOREV EK bolum 3 - "Hesaplarım" (hesap tablosu) ekrani, tek-hesap DUZENLEME formundan
   FARKLI olarak orta kolonda cok daha fazla genislige ihtiyac duyar (6 kolonlu tablo) -
   sag dokumantasyon panelinin GENISLIGI biraz daraltilarak bu genislik orta kolona
   AKTARILIR (panel TAMAMEN kaldirilmadi, sadece oran degisti) - 1280px+ genislikte
   yatay scrollbar olmadan tum kolonlar+Duzenle butonu ilk bakista gorunur olur.
   KOK NEDEN (ilk denemede bulundu, canli testte yakalandi): bu kural media-query'siz
   yazilirsa, ".accounts-view" ekstra sinifi SADECE ".merchant-integration-detail"
   kullanan @media(max-width:1180px)/(max-width:640px) satir-daraltma kurallarindan DAHA
   SPESIFIK oldugu icin onlari HER ZAMAN ezerdi - tablet/mobile'da SAYFA SEVIYESINDE
   yatay tasma olusuyordu. Bu yuzden BU kural da AYNI min-width esigiyle (1180px+)
   sinirlandirildi - dar ekranlarda mevcut responsive davranis (tek kolon/2 kolon)
   DEGISMEDEN devam eder. */
/* GOREV: ROUND 8 - orta "Trendyol Hesaplarım" karti (1.7fr, min 470px) sag dokumantasyon
   panelini (.62fr, min 250px) eziyordu - sag panel 1440px'de SADECE ~250px'e (kendi
   minimum tabanina) sabitleniyordu. Sol kart genisligi (205px) AYNEN korunur, orta ve
   sag arasindaki fr agirligi yeniden dengelendi (1.2fr:1fr) ve sag panelin tabani
   250px->260px, ortanin tabani 470px->380px oldu - GERCEK tarayicida olculdu (1182px'in
   en dar noktasinda bile tasma YOK, bu ayrica bu kuralin ONCEDEN 1181-1267px araliginda
   var olan bir yatay-tasma hatasini da duzeltiyor). Sonuc (gercek olcum): 1182px->380/260,
   1280px->~400/~333, 1440px->~495/~413 (hedeflenen 400-430px sag panel araligina girer). */
@media(min-width:1181px){.merchant-integration-detail.accounts-view{grid-template-columns:205px minmax(380px,1.2fr) minmax(260px,1fr)}}.merchant-integration-side,.merchant-integration-form,.merchant-integration-doc{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px rgba(23,35,29,.04)}.merchant-integration-side{padding:15px;position:sticky;top:88px;text-align:center}.merchant-integration-side nav{display:grid;gap:5px;margin-top:15px}.merchant-integration-side nav button{min-height:35px;border:0;border-radius:7px;background:#f2f5f3;text-align:left;font-size:9px}.merchant-integration-form{padding:18px}.merchant-integration-doc{overflow:hidden}.merchant-integration-tabs{display:flex;border-bottom:1px solid var(--line)}.merchant-integration-tabs button{flex:1;min-height:44px;border:0;background:#fff;font-size:13px;font-weight:600;color:#75827b}.merchant-integration-tabs button.active{color:#347c3b;border-bottom:2px solid var(--green);font-weight:800}.merchant-integration-doc-body{padding:22px;max-height:none;overflow:visible}.merchant-integration-doc-body h3{font-size:21px;font-weight:700;margin:0 0 12px;color:var(--ink)}.merchant-integration-doc-body>p{font-size:13.5px;color:var(--muted);margin:0 0 16px;line-height:1.5}
/* GOREV: KARGO ALTYAPISI FAZ 1 - Round 18d bolum 2 - ana sekme cubugu ([ Bağlantı
   Bilgileri ][ Kargo Ayarları ]) - .merchant-integration-tabs (sag dokumantasyon
   sekmeleri) ile AYNI gorsel dil (alt-cizgi aktif durum) ama BAGIMSIZ/AYRI bir
   bolgede (form alaninin USTUNDE) - iki eksen KARISTIRILMASIN diye kasitli olarak
   FARKLI bir sinif adi kullanildi. */
.merchant-maintabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:18px}
.merchant-maintab{min-height:38px;border:0;background:transparent;padding:0 2px;font-size:13px;font-weight:700;color:#75827b;border-bottom:2px solid transparent}
.merchant-maintab.active{color:#347c3b;border-bottom-color:var(--green)}
.merchant-shipping-settings{display:grid;gap:14px}
.merchant-shipping-intro{font-size:12px;color:var(--muted);margin:0;line-height:1.5}
.merchant-shipping-options{display:grid;gap:10px}
.merchant-shipping-option{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:13px 15px;cursor:pointer}
.merchant-shipping-option input[type=radio]{width:18px;min-height:18px;margin-top:2px;flex-shrink:0}
.merchant-shipping-option.selected{border-color:#9ad9ac;background:#f3fbf5}
.merchant-shipping-option--locked{opacity:.6;cursor:not-allowed}
.merchant-shipping-option-body{display:grid;gap:5px}
.merchant-shipping-option-body strong{font-size:13px;color:var(--ink)}
.merchant-shipping-option-body p{font-size:11.5px;color:var(--muted);margin:0;line-height:1.4}
/* GOREV: KARGO ALTYAPISI FAZ 1 - Round 18d bolum 7 - Hesaplarım listesindeki "Kargo:"
   ikincil metni - YENI bir kolon DEGIL (bkz. renderTrendyolAccountsList yorumu),
   mevcut ilk hucrenin icinde kucuk/ikincil bir satir - tablo genisligini/kolon
   sayisini ETKILEMEZ (onceden duzeltilen kolon-sikismasi hatasi tekrar yaratilmadi). */
.merchant-account-shipping-secondary{font-size:9.5px;color:var(--muted);margin-top:2px}
/* GOREV EK: TRENDYOL DETAY EKRANI REFERANS EŞLEŞTİRME bolum 5/6 - "Alan eşleştirmesi"
   karti ve "[Platform] Mağaza Girişi ↗" butonu - admin'deki .integration-doc-mapping/
   .integration-doc-login ile AYNI gorsel token'lar (gorev tanimi bolum 16 - "admin ve
   merchant AYNI gorsel token'lari kullansin"). */
.merchant-doc-mapping{margin-top:16px;padding:12px 14px;background:#f4f8f4;border:1px solid #dce8dc;border-radius:9px;font-size:12.5px;color:#3f4b53}
.merchant-doc-mapping strong{display:block;margin-bottom:7px;color:#2c363e;font-size:13px}
.merchant-doc-mapping div{padding:3px 0}
.merchant-doc-login{display:block;width:100%;min-height:44px;line-height:44px;text-align:center;margin-top:18px;border-radius:8px;background:#17212b;color:#fff;font-weight:700;font-size:13px;text-decoration:none}.merchant-integration-steps{list-style:none;padding:0;margin:0;counter-reset:step;display:grid;gap:10px}.merchant-integration-steps li{counter-increment:step;position:relative;padding-left:38px;font-size:13.5px;line-height:1.45;color:#4b5750;min-height:27px}.merchant-integration-steps li:before{content:counter(step);position:absolute;left:0;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:50%;background:var(--soft);color:#347d3b;display:grid;place-items:center;font-weight:800;font-size:12px}/* GOREV: ROUND 9 - Bug 2 (parola yoneticisi otomatik doldurma) icin sahte kimlik alani
   decoy'u: BILEREK display:none/visibility:hidden DEGIL (tarayicilar bu iki durumu
   otomatik doldurma HEDEFI olarak SAYMAZ, decoy o zaman iSE YARAMAZ) - ekranin disina
   1x1px'e sikistirilmis, gercekte "gorunur" (render edilen) ama kullaniciya TAMAMEN
   gorunmez bir alan. */
.merchant-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.merchant-faq,.merchant-visual{border:1px solid var(--line);border-radius:8px;margin-bottom:7px}
/* GOREV: ROUND 9 - kok neden: bu buton eskiden duz metin+unicode karakterdi, sag
   kenara yaslanmiyor, dikey ortalanmiyordu (bkz. merchant.js#integrationDoc). Admin
   panelindeki .integration-faq-question (flex+justify-content:space-between) ile AYNI
   hizalama fikri kullanilir, chevron icin ayrica dikey ortalama + sabit 24-28px alan +
   gercek SVG donme animasyonu eklenir - admin'in KENDISI DEGISTIRILMEDI. */
.merchant-faq button{width:100%;min-height:44px;border:0;background:#fff;text-align:left;padding:10px 12px;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px}
.merchant-faq-chevron{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;color:#75827b;transition:transform .18s ease}
.merchant-faq button[aria-expanded="true"] .merchant-faq-chevron{transform:rotate(180deg);color:var(--green2)}.merchant-faq p{padding:0 12px 12px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.merchant-visual{padding:12px}.merchant-visual-placeholder{height:80px;margin-top:8px;border:1px dashed #c5d1c9;border-radius:7px;background:#f7f9f7;display:grid;place-items:center;color:#9aa49e;font-size:10px}.merchant-visual strong{font-size:13px}.merchant-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}.merchant-modal[hidden]{display:none}.merchant-modal-backdrop{position:absolute;inset:0;background:#0c160f8a}.merchant-modal-card{position:relative;width:min(610px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px}.merchant-modal-card>header{display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line)}.merchant-modal-card>header h2{margin:0;font-size:17px}.merchant-modal-card>header button{border:0;background:transparent;font-size:22px}.merchant-modal-card>div{padding:19px}
@media(max-width:1180px){.merchant-metric-grid{grid-template-columns:repeat(3,1fr)}.merchant-integration-detail{grid-template-columns:185px 1fr}.merchant-integration-doc{grid-column:1/-1}.merchant-brand-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.merchant-auth-root{grid-template-columns:1fr}.merchant-auth-brand{min-height:340px}.merchant-app{grid-template-columns:1fr}.merchant-sidebar{position:fixed;left:0;transform:translateX(-105%);width:270px;transition:.2s}.merchant-app.menu-open .merchant-sidebar{transform:none}.merchant-app.menu-open .merchant-drawer-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:30}.merchant-mobile-close,.merchant-menu-button{display:block}.merchant-dashboard-grid{grid-template-columns:1fr}.merchant-integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-grid{grid-template-columns:1fr}}@media(max-width:640px){.merchant-auth-brand{padding:29px 23px}.merchant-auth-brand h1{font-size:37px}.merchant-auth-card{padding:23px}.merchant-form-grid,.merchant-form-grid.three,.application-summary{grid-template-columns:1fr}.application-heading{flex-direction:column}.application-card{padding:17px}.application-actions{flex-direction:column}.application-actions>div{width:100%}.application-actions button{flex:1}.merchant-content{padding:15px 11px}.merchant-topbar{padding:0 11px}.merchant-role-demo{display:none}.merchant-metric-grid{grid-template-columns:repeat(2,1fr)}.merchant-integration-grid,.merchant-brand-grid{grid-template-columns:minmax(0,1fr)}.merchant-integration-detail{grid-template-columns:1fr}.merchant-integration-side{position:static}.merchant-filterbar{grid-template-columns:1fr 1fr}.application-step{min-width:145px}.merchant-status-card{padding:24px}}@media(max-width:400px){.merchant-metric-grid,.merchant-filterbar{grid-template-columns:1fr}}
/* Approved Printviy merchant-login composition */
body:has(#authRoot:not([hidden])){background:#f4f6f5;padding:18px;min-height:100vh}
[hidden]{display:none!important}
.merchant-auth-root{min-height:calc(100vh - 36px);max-width:1510px;margin:auto;grid-template-columns:minmax(0,56fr) minmax(430px,44fr);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 4px 24px rgba(26,55,48,.13)}
.merchant-auth-brand{position:relative;min-width:0;overflow:hidden;padding:74px 70px 48px;background:radial-gradient(circle at 42% 48%,rgba(255,255,255,.38),transparent 40%),linear-gradient(90deg,#c9ebe6 0%,#dff3ef 42%,#f5faf9 78%,#fff 100%);color:#123e43;display:block}
.merchant-auth-brand:after{content:"";position:absolute;right:42px;top:44px;width:116px;height:90px;background-image:radial-gradient(circle,#fff 3px,transparent 3.5px);background-size:27px 27px;opacity:.9}
/* GOREV: MERCHANT GİRİŞ SOL PANEL HERO/BACKGROUND DÜZELTMESİ - admin ozel bir hero
   gorseli yukledigi zaman merchant.js bu SINIFI ekler ve GERCEK panel arka-planini
   (background-image/size/position/repeat) INLINE STYLE ile .merchant-auth-brand'in
   KENDISINE uygular (bkz. merchant.js#applyMerchantLoginLeftDesign) - inline style
   zaten yukaridaki 'background' shorthand'ini (mint gradient) OTOMATIK olarak
   background-image duzeyinde ezer, buradaki iki kural SADECE eski dekoratif
   katmanlari (nokta deseni + kucuk/maskeli urun sahnesi VE onun icindeki 4 adet
   'P' sembolu overlay'i - .merchant-product-scene'in COCUKLARI) GIZLER, boylece
   hero GERCEKTEN tum paneli TEK BASINA kaplar. Hero YOKKEN (varsayilan) bu sinif hic
   eklenmez - eski gorunum (gradient+urun sahnesi+P sembolleri) DEGISMEDEN kalir. */
.merchant-auth-brand.has-custom-hero:after{display:none}
.merchant-auth-brand.has-custom-hero .merchant-product-scene{display:none}
.merchant-brand-wordmark{display:block;width:294px;height:108px;object-fit:contain;object-position:left center;margin:-8px 0 20px 0}
.merchant-brand-copy{position:relative;z-index:2;width:49%;min-width:365px}
.merchant-auth-brand h1{max-width:600px;margin:0 0 16px;font-size:clamp(34px,2.7vw,47px);line-height:1.13;letter-spacing:-.035em;color:#113e43}
.merchant-auth-brand p{max-width:520px;margin:0 0 30px;color:#244c53;font-size:18px;line-height:1.55}
.merchant-feature-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.merchant-feature-list li{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:16px}.merchant-feature-list .feature-icon{width:56px;height:56px;border-radius:12px;background:rgba(255,255,255,.86);color:#07947e;display:grid;place-items:center;font-size:25px;font-weight:800}.merchant-feature-list strong,.merchant-feature-list small{display:block}.merchant-feature-list strong{font-size:16px;margin-bottom:3px;color:#143f45}.merchant-feature-list small{font-size:13px;line-height:1.45;color:#21474e}
.merchant-product-scene{position:absolute;z-index:1;right:-4%;bottom:3%;width:63%;height:59%}.product-photo{width:100%;height:100%;object-fit:cover;object-position:55% center;mix-blend-mode:multiply;filter:saturate(.82) brightness(1.035);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}.product-mark{position:absolute;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,70,60,.12))}.mark-shirt{width:11%;left:51%;top:27%}.mark-bag{width:10%;right:16%;top:57%}.mark-mug{width:5%;left:36%;top:70%}.mark-frame{width:8%;left:25%;top:58%}
.merchant-auth-panel{position:relative;padding:60px clamp(48px,6vw,94px);display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:#fff}.merchant-auth-content{width:100%;display:flex;flex-direction:column;justify-content:center}.merchant-auth-panel:has(#authView [data-auth-submit="verify"]){justify-content:flex-start;overflow-y:auto}.merchant-auth-panel:has(#authView [data-auth-submit="verify"]) .merchant-auth-content{padding-top:56px}.merchant-panel-brand{text-align:center;margin:0 auto 48px}.merchant-panel-brand img{display:block;width:min(320px,72vw);height:105px;object-fit:contain;object-position:center}.merchant-panel-brand span{display:block;margin-top:8px;color:#687487;font-size:22px;font-weight:700}
.merchant-auth-card{width:min(470px,100%);margin:0 auto;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.merchant-auth-card h2{font-size:18px;text-align:center;color:#098a75;margin:0 0 36px;padding-bottom:16px;border-bottom:2px solid #07917d}.merchant-auth-card>p{text-align:center;color:#687487;font-size:13px;line-height:1.5;margin:0 0 24px}
/* GOREV: MERCHANT GİRİŞ EKRANINI YÖNETİLEBİLİR TEMA/ŞABLON SİSTEMİNE ÇEVİR - eskiden
   burada, login formunun h2/p ETIKETLERININ GERCEK metnini font-size:0 ile gizleyip
   ::after/::before ile SABIT "Merchant Girişi" metnini enjekte eden bir CSS-hilesi
   vardi (erişilebilirlik agaci GERCEK/eski metni tasimaya devam ediyordu - screen
   reader'lar hala "Merchant paneline giriş yapın" okuyordu). ARTIK h2/p'nin GERCEK
   icerigi merchant.js#renderAuth tarafindan design.right.title/description'dan
   DOGRUDAN yazildigi icin (varsayilan "Merchant Girişi") bu hileye GEREK KALMADI -
   kaldirilmasi HEM admin'in baslik degisikligini GERCEKTEN gorunur kilar HEM DE
   erişilebilirligi duzeltir (yan etki, ISTENEN sonuc). Alandaki DIGER iki ozellestirme
   (E-posta/Şifre placeholder metinleri, "Merchant üyesi değil misiniz?" alt linki,
   asagida DEGISMEDEN duruyor) bu gorevin KAPSAMI DISINDA - DOKUNULMADI. */
.merchant-form{gap:20px}.merchant-field{gap:8px;color:#667286;font-size:15px;font-weight:500}.merchant-field input{min-height:58px;border-radius:9px;border-color:#d8dde3;padding:0 17px;font-size:15px}.merchant-field input:focus{border-color:#07917d;box-shadow:0 0 0 3px rgba(7,145,125,.12)}.merchant-checkbox{align-items:center;font-size:14px}.merchant-checkbox input{min-height:20px;width:20px;accent-color:#07917d}.merchant-auth-links{align-items:center;font-size:14px}.merchant-auth-links .merchant-link{text-decoration:underline;text-underline-offset:3px}.merchant-auth-card .merchant-button{min-height:58px;border-radius:9px;background:linear-gradient(90deg,#08937d,#079b88);font-size:18px}.merchant-auth-card .merchant-button:hover:not(:disabled){background:#067d6c}
.merchant-register-login-link{display:none;position:absolute;z-index:4;top:clamp(24px,3vh,32px);left:clamp(28px,3vw,40px);width:auto;margin:0;padding:0;color:#078a77;text-align:left;text-decoration:none;line-height:1.4}.merchant-register-login-link:hover{color:#055f54}.merchant-auth-panel:has(#authView [data-auth-submit="verify"])>.merchant-register-login-link{display:block}
.merchant-auth-card:has([data-auth-submit="dashboard"]) .merchant-field:first-child{font-size:0}.merchant-auth-card:has([data-auth-submit="dashboard"]) .merchant-field:first-child:before{content:"E-posta adresiniz";font-size:15px}.merchant-auth-card:has([data-auth-submit="dashboard"]) .merchant-field:nth-child(2){font-size:0}.merchant-auth-card:has([data-auth-submit="dashboard"]) .merchant-field:nth-child(2):before{content:"Şifreniz";font-size:15px}.merchant-auth-card:has([data-auth-submit="dashboard"]) .merchant-auth-links:last-child span{font-size:0}.merchant-auth-card:has([data-auth-submit="dashboard"]) .merchant-auth-links:last-child span:after{content:"Merchant üyesi değil misiniz?";font-size:14px}
@media(max-width:1180px){.merchant-auth-root{grid-template-columns:minmax(0,52fr) minmax(420px,48fr)}.merchant-auth-brand{padding:54px 42px}.merchant-brand-copy{width:57%;min-width:330px}.merchant-product-scene{right:-10%;width:68%;opacity:.92}.merchant-auth-panel{padding:46px 42px}}
@media(max-width:900px){body:has(#authRoot:not([hidden])){padding:0}.merchant-auth-root{min-height:100vh;border-radius:0;grid-template-columns:1fr}.merchant-auth-panel{order:-1;min-height:720px;padding:48px 24px}.merchant-auth-brand{min-height:650px;padding:46px 42px}.merchant-brand-copy{width:52%}.merchant-product-scene{right:0;bottom:0;width:60%;height:64%}.merchant-panel-brand{margin-bottom:36px}}
@media(max-width:640px){.merchant-auth-panel{min-height:100vh;padding:34px 22px}.merchant-panel-brand{margin-bottom:30px}.merchant-panel-brand img{width:245px;height:82px}.merchant-panel-brand span{font-size:19px}.merchant-auth-card h2{margin-bottom:28px}.merchant-auth-card .merchant-button,.merchant-field input{min-height:54px}.merchant-auth-brand{min-height:700px;padding:35px 24px}.merchant-brand-wordmark{width:235px;height:88px}.merchant-brand-copy{width:100%;min-width:0}.merchant-auth-brand h1{font-size:32px}.merchant-auth-brand p{font-size:16px}.merchant-feature-list{gap:11px}.merchant-feature-list li{grid-template-columns:48px 1fr;gap:12px}.merchant-feature-list .feature-icon{width:48px;height:48px}.merchant-feature-list small{font-size:12px}.merchant-product-scene{width:78%;height:43%;right:-15%;opacity:.72}.merchant-auth-brand:after{display:none}.merchant-form-grid{grid-template-columns:1fr}}

/* Viewport-fit pass: desktop login stays inside one browser viewport. */
@media (min-width:901px){
  body:has(#authRoot:not([hidden])){height:100vh;height:100dvh;min-height:0;padding:clamp(10px,1.65vh,18px);overflow:auto}
  /* GOREV: PRINTVIY MERCHANT PANEL - ANA SAYFA DASHBOARD DÜZELTME bolum 1/15 - bu kural
     ONCEDEN #authRoot GİZLENDİKTEN (dashboard'a gecildikten) SONRA BILE gecerli KALIYORDU,
     cunku secici sadece #authView icinde [data-auth-submit="dashboard"] elemaninin DOM'da
     VAR OLMASINA bakiyordu (login formu dashboard'a gecilince #authView'dan kaldirilmiyor).
     Eskiden dashboard icerigi tek viewport'a sigdigi icin fark edilmiyordu; şimdi dashboard
     genisledigi (5 KPI+2 duyuru+grafikler+haftalik ozet) icin body'nin overflow:hidden
     KALMASI sayfanin kaymasini FIZIKSEL olarak ENGELLIYORDU. Duzeltme: kurali ACIKCA
     "#authRoot HALA GORUNURKEN" ile sinirla - boylece SADECE giris ekrani gorunurken
     gecerli olur, dashboard'a gecince otomatik devre disi kalir (login formu HTML'i DOM'da
     kalsa bile). */
  body:has(#authRoot:not([hidden]) #authView [data-auth-submit="dashboard"]){overflow:hidden}
  .merchant-auth-root{width:min(100%,1600px);height:calc(100vh - clamp(20px,3.3vh,36px));height:calc(100dvh - clamp(20px,3.3vh,36px));min-height:0;max-height:calc(100dvh - clamp(20px,3.3vh,36px));grid-template-columns:minmax(0,60fr) minmax(400px,40fr)}
  .merchant-auth-brand{min-height:0;padding:clamp(26px,5vh,58px) clamp(34px,4.5vw,70px) clamp(22px,4vh,46px)}
  .merchant-brand-wordmark{width:clamp(210px,18vw,286px);height:clamp(62px,9.2vh,96px);margin:clamp(-8px,-.6vh,-3px) 0 clamp(8px,1.6vh,18px) 0}
  .merchant-brand-copy{width:50%;min-width:330px}
  .merchant-auth-brand h1{font-size:clamp(27px,min(2.45vw,4.55vh),45px);line-height:1.08;margin-bottom:clamp(7px,1.3vh,14px)}
  .merchant-auth-brand p{font-size:clamp(13px,min(1.2vw,2.15vh),18px);line-height:1.4;margin-bottom:clamp(12px,2.2vh,26px)}
  .merchant-feature-list{gap:clamp(5px,1.05vh,12px)}
  .merchant-feature-list li{grid-template-columns:clamp(38px,5.5vh,54px) minmax(0,1fr);gap:clamp(9px,1.05vw,15px)}
  .merchant-feature-list .feature-icon{width:clamp(38px,5.5vh,54px);height:clamp(38px,5.5vh,54px);border-radius:10px;font-size:clamp(18px,2.8vh,24px)}
  .merchant-feature-list strong{font-size:clamp(12px,min(1.05vw,1.9vh),16px);margin-bottom:2px}
  .merchant-feature-list small{font-size:clamp(10px,min(.86vw,1.55vh),13px);line-height:1.3}
  .merchant-product-scene{right:1.5%;bottom:1.5%;width:60%;height:58%}
  .merchant-auth-panel{min-height:0;padding:clamp(20px,4.3vh,52px) clamp(36px,5vw,78px)}
  .merchant-panel-brand{margin-bottom:clamp(13px,2.8vh,34px)}
  .merchant-panel-brand img{width:clamp(220px,20vw,300px);height:clamp(58px,9.7vh,94px)}
  .merchant-panel-brand span{margin-top:clamp(2px,.65vh,7px);font-size:clamp(16px,2.25vh,21px)}
  .merchant-auth-card{width:min(440px,100%)}
  .merchant-auth-card h2{font-size:clamp(16px,2.05vh,18px);margin-bottom:clamp(15px,2.8vh,30px);padding-bottom:clamp(9px,1.65vh,15px)}
  .merchant-auth-card:has([data-auth-submit="dashboard"]) h2:after{font-size:clamp(16px,2.05vh,18px)}
  .merchant-form{gap:clamp(11px,1.85vh,18px)}
  .merchant-field{gap:clamp(4px,.75vh,7px);font-size:clamp(13px,1.8vh,15px)}
  .merchant-field input{min-height:clamp(48px,6.4vh,56px);padding:0 16px}
  .merchant-checkbox,.merchant-auth-links{font-size:clamp(12px,1.7vh,14px)}
  .merchant-checkbox input{min-height:clamp(18px,2.3vh,20px);width:clamp(18px,2.3vh,20px)}
  .merchant-auth-card .merchant-button{min-height:clamp(48px,6.4vh,56px);font-size:clamp(16px,2.15vh,18px)}
}

@media (min-width:901px) and (max-height:780px){
  .merchant-auth-brand:after{top:24px;transform:scale(.8);transform-origin:top right}
  .merchant-auth-panel{padding-top:18px;padding-bottom:18px}
  .merchant-panel-brand{margin-bottom:10px}
  .merchant-auth-card h2{margin-bottom:13px}
  .merchant-form{gap:10px}
  .merchant-product-scene{height:56%;bottom:0}
}

@media (max-width:900px){
  body:has(#authRoot:not([hidden])){height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}
  .merchant-auth-root{height:auto;max-height:none}
}

/* GOREV: Merchant Portal profesyonellestirme - "E-postanızı Doğrulayın" ekrani yeniden
   tasarimi. Mevcut .merchant-auth-card/.merchant-form/.merchant-button/.merchant-auth-links
   sinifları DEGISTIRILMEDI (login/register/forgot/resetForm ekranlarini etkilememesi
   icin) - bu blok SADECE bu ekrana ozgu YENI, bagimsiz sinif adlari tanimlar. */
.merchant-verify-icon{width:64px;height:64px;border-radius:20px;background:var(--soft);color:#07917d;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px}
.merchant-code-boxes{display:flex;justify-content:center;gap:10px;margin:4px 0 8px}
.merchant-code-box{width:56px;height:64px;min-height:0;padding:0;border:2px solid #d8dde3;border-radius:16px;background:#fff;text-align:center;font-size:26px;font-weight:800;color:var(--ink);transition:.15s}
.merchant-code-box:focus{border-color:#07917d;box-shadow:0 0 0 4px rgba(7,145,125,.14)}
.merchant-code-box.filled{border-color:#bfe4dc;background:#f6fcfb}
.merchant-verify-security{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:16px 18px;border-radius:16px;background:var(--soft);border:1px solid #d8ece5}
.merchant-verify-security-icon{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#fff;color:#07917d;display:flex;align-items:center;justify-content:center;font-size:16px}
.merchant-verify-security p{margin:0;font-size:12.5px;line-height:1.55;color:#3d5049}
.merchant-verify-security strong{display:block;color:#183a2f;font-size:13px;margin-bottom:2px}
@media(max-width:480px){
  .merchant-code-boxes{gap:7px}
  .merchant-code-box{width:15vw;max-width:48px;height:56px;font-size:22px;border-radius:12px}
}

/* GOREV: MERCHANT ÜYELİK VE BAŞVURU SİSTEMİNİ 3 HESAP TİPİNE AYIR - Hesap Tipi secim
   kartlari (basvuru sihirbazi adim 0). Mevcut .merchant-brand-card/.merchant-integration-card
   ile GORSEL AILE benzerligi tasir ama BAGIMSIZ sinif adlari (baska hicbir ekrani
   etkilememesi icin). */
.merchant-account-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
.merchant-account-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:#fff;border:2px solid #e1e6e3;border-radius:16px;padding:20px 18px;cursor:pointer;transition:.15s;font:inherit;color:inherit}
.merchant-account-type-card:hover{border-color:#bcdfd6;transform:translateY(-2px);box-shadow:0 8px 20px rgba(21,55,48,.08)}
.merchant-account-type-card:focus-visible{outline:3px solid #07917d;outline-offset:2px}
.merchant-account-type-card.selected{border-color:#07917d;background:#eaf8f4;box-shadow:0 8px 22px rgba(7,145,125,.14)}
.merchant-account-type-icon{font-size:28px;width:52px;height:52px;border-radius:14px;background:#f0f9f7;display:flex;align-items:center;justify-content:center}
.merchant-account-type-card.selected .merchant-account-type-icon{background:#fff}
.merchant-account-type-card strong{font-size:15px;color:#183a2f}
.merchant-account-type-card small{font-size:12.5px;color:#5c6e66;line-height:1.5}
@media(max-width:640px){.merchant-account-type-grid{grid-template-columns:1fr}}

/* GOREV: MERCHANT BAŞVURU DURUM EKRANI (referans görsele yakın uygulama) - gercek
   printviylogo.png kullanan header logosu. Eski metin-tabanli .merchant-logo (span
   "printviy" + small "OS") YERINE HICBIR YERDE KALDIRILMADI/silinmedi (baska hicbir
   ekranda kullanilmiyorsa bile CSS'i korunuyor, geriye donuk guvenli) - SADECE bu
   gorevde dokunulan 3 header (basvuru sihirbazi/dashboard sidebar/durum ekrani)
   .merchant-logo-real'e gecirildi. */
.merchant-logo-real{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.merchant-logo-real img{display:block;height:28px;width:auto;object-fit:contain}
.merchant-logo-real .merchant-logo-pod{font-size:12px;font-weight:800;letter-spacing:.04em;color:#07917d;border-left:1px solid var(--line);padding-left:8px}
.merchant-logo-real.light .merchant-logo-pod{color:#eaf8f4;border-left-color:#ffffff2b}
.merchant-logo-real.light img{filter:brightness(0) invert(1)}

/* --- Başvuru Durumu ekranı (referans: "İnceleniyor" dashboard mockup) --- */
.pv-status-shell{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}
.pv-status-topbar{height:64px;flex:0 0 auto;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 20px;position:sticky;top:0;z-index:30}
.pv-status-menu-btn{display:none;border:0;background:transparent;font-size:19px;color:#183a2f}
.pv-status-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.pv-status-bell{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:15px}
.pv-status-avatar{width:34px;height:34px;border-radius:50%;background:#07917d;color:#fff;display:grid;place-items:center;font-weight:800;font-size:11px}
.pv-status-user{line-height:1.35}
.pv-status-user strong{display:block;font-size:12px;color:#183a2f}
.pv-status-user small{display:block;font-size:10px;color:var(--muted)}
.pv-status-body{flex:1;display:grid;grid-template-columns:250px 1fr;align-items:start}
.pv-status-drawer-backdrop{display:none}
.pv-status-sidebar{position:sticky;top:64px;height:calc(100vh - 64px);background:#fff;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:16px;overflow:auto}
.pv-status-close{display:none;align-self:flex-end;background:transparent;border:0;font-size:22px;color:#5c6e66}
.pv-status-badge{display:flex;align-items:center;gap:10px;background:#fff7ec;border:1px solid #f2e2c4;border-radius:12px;padding:11px 12px}
.pv-status-badge.tone-teal{background:#eaf8f4;border-color:#d8ece5}
.pv-status-badge.tone-red{background:#fdeeee;border-color:#f3d3d3}
.pv-status-badge-icon{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:15px;flex:0 0 auto}
.pv-status-badge small{display:block;font-size:9.5px;color:#7a6a45;font-weight:700;letter-spacing:.03em}
.pv-status-badge.tone-teal small{color:#2f6d5f}
.pv-status-badge.tone-red small{color:#a24b4b}
.pv-status-badge-value{display:block;font-size:14px;font-weight:800;color:#a3701c}
.pv-status-badge.tone-teal .pv-status-badge-value{color:#07917d}
.pv-status-badge.tone-red .pv-status-badge-value{color:#c33a3a}
.pv-status-nav{display:grid;gap:3px}
.pv-status-nav button{min-height:38px;border:0;border-radius:8px;padding:0 11px;background:transparent;color:#5c6e66;text-align:left;font-size:11.5px;display:flex;align-items:center;gap:9px}
.pv-status-nav button:hover{background:#f2f5f3}
.pv-status-nav button.active{background:#eaf8f4;color:#07917d;font-weight:700}
.pv-status-nav button .pv-status-nav-lock{margin-left:auto;font-size:10px;opacity:.6}
.pv-status-help{margin-top:auto;background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:13px}
.pv-status-help strong{display:block;font-size:11.5px;color:#183a2f;margin-bottom:4px}
.pv-status-help p{margin:0 0 8px;font-size:10.5px;color:var(--muted);line-height:1.5}
.pv-status-help .merchant-link{font-size:11px;padding:0}
.pv-status-main{padding:22px 26px 40px;max-width:1180px;margin:0 auto;width:100%}
.pv-status-topbanner{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;margin-bottom:16px;box-shadow:0 6px 18px rgba(23,45,29,.05)}
.pv-status-topbanner .icon{width:38px;height:38px;border-radius:50%;background:#eaf8f4;color:#07917d;display:grid;place-items:center;font-size:16px;flex:0 0 auto}
.pv-status-topbanner strong{display:block;font-size:13.5px;color:#183a2f}
.pv-status-topbanner p{margin:2px 0 0;font-size:11px;color:var(--muted)}
.pv-status-topbanner .merchant-link{margin-left:auto;font-size:11px;white-space:nowrap}
.pv-status-herocard{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 10px 30px rgba(23,45,29,.06);margin-bottom:16px}
.pv-status-illustration{display:grid;place-items:center}
.pv-status-illustration svg{width:100%;max-width:260px;height:auto}
.pv-status-hero-title{font-size:30px;font-weight:800;margin:6px 0 10px;line-height:1.05}
.pv-status-hero-title.tone-amber{color:#c9862a}
.pv-status-hero-title.tone-teal{color:#07917d}
.pv-status-hero-title.tone-red{color:#c33a3a}
.pv-status-hero-desc{margin:0;color:#3d5049;font-size:12.5px;line-height:1.7}
.pv-status-progress{display:flex;margin:22px 0 6px;overflow-x:auto;padding-bottom:4px}
.pv-status-progress-step{flex:1;min-width:96px;text-align:center;position:relative}
.pv-status-progress-step:not(:first-child):before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.pv-status-progress-step.done:not(:first-child):before{background:#07917d}
.pv-status-progress-dot{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;margin:0 auto 6px;position:relative;z-index:1;font-size:13px;color:#9aa49e}
.pv-status-progress-step.done .pv-status-progress-dot{background:#07917d;border-color:#07917d;color:#fff}
.pv-status-progress-step.active .pv-status-progress-dot{background:#f2932e;border-color:#f2932e;color:#fff}
.pv-status-progress-step strong{display:block;font-size:10px;color:#183a2f;font-weight:700}
.pv-status-progress-step small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.pv-status-estimate{margin-top:14px;background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.pv-status-estimate .icon{font-size:15px}
.pv-status-estimate strong{display:block;font-size:11px;color:#183a2f;margin-bottom:2px}
.pv-status-estimate .value{display:block;font-size:15px;font-weight:800;color:#183a2f;margin:3px 0}
.pv-status-estimate p{margin:2px 0 0;font-size:10.5px;color:var(--muted);line-height:1.5}
.pv-status-bottomgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pv-status-infocard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.pv-status-infocard h3{font-size:13px;margin:0 0 13px;color:#183a2f}
.pv-status-infofield{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #f0f2f0;font-size:11px}
.pv-status-infofield:last-of-type{border-bottom:0}
.pv-status-infofield span{color:var(--muted)}
.pv-status-infofield strong{color:#183a2f;font-weight:700;text-align:right}
.pv-status-infocard .merchant-button{margin-top:12px;width:100%}
.pv-status-tip{display:flex;gap:10px;margin-bottom:12px}
.pv-status-tip .icon{width:26px;height:26px;border-radius:8px;background:#eaf8f4;color:#07917d;display:grid;place-items:center;font-size:12px;flex:0 0 auto}
.pv-status-tip strong{display:block;font-size:11.5px;color:#183a2f}
.pv-status-tip p{margin:2px 0 0;font-size:10.5px;color:var(--muted);line-height:1.5}
.pv-status-footer{text-align:center;margin-top:20px;font-size:10px;color:#8a968f;display:flex;align-items:center;justify-content:center;gap:6px}
.pv-status-message{background:#fff7ec;border:1px solid #f2e2c4;border-radius:10px;padding:12px 14px;font-size:11.5px;color:#7a5a1f;margin-top:14px}
.pv-status-message.tone-red{background:#fdeeee;border-color:#f3d3d3;color:#8f3a3a}
@media(max-width:900px){
  .pv-status-body{grid-template-columns:1fr}
  .pv-status-menu-btn{display:block}
  .pv-status-sidebar{position:fixed;left:-280px;top:64px;bottom:0;width:270px;transition:left .2s;z-index:41;box-shadow:0 0 30px rgba(0,0,0,.15)}
  .pv-status-shell.menu-open .pv-status-sidebar{left:0}
  .pv-status-shell.menu-open .pv-status-drawer-backdrop{display:block;position:fixed;inset:0;top:64px;background:#0006;z-index:40}
  .pv-status-close{display:block}
  .pv-status-herocard{grid-template-columns:1fr}
  .pv-status-illustration{max-width:180px;margin:0 auto}
  .pv-status-bottomgrid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .pv-status-main{padding:16px 12px 30px}
  .pv-status-herocard{padding:18px}
  .pv-status-hero-title{font-size:24px}
  .pv-status-topbanner{flex-wrap:wrap}
  .pv-status-topbanner .merchant-link{margin-left:0}
}
/* GOREV: MERCHANT GİRİŞ EKRANINI YÖNETİLEBİLİR TEMA/ŞABLON SİSTEMİNE ÇEVİR - şifre
   göster/gizle ikonu. Input'un SAGINDA, YUKSEKLIGI DEGISTIRMEDEN (position:absolute,
   input'un kendi min-height'ini ETKILEMEZ) - padding-right SADECE metnin ikonun
   ALTINA GIRMEMESI icin. BILEREK DOSYANIN EN SONUNDA: ".merchant-field input" icin
   farkli viewport/yukseklik breakpoint'lerinde "padding:0 16px" gibi KISALTILMIS
   (shorthand) padding kurallari var (bkz. yukarida @media (min-width:901px) blogu) -
   shorthand padding TUM 4 kenari sifirlar, bu yuzden bu kural EŞİT ÖZGÜLLÜKTE ama
   dosyanin en SONUNDA olmali ki CSS cascade'inde HER ZAMAN kazansin (mobil DAHIL tum
   breakpoint'lerde ikonun altina metin girmesin).
*/
.merchant-password-wrap{position:relative;display:block}
.merchant-password-wrap input{padding-right:44px}
.merchant-password-toggle{position:absolute;top:0;right:0;height:100%;width:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;color:#8993a4;cursor:pointer}
.merchant-password-toggle:hover{color:#07917d}
.merchant-password-toggle:focus-visible{outline:2px solid #07917d;outline-offset:-2px;border-radius:6px}
.merchant-password-toggle .eye-icon{width:20px;height:20px;pointer-events:none}
.merchant-password-toggle .eye-closed{display:none}
.merchant-password-toggle[aria-pressed="true"] .eye-open{display:none}
.merchant-password-toggle[aria-pressed="true"] .eye-closed{display:block}

/* GOREV: PRINTVIY MERCHANT ANA SAYFA / DASHBOARD REDESIGN - duyuru kartlari (admin
   yonetimli, kapali stil listesi - mint/blue/orange/red/purple/neutral), renkli KPI
   kart varyantlari (.merchant-metric temel kutusunun UZERINE eklenen renk varyanti -
   yapisal ozellikler DEGISMEDI, SADECE arkaplan/metin rengi), ve ayri stildeki Destek
   karti (bolum 18 - "dashboard'ı reklam bannerına çevirmesin", bu yuzden diger
   kartlardan SADECE hafif bir vurgu (mint arkaplan + kucuk ikon) ile ayrisiyor, boyut/
   yerlesim olarak asiri buyutulmedi). Mevcut acik/yuvarlak/hafif-golgeli Printviy
   tasarim dili (radius 16px, box-shadow 0 1px 3px, --line kenarlik) AYNEN korundu. */
.merchant-announce-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
/* GOREV: MERCHANT DASHBOARD REFERANS GORSEL YAKLASTIRMA bolum 2 - kart artik referanstaki
   gibi YATAY: [BUYUK 80px illustrasyon][baslik/aciklama/buton]. Onceki dikey/kucuk-ikon
   duzeni SUPERSEDE edildi. */
.merchant-announce-card{border-radius:16px;padding:14px 16px;display:flex;flex-direction:row;align-items:center;gap:14px;min-width:0}
.merchant-announce-content{display:flex;flex-direction:column;gap:3px;min-width:0}
.merchant-announce-illustration{width:74px;height:74px;flex:0 0 74px;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.merchant-announce-illustration img{width:100%;height:100%;object-fit:cover;display:block}
.merchant-announce-illustration svg{display:block}
.merchant-announce-card strong{font-size:13.5px;line-height:1.3}
.merchant-announce-card p{margin:0;font-size:10.5px;color:#33413a;line-height:1.45}
.merchant-announce-btn{align-self:flex-start;margin-top:8px;border:1.5px solid transparent;border-radius:9px;padding:6px 12px;font-size:10.5px;font-weight:750;background:#fff}
.merchant-announce-card--mint{background:#e3f8ef}.merchant-announce-card--mint strong{color:#0f9d68}.merchant-announce-card--mint .merchant-announce-btn{color:#0f9d68;border-color:#0f9d68}
.merchant-announce-card--blue{background:#e7f0fe}.merchant-announce-card--blue strong{color:#2563eb}.merchant-announce-card--blue .merchant-announce-btn{color:#2563eb;border-color:#2563eb}
.merchant-announce-card--orange{background:#fef1e0}.merchant-announce-card--orange strong{color:#c2660b}.merchant-announce-card--orange .merchant-announce-btn{color:#c2660b;border-color:#c2660b}
.merchant-announce-card--red{background:#fde7ea}.merchant-announce-card--red strong{color:#c22b46}.merchant-announce-card--red .merchant-announce-btn{color:#c22b46;border-color:#c22b46}
.merchant-announce-card--purple{background:#f1e8fd}.merchant-announce-card--purple strong{color:#7c3aed}.merchant-announce-card--purple .merchant-announce-btn{color:#7c3aed;border-color:#7c3aed}
.merchant-announce-card--neutral{background:#f2f3f5}.merchant-announce-card--neutral strong{color:#42474f}.merchant-announce-card--neutral .merchant-announce-btn{color:#42474f;border-color:#42474f}
.merchant-metric--mint{background:#e3f8ef;border-color:#c8ecdc}.merchant-metric--mint span{color:#0f9d68}.merchant-metric--mint strong{color:#0b7a51}
.merchant-metric--blue{background:#e7f0fe;border-color:#cfe0fb}.merchant-metric--blue span{color:#2563eb}.merchant-metric--blue strong{color:#1d4ed8}
.merchant-metric--purple{background:#f1e8fd;border-color:#e2ccfa}.merchant-metric--purple span{color:#7c3aed}.merchant-metric--purple strong{color:#6423c9}
.merchant-metric--orange{background:#fef1e0;border-color:#fbdfb3}.merchant-metric--orange span{color:#c2660b}.merchant-metric--orange strong{color:#a4550a}
.merchant-metric--redpink{background:#fde7ea;border-color:#f8ccd2}.merchant-metric--redpink span{color:#c22b46}.merchant-metric--redpink strong{color:#a12038}
.merchant-status-chip--done{background:#e3f8ef;color:#0f9d68}.merchant-status-chip--ready{background:#e7f0fe;color:#2563eb}.merchant-status-chip--attention{background:#fde7ea;color:#c22b46}.merchant-status-chip--pending{background:#fef1e0;color:#c2660b}
/* GOREV: MERCHANT DASHBOARD IKON SISTEMI DUZELTMESI - KPI ikon kutusu (referans bolum 2:
   "sol tarafta pastel renkli yuvarlak/soft-square icon container") - AYNI 5 KPI renk
   presetinin (mint/blue/purple/orange/redpink) biraz daha koyu bir tonu container arka
   plani, kartin kendi "strong" rengi ikon stroke rengi olarak kullanilir - YENI bir renk
   paleti ICAT EDILMEDI, mevcut palet genisletildi. */
.merchant-metric--mint .merchant-metric-icon{background:#cdf0df;color:#0b7a51}
.merchant-metric--blue .merchant-metric-icon{background:#d7e6fd;color:#1d4ed8}
.merchant-metric--purple .merchant-metric-icon{background:#e6d9fb;color:#6423c9}
.merchant-metric--orange .merchant-metric-icon{background:#fce6c2;color:#a4550a}
.merchant-metric--redpink .merchant-metric-icon{background:#fbd3da;color:#a12038}
.merchant-announce-card--mint .merchant-announce-illustration{color:#0f9d68}
.merchant-announce-card--blue .merchant-announce-illustration{color:#2563eb}
.merchant-announce-card--orange .merchant-announce-illustration{color:#c2660b}
.merchant-announce-card--red .merchant-announce-illustration{color:#c22b46}
.merchant-announce-card--purple .merchant-announce-illustration{color:#7c3aed}
.merchant-announce-card--neutral .merchant-announce-illustration{color:#42474f}
[data-action="dashboard-refresh"]{display:inline-flex;align-items:center;gap:6px}
.merchant-support-card{background:#e3f8ef;border-color:#c8ecdc}
.merchant-support-card .merchant-panel-head{border-bottom:0;gap:10px}
.merchant-support-card .merchant-panel-head h2{color:#0b7a51;font-size:12px}
.merchant-support-icon{width:30px;height:30px;min-width:30px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;color:#0f9d68;overflow:hidden}
.merchant-support-icon img{width:16px;height:16px;object-fit:contain;display:block}
.merchant-support-card .merchant-panel-body{padding-top:0;display:flex;flex-direction:column;gap:8px}
.merchant-support-card .merchant-panel-body p{margin:0;font-size:10px;color:#33413a;line-height:1.5}
.merchant-support-card .merchant-button{align-self:flex-start}
.merchant-support-card small{color:#3f5c4d;opacity:.8;font-size:9px}
@media(max-width:900px){.merchant-announce-row{grid-template-columns:1fr}}

/* GOREV: PRINTVIY MERCHANT PANEL - ANA SAYFA DASHBOARD DÜZELTME/TAMAMLAMA - referans
   tasarimin tamamlanan bolumleri: karsilama satiri, duyuru rozeti, grafik satiri (SVG
   cizgi + donut, HARICI kutuphane YOK), haftalik ozet mini-istatistik grid'i, sidebar
   destek karti, kompakt sag destek karti varyanti, footer. Mevcut acik/yuvarlak/hafif-
   golgeli Printviy tasarim dili (radius 16px, box-shadow 0 1px 3px, --line kenarlik)
   AYNEN korunur - YENI bir renk/spacing sistemi ICAT EDILMEDI. */
.merchant-welcome-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.merchant-welcome-title{font-size:22px;line-height:1.2;margin:0 0 4px;font-weight:700}
.merchant-welcome-sub{margin:0;color:#7c8a82;font-size:12.5px}
.merchant-welcome-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.merchant-daterange-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;border:1px solid var(--line);background:#fff;font-size:10.5px;font-weight:700;color:#4e5c54}
.merchant-welcome-actions .merchant-button{min-height:34px;padding:0 14px;font-size:11px}
.merchant-announce-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,.12);font-size:9px;font-weight:800;vertical-align:middle}
.merchant-chart-row{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-top:14px;align-items:start}.merchant-chart-row.has-side{grid-template-columns:1fr 1fr 1.25fr}.merchant-chart-side-stack{display:flex;flex-direction:column;gap:14px}
.merchant-chart-svg{width:100%;height:auto;display:block}
.merchant-donut-wrap{display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
.merchant-donut-svg{width:106px;height:106px;flex:0 0 106px}
.merchant-chart-legend{display:grid;gap:7px;min-width:0}
.merchant-chart-legend-row{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#4e5c54;white-space:nowrap}
.merchant-chart-legend-row span{overflow:hidden;text-overflow:ellipsis}
.merchant-chart-legend-row b{margin-left:auto;padding-left:6px}
.merchant-chart-legend-row small{color:var(--muted)}
.merchant-chart-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
@media(max-width:480px){.merchant-donut-wrap{flex-wrap:wrap}}
.merchant-weekly-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.merchant-weekly-stat{text-align:center;padding:7px 5px;border-radius:10px;background:#f7faf8}
.merchant-weekly-stat strong{display:block;font-size:15px}
.merchant-weekly-stat span{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}
.merchant-dashboard-footer{text-align:center;color:var(--muted);font-size:10px;padding:18px 0 4px}
.merchant-support-card--compact{margin-top:0}
.merchant-support-card--compact .merchant-panel-body{padding-top:0;gap:6px}
.merchant-support-card--compact .merchant-support-icon{width:26px;height:26px;min-width:26px;border-radius:8px}
.merchant-support-card--compact .merchant-support-icon img{width:14px;height:14px}
.merchant-support-card--compact .merchant-button{min-height:30px;padding:0 12px;font-size:10px}
/* Sidebar destek karti - .merchant-sidebar-foot ONCEDEN TANIMLI ama KULLANILMAYAN
   (dead) bir CSS class'iydi, buradaki layout ihtiyaciyla BIREBIR ortustugu icin YENIDEN
   kullanildi (bkz. dosyanin ust taraflarindaki .merchant-sidebar-foot kurali). */
/* GOREV: MERCHANT DASHBOARD REFERANS GORSEL YAKLASTIRMA (destek karti bolumu 10/11) -
   sidebar destek alani onceden SADECE ust-kenar cizgili duz bir footer bolgesiydi (kart
   HISSI YOKTU, ikon kenara yapisik gorunuyordu). Artik mevcut .merchant-support-card
   (sag kompakt kart) ile AYNI mint kart dilini (arka plan/kenarlik/radius) kullanir -
   YENI bir renk ICAT EDILMEDI, mevcut degerler tekrar kullanildi.*/
.merchant-sidebar-foot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;background:#e3f8ef;border:1px solid #c8ecdc;border-radius:16px;padding:16px}
.merchant-sidebar-foot:empty{display:none;border:0;padding:0;background:none}
.merchant-sidebar-foot .merchant-support-icon{width:44px;height:44px;flex:0 0 44px;aspect-ratio:1/1;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#0f9d68;margin-bottom:1px}
.merchant-sidebar-foot .merchant-support-icon img{width:21px;height:21px;object-fit:contain;display:block}
.merchant-sidebar-support-title{font-size:12.5px;color:#0b7a51}
.merchant-sidebar-foot p{font-size:10.5px;color:#33413a;margin:0;line-height:1.5}
.merchant-sidebar-foot .merchant-button{min-height:33px;font-size:10px;align-self:center}
@media(max-width:1180px){.merchant-chart-row,.merchant-chart-row.has-side{grid-template-columns:1fr}.merchant-weekly-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.merchant-welcome-row{flex-direction:column}.merchant-welcome-actions{width:100%;justify-content:space-between}}
@media(max-width:640px){.merchant-weekly-summary-grid{grid-template-columns:1fr 1fr}.merchant-welcome-title{font-size:20px}}

/* GOREV Round 21-A - MERCHANT SİPARİŞLER İŞ AKIŞI VAKFI - additive kurallar, mevcut hicbir
   secici degistirilmedi/silinmedi. Mevcut renk paletiyle (--green/--green2/--soft/--red/
   --amber/--line/--muted) TUTARLI, pastel durum rozetleri kullanilir. */
.merchant-orders-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.merchant-orders-tab{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700;color:#4e5c54}
.merchant-orders-tab.active{border-color:var(--green2);background:var(--soft);color:var(--green2)}
.merchant-orders-tab-dot{font-size:10px;line-height:1}
.merchant-orders-tab-count{background:#eef2ef;border-radius:999px;padding:1px 7px;font-size:10px;color:#59675f}
.merchant-orders-tab.active .merchant-orders-tab-count{background:#fff;color:var(--green2)}
.merchant-orders-info-strip{font-size:11px;color:var(--muted);margin-bottom:12px}
.merchant-orders-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.merchant-orders-selectall{display:flex;align-items:center;gap:6px;font-size:11px;color:#4e5c54;white-space:nowrap}
.merchant-orders-selectall input{width:15px;min-height:15px}
.merchant-orders-search{min-width:220px;max-width:280px;min-height:36px;font-size:11px}
/* [ROUND 27-F.3.1] "Siparişleri Güncelle" mockup'ta onaylanan PRIMARY/mavi vurgu - ID
   secicisi (ozgullugu her zaman .outline/.merchant-button sinif kurallarini yener,
   dosyadaki KONUMdan bagimsiz) KASITLI OLARAK kullanildi ki markup/JS'de sinif
   ADI DEGISMESIN (buton HALA class="merchant-button outline" - bkz. merchant.js#
   merchantOrdersToolbarHtml, FONKSIYONEL/JS DEGISIKLIGI YOK). Yukseklik/font/padding
   yukaridaki ".merchant-orders-toolbar .merchant-button" kuralindan miras alinir -
   burada SADECE renk override edilir.
*/
#merchantOrdersSyncBtn{background:#2563eb;border-color:#2563eb;color:#fff}
#merchantOrdersSyncBtn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}
.merchant-orders-toolbar .merchant-button{min-height:36px;font-size:11px;padding:0 12px}
/* [ROUND 27-F.3.1] Onceden ">.merchant-button" (SADECE dogrudan cocuk) idi -
   "Duzenle/Odeme Bekleyene Al/Sil" #merchantOrdersToolbarActions span'inin ICINDE (bir
   seviye ic ice) oldugu icin bu boyutlandirmayi ALMIYORDU (taban .merchant-button'dan
   41px miras aliyordu) - mockup'ta istenen "ortak yukseklik" icin torun (space)
   secicisine genisletildi. Baska hicbir .merchant-button bu toolbar'in ICINDE degil,
   bu yuzden guvenli/kapsam-disi etkisi yok.
*/
.merchant-orders-selection-count{font-size:11px;color:var(--muted);white-space:nowrap;order:1}
/* [ROUND 27-F.3.1] "order:1" - onceki DOM sirasinda bu span #merchantOrdersToolbarActions'
   dan ONCE geliyordu; owner'in onaylanan mockup'i "Secili: X siparis" metninin aksiyon
   butonlarindan SONRA (en sonda) gorunmesini istiyor - saf CSS flex "order" ile, JS/markup
   SIRASI DEGISTIRILMEDEN (bkz. asagidaki toolbar-actions yorumu - FUNCTIONAL_JS_CHANGE_
   REQUIRED=FALSE).
*/
.merchant-orders-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
/* [ROUND 27-F.3.1] KOK NEDEN (mockup "Arada boşluk var" isareti): "margin-left:auto" bu
   span'i (Duzenle/Odeme Bekleyene Al/Sil grubu) flex container'in EN SAGINA itiyordu -
   digerleri (Tumunu Sec/arama/Filtrele/Siparisleri Guncelle/Secim sayaci) sola yigilip
   aradaki BOS ALAN buyuyordu. Kaldirildi - artik butun toolbar tek, surekli bir siraya
   (mockup bolum 2) diziliyor.
*/
.merchant-orders-filter-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.merchant-orders-filter-panel[hidden]{display:none}
.merchant-orders-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.merchant-orders-filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.merchant-orders-table th:first-child,.merchant-orders-table td:first-child{width:28px}
.merchant-orders-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:750;white-space:nowrap}
.merchant-orders-badge.badge-onaybekliyor{background:#fff8e0;color:#8a6d16}
.merchant-orders-badge.badge-odemebekliyor{background:#fff1e2;color:#a15b16}
.merchant-orders-badge.badge-islemde{background:#e6f0ff;color:#2255a8}
.merchant-orders-badge.badge-hazirlaniyor{background:#f2e9ff;color:#6a3ba8}
.merchant-orders-badge.badge-onaylanmadi{background:#fdecec;color:var(--red)}
.merchant-orders-badge.badge-kargoyaverildi{background:var(--soft);color:var(--green2)}
.merchant-orders-badge.badge-kargodurumu{background:#e6fbfa;color:#0f8b86}
.merchant-orders-badge.badge-default{background:#eef2ef;color:#59675f}
/* GOREV Round 27-F.5.3.1 - MERCHANT SHIPMENT STATUS VISUAL SEMANTICS (Kargo Durumu sekmesi,
   siparis satirindaki sevkiyat-durumu rozeti - merchantShipmentStatusBadgeHtml). YENI renk
   DEGERLERI DEGIL - AYNI .merchant-orders-badge ailesinin ZATEN kullandigi mevcut kirmizi/
   yeşil tasarim token cifti (.badge-onaylanmadi/.badge-kargoyaverildi ile BIREBIR AYNI
   degerler) yeniden kullanildi (round talimati bolum 7: "Reuse existing Printviy semantic
   colors"). Sadece Shipped(Taşıma Durumunda)/Delivered(Teslim Edildi) icin - digerleri
   (UnDelivered/Returned/AtCollectionPoint/Bilinmiyor) HALA .badge-default'a duser,
   DEGISMEDI. */
.merchant-orders-badge.shipment-status--in-transit{background:#fdecec;color:var(--red)}
.merchant-orders-badge.shipment-status--delivered{background:var(--soft);color:var(--green2)}
.merchant-orders-tracking-empty{font-size:10px;color:#9aa49e;font-style:italic}
/* [ROUND 27-F.5] Kargo Durumu sekmesinin gercek izleme ozeti - mevcut .merchant-orders-
   badge (durum rozeti) ile AYNI/mevcut sinifi tekrar kullanir, SADECE takip numarasini
   ustune eklemek icin kucuk bir dikey sarmalayici gerekir - yeni bir renk paleti/tasarim
   dili ICAT EDILMEDI. */
.merchant-orders-tracking-summary{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.merchant-orders-tracking-number{font-size:11px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
/* [ROUND 27-F.2.1] hit-area/font-size Admin'in KENDI .ops-icon-btn kuraliyla (outputs/
   index.html: min-height:30px;min-width:30px;font-size:15px;padding:0 5px) AYNI - "cramped"
   raporunun kok nedeni buradaki ONCEDEN min-height/min-width OLMAYAN, 2px dikey/4px yatay
   dolgulu KUCUK dokunma alaniydi. */
.merchant-icon-btn{border:0;background:transparent;font-size:15px;min-height:30px;min-width:30px;padding:0 5px;border-radius:6px}
.merchant-icon-btn:hover{background:#eef2ef}
.merchant-orders-readonly-hint{font-size:12px;opacity:.6;cursor:help}
.merchant-orders-reject-reason{font-size:10px;color:var(--red);cursor:help;font-weight:700}
.merchant-orders-product-edit-note{font-size:10px;color:#9aa49e;font-style:italic;margin-top:-6px}
/* GOREV Round 27-F.2 - zenginlestirilmis siparis tablosu hucreleri (platform logosu,
   musteri/marka hiyerarsisi, cok-satirli urun listesi, kargo metni, kompakt ikon
   aksiyonlari). Mevcut .merchant-table/.merchant-orders-table temel yapisi/renkleri
   DEGISTIRILMEDI - SADECE bu YENI hucre ic-govdeleri icin dar/ek kurallar.
   min-width, artan bilgi yogunlugunu kapsayacak sekilde genisletildi (mevcut
   .merchant-table-wrap{overflow:auto} sarmalayicisi YATAY KAYDIRMAYI ZATEN
   destekliyordu - yeni bir tasma mekanizmasi ICAT EDILMEDI). */
.merchant-orders-table{min-width:1080px}
/* [ROUND 27-F.2.1] Platform logosu: Admin'in KENDI .ops-platform-logo-img kuraliyla
   (outputs/index.html: height:34px;width:auto;max-width:140px) AYNI olcek/en-boy-orani-
   koruma deseni - onceki sabit width:18px;height:18px;object-fit:contain KUCUK/kare-
   zorlayan kuraldan degistirildi. Asset'in KENDISI Admin ile ZATEN AYNI (production'da
   dogrulandi, byte-for-byte ayni yuklu dosya URL'si - round raporuna bkz.) - SADECE olcek
   duzeltildi.
   [ROUND 27-F.2.2] .merchant-orders-platform-name (logo YANINDA GORUNUR isim etiketi)
   KALDIRILDI - owner defect #1 ("logo VE metin birlikte") kok nedeniydi, artik
   merchantOrderPlatformCellHtml() bu etiketi HIC BASMIYOR (isim SADECE img alt/title'inda
   erisilebilirlik icin kalir - Admin'in opsPlatformBadge() ile AYNI "logo bulunduysa
   SADECE logo" davranisi). .merchant-orders-platform sarmalayici span'i (artik SADECE
   img'yi TASIYOR) ve .merchant-orders-platform-text (logo YOK/kirik fallback'i) HALA
   AYNEN kullaniliyor. */
/* [ROUND 32-Hi SUPERSEDES 27-F.2.4] Owner bu roundda ACIKCA Admin ile TEK ölçü/hizalama
   istedi ("ÖNERİ (Merchant — Admin ile Aynı Genişlikte)" onayli gorsel referans) - bu,
   27-F.2.4'un o zamanki KENDI acik/kesin PLATFORM_LOGO_HEIGHT=25px karari SUPERSEDE eder
   (owner'in daha SONRAKI/GUNCEL talimati onceki kararindan ustundur - AYNI ilke Round
   32-C.1'in test-pin guncellemelerinde/32-C'nin kendi raporunda kullanildigi gibi).
   Wrapper span ARTIK SADECE TEK bir cocuk (img) tasidigi icin (isim etiketi 27-F.2.2'de
   zaten kaldirildi) flex/gap YERINE, Admin'in KENDI stratejisiyle (outputs/index.html#
   .ops-platform-logo-img: img DOGRUDAN inline-block + vertical-align:middle, sarmalayici
   YOK) BIREBIR ESDEGER bir hizalama kullanilir: burada sarmalayici span inline-block+
   vertical-align:middle olur (Admin'deki img'nin KENDI rolunu ustlenir), img ise KENDI
   sarmalayicisini tamamen doldurur (display:block). Sonuc: AYNI dikey hizalama/satir-ici
   konumlanma, YENI bir sarma/bounding-box mekanizmasi ICAT EDILMEDI. */
.merchant-orders-platform{display:inline-block;vertical-align:middle}
/* [ROUND 32-Hi] height Admin'in KENDI .ops-platform-logo-img kuraliyla (outputs/index.html:
   height:34px;width:auto;max-width:140px) BIREBIR AYNI yapildi - width:auto + max-width:140px
   (en-boy-orani-koruma, gerdirme/kirpma YOK) zaten AYNIYDI, DEGISTIRILMEDI. Provider-ozel
   (.trendyol{}/.ticimax{} turu) HICBIR kural YOK - Admin'in KENDISI de yok, bu yuzden
   burada da eklenmedi (round talimati: "Avoid provider-specific hacks... unless CURRENT
   Admin itself demonstrably requires them" - Admin gerektirmiyor).
   [ROUND 32-Hi.5 SUPERSEDES 32-Hi height] Owner, KAYNAK/asset paritesini (32-Hi.3 - HALA
   AYNEN KORUNUR, state.platformLogos'tan AYNI normalize edilmis dosyalar) onayladiktan
   SONRA SADECE Merchant'in KENDI gorsel OLCEGINI %25 kucultmeyi istedi (34px * 0.75 =
   25.5px) - bu, Admin'den KASITLI bir olcek sapmasidir (Admin 34px'te KALIR, DEGISMEDI),
   AYNI ilke Round 27-F.2.4'un o zamanki KASITLI sapmasiyla (34->25px, SONRA 32-Hi'de
   Admin paritesine GERI DONULMUSTU). SADECE height degeri degisti - width:auto/max-width:
   140px/display:block/provider-ozel-kural-YOK HICBIR SEKILDE degismedi. */
.merchant-orders-platform img{height:25.5px;width:auto;max-width:140px;display:block}
.merchant-orders-platform-text{font-size:11px;color:#4e5c54;font-weight:700}
/* [ROUND 27-F.2.3] Platform logosu + checkbox tıklama alanı Admin ile ölçüldü (production
   SSH ile dosya-bazlı karşılaştırıldı, hem CSS kuralları hem GERÇEK yüklü logo asset'i):
   LOGO: outputs/index.html#.ops-platform-logo-img{height:34px;width:auto;max-width:140px}
   ile buradaki .merchant-orders-platform img{...} kuralı ZATEN BİREBİR AYNI (Round
   27-F.2.1'den beri değişmedi) - VE production'da her iki panel de AYNI yüklü Trendyol
   logo dosyasını (brand-logos/4505e1a0-...png) kullanıyor. Yani logo boyutu için EK bir
   değişiklik GEREKMİYOR (owner'ın referans diyagramındaki sayılar KENDİ ifadesiyle örnek/
   illustratif - gerçek ölçüm bu iki değerin zaten eşit olduğunu kanıtladı).
   CHECKBOX: GERÇEK/tek fark burada bulundu - Admin'in KENDİ genel input,select,textarea
   kuralı min-height:38px kullanırken (outputs/index.html), Merchant'inki min-height:42px
   kullanıyor (merchant.css'in üst kısmındaki genel form-input kuralı) - bu genel kural
   HTML checkbox'lara da (herhangi bir tip-hariç-tutma olmadığı için) sızıyor, satır
   checkbox'ının tıklama alanını (bounding box) admin'den 4px daha uzun yapıyor (canlı
   ölçüm: Admin td input 20×38px, Merchant TE 20×42px - width ZATEN eşitti). Global
   input,select,textarea kuralının KENDİSİ (TÜM gerçek form alanlarını - Kimlik Bilgileri,
   filtreler, vb. - etkileyeceği için) DEĞİŞTİRİLMEDİ - bunun yerine SADECE Siparişler
   tablosunun satır-seçim checkbox'ına dar kapsamlı/additive bir override eklendi (ne bir
   class/markup değişikliği ne de JS değişikliği gerektirmedi - mevcut yapısal selector
   yeterliydi).
   [ROUND 27-F.2.4] Owner ACIK/kesin hedef degeri: ORDER_CHECKBOX_WIDTH=15px (Admin ile
   tekrar karsilastirma YOK - owner'in bu roundtaki degeri artik dogrudan kaynak). Sadece
   width degistirildiyse kutu orantisiz/"distorted" gorunecegi icin min-height de AYNI
   oranda (15/20 = 0.75x) kucultuldu: 38px*0.75=28.5px - boylece kutunun en-boy ORANI
   (F.2.3'te Admin'den olcum ile kurulan oran) KORUNDU, sadece mutlak boyut kuculdu. */
.merchant-orders-table tbody td:first-child input[type="checkbox"]{width:15px;min-height:28.5px}
/* [ROUND 32-Hi.5b] Tarih hucresi: Admin'deki .ops-date-cell ile AYNI/dar-kapsamli ilke -
   SADECE bu hucreyi merkezler VE satir sarmasini YAPISAL olarak imkansiz kilar (owner-
   raporlu/Admin'de canli-tekrar-uretilen tire-noktasi sarma hatasinin AYNI sinifi,
   Merchant'ta da onceden ONLENMEDEN durmasin diye). Baska hicbir sutun ETKILENMEDI.
   Selector KASITLI OLARAK `.merchant-orders-table td.merchant-orders-date-cell` (TEK
   `.merchant-orders-date-cell` DEGIL) - CSS OZGULLUK (specificity) NEDENIYLE: yukaridaki
   genel `.merchant-table th,.merchant-table td{text-align:left}` kurali (.merchant-table
   + td = 2 secici) TEK-sinifli bir `.merchant-orders-date-cell` kuralindan (1 secici)
   DAHA OZGUL olurdu VE text-align:center'i GECERSIZ KILARDI (canli olcumle YAKALANDI -
   getComputedStyle textAlign='left' donuyordu, kural HICBIR ZAMAN uygulanmiyordu). Bu
   daha ozgul secici (.merchant-orders-table + td + .merchant-orders-date-cell = 3
   secici) sorunu KOKTEN cozer, kaynak-sirasina/!important'a BAGIMLI KALMADAN. */
.merchant-orders-table td.merchant-orders-date-cell{text-align:center;white-space:nowrap}
/* [ROUND 32-Hi.7] Tarih hucresi ARTIK iki satir tasir (tarih + saat, bkz.
   merchantOrderDateTimeCellHtml). Ustteki .merchant-orders-date-cell kurali
   (text-align:center;white-space:nowrap) HER IKI ic satira da miras/inherit yoluyla
   zaten uygulanir - Admin'in .ops-date-line/.ops-time-line ile BIREBIR AYNI/paylasilan
   ilke, SADECE satir-arasi dikey bosluk/ikincil-satir gorsel agirligi icin EK kurallar. */
.merchant-orders-date-line{white-space:nowrap}
.merchant-orders-time-line{white-space:nowrap;color:#9aa49e;font-size:.92em;margin-top:1px}
.merchant-orders-custbrand{display:flex;flex-direction:column;gap:1px;min-width:0}
.merchant-orders-custbrand strong{font-size:11px;color:var(--ink,#1c2b22);overflow-wrap:anywhere}
.merchant-orders-custbrand small{font-size:9.5px;color:#9aa49e}
/* [ROUND 27-F.2.1] Ürünler mevcut BIRINCIL/gENIS bilgi kolonu olarak KALIYOR (round
   talimati bolum 5/8) - max-width HAFIFCE genisletildi (360px), 3 satirlik ornek
   ("Filistin Siyah Unisex Çocuk Tişört, VCT-60019, 5-6/7-8/9-10 Yaş ×1") HALA
   okunanabilir/DAHA rahat kaliyor. */
.merchant-orders-productlines{display:flex;flex-direction:column;gap:2px;min-width:200px;max-width:360px}
.merchant-orders-productline{font-size:10.5px;color:#334037;line-height:1.4;overflow-wrap:anywhere}
/* [ROUND 32-F] coklu-urunlu siparislerde satirlarin "tek bir paragraf gibi" GORUNMESINI
   onlemek icin EN KUCUK CSS tedavisi: .merchant-orders-detail-row ile AYNI/mevcut ince
   ayrac rengi (#edf1ef) - YENI bir renk/kart/kutu ICAT EDILMEDI. Sira numarasi (.merchant-
   orders-productnum) da .merchant-orders-productmore ile AYNI mevcut muted/ikincil metin
   rengini (#7c8a80) kullanir. */
.merchant-orders-productline:not(:last-child){border-bottom:1px solid #edf1ef;padding-bottom:3px}
.merchant-orders-productnum{color:#7c8a80;font-weight:700}
.merchant-orders-productmore{font-size:9.5px;color:#7c8a80;font-style:italic}
.merchant-orders-noproduct{color:#9aa49e}
/* [ROUND 27-F.2.1] Toplam: Admin'in KENDI .money kuraliyla (outputs/index.html:
   font-weight:700;font-variant-numeric:tabular-nums) AYNI - hizalama/hesaplama HICBIR
   SEKILDE degismedi, SADECE ayni gorsel agirlik. */
.merchant-orders-money{font-weight:700;font-variant-numeric:tabular-nums;font-size:11px;white-space:nowrap}
/* [ROUND 27-F.2.1] Kargo: Admin'in KENDI .ops-carrier-cell{max-width:170px} ORANIYLA
   AYNI (170/1000 ADMIN tablo genisligi ~= 180/1080 Merchant tablo genisligi) - owner
   raporunun ("Trendyol Express Marketplace" gibi ham metin hucreyi asiri genisletiyor")
   KOK NEDENI buydu (ONCEDEN max-width YOKTU). Eslesmeyen tasiyicilarda Admin'in KENDI
   genel-kargo SVG ikon deseni (opsCarrierBadge fallback dali) kucuk/statik bir sablon
   ikon olarak yeniden kullanildi - veri/anlam DEGISMEDI, SADECE genislik SINIRLANDI +
   metin Admin ile AYNI sekilde (kirpma DEGIL) sarilir.*/
.merchant-orders-carrier-cell{max-width:180px}
/* [ROUND 27-F.2.2] Owner defect #2: taniyor bir tasiyici icin ARTIK Admin'in KENDI
   .ops-carrier-logo-img kuraliyla (outputs/index.html: height:22px;width:auto;
   max-width:120px;object-fit:contain) AYNI olcekte GERCEK/proven logo gosterilir (bkz.
   merchantOrderCarrierCellHtml -> o.carrierPresentation.logoUrl, routes/merchant.js#
   carrierPresentationForOrders - admin-yonetim ucuna HICBIR yeni erisim ACILMADI, SADECE
   ONCEDEN VAR OLAN SAF carrierStore.js#matchCarrierKeyAgainstItems eslesme fonksiyonunun
   {key,name,logoUrl} SUNUM-ALT-KUMESI). Eslesme YOKSA (logoUrl bos) genel ikon+metin
   fallback AYNEN KORUNUR (asagida). */
.merchant-orders-carrier-logo-img{height:22px;width:auto;max-width:120px;object-fit:contain;display:block;vertical-align:middle}
.merchant-orders-carrier-generic-icon{display:inline-flex;color:#87939d;vertical-align:middle;margin-right:5px}
.merchant-orders-carrier-text{font-size:11px;color:#4e5c54;word-break:break-word;vertical-align:middle}
.merchant-orders-carrier-empty{color:#c3cac5}
/* [ROUND 27-F.2.1] İşlemler: Admin'in KENDI .ops-row-actions kuraliyla (outputs/
   index.html: display:flex;gap:2px;justify-content:flex-end;flex-wrap:nowrap) AYNI -
   ONCEDEN justify-content YOKTU, ikonlar hucre icinde SOLA yaslaniyordu (owner raporu:
   "cramped/misaligned at the far right"). Artik SAG kenara HIZALI/kararli bir aksiyon
   rayi - hucrenin KENDI .merchant-table td dolgusu (10px 11px, degismedi) sag kenara
   yapismayi zaten onluyor.
   [ROUND 27-F.2.2 FIX] Owner defect #3 (satir-izgarasi kirilmasi) KOK NEDENI: bu sinif
   ONCEDEN DOGRUDAN <td> UZERINE uygulaniyordu - bir <td>'ye display:flex vermek
   tarayicida o hucrenin satir-yuksekligine GERILME davranisini BOZAR (canli olcumle
   kanitlandi: hucre kutusu 51px, satirin GERCEK yuksekligi 69px idi). Admin'in KENDI
   deseni (<td><div class="ops-row-actions">) TAKIP EDILEREK bu sinif ARTIK SADECE <td>
   ICINDEKI bir <div>'e uygulanir (bkz. merchantOrdersTableRowHtml) - <td>'nin KENDISI
   digger hucrelerle BIREBIR AYNI, stilsiz/normal bir tablo-hucresi olarak kalir, satir
   ayirici cizgisi artik TUM sutunlarda TEK/kesintisiz bir cizgi olarak devam eder. Bu
   kural degismedi (justify-content:flex-end;gap:2px;flex-wrap:nowrap), SADECE HANGI
   elemana uygulandigi degisti. */
.merchant-orders-actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:nowrap;white-space:nowrap}
.merchant-button.outline.danger{color:var(--red);border-color:#f3c9c9}
/* GOREV Round 29-C - SHARED MERCHANT INTEGRATION CONNECTION TEST. .outline.danger'in
   AYNI (mevcut) modifier deseninin simetrigi - YENI bir buton sinifi ICAT EDILMEDI,
   sadece .outline'a EKLENEBILEN bir varyant daha eklendi. Sonuc kutusu ayni --green2/
   --red/--soft renk degiskenlerini (badge-onaylanmadi/badge-kargoyaverildi ile AYNI
   kirmizi/yesil cift) kullanir - YENI bir renk paleti ICAT EDILMEDI. */
.merchant-button.outline.success{color:var(--green2);border-color:#bfe0c2}
/* GOREV Round 29-I.2 ISSUE 2 - KOK NEDEN (Round 29-I.1 forensic): .merchant-button:hover:not(:disabled)
   (satir 1, TUM .merchant-button'lara uygulanan genel kural) background'u var(--green2) yapar;
   yukaridaki .outline.success kurali metni AYNI var(--green2) degerine boyar - hover'da metin/arkaplan
   AYNI renk olup okunmaz hale gelir. Duzeltme: SADECE bu sinif icin (Iptal/Kaydet/.outline.danger
   DOKUNULMADI) acik yesil-tint bir hover arkaplan - metin AYNI yesil kalir, kontrast geri gelir. */
.merchant-button.outline.success:hover:not(:disabled){background:#eefaf0;color:var(--green2)}
.merchant-connection-test-hint{margin:2px 0 0;font-size:11px;color:var(--muted)}
.merchant-connection-test-result{margin-top:10px;padding:10px 12px;border-radius:9px;font-size:12px;line-height:1.4}
.merchant-connection-test-result strong{display:block;margin-bottom:2px;font-size:12.5px}
.merchant-connection-test-result.success{background:var(--soft);color:var(--green2)}
.merchant-connection-test-result.error{background:#fdecec;color:var(--red)}
@media(max-width:900px){.merchant-orders-filter-row{grid-template-columns:1fr 1fr}.merchant-orders-search{max-width:none;flex:1 1 100%}}
@media(max-width:640px){.merchant-orders-filter-row{grid-template-columns:1fr}.merchant-orders-toolbar-actions{width:100%}}

/* GOREV Round 21-A.1 - "👁 Detay" salt-okunur modal alanlari - additive. */
.merchant-orders-detail-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #edf1ef;font-size:11px}
.merchant-orders-detail-row span{color:var(--muted)}
.merchant-orders-detail-row strong{text-align:right;max-width:60%}
.merchant-orders-lock-warning{background:#fff7e8;color:#90601b;border-radius:8px;padding:10px 12px;font-size:11px;margin-bottom:10px}

@media(max-width:640px){.merchant-balance-metric-grid{grid-template-columns:repeat(2,1fr)}}
/* GOREV Round 26-B - "Cüzdan" sayfasi: buyuk bakiye hero'su + inline "Bakiye
Yükle" bolumu. Mevcut renk/tipografi degiskenlerini (--green/--green2/--soft/
--line/--muted/--ink) ve panel/buton siniflarini (.merchant-panel/.merchant-
button) YENIDEN KULLANIR - yeni bir tasarim dili ICAT EDILMEDI. */
.wallet-hero-body{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-start}
.wallet-hero-main{min-width:220px}
.wallet-hero-label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
/* GOREV Round 41-C.2 - TYPOGRAPHY MICRO-POLISH: buyuk bakiye rakami gorsel olarak
   asiri buyuktu (owner geri bildirimi) - CURRENT_FONT_SIZE - 10px (34px->24px)
   uygulandi. Baska HICBIR ozellik (renk/agirlik/letter-spacing/display) DEGISMEDI. */
.wallet-hero-balance{display:block;font-size:24px;font-weight:800;color:var(--ink);letter-spacing:-.5px}
.wallet-hero-caption{margin:6px 0 0;font-size:11.5px;color:var(--muted);max-width:320px}
.wallet-hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;flex:1;min-width:260px}
.wallet-hero-stat{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}
.wallet-hero-stat-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--soft);color:var(--green2);display:flex;align-items:center;justify-content:center}
.wallet-hero-stat-text{min-width:0;display:flex;flex-direction:column;gap:2px}
/* GOREV Round 41-C.2 - TYPOGRAPHY MICRO-POLISH: 4 summary kutusunun (Son bakiye
   yükleme/Bu ay yüklenen/Bu ay iade/Bu ay harcanan) label/deger yazilari TAM
   OLARAK +2px buyutuldu (9.5px->11.5px label, 13.5px->15.5px deger) - kutu
   geometrisi (height/width/border/radius/background/spacing/grid) VE ikon boyutu
   HICBIR SEKILDE degismedi, SADECE bu iki font-size satiri. */
.wallet-hero-stat-text small{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wallet-hero-stat-text strong{font-size:15.5px;color:var(--ink)}
.wallet-topup-panel{margin-top:14px}
.wallet-topup-hint{margin:0 0 10px;font-size:11.5px;color:var(--muted)}
.wallet-topup-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.wallet-topup-preset{min-height:38px;font-size:12px;padding:0 16px}
.wallet-topup-preset.active{background:var(--soft);border-color:var(--green2);color:var(--green2);font-weight:750}
.wallet-topup-amount-field{display:block;max-width:280px;font-size:11px;font-weight:700;color:#4e5c54;margin-bottom:14px}
.wallet-topup-amount-field input{margin-top:6px;font-size:16px;font-weight:700}
.wallet-security-note{display:flex;align-items:center;gap:9px;background:#f4f8f5;border-radius:10px;padding:11px 13px;font-size:11px;color:#4e5c54;margin-bottom:16px;max-width:520px}
.wallet-security-note svg{flex:0 0 auto;color:var(--green2)}
.wallet-topup-cta{min-height:46px;padding:0 26px;font-size:13px;font-weight:750}
/* GOREV Round 33-A/33-B - HAVALE/EFT (BANK TRANSFER) BAKIYE YUKLEME - PayTR'nin YANINDA
   IKINCI/manuel bir yontem. Odeme yontemi secici + Havale/EFT olusturma-oncesi/-sonrasi
   kartlari + "Bekleyen Havale Taleplerim" - TUMU mevcut .merchant-panel/.wallet-topup-
   (on-ekli)/.merchant-button/--green/--soft/--line degisken ailesini KULLANIR - IKINCI/
   gorsel olarak KOPUK bir bilesen kutuphanesi ICAT EDILMEDI (round talimati bolum 14: "Do
   NOT use a visually disconnected component library").
   [ROUND 37-B FORENSIC NOT] Bu yorumun bir onceki hali, tam burada, yorum METNI icinde bir
   kelime-sonu yildiz isaretinin hemen ardindan bir slash gelmesi yuzunden YANLISLIKLA
   GERCEK bir CSS yorum-kapatma dizisi OLUSTURUYORDU (yildiz+slash ikilisi) - bu, yorumun
   GERCEKTEN bittigi yer (asagida) DEGIL, o SATIRDA erken/istenmeyen sekilde KAPANIYORDU.
   Sonrasindaki metin (".merchant-button/--green/--soft/--line degisken ailesini
   KULLANIR..." SATIRLARI) boylece GECERSIZ/bozuk bir CSS "selector" olarak yorumlanmaya
   CALISILIYOR, VE bu bozuk govde icindeki ESLESMEMIS tirnak isaretleri (round talimati
   alintisindaki "Do NOT use...") tarayicinin CSS tokenizer'ini bu noktadan itibaren
   TAMAMEN BOZUYORDU - GERCEK/canli tarayici kaniti (Round 37-B): document.styleSheets[0]
   .cssRules bu noktadan (.wallet-topup-cta, satir 977) SONRA HICBIR KURAL ICERMIYORDU
   (686/686, dosyanin geri kalani - TUM wallet method kurallari DAHIL - SESSIZCE parse
   edilmeden dusuyordu), oysa fetch() ile CEKILEN HAM CSS metni HALA/eksiksiz TUM
   kurallari iceriyordu (RAW METIN BOZUK DEGILDI, SADECE TARAYICININ PARSE ETTIGI CSSOM
   BOZUKTU). KOK NEDEN buydu (Round 37-B Bug A) - FIX SADECE bu yorum METNINDEKI kazara-
   olusan yildiz+slash dizisini kaldirmak (yukarida, kelime sonundaki yildiz kaldirildi) -
   HICBIR GERCEK/fonksiyonel CSS kurali degismedi, SADECE bu yorumun KENDI metni yeniden
   yazildi (bu forensik notun KENDISI de BILEREK ayni tuzaga dusmemek icin "yildiz" ve
   "slash" kelimeleri HER YERDE ayri yazildi, birlesik sembol olarak degil). */
.wallet-method-label{font-size:11px;font-weight:700;color:#4e5c54;margin-bottom:8px}
.wallet-method-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
.wallet-method-card{display:flex;align-items:flex-start;gap:10px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;transition:.15s}
.wallet-method-card:hover{border-color:#b9d6bb}
.wallet-method-card.active{border-color:var(--green2);background:var(--soft)}
.wallet-method-icon{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#f2f5f3;color:#4e5c54;display:grid;place-items:center}
.wallet-method-card.active .wallet-method-icon{background:#fff;color:var(--green2)}
.wallet-method-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.wallet-method-title{font-size:12.5px;font-weight:750;color:var(--ink)}
.wallet-method-desc{font-size:10.5px;color:var(--muted)}
.wallet-havale-config-missing{display:flex;align-items:flex-start;gap:9px;background:#fff7e8;color:#90601b;border-radius:10px;padding:11px 13px;font-size:11px;margin-bottom:14px}
.wallet-havale-config-missing svg{flex:0 0 auto;margin-top:1px}
.wallet-havale-info{margin:0 0 14px;font-size:11px;color:var(--muted);max-width:520px;line-height:1.5}
.wallet-havale-limit-note{margin:0 0 14px;font-size:11px;color:#90601b;font-weight:700}
.wallet-havale-success-title{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:750;color:var(--green2);margin-bottom:14px}
.wallet-bank-card{border:1px solid var(--line);border-radius:12px;background:#fbfdfc;padding:4px 14px;margin-bottom:14px}
.wallet-bank-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 0;border-bottom:1px solid #edf1ef}
.wallet-bank-row:last-child{border-bottom:0}
.wallet-bank-label{flex:0 0 auto;min-width:120px;font-size:10.5px;font-weight:700;color:var(--muted)}
.wallet-bank-value{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--ink);word-break:break-word}
.wallet-bank-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}
.wallet-bank-ref-row .wallet-bank-ref{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:800;letter-spacing:.04em;color:var(--green2)}
.wallet-copy-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;font-size:11px}
.wallet-havale-warning{display:flex;align-items:flex-start;gap:9px;background:#fff7e8;color:#90601b;border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5;margin-bottom:16px;max-width:560px}
.wallet-havale-warning svg{flex:0 0 auto;margin-top:1px}
.wallet-havale-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.wallet-havale-meta div{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fbfdfc}
.wallet-havale-meta span{display:block;font-size:9.5px;color:var(--muted);margin-bottom:3px}
.wallet-havale-meta strong{font-size:12px;color:var(--ink)}
.wallet-pending-havale-panel{margin-top:14px}
/* GOREV Round 41-B - REFERANS TASARIM PARITY: Cüzdan sag kolon "Neden Bakiye
   Yüklemelisiniz?" satirlari + alt illustrasyon karti. Cerceve/kart stili mevcut
   .merchant-panel'den miras alinir (yeni bir kart-cercevesi ICAT EDILMEDI) - sadece
   satir/illustrasyon icerigine ozgu, "wallet-" on-eki ile mevcut adlandirma kuralina
   uyan YENI/dar kapsamli siniflar. */
.wallet-benefit-list{display:flex;flex-direction:column;gap:14px}
.wallet-benefit-row{display:flex;align-items:flex-start;gap:10px}
.wallet-benefit-icon{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--soft);color:var(--green2);display:flex;align-items:center;justify-content:center}
.wallet-benefit-text strong{display:block;font-size:12px;color:var(--ink);margin-bottom:2px}
.wallet-benefit-text p{margin:0;font-size:11px;color:var(--muted);line-height:1.4}
/* GOREV Round 41-C.1 - REFERANS KOMPOZISYON DUZELTMESI: kart artik DIKEY/ORTALANMIS
   (align-items:center + text-align:center) - referans hiyerarsisi: BUYUK/ortalanmis
   gorsel USTTE, sonra ortalanmis baslik, sonra ortalanmis aciklama. Kart CERCEVESI
   (arka plan/kenarlik/radius/sag-kolon genisligi) DEGISMEDI - SADECE ic hizalama/
   boyutlar. Referansin fiziksel piksel olculeri KOPYALANMADI - SADECE ORAN/hiyerarsi
   (buyuk gorsel/buyuk baslik/kucuk aciklama) mevcut sag-kolon genisligine responsive
   olarak uygulandi.*/
.wallet-illustration-card{background:linear-gradient(165deg,var(--soft),#fff);border:1px solid var(--line);border-radius:16px;padding:20px 16px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;overflow:hidden}
.wallet-illustration-text h3{margin:6px 0;font-size:17px;font-weight:800;color:var(--ink);line-height:1.25}
.wallet-illustration-text p{margin:0 auto;font-size:12px;color:var(--muted);line-height:1.45;max-width:240px}
.wallet-illustration-img{width:160px;height:auto;object-fit:contain}
/* GOREV Round 41-C - TASK 5: Alacak/Borç semantik renklendirme - SADECE canonical
   debitMinor/creditMinor alanindan (merchant.js#renderWalletMovementRowsHtml) uygulanir,
   metin/keyword eslestirmesi YOK. Bakiye (running balance) hucresi kasitli olarak
   RENKSIZ/notr birakildi (round talimati bolum 5). */
.wallet-amount-credit{color:var(--green2);font-weight:700}
.wallet-amount-debit{color:var(--red);font-weight:700}
/* GOREV Round 41-C - TASK 4/6: ".wallet-history-section" SADECE Cüzdan'in alt
   gecmis/ekstre alanini sarar - asagidaki font-boyutu/satir-serit kurallari .merchant-
   table/.merchant-filterbar/.merchant-orders-badge'in KENDI/global tanimlarini
   DEGISTIRMEZ (o siniflar Siparişler dahil BASKA sayfalarda da PAYLASILIR), SADECE bu
   sarmalayicinin ICINDEKI ornekleri override eder (CSS ozguculugu: iki-sinifli
   selector, TEK global kurali degistirmeden kazanir). Her deger MEVCUT (Round 41-B'den
   kalan) boyuttan TAM OLARAK +2px'tir - round talimati: "increase by exactly CURRENT
   SIZE + 2px", keyfi/sabit tek bir boyut DEGIL:
     .merchant-table td            10px -> 12px
     .merchant-table th             9px -> 11px
     .merchant-filterbar input/select 10px -> 12px
     .merchant-orders-badge          9px -> 11px
     .merchant-empty-row           10.5px -> 12.5px */
.wallet-history-section .merchant-table th,.wallet-history-section .merchant-table td{font-size:12px}
.wallet-history-section .merchant-table th{font-size:11px}
.wallet-history-section .merchant-filterbar input,.wallet-history-section .merchant-filterbar select{font-size:12px}
.wallet-history-section .merchant-orders-badge{font-size:11px}
.wallet-history-section .merchant-empty-row{font-size:12.5px}
/* GOREV Round 41-C - TASK 6: alternating mint/transparan satirlar - SADECE Bakiye
   İşlem Geçmişi tbody'sine (#walletMovementRows) uygulanir, "Bekleyen Havale
   Taleplerim" tablosu VEYA baska bir Merchant tablosu ETKILENMEZ (round talimati:
   "Do not apply this globally to unrelated Merchant tables"). Cok soluk/dogal bir
   ton icin mevcut --soft degiskeninin KENDISI (zaten .wallet-method-card.active/
   .wallet-benefit-icon'da kullanilan AYNI acik yesil) yerine, okunabilirligi
   ETKILEMEYECEK kadar hafif bir varyanti (rgba ile seyreltilmis) kullanilir - hover/
   metin kontrasti bozulmaz. */
#walletMovementRows tr:nth-child(odd){background:rgba(78,178,82,.05)}
#walletMovementRows tr:nth-child(even){background:transparent}
@media(max-width:640px){.wallet-hero-body{flex-direction:column}.wallet-hero-stats{grid-template-columns:repeat(2,1fr)}.wallet-method-selector{grid-template-columns:1fr}.wallet-bank-row{flex-direction:column;align-items:flex-start;gap:6px}.wallet-copy-btn{align-self:flex-start}.wallet-illustration-img{width:130px}}
/* GOREV Round 21-D1 - Bakiye ile Ödeme onay modali ozet satirlari. */
.merchant-pay-summary-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #edf1ef;font-size:11px}
.merchant-pay-summary-row:last-of-type{border-bottom:0}
/* [ROUND 27-F.1] MERCHANT HEADER BAKIYE PILI - duyarli olcek-sinirlama kurallari
   (bkz. .merchant-balance-chip basligi, dosyanin ustunde) - BILEREK dosyanin SONUNA
   YERLESTIRILDI (yukaridaki not). */
@media(max-width:900px){.merchant-balance-chip{--bp-scale-cap:1.15}}
@media(max-width:640px){.merchant-balance-chip{--bp-scale-cap:.95}.merchant-balance-amount{max-width:32vw}}
/* GOREV Round 28-C.1 - Hepsiburada detay ekrani sol panelindeki "Hepsiburada Entegrasyonu"
   bilgi kutusu (owner-onayli mockup) - .merchant-support-card/.merchant-sidebar-foot ile
   AYNI mevcut mint/yesil renk paleti (#e3f8ef arka plan/#c8ecdc kenarlik/#0f9d68 vurgu)
   yeniden kullanildi, YENI bir renk ICAT EDILMEDI. SADECE Hepsiburada detay ekraninda
   kullanilir (openHepsiburadaDetail) - Trendyol'un KENDI side panel'ine EKLENMEDI. */
.merchant-integration-note{display:flex;gap:9px;align-items:flex-start;text-align:left;background:#e3f8ef;border:1px solid #c8ecdc;border-radius:12px;padding:12px;margin-top:14px}
.merchant-integration-note-icon{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#0f9d68;color:#fff;display:flex;align-items:center;justify-content:center}
.merchant-integration-note-icon svg{width:13px;height:13px}
.merchant-integration-note strong{display:block;font-size:12px;color:#0b7a51;margin-bottom:3px}
.merchant-integration-note p{margin:0;font-size:11px;color:#33413a;line-height:1.4}
/* GOREV Round 28-C.2 - MERCHANT INTEGRATION FORM GRID ALIGNMENT (Trendyol Bağlantı
   Bilgileri + Hepsiburada Bilgileri - owner-onayli mockup). KOK NEDEN (round raporunda
   ayrintili): (1) bazi alanlarin etiketi TEK satirken ("Shop / Supplier ID"), komsu
   satirdaki alanin etiketi + opsiyonel "(kayıtlı - boş bırakırsanız korunur)" notu ("API
   Key") IKI satirdi - bu ham metin/inline icerik dogrudan .merchant-field'in (nested CSS
   grid) implicit satirlarina dustugu icin, alan-basina degisen "etiket alani" yuksekligi
   komsu input'un Y baslangicini kaydiriyordu. (2) .merchant-field select ICIN HICBIR
   min-height kurali YOKTU (SADECE .merchant-field input icin, farkli/leaky bir global
   kaskaddan - auth/login formu icin yazilmis ama bare secici oldugu icin HER YERDE
   gecerli olan bir kural - geliyordu) - taban input,select,textarea{min-height:42px}
   resetine geri dusuyordu, input ise ~48-56px'e (clamp) kadar cikiyordu - AYNI satirdaki
   input/select COKLE farkli yukseklikte gorunuyordu.
   DUZELTME (SADECE bu 2 entegrasyon formuna KAPSANDIRILMIS, .merchant-form-grid/
   .merchant-field'in KENDISI DEGISTIRILMEDI - bu ikisi login/hesap/marka formlari GIBI
   BASKA baglamlarda da kullanildigi icin genel kural DEGISTIRILMEDI, round talimati
   bolum 15: "Prefer integration-specific scoping"):
   (a) .merchant-field-label-row: etiket + opsiyonel not ARTIK TEK bir <span> icinde, HER
       ZAMAN 2 satirlik SABIT bir min-height ayirir (not VARSA/YOKSA fark etmeksizin) -
       boylece ayni satirdaki HER İKİ alanin input/select'i HER ZAMAN AYNI Y konumunda
       baslar.
   (b) .merchant-integration-form-grid input/select: ikisi de ACIKCA AYNI min-height'a
       pinlenir (SADECE masaustunde, mobilde MEVCUT/degismemis 640px kirilma noktasi
       kendi degerini korur - round talimati bolum 8) - input'un GORUNEN boyutu
       DEGISMEDI (AYNI clamp degeri), SADECE select ARTIK ona eslenir.
   (c) .merchant-field{align-content:start} (SADECE bu kapsamda): CSS Grid'in
       align-content:normal varsayilani, bir .merchant-field komsu sutunda daha uzun
       oldugu icin GERILDIGINDE (stretch), fazla bosluğu KENDI implicit satirlari
       arasinda BELIRSIZ/tarayiciya-bagli bicimde dagitiyordu (KOK NEDENIN ikinci
       yarisi) - align-content:start bu fazla boslugu HER ZAMAN son satirdan SONRAYA
       (alt bosluk) sabitler, input'un KENDI Y konumu asla etkilenmez - boylece bir
       satirdaki uzun yardimci metin, bir SONRAKI satirin hizasini ASLA bozamaz (round
       talimati bolum 5/6/T9). */
.merchant-integration-form-grid .merchant-field{align-content:start}
.merchant-field-label-row{display:block;min-height:2.6em}
.merchant-field-label-row small{display:block;margin-top:1px}
@media(min-width:901px){
  .merchant-integration-form-grid input,.merchant-integration-form-grid select{min-height:clamp(48px,6.4vh,56px)}
}
