:root{--bg: #f7f8fa;--panel: #ffffff;--border: #e7e9ed;--border-strong: #d7dbe0;--text: #1a1d21;--muted: #6b7280;--brand: #2563eb;--brand-soft: #eef2ff;--green: #16a34a;--green-soft: #e7f6ec;--red: #dc2626;--red-soft: #fdeaea;--amber: #d97706;--amber-soft: #fdf2e3;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--touch-target: 44px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}.layout{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:240px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh;height:100dvh}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--brand);color:#fff;font-weight:700;font-size:14px;display:grid;place-items:center;letter-spacing:.02em}.brand-text{display:flex;flex-direction:column;line-height:1.25}.brand-text strong{font-size:14px}.brand-text span{font-size:12px;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:none;border-radius:10px;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--brand-soft);color:var(--brand)}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar h1{font-size:18px;font-weight:650;margin:0}.menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1px solid var(--border-strong);background:var(--panel);border-radius:10px;color:var(--text);cursor:pointer}.menu-btn:active{background:var(--bg)}.nav-backdrop{display:none}.topbar-right{display:flex;align-items:center;gap:16px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #16a34a80;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #16a34a66}70%{box-shadow:0 0 0 6px #16a34a00}to{box-shadow:0 0 #16a34a00}}.kiosk-filter{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.kiosk-filter select,.kiosk-filter input{padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.kiosk-filter input{cursor:text}.kiosk-filter select:focus,.kiosk-filter input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.content{padding:24px 28px;flex:1}.view{display:flex;flex-direction:column;gap:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-strong)}.card.accent-blue:before{background:var(--brand)}.card.accent-green:before{background:var(--green)}.card.accent-red:before{background:var(--red)}.card-label{font-size:13px;color:var(--muted);font-weight:500}.card-value{font-size:26px;font-weight:700;letter-spacing:-.01em}.card-hint{font-size:12px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.panel h3{margin:0 0 14px;font-size:14px;font-weight:650}.panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.panel-head h3{margin:0}.mobile-note{display:none}.chart-tooltip{background:var(--panel);border:1px solid var(--border-strong);border-radius:8px;padding:8px 11px;box-shadow:var(--shadow);font-size:13px;line-height:1.5}.chart-tooltip-day{font-size:11px;color:var(--muted)}.chart-tooltip-amount{font-weight:650}.chart-tooltip-count{font-size:12px}.issue-tags{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.ok-line{color:var(--green);font-weight:500;padding:6px 0}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:0 12px 10px;border-bottom:1px solid var(--border)}.table td{padding:12px;border-bottom:1px solid var(--border);font-size:14px}.table tbody tr:last-child td{border-bottom:none}.table.compact td{padding:8px 10px}.panel>.table{margin:-4px 0}.clickable{cursor:pointer}.clickable:hover{background:var(--bg)}.right{text-align:right}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:650}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.empty{text-align:center;color:var(--muted);padding:28px 12px!important}.hint-line{margin:0;font-size:13px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:7px;font-weight:500}.status .dot{width:8px;height:8px;border-radius:50%}.status.on .dot{background:var(--green)}.status.off .dot{background:var(--red)}.status.off{color:var(--muted)}.tag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg);color:var(--muted)}.tag.ok{background:var(--green-soft);color:var(--green)}.tag.bad{background:var(--red-soft);color:var(--red)}.tag.warn{background:var(--amber-soft);color:var(--amber)}.plate-thumb{height:28px;max-width:120px;object-fit:contain;border-radius:4px;border:1px solid var(--border);background:var(--bg);vertical-align:middle}.pkg-badge{display:inline-block;padding:3px 10px;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-weight:600;font-size:13px}.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.bar-row{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.bar-label{font-weight:600}.bar-value{color:var(--muted)}.bar-track{height:8px;background:var(--bg);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--brand);border-radius:999px;transition:width .4s ease}.toolbar{display:flex;justify-content:flex-start}.segmented{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:3px;box-shadow:var(--shadow)}.segmented button{border:none;background:none;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer}.segmented button.active{background:var(--brand-soft);color:var(--brand)}.banner{padding:10px 14px;border-radius:9px;font-size:13px}.banner.error{background:var(--red-soft);color:var(--red);border:1px solid #f3c2c2}.banner.ok{background:var(--green-soft);color:var(--green);border:1px solid #bfe6cc}.banner.warn{background:var(--amber-soft, #fdf3d8);color:var(--amber, #8a6100);border:1px solid #efd9a3}.token-box{word-break:break-all;background:var(--panel-alt, #f4f5f7);border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;font-size:13px;-webkit-user-select:all;user-select:all}.field-error{display:block;margin-top:4px;font-size:12px;color:var(--red)}.drawer-backdrop{position:fixed;inset:0;background:#10182859;display:flex;justify-content:flex-end;z-index:50}.drawer{width:460px;max-width:92vw;height:100%;background:var(--panel);border-left:1px solid var(--border);padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:22px}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start}.drawer-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.drawer-head h2{margin:2px 0 0;font-size:17px}.icon-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--panel);border-radius:8px;cursor:pointer;color:var(--muted)}.icon-btn:hover{background:var(--bg);color:var(--text)}.drawer-section h3{margin:0 0 12px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kv{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--bg);border-radius:10px;padding:16px}.field{display:flex;flex-direction:column;gap:3px}.field-label{font-size:11px;color:var(--muted)}.field-value{font-size:14px;font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border)}.chip.ok{background:var(--green-soft);color:var(--green);border-color:transparent}.chip.bad{background:var(--red-soft);color:var(--red);border-color:transparent}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.user-box{display:flex;flex-direction:column;padding:4px 8px;line-height:1.3}.user-name{font-size:13px;font-weight:600}.user-role{font-size:12px;color:var(--muted)}.logout-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:none;border-radius:10px;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.logout-btn:hover{background:var(--red-soft);color:var(--red)}.app-loading{height:100vh;height:100dvh;display:grid;place-items:center}.spinner{width:32px;height:32px;border:3px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:var(--bg);padding:24px}.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px;display:flex;flex-direction:column;gap:18px}.login-brand{display:flex;align-items:center;gap:12px}.login-title{margin:0;font-size:20px;font-weight:650}.login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.login-field input{padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font-size:14px}.login-field input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.login-field input:disabled{background:var(--bg);cursor:not-allowed}.login-btn{margin-top:4px;padding:11px 16px;border:none;border-radius:8px;background:var(--brand);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .12s}.login-btn:hover{opacity:.92}.login-btn:disabled{opacity:.6;cursor:not-allowed}.forbidden{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:64px 24px;text-align:center;color:var(--muted)}.forbidden-code{font-size:56px;font-weight:800;color:var(--border-strong);letter-spacing:-.02em}.forbidden h2{margin:0;font-size:18px;color:var(--text)}.forbidden p{margin:0;font-size:14px}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.form-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--muted)}.form-field input,.form-field textarea,.form-field select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px;min-width:150px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.btn-primary{padding:9px 16px;border:none;border-radius:8px;background:var(--brand);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{padding:6px 12px;border:1px solid var(--border-strong);border-radius:7px;background:var(--panel);color:var(--text);font-size:12px;font-weight:500;cursor:pointer}.btn-ghost:hover{background:var(--bg)}a.btn-ghost{display:inline-flex;align-items:center;text-decoration:none}.btn-danger{padding:9px 16px;border:none;border-radius:8px;background:#c0392b;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.field-code input{width:8rem}.field-num input{width:7rem;text-align:right}.field-color input{width:3rem;padding:2px}.input-narrow{width:8rem;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px}.field-otp input{max-width:10rem}.form-field.grow{flex:1}.form-actions{display:flex;gap:12px;margin-top:16px}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.program-card{border:1px solid var(--border-strong);border-left:4px solid var(--border-strong);border-radius:10px;padding:14px 16px;margin-bottom:12px}.program-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.program-toggle{display:flex;align-items:center;gap:7px}.program-actions{margin-left:auto;display:flex;gap:6px}.program-steps{margin-top:8px}.step-row{display:flex;align-items:center;gap:6px;margin-top:6px}.step-index{width:1.5rem;flex-shrink:0;opacity:.6}.step-input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px}.step-input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.secret-box{display:block;padding:10px 12px;margin-top:6px;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}.secret-box.key{font-size:1.15rem;letter-spacing:.05em}@media(max-width:900px){.layout{flex-direction:column}.sidebar{position:fixed;top:0;left:0;bottom:0;width:272px;max-width:84vw;height:auto;z-index:60;padding:16px 12px;gap:20px;overflow-y:auto;overscroll-behavior:contain;box-shadow:2px 0 16px #10182824;transform:translate(-100%);visibility:hidden;transition:transform .22s ease,visibility .22s}.sidebar.open{transform:none;visibility:visible}.nav-backdrop{display:block;position:fixed;inset:0;background:#10182859;z-index:55}.menu-btn{display:inline-flex}body.nav-open,body.overlay-open{overflow:hidden}.topbar{padding:12px 16px;flex-wrap:wrap;gap:10px}.content{padding:16px}}@media(min-width:601px)and (max-width:900px){.table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media(max-width:600px){.brand-text{display:none}.topbar h1{font-size:16px}.mobile-note{display:block}.hint-line{font-size:14px}.table .small{font-size:13px}.toolbar{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:3px 16px}.segmented button{white-space:nowrap}.topbar-right{width:100%}.kiosk-filter{flex:1;min-width:0}.kiosk-filter select,.kiosk-filter input{flex:1;min-width:0;width:100%}.form-row{flex-direction:column;align-items:stretch}.form-field input,.form-field select{min-width:0;width:100%}.form-field input,.form-field select,.login-field input,.kiosk-filter select,.kiosk-filter input,.step-input,.input-narrow{font-size:16px}.input-narrow{width:100%}.table td select{width:100%;min-height:var(--touch-target);padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font-size:16px}.step-row{flex-wrap:wrap;row-gap:6px}.step-row .btn-ghost{flex:1}.form-actions{position:sticky;bottom:0;z-index:5;margin:16px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border)}.form-actions .btn-primary,.form-actions .btn-ghost,.form-actions .btn-danger,.btn-row .btn-primary,.btn-row .btn-ghost,.btn-row .btn-danger{flex:1}.view iframe{height:60vh!important;height:60dvh!important}.table,.table tbody,.table tr,.table td{display:block}.table thead{display:none}.panel>.table{margin:0}.table tr{position:relative;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--panel)}.table tbody tr:last-child{margin-bottom:0}.table td,.table.compact td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:none;text-align:left;overflow-wrap:anywhere}.table td:before{content:attr(data-label);flex-shrink:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table td[data-label=İleti],.table td[data-label=Hedef]{flex-direction:column;align-items:flex-start;gap:2px}.table td:not([data-label]){display:block;text-align:center}.table td.empty{padding:18px 4px!important}.table tr.clickable{border-color:var(--border-strong);box-shadow:var(--shadow);padding-right:30px}.table tr.clickable:after{content:"›";position:absolute;top:8px;right:12px;color:var(--brand);font-size:22px;line-height:1}.table td[data-label=İşlem]{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}.table td[data-label=İşlem]:before{display:none}.table td[data-label=İşlem] .btn-ghost{flex:1;min-width:96px}.plate-thumb{height:44px;max-width:180px}.drawer{width:100%;max-width:100%;padding:18px 16px}.kv{grid-template-columns:1fr;gap:12px}}@media(hover:none)and (pointer:coarse){.nav-item,.logout-btn,.btn-primary,.btn-danger,.login-btn,.segmented button{min-height:var(--touch-target)}.btn-ghost{min-height:var(--touch-target);min-width:var(--touch-target)}.menu-btn,.icon-btn{width:var(--touch-target);height:var(--touch-target)}.form-field input,.form-field select,.login-field input,.kiosk-filter select,.kiosk-filter input{min-height:var(--touch-target)}.btn-ghost+.btn-ghost{margin-left:8px}.table td[data-label=İşlem] .btn-ghost+.btn-ghost{margin-left:0}.clickable:active,.nav-item:active,.btn-ghost:active{background:var(--bg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
