/* Identidade visual do TeamLink inspirada no projeto MangueBeat do mesmo autor. */
:root{
  --ink:#edf3f6;
  --navy:#192229;
  --navy-2:#202b34;
  --navy-3:#293641;
  --orange:#39d353;
  --orange-2:#29c95a;
  --blue:#438ff4;
  --violet:#a871e8;
  --green:#39d353;
  --yellow:#edc56d;
  --red:#ff7977;
  --canvas:#14191e;
  --surface:#1c242c;
  --surface-2:#242f38;
  --line:#394a57;
  --muted:#aebac4;
  --muted-2:#8294a3;
  --shadow:0 20px 55px rgba(0,0,0,.24);
  --shadow-soft:0 9px 25px rgba(0,0,0,.16);
}
html,body,.app-shell,.workspace{background:var(--canvas)!important;color:var(--ink)!important}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{font-family:inherit;background:#14191e!important}
::selection{background:#1e8050;color:#fff}
button,input,select,textarea{font-family:inherit}
a,button,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid rgba(80,227,119,.62);outline-offset:3px}

/* Navegação e superfícies. */
.sidebar{background:#1b242c;border-right:1px solid #394a57;box-shadow:none}
.brand-symbol,.auth-brand-symbol{background:#173a2a;color:#3de268;box-shadow:none;border:1px solid #2b7946}
.brand-copy span,.sidebar-card span{color:#a5b5c0}
.nav-label{color:#899ba9}
.nav-item{color:#c1ccd5}
.nav-item:hover{background:rgba(57,211,83,.09);color:#f6fff7}
.nav-item.active{background:#173c25;box-shadow:inset 3px 0 0 #39d353;color:#40e667}
.nav-item.active svg{color:#73ed91;filter:drop-shadow(0 0 7px rgba(57,211,83,.25))}
.sidebar-card{background:#25313b;border-color:#394a57}
.sidebar-card-icon{background:rgba(57,211,83,.14);color:#61e47e;font-weight:800}
.sidebar-footer{border-color:#394a57}
.danger-nav:hover{background:rgba(255,121,119,.12);color:#ffb5af}
.main-content{background:transparent}
.page-hero h1,.page-title h2,.panel-header h2{color:#f1f4f6}
.page-hero p,.page-title p,.panel-header p{color:#abb8c2}
.eyebrow,.section-kicker{color:#64e985}
.panel,.card,.metric-card,.team-card,.member-card,.class-select-card,.onboarding-card{background:#1c242c;border-color:#394a57;box-shadow:none;color:#edf3f6}
.panel{background:#1c242c}
.team-card{background:#202a33}
.submission-card,.review-card,.chat-shell,.backup-card,.score-card,.activity-card,.summary-card,.team-file-card{background:#1c242c;border-color:#394a57;box-shadow:none;color:#edf3f6}
.score-card,.activity-card,.summary-card{background:#202a33}
.team-card:hover,.class-select-card:hover{border-color:#42b76c;box-shadow:0 18px 42px rgba(0,0,0,.24),0 0 0 1px rgba(57,211,83,.13)}
.team-card-body p,.team-card-meta,.team-card-footer,.task-copy span,.member-card small{color:#aebac4}
.team-card-footer,.task-item,.message-item,.review-card-header,.chat-header,.composer,.delivery-info{border-color:#394a57}
.team-avatar,.message-avatar,.member-avatar,.class-card-icon.small{background:#293741;color:#aad0e3}
.metric-card:after{opacity:.08}
.metric-card span,.metric-card small,.kpis span{color:#aebac4}
.metric-card strong,.kpis strong{color:#f1f4f6}
.metric-blue .metric-icon{background:#253b58;color:#69a9ff}
.metric-violet .metric-icon{background:#393050;color:#b790ef}
.metric-orange .metric-icon{background:#4b3e28;color:#efb34b}
.metric-green .metric-icon{background:#24452d;color:#71e785}
.progress{background:#35434d}
.progress i{background:#39d353}
.progress-ring{background:conic-gradient(#39d353 calc(var(--value)*1%),#35434d 0)}
.progress-ring:after{background:#1c242c}
.task-status.warning{background:#473a1c;color:#f1c671}
.task-action,.icon-button{background:#283640;color:#d0dbe2}
.empty-icon{background:#283640;color:#b7c7d2}
.empty-inline,.muted,small{color:#aebac4}

/* Botões no ritmo visual MangueBeat. */
.button-link,.primary,button.primary,.auth-submit{background:#2cc954;border:1px solid #4de276;color:#0c2416!important;box-shadow:0 6px 18px rgba(32,207,106,.13);font-weight:800;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,border-color .18s,filter .18s}
.button-link:hover,.primary:hover,button.primary:hover,.auth-submit:hover{transform:translateY(-2px);box-shadow:0 14px 31px rgba(32,207,106,.26);filter:brightness(1.07)}
.button-link:active,.primary:active,button.primary:active,.auth-submit:active{transform:translateY(0) scale(.98)}
.button-link.secondary,.mini-button,.icon-action,.button-link.ghost{background:#26333d;color:#e0eaf0!important;border:1px solid #40515f;box-shadow:none}
.button-link.secondary:hover,.mini-button:hover,.icon-action:hover{background:#33424d;color:#fff!important;border-color:#648090;box-shadow:0 8px 22px rgba(0,0,0,.15)}
.panel-badge,.type-chip,.sprint-chip,.submission-badge{background:#283640;border-color:#40515f;color:#ccdae2}
.test-view-button,.test-view-actions a,.copy-temp-password{background:#26333d;border-color:#40515f;color:#e0eaf0}
.test-view-button:hover,.test-view-actions a:hover{background:#33424d;color:#fff}
button:disabled,.button-link:disabled{opacity:.56;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.text-link,.team-link,.forgot-password-link{color:#70e790}
.text-link:hover,.team-link:hover,.forgot-password-link:hover{color:#b5f9bf}
.test-view-button.selected,.test-view-actions a.active{background:#1c5430;border-color:#52c675}

/* Formulários, tabelas e cartões de gestão. */
label{color:#ccd8e0}
input,select,textarea{background:#172027;color:#edf3f6;border:1px solid #40515f}
input:hover,select:hover,textarea:hover{border-color:#647b8b}
input:focus,select:focus,textarea:focus{background:#1c2831;color:#fff;border-color:#42df73;box-shadow:0 0 0 4px rgba(57,211,83,.12)}
input::placeholder,textarea::placeholder{color:#899ca9;opacity:1}
option{background:#1c242c;color:#edf3f6}
.table-wrap{border-color:#394a57}
table{background:#1c242c;color:#edf3f6}
th{background:#25313b;color:#b7c6d0}
th,td{border-color:#394a57}
tbody tr:hover{background:#283640}
.class-admin-row,.member-card,.task-item,.team-activity-group,.submission-team-group,.delivery-monitor-card,.received-team-card{border-color:#394a57;background:#202a33;color:#edf3f6}
.class-admin-row:hover,.delivery-monitor-card:hover,.received-team-card:hover{border-color:#648090;background:#293741}
.class-admin-main span,.class-admin-main small{color:#aebac4}
.status-pill,.profile-chip,.class-context-chip{background:#27343e;border-color:#40515f;color:#e0eaf0}
.avatar{background:#305268;color:#eff7fc}
.manager-search{background:#1b2831;border-color:#40515f;color:#b4c8d6}
.manager-search select{background:#25343e;color:#edf3f6}
.chat-messages-modern{background:#171e25}
.bubble{background:#293a48;border-color:#40515f;color:#edf3f6}
.teacher-row .bubble{background:#234139;border-color:#397053}
.info-box{background:#263540;border-color:#40515f;color:#d1e0e9}
.activity-attachment{background:#253540;border-color:#40515f;color:#dce9f0}
.activity-attachment>svg,.attachments-list a,.attachment-download,.audio-preview{color:#78e6a0}
.submission-preview{background:#172027;border-color:#40515f}
.received-team-body,.received-submission-row{border-color:#394a57}
.risk-baixo,.access-confirmed{background:#17482b;color:#a3f0b1}
.risk-médio,.risk-medio,.access-pending{background:#483a19;color:#f6d789}
.risk-alto{background:#4c2528;color:#ffaaa6}
.flash{background:#27343e;border-color:#40515f;color:#edf3f6}
.flash-icon{background:#1d5233;color:#81ed9b}
.flash.success{border-color:#3b8b50}.flash.success .flash-icon{background:#1a5731;color:#99f5aa}
.flash.danger{border-color:#965356}.flash.danger .flash-icon{background:#51262b;color:#ffb0ae}
.flash.warning{border-color:#856b32}.flash.warning .flash-icon{background:#4c3d1c;color:#f2d384}
.notification-bell,.notification-close,.floating-menu{background:#293741;color:#e4eef4;border-color:#40515f}
.notification-bell:hover,.notification-close:hover{background:#344653}
.notification-panel{background:#1c242c;border-color:#40515f}
.notification-panel-head,.notification-item{border-color:#394a57}
.notification-item:hover,.notification-item.unread{background:#293741}
.notification-icon{background:#1b573b;color:#83e8a1}
.sidebar-collapse{background:#293741;color:#d0dfe8;border-color:#40515f}
.sidebar-collapse:hover{background:#344653;color:#fff}
.version-ribbon{color:#8ea2af}

/* Login em grafite e azul petróleo, com verde restrito aos destaques. */
.auth-shell{background:linear-gradient(145deg,#11171c 0%,#18232c 55%,#1a2a34 100%)!important;padding:34px 22px!important;isolation:isolate}
.auth-glow{filter:blur(38px);opacity:.28;pointer-events:none}
.auth-glow-one{width:min(70vw,950px);height:150px;left:-12vw;top:-90px;border-radius:50%;background:#31576c;transform:rotate(-8deg)}
.auth-glow-two{width:min(67vw,850px);height:150px;right:-12vw;bottom:-90px;border-radius:50%;background:#284a5d;transform:rotate(-9deg)}
.mangue-login{width:min(1120px,100%);min-height:660px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:#19232b;border:1px solid #40515f;border-radius:28px;box-shadow:0 35px 90px rgba(0,0,0,.34)}
.mangue-login .auth-showcase{background:linear-gradient(160deg,#223744,#17252d 82%);padding:47px 43px;isolation:isolate}
.mangue-login .auth-showcase:before{width:290px;height:290px;right:-110px;top:-80px;background:rgba(86,144,170,.06)}
.mangue-login .auth-showcase:after{width:240px;height:240px;left:-90px;bottom:-90px;background:rgba(72,130,153,.07)}
.mangue-login .auth-showcase .auth-brand{align-self:flex-start}
.mangue-login .auth-brand strong{font-size:23px;font-weight:900;letter-spacing:-.05em;color:#f1f5f8}
.mangue-login .auth-brand span{color:#a9c1cd;font-size:11px;letter-spacing:.04em}
.mangue-showcase-art{position:absolute;z-index:0;left:70%;top:22%;width:180px;height:180px;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}
.mangue-showcase-art .art-ring{position:absolute;border:1px solid rgba(99,162,184,.3);border-radius:50%;box-shadow:inset 0 0 30px rgba(41,110,142,.04)}
.art-ring-one{inset:11px}.art-ring-two{inset:45px;border-style:dashed!important;transform:rotate(-28deg)}
.mangue-showcase-art:before,.mangue-showcase-art:after{content:"";position:absolute;border-radius:50%;background:rgba(70,132,159,.1);filter:blur(12px)}
.mangue-showcase-art:before{inset:68px}.mangue-showcase-art:after{width:68px;height:68px;right:13px;top:18px;background:rgba(66,132,160,.16)}
.art-core{z-index:1;width:118px;height:118px;border:1px solid #4b8c72;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#294b59,#213b46);box-shadow:0 22px 45px rgba(0,0,0,.28);color:#50e477;font-size:68px;font-weight:900;letter-spacing:-.09em;transform:rotate(-9deg)}
.art-spark{position:absolute;width:12px;height:12px;border-radius:50%;background:#50e779;box-shadow:0 0 15px rgba(80,231,121,.7)}
.art-spark-one{left:24px;top:76px}.art-spark-two{right:31px;bottom:57px;width:8px;height:8px;background:#35d5c1}
.mangue-login .auth-showcase-copy{max-width:450px}
.mangue-login .auth-kicker{color:#76ee97}
.mangue-login .auth-showcase h1{font-size:clamp(31px,3.1vw,43px);line-height:1.08;letter-spacing:-.055em;color:#fff}
.mangue-login .auth-showcase p{color:#c3d1d9;font-size:14px;line-height:1.6}
.mangue-login .auth-feature-row{gap:8px}
.mangue-login .auth-feature-row div{border-color:#40515f;background:#293b46;color:#d7e5ec}
.mangue-login .auth-feature-row svg{color:#7af198}
.mangue-login .login-card{align-self:stretch;margin:22px;padding:clamp(28px,3.3vw,50px);border:1px solid #40515f;border-radius:22px;background:#1c242c;box-shadow:0 22px 50px rgba(0,0,0,.19)}
.mangue-login .login-heading h2{color:#f1f4f6;font-size:clamp(26px,2.5vw,34px)}
.mangue-login .login-heading p{color:#adbdc7;font-size:13px;line-height:1.5}
.mangue-login .modern-form label{color:#cbd8df;font-size:11px}
.mangue-login .input-shell input{min-height:50px;background:#151d24;border-color:#40515f;border-radius:11px}
.mangue-login .input-shell input:focus{background:#1b2932;border-color:#52e87e;box-shadow:0 0 0 4px rgba(57,211,83,.12)}
.mangue-login .input-shell svg{color:#95acba}
.mangue-login .input-shell .password-toggle{background:transparent;color:#b6cbd6}
.mangue-login .input-shell .password-toggle:hover{background:#33444f;color:#fff}
.mangue-login .auth-submit{min-height:50px;border-radius:11px;font-size:14px}
.mangue-login .forgot-password-link{margin-top:22px;color:#7de89c}
.mangue-login .auth-note{margin-top:20px;color:#9dafba;font-size:10px}
.mangue-login .auth-note svg{color:#6be78c}
.login-card input:-webkit-autofill,.login-card input:-webkit-autofill:hover,.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#edf3f6;-webkit-box-shadow:0 0 0 1000px #151d24 inset;box-shadow:0 0 0 1000px #151d24 inset;caret-color:#edf3f6}

/* Ações expansíveis de projetos e tarefas. */
.panel details{border-top:1px solid #394a57;padding:8px 0;color:#dce7ee}
.panel details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:700}
.panel details summary::-webkit-details-marker{display:none}
.panel details summary:before{content:"+";display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#294234;color:#8df0a4;font-size:17px;line-height:1}
.panel details[open] summary:before{content:"−"}
.panel details summary:hover,.panel details summary:focus-visible{background:#2b3943;color:#fff}
.panel details>form,.panel details>.class-admin-row,.panel details>p{margin:10px 12px}
.panel details form{padding:12px;border:1px solid #394a57;border-radius:10px;background:#182128}
.panel details form label{display:block;margin:8px 0 5px}
.panel details form .mini-button{margin-top:10px}
.general-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekday{text-align:center;color:#bbcad4;font-size:12px;letter-spacing:.08em;padding:8px}
.calendar-day{min-height:118px;padding:9px;border:1px solid #394a57;border-radius:10px;background:#202a33;overflow:hidden}
.calendar-day>span{display:block;color:#d9e5ec;font-weight:800;margin-bottom:7px}
.calendar-day>a{display:block;padding:7px;margin:5px 0;border-radius:7px;background:#254332;color:#e8f7eb;text-decoration:none;font-size:11px}
.calendar-day>a:hover,.calendar-day>a:focus-visible{background:#2d6740}
.calendar-day>a strong,.calendar-day>a small{display:block;overflow-wrap:anywhere}
.calendar-day>a small{color:#bbd9c3;margin-top:3px}
.calendar-empty{opacity:.28}
@media(max-width:700px){.general-calendar{gap:3px}.calendar-day{min-height:62px;padding:4px;border-radius:6px}.calendar-day>a{padding:4px;font-size:9px}.calendar-day>a small{display:none}.calendar-weekday{font-size:10px;padding:4px}}

@media(max-width:900px){
  .mangue-login{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .mangue-login .auth-showcase{padding:34px 28px}
  .mangue-showcase-art{width:210px;height:210px}
  .mangue-login .auth-feature-row{grid-template-columns:1fr}
  .mangue-login .auth-feature-row div:nth-child(n+2){display:none}
  .mangue-login .login-card{margin:15px;padding:30px}
}
@media(max-width:700px){
  .auth-shell{padding:18px 12px!important;align-items:start}
  .mangue-login{display:flex;flex-direction:column;width:min(100%,560px);min-height:0;border-radius:22px}
  .mangue-login .auth-showcase{display:flex;min-height:225px;padding:27px 26px;border-radius:21px 21px 0 0}
  .mangue-login .auth-brand-symbol{width:38px;height:38px;font-size:18px}
  .mangue-login .auth-showcase-copy{margin-top:auto;max-width:340px}
  .mangue-login .auth-showcase h1{font-size:25px;margin:9px 0 0}
  .mangue-login .auth-showcase p,.mangue-login .auth-feature-row{display:none}
  .mangue-showcase-art{left:auto;right:10px;top:105px;width:120px;height:120px;transform:none;opacity:.75}
  .art-ring-one{inset:2px}.art-ring-two{inset:22px}
  .art-core{width:65px;height:65px;border-radius:18px;font-size:35px}
  .art-spark{display:none}
  .mangue-login .login-card{width:100%;margin:0;border:0;border-radius:0 0 21px 21px;padding:28px 23px 31px;box-shadow:none}
  .mangue-login .login-heading p{margin-bottom:18px}
}
@media(max-width:420px){
  .mangue-login .auth-showcase{min-height:202px;padding:22px 19px}
  .mangue-login .auth-showcase h1{font-size:22px;max-width:235px}
  .mangue-login .auth-brand span{font-size:9px}
  .mangue-login .login-card{padding:24px 18px 28px}
  .mangue-login .login-heading h2{font-size:26px}
}
@media(max-width:900px){.app-shell .main-content{padding-top:74px}}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Logo enviada pelo autor: azul e roxo sobre a base em azul petróleo. */
:root{--orange:#155fda;--orange-2:#7642df;--blue:#438ff4;--violet:#9b74ff}
.logo-mark{position:relative;overflow:hidden;background:#fff!important;border:1px solid #65768a!important;box-shadow:0 5px 15px rgba(0,0,0,.15)!important;flex:0 0 auto}
.logo-mark img{position:absolute;display:block;width:60px;max-width:none;height:auto;left:-8px;top:-12px;clip-path:inset(0 0 27% 0)}
.brand-copy .brand-wordmark span,.mangue-login .auth-brand .brand-wordmark span{display:inline;margin:0;font:inherit;letter-spacing:inherit;color:#b391ff}
.nav-item.active{background:#203553;box-shadow:inset 3px 0 0 #438ff4;color:#bad5ff}
.nav-item.active svg{color:#8fbaff;filter:none}
.nav-item:hover{background:rgba(67,143,244,.1)}
.eyebrow,.section-kicker,.mangue-login .auth-kicker{color:#8ab8ff}
.button-link:not(.secondary):not(.ghost),.primary,button.primary,.auth-submit{background:linear-gradient(110deg,#155fda,#7642df);border-color:#759cff;color:#fff!important;box-shadow:0 8px 20px rgba(56,89,208,.2)}
.button-link:not(.secondary):not(.ghost):hover,.primary:hover,button.primary:hover,.auth-submit:hover{box-shadow:0 12px 27px rgba(85,80,213,.3)}
.text-link,.team-link,.forgot-password-link,.mangue-login .forgot-password-link{color:#a8bdff}
.text-link:hover,.team-link:hover,.forgot-password-link:hover{color:#d5c7ff}
.progress i{background:linear-gradient(90deg,#155fda,#7642df)}
.progress-ring{background:conic-gradient(#438ff4 calc(var(--value)*1%),#35434d 0)}
.sidebar-card-icon,.notification-icon{background:rgba(67,143,244,.17);color:#9fc2ff}
input:focus,select:focus,textarea:focus,.mangue-login .input-shell input:focus{border-color:#728eff;box-shadow:0 0 0 4px rgba(85,106,238,.16)}
.mangue-login .auth-feature-row svg,.mangue-login .auth-note svg{color:#a78bfa}
.mangue-showcase-art .art-ring{border-color:rgba(135,145,255,.34)}
.art-spark{background:#478dff;box-shadow:0 0 15px rgba(71,141,255,.6)}
.art-spark-two{background:#9368f2}
.logo-hero-frame{position:relative;width:118px;height:106px;border:1px solid #6b7791;border-radius:22px;background:#fff;overflow:hidden;transform:none;box-shadow:0 17px 38px rgba(0,0,0,.24)}
.logo-hero-frame img{position:absolute;display:block;width:108px;height:auto;max-width:none;left:5px;top:-10px}
.project-tools-entry{display:flex;align-items:center;gap:15px;margin:-2px 0 22px;padding:17px 20px;border:1px solid #526481;border-radius:18px;background:linear-gradient(110deg,#223647,#27233d);color:#eaf2ff;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.project-tools-entry:hover{border-color:#809bff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(20,25,47,.25)}
.project-tools-entry-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#155fda,#7642df);color:#fff;flex:0 0 auto}
.project-tools-entry>span:nth-child(2){display:grid;gap:4px;flex:1}.project-tools-entry strong{font-size:15px}.project-tools-entry small{font-size:12px;color:#bdcce0}.project-tools-entry>svg{width:19px;color:#a6beff}
.project-tools-entry.assignments-entry{margin-top:-10px;background:linear-gradient(110deg,#203847,#233343)}
.project-tools-entry.assignments-entry .project-tools-entry-icon{background:linear-gradient(135deg,#225baa,#545ccd)}
@media(max-width:700px){
  .mangue-login .auth-brand-symbol.logo-mark img{width:54px;left:-7px;top:-10px}
  .logo-hero-frame{width:72px;height:67px;border-radius:15px}
  .logo-hero-frame img{width:65px;left:3px;top:-6px}
}
