/* accounts/static/css/accounts-optik.css */
:root{
  --acc-indigo:#0f5563;
  --acc-indigo-2:#6366f1;
  --acc-blue:#2563eb;
  --acc-coral:#f97316;
  --acc-ink:#062f39;
  --acc-muted:#64748b;
  --acc-line:rgba(15,23,42,.09);
  --acc-soft:#f8fafc;
  --acc-card:rgba(255,255,255,.92);
  --acc-danger:#ef4444;
  --acc-success:#10b981;
  --acc-warning:#f59e0b;
  --acc-radius:24px;
  --acc-shadow:0 20px 45px rgba(15,23,42,.10),0 8px 18px rgba(15,23,42,.06);
  --acc-gradient:linear-gradient(135deg,var(--acc-indigo) 0%,#147080 100%);
}

body.template-page{
  background-color:#f8fafc;
  background-image:radial-gradient(#e2e8f0 1.3px,transparent 1.3px);
  background-size:28px 28px;
}

.account-hero,
.hero-section{
  position:relative;
  height:250px;
  border-radius:0 0 24px 24px;
  display:flex;
  align-items:center;
  padding:0 40px;
  margin-bottom:25px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
}
.account-hero::after,
.hero-overlay{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(15,23,42,.78),rgba(15,85,99,.35),rgba(15,23,42,.08));
  z-index:1;
}
.account-hero img.account-hero-bg,
.hero-banner-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.account-hero-content,
.hero-content{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:20px;
}
.account-hero-logo,
.hero-logo{
  width:112px;
  height:112px;
  background:#fff;
  border-radius:22px;
  padding:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  object-fit:contain;
}
.account-hero-title,
.hero-text h1{
  color:#fff;
  font-weight:1000;
  margin:0;
  letter-spacing:-.04em;
  text-shadow:0 2px 10px rgba(0,0,0,.25);
}
.account-hero-sub,
.hero-text p{color:rgba(255,255,255,.78)!important;font-weight:700;}

.optik-page{padding:8px 0 34px;}
.optik-card,
.login-card,
.glass-card{
  background:var(--acc-card);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.72);
  border-radius:var(--acc-radius);
  box-shadow:var(--acc-shadow);
  overflow:hidden;
}
.optik-card-head,
.login-card-head,
.card-head{
  padding:24px 26px;
  border-bottom:1px solid rgba(15,23,42,.06);
  background:linear-gradient(135deg,rgba(15,85,99,.08),rgba(255,255,255,.78));
}
.optik-card-title,
.login-card-head h2,
.card-head h2,
.card-head h5{
  margin:0;
  font-size:1.35rem;
  font-weight:1000;
  letter-spacing:-.04em;
  color:var(--acc-ink);
}
.optik-gradient-title{
  background:var(--acc-gradient);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.optik-card-sub,.card-sub{margin:.35rem 0 0;color:var(--acc-muted);font-weight:750;font-size:.92rem;}
.optik-card-body{padding:24px;}
.optik-section-title{font-size:.76rem;font-weight:1000;letter-spacing:.11em;text-transform:uppercase;color:var(--acc-indigo);margin:0 0 .75rem;}

.optik-form .form-group{margin-bottom:1rem;}
.optik-label,.optik-form label,.form-group label{
  display:block;
  margin-bottom:.45rem;
  color:#334155;
  font-size:.86rem;
  font-weight:900;
}
.optik-input,
.optik-form .form-control,
.optik-form .form-select,
.login-form .form-control,
.login-form .form-select,
.modern-input{
  width:100%;
  min-height:50px;
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  padding:13px 15px!important;
  color:var(--acc-ink)!important;
  font-weight:750;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.optik-input:focus,
.optik-form .form-control:focus,
.optik-form .form-select:focus,
.login-form .form-control:focus,
.login-form .form-select:focus,
.modern-input:focus{
  outline:none!important;
  border-color:rgba(15,85,99,.58)!important;
  box-shadow:0 0 0 4px rgba(15,85,99,.12)!important;
  transform:translateY(-1px);
}
.optik-input[readonly],.readonly-input{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed!important;}
textarea.optik-input{min-height:120px;}
.is-invalid,.optik-input.is-invalid{border-color:var(--acc-danger)!important;background:rgba(239,68,68,.035)!important;}
.invalid-feedback,.validation-feedback{font-size:.78rem;font-weight:800;}
.help-text{font-size:.78rem;color:var(--acc-muted);font-weight:750;}

.optik-btn,.btn-fat,.login-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:46px;
  border-radius:16px!important;
  padding:.72rem 1rem!important;
  font-weight:950!important;
  border:1px solid transparent!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.optik-btn:hover,.btn-fat:hover,.login-btn:hover:not(:disabled){transform:translateY(-2px);}
.optik-btn-primary,.login-btn,.optik-form .btn-primary,.btn-primary{
  color:#fff!important;
  background:var(--acc-gradient)!important;
  border-color:transparent!important;
  box-shadow:0 14px 28px rgba(15,85,99,.22);
}
.optik-btn-primary:hover,.login-btn:hover:not(:disabled){box-shadow:0 18px 34px rgba(15,85,99,.30);}
.optik-btn-soft{background:#eef8f8!important;color:#0f5563!important;border-color:rgba(15,85,99,.16)!important;}
.optik-btn-light{background:#fff!important;color:#334155!important;border-color:rgba(15,23,42,.10)!important;}
.optik-btn-danger{background:rgba(239,68,68,.08)!important;color:#dc2626!important;border-color:rgba(239,68,68,.22)!important;}
.optik-btn-warning{background:rgba(245,158,11,.14)!important;color:#92400e!important;border-color:rgba(245,158,11,.28)!important;}
.login-btn:disabled,.optik-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important;}
.link-modern,.optik-link{color:var(--acc-indigo);font-weight:900;text-decoration:none;}
.link-modern:hover,.optik-link:hover{text-decoration:underline;text-underline-offset:3px;}
.profile-pandam-mobile{display:none!important;}

.optik-alert{border:0;border-radius:18px;padding:12px 14px;font-weight:800;}
.optik-alert-danger{background:rgba(239,68,68,.10);color:#991b1b;}
.optik-alert-success{background:rgba(16,185,129,.10);color:#065f46;}

.role-student{border-color:rgba(249,115,22,.62)!important;box-shadow:0 0 0 4px rgba(249,115,22,.12),0 22px 44px rgba(249,115,22,.14)!important;}
.role-teacher{border-color:rgba(37,99,235,.62)!important;box-shadow:0 0 0 4px rgba(37,99,235,.12),0 22px 44px rgba(37,99,235,.14)!important;}
.role-picker-top{padding:16px;border:1px solid rgba(15,85,99,.14);border-radius:22px;background:linear-gradient(135deg,rgba(15,85,99,.075),rgba(255,255,255,.92));}
.role-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;}
.role-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.73rem;font-weight:1000;letter-spacing:.12em;text-transform:uppercase;color:#0f5563;}
.role-kicker::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--acc-coral);box-shadow:0 0 0 5px rgba(249,115,22,.14);}
.role-note{font-size:.75rem;font-weight:850;color:var(--acc-muted);text-align:right;}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.role-card{position:relative;display:flex;align-items:center;gap:12px;min-height:78px;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);cursor:pointer;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;}
.role-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.10);}
.role-card input{position:absolute;opacity:0;pointer-events:none;}
.role-card::after{content:"";position:absolute;left:70px;right:14px;bottom:10px;height:3px;border-radius:999px;background:rgba(15,23,42,.09);}
.role-icon{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#eef8f8;color:#0f5563;font-size:1.1rem;flex:0 0 auto;}
.role-title{display:block;font-size:1rem;font-weight:1000;line-height:1.05;color:var(--acc-ink);letter-spacing:-.03em;}
.role-sub{display:block;margin-top:4px;font-size:.73rem;line-height:1.1;color:var(--acc-muted);font-weight:800;}
.role-card.student.selected{border-color:rgba(249,115,22,.70);background:linear-gradient(135deg,rgba(249,115,22,.13),#fff 68%);box-shadow:0 0 0 4px rgba(249,115,22,.10),0 16px 30px rgba(249,115,22,.13);}
.role-card.student.selected .role-icon{background:rgba(249,115,22,.14);color:#ea580c;}.role-card.student.selected::after{background:var(--acc-coral);box-shadow:0 0 18px rgba(249,115,22,.42);}
.role-card.teacher.selected{border-color:rgba(37,99,235,.70);background:linear-gradient(135deg,rgba(37,99,235,.13),#fff 68%);box-shadow:0 0 0 4px rgba(37,99,235,.10),0 16px 30px rgba(37,99,235,.13);}
.role-card.teacher.selected .role-icon{background:rgba(37,99,235,.14);color:#2563eb;}.role-card.teacher.selected::after{background:var(--acc-blue);box-shadow:0 0 18px rgba(37,99,235,.42);}

.phone-shell{display:flex;align-items:stretch;border:1px solid rgba(15,23,42,.10);border-radius:16px;background:#fff;overflow:hidden;transition:all .18s ease;}
.phone-shell:focus-within{border-color:rgba(15,85,99,.58);box-shadow:0 0 0 4px rgba(15,85,99,.12);transform:translateY(-1px);}
.country-code{display:flex;align-items:center;gap:6px;padding:0 13px;background:#f8fafc;border-right:1px solid rgba(15,23,42,.08);font-weight:1000;color:var(--acc-ink);white-space:nowrap;}
.phone-shell .form-control{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;}

.consent-stack{gap:7px!important;}
.consent-card{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid rgba(15,23,42,.10);border-radius:13px;background:rgba(255,255,255,.85);transition:all .18s ease;}
.consent-card.accepted{border-color:rgba(16,185,129,.42);background:rgba(16,185,129,.06);}
.consent-card input{width:14px;height:14px;margin-top:1px;accent-color:var(--acc-success);flex:0 0 auto;}
.consent-text{font-size:.70rem;line-height:1.12;font-weight:950;color:var(--acc-ink);}
.consent-help{font-size:.62rem;line-height:1.16;color:var(--acc-muted);font-weight:750;margin-top:2px;}
.policy-open{border:0;background:transparent;color:var(--acc-indigo);font-size:.66rem;line-height:1.05;font-weight:950;padding:0;text-decoration:underline;text-underline-offset:2px;}
.policy-modal .modal-content{border:0;border-radius:24px;box-shadow:0 24px 60px rgba(15,23,42,.22);overflow:hidden;}.policy-modal .modal-header{background:linear-gradient(135deg,#111827,#3730a3);color:#fff;border:0;}.policy-modal .modal-body{max-height:58vh;overflow:auto;}.policy-list li{margin-bottom:.6rem;font-weight:750;color:#334155;}

.optik-profile-card{padding:22px;}
.optik-avatar{width:76px;height:76px;border-radius:22px;background:#eef8f8;display:flex;align-items:center;justify-content:center;overflow:hidden;border:4px solid #fff;box-shadow:0 10px 24px rgba(15,23,42,.12);font-size:2rem;flex:0 0 auto;}
.optik-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.optik-name{margin:0;color:var(--acc-ink);font-weight:1000;line-height:1.05;letter-spacing:-.04em;}
.optik-sub{margin:.2rem 0 0;color:var(--acc-muted);font-weight:850;}
.optik-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .65rem;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.09);color:#334155;font-size:.78rem;font-weight:950;white-space:nowrap;}
.optik-pill-primary{background:#eef8f8;color:#0f5563;border-color:rgba(15,85,99,.18);}.optik-pill-success{background:rgba(16,185,129,.09);color:#047857;border-color:rgba(16,185,129,.18);}.optik-pill-warning{background:rgba(245,158,11,.14);color:#92400e;border-color:rgba(245,158,11,.25);}.optik-pill-danger{background:rgba(239,68,68,.08);color:#dc2626;border-color:rgba(239,68,68,.18);}
.optik-kv{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px dashed rgba(15,23,42,.11);font-weight:900;}.optik-kv:first-child{border-top:0;}.optik-kv span:first-child{color:var(--acc-muted);font-size:.82rem;}.optik-kv span:last-child{color:var(--acc-ink);text-align:right;min-width:0;}
.optik-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.optik-stat{padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;}.optik-stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--acc-muted);font-weight:950;}.optik-stat-value{margin-top:4px;font-size:.98rem;color:var(--acc-ink);font-weight:950;}
.profile-showcase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.profile-showcase-head h3{margin:0;color:var(--acc-ink);font-size:1.08rem;font-weight:1000;letter-spacing:-.03em;}
.profile-showcase-head p{margin:.2rem 0 0;color:var(--acc-muted);font-weight:750;font-size:.85rem;}
.profile-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.profile-card-showcase{position:relative;display:grid;align-content:start;justify-items:center;gap:8px;min-height:210px;padding:14px;border:2px solid color-mix(in srgb, var(--item-color, #64748b) 58%, rgba(15,23,42,.08));border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb, var(--item-color, #64748b) 14%, #fff),#fff 70%);text-align:center;box-shadow:0 14px 28px color-mix(in srgb, var(--item-color, #64748b) 12%, transparent);overflow:hidden;}
.profile-card-showcase:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--item-color, #64748b);}
.profile-card-art{position:relative;z-index:1;display:grid;place-items:center;width:100%;min-height:112px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid color-mix(in srgb, var(--item-color, #64748b) 22%, rgba(15,23,42,.08));}
.profile-card-art .bp-item-picture{background:transparent;border:0;box-shadow:none;}
.profile-card-art .bp-item-picture img{width:116px;height:116px;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(15,23,42,.16));}
.profile-card-art .bp-item-icon{background:transparent;border:0;box-shadow:none;}
.profile-card-art .bp-item-icon i{width:auto;height:auto;border-radius:0;background:transparent;color:var(--item-color, #64748b);font-size:2.5rem;}
.profile-card-art > span{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;padding:3px 7px;border-radius:999px;background:var(--item-color, #64748b);color:#fff;font-weight:950;font-size:.76rem;}
.profile-card-showcase strong{position:relative;z-index:1;color:var(--acc-ink);font-weight:1000;line-height:1.15;overflow-wrap:anywhere;}
.profile-card-showcase em{position:relative;z-index:1;font-style:normal;color:#fff;background:var(--item-color, #64748b);border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:950;}
.profile-showcase-empty{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:14px;border:1px dashed rgba(15,23,42,.16);border-radius:18px;background:#fff;color:var(--acc-muted);font-weight:850;}
.optik-filebox{border:2px dashed rgba(15,85,99,.22);border-radius:18px;background:rgba(15,85,99,.04);padding:15px;}.optik-filebox input[type=file]{width:100%;font-weight:800;}
.optik-table-shell{border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 28px rgba(15,23,42,.06);}.optik-table-shell .table{margin:0;}.optik-table-shell th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;background:#f8fafc;}.optik-table-shell td,.optik-table-shell th{vertical-align:middle;padding:.85rem;}

@keyframes optikSlide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.toast-message{animation:optikSlide .25s ease;}

@media (max-width:768px){
  .account-hero,.hero-section{height:210px;padding:0 16px;border-radius:0 0 20px 20px;}
  .account-hero-logo,.hero-logo{width:84px;height:84px;border-radius:18px;}
  .account-hero-title,.hero-text h1{font-size:1.65rem;}
  .optik-card-head,.login-card-head,.card-head{padding:20px;}
  .optik-card-body{padding:20px;}
  .role-grid{grid-template-columns:1fr;}.role-header{flex-direction:column;align-items:flex-start;gap:4px;}.role-note{text-align:left;}
  .optik-stat-grid{grid-template-columns:1fr;}
  .profile-showcase-grid{grid-template-columns:1fr;}
  .profile-pandam-mobile{display:inline-flex!important;}
}

/* BilgePanda account-theme hardening
   Keeps login/signup/profile/password pages aligned with the global BilgePanda theme. */
:root{
  --acc-indigo:#0f5563;
  --acc-indigo-2:#147080;
  --acc-blue:#147080;
  --acc-coral:#d1a95b;
  --acc-ink:#083f4b;
  --acc-muted:#60726f;
  --acc-line:#e8ddc7;
  --acc-soft:#fffdf7;
  --acc-card:#ffffff;
  --acc-gradient:linear-gradient(135deg,#0f5563 0%,#147080 62%,#d1a95b 100%);
}
body.page-accounts-accounts-edit-profile,
body.page-accounts-accounts-edit-user,
body.page-accounts-accounts-signup,
body.page-accounts-accounts-user-detail,
body.page-accounts-registration-login,
body.page-accounts-force-password,
body.page-core-registration-password-reset-form,
body.page-core-registration-password-reset-done,
body.page-core-registration-password-reset-confirm,
body.page-core-registration-password-reset-complete{
  background:#fff!important;
  background-image:none!important;
  color:#083f4b!important;
}
.account-hero,
.hero-section{
  border-radius:0 0 24px 24px!important;
  box-shadow:0 16px 36px rgba(8,63,75,.16)!important;
}
.account-hero::after,
.hero-overlay{
  background:linear-gradient(90deg,rgba(8,63,75,.80),rgba(15,85,99,.42),rgba(15,23,42,.08))!important;
}
.account-hero-logo,
.hero-logo{
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(232,221,199,.95)!important;
}
.optik-card,
.login-card,
.glass-card{
  background:#fff!important;
  border:1px solid #e8ddc7!important;
  box-shadow:0 1px 2px rgba(8,63,75,.05),0 18px 42px -28px rgba(8,63,75,.34)!important;
}
.optik-card-head,
.login-card-head,
.card-head{
  background:linear-gradient(135deg,rgba(15,85,99,.07),rgba(255,246,223,.55),#fff)!important;
  border-bottom:1px solid rgba(232,221,199,.75)!important;
}
.optik-card-title,
.login-card-head h2,
.card-head h2,
.card-head h5{
  color:#083f4b!important;
}
.optik-gradient-title,
.login-card-head h2{
  background:var(--acc-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
.optik-input,
.optik-form .form-control,
.optik-form .form-select,
.login-form .form-control,
.login-form .form-select,
.modern-input{
  border-color:rgba(8,63,75,.14)!important;
  background:#fff!important;
}
.optik-input:focus,
.optik-form .form-control:focus,
.optik-form .form-select:focus,
.login-form .form-control:focus,
.login-form .form-select:focus,
.modern-input:focus{
  border-color:rgba(15,85,99,.58)!important;
  box-shadow:0 0 0 4px rgba(15,85,99,.13)!important;
}
.optik-btn-primary,
.login-btn,
.optik-form .btn-primary{
  background:var(--acc-gradient)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(15,85,99,.22)!important;
}
.btn-primary:not(.bp-keep-bootstrap),
.btn-success:not(.bp-keep-bootstrap){
  background:#0f5563!important;
  border-color:#0f5563!important;
  color:#fff!important;
}
.btn-outline-primary:not(.bp-keep-bootstrap){
  color:#0f5563!important;
  border-color:#0f5563!important;
}
.btn-outline-primary:not(.bp-keep-bootstrap):hover{
  background:#0f5563!important;
  color:#fff!important;
}
.optik-btn-soft,
.link-modern,
.optik-link{color:#0f5563!important;}
.optik-btn-soft{background:#eef8f8!important;border-color:rgba(15,85,99,.18)!important;}
.role-picker-top{background:linear-gradient(135deg,rgba(15,85,99,.075),rgba(255,246,223,.52),#fff)!important;border-color:rgba(209,169,91,.28)!important;}
.role-card.student.selected,
.role-card.teacher.selected{border-color:rgba(15,85,99,.62)!important;background:linear-gradient(135deg,rgba(15,85,99,.10),#fff 70%)!important;box-shadow:0 0 0 4px rgba(15,85,99,.10),0 16px 30px rgba(15,85,99,.12)!important;}
.role-card.student.selected .role-icon,
.role-card.teacher.selected .role-icon{background:#eef8f8!important;color:#0f5563!important;}
.role-card.student.selected::after,
.role-card.teacher.selected::after{background:#d1a95b!important;box-shadow:0 0 18px rgba(209,169,91,.42)!important;}
.policy-modal .modal-header{background:linear-gradient(135deg,#083f4b,#0f5563)!important;color:#fff!important;}
.status-icon{background:#eef8f8!important;color:#0f5563!important;}
.tip-box,.info-box{background:#fff6df!important;border-color:#e8ddc7!important;color:#083f4b!important;}
@media(max-width:768px){.account-hero,.hero-section{height:190px!important;padding:0 20px!important}.account-hero-logo,.hero-logo{width:84px!important;height:84px!important}}
