@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--bg:#f7f8fc;--card:#fff;--muted:#68718b;--text:#17203d;--soft:#f7f8fc;--accent:#377cf6;--accent2:#29bc8f;--danger:#e44150;--shadow:0 18px 55px rgba(20,36,95,.09);--radius:20px;--focus:0 0 0 4px rgba(55,124,246,.13);--sans:"Inter",system-ui,-apple-system,sans-serif}
body{background:#f7f8fc;font-family:var(--sans);font-size:14px;color:#17203d;line-height:1.52}
.app{max-width:1480px;padding:26px 24px 42px}
.topbar{background:linear-gradient(125deg,#0a1334,#172960 66%,#1b4088);border-radius:24px;padding:20px 24px;box-shadow:0 16px 40px rgba(10,19,52,.16);margin-bottom:20px;color:white;min-height:102px}
.topbar .brand{min-width:0}.brand .logo{height:58px;width:58px;border-radius:17px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.19)}
.brand h1{font-family:Manrope, sans-serif;font-size:19px;font-weight:800;letter-spacing:-.25px}.brand p{color:#d1dfff;font-size:12px;margin-top:5px}.odyo-brand-name{letter-spacing:1.7px}.odyo-brand-label{font-size:11px;letter-spacing:1.6px;display:inline-block;background:#f04452;padding:6px 9px;border-radius:8px;vertical-align:middle;margin-left:7px}
.topbar .pill{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2);box-shadow:none;padding:11px 16px}.topbar .pill small{color:#d1dfff}.topbar .pill .dot{background:#73e7bb}
.grid{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:20px}
.sidebar,.content{border-radius:23px;background:#fff;border:1px solid #e5e8f1;box-shadow:var(--shadow);backdrop-filter:none}.sidebar{padding:16px;top:16px}.content{min-width:0;padding:25px;min-height:calc(100vh - 225px)}
.sidebar>.row:first-child{padding:6px 7px}.nav{margin-top:13px;gap:5px}.nav button{border-radius:12px;font-size:13px;font-weight:600;min-height:48px;padding:11px 13px;transition:background .16s,border-color .16s}.nav button.active{background:#eef3ff;border:1px solid #cbdafd;color:#14245f}.nav button:hover{background:#f4f7fe}.nav .meta{font-size:10px;white-space:nowrap}
.btn{border-radius:11px;box-shadow:none;padding:11px 15px;font-family:inherit;transition:background .2s,transform .2s}.btn.primary{background:#f04452;border-color:#f04452;color:#fff;box-shadow:0 7px 20px rgba(240,68,82,.15)}.btn.primary:hover{background:#d93646}.btn.danger{color:#d93646;border-color:#f5d6dc}.btn.ghost{background:#eef3ff;color:#14245f}
.badge{background:#f5f7fd;border:1px solid #e5e8f1;color:#68718b}.card{border-radius:18px;border-color:#e5e8f1;padding:20px;box-shadow:0 5px 22px rgba(10,19,52,.035)}.section-title{align-items:center;margin:4px 0 18px;flex-wrap:wrap}.section-title h2{font:800 21px/1.35 Manrope,sans-serif;letter-spacing:-.5px;color:#14245f}.section-title p{margin-top:5px;font-size:13px}
.kpi{gap:13px;margin:18px 0 20px}.kpi .k{border-radius:17px;background:linear-gradient(135deg,#f8faff,#fff);border:1px solid #e7eaf5;padding:21px}.k .value{font:800 29px/1.2 Manrope,sans-serif;color:#14245f}.k .label{font-size:12px;font-weight:600}.k .sub{font-size:11px}.table{border-radius:13px;border:1px solid #e5e8f1;min-width:580px}.table th,.table td{padding:14px 13px;border-bottom:1px solid #edf0f6}.table th{background:#f7f8fc;color:#68718b;font-weight:700}
.input,select,textarea{font:inherit;background:#fff;border:1px solid #dce2ed;border-radius:11px;padding:12px 13px}.input:focus,select:focus,textarea:focus{border-color:#377cf6;outline:none;box-shadow:var(--focus)}.field label{font-size:12px;font-weight:700;color:#35415f}
.modal{border-radius:22px;box-shadow:0 30px 90px rgba(9,17,53,.24)}.modal-header h2{font:800 21px Manrope,sans-serif;color:#14245f}.modal .card{box-shadow:none;background:#fbfcff}.wide-field{grid-column:1 / -1}.qblock{border-radius:15px}.hint{border-radius:13px}
/* Tablolar telefonda yatay kaydırılabilir; ana görünüm taşmaz. */
.content>section .card:has(.table),.two-col>.card:has(.table){overflow-x:auto}
@media(max-width:1000px){.grid{grid-template-columns:1fr}.sidebar{position:static}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.content{padding:21px;min-height:450px}.kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.app{padding:12px}.topbar{border-radius:18px;padding:15px;align-items:flex-start;min-height:unset}.brand .logo{width:46px;height:46px}.brand .logo img{width:32px}.brand h1{font-size:15px}.brand p{font-size:10px}.odyo-brand-label{font-size:9px;padding:4px 6px}.topbar .pill{padding:5px 9px;font-size:10px;max-width:130px}.topbar .pill .dot{display:none}.topbar .pill small{font-size:9px}.sidebar{padding:11px;border-radius:16px}.nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.nav button{font-size:12px;padding:9px 8px;min-height:44px}.nav .meta{display:none}.sidebar .card{display:none}.content{padding:15px;border-radius:17px}.section-title h2{font-size:19px}.kpi{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.table{min-width:620px}.card{padding:14px}.modal{width:calc(100vw - 22px);max-width:100%;padding:13px}.modal-backdrop{padding:8px}}
/* Odyoflix şifresiz giriş */
.login-page{margin:0;min-height:100dvh;background:#f7f8fc;display:flex;flex-direction:column;color:#17203d}
.auth-container{width:min(1080px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:28px;box-shadow:0 25px 90px rgba(12,21,59,.12);overflow:hidden;min-height:610px;border:1px solid #e5e8f1}
.auth-visual{background:linear-gradient(148deg,#0a1334 0%,#14245f 57%,#1b3d85 100%);padding:42px 40px;display:flex;flex-direction:column;justify-content:space-between;color:white;position:relative;overflow:hidden}.auth-visual:before{content:"";position:absolute;width:370px;height:370px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-170px;bottom:-150px;box-shadow:0 0 0 75px rgba(55,124,246,.035),0 0 0 150px rgba(255,255,255,.025)}.auth-visual>*{z-index:1}.auth-mark{display:flex;align-items:center;gap:13px}.auth-mark>img{padding:8px;width:60px;height:60px;border-radius:17px;background:rgba(255,255,255,.12)}.auth-mark>div{display:flex;flex-direction:column;line-height:1.3}.auth-mark strong{font:800 23px Manrope,sans-serif;letter-spacing:2px}.auth-mark span{font-size:11px;letter-spacing:2.4px;color:#b4d0ff;font-weight:800}.auth-pitch h1{font:800 clamp(32px,4vw,43px)/1.17 Manrope,sans-serif;letter-spacing:-1.8px;margin:19px 0}.auth-eyebrow{font-size:11px;color:#82b6ff;letter-spacing:2.3px;font-weight:800}.auth-pitch p{font-size:14px;color:#cbd7f1;line-height:1.85;max-width:385px}.auth-benefits{display:grid;gap:14px;margin-top:38px;font-size:13px;font-weight:600}.auth-symbol{display:inline-grid;place-items:center;background:rgba(255,255,255,.13);border-radius:8px;width:29px;height:29px;margin-right:8px;color:#85b9ff}.auth-visual-foot{color:#aebee1;font-size:11px}.auth-form-side{display:grid;place-items:center;padding:40px 42px}.auth-box{width:100%;max-width:370px}.auth-mini-logo{display:flex;align-items:center;gap:9px;margin-bottom:30px;color:#14245f;font:800 16px Manrope,sans-serif;letter-spacing:1px}.auth-mini-logo b{color:#f04452}.auth-mini-logo img{width:40px;height:40px;background:#eef3ff;padding:6px;border-radius:10px}.auth-label{font-weight:800;color:#f04452;letter-spacing:2px;font-size:10px}.auth-box h2{font:800 27px/1.3 Manrope,sans-serif;letter-spacing:-.9px;margin:11px 0}.auth-subtitle{font-size:13px;color:#68718b;line-height:1.7;margin:0 0 27px}.auth-fields{display:grid;gap:10px}.auth-fields label{font-weight:700;font-size:12px;color:#263350;margin:3px 0 0}.auth-fields input{width:100%;border:1px solid #dbe1ee;border-radius:12px;background:#fff;padding:14px;font:inherit;font-size:14px;outline:none}.auth-fields input:focus{border-color:#377cf6;box-shadow:0 0 0 4px rgba(55,124,246,.13)}.auth-submit{display:flex;justify-content:space-between;align-items:center;background:#f04452;color:white;border:0;border-radius:12px;margin-top:10px;padding:15px 18px;font:800 13px Inter,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(240,68,82,.18)}.auth-submit:hover{background:#d93646}.auth-alternatives{display:flex;align-items:center;gap:12px;margin:25px 0 17px;font-size:10px;font-weight:800;letter-spacing:1px;color:#a3acc0}.auth-alternatives:before,.auth-alternatives:after{content:"";height:1px;flex:1;background:#e4e9f1}.auth-switch{display:flex;gap:9px;flex-wrap:wrap}.auth-secondary{display:inline-block;background:#f3f6fc;border:1px solid #e1e8f2;padding:10px 14px;border-radius:11px;text-decoration:none;color:#14245f;font-size:12px;font-weight:700}.auth-personel{margin-top:18px;display:flex;align-items:center;gap:12px;text-decoration:none;background:#f5f8ff;border:1px solid #dce7ff;border-radius:13px;padding:14px;color:#14245f}.auth-personel>span:first-child{display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:10px;background:#e2ebff;font-weight:800;color:#377cf6}.auth-personel strong{font-size:12px;display:block}.auth-personel small{display:block;color:#68718b;font-size:10px;margin-top:3px}.auth-security,.auth-help{font-size:11px;color:#8590a8;margin-top:16px}.auth-help a{color:#377cf6}.auth-alert{padding:12px 14px;border-radius:12px;font-size:12px;margin-bottom:18px}.auth-alert.error{background:#fff0f0;color:#b82f40;border:1px solid #f6cbd1}.auth-alert.success{background:#ecfdf5;color:#11613f;border:1px solid #c2eed9}.tarama-footer{text-align:center;padding:14px 20px 20px;color:#68718b;font-size:12px}.tarama-footer a{font-weight:700;text-decoration:none;color:#14245f}
@media(max-width:800px){.auth-container{grid-template-columns:1fr;margin:16px auto;border-radius:19px;min-height:0}.auth-visual{padding:24px;min-height:0}.auth-pitch h1{font-size:27px;margin:13px 0 6px}.auth-pitch p{font-size:12px;line-height:1.6}.auth-benefits,.auth-visual-foot{display:none}.auth-form-side{padding:27px 23px 35px}.auth-box{max-width:480px}.auth-mini-logo{margin-bottom:18px}}
@media(max-width:400px){.auth-container{width:calc(100% - 16px);margin:8px auto}.auth-form-side{padding:23px 18px}.auth-visual{padding:19px}.auth-mark strong{font-size:19px}}

/* V34 · Raporları tam genişlikte dikey göster */
#view-management .report-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;width:100%}
#view-management .report-stack>.card{min-width:0;width:100%;overflow-x:auto}
#view-management .report-stack .table{width:100%}
/* Oturum: güvenli şifre değiştirme */
.password-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.password-form-grid .field{min-width:0}
.password-form-grid .input{width:100%;box-sizing:border-box}
.password-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
.password-actions #passwordChangeStatus{font-size:12px}
.password-actions .btn:disabled{opacity:.55;cursor:wait}
@media(max-width:900px){.password-form-grid{grid-template-columns:1fr}}
