
:root{font-family:Arial,sans-serif;color:#233448;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}header{background:#183955;color:white;padding:22px max(20px,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;align-items:center}h1{font-size:24px;margin:0}main{max-width:1200px;margin:24px auto;padding:0 16px}.panel{background:white;border:1px solid #e0e7ef;border-radius:13px;padding:18px;margin-bottom:18px}input,select,textarea{border:1px solid #cad5e0;border-radius:7px;padding:10px;max-width:100%;font:inherit}input[type=number]{width:95px}button{background:#1e72ad;color:white;border:0;border-radius:7px;padding:11px 15px;cursor:pointer}button.alt{background:#eaf0f6;color:#21455f}.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:14px}.product{border:1px solid #e1e6eb;border-radius:10px;padding:14px;background:#fff}.product h3{font-size:15px;min-height:35px}.muted{color:#68798a;font-size:13px}.product-photo{width:100%;height:155px;object-fit:contain;background:#f1f5f9;border-radius:8px;display:block}.product-photo{cursor:zoom-in}.placeholder{height:155px;display:grid;place-items:center;background:#f1f5f9;color:#93a4b7;border-radius:8px;font-size:32px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5ebf0;padding:9px;text-align:left;font-size:13px}.scroll{overflow-x:auto}.hidden{display:none!important}.notice{padding:12px;background:#edf6fc;border-radius:8px}.price{color:#167044;font-weight:bold}#login{max-width:430px;margin:55px auto}.right{margin-left:auto}@media print{header,.no-print,.tools,button{display:none!important}main{margin:0}.panel{border:0}body{background:white}}#city,#district{min-width:180px;background:#fff}.qty-add{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.qty-add input{width:80px!important;text-align:center}.cart-float{position:fixed;right:20px;bottom:20px;z-index:50;box-shadow:0 5px 22px #18395555}.toast{position:fixed;bottom:82px;right:20px;background:#183955;color:#fff;padding:12px 18px;border-radius:9px;z-index:51;max-width:340px}.print-only{display:none}@media(max-width:650px){header{padding:18px}h1{font-size:18px}}
#photoModal{position:fixed;inset:0;background:rgba(10,20,35,.85);z-index:999;display:flex;align-items:center;justify-content:center;padding:25px}#photoModal img{max-width:95vw;max-height:85vh;object-fit:contain;background:white}#photoModal button{position:absolute;right:18px;top:18px}#photoModal.hidden{display:none!important}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.stat{background:#f1f6fa;padding:20px;border-radius:10px}.stat strong{font-size:28px;display:block;color:#183955}.barcode-img{display:block;max-width:100%;width:260px;height:100px;object-fit:contain;object-position:left center;margin:8px 0;background:white}.product .barcode-img{width:100%;height:100px}.subhead{margin:0 0 15px}.stat small{color:#526779}@media print{.admin-nav,.admin-dashboard,.admin-pane:not(.active){display:none!important}.barcode-img{max-width:210px}}
@media(max-width:650px){.customer-grid{grid-template-columns:1fr}}

/* RubyLife dashboard refresh */
.dash-hero{background:linear-gradient(120deg,#183955,#27638c);color:#fff;border-radius:13px;padding:24px;margin-bottom:18px}.dash-hero h2{margin:0 0 8px;font-size:23px}.dash-hero p{margin:0;color:#e2edf6}.dash-kicker{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#b7d8ef;margin-bottom:7px}.dash-section-title{font-size:17px;margin:24px 0 12px}.dash-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.dash-stat{border:1px solid #dce6ef;background:#fff;border-radius:12px;padding:17px;border-left:4px solid #2e789f}.dash-stat strong{font-size:29px;color:#183955;display:block;margin:7px 0}.dash-stat small{color:#53687c}.dash-stat.warn{border-left-color:#e4a136}.dash-stat.ok{border-left-color:#28946b}.dash-stat.bad{border-left-color:#c76464}.dash-actions{display:flex;gap:10px;flex-wrap:wrap}.dash-actions button{background:#e8f0f7;color:#183955;border:1px solid #ccdae8}.dash-actions button:hover{background:#d9e8f5}.dash-recent{width:100%;border-collapse:collapse}.dash-recent th{background:#f1f6fa}.dash-recent td,.dash-recent th{padding:11px 9px}.dash-status{font-weight:bold;font-size:12px}.dash-empty{color:#68798a;padding:14px 0}.dash-footer{margin-top:12px;color:#68798a;font-size:12px}

/* Reference-inspired admin workspace: scoped to authenticated admin only */
@media(max-width:1050px){body.ruby-admin .dash-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.ruby-admin .dash-two{grid-template-columns:1fr}}@media(max-width:720px){body.ruby-admin header{padding:0 14px 0 74px;height:62px}body.ruby-admin header h1{font-size:15px}body.ruby-admin header span{display:none}body.ruby-admin main{margin-left:60px;padding:12px}body.ruby-admin .admin-nav{width:60px;padding:75px 5px 12px}body.ruby-admin .admin-nav:before{content:"✦";font-size:23px;left:17px;top:20px}body.ruby-admin .admin-nav:after{content:""}body.ruby-admin .admin-nav button{font-size:0;padding:13px 6px;text-align:center}body.ruby-admin .admin-nav button::first-letter{font-size:19px}body.ruby-admin .dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.ruby-admin .dash-stat{min-height:105px;padding:11px}body.ruby-admin .dash-stat strong{font-size:25px}body.ruby-admin .dash-hero-tools{align-items:flex-start;flex-direction:column}body.ruby-admin .dash-hero h2{font-size:21px}}
.dash-trash-btn{background:#fff0f0!important;color:#b42330!important;border:1px solid #f5c6ca!important;padding:9px 12px!important;font-size:12px!important;white-space:nowrap}.dash-trash-btn:hover{background:#ffe1e4!important}.dash-recent td:last-child{white-space:nowrap}#pane-trash table td{vertical-align:middle}

/* Dashboard cards: keyboard-accessible links to existing management tabs */






@media(max-width:1050px){body.ruby-admin .dash-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){body.ruby-admin .dash-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* RubyLife storefront redesign — customer-only, no admin or JavaScript changes */


.rl-topline{background:#142f45;color:#e5edf5;font-size:12px;padding:10px max(22px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rl-header-inner{max-width:1240px;margin:auto;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.rl-brand{text-decoration:none;color:#142f45;display:inline-flex;flex-direction:column;line-height:1.1}.rl-brand strong{font-size:30px;letter-spacing:-1.4px;font-weight:800}.rl-brand strong em{font-style:normal;color:#21a37b}.rl-brand small{letter-spacing:2px;font-size:10px;color:#7a8c9c;margin-top:5px;font-weight:700}
/* Keep the logo's tap target above adjacent mobile header actions. */









/* Mobile header: reserve space for the brand even when right-side actions are wide. */
.rl-header-inner>.rl-brand{flex:0 0 auto;min-width:100px;max-width:230px}
.rl-header-inner>.rl-brand .rl-uploaded-logo{width:auto;max-width:100%;height:auto;max-height:90px}
.rl-header-inner>.rl-head-right{min-width:0;justify-content:flex-end}
@media(max-width:700px){.rl-header-inner{gap:8px;flex-wrap:wrap}.rl-header-inner>.rl-brand{min-width:100px;max-width:48%;}.rl-header-inner>.rl-brand .rl-uploaded-logo{max-height:65px}.rl-header-inner>.rl-head-right{flex:1 1 auto;gap:6px}.rl-header-inner>.rl-head-right a{padding:9px 8px;font-size:11px}}
.rl-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rl-head-right a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border-radius:10px;padding:11px 16px;font-size:13px;font-weight:700;color:#203f57;background:#eef3f7}.rl-head-right .rl-cart-link{background:#168665;color:white}
.rl-nav{border-top:1px solid #edf0f4}.rl-nav-inner{max-width:1240px;margin:auto;padding:0 22px;display:flex;gap:30px;align-items:center;overflow-x:auto}.rl-nav a{display:inline-block;white-space:nowrap;padding:15px 0;text-decoration:none;color:#506477;font-size:13px;font-weight:700;border-bottom:3px solid transparent}.rl-nav a:hover,.rl-nav a:first-child{color:#168665;border-bottom-color:#168665}


.rl-eyebrow{font-size:12px;color:#99edcc;letter-spacing:2px;font-weight:800}
.rl-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:0 0 27px}.rl-benefit{background:#fff;border:1px solid #e5eaf0;border-radius:12px;padding:16px;display:flex;gap:12px;align-items:center}.rl-benefit-icon{font-size:25px;background:#eaf8f2;border-radius:10px;padding:10px}.rl-benefit strong{display:block;font-size:13px;color:#243a4d}.rl-benefit small{font-size:12px;color:#778a9c;display:block;margin-top:4px}
.rl-section-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:26px 0 13px}.rl-section-head h2{font-size:23px;margin:0 0 5px}.rl-section-head p{font-size:13px;color:#78899a;margin:0}


.rl-footer{background:#142f45;color:#d4e0e9;padding:30px 22px;margin-top:25px}.rl-footer-inner{max-width:1196px;margin:auto;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.rl-footer strong{color:white;font-size:21px}.rl-footer p{font-size:12px;line-height:1.7}.rl-footer a{color:#bcebd7;text-decoration:none;font-size:13px}
@media(max-width:700px){.rl-topline{padding:9px 16px}.rl-header-inner{padding:15px 16px}.rl-brand strong{font-size:25px}.rl-head-right a{padding:10px 11px;font-size:12px}.rl-nav-inner{padding:0 16px;gap:20px}body:not(.ruby-admin) main{padding:0 14px 30px}.rl-hero{margin-top:16px;padding:30px 23px}.rl-benefits{grid-template-columns:1fr}.rl-benefit{padding:12px}.rl-section-head h2{font-size:21px}body:not(.ruby-admin) #products{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}body:not(.ruby-admin) .product{padding:10px}body:not(.ruby-admin) .product-photo{height:135px}body:not(.ruby-admin) .product h3{font-size:13px}body:not(.ruby-admin) .product .qty-add button{width:100%}}
@media print{.rl-topline,.rl-nav,.rl-hero,.rl-benefits,.rl-section-head,.rl-footer{display:none!important}}

/* Müşteri ürün kartları: yalnızca görsel düzenleme */












@media(max-width:390px){body:not(.ruby-admin) .product .qty-add{gap:7px}body:not(.ruby-admin) .product .qty-stepper{min-width:113px}body:not(.ruby-admin) .product .qty-stepper button{width:32px;flex-basis:32px}body:not(.ruby-admin) .product .qty-add>button{min-width:100px;font-size:12px}}

/* Customer catalogue: quantity unit clarity only */






/* Urun karti: grup ve stok kodu tek satirda, kayma olmadan */







@media(max-width:380px){body:not(.ruby-admin) .product .product-tags{column-gap:5px}body:not(.ruby-admin) .product .product-tags .tag-label{font-size:10px}body:not(.ruby-admin) .product .product-group,body:not(.ruby-admin) .product .product-code{padding:5px;font-size:10px}}

/* Müşteri kataloğu: Sepet ile ortalı turuncu Yukarı Çık düğmesi */






@media(max-width:650px){body:not(.ruby-admin) .rl-floating-actions{right:12px;bottom:12px;gap:8px}body:not(.ruby-admin) .rl-back-top{padding:10px 14px}}
@media print{.rl-floating-actions{display:none!important}}
/* Separate customer cart page: admin unaffected */















@media(max-width:600px){body.ruby-cart .rl-cart-summary{grid-template-columns:1fr}body.ruby-cart #cartSection{padding:14px}}

/* Customer catalogue pagination */
.rl-catalog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0 34px;padding:16px 10px}.rl-catalog-pagination button{background:#fff;color:#1d4d6b;border:1px solid #cbd9e5;min-width:40px;padding:10px 13px;font-weight:700}.rl-catalog-pagination button.active{background:#168665;color:#fff;border-color:#168665}.rl-catalog-pagination button:disabled{opacity:.45;cursor:default}.rl-catalog-pagination .page-summary{font-size:13px;color:#667b8d;margin-left:10px}@media(max-width:650px){.rl-catalog-pagination{gap:5px}.rl-catalog-pagination button{padding:8px 10px;min-width:32px}}

/* Customer cart: clear action only */




.rl-uploaded-logo{display:block;max-width:230px;max-height:90px;width:auto;height:auto;object-fit:contain}
/* RubyLife responsive catalogue fix 2026-10-20: presentation only */















@media(min-width:1150px){body:not(.ruby-admin):not(.ruby-cart) #products .qty-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body:not(.ruby-admin):not(.ruby-cart) #products .qty-stepper button{flex-basis:30px;width:30px}}
@media(min-width:700px) and (max-width:1149px){body:not(.ruby-admin):not(.ruby-cart) #products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:500px) and (max-width:699px){body:not(.ruby-admin):not(.ruby-cart) #products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:499px){body:not(.ruby-admin):not(.ruby-cart) #products{grid-template-columns:minmax(0,1fr)}body:not(.ruby-admin):not(.ruby-cart) #products>.product{padding:14px}body:not(.ruby-admin):not(.ruby-cart) #products .qty-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body:not(.ruby-admin):not(.ruby-cart) #products .product-group,body:not(.ruby-admin):not(.ruby-cart) #products .product-code{font-size:12px}}
@media(max-width:700px){body:not(.ruby-admin):not(.ruby-cart) .rl-floating-actions{right:10px;bottom:10px;gap:5px}body:not(.ruby-admin):not(.ruby-cart) .rl-floating-actions button{font-size:12px;padding:9px 11px}body:not(.ruby-admin):not(.ruby-cart) main{padding-bottom:105px}}

/* RubyLife: bilgi kutulari tum ekranlarda 3 sutun - mobil kompakt gorunum */
@media(max-width:700px){
  body:not(.ruby-admin) .rl-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:22px}
  body:not(.ruby-admin) .rl-benefit{min-width:0;padding:10px 5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:7px;border-radius:10px}
  body:not(.ruby-admin) .rl-benefit-icon{font-size:20px;padding:7px;border-radius:8px;line-height:1.1}
  body:not(.ruby-admin) .rl-benefit>div{min-width:0;width:100%}
  body:not(.ruby-admin) .rl-benefit strong{font-size:clamp(10px,2.8vw,12px);line-height:1.25;overflow-wrap:break-word}
  body:not(.ruby-admin) .rl-benefit small{font-size:clamp(9px,2.35vw,11px);line-height:1.3;margin-top:5px;overflow-wrap:break-word}
}

/* Telefon ekraninda iki sutunlu urun kartlari; yalniz CSS */
@media(max-width:499px){
 body:not(.ruby-admin):not(.ruby-cart) #products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body:not(.ruby-admin):not(.ruby-cart) #products>.product{padding:8px;min-width:0}
 body:not(.ruby-admin):not(.ruby-cart) #products .product-photo,body:not(.ruby-admin):not(.ruby-cart) #products .placeholder{height:125px}
 body:not(.ruby-admin):not(.ruby-cart) #products>.product h3{font-size:12px;line-height:1.35;height:2.7em;min-height:2.7em;max-height:2.7em}
 body:not(.ruby-admin):not(.ruby-cart) #products .product-tags{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:65px}
 body:not(.ruby-admin):not(.ruby-cart) #products .product-tag-pair{width:100%;min-width:0;max-width:100%;justify-content:flex-start}
 body:not(.ruby-admin):not(.ruby-cart) #products .product-tag-code{margin-left:0}
 body:not(.ruby-admin):not(.ruby-cart) #products .product-group,body:not(.ruby-admin):not(.ruby-cart) #products .product-code{font-size:10px;white-space:nowrap;max-width:100%;padding:4px 6px}
 body:not(.ruby-admin):not(.ruby-cart) #products .barcode-img{height:75px}
 body:not(.ruby-admin):not(.ruby-cart) #products .qty-add{grid-template-columns:minmax(0,1fr);gap:6px}
 body:not(.ruby-admin):not(.ruby-cart) #products .qty-stepper{height:40px}
 body:not(.ruby-admin):not(.ruby-cart) #products .qty-add>button{height:40px;font-size:12px;padding:7px 5px}
 body:not(.ruby-admin):not(.ruby-cart) #products .muted{font-size:11px}
 body:not(.ruby-admin):not(.ruby-cart) #products .qty-package-note{font-size:11px}
}

/* Yönetici kimliği: sadece yönetim paneli */









@media(max-width:720px){body.ruby-admin .rl-admin-profile-trigger{padding:5px;gap:5px}body.ruby-admin .rl-admin-identity{max-width:100px}body.ruby-admin .rl-admin-identity strong{font-size:11px}body.ruby-admin .rl-admin-identity small{font-size:10px}}

/* RubyLife: ortak dosya yukleme penceresi */
#rlUploadOverlay{position:fixed;inset:0;z-index:2147483000;background:rgba(12,25,43,.66);display:flex;align-items:center;justify-content:center;padding:18px}
#rlUploadOverlay.hidden{display:none!important}
#rlUploadOverlay .rl-upload-dialog{width:min(440px,100%);background:#fff;color:#17324b;border-radius:18px;padding:28px;box-shadow:0 20px 65px rgba(0,0,0,.3);text-align:center}
#rlUploadOverlay .rl-upload-spinner{width:40px;height:40px;margin:0 auto 16px;border:4px solid #e4edf5;border-top-color:#1677bb;border-radius:50%;animation:rlUploadSpin .85s linear infinite}
@keyframes rlUploadSpin{to{transform:rotate(360deg)}}
#rlUploadOverlay .rl-upload-track{height:13px;background:#e7eef5;border-radius:100px;overflow:hidden;margin:18px 0 8px}
#rlUploadOverlay .rl-upload-fill{height:100%;width:0%;background:linear-gradient(90deg,#1677bb,#29b79a);transition:width .15s ease}
#rlUploadOverlay .rl-upload-percent{font-weight:800;font-size:27px;font-variant-numeric:tabular-nums}
#rlUploadOverlay .rl-upload-note{font-size:13px;color:#566d7e;margin-top:8px}

/* Public catalogue product sharing: isolated addition */




/* RubyLife B2B Dashboard v6 - current FTP based, isolated layout rules */















@media(max-width:1450px){body.ruby-admin .dash-order-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.ruby-admin .dash-visitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){body.ruby-admin .dash-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.ruby-admin .dash-visitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){body.ruby-admin .dash-order-grid,body.ruby-admin .dash-product-grid,body.ruby-admin .dash-visitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.ruby-admin .dash-visitors-head{align-items:flex-start;flex-direction:column}body.ruby-admin .dash-order-grid .dash-stat,body.ruby-admin .dash-product-grid .dash-stat,body.ruby-admin .dash-visitor-grid .dash-stat{padding:12px 10px;min-height:105px}}
@media(max-width:420px){body.ruby-admin .dash-order-grid,body.ruby-admin .dash-product-grid,body.ruby-admin .dash-visitor-grid{grid-template-columns:1fr 1fr;gap:8px}}
