@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--color-accent-rgb), .4)}50%{box-shadow:0 0 0 12px rgba(var(--color-accent-rgb), 0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.btn-accent,.btn-success{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));color:#fff;box-shadow:0 4px 14px rgba(var(--color-accent-rgb), .35)}@media (width<=768px){.btn-large{width:100%}}:root{--color-primary:#1d428a;--color-primary-dark:#163566;--color-primary-light:#2e5caa;--color-accent:#c8102e;--color-accent-dark:#9e0c24;--color-success:#c8102e;--color-success-dark:#9e0c24;--color-bg:#0a1628;--color-bg-soft:#12213d;--color-surface:#fff;--color-surface-soft:#f7f9fc;--color-tint-blue:#eef2f9;--color-tint-red:#fdf0f2;--color-text:#0f172a;--color-muted:#64748b;--color-border:#e2e8f0;--color-danger:#c8102e;--color-primary-rgb:29, 66, 138;--color-accent-rgb:200, 16, 46;--radius:16px;--radius-sm:10px;--shadow:0 20px 50px #0f172a1f;--shadow-sm:0 8px 24px #0f172a14;--font:"Segoe UI", system-ui, -apple-system, sans-serif;--transition:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--color-text);background:linear-gradient(135deg, #f7f9fc 0%, var(--color-tint-blue) 50%, #fafbfe 100%);background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.animate-fade-in{animation:.4s fadeIn}.animate-fade-up{animation:.5s fadeUp}.animate-scale-in{animation:.35s scaleIn}.animate-shake{animation:.4s shake}.pulse{animation:2s infinite pulse}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;padding:.7rem 1.1rem;font-weight:600}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:0 4px 14px rgba(var(--color-primary-rgb), .35)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px rgba(var(--color-primary-rgb), .4);transform:translateY(-2px)}.btn-accent,.btn-success{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));color:#fff;box-shadow:0 4px 14px rgba(var(--color-accent-rgb), .35)}.btn-success:hover:not(:disabled){transform:translateY(-2px)}.btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-outline:hover{background:var(--color-surface-soft)}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.btn-large{padding:1rem 1.5rem;font-size:1rem}.btn-block{width:100%}.btn-danger{color:var(--color-danger);background:#fee2e2}.btn-glow:hover:not(:disabled){box-shadow:0 0 24px rgba(var(--color-primary-rgb), .45)}.alert{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem}.alert-error{color:var(--color-danger);background:#fee2e2;border:1px solid #fecaca}.alert-success{color:var(--color-success);background:#d1fae5;border:1px solid #a7f3d0}.loading-screen{min-height:100vh;color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}.card-panel{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #fffc}.table-wrapper{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:640px}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.85rem 1rem}.data-table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(#f8fafc,#f1f5f9);font-size:.85rem;font-weight:600}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:#f8fafc}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.text-right{text-align:right}.role-badge{text-transform:uppercase;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.role-admin{background:var(--color-tint-blue);color:var(--color-primary)}.role-user{color:#475569;background:#f1f5f9}@media (width<=768px){.btn-large{width:100%}}.login-page{background:linear-gradient(135deg, #0a1628 0%, var(--color-primary-dark) 45%, #0f2244 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-bg-shapes .shape{filter:blur(70px);opacity:.4;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.shape-1{background:var(--color-primary-light);width:320px;height:320px;top:-80px;left:-80px}.shape-2{background:var(--color-accent);width:260px;height:260px;animation-delay:-3s;bottom:-60px;right:-60px}.shape-3{background:var(--color-primary);width:180px;height:180px;animation-delay:-5s;top:50%;right:20%}.login-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff7;border:1px solid #ffffff59;border-radius:24px;width:100%;max-width:440px;padding:2.25rem 2rem 2rem;position:relative;box-shadow:0 30px 80px #00000047}.login-header{text-align:center;margin-bottom:1.75rem}.login-logo-img{object-fit:contain;width:min(100%,280px);height:auto;margin:0 auto .75rem;display:block}.login-header p{color:var(--color-muted);margin:0;font-size:.95rem}.login-form{flex-direction:column;gap:.5rem;display:flex}.login-form label{color:var(--color-muted);margin-top:.5rem;font-size:.85rem;font-weight:600}.login-form input{border:2px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition);background:#fff;padding:.85rem 1rem}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb), .15);outline:none}.login-form .btn{margin-top:1rem;padding:.95rem;font-size:1rem}.login-hint{text-align:center;margin-top:1.5rem}.login-hint p{color:var(--color-muted);background:var(--color-tint-blue);border-radius:var(--radius-sm);margin:0;padding:.6rem 1rem;font-size:.8rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:3px solid #0000;border-image:linear-gradient(90deg, var(--color-primary), var(--color-accent)) 1;z-index:100;box-shadow:var(--shadow-sm);background:#ffffffeb;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:.75rem;display:flex}.brand-logo-img{object-fit:contain;width:auto;height:auto}.brand-logo-header{max-width:180px;max-height:42px}.header-brand-text small{color:var(--color-muted);margin-top:.1rem;font-size:.75rem;display:block}.header-nav{gap:.5rem;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--color-muted);transition:var(--transition);padding:.5rem 1rem;font-size:.9rem;font-weight:600}.nav-link:hover{background:var(--color-tint-blue);color:var(--color-primary)}.header-user{align-items:center;gap:.75rem;display:flex}.user-badge{background:var(--color-tint-blue);color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:180px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;overflow:hidden}.app-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:1.25rem 1.5rem 2rem}@media (width<=768px){.app-header{flex-wrap:wrap;padding:.75rem 1rem}.brand-logo-header{max-width:150px;max-height:36px}.header-nav{order:3;justify-content:center;width:100%}.app-main{padding:1rem}}.home-page{flex-direction:column;gap:1.25rem;display:flex}.category-tabs{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:.5rem;padding:.5rem;display:flex}.category-tab{border-radius:var(--radius-sm);min-width:100px;color:var(--color-muted);cursor:pointer;transition:var(--transition);background:#f1f5f9;border:2px solid #0000;flex:auto;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.category-tab:hover{color:var(--color-text);background:#e2e8f0}.category-tab.active{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:0 4px 14px rgba(var(--color-primary-rgb), .35);border-color:#0000;transform:translateY(-1px)}.home-grid{grid-template-columns:340px 1fr;align-items:start;gap:1.25rem;display:grid}.product-panel{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.product-visual{border-radius:var(--radius-sm);overflow:hidden}.product-image-placeholder{background:linear-gradient(145deg, var(--color-tint-blue), #fff);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:1.5rem;display:flex;position:relative;overflow:hidden}.product-image-placeholder:before{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff4d 50%,#0000 60%);animation:3s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.product-brand-logo{object-fit:contain;width:min(100%,240px);height:auto;margin-bottom:.5rem}.product-category-label{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:700}.product-controls{flex-direction:column;gap:1rem;display:flex}.control-group label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:block}.control-row{gap:.5rem;display:flex}.control-row select,.control-row input,.control-group input[type=number]{border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition);flex:1;padding:.6rem .75rem}.control-row select:focus,.control-row input:focus,.control-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .12);outline:none}.hint-text{color:var(--color-muted);margin:.35rem 0 0;font-size:.8rem}.ozel-ekle{border-top:1px dashed var(--color-border);padding-top:.75rem}.quote-table-panel{padding:0;overflow:hidden}.quote-table-panel .table-wrapper{box-shadow:none;border-radius:0}.table-input{border:1px solid var(--color-border);text-align:center;border-radius:6px;width:70px;padding:.35rem .5rem}.price-cell{color:var(--color-primary);font-weight:700}.empty-row{text-align:center;color:var(--color-muted);padding:2rem!important}.table-row-animate{animation:.3s fadeIn}.category-summary{border-top:1px solid var(--color-border);background:linear-gradient(#f8fafc,#f1f5f9);justify-content:space-between;padding:1rem 1.25rem;font-size:.9rem;display:flex}.category-summary strong{color:var(--color-primary)}.summary-footer{grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:1.25rem;display:grid}.summary-table-wrap{overflow-x:auto}.summary-table{border-collapse:collapse;width:100%;min-width:400px}.summary-table th,.summary-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.5rem 1rem;font-size:.9rem}.summary-table th{color:var(--color-muted);font-weight:600}.genel-row{background:var(--color-tint-blue);font-weight:700}.genel-row td{color:var(--color-primary)}@media (width<=1024px){.home-grid{grid-template-columns:1fr}}@media (width<=768px){.category-tab{min-width:calc(50% - .5rem);padding:.6rem .5rem;font-size:.75rem}.summary-footer{grid-template-columns:1fr}.summary-footer .btn-large{width:100%}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0a1628a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border:1px solid #fff9;border-radius:22px;width:100%;max-width:540px;max-height:92vh;overflow-y:auto;box-shadow:0 32px 90px #0a162859}.modal-header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-tint-blue) 0%, #fff 100%);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:relative}.modal-header:after{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:999px;height:3px;position:absolute;bottom:0;left:1.5rem;right:1.5rem}.modal-header h2{color:var(--color-primary);margin:0;font-size:1.25rem}.modal-close{cursor:pointer;width:38px;height:38px;transition:var(--transition);box-shadow:var(--shadow-sm);background:#fff;border:none;border-radius:50%;font-size:1rem}.modal-close:hover{background:var(--color-tint-red);color:var(--color-accent);transform:rotate(90deg)}.modal-form{padding:1.5rem}.form-row{margin-bottom:1rem}.form-row label{color:var(--color-muted);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-row input,.form-row select,.form-row textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;transition:var(--transition);background:#fff;padding:.75rem .9rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb), .1);outline:none}.form-fieldset{border:1.5px solid var(--color-border);background:linear-gradient(180deg, #fff, var(--color-surface-soft));border-radius:14px;margin-bottom:1rem;padding:1rem 1rem .5rem}.form-fieldset legend{color:var(--color-primary);padding:0 .5rem;font-size:.9rem;font-weight:700}.field-hint{color:var(--color-muted);margin-top:.35rem;font-size:.78rem;line-height:1.4;display:block}.modal-footer-section{background:linear-gradient(160deg, var(--color-tint-blue) 0%, #fff 55%, var(--color-tint-red) 160%);border:1px solid rgba(var(--color-primary-rgb), .12);border-radius:16px;margin-top:.5rem;padding:1.25rem;box-shadow:inset 0 1px #fffc}.modal-footer-grid{grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1rem;display:grid}.modal-field-card{border:1px solid var(--color-border);transition:var(--transition);background:#ffffffeb;border-radius:12px;padding:.85rem}.modal-field-card:focus-within{border-color:var(--color-primary);box-shadow:0 8px 24px rgba(var(--color-primary-rgb), .12);transform:translateY(-1px)}.modal-field-card label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.78rem;font-weight:700;display:flex}.field-icon{flex-shrink:0;width:18px;height:18px;display:inline-block;position:relative}.field-icon-user:before{content:"";border:2px solid var(--color-primary);border-radius:50% 50% 40% 40%;position:absolute;inset:-2px 0 0;transform:scale(.55)}.field-icon-user:after{content:"";border:2px solid var(--color-primary);border-bottom:none;border-radius:8px 8px 0 0;width:14px;height:7px;margin-left:-7px;position:absolute;bottom:0;left:50%}.field-icon-attach:before{content:"";border:2px solid var(--color-primary);border-radius:6px;width:8px;height:14px;position:absolute;top:1px;left:5px;transform:rotate(35deg)}.modal-select-enhanced,.modal-input-enhanced{background:var(--color-surface-soft);width:100%;color:var(--color-text);transition:var(--transition);border:1.5px solid #0000;border-radius:8px;padding:.65rem .75rem;font-weight:600}.modal-select-enhanced:focus,.modal-input-enhanced:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .1);background:#fff;outline:none}.modal-input-enhanced::placeholder{color:#94a3b8;font-weight:400}.teklif-stats{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.teklif-stat-card{border:1px solid var(--color-border);box-shadow:0 6px 20px rgba(var(--color-primary-rgb), .08);background:#fff;border-radius:14px;align-items:center;gap:.75rem;padding:.9rem 1rem;animation:.45s fadeUp;display:flex}.teklif-stat-highlight{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;border-color:#0000}.teklif-stat-highlight small{color:#fffc}.stat-icon{background:var(--color-tint-blue);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.stat-icon-items:before,.stat-icon-items:after{content:"";background:var(--color-primary);border-radius:2px;position:absolute}.stat-icon-items:before{width:16px;height:2px;box-shadow:0 5px 0 var(--color-primary), 0 10px 0 var(--color-primary)}.stat-icon-total:before{content:"€";color:#fff;font-size:1.2rem;font-weight:800}.teklif-stat-highlight .stat-icon{background:#ffffff2e}.teklif-stat-card small{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem;font-size:.72rem;font-weight:600;display:block}.stat-value{color:var(--color-primary);font-size:1.35rem;font-weight:800;line-height:1.1;display:block}.stat-euro{color:#fff}.btn-teklif{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);color:#fff;box-shadow:0 10px 30px rgba(var(--color-accent-rgb), .35);letter-spacing:.06em;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.6rem;display:flex}.btn-teklif:hover:not(:disabled){box-shadow:0 14px 36px rgba(var(--color-accent-rgb), .45);transform:translateY(-2px)}.btn-teklif:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-teklif-icon{width:20px;height:20px;display:inline-block;position:relative}.btn-teklif-icon:before{content:"";border:2px solid #fff;border-radius:2px;position:absolute;inset:2px 4px}.btn-teklif-icon:after{content:"";clip-path:polygon(0 100%,50% 0,100% 100%);background:#fff;width:8px;height:5px;position:absolute;top:0;right:2px}.teklif-footer-hint{text-align:center;color:var(--color-muted);margin:.75rem 0 0;font-size:.82rem}@media (width<=520px){.modal-footer-grid,.teklif-stats{grid-template-columns:1fr}.modal-form,.modal-footer-section{padding:1rem}}.admin-page{flex-direction:column;gap:1.25rem;display:flex}.page-header h1{margin:0 0 .35rem;font-size:1.75rem}.page-header p{color:var(--color-muted);margin:0}.tab-bar{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:.5rem;padding:.5rem;display:flex}.tab{border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex:1;padding:.75rem 1rem;font-weight:600}.tab:hover{background:#f1f5f9}.tab.active{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:0 4px 12px rgba(var(--color-primary-rgb), .3)}.tab-bar-scroll{flex-wrap:nowrap;overflow-x:auto}.tab-bar-scroll .tab{flex:none;min-width:120px}.admin-section h2{margin:0 0 .35rem}.section-desc{color:var(--color-muted);margin:0 0 1.25rem}.section-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.section-header-row .section-desc{margin-bottom:0}.section-header-row h2{margin:0 0 .35rem}.admin-form{margin-bottom:1.25rem;padding:1.25rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.form-grid-wide{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-grid label,.admin-form label{color:var(--color-muted);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.form-grid input,.form-grid select,.admin-form input,.admin-form select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;transition:var(--transition);padding:.65rem .75rem}.form-grid input:focus,.form-grid select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .12);outline:none}.span-2{grid-column:span 2}.checkbox-field{align-items:flex-end;display:flex}.checkbox-field label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.form-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.filter-bar{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.filter-count{color:var(--color-muted);margin-left:auto;font-size:.85rem}@media (width<=768px){.span-2{grid-column:span 1}.form-actions .btn{flex:1}}
