/* ATRIA Premium UI v1 — visual refinement layer.
   Loaded after the existing design files so functionality and layout logic remain intact. */
:root{
  --navy:#0b2f4d;
  --navy-2:#123d5d;
  --teal:#12b8aa;
  --teal-soft:#e9f9f7;
  --ink:#102943;
  --muted:#6f829b;
  --border:#e3eaf2;
  --paper:#ffffff;
  --base:#f5f8fc;
  --blue:#2477d4;
  --shadow:0 10px 30px rgba(16,41,67,.055);
  --shadow-lg:0 24px 60px rgba(12,38,64,.11);
  --r:14px;
}
html{background:var(--base)}
body{
  background:
    radial-gradient(circle at 82% -10%,rgba(20,184,166,.055),transparent 27%),
    linear-gradient(180deg,#f8fbff 0,#f5f8fc 42%,#f4f7fb 100%);
  color:var(--ink);
  letter-spacing:-.005em;
}
::selection{background:rgba(20,184,166,.18);color:var(--navy)}
button,input,select,textarea{font-feature-settings:"cv02","cv03","cv04","cv11"}
button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}
button:active:not(:disabled){transform:translateY(1px)}

/* Sidebar */
.sidebar{
  background:
    radial-gradient(circle at 18% 6%,rgba(31,197,183,.13),transparent 22%),
    linear-gradient(180deg,#103a5a 0%,#0a304d 55%,#082942 100%);
  border-right:1px solid rgba(255,255,255,.04);
  box-shadow:8px 0 28px rgba(11,42,68,.035);
}
.sidebar .brand{
  border-bottom:1px solid rgba(166,215,228,.13);
  margin-bottom:7px;
  padding-bottom:17px;
}
.sidebar .brand-mark{
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.12));
}
.sidebar .brand-word strong{
  font-size:20px;
  letter-spacing:-.55px;
  line-height:1;
}
.sidebar .brand-word small{
  margin-top:2px;
  color:#b7d3df;
  letter-spacing:2.05px;
}
.sidebar .nav-section{
  color:#8eb4c8;
  font-size:8.5px;
  letter-spacing:2.25px;
  padding-top:15px;
}
.sidebar .nav-link{
  color:#eef6fb;
  opacity:.92;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.sidebar .nav-link:hover{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.045);
  opacity:1;
}
.sidebar .nav-link.active{
  background:linear-gradient(90deg,rgba(54,126,171,.78),rgba(42,105,148,.68));
  border-color:rgba(124,220,210,.12);
  box-shadow:inset 3px 0 0 #72e0d4,0 7px 18px rgba(2,25,43,.12);
  opacity:1;
}
.sidebar .nav-link.active svg{color:#eafffd}
.sidebar .sidebar-footer{
  border-top-color:rgba(164,210,224,.18);
}
.sidebar-footer p{
  color:#dcebf2;
  font-size:9.5px;
  letter-spacing:1.45px;
}

/* Top navigation */
.topbar{
  height:82px;
  background:rgba(255,255,255,.91);
  border-bottom:1px solid #e8edf4;
  box-shadow:0 4px 18px rgba(18,55,88,.025);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding-left:32px;
  padding-right:32px;
}
.search-wrap{
  height:46px;
  width:min(570px,100%);
  background:#f3f6fa;
  border:1px solid transparent;
  border-radius:14px;
  padding:0 16px;
  transition:background .18s,border-color .18s,box-shadow .18s;
}
.search-wrap:focus-within{
  background:#fff;
  border-color:#cfe7e4;
  box-shadow:0 0 0 4px rgba(20,184,166,.075);
}
.search-wrap svg{color:#557797}
.search-wrap input{font-size:13.5px}
.search-wrap input::placeholder{color:#8d9db1}
.top-actions{gap:15px}
.icon-button{
  border-radius:11px;
  transition:background .16s,color .16s;
}
.icon-button:hover{background:#f1f6fa;color:#0e6e80}
.profile{
  min-height:54px;
  padding:5px 8px 5px 5px;
  border-radius:14px;
  transition:background .16s ease;
}
.profile:hover{background:#f5f8fb}
.avatar{
  width:44px;height:44px;
  border:2px solid #fff;
  box-shadow:0 0 0 1px #dce5ed,0 4px 12px rgba(17,54,87,.09);
}
.profile-label b{font-size:13px;color:#102b48}
.profile-label small{font-size:10px;letter-spacing:.03em;color:#8292a7}

/* Main canvas and typography */
.main{
  padding:28px 30px 42px;
  max-width:1720px;
}
.hero{
  gap:20px;
  margin-bottom:19px;
}
.hero .hero-text{padding:4px 10px}
.hero h1{
  font-size:clamp(33px,2.35vw,42px);
  line-height:1.08;
  letter-spacing:-1.6px;
  color:#0c2946;
}
.hero p{
  margin-top:7px;
  font-size:15.5px;
  color:#788aa3;
  letter-spacing:-.1px;
}
.slogan-card{
  border-color:#e0e8f0;
  box-shadow:0 8px 26px rgba(17,55,87,.045);
  background:
    radial-gradient(circle at 85% 40%,rgba(20,184,166,.065),transparent 30%),
    linear-gradient(135deg,#fff,#fbfdff);
  border-radius:16px;
}
.slogan-card h2{color:#102943;font-weight:800}
.slogan-card p{color:#6c8099}
.slogan-card .round-next{
  background:#effaf8;
  border-color:#d8f2ef;
  box-shadow:none;
}
.slogan-card .round-next:hover{background:#dff5f1;transform:translateX(2px)}

/* Cards */
.metric,.panel,.home-project-card,.home-quick-links button,.projects-summary span,.line-item{
  border-color:var(--border);
  box-shadow:var(--shadow);
}
.metric,.panel{
  border-radius:15px;
  background:rgba(255,255,255,.97);
}
.home-metrics{gap:12px;margin-bottom:18px}
.home-metrics .metric{
  min-height:126px;
  padding:18px 17px 14px;
  position:relative;
  overflow:hidden;
}
.home-metrics .metric:before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,rgba(20,184,166,.62),rgba(36,119,212,.18),transparent 72%);
  opacity:.55;
}
.home-metrics .metric:hover{
  border-color:#d4e3eb;
  box-shadow:0 16px 36px rgba(17,55,87,.07);
  transform:translateY(-1px);
}
.metric-heading .micon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:#eef6ff;
}
.metric-heading .micon.teal{background:#eaf9f6}
.metric-heading .micon svg{width:27px;height:27px}
.home-metrics .metric-heading .num{
  font-size:29px;
  color:#0d2a47;
  letter-spacing:-1.1px;
}
.metric-heading .mlabel{font-size:11.5px;color:#697d97}
.home-metrics .metric-foot{color:#8191a6;font-size:10.5px}

.panel{
  padding:18px;
}
.panel-head h2,.home-section-head h2{
  color:#102943;
  letter-spacing:-.55px;
}
.panel-head .small-link{
  color:#1a72c7;
  font-weight:600;
}
.panel-head .small-link:hover{color:#0a5ea9}

/* Priority and quick cards */
.home-priority-cards{gap:10px}
.home-project-card{
  border-radius:13px;
  box-shadow:none;
  padding:15px 14px 13px;
  background:linear-gradient(180deg,#fff,#fcfdff);
}
.home-project-card:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:#bdded9;
  box-shadow:0 12px 28px rgba(17,70,88,.07);
}
.home-project-card .home-project-name{color:#102943;font-size:13.5px}
.home-project-card .home-client{color:#7d8ca1}
.home-project-card .progress-track{background:#e7edf3;height:6px}
.home-quick-links{gap:10px}
.home-quick-links button{
  border-radius:13px;
  box-shadow:none;
  background:#fff;
}
.home-quick-links button:hover{
  background:#fbfefd;
  border-color:#b8ded9;
  box-shadow:0 9px 24px rgba(18,72,89,.05);
  transform:translateY(-1px);
}

/* Side cards */
.right-stack{gap:12px}
.right-stack .panel{padding:15px}
.delivery,.activity,.meeting-entry{
  border-color:#e5ebf2;
  border-radius:12px;
  background:#fff;
  transition:background .16s,border-color .16s;
}
.delivery:hover,.activity:hover,.meeting-entry:hover{
  border-color:#d1e2e8;
  background:#fcfefe;
}
.date-box{background:#f2f6fb;color:#173b5c}
.activity .mini-avatar{background:#eaf1f8;color:#2d5678}

/* Buttons */
.primary{
  background:linear-gradient(180deg,#123f61,#0c3351);
  border-radius:10px;
  min-height:40px;
  padding:10px 16px;
  box-shadow:0 7px 18px rgba(12,51,81,.13);
}
.primary:hover{
  background:linear-gradient(180deg,#165070,#103b5b);
  box-shadow:0 9px 22px rgba(12,51,81,.18);
  transform:translateY(-1px);
}
.secondary{
  min-height:39px;
  border-radius:10px;
  border-color:#dce5ee;
  background:#fff;
}
.secondary:hover{
  border-color:#c9d8e5;
  background:#f8fbfd;
}
.danger{border-radius:10px}

/* Tables and operational screens */
.project-panel{overflow:hidden}
.project-table thead{background:#f6f8fb}
.project-table th{
  color:#6b7e96;
  letter-spacing:.8px;
  height:40px;
}
.project-table td{
  height:66px;
  border-bottom-color:#edf1f5;
}
.project-table tbody tr{transition:background .14s}
.project-table tbody tr:hover{background:#f9fcfd}
.project-symbol{
  width:38px;height:38px;
  background:#f0f5fa;
  border-radius:11px;
}
.project-cell strong{font-size:12.5px;color:#102943}
.project-cell small{color:#8896a8}
.mini-avatar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.progress-track{background:#e4eaf0}
.progress-fill{background:linear-gradient(90deg,#12a997,#17c0ad)}
.pill{font-weight:600}
.pill.em_andamento,.pill.concluido{background:#e6f8f4;color:#087f72}
.pill.planejamento{background:#eaf3fd;color:#196bb2}
.pill.atrasado{background:#fff0f2;color:#c53a4a}
.tabs{gap:7px}
.tab{
  border:1px solid transparent;
  background:#f3f6f9;
  border-radius:9px;
}
.tab:hover{background:#edf3f7}
.tab.active{
  background:#e9f4f9;
  border-color:#d2e9ee;
  color:#0b7080;
  font-weight:650;
}
.projects-summary span{
  border-radius:10px;
  box-shadow:none;
}

/* Forms and dialogs */
.modal-cover{
  background:rgba(5,25,43,.54);
  backdrop-filter:blur(5px);
}
.modal{
  border:1px solid rgba(222,231,240,.9);
  border-radius:18px;
  box-shadow:0 28px 90px rgba(8,29,49,.22);
}
.modal-top{
  padding-bottom:14px;
  border-bottom:1px solid #edf1f5;
}
.modal-top h2{color:#102943;letter-spacing:-.4px}
.close-btn{
  background:#f3f6f9;
  color:#49637d;
  transition:background .15s,transform .15s;
}
.close-btn:hover{background:#eaf0f5;transform:rotate(3deg)}
.fields label{color:#405a74;font-weight:650}
.fields input,.fields select,.fields textarea,
#meeting-form .meeting-schedule input,#meeting-form .meeting-schedule select{
  border-color:#dce5ee;
  border-radius:10px;
  background:#fbfcfe;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.fields input:focus,.fields select:focus,.fields textarea:focus,
#meeting-form .meeting-schedule input:focus,#meeting-form .meeting-schedule select:focus{
  background:#fff;
  border-color:#8fd7cf;
  box-shadow:0 0 0 4px rgba(20,184,166,.075);
  outline:0;
}
.tooltip-menu{
  border-radius:12px;
  border-color:#e1e8ef;
  box-shadow:0 14px 36px rgba(15,48,76,.12);
}
.tooltip-menu button{border-radius:8px}
.toast{
  border-radius:12px;
  background:#0e334f;
  box-shadow:0 18px 45px rgba(10,42,67,.22);
}

/* Meetings */
.meeting-day,.meeting-entry,.meeting-attendee-option{
  border-color:#e2e9f0;
}
.meeting-day{
  border-radius:11px;
  background:#fdfefe;
}
.meeting-day:hover,.meeting-day:focus-visible{
  border-color:#84d7ce;
  background:#f6fcfb;
}
.meeting-day.today{
  border-color:#6dd1c7;
  box-shadow:inset 0 0 0 1px rgba(20,184,166,.45);
}
.meeting-mode-options span{border-radius:10px}

/* Mobile refinement */
@media(max-width:850px){
  .topbar{height:70px;padding:0 12px}
  .search-wrap{border-radius:11px}
  .main{padding:18px 13px 30px}
  .hero h1{font-size:30px}
  .metric,.panel{border-radius:13px}
}
@media(max-width:520px){
  .home-metrics{gap:9px}
  .home-metrics .metric{min-height:117px;padding:14px 12px}
  .home-metrics .metric-heading .num{font-size:24px}
  .metric-heading .micon{width:38px;height:38px}
  .metric-heading .micon svg{width:23px;height:23px}
}

/* ATRIA Login */
.login-page{
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:26px;
  background:
    radial-gradient(circle at 15% 18%,rgba(20,184,166,.2),transparent 28%),
    radial-gradient(circle at 86% 78%,rgba(41,115,169,.17),transparent 30%),
    linear-gradient(145deg,#082942 0%,#0c3653 48%,#0a2f4c 100%);
}
.login-shell{
  width:min(900px,100%);
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  box-shadow:0 35px 100px rgba(1,19,33,.34);
  background:#fff;
}
.login-brand-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:42px;
  color:#fff;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 22%,rgba(20,184,166,.19),transparent 25%),
    linear-gradient(160deg,#0d3858 0%,#082d49 100%);
}
.login-brand-panel:after{
  content:"";
  position:absolute;
  width:310px;height:310px;
  right:-130px;bottom:-115px;
  border:1px solid rgba(127,220,211,.12);
  border-radius:50%;
  box-shadow:0 0 0 46px rgba(127,220,211,.035),0 0 0 92px rgba(127,220,211,.025);
}
.login-brand{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:14px;
}
.login-brand img{width:58px;height:58px}
.login-brand strong{display:block;font-size:25px;letter-spacing:-.8px}
.login-brand span{display:block;margin-top:5px;font-size:8px;letter-spacing:2.4px;color:#b7d7df}
.login-brand-copy{position:relative;z-index:1}
.login-brand-copy h2{font-size:32px;line-height:1.08;letter-spacing:-1.1px;margin:0 0 14px}
.login-brand-copy p{max-width:290px;margin:0;color:#b9ced9;line-height:1.65;font-size:13px}
.login-form-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:54px 52px;
  background:linear-gradient(180deg,#fff,#fbfcfe);
}
.login-card{
  width:100%;
  max-width:380px;
  padding:0;
  border-radius:0;
  box-shadow:none;
  text-align:left;
  background:transparent;
}
.login-card>img{display:none}
.login-card h1{
  margin:0 0 8px;
  color:#102943;
  font-size:31px;
  letter-spacing:-1px;
}
.login-card>p{margin:0 0 31px;color:#7a8ba0;font-size:13px}
.login-card form{gap:12px}
.login-card label{color:#3d566f;font-size:12px}
.login-card input[type=password],.login-card input[type=text]{
  min-height:48px;
  border:1px solid #dbe4ed;
  border-radius:11px;
  background:#f9fbfd;
  padding:0 13px;
  transition:border .15s,box-shadow .15s,background .15s;
}
.login-card input[type=password]:focus,.login-card input[type=text]:focus{
  outline:0;
  background:#fff;
  border-color:#8ed5cd;
  box-shadow:0 0 0 4px rgba(20,184,166,.08);
}
.login-card .primary{
  margin-top:8px;
  width:100%;
  min-height:47px;
  border-radius:11px;
}
.login-card .show-password{margin-top:-2px}
.login-card #login-error{color:#b93f4d}
.login-note{margin-top:24px;padding-top:18px;border-top:1px solid #edf1f5;color:#8a99aa;font-size:10.5px;line-height:1.55}
@media(max-width:760px){
  .login-page{padding:14px}
  .login-shell{grid-template-columns:1fr;min-height:0}
  .login-brand-panel{padding:27px 28px;min-height:210px}
  .login-brand-copy h2{font-size:25px}
  .login-form-panel{padding:36px 28px 40px}
}
