body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(315deg,#1a1464,#1fca7e);margin:0;padding:0;display:flex;height:100vh;align-items:center;justify-content:center;font-size:1.15rem;position:relative;overflow:hidden}body:before{content:"";position:absolute;inset:0;background:#1a146466;z-index:0;pointer-events:none}.container{position:relative;z-index:1;background:#ffffffb3;padding:2rem 2.5rem;box-shadow:0 8px 24px #1a146426;max-width:480px;width:100%;text-align:center;border:3px solid;border-image:linear-gradient(90deg,#1a1464,#1fca7e) 1;border-radius:12px;font-size:1.15rem}.banner-logo{width:120px;margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}h1{font-size:1.6rem;margin-bottom:.5rem;color:#2340a1}h2{font-size:1.3rem;margin-bottom:.25rem;color:#20b07a;text-align:center;font-weight:600;padding-bottom:.5rem}input{width:100%;box-sizing:border-box;padding:.6rem;border:1px solid #2340A1;border-radius:6px;font-size:1rem;margin-bottom:.75rem}button{padding:.6rem 1.2rem;border:none;background:linear-gradient(90deg,#2340a1,#20b07a);color:#fff;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .3s,color .3s}button:not(.tab-button):hover{background:linear-gradient(90deg,#1a1464,#18b06a);font-weight:600;color:#fff}.tabs{display:flex;margin:1rem 0;border-bottom:2px solid #ccc;border-radius:8px;overflow:hidden}.tab-button{flex:1;padding:.75rem 0;cursor:pointer;background:#f0f0f0;border:none;border-bottom:2px solid transparent;border-radius:0;font-size:1rem;transition:background .2s,border-bottom .2s,color .2s;margin:0;color:#1a1464;opacity:.95}.tab-button:hover{background:#d9e2ef;color:#1a1464;opacity:1}.tab-button.active{background:#1fca7e;color:#fff;font-weight:700;border-bottom:2px solid transparent;border-image:linear-gradient(to right,#1a1464,#1fca7e) 1;opacity:1}.tab-button.active:hover{background:#18b06a;color:#fff;opacity:1}.tab-content{display:none;margin-top:1rem}.tab-content.active{display:block}.tab-content form label{display:block;text-align:left;margin-bottom:.5rem;font-weight:500;color:#2340a1;font-size:1rem}.tab-content form label input{margin-top:.3rem}#status{margin-top:1rem;font-weight:700}#status{margin-top:1rem;font-weight:600;background:#1a1464;color:#fff;border-radius:6px;padding:.75rem 1rem;box-shadow:0 2px 8px #1a14641f;text-shadow:0 2px 8px rgba(26,20,100,.18);letter-spacing:.5px;transition:height .3s,padding .3s,opacity .3s;height:auto;display:none;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;overflow:visible}#status.success{color:#90ee90}#status.error{color:#f08080}#passkeys-table-container{margin-top:1rem;max-height:300px;overflow-y:auto;border:1px solid #ccc;border-radius:6px;background:#fff;padding:0}#passkeys-list{display:flex;flex-direction:column;width:100%}.passkey-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75em 1em;border-bottom:1px solid #eee}.passkey-list-item:last-child{border-bottom:none}.passkey-display{flex:1;text-align:left;font-size:1rem;color:#2340a1}.delete-passkey{background:none;border:none;cursor:pointer;padding:.25em;color:#e2766b;border-radius:4px;transition:background .2s}.delete-passkey:hover{background:#e53935!important;color:#fff}.delete-passkey:hover svg,.delete-passkey:hover svg path{stroke:#fff!important;color:#fff!important}.passkeys-table,.passkeys-table *{display:none!important}.passkey-list-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;background:linear-gradient(90deg,#2340a1,#20b07a);font-weight:700;font-size:1rem;color:#fff;border-bottom:2px solid #1A1464;padding:.75em 1em;letter-spacing:.5px;box-shadow:0 2px 8px #1a146414}.passkey-header-serial{width:3em;min-width:2em;text-align:left;flex-shrink:0}.passkey-header-display{flex:1;text-align:left}.passkey-header-action{width:4em;min-width:3em;text-align:center;flex-shrink:0}.passkey-list-item .passkey-header-serial{width:3em;min-width:2em;text-align:left;flex-shrink:0}.note{background:#2340a114;border-left:4px solid #2340A1;color:#333;font-size:.85rem;text-align:left;padding:.5rem;border-radius:6px;margin:1rem 0}.admin-header{text-align:left;margin-bottom:1.2rem}.admin-subtitle{margin:0;font-size:1.1rem;color:#2340a1;font-weight:500}
