:root{
  --bg:#050506;--panel:#0c0d0f;--panel-2:#121417;--panel-3:#181a1e;
  --text:#f8f8f8;--muted:#a8abb1;--orange:#ff7200;--orange-2:#ff9c2b;
  --line:rgba(255,255,255,.10);--danger:#ff5d5d;--safe-bottom:max(14px,env(safe-area-inset-bottom));
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100%;background:radial-gradient(circle at 15% -10%,rgba(255,114,0,.13),transparent 28%),var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}.hidden{display:none!important}.muted{color:var(--muted)}
.eyebrow{color:#aaaeb5;font-size:.72rem;font-weight:850;letter-spacing:.14em}.full{width:100%}
.primary-btn,.secondary-btn,.danger-btn,.edit-btn{min-height:48px;border-radius:14px;padding:13px 17px;font-weight:850;color:#fff}
.primary-btn{border:0;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 12px 28px rgba(255,114,0,.22)}
.secondary-btn{background:#17191d;border:1px solid var(--line)}
.danger-btn{background:rgba(255,93,93,.11);border:1px solid rgba(255,93,93,.28);color:#ff9292}.edit-btn{background:rgba(255,114,0,.14);border:1px solid rgba(255,114,0,.38);color:#ffad59}.small-btn{min-height:38px;padding:8px 11px;border-radius:11px}.inline-actions{display:flex;gap:8px;align-items:center}

/* Connexion */
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:22px}.login-shell{width:min(930px,100%);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,#101114,#070708);box-shadow:0 28px 90px rgba(0,0,0,.65)}
.login-visual{position:relative;min-height:590px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 48% 45%,rgba(255,114,0,.25),transparent 33%),linear-gradient(145deg,#090a0c,#020203)}
.login-visual:before{content:"";position:absolute;inset:auto -15% -8%;height:42%;background:radial-gradient(ellipse,rgba(255,114,0,.32),transparent 63%)}
.login-visual img{position:relative;z-index:1;width:min(76%,440px);max-height:480px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.65)) drop-shadow(0 0 20px rgba(255,114,0,.22))}
.login-visual p{position:absolute;bottom:28px;margin:0;color:#c4c6ca;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.login-card{padding:54px;display:flex;flex-direction:column;justify-content:center;gap:18px}.login-card h1{font-size:2.35rem;margin:0}.login-card p{margin:0 0 6px}.login-card label,.form-grid label{display:grid;gap:8px;color:#dadbde;font-weight:760;font-size:.9rem}
.login-card input,.login-card select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:#08090b;color:#fff;border-radius:14px;padding:15px 16px;outline:0}
.login-card input:focus,.login-card select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,114,0,.13)}.form-error{min-height:20px;color:#ff8e8e}

/* Coquille application */
.app{min-height:100dvh;padding-bottom:calc(86px + var(--safe-bottom))}.topbar{position:sticky;top:0;z-index:30;height:70px;padding:8px max(17px,env(safe-area-inset-left));display:grid;grid-template-columns:46px 1fr 46px;align-items:center;background:rgba(5,5,6,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.04)}
.icon-btn,.mini-brand{border:0;background:transparent;color:var(--orange)}.icon-btn{width:46px;height:46px;border-radius:15px;display:grid;place-items:center}.icon-btn:active{background:rgba(255,114,0,.10)}.icon-btn svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.mini-brand{justify-self:center;height:54px}.mini-brand img{height:54px;width:auto;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,114,0,.2))}.notification-btn{position:relative}.notification-btn span{position:absolute;right:0;top:0;min-width:21px;height:21px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:.7rem;font-weight:900}
.content{width:min(1120px,100%);margin:auto;padding:10px 18px 34px}.view{display:none;animation:screenIn .24s ease}.view.active{display:block}@keyframes screenIn{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Accueil inspiré de la maquette validée */
.hero{position:relative;overflow:hidden;min-height:420px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(180deg,#090a0c 0%,#08090a 63%,#111214 63%,#111214 100%);padding:0;display:block;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.hero:before{content:"";position:absolute;inset:0 0 37% 0;background:radial-gradient(circle at 5% 100%,rgba(255,114,0,.36),transparent 31%),repeating-linear-gradient(135deg,transparent 0 25px,rgba(255,255,255,.015) 25px 38px)}
.hero:after{content:"";position:absolute;left:-10%;bottom:34%;width:45%;height:34%;background:radial-gradient(ellipse,rgba(255,114,0,.24),transparent 70%);filter:blur(5px)}
.hero-logo{position:absolute;z-index:2;left:50%;top:18px;transform:translateX(-50%);width:min(48%,390px);height:255px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(255,114,0,.16))}
.hero-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:27px 30px 30px}.hero-copy h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1;margin:10px 0 10px}.hero-copy p{display:none}.role-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,114,0,.12);border:1px solid rgba(255,114,0,.24);color:#ffae64;font-weight:800;font-size:.78rem}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:17px}.dash-card{position:relative;min-height:185px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#17191d,#090a0c);padding:22px;text-align:center;color:#fff;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;box-shadow:inset 0 1px rgba(255,255,255,.02)}
.dash-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(255,114,0,.09),transparent 48%);pointer-events:none}.dash-card:after{content:"›";position:absolute;right:17px;top:11px;color:#b7b9bd;font-size:2rem}.dash-card:active{transform:scale(.975);border-color:rgba(255,114,0,.42);box-shadow:0 10px 28px rgba(0,0,0,.3)}
.dash-icon{position:relative;margin:0 auto;display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:linear-gradient(145deg,#ff9d29,#e95e00);color:#090909;font-size:1.65rem;font-weight:950;box-shadow:0 12px 25px rgba(255,114,0,.19)}
.dash-card b{position:relative;display:block;margin-top:19px;font-size:1.05rem;text-transform:uppercase}.dash-card small{position:relative;display:block;margin-top:5px;color:var(--muted);font-size:.91rem}
.quick-banner{margin-top:17px;border:1px solid rgba(255,114,0,.56);border-radius:22px;padding:17px;display:flex;gap:15px;align-items:center;background:linear-gradient(100deg,rgba(255,114,0,.25),rgba(255,114,0,.07) 65%,transparent);box-shadow:inset 0 1px rgba(255,255,255,.03)}.quick-banner:active{transform:scale(.992)}.quick-banner .plus{width:57px;height:57px;flex:0 0 57px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--orange-2),var(--orange));font-size:2rem;box-shadow:0 10px 25px rgba(255,114,0,.25)}.quick-banner div{flex:1;min-width:0}.quick-banner b{font-size:1.1rem}.quick-banner small{display:block;color:#c0c2c6;margin-top:4px}.quick-banner button{border:1px solid var(--line);background:#17191d;color:var(--orange);width:48px;height:48px;border-radius:50%;font-size:1.45rem}

/* Pages secondaires */
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 17px}.section-head h1{margin:5px 0 0;font-size:2rem}.section-head p{margin:6px 0 0;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.entity-card,.list-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#15171a,#0a0b0d);padding:20px;box-shadow:0 12px 28px rgba(0,0,0,.18)}.entity-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.entity-card h3{font-size:1.25rem;margin:14px 0 8px}.entity-card p{color:var(--muted);line-height:1.55}.pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,114,0,.12);border:1px solid rgba(255,114,0,.22);color:#ffac58;font-size:.75rem;font-weight:850}.avatar{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#ff9926,#db5900);font-weight:950;font-size:1.15rem}.card-actions{display:flex;gap:8px;margin-top:16px}.card-actions button{flex:1;padding:10px 12px;border-radius:12px}
.list{display:grid;gap:12px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:20px;padding:15px;background:linear-gradient(145deg,#15171a,#090a0c)}.event-main{display:flex;align-items:center;gap:14px;min-width:0}.date-box{width:58px;height:64px;border-radius:16px;background:linear-gradient(145deg,#ff9524,#dc5900);display:grid;place-items:center;align-content:center;color:#090909}.date-box b{font-size:1.25rem}.date-box small{text-transform:uppercase;font-weight:900}.list-main{min-width:0}.list-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-main small{display:block;color:var(--muted);margin-top:5px}.row-actions{display:flex;align-items:center;gap:8px}.empty{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}.notice{padding:15px;border:1px solid rgba(255,114,0,.3);background:rgba(255,114,0,.09);border-radius:16px;color:#ffd0a6}

/* Navigation basse */
.bottom-nav{position:fixed;z-index:35;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,760px);height:calc(75px + var(--safe-bottom));padding:7px 8px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(10,11,13,.97);border:1px solid rgba(255,255,255,.10);border-bottom:0;border-radius:28px 28px 0 0;backdrop-filter:blur(18px);box-shadow:0 -15px 38px rgba(0,0,0,.36)}.bottom-nav button{position:relative;border:0;background:transparent;color:#a6a8ad;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.7rem;font-weight:760}.bottom-nav button:active{transform:scale(.94)}.bottom-nav .nav-icon{font-size:1.45rem;line-height:1.15}.bottom-nav button.active{color:var(--orange)}.bottom-nav button.active:after{content:"";position:absolute;bottom:-2px;width:44px;height:3px;border-radius:999px;background:var(--orange);box-shadow:0 0 12px rgba(255,114,0,.45)}
.quick-fab{display:none;position:fixed;z-index:36;right:18px;bottom:calc(88px + var(--safe-bottom));width:58px;height:58px;border:0;border-radius:50%;background:linear-gradient(145deg,var(--orange-2),var(--orange));color:#fff;font-size:2rem;box-shadow:0 14px 28px rgba(255,114,0,.3)}

/* Panneaux et formulaire */
.overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.68);backdrop-filter:blur(5px)}.sheet{position:fixed;z-index:60;left:50%;bottom:0;transform:translate(-50%,105%);width:min(100%,720px);padding:10px 20px calc(22px + var(--safe-bottom));border:1px solid var(--line);border-radius:28px 28px 0 0;background:#111316;transition:transform .24s ease}.sheet.open{transform:translate(-50%,0)}.sheet-handle{width:48px;height:5px;border-radius:999px;background:#3c3f44;margin:0 auto 18px}.sheet-head,.modal-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2,.modal-head h2{margin:4px 0 0}.round-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#1b1d20;color:#fff;font-size:1.5rem}.sheet-grid,.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.sheet-grid button,.quick-grid button{min-height:110px;border:1px solid var(--line);border-radius:18px;background:#17191d;color:#fff;padding:18px;text-align:left}.sheet-grid button:active,.quick-grid button:active{transform:scale(.98);border-color:rgba(255,114,0,.38)}.sheet-grid span,.quick-grid span{font-size:1.55rem;color:var(--orange)}.sheet-grid b,.quick-grid b{display:block;margin-top:12px}.sheet-grid small{display:block;color:var(--muted);margin-top:4px}.compact-sheet{padding-bottom:calc(24px + var(--safe-bottom))}
.modal-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:end center;background:rgba(0,0,0,.75);backdrop-filter:blur(5px)}.modal-card{width:min(100%,720px);max-height:92dvh;overflow:auto;border:1px solid var(--line);border-radius:28px 28px 0 0;background:#111316;padding:22px 20px calc(26px + var(--safe-bottom))}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.form-grid label:has(textarea){grid-column:1/-1}.form-grid textarea{min-height:120px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:315px}.login-visual img{height:270px;width:auto}.login-card{padding:32px}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .content{padding:7px 14px 28px}.topbar{height:66px}.mini-brand img{height:50px}
  .hero{min-height:445px;border-radius:29px;background:linear-gradient(180deg,#08090b 0%,#08090b 63%,#111316 63%,#111316 100%)}
  .hero-logo{top:10px;width:82%;height:275px}.hero-copy{padding:24px 24px 26px}.hero-copy h1{font-size:2.25rem}.hero-copy .eyebrow{font-size:.69rem}
  .dashboard-grid{gap:11px;margin-top:14px}.dash-card{min-height:164px;padding:17px 12px;border-radius:21px}.dash-icon{width:58px;height:58px;border-radius:18px;font-size:1.45rem}.dash-card b{font-size:.94rem;margin-top:17px}.dash-card small{font-size:.80rem}.dash-card:after{right:12px;top:8px;font-size:1.8rem}
  .quick-banner{padding:14px 13px;border-radius:20px}.quick-banner .plus{width:50px;height:50px;flex-basis:50px}.quick-banner b{font-size:1rem}.quick-banner small{font-size:.78rem;line-height:1.3}.quick-banner button{width:44px;height:44px}
  .cards-grid{grid-template-columns:1fr}.list-row{align-items:flex-start}.row-actions{flex-direction:column;align-items:flex-end}.section-head{align-items:flex-start}.section-head h1{font-size:1.7rem}.quick-fab{display:block}.form-grid{grid-template-columns:1fr}
  .login-screen{padding:0}.login-shell{border:0;border-radius:0;min-height:100dvh}.login-visual{min-height:340px}.login-visual img{height:290px;max-width:90%}.login-card{padding:30px 24px 42px}.login-card h1{font-size:2rem}
}
