/* Bora Estudar — vidro translúcido e tipografia legível, compartilhados pelo site. */
:root{
 --bora-body-font:'DM Sans',Arial,sans-serif;
 --bora-heading-font:'Barlow Condensed','Arial Narrow',sans-serif;
 --bora-number-font:'IBM Plex Mono','DM Mono',monospace;
 --bora-glass-panel:rgba(255,255,255,.64);
 --bora-glass-modal:rgba(252,254,255,.84);
 --bora-glass-line:rgba(86,119,179,.29);
 --bora-glass-shadow:0 12px 36px rgba(35,65,115,.08),inset 0 1px 0 rgba(255,255,255,.8);
 --bg:#edf2fa;--surface:#fff;--surface-2:#f4f7fc;--border:#d9e1ee;--border-strong:#b9c8df;--text:#172237;--text-2:#53627a;--text-3:#65738a;--accent:#245bd6;--accent-light:#e5edff;
}
body.dark{
 --bora-glass-panel:rgba(19,30,49,.78);
 --bora-glass-modal:rgba(16,26,44,.95);
 --bora-glass-line:rgba(139,174,233,.21);
 --bora-glass-shadow:0 14px 42px rgba(0,5,18,.24),inset 0 1px 0 rgba(223,236,255,.055);
 --bg:#0b1220;--surface:#142035;--surface-2:#19283e;--border:#2b3c56;--border-strong:#466083;--text:#eef3fc;--text-2:#b7c5db;--text-3:#a4b5d0;--accent:#91b1ff;--accent-light:#203658;
 color-scheme:dark;
}
html{font-size:15px}
body{font-family:var(--bora-body-font)!important;font-size:15px!important;line-height:1.6;background:radial-gradient(ellipse at 8% 0%,rgba(111,153,245,.28),transparent 45%),radial-gradient(ellipse at 100% 80%,rgba(112,175,219,.20),transparent 48%),var(--bg)!important;background-attachment:fixed!important;color:var(--text)}
body.dark{background:radial-gradient(ellipse at 4% 0%,rgba(65,104,196,.18),transparent 48%),radial-gradient(ellipse at 98% 80%,rgba(37,111,135,.13),transparent 45%),var(--bg)!important}
body .main{background:transparent!important}
body :is(.card,.metric,.chart-card,.day-group,.disc-card,.disc-details,.week-panel,.next-panel,.table-wrap,.review-card,.plan-card,.account-card,.wait-form-card,.panel,.stat){background:var(--bora-glass-panel)!important;border-color:var(--bora-glass-line)!important;box-shadow:var(--bora-glass-shadow)!important;backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}
body :is(.sidebar,.page-header){background:var(--bora-glass-panel)!important;border-color:var(--bora-glass-line)!important;backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%)}
body :is(.registro-modal,.registro-modal-card,.aluno-modal-card,.modal-card,.auth-card,.confirmacao-aluno-card){background:var(--bora-glass-modal)!important;border:1px solid var(--bora-glass-line)!important;box-shadow:0 28px 80px rgba(8,22,49,.23),inset 0 1px 0 rgba(255,255,255,.15)!important;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
body #registro-modal .registro-modal:has(.prf-v121-mode){background:var(--bora-glass-modal)!important;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%);border-color:var(--bora-glass-line)!important}
body :is(.registro-modal-head,.modal-head,.aluno-modal-head,.day-group-head){background:color-mix(in srgb,var(--surface) 46%,transparent)!important;border-color:var(--bora-glass-line)!important}
body #registro-modal:has(.prf-v121-mode) .registro-modal-head{background:transparent!important}
body :is(.registro-body,.modal-body){color:var(--text)}
body :is(.page-title,.section-title,.auth-title){font-family:var(--bora-heading-font)!important;font-weight:600;letter-spacing:.025em;line-height:1.2}
body .page-title{font-size:30px!important}
body .section-title{font-size:23px!important}
body :is(.registro-title,.modal-title,.aluno-modal-title){font-family:var(--bora-heading-font)!important;font-size:27px!important;line-height:1.2}
body :is(.page-sub,.registro-sub,.modal-sub,.auth-sub,.task-sub,.task-meta,.disc-sub,.muted,.hint,.help-text,.form-help,.form-hint,.study-time-note,.prf-v123-note,.prf-stage-muted,.prf-stage-ok,.prf-v123-subtitle){font-size:14px!important;line-height:1.6!important;color:var(--text-2)}
body :is(small,.form-label,.nav-label,.status-pill,.task-tags,.prf-v123-pill,.prf-v123-legend,.prf-study-history,.prf-study-feedback){font-size:13px!important;line-height:1.5}
body .nav-item{font-size:15px;min-height:40px}
body.sidebar-collapsed .nav-item{font-size:0!important}
body :is(.btn,.btn.sm,.auth-tab,.auth-submit){font-size:15px!important;min-height:40px;line-height:1.3;letter-spacing:.035em}
body :is(.task-small-btn,.extra-study-btn){font-size:13px!important;min-height:34px}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-family:var(--bora-body-font);font-size:16px!important;line-height:1.45;color:var(--text);border-color:var(--border-strong);border-radius:9px;background:color-mix(in srgb,var(--surface) 68%,transparent)}
body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select{min-height:42px}
body :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body .btn.primary{box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 16%,transparent)!important}
body :is(.metric-value,.study-time-value,.stats-kpi-value){font-family:var(--bora-number-font);font-size:28px}
body :is(td,th){font-size:14px!important;line-height:1.55}
body :is(.task-name,.block-topic-item,.registro-topico-item,.course-block-row,.topic){font-size:15px!important;line-height:1.55}
body :is(.auth-title,.auth-card label){color:var(--text)!important}
body :is(.auth-sub,.auth-help,.auth-foot){color:var(--text-2)!important}
body .auth-tabs{background:color-mix(in srgb,var(--surface-2) 76%,transparent)}
body .auth-tab.active{background:var(--surface);color:var(--text)}
/* Os rótulos pequenos gerados pelo legado usam tamanho inline. */
body :is(span,div,p,label,small)[style*="font-size:10px"],body :is(span,div,p,label,small)[style*="font-size:11px"],body :is(span,div,p,label,small)[style*="font-size:12px"],body :is(span,div,p,label,small)[style*="font-size: 10px"],body :is(span,div,p,label,small)[style*="font-size: 11px"],body :is(span,div,p,label,small)[style*="font-size: 12px"]{font-size:13px!important;line-height:1.5!important}
/* Registro: vidro no contêiner, contraste nos materiais e nos campos. */
body .prf-v123-panel{background:color-mix(in srgb,var(--surface) 54%,transparent)!important;border-color:var(--bora-glass-line);padding:20px}
body .prf-v123-modal :is(h3,.prf-v123-title-row>strong){font-size:20px!important}
body .prf-v123-tabs button{font-size:18px!important;min-height:42px}
body .prf-study-context small{font-size:14px!important}
body .prf-study-context strong{font-size:16px!important;line-height:1.5}
body :is(.prf-lesson-pdf b,.prf-study-topic){font-size:15px!important;line-height:1.55}
body .prf-lesson-pdf small{font-size:13px!important;line-height:1.5}
body :is(.prf-lesson-pdf,.prf-study-session-compact){background:color-mix(in srgb,var(--surface) 64%,transparent)!important;border-color:var(--bora-glass-line)}
body .prf-study-session-compact{padding:20px;gap:18px}
body .prf-time-total span{font-size:13px}
body .prf-time-total strong{font-size:19px}
body .prf-study-time label{font-size:14px!important}
body .prf-study-session-compact .prf-study-time input{font-family:var(--bora-number-font);height:50px;font-size:20px!important}
body .prf-study-finished{font-size:15px!important;line-height:1.5}
body .prf-study-finished small{font-size:13px!important}
body .prf-study-topic-number{font-size:12px!important}
body .prf-study-actions .btn{min-height:46px;font-size:16px!important}
body .prf-study-history strong{font-size:13px}
body .prf-study-history time{font-size:13px}
body .prf-v123-modal .btn.primary{color:var(--surface)}
@media(max-width:820px){body .nav-item{font-size:0!important}body .page-title{font-size:26px!important}body .header-actions{flex-wrap:wrap}}
@media(max-width:560px){
 body{font-size:15px!important}
 body :is(.page-sub,.registro-sub,.modal-sub){font-size:13px!important}
 body #registro-modal .registro-body.prf-v121-mode{padding:16px}
 body .prf-v123-panel,body .prf-study-session-compact{padding:16px}
 body .prf-study-context strong{font-size:15px!important}
 body .prf-v123-tabs button{font-size:17px!important}
 body .prf-time-heading{gap:10px;align-items:flex-start;flex-wrap:wrap}
 body .prf-time-total strong{font-size:17px}
 body .prf-study-actions .btn{font-size:15px!important}
 body .table-wrap{overflow-x:auto}
}
@supports not (backdrop-filter:blur(1px)){
 body :is(.card,.metric,.day-group,.week-panel,.panel,.stat,.sidebar,.page-header,.registro-modal,.auth-card){background:var(--surface)!important}
}
@media(prefers-reduced-motion:reduce){body :is(.btn,.nav-item){transition:none!important}}
body.dark #registro-modal .registro-modal:has(.prf-v121-mode){background:var(--bora-glass-modal)!important;border-color:var(--bora-glass-line)!important;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
body.dark #registro-modal:has(.prf-v121-mode) .registro-modal-head{background:transparent!important}

/* Vidro claro mais evidente, com fundo suave e bordas luminosas. */
body:not(.dark) .registro-modal-backdrop,body:not(.dark) #registro-modal{background:rgba(68,99,150,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body:not(.dark) :is(.prf-v123-panel,.prf-study-session-compact){background:rgba(255,255,255,.44)!important;border-color:rgba(106,139,195,.25)}
/* Menu recolhido: textos e badges ocultos; ícones com dimensões fixas. */
body.sidebar-collapsed .sidebar .logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px 8px;min-height:0}
body.sidebar-collapsed .sidebar .logo-copy{display:none!important}
body.sidebar-collapsed .sidebar .brand-emblem{display:grid!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:9px!important}
body.sidebar-collapsed .sidebar .sidebar-toggle{width:28px;height:28px;min-height:28px;margin:0;flex:0 0 28px}
body.sidebar-collapsed .sidebar .nav{padding:10px 7px}
body.sidebar-collapsed .sidebar .nav-item{display:flex;align-items:center;justify-content:center;gap:0;width:100%;min-width:0;min-height:42px;padding:10px 0;font-size:0!important;overflow:hidden}
body.sidebar-collapsed .sidebar .nav-icon{width:20px;height:20px;flex:0 0 20px;opacity:.9}
body.sidebar-collapsed .sidebar :is(.bora-nav-soon-title,.bora-nav-soon-badge,.nav-label){display:none!important}
@media(max-width:820px){
 body .sidebar :is(.bora-nav-soon-title,.bora-nav-soon-badge){display:none!important}
 body .sidebar .nav-item{justify-content:center;gap:0;width:100%;min-width:0;min-height:42px;padding:10px 0;overflow:hidden}
 body .sidebar .nav-icon{width:20px;height:20px;flex:0 0 20px}
 body .sidebar .logo{display:flex;flex-direction:column;align-items:center;gap:9px;padding:12px 7px;min-height:0}
 body .sidebar .brand-emblem{display:grid!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:9px!important}
 body .sidebar .sidebar-toggle{margin:0;width:28px;height:28px;flex:0 0 28px}
}
