.login-page{min-height:100vh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.25rem;display:flex;position:relative;overflow:clip}.login-container{z-index:1;width:100%;max-width:400px;padding:2rem 1.75rem 1.75rem;position:relative}.login-container.card-entering{animation:.8s cubic-bezier(.16,1,.3,1) both card-enter}@keyframes card-enter{0%{opacity:0;transform:translateY(26px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.login-container.error-flash{animation:.7s cubic-bezier(.4,0,.2,1) error-flash}@keyframes error-flash{35%{box-shadow:0 0 0 6px color-mix(in oklab, var(--terre) 22%, transparent), var(--shadow-lift);transform:translateY(2px)}}.login-container.success-pulse{animation:.7s success-pulse}@keyframes success-pulse{50%{box-shadow:0 0 0 8px color-mix(in oklab, var(--menthe) 26%, transparent), var(--shadow-lift)}}.server-status-pill{z-index:4;cursor:pointer;align-items:center;gap:.4rem;padding:.36rem .7rem;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:1rem;right:1.1rem}.server-status-pill:hover{transform:scale(1.06)}.server-status-pill:active{transform:scale(.95)}.server-status-pill i{color:var(--ink-3);font-size:.72rem}.server-status-pill .dot{background:var(--ink-3);border-radius:50%;width:7px;height:7px;box-shadow:0 0 #0000}.server-status-pill .dot.connected{background:var(--menthe);animation:2.4s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--menthe) 55%, transparent)}70%{box-shadow:0 0 0 6px #0000}}.logo-container{text-align:center;flex-direction:column;align-items:center;gap:.9rem;margin-bottom:1.5rem;display:flex}.logo-container .lg-cabochon{cursor:pointer;padding:13px}.logo-container .lg-cabochon:hover{transform:translateY(-3px)scale(1.03)}.logo-container .lg-cabochon:active{transform:scale(.97)}.logo-container .lg-cabochon img{object-fit:contain;width:100%;height:100%}.cab-glyph{color:color-mix(in oklab, var(--majorelle) 85%, var(--ink));font-size:1.85rem}.cab-initials{font-family:var(--ff-display);font-variation-settings:"wdth" 104;letter-spacing:.01em;color:color-mix(in oklab, var(--majorelle) 80%, var(--ink));font-size:1.7rem;font-weight:700}.login-page h2{font-family:var(--ff-display);font-variation-settings:"wdth" 108;letter-spacing:-.025em;color:var(--ink);margin:0;font-size:1.5rem;font-weight:700;line-height:1.1}.input-group{margin-bottom:.85rem;position:relative}.login-container input{width:100%;font:inherit;color:var(--ink);background:color-mix(in oklab, var(--surface) 40%, transparent);border-radius:var(--r-field);box-shadow:inset 0 0 0 1px var(--line), inset 0 2px 5px -3px var(--glass-shade);border:none;padding:.95rem 1rem .95rem 2.75rem;transition:box-shadow .2s,background-color .2s}.login-container input::placeholder{color:var(--ink-3)}.login-container input:hover:not(:focus){background:color-mix(in oklab, var(--surface) 54%, transparent)}.login-container input:focus{background:color-mix(in oklab, var(--surface) 74%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--majorelle) 55%, transparent), 0 0 0 4px color-mix(in oklab, var(--majorelle) 16%, transparent);outline:none}.login-container input:focus::placeholder{opacity:.55}.input-group .field-icon{color:var(--ink-3);pointer-events:none;font-size:.85rem;transition:color .2s;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.input-group:focus-within .field-icon{color:var(--majorelle)}.input-group:has(.pw-toggle) input{padding-right:2.7rem}.input-group .pw-toggle,.pw-toggle{color:var(--ink-3);cursor:pointer;font-size:.85rem;transition:color .2s;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.input-group .pw-toggle:hover,.pw-toggle:hover{color:var(--ink-2)}.login-page input.input-error{animation:.6s cubic-bezier(.36,.07,.19,.97) input-error}@keyframes input-error{0%,to{transform:translate(0)}15%,75%{box-shadow:inset 0 0 0 1px var(--terre);transform:translate(-4px)}35%,55%{box-shadow:inset 0 0 0 1px var(--terre);transform:translate(4px)}}.username-dropdown{z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-inner);max-height:11rem;box-shadow:var(--shadow-lift);opacity:0;visibility:hidden;padding:.25rem;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;transform:translateY(-6px)}.username-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.username-option{color:var(--ink-2);cursor:pointer;border-radius:8px;padding:.55rem .7rem;font-size:.9rem}.username-option:hover{color:var(--ink);background:color-mix(in oklab, var(--majorelle) 12%, transparent)}.login-container form>button{width:100%;font:inherit;letter-spacing:-.01em;color:#fff;cursor:pointer;background:linear-gradient(180deg, var(--primary-hi), var(--primary-lo));box-shadow:inset 0 1px 0 #ffffff73, inset 0 0 0 1px color-mix(in oklab, var(--primary-lo) 78%, #000), 0 12px 24px -12px color-mix(in oklab, var(--primary-lo) 85%, transparent);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:1rem 1.2rem;font-weight:600;transition:transform .2s cubic-bezier(.16,1,.3,1),filter .18s,box-shadow .25s;display:inline-flex;position:relative;overflow:hidden}.login-container form>button:hover:not(:disabled){filter:brightness(1.06)}.login-container form>button:active:not(:disabled){transform:scale(.97)}.login-container form>button.no-enterprise{color:var(--ink-3);background:color-mix(in oklab, var(--surface) 34%, transparent);box-shadow:inset 0 0 0 1px var(--line), inset 0 2px 5px -3px var(--glass-shade)}.login-container form>button.is-loading{color:#0000}.login-container form>button.is-loading .btn-label,.login-container form>button.is-loading .btn-label-icon{opacity:0}.login-container form>button.is-loading:after{content:"";border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;position:absolute}.login-container form>button.is-success{background:linear-gradient(180deg, color-mix(in oklab, var(--menthe) 86%, #fff), var(--menthe));box-shadow:inset 0 1px 0 #ffffff73, 0 12px 24px -12px color-mix(in oklab, var(--menthe) 80%, transparent)}.login-page button:disabled{cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:color-mix(in oklab, var(--terre) 80%, var(--ink));background:color-mix(in oklab, var(--terre) 12%, transparent);border-radius:var(--r-inner);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--terre) 28%, transparent);align-items:center;gap:.5rem;margin-top:.9rem;padding:.65rem .85rem;font-size:.85rem;display:flex}.error-message:before{content:"";flex:none;font-family:"Font Awesome 6 Free","Font Awesome 5 Free";font-weight:900}.login-page .modal{z-index:1000;background:color-mix(in oklab, var(--bg-deep) 62%, transparent);-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);opacity:0;justify-content:center;align-items:center;padding:1.25rem;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:none;position:fixed;inset:0}.login-page .modal.open{display:flex}.login-page .modal.show{opacity:1}.server-modal{opacity:0;width:100%;max-width:620px;max-height:90vh;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s;display:flex;overflow:hidden;transform:translateY(18px)scale(.97)}.modal.show .server-modal{opacity:1;transform:translateY(0)scale(1)}.server-modal-illustration{background:linear-gradient(155deg, color-mix(in oklab, var(--majorelle) 20%, transparent), color-mix(in oklab, var(--zellige) 16%, transparent));flex:0 0 38%;place-items:center;padding:2rem 1rem;display:grid;position:relative}.illustration-container{place-items:center;display:grid;position:relative}.server-icon{z-index:1;color:var(--majorelle);font-size:2.6rem;position:relative}.pulse-ring{background:color-mix(in oklab, var(--majorelle) 14%, transparent);border-radius:50%;width:92px;height:92px;animation:2.6s ease-out infinite pulse-ring;position:absolute}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.75)}to{opacity:0;transform:scale(1.35)}}.server-form-container{flex-direction:column;flex:1;min-width:0;padding:1.4rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.server-modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.server-modal-header h3{font-family:var(--ff-display);font-variation-settings:"wdth" 110;letter-spacing:-.015em;color:var(--ink);margin:0;font-size:1.1rem;font-weight:700}.close-btn{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;transition:background-color .2s,color .2s;display:grid}.close-btn:hover{color:var(--ink);background:color-mix(in oklab, var(--ink) 8%, transparent)}.server-form{flex-direction:column;gap:.9rem;display:flex}.server-input-group label{letter-spacing:.02em;color:var(--ink-2);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.input-with-icon{position:relative}.input-with-icon input{width:100%;font:inherit;color:var(--ink);background:color-mix(in oklab, var(--surface) 70%, transparent);border:1px solid var(--line);border-radius:var(--r-inner);padding:.8rem 2.6rem .8rem 2.5rem;transition:border-color .2s,box-shadow .2s}.input-with-icon input::placeholder{color:var(--ink-3)}.input-with-icon input:focus{border-color:var(--majorelle);box-shadow:0 0 0 4px color-mix(in oklab, var(--majorelle) 16%, transparent);outline:none}.input-with-icon>i:first-of-type{color:var(--ink-3);pointer-events:none;font-size:.85rem;transition:color .2s;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.input-with-icon:focus-within>i:first-of-type{color:var(--majorelle)}.toggle-password{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:.25rem;transition:color .2s;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.toggle-password:hover{color:var(--ink-2)}.loading-indicator{justify-content:center;display:none}.loading-indicator.show{display:flex}.spinner{border:2.5px solid color-mix(in oklab, var(--majorelle) 25%, transparent);border-top-color:var(--majorelle);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}.server-status{text-align:center;min-height:1.2rem;color:var(--terre);font-size:.85rem}.server-status:empty{min-height:0}.server-status.success{color:var(--menthe)}.server-actions{justify-content:flex-end;gap:.6rem;margin-top:.4rem;display:flex}.cancel-btn,.connect-btn,.ce-btn,.add-enterprise-btn,.cancel-delete-btn,.confirm-delete-btn{font:inherit;cursor:pointer;color:var(--ink-2);background:color-mix(in oklab, var(--surface) 46%, transparent);box-shadow:inset 0 0 0 1px var(--line);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.9rem;font-weight:600;transition:background-color .2s,color .2s,filter .2s,transform .15s cubic-bezier(.16,1,.3,1);display:inline-flex}.cancel-btn:hover,.ce-btn-cancel:hover,.cancel-delete-btn:hover{color:var(--ink);background:color-mix(in oklab, var(--ink) 8%, transparent)}.connect-btn,.ce-btn-create{color:#fff;background:linear-gradient(180deg, var(--primary-hi), var(--primary-lo));box-shadow:inset 0 1px 0 #ffffff73, 0 10px 20px -12px color-mix(in oklab, var(--primary-lo) 85%, transparent)}.connect-btn:hover:not(:disabled),.ce-btn-create:hover:not(:disabled){filter:brightness(1.07)}.connect-btn:active:not(:disabled),.ce-btn:active:not(:disabled),.cancel-btn:active,.cancel-delete-btn:active,.confirm-delete-btn:active:not(:disabled){transform:scale(.97)}.confirm-delete-btn,.connect-btn.is-danger{color:#fff;background:linear-gradient(180deg, color-mix(in oklab, var(--terre) 86%, #fff), var(--terre));box-shadow:inset 0 1px 0 #fff6, 0 10px 20px -12px color-mix(in oklab, var(--terre) 80%, transparent)}.confirm-delete-btn:hover:not(:disabled),.connect-btn.is-danger:hover:not(:disabled){filter:brightness(1.08)}.server-connected{text-align:center;margin-bottom:1.4rem}.server-connected .sc-state{color:var(--menthe);margin-bottom:.4rem;font-size:1.05rem;font-weight:600}.server-connected .sc-name{font-family:var(--ff-display);font-variation-settings:"wdth" 110;letter-spacing:-.015em;color:var(--ink);font-size:1.15rem;font-weight:600}.confirm-delete-btn:disabled,.delete-confirmation-content .cancel-delete-btn:disabled{opacity:.55;cursor:not-allowed}#enterpriseModal .modal-content{opacity:0;flex-direction:column;width:100%;max-width:430px;max-height:82vh;padding:1.5rem;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s;display:flex;transform:translateY(18px)scale(.97)}#enterpriseModal.show .modal-content{opacity:1;transform:translateY(0)scale(1)}#enterpriseModal .modal-content h3{font-family:var(--ff-display);font-variation-settings:"wdth" 110;letter-spacing:-.015em;color:var(--ink);margin:0 0 1rem;font-size:1.05rem;font-weight:700}.enterprise-list{scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--ink) 22%, transparent) transparent;flex:1;min-height:0;margin:0 -.35rem;padding:0 .35rem;overflow-y:auto}.enterprise-item{cursor:pointer;border-radius:var(--r-inner);background:color-mix(in oklab, var(--surface) 45%, transparent);box-shadow:inset 0 0 0 1px var(--line);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;padding:.6rem .75rem;transition:background-color .2s,box-shadow .2s,transform .15s;display:flex;position:relative}.enterprise-item:hover{background:color-mix(in oklab, var(--surface) 78%, transparent)}.enterprise-item:active{transform:scale(.995)}.enterprise-item.active{background:color-mix(in oklab, var(--majorelle) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--majorelle) 40%, transparent)}.enterprise-item .ent-info{align-items:center;gap:.75rem;min-width:0;display:flex}.enterprise-item .ent-logo{background:var(--surface);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;flex:none;place-items:center;padding:5px;display:grid}.enterprise-item .ent-logo img{object-fit:contain;width:100%;height:100%}.enterprise-item span.ent-name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:500;overflow:hidden}.enterprise-item:hover span.ent-name,.enterprise-item.active span{color:var(--ink)}.enterprise-item .check-icon{color:var(--majorelle);opacity:0;margin-left:auto;font-size:.8rem;transition:opacity .2s,transform .25s cubic-bezier(.16,1,.3,1);transform:scale(.7)}.enterprise-item.active .check-icon{opacity:1;transform:scale(1)}.enterprise-item .ent-delete-btn{width:26px;height:26px;color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;font-size:.7rem;transition:opacity .2s,background-color .2s,color .2s;display:grid}.enterprise-item:hover .ent-delete-btn,.enterprise-item:focus-within .ent-delete-btn{opacity:1}.enterprise-item .ent-delete-btn:hover{color:#fff;background:var(--terre)}.ent-empty{text-align:center;padding:1.5rem 1rem .5rem}.ent-empty i{color:color-mix(in oklab, var(--ink) 22%, transparent);font-size:2rem}.ent-empty p{color:var(--ink-3);margin:.75rem 0 0;font-size:.88rem}.add-enterprise-btn{border-style:dashed;border-color:color-mix(in oklab, var(--majorelle) 35%, transparent);width:100%;color:var(--majorelle);background:0 0;margin-top:.6rem}.add-enterprise-btn:hover{background:color-mix(in oklab, var(--majorelle) 10%, transparent)}.add-enterprise-btn:active{transform:translateY(1px)}.skeleton{cursor:default;pointer-events:none}.skeleton-img,.skeleton-text{background:linear-gradient(90deg, color-mix(in oklab, var(--ink) 8%, transparent), color-mix(in oklab, var(--ink) 14%, transparent), color-mix(in oklab, var(--ink) 8%, transparent));background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.create-enterprise-overlay{z-index:1100;background:color-mix(in oklab, var(--bg-deep) 62%, transparent);-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);justify-content:center;align-items:center;padding:1.25rem;animation:.25s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.create-enterprise-content{width:100%;max-width:430px;max-height:88vh;padding:1.6rem;animation:.5s cubic-bezier(.16,1,.3,1) both card-enter;overflow-y:auto}.enterprise-form-title{font-family:var(--ff-display);font-variation-settings:"wdth" 110;letter-spacing:-.015em;color:var(--ink);margin:0 0 1.4rem;padding-bottom:.6rem;font-size:1.05rem;font-weight:700;position:relative}.enterprise-form-title:after{content:"";background:linear-gradient(90deg, var(--majorelle), var(--zellige));border-radius:2px;width:42px;height:2px;position:absolute;bottom:0;left:0}.form-label{letter-spacing:.02em;color:var(--ink-2);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.form-input{width:100%;font:inherit;color:var(--ink);background:color-mix(in oklab, var(--surface) 70%, transparent);border:1px solid var(--line);border-radius:var(--r-inner);padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--majorelle);box-shadow:0 0 0 4px color-mix(in oklab, var(--majorelle) 16%, transparent);outline:none}.upload-zone{text-align:center;border:1.5px dashed color-mix(in oklab, var(--ink) 20%, transparent);border-radius:var(--r-inner);background:color-mix(in oklab, var(--surface) 40%, transparent);place-items:center;min-height:128px;padding:1rem;transition:border-color .2s,background-color .2s;display:grid;position:relative}.upload-zone:hover{border-color:var(--majorelle);background:color-mix(in oklab, var(--majorelle) 8%, transparent)}.upload-zone.has-preview{border-style:solid;border-color:color-mix(in oklab, var(--majorelle) 35%, transparent)}.upload-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-placeholder .upload-icon{color:var(--majorelle);font-size:1.5rem}.upload-placeholder p{color:var(--ink-3);margin:.5rem 0 0;font-size:.82rem}.logo-preview{place-items:center;width:96px;height:96px;display:grid}.logo-preview img{object-fit:contain;width:100%;height:100%}.ce-btn{padding:.6rem 1.1rem}.delete-confirmation-modal{z-index:1200;background:color-mix(in oklab, var(--bg-deep) 68%, transparent);-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);justify-content:center;align-items:center;padding:1.25rem;animation:.25s both fade-in;display:flex;position:fixed;inset:0}.delete-confirmation-content{text-align:center;width:100%;max-width:400px;padding:1.6rem;animation:.45s cubic-bezier(.16,1,.3,1) both card-enter}.delete-confirmation-content h3{font-family:var(--ff-display);font-variation-settings:"wdth" 110;letter-spacing:-.015em;color:var(--ink);margin:0 0 .8rem;font-size:1.05rem;font-weight:700}.delete-confirmation-content p{color:var(--ink-2);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.delete-confirmation-content .delete-warn{color:var(--ink-3);margin-top:.5rem;font-size:.82rem;display:block}.delete-confirmation-content .delete-admin-pw{width:100%;font:inherit;color:var(--ink);background:color-mix(in oklab, var(--surface) 70%, transparent);border:1px solid var(--line);border-radius:var(--r-inner);margin-bottom:.8rem;padding:.75rem 1rem}.delete-confirmation-content .delete-admin-pw:focus{border-color:var(--terre);box-shadow:0 0 0 4px color-mix(in oklab, var(--terre) 16%, transparent);outline:none}.delete-confirmation-content .delete-error{color:var(--terre);margin-bottom:.8rem;font-size:.85rem}@media (max-width:560px){.server-modal{flex-direction:column}.server-modal-illustration{flex:none;padding:1.2rem}.pulse-ring{width:68px;height:68px}.server-icon{font-size:2rem}.login-container{padding:2rem 1.4rem 1.6rem}}@media (prefers-reduced-motion:reduce){.login-container.card-entering,.create-enterprise-content,.delete-confirmation-content,.create-enterprise-overlay,.delete-confirmation-modal,.server-status-pill .dot.connected,.pulse-ring{animation:none}.login-container form>button:before{display:none}}
