/* Alunos da Medicina — identidade oficial Azul Universitário.
   UI: app.css | Marca: assets/img/brand-mark.svg
   Segurança: nenhum script externo ou estilo inline. */
:root{
  color-scheme:light;
  --navy:#193453;
  --navy-deep:#122942;
  --blue:#316ab2;
  --blue-bright:#3d7fc7;
  --ice:#edf3f9;
  --paper:#ffffff;
  --ink:#233951;
  --text-muted:#62768a;
  --text-faint:#7f93a5;
  --line:#d9e4ee;
  --line-soft:#e5edf4;
  --tint:#eaf2fc;
  --sidebar:#182f4c;
  --radius:16px;
  --ease:180ms ease;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ice);color:var(--ink);-webkit-font-smoothing:antialiased}
body{min-height:100vh;min-height:100dvh}
button,input{font:inherit}
button{cursor:pointer;color:inherit}
a{text-decoration:none;color:inherit}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4b91dc;outline-offset:3px}
.noscript{text-align:center;padding:17px;background:#f9db8c;color:#4a3920}
.app-shell{min-height:100vh;min-height:100dvh}
.brand,.workspace-logo{display:inline-flex;align-items:center;gap:11px;font-size:17px;letter-spacing:-.025em;font-weight:780}
.brand img,.workspace-logo img{display:block;border-radius:13px}
.eyebrow,.hero-kicker{display:block;font-weight:810;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin-bottom:13px}
/* Access: same photo, new blue-white university palette */
.auth-layout{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);background:linear-gradient(120deg,#f8fbfe,var(--ice))}
.auth-hero{min-height:100vh;min-height:100dvh;position:relative;isolation:isolate;overflow:hidden;background:#172e49;color:#fff}
.hero-image{position:absolute;inset:0;background:url("/assets/img/medical-study.jpg") center/cover no-repeat;transform:scale(1.012)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,32,59,.63),rgba(13,32,58,.18) 38%,rgba(10,28,52,.91) 100%),linear-gradient(105deg,rgba(8,41,75,.30),transparent);z-index:1}
.hero-content{position:relative;z-index:2;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:clamp(30px,4vw,64px)}
.brand-light{color:#fff}
.hero-copy{margin-top:auto;margin-bottom:clamp(45px,7vw,94px);max-width:690px}
.hero-kicker{color:#aaccfb}
.hero-copy h1{margin:17px 0 19px;font-size:clamp(39px,4.8vw,69px);line-height:1.02;letter-spacing:-.055em;max-width:670px;text-wrap:balance}
.hero-copy p{font-size:clamp(15px,1.4vw,19px);max-width:570px;color:#deebfb;line-height:1.65}
.photo-credit{margin:0;font-size:10px;color:#afc3db}
.auth-panel{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:46px clamp(30px,5vw,86px)}
.auth-card{width:min(100%,435px)}
.brand-mobile{display:none}
.auth-card h2{font-size:clamp(31px,3vw,41px);line-height:1.08;margin:0;letter-spacing:-.046em;color:var(--navy)}
#authSubtitle{color:var(--text-muted);margin:12px 0 31px;font-size:14px}
.form-stack{display:grid;gap:18px}
.field{display:grid;gap:9px;color:var(--ink);font-size:13px;font-weight:720}
.field-row{display:flex;align-items:center;justify-content:space-between;gap:13px}
.field input{height:54px;width:100%;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 16px;outline:0;box-shadow:0 2px 5px #213f5b08;transition:border-color var(--ease),box-shadow var(--ease)}
.field input::placeholder{color:#8fa0ae}
.field input:hover{border-color:#a8bed4}
.field input:focus{border-color:#4484d0;box-shadow:0 0 0 4px #316ab21c}
.field input[aria-invalid="true"]{border-color:#cb6370}
.password-field{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;transition:border-color var(--ease),box-shadow var(--ease)}
.password-field:focus-within{border-color:#4484d0;box-shadow:0 0 0 4px #316ab21c}
.password-field input{border:0;background:transparent;box-shadow:none!important}
.password-toggle{border:0;background:transparent;color:#788fa4;width:48px;height:50px;font-size:11px}
.password-toggle:hover{color:var(--blue)}
.primary-button{min-height:55px;width:100%;border:0;border-radius:12px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 19px;margin-top:5px;font-weight:810;box-shadow:0 11px 22px #315f9e23;transition:background var(--ease),transform var(--ease)}
.primary-button:hover{background:#245c9e;transform:translateY(-1px)}
.primary-button:active{transform:none}
.primary-button:disabled{opacity:.6;cursor:wait;transform:none}
.button-arrow{font-size:20px}
.link-button{background:none;border:0;padding:0;font-size:inherit;color:var(--blue);font-weight:650}
.link-button:hover{text-decoration:underline;color:#1a4b88}
.link-button.strong{font-weight:790}
.switch-copy,.terms-copy{margin:3px 0 0;font-size:13px;line-height:1.6;color:var(--text-muted);text-align:center}
.terms-copy{font-size:12px;color:var(--text-faint)}
.alert{padding:13px 15px;margin-bottom:23px;border:1px solid #b0cee6;border-radius:12px;background:#eaf5fc;color:#22557c;line-height:1.55;font-size:13px}
.alert.error{border-color:#ecc3c7;background:#fff2f3;color:#a33543}
.alert.warning{border-color:#e7d2a3;background:#fffaed;color:#896525}
.loading-view{position:fixed;inset:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:14px;background:#edf3f9;color:#7289a0;font-size:13px;transition:opacity 220ms ease,visibility 220ms ease}
.loading-view.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loading-mark{width:73px;height:73px;background:#dceaf8;border-radius:21px;display:grid;place-items:center;animation:loadpulse 1.6s ease-in-out infinite}
@keyframes loadpulse{50%{transform:scale(1.035);background:#d0e3f8}}
/* Authenticated Medical Workspace — same language as chosen blue preview */
.home-view{min-height:100vh;min-height:100dvh;background:var(--ice);color:var(--ink)}
.workspace-topbar{height:79px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(21px,4vw,59px);gap:16px}
.workspace-logo{color:var(--navy)}
.workspace-account{display:flex;align-items:center;gap:14px}
.workspace-account-details{display:grid;line-height:1.2;text-align:right}
.workspace-account-details strong{font-size:13px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-account-details small{font-size:11px;color:var(--text-muted);margin-top:4px}
.avatar{display:grid;place-items:center;height:38px;width:38px;background:var(--blue);color:#fff;border-radius:50%;font-weight:850}
.workspace-logout{padding:9px 14px;font-weight:730;border:1px solid var(--line);border-radius:10px;background:#f8fbfe;color:var(--navy);font-size:12px}
.workspace-logout:hover{background:#e6effb}
.workspace-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 79px);min-width:0}
.workspace-sidebar{min-width:0;background:var(--sidebar);padding:31px 15px;display:flex;flex-direction:column;gap:30px;color:#eef6ff}
.workspace-sidebar-inner{min-width:0}
.sidebar-label{display:block;font-size:10px;letter-spacing:.16em;font-weight:900;color:#a5bfd9;margin:0 13px 12px}
.workspace-nav{display:grid;gap:5px}
.workspace-nav button,.workspace-nav a{display:flex;align-items:center;gap:11px;min-height:43px;width:100%;padding:9px 12px;color:#c6d9ed;text-align:left;background:transparent;border:0;border-radius:10px;font-size:13px;font-weight:540;white-space:nowrap}
.workspace-nav span{display:inline-grid;place-items:center;flex:none;width:21px;font-size:17px}
.workspace-nav .selected,.workspace-nav button:hover{color:#fff;background:#294c70;font-weight:750}
.workspace-sidebar-footer{margin-top:auto;padding:17px;background:#294665;border-radius:13px;display:grid;gap:6px}
.workspace-sidebar-footer .sidebar-label{padding:0;margin:0 0 2px;color:#c3d6e9}
.workspace-sidebar-footer strong{font-size:13px}
.workspace-sidebar-footer small{font-size:11px;color:#bad0e4}
.workspace-main{padding:44px clamp(21px,4.1vw,66px) 78px;width:100%;max-width:1530px;margin:0 auto;min-width:0}
.workspace-overline{display:block;color:var(--blue);font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin-bottom:11px}
.workspace-intro{display:flex;align-items:center;justify-content:space-between;gap:23px;margin-bottom:32px}
.workspace-intro h1{font-size:clamp(31px,3.2vw,43px);line-height:1.13;letter-spacing:-.045em;margin:7px 0 10px;color:var(--navy)}
.workspace-intro p{color:var(--text-muted);margin:0;font-size:15px}
.workspace-status{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:30px;background:#e9f1fb;color:#275b9c;white-space:nowrap;padding:8px 12px;font-weight:730;font-size:11px}
.workspace-status-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}
.workspace-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.87fr);gap:20px}
.workspace-main-column,.workspace-side-column{display:flex;flex-direction:column;gap:20px;min-width:0}
.workspace-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px;box-shadow:0 4px 20px #183b6110}
.workspace-card h2{color:var(--navy);font-size:19px;margin:4px 0 14px}
.workspace-feature{background:linear-gradient(115deg,#e7f0fb,#fff);padding:28px}
.workspace-feature-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.workspace-feature h2{font-size:25px;margin:5px 0 11px}
.workspace-feature p{max-width:465px;color:var(--text-muted);font-size:13px;line-height:1.7;margin:0}
.workspace-feature-icon{display:grid;place-items:center;width:47px;height:47px;flex:none;border-radius:13px;background:#fff;color:var(--blue);border:1px solid var(--line);font-size:21px}
.workspace-primary-button{border:0;background:var(--blue);color:#fff!important;display:inline-flex;gap:14px;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;margin-top:23px;font-size:12px;font-weight:800}
.workspace-primary-button:hover{background:#245c9d}
.workspace-section{display:grid;gap:13px}
.workspace-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workspace-section-head h2{margin:0;color:var(--navy);font-size:20px}
.workspace-section-head button,.workspace-text-button{background:none;border:0;color:var(--blue);font-size:12px;font-weight:750;padding:4px 0}
.workspace-section-head button:hover,.workspace-text-button:hover{text-decoration:underline}
.workspace-empty-line{display:flex;align-items:flex-start;gap:13px}
.workspace-empty-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:var(--tint);color:var(--blue);font-size:18px}
.workspace-empty-line strong{display:block;font-size:13px;color:var(--ink);margin:0 0 6px}
.workspace-empty-line p,.workspace-muted{font-size:12px;color:var(--text-muted);margin:0;line-height:1.7}
.workspace-text-button{margin-top:14px}
.workspace-subjects{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}
.workspace-subjects button{border:1px solid var(--line);background:#eaf2fc;border-radius:10px;color:#275b9c;font-size:12px;padding:10px 13px}
.workspace-subjects button:hover{border-color:#86b0dc}
.workspace-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.workspace-week span{display:grid;place-items:center;min-height:34px;background:var(--tint);color:var(--text-muted);border-radius:8px;font-size:10px;font-weight:680}
.workspace-subnote{margin-top:15px}
.workspace-user-email{overflow-wrap:anywhere;margin-top:0}
.workspace-profile-tag{display:inline-flex;align-items:center;background:var(--tint);border:1px solid var(--line);border-radius:30px;color:#275b9c;padding:7px 11px;font-size:11px;font-weight:790;margin-top:18px}
.workspace-toast{position:fixed;right:18px;bottom:18px;z-index:30;max-width:min(390px,calc(100vw - 36px));padding:13px 16px;background:var(--navy);color:#fff;border-radius:12px;box-shadow:0 20px 35px #19345336;font-size:13px;line-height:1.6}
@media(max-width:1050px){.auth-layout{grid-template-columns:minmax(0,.88fr) minmax(400px,1fr)}.workspace-columns{grid-template-columns:minmax(0,1fr)}.workspace-main{max-width:870px}}
@media(max-width:760px){.auth-layout{display:block}.auth-hero{display:none}.auth-panel{min-height:100vh;min-height:100dvh;padding:32px 24px 50px}.brand-mobile{display:inline-flex;margin:0 0 47px;color:var(--navy)}.workspace-layout{display:block;min-width:0}.workspace-sidebar{display:block;width:100%;max-width:100vw;overflow:hidden;border-bottom:1px solid #3e5e81;padding:9px 16px}.workspace-sidebar-footer,.sidebar-label{display:none}.workspace-nav{display:flex;max-width:calc(100vw - 32px);overflow-x:auto;gap:3px;scrollbar-width:thin}.workspace-nav button,.workspace-nav a{flex:0 0 auto;width:auto;white-space:nowrap;padding:9px 10px;font-size:11px;min-height:40px}.workspace-main{padding:32px 17px 67px;max-width:100%;overflow:hidden}.workspace-intro{align-items:flex-start}.workspace-intro h1{font-size:32px}.workspace-columns{grid-template-columns:1fr}.workspace-topbar{height:70px;padding:0 17px}.workspace-logo{font-size:14px}.workspace-account-details{display:none}}
@media(max-width:480px){.auth-panel{padding-inline:18px}.brand-mobile{margin-bottom:38px}.auth-card h2{font-size:32px}.field-row{align-items:start;gap:8px}.field-row .link-button{font-size:12px}.workspace-logo span{font-size:12px}.workspace-account{gap:9px}.workspace-logout{padding:8px 10px}.workspace-intro{display:block}.workspace-status{margin-top:17px}.workspace-card{padding:19px}.workspace-feature{padding:22px}.workspace-feature h2{font-size:22px}.workspace-section-head h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
