@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Share+Tech+Mono&display=swap');
:root {
    --bleu-pn:       #003189;
    --bleu-light:    #0050d0;
    --bleu-dark:     #001a50;
    --bleu-deep:     #000e30;
    --rouge-pn:      #cc1100;
    --rouge-light:   #ff3322;
    --or-accent:     #d4a820;
    --or-gn-light:   #e8c060;
    --vert-mission:  #00a86b;
    --vert-light:    #00cc88;
    --gris-texte:    #7799cc;
    --gris-clair:    #b0c4e8;
    --bg-primary:    #03060f;
    --bg-secondary:  #060a1a;
    --bg-card:       rgba(0,10,40,0.7);
    --border-color:  rgba(0,49,137,0.3);
    --font-display:  'Rajdhani', sans-serif;
    --font-body:     'IBM Plex Sans', sans-serif;
    --font-mono:     'Share Tech Mono', monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:Arial,sans-serif;background-color:var(--bg-primary);color:#e8f0ff;min-height:100vh;line-height:1.6;font-size:16px;overflow-x:hidden;}
.grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:128px;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(0,49,137,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,49,137,0.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0;}
.container{max-width:1400px;margin:0 auto;padding:0 24px 60px;position:relative;z-index:1;}

/* Header */
.header{background:linear-gradient(135deg,var(--bleu-deep) 0%,var(--bleu-dark) 60%,#001040 100%);border-bottom:2px solid var(--rouge-pn);position:relative;overflow:hidden;}
.header::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 30px,rgba(0,49,137,0.06) 30px,rgba(0,49,137,0.06) 31px);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;position:relative;z-index:1;}
.header-brand{display:flex;align-items:center;gap:20px;}
.header-logo{width:60px;height:60px;}
.header-logo svg{width:100%;height:100%;filter:drop-shadow(0 0 8px rgba(204,17,0,0.5));}
.header-titles h1{font-family:Arial,sans-serif;font-size:30px;font-weight:900;color:#ffffff;letter-spacing:4px;text-transform:uppercase;line-height:1;}
.header-titles p{font-family:Arial,sans-serif;font-size:13px;font-weight:700;color:var(--gris-clair);letter-spacing:1px;margin-top:4px;}
.header-meta{display:flex;align-items:center;gap:20px;}
.header-badge{background:rgba(0,49,137,0.4);border:1px solid rgba(204,17,0,0.3);border-radius:4px;padding:8px 16px;text-align:right;}
.brigade-name{font-family:Arial,sans-serif;font-size:15px;font-weight:900;color:#ffffff;}
.brigade-code{font-family:Arial,sans-serif;font-size:12px;font-weight:700;color:var(--gris-texte);}
.header-clock{font-family:var(--font-mono);font-size:26px;font-weight:900;color:#ffffff;letter-spacing:2px;border-left:2px solid rgba(204,17,0,0.4);padding-left:20px;}
.header-user{display:flex;align-items:center;gap:10px;padding:8px 16px;background:rgba(0,49,137,0.3);border:1px solid var(--border-color);border-radius:4px;font-family:Arial,sans-serif;font-size:14px;font-weight:700;color:var(--gris-clair);cursor:pointer;transition:all 0.2s;text-decoration:none;}
.header-user:hover{background:rgba(0,49,137,0.6);color:#fff;}
.header-stripe{height:5px;background:linear-gradient(90deg,#002395 0%,#002395 33.33%,#ffffff 33.33%,#ffffff 66.66%,#ed2939 66.66%,#ed2939 100%);}

/* Nav */
.nav-tabs{display:flex;gap:2px;background:rgba(0,5,20,0.85);border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);}
.nav-tabs::-webkit-scrollbar{display:none;}
.nav-tab{display:flex;align-items:center;gap:8px;padding:15px 20px;color:var(--gris-texte);text-decoration:none;font-family:Arial,sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;white-space:nowrap;border-bottom:3px solid transparent;transition:all 0.2s;letter-spacing:0.5px;}
.nav-tab:hover{color:#fff;background:rgba(0,49,137,0.2);border-bottom-color:rgba(0,49,137,0.5);}
.nav-tab.active{color:#fff;background:rgba(204,17,0,0.15);border-bottom-color:var(--rouge-pn);}

/* Cards */
.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;margin-bottom:24px;overflow:hidden;backdrop-filter:blur(10px);}
.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);background:rgba(0,15,60,0.4);}
.card-title{display:flex;align-items:center;gap:10px;font-family:Arial,sans-serif;font-size:19px;font-weight:900;color:#ffffff;letter-spacing:1px;text-transform:uppercase;}
.card-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:rgba(0,49,137,0.4);border:1px solid rgba(204,17,0,0.3);border-radius:4px;font-size:16px;}

/* Stats */
.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:20px 0;margin-bottom:24px;}
.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:18px 22px;display:flex;flex-direction:column;gap:6px;transition:all 0.3s;backdrop-filter:blur(10px);}
.stat-card:hover{border-color:rgba(204,17,0,0.4);transform:translateY(-2px);}
.stat-label{font-family:Arial,sans-serif;font-size:12px;font-weight:700;color:var(--gris-texte);text-transform:uppercase;letter-spacing:1px;}
.stat-value{font-family:Arial,sans-serif;font-size:36px;font-weight:900;color:#ffffff;line-height:1;}
.stat-sub{font-family:Arial,sans-serif;font-size:12px;font-weight:700;color:var(--gris-texte);}

/* Alerts */
.alert{padding:14px 20px;margin-bottom:16px;border-radius:4px;font-family:Arial,sans-serif;font-size:15px;font-weight:700;display:flex;align-items:center;gap:10px;}
.alert-success{background:rgba(0,168,107,0.15);color:var(--vert-light);border:1px solid rgba(0,168,107,0.3);border-left:4px solid var(--vert-mission);}
.alert-error{background:rgba(204,17,0,0.15);color:#ff6655;border:1px solid rgba(204,17,0,0.3);border-left:4px solid var(--rouge-pn);}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:rgba(0,49,137,0.4);color:#fff;border:1px solid var(--bleu-pn);border-radius:4px;font-family:Arial,sans-serif;font-size:14px;font-weight:900;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:all 0.2s;white-space:nowrap;letter-spacing:0.5px;}
.btn:hover{background:rgba(0,49,137,0.7);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,49,137,0.3);}
.btn-gold{background:rgba(212,168,32,0.2);border-color:var(--or-accent);color:var(--or-accent);}
.btn-gold:hover{background:rgba(212,168,32,0.35);}
.btn-danger{background:rgba(204,17,0,0.2);border-color:var(--rouge-pn);color:#ff6655;}
.btn-danger:hover{background:rgba(204,17,0,0.4);}
.btn-success{background:rgba(0,168,107,0.2);border-color:var(--vert-mission);color:var(--vert-light);}
.btn-success:hover{background:rgba(0,168,107,0.35);}
.btn-sm{padding:7px 13px;font-size:12px;}
.btn-secondary{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.15);color:var(--gris-clair);}
.btn-secondary:hover{background:rgba(255,255,255,0.1);color:#fff;}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;border-radius:20px;font-family:Arial,sans-serif;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap;}
.badge-disponible{background:rgba(0,168,107,0.15);color:var(--vert-light);border:1px solid rgba(0,168,107,0.3);}
.badge-mission{background:rgba(204,17,0,0.15);color:#ff6655;border:1px solid rgba(204,17,0,0.3);animation:pulseBadge 2s infinite;}
.badge-patrouille{background:rgba(0,70,200,0.2);color:#7799ff;border:1px solid rgba(0,70,200,0.4);}
.badge-maintenance{background:rgba(212,168,32,0.15);color:var(--or-accent);border:1px solid rgba(212,168,32,0.3);}
.badge-repos{background:rgba(100,100,150,0.15);color:#9999cc;border:1px solid rgba(100,100,150,0.3);}
.badge-indisponible{background:rgba(80,80,80,0.2);color:#888;border:1px solid rgba(80,80,80,0.3);}
.badge-critique{background:rgba(150,0,0,0.3);color:#ff4433;border:1px solid rgba(150,0,0,0.5);animation:pulseBadge 1s infinite;}
.badge-urgente{background:rgba(204,17,0,0.2);color:#ff6655;border:1px solid rgba(204,17,0,0.4);}
.badge-normale{background:rgba(0,168,107,0.1);color:#66ddaa;border:1px solid rgba(0,168,107,0.2);}
@keyframes pulseBadge{0%,100%{opacity:1}50%{opacity:0.6}}

/* Tables */
.table-container{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:14px;}
thead th{background:rgba(0,15,60,0.6);color:#fff;font-family:Arial,sans-serif;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;padding:13px 18px;text-align:left;border-bottom:1px solid rgba(204,17,0,0.3);white-space:nowrap;}
tbody tr{border-bottom:1px solid rgba(0,49,137,0.15);transition:background 0.2s;}
tbody tr:hover{background:rgba(0,49,137,0.15);}
tbody td{padding:13px 18px;font-family:Arial,sans-serif;font-size:14px;font-weight:700;color:#fff;vertical-align:middle;}
.td-mono{font-family:var(--font-mono)!important;font-size:13px;color:var(--or-accent)!important;}

/* Forms */
.form-group{margin-bottom:18px;}
.form-label{display:block;font-family:Arial,sans-serif;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--or-accent);margin-bottom:6px;}
.form-input,.form-select,.form-textarea{width:100%;background:rgba(0,5,25,0.8);border:1px solid var(--border-color);border-radius:4px;padding:11px 14px;color:#fff;font-family:Arial,sans-serif;font-size:15px;font-weight:700;transition:border-color 0.2s;outline:none;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--bleu-pn);box-shadow:0 0 0 2px rgba(0,49,137,0.2);}
.form-select option{background:var(--bg-primary);color:#fff;}
.form-textarea{resize:vertical;min-height:80px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-actions{display:flex;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border-color);}

/* Modal */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,20,0.88);z-index:1000;align-items:center;justify-content:center;backdrop-filter:blur(4px);padding:20px;}
.modal-content{background:linear-gradient(135deg,var(--bleu-deep),var(--bg-secondary));border:1px solid rgba(204,17,0,0.4);border-radius:8px;padding:32px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.modal-content::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#002395,#cc1100,#002395);}
.modal-title{font-family:Arial,sans-serif;font-size:22px;font-weight:900;color:#fff;letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color);}
.modal-close{position:absolute;top:14px;right:14px;background:rgba(0,49,137,0.3);border:1px solid var(--border-color);border-radius:4px;color:var(--gris-texte);cursor:pointer;padding:6px 10px;font-size:16px;font-weight:900;transition:all 0.2s;}
.modal-close:hover{background:rgba(204,17,0,0.3);color:#ff6655;}

/* Vehicle cards */
.vehicule-card{background:rgba(0,10,40,0.6);border:1px solid var(--border-color);border-radius:6px;padding:20px;margin-bottom:16px;transition:all 0.3s;position:relative;overflow:hidden;}
.vehicule-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bleu-pn);transition:background 0.3s;}
.vehicule-card.statut-mission::before{background:var(--rouge-pn);}
.vehicule-card.statut-patrouille::before{background:var(--bleu-light);}
.vehicule-card.statut-maintenance::before{background:var(--or-accent);}
.vehicule-card.statut-hors_service::before{background:#444;}
.vehicule-card:hover{border-color:rgba(0,49,137,0.5);transform:translateY(-2px);}
.vehicule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color);}
.vehicule-info h3{font-family:Arial,sans-serif;font-size:21px;font-weight:900;color:#fff;margin-bottom:4px;}
.vehicule-indicatif{font-family:Arial,sans-serif;font-size:13px;font-weight:700;color:var(--or-accent);}
.vehicule-statut-area{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

/* Crew */
.crew-member{display:flex;justify-content:space-between;align-items:center;background:rgba(0,49,137,0.08);border:1px solid rgba(0,49,137,0.2);border-radius:4px;padding:10px 14px;margin-bottom:8px;transition:all 0.2s;}
.crew-member:hover{background:rgba(0,49,137,0.18);}
.crew-info{display:flex;align-items:center;gap:12px;}
.crew-name{font-family:Arial,sans-serif;font-size:15px;font-weight:900;color:#fff;}
.crew-grade{font-family:Arial,sans-serif;font-size:12px;font-weight:700;color:var(--gris-texte);}
.crew-fonction{background:rgba(0,49,137,0.3);border:1px solid rgba(0,49,137,0.5);color:#88aaff;padding:4px 10px;border-radius:3px;font-family:Arial,sans-serif;font-size:12px;font-weight:900;text-transform:uppercase;min-width:120px;text-align:center;}

/* Main courante */
.mc-entry{display:flex;gap:16px;padding:11px 16px;border-bottom:1px solid rgba(0,49,137,0.1);font-size:14px;transition:background 0.2s;}
.mc-entry:hover{background:rgba(0,49,137,0.08);}
.mc-time{font-family:var(--font-mono);color:var(--or-accent);font-size:13px;font-weight:700;white-space:nowrap;padding-top:2px;min-width:60px;}
.mc-type{font-family:Arial,sans-serif;font-size:12px;font-weight:900;color:var(--gris-texte);min-width:160px;padding-top:2px;text-transform:uppercase;}
.mc-desc{font-family:Arial,sans-serif;font-size:14px;font-weight:700;color:#fff;flex:1;}

/* Mission card */
.mission-card{background:rgba(0,10,40,0.6);border:1px solid var(--border-color);border-radius:6px;padding:16px 20px;margin-bottom:12px;transition:all 0.2s;display:flex;gap:16px;}
.mission-card:hover{border-color:rgba(0,49,137,0.5);}
.mission-priority{width:4px;border-radius:4px;min-height:60px;flex-shrink:0;}
.prio-faible{background:#4488ff;}
.prio-normale{background:var(--vert-mission);}
.prio-urgente{background:var(--or-accent);}
.prio-critique{background:var(--rouge-pn);animation:pulseBadge 1s infinite;}

/* Utils */
.page-title{font-family:Arial,sans-serif;font-size:28px;font-weight:900;color:#fff;letter-spacing:3px;text-transform:uppercase;margin:24px 0 8px;}
.empty-state{text-align:center;padding:40px;font-family:Arial,sans-serif;font-size:15px;font-weight:700;color:var(--gris-texte);}
.veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:16px;padding:20px;}
.action-row{display:flex;gap:6px;flex-wrap:wrap;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:rgba(0,0,0,0.2);}
::-webkit-scrollbar-thumb{background:var(--bleu-pn);border-radius:3px;}

/* Calendar */
.cal-day{background:rgba(0,10,40,0.5);border:1px solid var(--border-color);border-radius:6px;min-height:200px;padding:10px;}
.cal-day.today{border-color:var(--rouge-pn);}
.cal-day-header{font-family:Arial,sans-serif;font-size:14px;font-weight:900;color:var(--or-accent);text-transform:uppercase;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-color);}
.cal-day-date{font-family:Arial,sans-serif;font-size:13px;font-weight:700;color:var(--gris-texte);margin-bottom:8px;}
.garde-name{font-family:Arial,sans-serif;font-size:13px;font-weight:900;color:#fff;}
.garde-grade{font-family:Arial,sans-serif;font-size:12px;font-weight:700;color:var(--gris-texte);}
.garde-hours{font-family:var(--font-mono);font-size:12px;color:var(--or-accent);margin-top:2px;}

@media(max-width:768px){.header-inner{flex-wrap:wrap;gap:12px;padding:12px 16px;}.header-clock{display:none;}.form-row{grid-template-columns:1fr;}.stats-bar{grid-template-columns:1fr 1fr;}.veh-grid{grid-template-columns:1fr;}}
