/* TERRA DO SABER — PREMIUM INNER PAGES V2 */

:root{
  --tds-brown:#6f3f29;
  --tds-brown-2:#8d624d;
  --tds-brown-soft:#efe3dc;
  --tds-pink:#d38db8;
  --tds-pink-soft:#fae7f0;
  --tds-orange:#ee8068;
  --tds-orange-soft:#fee8dc;
  --tds-green:#84a95c;
  --tds-green-soft:#edf4e3;
  --tds-blue:#7298ac;
  --tds-blue-soft:#eaf2f6;
  --tds-paper:#fbf9f7;
  --tds-card:#fffdfb;
  --tds-ink:#35241e;
  --tds-muted:#82746d;
  --tds-line:#eee5e0;
  --tds-shadow:0 12px 34px rgba(72,42,30,.07);
  --tds-shadow-hover:0 18px 40px rgba(72,42,30,.11);
}

html{background:var(--tds-paper)}
body{background:
  radial-gradient(circle at 88% -8%,rgba(211,141,184,.16),transparent 27%),
  radial-gradient(circle at 0% 85%,rgba(238,128,104,.10),transparent 25%),
  var(--tds-paper)}

/* Desktop app shell */
@media (min-width:981px){
  main{
    max-width:1500px!important;
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    column-gap:30px;
    align-items:start;
    padding:26px 30px 78px!important;
  }
  main>.admin-nav{
    grid-column:1;
    grid-row:1 / span 80;
    position:sticky;
    top:104px;
    align-self:start;
    min-width:0;
  }
  main>:not(.admin-nav){grid-column:2;min-width:0}
}

/* Sidebar navigation */
.admin-nav{
  width:100%!important;
  display:flex!important;
  flex-direction:column;
  gap:5px!important;
  padding:12px!important;
  margin:0 0 22px!important;
  border:1px solid var(--tds-line)!important;
  border-radius:22px!important;
  background:rgba(255,253,251,.94)!important;
  box-shadow:var(--tds-shadow)!important;
  backdrop-filter:blur(16px);
}
.admin-nav:before{
  content:'NAVEGAÇÃO';
  display:block;
  padding:6px 10px 8px;
  color:#aa9b93;
  font-size:9px;
  letter-spacing:.16em;
  font-weight:800;
}
.admin-nav button{
  width:100%;
  display:flex!important;
  align-items:center;
  gap:10px;
  text-align:left!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  color:#756860!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  transition:.18s ease!important;
}
.admin-nav button:before{
  width:28px;height:28px;
  flex:0 0 28px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#f6f0ec;
  color:var(--tds-brown);
  font-size:13px;
  font-weight:900;
}
.admin-nav button[onclick*="dashboard"]:before{content:'⌂'}
.admin-nav button[onclick*="calendar"]:before{content:'◎';background:var(--tds-pink-soft);color:#ad5c8c}
.admin-nav button[onclick*="schedules"]:before,.admin-nav button[onclick*="schedule"]:before{content:'▦';background:var(--tds-green-soft);color:#648445}
.admin-nav button[onclick*="billing"]:before{content:'€';background:var(--tds-orange-soft);color:#bf674c}
.admin-nav button[onclick*="students"]:before{content:'●';background:#edf4e3;color:#76914c}
.admin-nav button[onclick*="tutors"]:before{content:'✦';background:#f3eafa;color:#9a6dad}
.admin-nav button[onclick*="parents"]:before{content:'♡';background:#fae7f0;color:#b55e91}
.admin-nav button[onclick*="attendance"]:before{content:'✓';background:#e7f1fa;color:#4f7ea2}
.admin-nav button[onclick*="communications"]:before{content:'✉';background:#f8eedc;color:#a66f12}
.admin-nav button[onclick*="activity"]:before{content:'↺';background:#e6f3ef;color:#3f7f72}
.admin-nav button[onclick*="errors"]:before{content:'!';background:#fae7ec;color:#b64862}
.admin-nav button[onclick*="account"]:before{content:'○';background:#eee9e5;color:#765344}
.admin-nav button:hover{background:#faf4f1!important;color:var(--tds-brown)!important;transform:translateX(2px)}
.admin-nav button.on{
  background:linear-gradient(135deg,#f6e5df,#f9edf3)!important;
  color:var(--tds-brown)!important;
  box-shadow:none!important;
}
.admin-nav button.on:after{
  content:'';
  width:4px;height:22px;
  border-radius:99px;
  background:var(--tds-orange);
  margin-left:auto;
}

/* Page title / hero sections */
.hero:not(.dashboard-hero){
  position:relative;
  overflow:hidden;
  min-height:126px;
  align-items:center!important;
  padding:24px 26px!important;
  margin-bottom:18px!important;
  border:1px solid var(--tds-line);
  border-radius:24px;
  background:
    radial-gradient(circle at 93% 10%,rgba(211,141,184,.24),transparent 27%),
    radial-gradient(circle at 83% 120%,rgba(238,128,104,.18),transparent 34%),
    linear-gradient(135deg,#fffdfb,#fff8f4);
  box-shadow:var(--tds-shadow);
}
.hero:not(.dashboard-hero):before{
  content:'';
  position:absolute;
  right:22px;bottom:-54px;
  width:150px;height:115px;
  border-radius:60% 40% 50% 50%;
  background:rgba(111,63,41,.055);
  transform:rotate(-7deg);
}
.hero:not(.dashboard-hero):after{
  content:'✦';
  position:absolute;
  right:54px;top:22px;
  color:rgba(238,128,104,.42);
  font-size:22px;
}
.hero:not(.dashboard-hero)>*{position:relative;z-index:1}
.hero h1{font-family:'Nunito',system-ui,sans-serif!important;font-weight:900!important;letter-spacing:-.035em!important}
.hero p{max-width:720px;line-height:1.55!important}
.ey{color:#bc6e9d!important;letter-spacing:.15em!important}

/* Cards and metrics */
.card,.stat{
  border:1px solid var(--tds-line)!important;
  background:rgba(255,253,251,.96)!important;
  box-shadow:var(--tds-shadow)!important;
}
.card{border-radius:20px!important}
.stat{border-radius:18px!important;position:relative;overflow:hidden}
.stat:after{
  content:'';position:absolute;right:-18px;top:-24px;width:70px;height:70px;border-radius:50%;
  background:rgba(211,141,184,.08)
}
.stat b{font-family:'Nunito',system-ui,sans-serif!important;font-weight:900!important}
.stats{gap:12px!important}

/* Buttons */
.btn{
  border-radius:12px!important;
  padding:10px 15px!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(111,63,41,.14)}
.btn.light:hover{background:#fff8f4!important}
.btn.danger:hover{background:#fff4f4!important}
.btn.small{border-radius:9px!important;padding:7px 10px!important}

/* Inputs */
input,select,textarea{
  border:1px solid #e7ddd7!important;
  border-radius:12px!important;
  background:#fffdfc!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:#d5a28b!important;
  box-shadow:0 0 0 3px rgba(238,128,104,.11)!important;
}
label{color:#7b6b63!important;font-weight:700!important}

/* Tables */
.table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
}
.table thead th{
  padding:11px 12px!important;
  background:#faf5f2!important;
  color:#8d7f77!important;
  border-top:1px solid var(--tds-line)!important;
  border-bottom:1px solid var(--tds-line)!important;
  letter-spacing:.07em!important;
}
.table thead th:first-child{border-left:1px solid var(--tds-line)!important;border-radius:12px 0 0 12px}
.table thead th:last-child{border-right:1px solid var(--tds-line)!important;border-radius:0 12px 12px 0}
.table td{padding:13px 12px!important;border-bottom:1px solid #f0e9e5!important}
.table tbody tr{transition:background .15s ease}
.table tbody tr:hover{background:#fff9f6}
.table b{color:var(--tds-ink)}
.table-actions .btn{box-shadow:none!important}

/* Toolbars */
.toolbar{
  gap:12px!important;
  padding:4px 0 14px;
  border-bottom:1px solid #f1eae6;
}
.toolbar h2{font-family:'Nunito',system-ui,sans-serif!important;font-weight:900!important}
.toolbar input{background:#fff!important}

/* Status pills */
.status,.pill,.schedule-mode,.student-mode{
  border-radius:999px!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
.status.on,.invoice-paid{background:#edf5e8!important;color:#56794e!important}
.status.off{background:#f5efec!important;color:#8d7165!important}
.invoice-pending{background:#fff0e7!important;color:#a96342!important}

/* Evaluations */
.test{
  border:1px solid #f0e7e2!important;
  border-radius:15px!important;
  padding:12px!important;
  margin:8px 0!important;
  background:#fffdfa;
  transition:.15s ease;
}
.test:hover{transform:translateY(-1px);box-shadow:var(--tds-shadow)}
.date{width:54px!important;border-radius:13px!important;background:linear-gradient(145deg,#fae7f0,#fff1eb)!important}
.date b{font-family:'Nunito',system-ui,sans-serif!important;font-weight:900!important;color:#9f5d82!important}
.testmain b{font-weight:800!important}
.testmain small{line-height:1.45}

/* Schedule */
.schedule-tabs{
  width:max-content;
  padding:5px;
  border:1px solid var(--tds-line);
  border-radius:13px;
  background:#f7f1ed;
}
.schedule-tabs button{border:0!important;background:transparent!important;border-radius:9px!important}
.schedule-tabs button.on{background:#fff!important;color:var(--tds-brown)!important;box-shadow:0 3px 10px rgba(70,43,31,.08)!important}
.schedule-filters{
  padding:14px!important;
  border:1px solid var(--tds-line)!important;
  border-radius:16px!important;
  background:#fffdfb!important;
  box-shadow:var(--tds-shadow-soft)!important;
}
.schedule-grid-wrap{
  border:1px solid var(--tds-line)!important;
  border-radius:20px!important;
  box-shadow:var(--tds-shadow)!important;
  background:#fff!important;
}
.schedule-week-head{
  background:#fbf6f2!important;
  color:#765344!important;
  padding:11px 8px!important;
  font-family:'Nunito',system-ui,sans-serif!important;
}
.schedule-time{background:#fcfaf8!important;color:#9a8b83!important}
.schedule-cell{background:linear-gradient(#fff,#fffdfc)!important}
.schedule-event{
  border-radius:12px!important;
  border:1px solid #ead8cf!important;
  background:linear-gradient(145deg,#fff0e8,#f8e7df)!important;
  box-shadow:0 4px 10px rgba(83,52,37,.055)!important;
  transition:.16s ease!important;
}
.schedule-event:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(83,52,37,.11)!important}
.schedule-event:nth-of-type(4n+1){background:linear-gradient(145deg,#edf5e8,#e6f0dc)!important;border-color:#d9e5cf!important}
.schedule-event:nth-of-type(4n+2){background:linear-gradient(145deg,#fae8f0,#f7dfe9)!important;border-color:#efd0df!important}
.schedule-event:nth-of-type(4n+3){background:linear-gradient(145deg,#eef5f8,#e5eff4)!important;border-color:#d6e6ed!important}
.schedule-event.exception{box-shadow:inset 4px 0 var(--tds-orange),0 6px 14px rgba(83,52,37,.07)!important}
.schedule-event.cancelled{background:#fff3f3!important;border-color:#edcccc!important}
.schedule-student-row,.occurrence-student-row{
  border-radius:12px!important;
  background:#fffdfb!important;
}
.schedule-week-toolbar{
  padding:10px 12px;
  border:1px solid var(--tds-line);
  border-radius:14px;
  background:#fffdfb;
}

/* Billing */
.money{font-weight:800;color:var(--tds-brown)}
.invoice-paid,.invoice-pending{padding:5px 9px!important;border-radius:999px!important}

/* People lists */
.avatar,.student-chip-avatar,.user-avatar{
  background:linear-gradient(145deg,#f4e3dc,#fae9f1)!important;
  color:var(--tds-brown)!important;
  box-shadow:inset 0 0 0 1px rgba(111,63,41,.06);
}
.student{
  border:1px solid #eee5e0!important;
  border-radius:15px!important;
  background:#fffdfb!important;
  transition:.15s ease!important;
}
.student:hover{transform:translateY(-1px);box-shadow:var(--tds-shadow)}
.association-item{padding:7px 8px;border-radius:10px;background:#faf6f3}

/* Account and notices */
.notice{
  background:linear-gradient(135deg,#faf3ee,#fff9f6)!important;
  border-color:#eadfd9!important;
  border-radius:13px!important;
  line-height:1.55!important;
}
.account-card,.profile-card{box-shadow:var(--tds-shadow)!important}

/* Modal */
.overlay{backdrop-filter:blur(5px);background:rgba(52,37,31,.42)!important}
.modal{
  border:1px solid rgba(255,255,255,.8);
  border-radius:22px!important;
  box-shadow:0 30px 80px rgba(52,37,31,.20)!important;
  padding:24px!important;
}
.modal h2{font-family:'Nunito',system-ui,sans-serif!important;font-size:22px!important;font-weight:900!important}

/* Empty states */
.empty{
  min-height:82px;
  display:grid;
  place-items:center;
  border:1px dashed #dfd0c8!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fffdfa,#fbf6f2)!important;
  color:#978981!important;
}

/* Header refinements */
.app-header{
  box-shadow:0 5px 24px rgba(72,42,30,.045)!important;
  border-bottom-color:#eee5e0!important;
}
.user-chip{border-color:#ece2dd!important;background:#fffaf7!important}
.logout-btn{border-radius:11px!important}

/* Responsive */
@media(max-width:980px){
  main{display:block!important;max-width:1180px!important;padding:18px 14px 64px!important}
  .admin-nav{
    position:sticky;
    top:76px;
    z-index:3;
    flex-direction:row!important;
    overflow-x:auto;
    padding:6px!important;
    border-radius:14px!important;
    margin-bottom:16px!important;
  }
  .admin-nav:before{display:none}
  .admin-nav button{width:auto!important;min-width:max-content;padding:8px 10px!important}
  .admin-nav button:before{width:24px;height:24px;flex-basis:24px}
  .admin-nav button.on:after{display:none}
}

@media(max-width:700px){
  .hero:not(.dashboard-hero){padding:20px!important;min-height:auto}
  .hero:not(.dashboard-hero):before,.hero:not(.dashboard-hero):after{display:none}
  .hero h1{font-size:27px!important}
  .stats{grid-template-columns:1fr!important}
  .stats .stat:last-child{grid-column:auto!important}
  .card{padding:15px!important;border-radius:17px!important}
  .table{min-width:720px}
  .card:has(>.table),.card:has(.table){overflow-x:auto}
  .schedule-grid-wrap{border-radius:16px!important}
  .schedule-week-toolbar{align-items:flex-start!important}
  .modal{padding:20px!important;border-radius:18px!important}
}
