/* OkumaPro V7 · App UX / Öğrenme Doğrulama görsel sistemi */
:root{
  --v7-blue:#2563eb;--v7-sky:#0ea5e9;--v7-cyan:#06b6d4;--v7-green:#16a34a;
  --v7-mint:#10b981;--v7-orange:#f97316;--v7-amber:#f59e0b;--v7-purple:#7c3aed;
  --v7-pink:#db2777;--v7-red:#dc2626;--v7-ink:#0f172a;--v7-muted:#64748b;
  --v7-surface:#fff;--v7-bg:#f4f7fb;--v7-radius:24px;--v7-shadow:0 18px 48px rgba(15,23,42,.10);
}
html{scroll-behavior:smooth} body{background:linear-gradient(180deg,#f8fbff 0,#f3f6fb 100%)}
.uygulama-ana-icerik{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
.v7-page-hero{border-radius:28px;padding:24px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:var(--v7-shadow);position:relative;overflow:hidden}
.v7-page-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-110px;background:rgba(255,255,255,.14)}
.v7-page-hero>*{position:relative;z-index:1}.v7-page-hero h1,.v7-page-hero h2{font-weight:900;margin:0}.v7-page-hero p{opacity:.9;margin:.35rem 0 0}
.v7-card{background:#fff;border:1px solid #e8eef6;border-radius:24px;box-shadow:0 12px 30px rgba(15,23,42,.07);overflow:hidden}
.v7-card-hover{transition:transform .22s ease,box-shadow .22s ease}.v7-card-hover:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.12)}
.v7-gradient-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important}.v7-gradient-purple{background:linear-gradient(135deg,#9b6df4,#6d28d9)!important}.v7-gradient-orange{background:linear-gradient(135deg,#ffb347,#f97316)!important}.v7-gradient-green{background:linear-gradient(135deg,#5ec66a,#2f9142)!important}.v7-gradient-cyan{background:linear-gradient(135deg,#38bdf8,#0284c7)!important}.v7-gradient-pink{background:linear-gradient(135deg,#f472b6,#be185d)!important}
.v7-app-card{color:#fff;border:0!important;border-radius:24px!important;box-shadow:0 7px 0 rgba(15,23,42,.20),0 16px 28px rgba(15,23,42,.13)!important;transition:.2s ease;overflow:hidden;position:relative}.v7-app-card:hover{transform:translateY(-4px)}.v7-app-card:active{transform:translateY(3px);box-shadow:0 3px 0 rgba(15,23,42,.18)!important}.v7-app-card:after{content:"";position:absolute;right:-32px;bottom:-48px;width:145px;height:145px;border-radius:50%;background:rgba(255,255,255,.12)}
.v7-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .8rem;border-radius:999px;font-weight:800;font-size:.82rem;background:#eff6ff;color:#1d4ed8}
.v7-status-good{background:#dcfce7;color:#166534}.v7-status-warn{background:#fef3c7;color:#92400e}.v7-status-bad{background:#fee2e2;color:#991b1b}.v7-status-info{background:#e0f2fe;color:#075985}
.v7-btn{min-height:46px;border:0;border-radius:16px;font-weight:800;padding:.72rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.18s ease}.v7-btn:active{transform:scale(.98)}.v7-btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 7px 16px rgba(37,99,235,.22)}.v7-btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.v7-btn-soft{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.v7-btn-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#4a2b00}
.v7-learning-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v7-learning-step{padding:14px;border-radius:18px;background:#fff;border:1px solid #e7edf5;text-align:center}.v7-learning-step b{display:block;color:#0f172a}.v7-learning-step i{font-size:1.5rem;margin-bottom:.35rem;display:block}
.v7-check-card{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #dbeafe;border-radius:20px;padding:16px}.v7-check-card textarea{min-height:92px;border-radius:16px;border:2px solid #dbeafe;padding:13px;resize:vertical}.v7-check-card textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.v7-timer-hint{font-weight:800;color:#475569;font-size:.88rem}.v7-timer-hint strong{color:#2563eb}
/* Bootstrap modal -> masaüstünde premium dialog, mobilde native bottom sheet */
.modal-content{border:0!important;border-radius:28px!important;box-shadow:0 28px 80px rgba(15,23,42,.22)!important}.modal-header{border-bottom:1px solid #eef2f7!important}.modal-footer{border-top:1px solid #eef2f7!important}.modal .btn-close{width:38px;height:38px;border-radius:50%;background-color:#fff;opacity:1;box-shadow:0 5px 16px rgba(15,23,42,.12)}
.modal .form-control,.modal .form-select{min-height:46px;border-radius:14px;border-color:#dbe3ee}.modal .btn{min-height:44px}
@media(max-width:767.98px){
 body{overscroll-behavior-y:none}.uygulama-ana-icerik{padding-left:12px!important;padding-right:12px!important}
 .modal{padding:0!important}.modal-dialog{margin:0!important;max-width:none!important;width:100%!important;min-height:100%;display:flex!important;align-items:flex-end!important}
 .modal-dialog-centered{min-height:100%!important}.modal-content{width:100%!important;max-height:92dvh!important;border-radius:26px 26px 0 0!important;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
 .modal-content:before{content:"";display:block;width:44px;height:5px;background:#cbd5e1;border-radius:999px;margin:9px auto 0;flex:0 0 auto}
 .modal-body{overflow:auto;-webkit-overflow-scrolling:touch;padding:18px!important}.modal-header{padding:14px 18px!important;position:sticky;top:0;background:#fff;z-index:6}.modal-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))!important;position:sticky;bottom:0;background:#fff;z-index:6}
 .modal-fullscreen-sm-down .modal-content{max-height:100dvh!important;border-radius:0!important}
 .v7-learning-guide{grid-template-columns:repeat(2,1fr)}.v7-page-hero{border-radius:22px;padding:18px}.v7-btn{width:100%}
 .rol-hizli-gecis{padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(max-width:430px){.v7-learning-guide{grid-template-columns:1fr 1fr}.v7-learning-step{padding:10px;font-size:.78rem}}
/* Öğrenci paneli */
.ogrenci-paneli-kabugu{max-width:1500px;margin:0 auto}.ogrenci-paneli-kabugu .action-btn{border-radius:22px!important;min-height:132px!important;overflow:hidden;position:relative;box-shadow:0 7px 0 rgba(15,23,42,.16),0 15px 25px rgba(15,23,42,.10)!important}.ogrenci-paneli-kabugu .action-btn h3{font-weight:900}.ogrenci-paneli-kabugu .action-btn>i:last-child{position:absolute;right:16px;bottom:-12px;font-size:5.8rem;opacity:.15}
.ogrenci-paneli-kabugu .v7-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px}.ogrenci-paneli-kabugu .v7-quick-item{padding:14px 9px;border-radius:19px;background:#fff;border:1px solid #e6edf5;box-shadow:0 8px 20px rgba(15,23,42,.06);text-decoration:none;color:#334155;text-align:center;font-weight:800;min-height:98px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.ogrenci-paneli-kabugu .v7-quick-item i{font-size:1.55rem}.ogrenci-paneli-kabugu .v7-quick-item:hover{transform:translateY(-3px)}
@media(max-width:767.98px){.ogrenci-paneli-kabugu .v7-quick-grid{grid-template-columns:repeat(5,1fr);gap:7px}.ogrenci-paneli-kabugu .v7-quick-item{min-width:0;min-height:76px;padding:8px 3px;border-radius:15px;font-size:.68rem}.ogrenci-paneli-kabugu .v7-quick-item i{font-size:1.25rem}.ogrenci-paneli-kabugu .magic-card-3d{min-height:168px!important;border-radius:23px!important}.ogrenci-paneli-kabugu .row.g-4.mb-5{--bs-gutter-y:.85rem;margin-bottom:1.4rem!important}.ogrenci-paneli-kabugu .book-pop-out{width:72px!important;height:100px!important}.ogrenci-paneli-kabugu .word-text-glow{font-size:2rem!important}}
/* Araçlar: canlı uygulama kartları */
.araclar-grid .tool-card,.tool-grid .tool-card,.arac-karti{border:0!important;border-radius:22px!important;box-shadow:0 8px 0 rgba(15,23,42,.14),0 16px 28px rgba(15,23,42,.10)!important;overflow:hidden;transition:.2s ease}.araclar-grid .tool-card:hover,.tool-grid .tool-card:hover,.arac-karti:hover{transform:translateY(-4px)}
/* Öğretmen çalışma alanları */
.v7-teacher-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v7-kpi{padding:18px;border-radius:22px;background:#fff;border:1px solid #e6edf5;box-shadow:0 10px 25px rgba(15,23,42,.06)}.v7-kpi .num{font-size:2rem;font-weight:900}.v7-kpi small{color:#64748b;font-weight:700}
@media(max-width:900px){.v7-teacher-kpi{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.v7-teacher-kpi{grid-template-columns:1fr 1fr}.v7-kpi{padding:13px}.v7-kpi .num{font-size:1.5rem}}

/* V7.2 ek mobil/PWA iyileştirmeleri */
.v7-book-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v7-book-guide>div{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:11px;min-width:0}.v7-book-guide span{width:27px;height:27px;border-radius:9px;background:#dcfce7;color:#15803d;display:grid;place-items:center;font-weight:900;margin-bottom:7px}.v7-book-guide strong,.v7-book-guide small{display:block}.v7-book-guide strong{font-size:.84rem;color:#0f172a}.v7-book-guide small{font-size:.7rem;color:#64748b;margin-top:3px;line-height:1.3}
.text-purple{color:#7c3aed!important}
#bookDetailModal .modal-content{background:#fff}#bookDetailModal img{width:min(190px,52vw);aspect-ratio:2/3;object-fit:cover}#bookDetailModal .v7-btn{white-space:normal;text-align:center}
.v7-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:145px;border:2px dashed #93c5fd;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#fff);padding:20px;text-align:center;cursor:pointer;transition:.2s}.v7-upload-dropzone:hover,.v7-upload-dropzone.is-dragging{border-color:#7c3aed;background:#f5f3ff;transform:translateY(-2px)}.v7-upload-dropzone.has-file{border-color:#10b981;background:#ecfdf5}.v7-upload-dropzone i{font-size:2rem;color:#2563eb}.v7-upload-file-name{font-size:.78rem;color:#64748b;margin-top:5px;word-break:break-all}
@media(max-width:767.98px){.v7-book-guide{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.v7-book-guide>div{min-width:190px;scroll-snap-align:start}.v7-book-guide::-webkit-scrollbar{display:none}#bookDetailModal .row.g-0{display:block}#bookDetailModal .col-12.col-md-4{padding:18px!important;min-height:220px}#bookDetailModal .col-12.col-md-8{padding:18px!important}#bookDetailModal h2{font-size:1.35rem}.v7-onboarding-modal{border-radius:26px 26px 0 0!important}.v7-upload-table thead{display:none}.v7-upload-table,.v7-upload-table tbody,.v7-upload-table tr,.v7-upload-table td{display:block;width:100%}.v7-upload-table tr{border:1px solid #e2e8f0;border-radius:18px;margin-bottom:12px;padding:11px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05)}.v7-upload-table td{border:0!important;padding:.38rem .45rem!important;display:flex!important;justify-content:space-between;gap:12px;text-align:right}.v7-upload-table td:before{font-weight:900;color:#64748b;text-align:left}.v7-upload-table td:nth-child(1):before{content:'Çalışma'}.v7-upload-table td:nth-child(2):before{content:'Sınıf'}.v7-upload-table td:nth-child(3):before{content:'Kaynak'}.v7-upload-table td:nth-child(4):before{content:'Onay'}.v7-upload-table td:nth-child(5):before{content:'Yayın'}.v7-upload-table td:nth-child(6):before{content:'İşlem'}.v7-upload-table td:first-child{display:block!important;text-align:left}.v7-upload-table td:first-child:before{display:none}.v7-upload-table td:last-child form{margin-left:auto}}

/* OkumaPro V8 - öğrenci uygulama hissi ve doğrulama geri bildirimi */
.v8-learning-result{display:flex;align-items:flex-start;gap:12px;border-radius:18px;padding:13px 14px;font-size:.9rem;line-height:1.45;border:1px solid transparent;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.v8-learning-result .v8-result-icon{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:rgba(255,255,255,.8)}
.v8-result-success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.v8-result-warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.v8-result-danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.v8-result-info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
.v7-btn:disabled{opacity:.58;filter:saturate(.75);cursor:not-allowed;box-shadow:none!important}
.v8-shortcut-strip{display:flex;gap:11px;overflow-x:auto;padding:7px 8px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.v8-shortcut-strip::-webkit-scrollbar{display:none}
.v8-shortcut{min-width:72px;width:72px;display:flex;flex-direction:column;align-items:center;gap:6px;scroll-snap-align:start;color:#475569;transition:transform .18s ease}.v8-shortcut:active{transform:scale(.94)}
.v8-shortcut-icon{width:56px;height:56px;border-radius:17px;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 6px 14px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.8)}
.v8-shortcut-label{font:800 .68rem/1.08 'Nunito',sans-serif;text-align:center;color:#64748b;min-height:24px;display:flex;align-items:flex-start;justify-content:center}
.v8-shortcut-badge{position:absolute;top:-4px;right:-3px;z-index:2;color:#fff;border:2px solid #fff;border-radius:999px;padding:2px 6px;font:900 .48rem/1 'Nunito',sans-serif;box-shadow:0 3px 7px rgba(15,23,42,.15)}
@media(min-width:992px){.v8-shortcut-strip{overflow:visible;flex-wrap:wrap;justify-content:center;gap:15px}.v8-shortcut{width:82px;min-width:82px}.v8-shortcut-icon{width:62px;height:62px;border-radius:19px;font-size:1.75rem}.v8-shortcut-label{font-size:.75rem}}
@media(max-width:767.98px){.modal[data-v7-learning-modal] .modal-dialog{align-items:flex-end;min-height:100%;margin:0}.modal[data-v7-learning-modal] .modal-content{border-radius:24px 24px 0 0;max-height:92dvh;overflow:auto;padding-bottom:env(safe-area-inset-bottom)}.modal[data-v7-learning-modal] .modal-content:before{content:'';display:block;width:42px;height:5px;border-radius:99px;background:#cbd5e1;margin:9px auto -2px}.v7-check-card textarea{font-size:16px}.v8-shortcut-strip{margin-left:-6px;margin-right:-6px}}

/* ================================================================
   OKUMAPRO V8 · ÖĞRENCİ MODALLARI / OYUN ARŞİVİ / KİTAP KURDU
   ================================================================ */
#gamesFolderModal .modal-content,
#bookModal .modal-content,
#bookDetailModal .modal-content {
    border: 0;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .24);
}
#gamesFolderModal .modal-body { background: linear-gradient(180deg,#f8fbff 0%,#f5f7ff 100%); }
#gamesFolderModal .nav-pills {
    display:flex; flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain;
    scrollbar-width:none; -webkit-overflow-scrolling:touch; gap:.55rem; padding:.25rem;
}
#gamesFolderModal .nav-pills::-webkit-scrollbar{display:none}
#gamesFolderModal .nav-link{min-height:48px; white-space:nowrap; border-radius:16px; font-weight:800; padding:.7rem 1rem}
#gamesFolderModal .game-card-3d{min-height:142px; touch-action:manipulation}
#bookModal .modal-footer .btn,
#bookModal .v7-btn,
#bookDetailModal .v7-btn{min-height:50px;border-radius:16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
#bookModal input,#bookModal select,#bookModal textarea{font-size:16px}

@media (max-width: 767.98px){
  #gamesFolderModal,
  #bookModal,
  #bookDetailModal{padding:0!important}
  #gamesFolderModal .modal-dialog,
  #bookModal .modal-dialog,
  #bookDetailModal .modal-dialog{
      margin:auto 0 0!important; width:100%; max-width:none; min-height:0;
      display:flex; align-items:flex-end;
  }
  #gamesFolderModal .modal-content,
  #bookModal .modal-content,
  #bookDetailModal .modal-content{
      width:100%; max-height:94dvh; border-radius:26px 26px 0 0;
      padding-bottom:max(.25rem,env(safe-area-inset-bottom));
  }
  #gamesFolderModal .modal-content::before,
  #bookModal .modal-content::before,
  #bookDetailModal .modal-content::before{
      content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);
      width:46px;height:5px;border-radius:99px;background:rgba(255,255,255,.6);z-index:20
  }
  #bookModal .modal-content::before,#bookDetailModal .modal-content::before{background:#cbd5e1}
  #gamesFolderModal .modal-header{padding:1.4rem 1rem .9rem!important}
  #gamesFolderModal .modal-title{font-size:1.25rem!important;line-height:1.2}
  #gamesFolderModal .modal-body{padding:1rem!important;overflow-y:auto;-webkit-overflow-scrolling:touch}
  #gamesFolderModal .game-card-3d{min-height:122px;border-radius:20px;padding:.8rem!important}
  #gamesFolderModal .game-app-icon{width:56px!important;height:56px!important;border-radius:18px!important;font-size:1.55rem!important}
  #gamesFolderModal .game-card-title{font-size:.88rem;line-height:1.15}
  #gamesFolderModal .row.g-4{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
  #bookModal .modal-body,#bookDetailModal .modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem!important}
  #bookModal .modal-header,#bookDetailModal .modal-header{padding:1.15rem 1rem .8rem}
  #bookModal .modal-footer{padding:.75rem 1rem max(1rem,env(safe-area-inset-bottom));gap:.55rem}
  #bookModal .modal-footer>*{width:100%;margin:0}
}
@media (max-width: 420px){
  #gamesFolderModal .col-6{width:50%}
  #gamesFolderModal .nav-link{font-size:.82rem;padding:.65rem .8rem}
}
.v8-game-reward-banner{background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-radius:22px;padding:16px 18px;box-shadow:0 10px 24px rgba(245,158,11,.08)}
@media(max-width:767.98px){.v8-game-reward-banner{padding:14px;border-radius:18px}.v8-game-reward-banner .v7-btn{width:100%;min-height:48px}}
