
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#07111a;--panel:#0e1a24;--panel2:#132431;--line:#263a49;--text:#f7fafb;--muted:#9caab4;--mint:#6bc798;--mint2:#74e4b2;--red:#c51f2b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f6f7;color:#10202c;font-family:Manrope,Arial,sans-serif}.shell{min-height:100vh}.portal-header{height:76px;background:#08111b;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #203442}.portal-brand img{width:175px;max-height:48px;object-fit:contain}.portal-user{display:flex;align-items:center;gap:11px;color:#fff}.portal-user small{display:block;color:#91a1ac;font-size:9px;margin-top:1px}.avatar{width:38px;height:38px;border-radius:12px;background:#173044;color:var(--mint2);display:grid;place-items:center;font-weight:800}.portal-user button{margin-left:14px;border:1px solid #334a59;background:transparent;color:#d4dde2;border-radius:999px;padding:9px 12px;font-size:10px}.portal-grid{display:grid;grid-template-columns:250px 1fr;max-width:1500px;margin:auto;min-height:calc(100vh - 76px)}.sidebar{background:#0a141e;color:#fff;border-right:1px solid #213442;padding:25px 17px;display:flex;flex-direction:column}.welcome{font-size:9px;letter-spacing:.17em;color:#83929c;padding:0 10px 14px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{padding:12px 12px;border-radius:10px;color:#a9b5bd;font-size:12px}.sidebar nav a:hover,.sidebar nav a.active{background:#122533;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--mint)}.sidebar-help{margin-top:auto;padding:17px 12px;border:1px solid #223a49;border-radius:14px;background:#0d1b26}.sidebar-help span{display:block;color:#8797a2;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.sidebar-help a{display:block;color:var(--mint2);font-size:11px;margin-top:7px}.portal-main{padding:40px;background:#f2f6f7}.view{display:none}.view.active{display:block}.view-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#7b8a94}.view-head h1,.view-head h2{font-size:clamp(40px,4.5vw,66px);line-height:1;letter-spacing:-.06em;color:#142430;margin:0 0 12px}.view-head h1 span,.view-head h2 span{color:#41b985}.view-head p{max-width:620px;color:#6a7780;font-size:13px}.btn{border-radius:999px;padding:12px 17px;font-size:11px;font-weight:800;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:#49bc88;color:#061019}.btn.outline{background:#fff;border-color:#ccd6dc;color:#172a37}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.stats>div,.panel,.request-form,.profile-card,.intervention-card{background:#fff;border:1px solid #dfe7eb;border-radius:17px;padding:22px}.stats span{display:block;font-size:10px;color:#7d8a93;text-transform:uppercase;letter-spacing:.12em}.stats strong{display:block;font-size:38px;color:#152836;margin:9px 0 2px}.stats small{color:#7b8992}.two-col{display:grid;grid-template-columns:1.3fr .9fr;gap:15px}.panel-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.panel-title span{font-size:9px;letter-spacing:.16em;color:#77868f;font-weight:800}.panel-title a{font-size:10px;color:#2c8b65;font-weight:800}.next-date{display:flex;align-items:center;gap:18px}.next-date>strong{font-size:50px;color:#152a38;line-height:.9}.next-date b{font-size:10px;color:#4a6471}.next-date h3{font-size:18px;margin:8px 0 2px;color:#132832}.next-date p{font-size:11px;color:#81909a;margin:0}.status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800;margin-top:15px}.status.success{background:#e6f6ef;color:#287b59}.doc-row,.doc-line{display:flex;align-items:center;gap:13px}.doc-icon{width:42px;height:42px;border-radius:11px;background:#eff7f4;color:#2c8b65;display:grid;place-items:center;font-size:9px;font-weight:900}.doc-row b,.doc-line b{font-size:11px;color:#172a36}.doc-row p,.doc-line span{margin:2px 0 0;color:#80909a;font-size:9px}.icon-btn{margin-left:auto;color:#2c8b65}.activity{margin-top:15px}.timeline>div{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid #edf1f3}.timeline i{width:8px;height:8px;background:#49bc88;border-radius:50%;margin-top:5px}.timeline b{font-size:11px;color:#172a36}.timeline p{font-size:9px;color:#83919a;margin:4px 0 0}.timeline strong{margin-left:auto;color:#49bc88}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.filter{padding:9px 13px;border:1px solid #d7e0e5;border-radius:999px;background:#fff;color:#6d7c86;font-size:10px}.filter.active{background:#49bc88;border-color:#49bc88;color:#08151c;font-weight:800}.doc-list{background:#fff;border:1px solid #dfe7eb;border-radius:17px;overflow:hidden}.doc-line{padding:18px;border-top:1px solid #edf1f3}.doc-line:first-child{border-top:0}.doc-main{flex:1}.doc-date{white-space:nowrap}.download{border:0;background:#eef7f4;color:#2c8b65;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:800}.calendar-mini{background:#fff;border:1px solid #dfe7eb;border-radius:17px;padding:18px;margin-bottom:15px;max-width:700px}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cal-head button{border:1px solid #dfe7eb;background:#fff;width:32px;height:32px;border-radius:9px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grid span{font-size:9px;text-align:center;color:#82909a}.cal-grid i{font-style:normal;padding:9px 0;text-align:center;border-radius:8px;color:#3f4e58;font-size:10px}.cal-grid .today{background:#49bc88;color:#061019;font-weight:900}.intervention-card{display:flex;justify-content:space-between;align-items:center}.request-form{max-width:800px}.request-form label{display:block;font-size:10px;font-weight:800;margin-bottom:15px;color:#1a2c39}.request-form select,.request-form textarea{width:100%;margin-top:6px;padding:12px;border-radius:10px;border:1px solid #d1dce2}.profile-card{display:flex;align-items:center;gap:18px;max-width:800px}.profile-avatar{width:65px;height:65px;border-radius:20px;background:#173044;color:var(--mint2);display:grid;place-items:center;font-size:20px;font-weight:900}.profile-card h3{margin:0 0 3px}.profile-card p{margin:2px 0;color:#7c8b95;font-size:11px}.profile-card .outline-dark{margin-left:auto;border:1px solid #cfd9de;color:#172a37;background:#fff;padding:10px 14px;border-radius:999px;font-size:10px;font-weight:800}
@media(max-width:900px){.portal-grid{grid-template-columns:1fr}.sidebar{display:none}.portal-main{padding:22px 16px}.portal-header{padding:0 16px}.portal-user strong,.portal-user small{display:none}.portal-user button{margin-left:4px}.view-head{display:block}.view-head .btn{margin-top:12px}.stats{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.doc-line{flex-wrap:wrap}.doc-date{width:100%}.intervention-card{align-items:flex-start;gap:15px}.profile-card{align-items:flex-start;flex-wrap:wrap}.profile-card .outline-dark{margin-left:0}}

/* LOGIN — aligné sur l'identité visuelle Airtek */
.login-body{
  min-height:100vh;
  margin:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
  background:
    radial-gradient(circle at 18% 18%,rgba(116,228,178,.12),transparent 26%),
    radial-gradient(circle at 86% 80%,rgba(116,228,178,.08),transparent 24%),
    linear-gradient(135deg,#07111a 0%,#0c1822 56%,#102331 100%);
  color:#f7fafb;
  font-family:Manrope,Arial,sans-serif;
}
.login-shell{
  width:100%;
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.login-visual{
  position:relative;
  overflow:hidden;
  padding:56px clamp(30px,6vw,90px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.07);
}
.login-visual:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  border:1px solid rgba(116,228,178,.16);
  border-radius:50%;
  top:-170px;right:-180px;
}
.login-visual:after{
  content:"";
  position:absolute;
  width:680px;height:680px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  bottom:-310px;left:-280px;
}
.login-brand{
  width:190px;
  max-height:56px;
  object-fit:contain;
  object-position:left center;
  position:relative;
  z-index:2;
}
.login-kicker{
  position:relative;
  z-index:2;
  color:var(--mint);
  font-size:9px;
  letter-spacing:.22em;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:18px;
}
.login-visual h2{
  position:relative;
  z-index:2;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(48px,5vw,78px);
  line-height:.97;
  letter-spacing:-.06em;
}
.login-visual h2 span{color:var(--mint2)}
.login-visual p{
  position:relative;
  z-index:2;
  max-width:520px;
  margin:0;
  color:#a8b7c1;
  font-size:14px;
  line-height:1.8;
}
.login-points{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  max-width:560px;
}
.login-point{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:14px;
  padding:14px;
}
.login-point strong{
  display:block;
  color:#fff;
  font-size:11px;
  margin-bottom:4px;
}
.login-point span{
  display:block;
  color:#83929d;
  font-size:9px;
  line-height:1.5;
}
.login-side-note{
  position:relative;
  z-index:2;
  color:#71808b;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.login-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:#eef4f5;
}
.login-card{
  width:min(500px,100%);
  padding:34px;
  border:1px solid #dce6ea;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 70px rgba(5,16,24,.14);
  color:#142431;
}
.login-card .portal-login-logo{
  display:block;
  width:175px;
  max-width:70%;
  max-height:52px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:28px;
}
.login-card .eyebrow{
  color:#6b7a84;
  margin-bottom:10px;
}
.login-card h1{
  color:#132735;
  font-size:clamp(38px,4vw,54px);
  line-height:.98;
  letter-spacing:-.05em;
  margin:0 0 12px;
}
.login-card h1 span{color:#41b985}
.login-card > p{
  color:#6d7c86;
  font-size:12px;
  line-height:1.7;
  margin-bottom:25px;
}
.login-field{display:block;margin-bottom:15px}
.login-field span{
  display:block;
  font-size:10px;
  font-weight:800;
  color:#314451;
  margin-bottom:6px;
}
.login-field input{
  width:100%;
  padding:14px 15px;
  border:1px solid #cfdbe1;
  border-radius:12px;
  background:#f9fbfc;
  color:#142431;
  outline:none;
}
.login-field input:focus{
  border-color:#5cc495;
  box-shadow:0 0 0 3px rgba(92,196,149,.11);
}
.login-submit{
  width:100%;
  margin-top:4px;
}
.login-help{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:14px;
}
.login-help a{
  color:#2b8c67;
  font-size:10px;
  font-weight:800;
}
.login-security{
  margin-top:22px;
  padding-top:17px;
  border-top:1px solid #edf1f3;
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#7a8891;
  font-size:9px;
  line-height:1.6;
}
.login-security i{
  width:18px;height:18px;border-radius:7px;background:#e8f7f0;color:#2b8c67;
  display:grid;place-items:center;font-style:normal;font-weight:900;flex:0 0 18px;
}
.login-demo{
  margin-top:14px;
  font-size:8px;
  color:#9aa6ad;
  line-height:1.5;
}
@media(max-width:950px){
  .login-shell{grid-template-columns:1fr}
  .login-visual{min-height:360px;padding:30px 20px 34px;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .login-visual h2{font-size:46px}
  .login-points{grid-template-columns:1fr 1fr}
  .login-panel{padding:20px}
  .login-card{padding:26px 20px}
}
@media(max-width:560px){
  .login-visual{min-height:315px}
  .login-visual h2{font-size:39px}
  .login-points{grid-template-columns:1fr}
  .login-side-note{font-size:8px}
}

.admin-main{max-width:1400px;margin:0 auto}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.admin-tab{border:1px solid #d6e0e5;background:#fff;color:#63727c;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;cursor:pointer}
.admin-tab.active{background:#49bc88;color:#061019;border-color:#49bc88}
.admin-panel{display:none}.admin-panel.active{display:block}
.two-admin{display:grid;grid-template-columns:1.25fr .75fr;gap:15px}
.admin-help{align-self:start;background:#10212d;color:#fff;border-color:#243b49}
.admin-help h3{color:#fff;font-size:22px}.admin-help p{color:#9fb0bb;font-size:11px;line-height:1.7}
.admin-help strong{color:#fff}
.admin-msg{margin-top:10px;font-size:10px;color:#66757f}.admin-msg.success{color:#2c8b65}.admin-msg.error{color:#b32634}
@media(max-width:850px){.two-admin{grid-template-columns:1fr}}
