@import "tailwindcss";
@import "tw-animate-css";
@import "../vendor/shadcn-tailwind-4.13.0.css";

@utility scrollbar-thin {
  scrollbar-width: thin;
}

@utility scrollbar-none {
  scrollbar-width: none;

  &::-webkit-scrollbar {
    display: none;
  }
}

@utility scrollbar-gutter-stable {
  scrollbar-gutter: stable;
}

:root {
  --background: #fafbf8;
  --foreground: #303917;
  --card: #ffffff;
  --card-foreground: #171717;
  --popover: #ffffff;
  --popover-foreground: #171717;
  --primary: #d83d05;
  --primary-foreground: #fafafa;
  --secondary: #f5f5f5;
  --secondary-foreground: #171717;
  --muted: #f5f5f5;
  --muted-foreground: #737373;
  --accent: #f5f5f5;
  --accent-foreground: #171717;
  --destructive: #e7000b;
  --border: #e5e5e5;
  --input: #e5e5e5;
  --ring: #ed4c08;
  --chart-1: #f54900;
  --chart-2: #009689;
  --chart-3: #104e64;
  --chart-4: #ffb900;
  --chart-5: #fe9a00;
  --radius: 0.625rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #171717;
  --sidebar-primary: #171717;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #171717;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --font-sans: Arial, Helvetica, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
}


*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#303917;background:#fafbf8;font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}button,a,input{touch-action:manipulation}a:focus-visible{outline:3px solid #e74b0b;outline-offset:5px}header{background:white;border-bottom:1px solid #e8ebe1}.header-inner{max-width:1320px;margin:auto;min-height:106px;padding:12px 44px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:75px;height:75px;object-fit:contain}.brand strong{display:block;font-size:28px;letter-spacing:-1px}.brand span{display:block;font-size:14px;font-weight:600}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.logout{color:#656959;font-size:14px}.private-label{display:flex;gap:9px;align-items:center;font-size:14px;color:#646c54}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700}h1,h2,h3,p{margin:0}h1{font-size:clamp(36px,4.4vw,64px);line-height:1.04;letter-spacing:-2.5px;font-weight:800}h1 em{font-style:normal;color:#ea4c0a}p{font-size:16px;line-height:1.65}footer{max-width:1232px;margin:0 auto;padding:27px 0;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#6a705f;border-top:1px solid #dfe4d7}footer span:first-child{font-weight:700;color:#414d27}.login-main{max-width:1440px;min-height:640px;margin:0 auto;display:grid;grid-template-columns:1.08fr 1fr}.login-visual{position:relative;min-height:640px;overflow:hidden}.login-visual>img{width:100%;height:100%;object-fit:cover;object-position:26% center;position:absolute}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,38,21,.85),transparent 85%)}.login-message{position:absolute;bottom:62px;left:clamp(28px,5vw,76px);right:25px;color:white}.login-message h1{margin:20px 0}.login-message h1 em{color:#ff844c}.login-message p{color:#edf0e8}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px}.login-card{max-width:390px;width:100%}.orange{color:#b63a08}.login-card h2{font-size:44px;line-height:1.1;letter-spacing:-1.5px;margin:17px 0 20px;font-weight:800}.login-card>p{color:#68705d;margin-bottom:32px}.login-card label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.password{display:flex;align-items:center;border:1px solid #cdd4c3;border-radius:8px;background:white;padding:0 12px;gap:7px}.password input{border:0;box-shadow:none;height:52px;font-size:16px}.password button{color:#707764}.connect{width:100%;height:auto;min-height:53px;font-size:15px;white-space:normal;margin-top:16px;background:#ce3c05;color:white;border-radius:8px;padding:14px}.login-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:33px;font-size:14px;color:#737b65;border-top:1px solid #e0e5d9;padding-top:26px}.error{font-size:14px;color:#b32314;margin-top:10px}.hero{height:390px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,252,248,.05),rgba(250,252,248,.92) 40%,rgba(250,252,248,.75) 63%,transparent 90%)}.hero-copy{position:absolute;z-index:1;top:66px;left:36%;right:14%;}.hero h1{font-size:clamp(36px,4vw,57px);margin:17px 0}.hero-copy p{font-size:16px}.content{max-width:1232px;margin:0 auto;padding:0 0 50px}.feature-row{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:-35px;position:relative;z-index:2;scroll-margin-top:20px}.planning-card{padding:30px 36px;background:#de4508;color:white;border-radius:13px;box-shadow:0 14px 35px #414c1510}.card-top{display:flex;align-items:center;gap:15px}.card-top span{font-size:12px;font-weight:700;letter-spacing:1.4px}.planning-card h2{font-size:32px;letter-spacing:-1px;font-weight:800;margin:18px 0 10px}.planning-card p{color:#fff9f2}.planning-button{margin-top:24px;background:white;color:#36411f;height:48px;min-width:240px;font-size:15px;border-radius:7px}.planning-button:hover{background:#f5f4ed}.welcome{padding:35px 40px;background:#eef1e7;border:1px solid #e2e7d9;border-radius:13px}.welcome>svg{color:#727c4d;margin-bottom:15px}.welcome h2{font-size:27px;line-height:1.15;letter-spacing:-.6px;font-weight:750}.welcome p{color:#646e53;margin-top:17px;max-width:380px}.signature{display:block;margin-top:20px;font-size:15px;font-style:italic}.links-section{margin-top:39px;scroll-margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{font-size:23px;font-weight:750;letter-spacing:-.5px}.section-heading>span{font-size:14px;color:#77806a}.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.link-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:white;border:1px solid #e2e6dc;border-radius:10px;padding:27px;transition:transform .2s,box-shadow .2s}.link-card[href]:hover{transform:translateY(-3px);box-shadow:0 8px 22px #35401912}.link-card>svg{color:#526134;margin-bottom:20px}.link-card h3{font-size:18px;font-weight:700;margin-bottom:10px}.link-card p{font-size:14px;color:#69725b;flex:1}.card-action{font-size:14px;font-weight:700;display:flex;align-items:center;gap:12px;color:#b43b0b;margin-top:24px}.soon{font-size:12px;border:1px solid #e1e5da;padding:4px 10px;border-radius:20px;margin-top:24px;color:#717a62}.upcoming{background:#f4f6ef}
@media(min-width:1500px){.hero-copy{left:40%}}@media(max-width:1300px){.content{margin-left:32px;margin-right:32px}footer{margin-left:32px;margin-right:32px}}@media(max-width:800px){.header-inner{padding:12px 20px;min-height:85px}.brand img{width:57px;height:57px}.brand strong{font-size:23px}.brand span{font-size:12px}nav{gap:14px}nav>a{display:none}.private-label{font-size:12px}.login-main{grid-template-columns:1fr}.login-visual{min-height:300px}.login-message{bottom:30px;left:28px}.login-message h1{font-size:40px;margin:12px 0}.login-message p{font-size:14px}.login-panel{padding:36px 24px 45px}.login-card{max-width:440px}.login-card h2{font-size:34px}.hero{height:370px}.hero-copy{left:25px;right:25px;top:40px}.hero:after{background:linear-gradient(90deg,#fafff9e8,#fafff988,transparent)}.hero img{object-position:65%}.hero h1{font-size:42px}.content{margin:0 20px;padding-bottom:30px}.feature-row{grid-template-columns:1fr;margin-top:-28px;gap:16px}.planning-card{padding:27px}.welcome{padding:27px}.welcome h2 br{display:none}.links-grid{grid-template-columns:1fr;gap:12px}.link-card{padding:24px}.section-heading>span{display:none}.link-card>svg{margin-bottom:13px}footer{margin:0 20px;flex-wrap:wrap;font-size:12px}.logout span{display:none}.planning-card h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.link-card{transition:none}}

/* Composition adjusted for the supplied racing image. */
.hero{background:#eff4f2}.hero>img{position:absolute;right:0;top:0;width:60%;height:100%;object-fit:cover;object-position:right center}.hero:after{background:linear-gradient(90deg,#f4f7f3 0%,#f4f7f3 38%,rgba(244,247,243,.95) 45%,transparent 70%)}.hero-copy{left:max(32px,calc((100% - 1232px)/2));right:48%}.login-visual>img{object-position:70% center}.login-message{bottom:34px}.login-message h1{font-size:clamp(36px,3.5vw,50px)}.photo-shade{background:linear-gradient(0deg,rgba(20,38,21,.95),rgba(20,38,21,.25) 65%,transparent)}
@media(max-width:800px){.hero>img{width:100%;object-position:right center}.hero:after{background:linear-gradient(90deg,#f4f7f3f5 0%,#f4f7f3df 25%,#f4f7f355 75%,transparent)}.hero-copy{left:25px;right:25px}.login-visual>img{object-position:right 48%}.login-message h1{font-size:36px}.login-message p{max-width:250px}}

/* Ajustements pour le rendu PHP autonome : les icônes remplacent Lucide React. */
svg{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
button{font:inherit;border:0;cursor:pointer}
.logout{display:flex;align-items:center;gap:8px;background:transparent;padding:8px}
.logout svg{width:17px;height:17px}
.private-label svg{width:16px;height:16px}
.password svg{width:19px;height:19px;color:#707764}
.password input{flex:1;min-width:0;outline:0}
.connect{display:flex;align-items:center;justify-content:center;gap:12px}
.connect svg{width:18px;height:18px}
.planning-button{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.planning-button svg{width:19px;height:19px}
.card-top svg{width:34px;height:34px}
.welcome>svg{width:28px;height:28px}
.link-card>svg{width:29px;height:29px}
.card-action svg{width:18px;height:18px}
.login-note svg{width:18px;height:18px}
.hero-copy{z-index:2}
.header-actions{display:flex;align-items:center;gap:22px}.language-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#58633d}.language-toggle svg{width:16px;height:16px}
.header-inner{position:relative}header{position:sticky;top:0;z-index:20}.link-card[href]{transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s}.link-card[href]:hover{background:#eaf0df;border-color:#9aa979;box-shadow:0 10px 24px #35401920}
