#welcome{z-index:900;filter:opacity(0);justify-content:center;align-items:center;animation-name:opacity;animation-duration:3s;animation-delay:0s;animation-fill-mode:forwards;display:flex;position:fixed;inset:0}.welcome{transform:translateY(100px)}.welcome h1{text-align:center;letter-spacing:-.05em;background:linear-gradient(160deg, color-mix(in srgb, var(--color-fg) 96%, white 4%) 0%, color-mix(in srgb, var(--color-fg) 72%, var(--color-accent) 28%) 48%, color-mix(in srgb, var(--color-accent) 72%, var(--color-fg) 28%) 100%);-webkit-text-fill-color:transparent;filter:opacity(0);-webkit-background-clip:text;background-clip:text;font-size:clamp(4rem,16vw,12rem);font-weight:700;line-height:.88;animation-name:zoom;animation-duration:3s;animation-delay:0s;animation-fill-mode:forwards}.welcome h2{color:var(--color-fg-soft);text-align:center;letter-spacing:.12em;filter:opacity(0);margin-top:-.3rem;font-size:clamp(1.2rem,4vw,2.6rem);font-weight:700;animation-name:zoom;animation-duration:3s;animation-delay:.1s;animation-fill-mode:forwards}.login{z-index:999;filter:opacity(0);justify-content:center;align-items:center;padding:clamp(1rem,.7rem + 1.5vw,2rem);animation-name:opacity-2;animation-duration:3s;animation-delay:1.8s;animation-fill-mode:forwards;display:flex;position:fixed;inset:0;overflow:hidden}.login h1{z-index:0;color:var(--color-fg);text-align:center;pointer-events:none;filter:opacity(.13);text-shadow:0 0 28px color-mix(in srgb, var(--color-accent) 12%, transparent);justify-content:center;align-items:center;font-size:clamp(5rem,28vw,26rem);font-weight:900;line-height:.85;animation-name:zoom-2;animation-duration:3s;animation-delay:1.8s;animation-fill-mode:forwards;display:flex;position:absolute;inset:50px 0 -50px}.login form{z-index:1;flex-direction:column;gap:.9rem;width:min(460px,100%);margin:0 auto;display:flex;position:relative}.login input{border:1px solid var(--color-border);background-color:var(--color-input-bg);width:100%;min-height:54px;color:var(--color-fg);border-radius:14px;padding:.95rem 1rem;font-size:1.05rem}.login input:focus{outline-offset:2px;border-color:var(--color-fg);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);outline:2px solid #0000}.login input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-fg);caret-color:var(--color-fg)}.login input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-fg);caret-color:var(--color-fg)}.login input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-fg);caret-color:var(--color-fg)}.login button{border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;min-height:52px;color:var(--color-fg);cursor:pointer;border-radius:14px;margin-top:.15rem;font-size:1.05rem;font-weight:600;transition:border-color .2s,background-color .2s}.login button:hover{border-color:var(--color-accent);background-color:var(--color-accent-strong)}.login-subtitle{right:clamp(1rem,.7rem + 1.5vw,2rem);bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 2.1rem);z-index:1;text-align:center;width:min(460px,100% - 2rem);color:var(--color-muted-1);margin:0 auto;font-size:.95rem;position:absolute;left:clamp(1rem,.7rem + 1.5vw,2rem)}.device-approval-page{background:var(--color-bg);place-items:center;min-height:100svh;padding:2rem 1rem 7rem;display:grid;position:relative;overflow:hidden}.device-approval-page:before{content:"Sécurité";z-index:0;color:color-mix(in srgb, var(--color-fg) 8%, transparent);pointer-events:none;place-items:center;font-size:5.125rem;font-weight:900;line-height:1;display:grid;position:fixed;inset:0}.device-approval-panel{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);width:min(560px,100%);box-shadow:0 18px 60px color-mix(in srgb, var(--color-fg) 11%, transparent);border-radius:18px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;position:relative}.device-approval-panel__header{align-items:center;gap:.65rem;display:flex}.device-approval-panel__icon{border:1px solid var(--color-border-soft);background:var(--color-hover);width:34px;height:34px;color:var(--color-accent);border-radius:999px;flex:0 0 34px;justify-content:center;align-items:center;display:inline-flex}.device-approval-panel__icon svg{width:1.1rem;height:1.1rem;display:block}.device-approval-panel__eyebrow{color:var(--color-muted-1);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900;line-height:1.1}.device-approval-panel__copy{gap:.75rem;display:grid}.device-approval-panel h1{color:var(--color-fg);margin:0;font-size:2.125rem;font-weight:900;line-height:1.08}.device-approval-panel p{color:var(--color-fg-soft);margin:0;font-size:1rem;font-weight:500;line-height:1.5}.device-approval-panel__detail{border:1px solid color-mix(in srgb, #d93025 42%, var(--color-border));background:color-mix(in srgb, #d93025 9%, var(--color-surface));border-radius:12px;padding:.8rem .9rem}.device-approval-panel__actions{margin-top:0;display:flex}.device-approval-panel__actions button{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-fg);font:inherit;cursor:pointer;border-radius:14px;padding:0 1.1rem;font-weight:700;transition:border-color .16s,background-color .16s,transform .16s}.device-approval-panel__actions button:hover:not(:disabled),.device-approval-panel__actions button:focus-visible:not(:disabled){border-color:var(--color-accent);background:var(--color-hover);transform:translateY(-1px)}.device-approval-panel__actions button:disabled{cursor:wait;opacity:.72}.device-approval-footer{right:1rem;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 2.1rem);z-index:1;width:min(460px,100% - 2rem);color:var(--color-muted-1);text-align:center;margin:0 auto;font-size:.8125rem;font-weight:500;line-height:1.35;position:fixed;left:1rem}.device-approval-signout{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:20;border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-fg);font:inherit;cursor:pointer;border-radius:14px;padding:0 1rem;font-size:.95rem;font-weight:700;transition:border-color .2s,background-color .2s,transform .2s;position:fixed}.device-approval-signout:hover,.device-approval-signout:focus-visible{border-color:var(--color-accent);background:var(--color-hover);transform:translateY(-1px)}@media (max-width:520px){.device-approval-page{padding:2rem 1rem 8.5rem}.device-approval-page:before{font-size:4.25rem}.device-approval-panel h1{font-size:1.9rem}.device-approval-footer{bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 4.75rem)}}.not-found-page{background:linear-gradient(145deg, color-mix(in srgb, var(--color-surface-2) 72%, var(--color-bg)) 0%, var(--color-bg) 48%, color-mix(in srgb, var(--color-hover) 52%, var(--color-bg)) 100%);place-items:center;min-height:100svh;padding:clamp(1rem,.7rem + 1.5vw,2rem);display:grid}body:has(.not-found-page) .shell-utilities{display:none}.not-found-panel{border:1px solid var(--color-border);background:var(--color-panel-alpha);width:min(620px,100%);box-shadow:0 22px 70px color-mix(in srgb, var(--color-fg) 11%, transparent);border-radius:18px;padding:clamp(1.4rem,1rem + 2vw,2.4rem)}.not-found-panel__code{color:var(--color-accent);letter-spacing:.16em;margin:0 0 .45rem;font-size:.82rem;font-weight:900}.not-found-panel h1{color:var(--color-fg);margin:0;font-size:clamp(2rem,1.55rem + 2.4vw,3.5rem);line-height:1}.not-found-panel p{color:var(--color-fg-soft);margin:.9rem 0 0;line-height:1.55}.not-found-panel__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.35rem;display:flex}.not-found-panel__actions a{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-fg);font:inherit;border-radius:12px;justify-content:center;align-items:center;padding:0 1rem;font-weight:800;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s;display:inline-flex}.not-found-panel__actions a:hover,.not-found-panel__actions a:focus-visible{border-color:var(--color-accent);background:var(--color-accent-strong);color:#fff;transform:translateY(-1px)}@media (max-width:700px){.login h1{display:none}.welcome{transform:translateY(86px)}.login-subtitle{width:calc(100% - 2rem)}}