/* Testim Hazir Egitim Yonetim Arayuzu V3.1 — clean education portal design */
:root{
  --thp-bg:#f2f4f7;--thp-card:#fff;--thp-navy:#1c3550;--thp-navy2:#294866;--thp-red:#e76d68;--thp-red2:#d85d58;
  --thp-text:#233348;--thp-muted:#748092;--thp-line:#e1e6ec;--thp-soft:#f8fafc;--thp-green:#1c8f6d;--thp-amber:#bd7a16;
  --thp-radius:18px;--thp-shadow:0 8px 24px rgba(28,53,80,.065);--thp-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:18px!important;background:var(--thp-bg)}
body.th-portal-v31{margin:0!important;min-height:100vh!important;background:var(--thp-bg)!important;color:var(--thp-text)!important;font-family:var(--thp-font)!important;font-size:18px!important;line-height:1.5!important;padding:0!important}
body.th-portal-v31::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#f7f8fa 0,#f1f4f7 100%)}
body.th-portal-v31 a{color:inherit}
body.th-portal-v31 h1{font-size:clamp(30px,3vw,40px)!important;line-height:1.15!important;letter-spacing:-.6px!important;color:var(--thp-navy)!important;font-weight:850!important}
body.th-portal-v31 h2{font-size:26px!important;line-height:1.2!important;color:var(--thp-navy)!important;font-weight:800!important}
body.th-portal-v31 h3{font-size:22px!important;color:var(--thp-navy)!important;font-weight:800!important}
body.th-portal-v31 p,body.th-portal-v31 .muted,body.th-portal-v31 small{font-size:16px!important;line-height:1.55!important}
body.th-portal-v31 .muted,body.th-portal-v31 small{color:var(--thp-muted)!important}

/* App shell injected by JS */
.thp-shellbar{position:sticky;top:0;z-index:9997;background:var(--thp-navy);color:#fff;border-bottom:4px solid var(--thp-red);box-shadow:0 4px 16px rgba(28,53,80,.11)}
.thp-shellbar-inner{max-width:1440px;margin:auto;min-height:78px;padding:10px 22px;display:flex;align-items:center;gap:18px}
.thp-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;font-size:23px;white-space:nowrap}
.thp-brand-mark{width:42px;height:42px;border-radius:13px;background:var(--thp-red);display:grid;place-items:center;font-size:22px;box-shadow:inset 0 -2px rgba(0,0,0,.08)}
.thp-brand b{color:#fff}.thp-brand em{font-style:normal;color:#ffaaa5}
.thp-shell-spacer{flex:1}
.thp-shellnav{display:flex;gap:7px;align-items:center;overflow-x:auto;scrollbar-width:none}
.thp-shellnav::-webkit-scrollbar{display:none}
.thp-shellnav a{color:#eef5fb!important;text-decoration:none!important;padding:11px 14px;border-radius:11px;font-size:15px;font-weight:750;white-space:nowrap;border:1px solid transparent}
.thp-shellnav a:hover,.thp-shellnav a.active{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15)}
.thp-user-pill{background:#fff;color:var(--thp-navy);padding:10px 14px;border-radius:13px;font-weight:800;font-size:14px;white-space:nowrap}

/* Main page width */
body.th-portal-v31>:not(.thp-shellbar):not(script):not(style){max-width:1440px;margin-left:auto!important;margin-right:auto!important}
body.th-portal-v31>.header,body.th-portal-v31>.card,body.th-portal-v31>.grid,body.th-portal-v31>.announce,body.th-portal-v31>.tb-dashboard-v2,body.th-portal-v31>.container,body.th-portal-v31>.page,body.th-portal-v31>main{width:calc(100% - 36px)!important}

/* Cards */
body.th-portal-v31 .card,body.th-portal-v31 .item,body.th-portal-v31 .header,body.th-portal-v31 .announce,body.th-portal-v31 .panel,body.th-portal-v31 .box,body.th-portal-v31 .section,
body.th-portal-v31 [class*="card"]{background:var(--thp-card)!important;border:1px solid var(--thp-line)!important;border-radius:var(--thp-radius)!important;box-shadow:var(--thp-shadow)!important}
body.th-portal-v31 .card,body.th-portal-v31 .header,body.th-portal-v31 .panel,body.th-portal-v31 .section{padding:22px!important}
body.th-portal-v31 .item{padding:16px 18px!important}

/* Controls */
body.th-portal-v31 button,body.th-portal-v31 .btn,body.th-portal-v31 a.btn,body.th-portal-v31 input[type=submit]{min-height:52px!important;border-radius:12px!important;padding:12px 18px!important;font-size:16px!important;font-weight:800!important;letter-spacing:0!important;cursor:pointer!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px solid transparent!important;background:var(--thp-navy)!important;color:#fff!important;box-shadow:none!important}
body.th-portal-v31 button:hover,body.th-portal-v31 .btn:hover{filter:brightness(1.05)}
body.th-portal-v31 .btn.sec,body.th-portal-v31 .btn.success{background:var(--thp-green)!important}
body.th-portal-v31 .btn.danger,body.th-portal-v31 button.danger{background:var(--thp-red)!important}
body.th-portal-v31 .btn.gray,body.th-portal-v31 .btn.secondary,body.th-portal-v31 .back{background:#fff!important;color:var(--thp-navy)!important;border-color:var(--thp-line)!important}
body.th-portal-v31 .btn.orange,body.th-portal-v31 .btn.gold{background:var(--thp-amber)!important}
body.th-portal-v31 input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.th-portal-v31 select,body.th-portal-v31 textarea{min-height:54px!important;width:100%;background:#fff!important;color:var(--thp-text)!important;border:1.5px solid #ccd5df!important;border-radius:12px!important;padding:12px 14px!important;font:600 16px/1.35 var(--thp-font)!important;outline:none!important}
body.th-portal-v31 textarea{min-height:110px!important}
body.th-portal-v31 input:focus,body.th-portal-v31 select:focus,body.th-portal-v31 textarea:focus{border-color:var(--thp-navy2)!important;box-shadow:0 0 0 3px rgba(27,53,84,.1)!important}
body.th-portal-v31 label{font-size:15px!important;font-weight:750!important;color:var(--thp-navy)!important}
body.th-portal-v31 input[type=checkbox],body.th-portal-v31 input[type=radio]{width:22px!important;height:22px!important;accent-color:var(--thp-red)!important}

/* Dashboard tiles */
body.th-portal-v31 .main-actions-v1,body.th-portal-v31 [class*="dashboard-grid"],body.th-portal-v31 [class*="menu-grid"]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
body.th-portal-v31 .main-action-v1,body.th-portal-v31 [class*="menu-card"],body.th-portal-v31 [class*="dashboard-card"]{min-height:160px!important;background:#fff!important;border:1px solid var(--thp-line)!important;border-radius:18px!important;box-shadow:var(--thp-shadow)!important;padding:22px!important;color:var(--thp-text)!important;text-decoration:none!important}
body.th-portal-v31 .main-action-v1 .ico,body.th-portal-v31 [class*="menu-card"] .ico{width:52px;height:52px;border-radius:14px;background:#fff0ef;color:var(--thp-red);display:grid;place-items:center;font-size:27px!important;margin-bottom:14px!important}
body.th-portal-v31 .main-action-v1 strong{font-size:21px!important;color:var(--thp-navy)!important}
body.th-portal-v31 .main-action-v1 span{font-size:15px!important;color:var(--thp-muted)!important}

/* Stats */
body.th-portal-v31 .status-box{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
body.th-portal-v31 .status-item{background:#fff!important;border:1px solid var(--thp-line)!important;border-radius:16px!important;padding:18px!important;text-align:left!important}
body.th-portal-v31 .status-item .label{font-size:14px!important;color:var(--thp-muted)!important;text-transform:uppercase;letter-spacing:.04em}
body.th-portal-v31 .status-item .value{font-size:30px!important;color:var(--thp-navy)!important;font-weight:900!important}

/* Tables */
body.th-portal-v31 table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;border:1px solid var(--thp-line)!important;border-radius:16px!important;overflow:hidden!important;font-size:16px!important}
body.th-portal-v31 th{background:#f5f7f9!important;color:var(--thp-navy)!important;font-size:14px!important;text-align:left!important;padding:14px!important;border-bottom:1px solid var(--thp-line)!important}
body.th-portal-v31 td{padding:14px!important;border-bottom:1px solid #f0f2f5!important}

/* Upload */
body.th-portal-v31 .upload{background:#fbfcfd!important;border:2px dashed #b9c4d1!important;border-radius:18px!important;padding:34px 20px!important}
body.th-portal-v31 .upload:hover{border-color:var(--thp-red)!important;background:#fff9f8!important;transform:none!important}

/* Login / registration */
body.th-portal-v31.page-login,body.th-portal-v31.page-register,body.th-portal-v31.login-page{display:grid!important;place-items:center!important;padding:24px!important;background:linear-gradient(135deg,#eef1f5,#fafbfc)!important}
body.th-portal-v31.page-login>.card,body.th-portal-v31.page-register>.card,body.th-portal-v31.login-page>.card{max-width:480px!important;width:100%!important;padding:34px!important;border-top:6px solid var(--thp-red)!important}
body.th-portal-v31.page-login .card h2,body.th-portal-v31.page-register .card h2{text-align:left!important;font-size:30px!important;margin:0 0 22px!important}
body.th-portal-v31.page-login .footer-link,body.th-portal-v31.page-register .footer-link{font-size:15px!important}

/* Modal */
body.th-portal-v31 .modal{background:rgba(24,43,64,.46)!important;backdrop-filter:blur(5px)}
body.th-portal-v31 .modal-content{max-width:560px!important;border-radius:20px!important;padding:24px!important;background:#fff!important}

/* PDF/editor exemptions: preserve canvas sizing while typography stays clear */
body.th-portal-v31 .a4,body.th-portal-v31 canvas,body.th-portal-v31 .paper,body.th-portal-v31 .page-canvas{font-size:initial!important}

/* Mobile/tablet */
@media(max-width:1100px){
  .thp-shellbar-inner{padding:10px 14px}.thp-user-pill{display:none}
  body.th-portal-v31 .main-actions-v1,body.th-portal-v31 [class*="dashboard-grid"],body.th-portal-v31 [class*="menu-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.th-portal-v31 .status-box{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  html{font-size:17px!important}.thp-shellbar-inner{min-height:68px;gap:10px}.thp-brand{font-size:19px}.thp-brand-mark{width:38px;height:38px}.thp-shellnav a{padding:9px 10px;font-size:14px}
  body.th-portal-v31 h1{font-size:29px!important}body.th-portal-v31 h2{font-size:23px!important}
  body.th-portal-v31>.header,body.th-portal-v31>.card,body.th-portal-v31>.grid,body.th-portal-v31>.announce,body.th-portal-v31>.tb-dashboard-v2,body.th-portal-v31>.container,body.th-portal-v31>.page,body.th-portal-v31>main{width:calc(100% - 20px)!important}
  body.th-portal-v31 .main-actions-v1,body.th-portal-v31 [class*="dashboard-grid"],body.th-portal-v31 [class*="menu-grid"],body.th-portal-v31 .status-box{grid-template-columns:1fr!important}
  body.th-portal-v31 button,body.th-portal-v31 .btn,body.th-portal-v31 a.btn,body.th-portal-v31 input[type=submit]{min-height:54px!important;font-size:17px!important}
}

/* TH_SOFT_TONE_V33 */
body.th-portal-v31 .th-lessons-shortcuts a{background:var(--thp-navy)!important}
body.th-portal-v31 .th-lessons-badge{color:var(--thp-navy)!important;border-color:var(--thp-line)!important}
body.th-portal-v31 .th-lesson-card{border-color:var(--thp-line)!important;box-shadow:var(--thp-shadow)!important}
body.th-portal-v31 .th-lesson-card.primary{background:var(--thp-red)!important;border-color:var(--thp-red)!important}
body.th-portal-v31 .th-lessons-hero h1,body.th-portal-v31 .th-lessons-section-title{color:var(--thp-navy)!important}
body.th-portal-v31 .th-lessons-hero p,body.th-portal-v31 .th-lesson-card p{color:var(--thp-muted)!important}
body.th-portal-v31 .th-lesson-card.primary p{color:rgba(255,255,255,.92)!important}
