*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6fb;color:#1f2937}a{color:#2563eb;text-decoration:none}.topbar{height:62px;background:#111827;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 24px}.brand a{color:#fff;font-weight:700;font-size:20px}.user a{color:#93c5fd;margin-left:12px}.layout{display:flex;min-height:calc(100vh - 62px)}.sidebar{width:240px;background:#fff;border-right:1px solid #e5e7eb;padding:16px}.sidebar a{display:block;padding:12px 14px;border-radius:10px;color:#374151;margin-bottom:6px}.sidebar a:hover{background:#eef2ff}.content{flex:1;padding:24px;overflow:auto}.public{max-width:460px;margin:60px auto;padding:24px}.login-box,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.06);margin-bottom:20px}.login-box h2{margin-top:0}label{display:block;font-size:13px;font-weight:700;margin:10px 0 6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff;font-size:14px}button,.button{display:inline-block;border:0;background:#2563eb;color:#fff;padding:11px 16px;border-radius:10px;font-weight:700;cursor:pointer;margin-top:10px}.button.secondary,button.secondary{background:#6b7280}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.card span{display:block;color:#6b7280;font-size:13px}.card strong{font-size:32px;display:block;margin-top:8px}.danger-card strong{color:#dc2626}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:end}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{min-width:160px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#6b7280;background:#f9fafb}.badge{display:inline-block;background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.badge.good{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.alert-success{background:#dcfce7;color:#166534}.alert-danger{background:#fee2e2;color:#991b1b}.link-danger{color:#dc2626}.big-input{font-size:24px;padding:18px}.big-button{font-size:22px;padding:18px 24px;width:100%;background:#16a34a}.scan-screen{max-width:820px}.scan-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:12px}.muted{color:#6b7280;margin:12px 0}.result{padding:18px;border-radius:14px;margin-top:16px;font-size:18px}.result.success{background:#dcfce7;color:#166534}.result.error{background:#fee2e2;color:#991b1b}code{background:#f3f4f6;padding:3px 6px;border-radius:6px}@media(max-width:760px){.layout{display:block}.sidebar{width:100%;border-right:0;border-bottom:1px solid #e5e7eb}.content{padding:16px}.scan-actions{grid-template-columns:1fr}.topbar{padding:0 12px}}
.notice{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.mobile-body{background:#eef2ff}.mobile-topbar{height:58px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.mobile-topbar a{color:#bfdbfe}.mobile-content{max-width:760px;margin:0 auto;padding:16px}.mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);margin-bottom:16px}.scan-card{border:2px solid #bfdbfe}.qr-video{display:none;width:100%;max-height:320px;background:#111827;border-radius:14px;margin-top:14px}.kiosk-screen{max-width:980px;margin:0 auto}.kiosk-screen h2{font-size:32px}.kiosk-input{font-size:30px;padding:22px;border-radius:16px}.kiosk-screen label{font-size:18px;margin-top:18px}.kiosk-screen .big-button{font-size:28px;padding:24px}.mini-actions{display:flex;gap:8px;flex-wrap:wrap}.status-new{background:#dbeafe;color:#1d4ed8}.status-approved,.status-active{background:#dcfce7;color:#166534}.status-rejected,.status-passive{background:#fee2e2;color:#991b1b}.status-pending{background:#fef3c7;color:#92400e}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.textarea-large{min-height:120px}@media(max-width:760px){.kiosk-input{font-size:22px;padding:16px}.two-col{grid-template-columns:1fr}.mobile-content{padding:12px}.mobile-card{padding:14px}}

/* v3 QR kamera okuyucu duzeltmeleri */
.qr-reader {
    width: 100%;
    max-width: 420px;
    margin: 16px auto;
    background: #fff;
    border: 1px solid #d8dee8;
    border-radius: 14px;
    padding: 10px;
    display: none;
}
.qr-reader video,
.qr-reader canvas {
    border-radius: 10px;
}
.qr-video {
    width: 100%;
    max-width: 420px;
    margin: 16px auto;
    border-radius: 14px;
    display: none;
    background: #000;
}
