/* v120.1 + v120.2 — Frontend Experience Revamp
   Amaç: ortak görsel dil, 3-bölgeli Quote Builder, tek primary action ve context rail. */
:root{
  --ux-space-1:4px;--ux-space-2:8px;--ux-space-3:12px;--ux-space-4:16px;--ux-space-5:24px;--ux-space-6:32px;
  --ux-radius-sm:8px;--ux-radius-md:12px;--ux-radius-lg:16px;--ux-radius-xl:22px;
  --ux-border:#e2e8f0;--ux-border-strong:#cbd5e1;--ux-surface:#fff;--ux-surface-soft:#f8fafc;
  --ux-text:#0f172a;--ux-muted:#64748b;--ux-primary:#2563eb;--ux-primary-soft:#eff6ff;
  --ux-shadow:0 18px 50px rgba(15,23,42,.12);--ux-focus:0 0 0 3px rgba(37,99,235,.18);
}

/* ortak interaction standardı */
#quoteBuilder button,#quoteBuilder input,#quoteBuilder select,#quoteBuilder textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}
#quoteBuilder button:focus-visible,#quoteBuilder input:focus-visible,#quoteBuilder select:focus-visible,#quoteBuilder textarea:focus-visible{outline:0;box-shadow:var(--ux-focus)}
#quoteBuilder button:active{transform:translateY(1px)}

/* header: daha sakin, form alanları aynı ritimde */
#quoteBuilder .quote-builder-header{padding:15px 20px 13px;border-bottom:1px solid var(--ux-border);background:rgba(255,255,255,.98)}
#quoteBuilder .quote-builder-heading p{margin-top:2px;color:var(--ux-muted)}
#quoteBuilder .quote-builder-context{display:grid!important;grid-template-columns:minmax(300px,1.5fr) minmax(210px,1fr) minmax(210px,1fr) 160px 145px minmax(190px,.9fr)!important;gap:10px!important;margin-top:12px!important}
#quoteBuilder .quote-builder-context label>span{font-size:9px;font-weight:800;letter-spacing:.02em;color:#475569}
#quoteBuilder .quote-builder-context input,#quoteBuilder .quote-builder-context select{height:40px;border-radius:10px;border-color:var(--ux-border);background:#fff}

/* üç çalışma bölgesi */
#quoteBuilder .qb-v120-body{min-height:0;background:#f5f7fb}
#quoteBuilder .qb-v120-workspace{display:grid!important;grid-template-columns:minmax(380px,34fr) minmax(430px,41fr) minmax(290px,25fr)!important;gap:12px!important;height:100%;padding:12px!important;align-items:stretch}
#quoteBuilder .qb-v120-catalog,#quoteBuilder .qb-v120-cart-panel,#quoteBuilder .qb-v120-context-rail{min-width:0;min-height:0;border:1px solid var(--ux-border);border-radius:var(--ux-radius-lg);background:var(--ux-surface);box-shadow:0 1px 2px rgba(15,23,42,.03)}
#quoteBuilder .qb-v120-catalog,#quoteBuilder .qb-v120-cart-panel{display:flex;flex-direction:column;overflow:hidden}
#quoteBuilder .quote-panel-title{min-height:62px;padding:13px 14px!important;border-bottom:1px solid var(--ux-border);background:#fff}
#quoteBuilder .quote-panel-title h3{font-size:14px!important;letter-spacing:-.01em}
#quoteBuilder .quote-panel-title small{font-size:8px!important;letter-spacing:.11em;color:#2563eb}

/* catalog */
#quoteBuilder .quote-catalog-tools{padding:10px!important;background:var(--ux-surface-soft);border-bottom:1px solid var(--ux-border)}
#quoteBuilder .quote-smart-search{height:42px;border-radius:10px;background:#fff}
#quoteBuilder .quote-smart-search input{font-size:11px}
#quoteBuilder #qbCategory{height:42px;border-radius:10px}
#quoteBuilder .quote-catalog{flex:1;min-height:0;overflow:auto;padding:8px;background:#fbfcfe}
#quoteBuilder .quote-category-group{border:1px solid #e7edf5!important;border-radius:11px!important;overflow:hidden;margin-bottom:8px;background:#fff}
#quoteBuilder .quote-category-group>.quote-category-trigger{padding:10px 11px;background:#f8fafc}
#quoteBuilder .quote-category-products{grid-template-columns:1fr!important;gap:7px!important;padding:7px!important}
#quoteBuilder .quote-product{min-height:66px;border-radius:10px!important;border-color:#e2e8f0!important;padding:10px!important;box-shadow:none!important}
#quoteBuilder .quote-product:hover{border-color:#93c5fd!important;background:#f8fbff!important}
#quoteBuilder .quote-product.is-selected{border-color:#86efac!important;background:#f0fdf4!important}
#quoteBuilder .quote-product-info strong{font-size:10.5px!important;line-height:1.35}
#quoteBuilder .quote-product-info span{font-size:8.5px!important;line-height:1.35;color:#64748b}
#quoteBuilder .quote-product-price strong{font-size:10px!important}
#quoteBuilder .quote-add{width:32px!important;height:32px!important;border-radius:9px!important}

/* teklif çalışma alanı */
#quoteBuilder .qb-v120-cart-panel{position:relative;background:#fff}
#quoteBuilder .qb-v120-cart-title{position:sticky;top:0;z-index:2}
#quoteBuilder .quote-cart{flex:1;min-height:0;overflow:auto;padding:6px 12px 18px!important}
#quoteBuilder .quote-cart-row{display:grid!important;grid-template-columns:minmax(0,1fr) 118px 80px 96px 30px!important;gap:9px!important;padding:13px 2px!important;border-bottom:1px solid #edf1f6!important;align-items:center}
#quoteBuilder .quote-cart-row:hover{background:#fbfdff}
#quoteBuilder .quote-cart-product strong{font-size:11px!important;line-height:1.35}
#quoteBuilder .quote-cart-product span{font-size:8.5px!important;color:#64748b}
#quoteBuilder .quote-quantity-control span,#quoteBuilder .quote-cart-row label>span{font-size:8px!important;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
#quoteBuilder .quote-quantity-control input,#quoteBuilder .quote-cart-row input{height:34px!important;border-radius:8px!important}
#quoteBuilder .quote-quantity-control button{height:34px!important;border-radius:8px!important}
#quoteBuilder .quote-line-total{font-size:10.5px!important;font-weight:850!important}
#quoteBuilder .qb-v120-cart-empty-hint{display:none;position:absolute;inset:110px 30px auto;place-items:center;text-align:center;color:#94a3b8;pointer-events:none}
#quoteBuilder .qb-v120-cart-panel.is-empty .qb-v120-cart-empty-hint{display:grid;gap:7px}
#quoteBuilder .qb-v120-cart-empty-hint>span{display:grid;place-items:center;width:42px;height:42px;border:1px dashed #cbd5e1;border-radius:50%;font-size:24px;color:#94a3b8}
#quoteBuilder .qb-v120-cart-empty-hint strong{font-size:12px;color:#64748b}
#quoteBuilder .qb-v120-cart-empty-hint small{max-width:260px;font-size:9px;line-height:1.5}

/* context rail */
#quoteBuilder .qb-v120-context-rail{display:flex;flex-direction:column;overflow:hidden}
#quoteBuilder .qb-v120-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;border-bottom:1px solid var(--ux-border);background:#fff}
#quoteBuilder .qb-v120-tabs button{height:34px;border:0;border-radius:9px;background:transparent;color:#64748b;font-size:9px;font-weight:850;cursor:pointer}
#quoteBuilder .qb-v120-tabs button:hover{background:#f8fafc;color:#334155}
#quoteBuilder .qb-v120-tabs button.is-active{background:#eff6ff;color:#1d4ed8}
#quoteBuilder .qb-v120-tab-panel{display:none;flex:1;min-height:0;overflow:auto}
#quoteBuilder .qb-v120-tab-panel.is-active{display:block}
#quoteBuilder .qb-v120-summary-panel,#quoteBuilder .qb-v120-health-panel,#quoteBuilder .qb-v120-details-panel{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff}
#quoteBuilder .quote-summary-heading{padding:15px 14px 10px!important}
#quoteBuilder .quote-payment-summary{display:block!important;padding:0 14px 14px!important}
#quoteBuilder .quote-payment-cards{grid-template-columns:1fr!important;margin-top:12px}
#quoteBuilder .quote-payment-card{min-height:92px!important}
#quoteBuilder .quote-payment-card>strong{font-size:17px!important}
#quoteBuilder .qb-v120-health-panel{padding:14px!important}
#quoteBuilder .quote-intelligence-head{padding:0 0 12px!important}
#quoteBuilder .quote-health-issues{max-height:none!important}
#quoteBuilder .qb-v120-details-panel{padding:12px}
#quoteBuilder .qb-v120-notes{min-height:auto!important;margin:0 0 10px;border-radius:10px}
#quoteBuilder .qb-v120-details-panel .quote-extra{margin:0!important;border:1px solid var(--ux-border)!important;border-radius:10px!important;background:#fff}

/* footer — tek primary aksiyon */
#quoteBuilder .qb-v120-footer{position:relative;z-index:20;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:66px;padding:10px 18px!important;border-top:1px solid var(--ux-border);background:rgba(255,255,255,.98);box-shadow:0 -8px 26px rgba(15,23,42,.06)}
#quoteBuilder .qb-v120-footer-total{display:flex;align-items:baseline;gap:12px;min-width:0}
#quoteBuilder .qb-v120-footer-total span{font-size:9px;color:#64748b}
#quoteBuilder .qb-v120-footer-total strong{font-size:15px;color:#0f172a;white-space:nowrap}
#quoteBuilder .qb-v120-footer-actions{display:flex;align-items:center;gap:8px!important;flex-wrap:nowrap!important}
#quoteBuilder .qb-v120-footer-actions>button,#quoteBuilder .qb-v120-more-button{height:42px!important;min-height:42px!important;padding:0 16px!important;border-radius:10px!important;font-size:10px!important;font-weight:800!important}
#quoteBuilder .quote-preview-button{min-width:172px;justify-content:center}
#quoteBuilder .qb-v120-more-wrap{position:relative}
#quoteBuilder .qb-v120-more-button{display:flex;align-items:center;gap:7px}
#quoteBuilder .qb-v120-more-menu{display:none;position:absolute;right:0;bottom:50px;z-index:80;width:220px;padding:6px;border:1px solid var(--ux-border);border-radius:12px;background:#fff;box-shadow:var(--ux-shadow)}
#quoteBuilder .qb-v120-more-menu.open{display:grid}
#quoteBuilder .qb-v120-more-menu button{width:100%;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:10px;font-weight:700;color:#334155;cursor:pointer}
#quoteBuilder .qb-v120-more-menu button:hover{background:#f8fafc}
#quoteBuilder .qb-v120-more-menu button.danger-link{color:#dc2626}

/* compact / responsive */
@media(max-width:1450px){
  #quoteBuilder .quote-builder-context{grid-template-columns:minmax(270px,1.5fr) minmax(180px,1fr) minmax(190px,1fr) 145px 130px minmax(175px,.9fr)!important}
  #quoteBuilder .qb-v120-workspace{grid-template-columns:minmax(330px,31fr) minmax(430px,44fr) minmax(270px,25fr)!important}
  #quoteBuilder .quote-cart-row{grid-template-columns:minmax(0,1fr) 106px 70px 84px 28px!important;gap:7px!important}
}
@media(max-width:1180px){
  #quoteBuilder .quote-builder-context{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #quoteBuilder .qb-v120-workspace{grid-template-columns:minmax(330px,38fr) minmax(430px,62fr)!important}
  #quoteBuilder .qb-v120-context-rail{position:absolute;right:12px;top:12px;bottom:12px;width:min(340px,92vw);z-index:30;transform:translateX(calc(100% + 22px));box-shadow:var(--ux-shadow);transition:transform .2s ease}
  #quoteBuilder .qb-v120-context-rail.is-mobile-open{transform:translateX(0)}
}
@media(max-width:860px){
  #quoteBuilder .quote-builder-context{grid-template-columns:1fr 1fr!important}
  #quoteBuilder .qb-v120-workspace{grid-template-columns:1fr!important}
  #quoteBuilder .qb-v120-catalog{display:none}
  #quoteBuilder .quote-cart-row{grid-template-columns:minmax(0,1fr) 105px 70px 30px!important}
  #quoteBuilder .quote-line-total{grid-column:1/4;text-align:right}
  #quoteBuilder .qb-v120-more-button span{display:none}
}
@media(max-width:620px){
  #quoteBuilder .quote-builder-context{grid-template-columns:1fr!important}
  #quoteBuilder .qb-v120-footer{padding:8px 10px!important}
  #quoteBuilder .qb-v120-footer-total span{display:none}
  #quoteBuilder .qb-v120-footer-actions{gap:5px!important}
  #quoteBuilder .qb-v120-footer-actions>button{padding:0 10px!important}
  #quoteBuilder .quote-preview-button{min-width:132px}
  #quoteBuilder .quote-save-button{display:none!important}
}
@media(prefers-reduced-motion:reduce){#quoteBuilder *{transition:none!important}}

/* v120.5 Today Focus Dashboard */
.today-focus{margin:0 0 18px;padding:18px;border:1px solid #dce5f2;border-radius:16px;background:linear-gradient(135deg,#fbfdff,#f7f9ff);box-shadow:0 10px 26px rgba(42,61,104,.05)}.today-focus-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.today-focus-head h2{margin:2px 0 3px;color:#172033;font-size:17px;letter-spacing:-.015em}.today-focus-head p{margin:0;color:#64748b;font-size:10px}.today-focus-ai{border:1px solid #c7d2fe;border-radius:10px;background:#eef2ff;padding:9px 12px;color:#4338ca;font-size:10px;font-weight:800}.today-focus-ai:hover{background:#e0e7ff}.today-focus-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.today-focus-metrics article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;padding:12px 13px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.today-focus-metrics span{color:#64748b;font-size:9px;font-weight:700}.today-focus-metrics strong{grid-row:1/3;grid-column:2;color:#172033;font-size:23px}.today-focus-metrics small{color:#94a3b8;font-size:8px}.today-focus-metrics article.urgent{border-color:#fecaca;background:#fffafa}.today-focus-metrics article.urgent strong{color:#b91c1c}.today-focus-metrics article.warn{border-color:#fed7aa;background:#fffaf3}.today-focus-metrics article.warn strong{color:#c2410c}.today-priority-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.today-priority-list button{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:10px 12px;text-align:left}.today-priority-list button:hover{border-color:#cbd5e1;transform:translateY(-1px)}.today-priority-list i{width:7px;height:7px;border-radius:50%;background:#64748b}.today-priority-list .danger i{background:#dc2626}.today-priority-list .warning i{background:#ea580c}.today-priority-list span{display:grid;gap:2px}.today-priority-list small{color:#64748b;font-size:8px;text-transform:uppercase;font-weight:800}.today-priority-list strong{color:#172033;font-size:10px}.today-priority-list em{color:#94a3b8;font-size:8px;font-style:normal}.today-priority-list b{color:#64748b}.today-focus-clear{display:flex;align-items:center;gap:10px;margin-top:11px;padding:11px;border:1px dashed #bbf7d0;border-radius:10px;background:#f0fdf4}.today-focus-clear>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:850}.today-focus-clear div{display:grid;gap:2px}.today-focus-clear strong{color:#166534;font-size:9px}.today-focus-clear small{color:#4d7c5b;font-size:8px}
@media(max-width:1050px){.today-focus-metrics{grid-template-columns:1fr 1fr}.today-priority-list{grid-template-columns:1fr}}
@media(max-width:620px){.today-focus-head{align-items:stretch;flex-direction:column}.today-focus-ai{align-self:flex-start}.today-focus-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.today-focus-metrics{grid-template-columns:1fr}}
