:root{--ink:#102a36;--muted:#607580;--line:#dce7e9;--surface:#fff;--canvas:#eef5f5;--brand:#087f78;--dark:#073b4c;--shadow:0 12px 32px rgba(7,59,76,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--canvas);color:var(--ink);line-height:1.45}a{color:inherit}button,input,textarea{font:inherit}.portal-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.portal-header-inner{max-width:1120px;margin:auto;min-height:66px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.portal-logo-frame{display:flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:9px;background:var(--dark);box-shadow:0 5px 14px rgba(7,59,76,.18)}.portal-logo{width:68px;height:29px;object-fit:contain}.portal-brand-copy{min-width:0;display:grid}.portal-brand-title{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.portal-company{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.desktop-nav{display:none;align-items:center;gap:7px}.desktop-nav a,.logout-button{border:0;border-radius:10px;padding:9px 11px;background:#edf4f4;color:var(--ink);font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.desktop-nav a.active{background:var(--dark);color:#fff}.desktop-nav form{margin:0}.portal-main{max-width:1120px;margin:auto;padding:16px 14px 92px}.guest-main{min-height:100vh;max-width:none;padding:24px 14px;display:grid;place-items:center;background:radial-gradient(circle at top right,#126f72 0,#073b4c 48%,#052d3a 100%)}.mobile-nav{position:fixed;z-index:120;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;border-radius:18px;background:rgba(7,59,76,.96);box-shadow:0 14px 36px rgba(7,59,76,.28)}.mobile-nav a,.mobile-logout{min-width:0;padding:9px 3px;border:0;color:#d9eeee;text-align:center;text-decoration:none;border-radius:13px;background:transparent;font-size:11px;font-weight:800;cursor:pointer}.mobile-nav a.active{background:#fff;color:var(--dark)}.mobile-nav form{margin:0}.mobile-logout{width:100%;color:#ffd7d2}.forced-logout{position:fixed;top:12px;right:12px;z-index:120}.forced-logout .logout-button{background:#fff;color:var(--dark);box-shadow:var(--shadow)}.nav-icon{display:block;font-size:18px;line-height:1.1;margin-bottom:2px}.page-title{margin:0;font-size:26px;line-height:1.12}.page-intro{margin:6px 0 0;color:var(--muted)}.page-heading{margin-bottom:16px}.card{background:#fff;border:1px solid rgba(220,231,233,.85);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.stack{display:grid;gap:14px}.alert{border-radius:14px;padding:12px 14px;margin-bottom:14px;font-weight:800}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.alert.warning{background:#fff4ce;color:#805500}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:14px;padding:12px 15px;background:var(--dark);color:#fff;text-decoration:none;font-weight:900;cursor:pointer}.btn.brand{background:var(--brand)}.btn.light{background:#edf4f4;color:var(--ink)}.btn:disabled{background:#cbd5e1;color:#52646e;cursor:not-allowed}.field-label,label.form-label{display:block;margin-bottom:6px;color:#526b76;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}input[type=text],input[type=email],input[type=password],textarea{width:100%;border:1px solid #bfd0d4;border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink)}textarea{min-height:112px;resize:vertical}input:focus,textarea:focus{outline:3px solid rgba(8,127,120,.16);border-color:var(--brand)}form{margin:0}.auth-shell{width:100%;max-width:450px}.auth-brand{text-align:center;color:#fff;margin-bottom:17px}.auth-brand img{width:154px;height:66px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.18))}.auth-brand strong{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.auth-card{background:#fff;border-radius:22px;padding:24px 20px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.auth-card h1{margin:0 0 6px;text-align:center;font-size:24px}.auth-card .subtitle{text-align:center;color:var(--muted);margin:0 0 22px}.auth-card form{display:grid;gap:14px}.auth-link{display:block;margin-top:16px;text-align:center;color:var(--dark);text-decoration:none;font-weight:800;font-size:14px}.auth-home{padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.priority-urgente{background:#fee2e2;color:#991b1b}.priority-haute{background:#ffedd5;color:#9a3412}.priority-normale{background:#e0f2fe;color:#075985}.priority-faible{background:#e8eef0;color:#475569}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px;border:1px solid var(--line);background:#edf4f4;cursor:zoom-in;display:block}.muted{color:var(--muted);font-size:13px}.photo-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.84);display:none;align-items:center;justify-content:center;z-index:4000;padding:20px}.photo-lightbox img{max-width:100%;max-height:90vh;border-radius:14px}.photo-lightbox-close{position:absolute;top:16px;right:18px;width:46px;height:46px;border:0;border-radius:999px;background:rgba(7,59,76,.9);color:#fff;font-size:30px;cursor:pointer}
@media(min-width:760px){.portal-header-inner{padding:10px 22px}.portal-logo{width:78px;height:32px}.portal-main{padding:24px 22px 38px}.desktop-nav{display:flex}.mobile-nav{display:none}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-card{padding:30px 28px}}
