:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}.loading{min-height:100vh;display:grid;place-items:center}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:850}.brand svg{width:27px;height:27px}.shell{display:flex;min-height:100vh}.shell aside{width:250px;background:#fff;border-right:1px solid #e0e5eb;padding:22px 18px;display:flex;flex-direction:column}.shell nav{margin-top:30px}.nav-item,.side-link{width:100%;display:flex;align-items:center;gap:11px;padding:12px;border:0;border-radius:11px;background:transparent;color:#273148;font:inherit;font-weight:800;cursor:pointer;text-align:left}.nav-item.active,.nav-item:hover,.side-link:hover{background:#eef1f6}.side-bottom{margin-top:auto;border-top:1px solid #e8ecf1;padding-top:15px;display:flex;flex-direction:column;gap:7px}.userbox{display:flex;gap:10px;align-items:center;padding:9px 10px}.userbox div{display:flex;flex-direction:column;gap:3px}.userbox small{color:#778196}.shell main{flex:1;min-width:0}.top{background:#fff;border-bottom:1px solid #e0e5eb;padding:27px 34px;display:flex;justify-content:space-between;align-items:center}.top h1{margin:0;font-size:29px}.muted{color:#6f7a8d}.header-action{min-width:175px}.content{padding:28px 34px}.list-shell{background:#fff;border:1px solid #e0e5eb;border-radius:15px;overflow:hidden}.list-head,.cred-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:18px;align-items:center}.list-head{padding:13px 17px;background:#f7f8fb;border-bottom:1px solid #e8ecf1;color:#707b8e;font-size:12px;font-weight:850;text-transform:uppercase}.cred-row{padding:16px 17px;border-bottom:1px solid #edf0f4;min-height:72px;font-size:14px}.cred-row:last-child{border-bottom:0}.cred-name{display:flex;flex-direction:column;gap:4px;min-width:0}.cred-name b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cred-name small{color:#768196}.row-actions{display:flex;justify-content:flex-end;gap:6px}.icon-btn{width:38px;height:38px;border:0;border-radius:9px;background:#eef1f5;color:#172033;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:#e4e8ef}.icon-btn.danger{color:#a22d34}.count-bar{margin-top:12px;background:#fff;border:1px solid #e0e5eb;border-radius:11px;padding:12px 14px;color:#697488}.count-bar strong{color:#172033;margin-right:5px}.empty{padding:48px;text-align:center;color:#6f7b8d}.overlay{position:fixed;inset:0;background:#0f16238a;display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(720px,96vw);max-height:93vh;overflow:auto;background:#fff;border-radius:16px;padding:26px;box-shadow:0 35px 100px #090f194d}.modal.wide{width:min(850px,96vw)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:23px}.modal form{display:flex;flex-direction:column;gap:4px}.modal label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;margin:9px 0}.modal input,.modal select,.modal textarea{width:100%;font:inherit;border:1px solid #d4dbe5;border-radius:10px;padding:12px;background:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px}.full-field{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.modal-actions>button:not(.primary){padding:11px 14px;border-radius:10px;border:0;background:#eef1f5;color:#263148;cursor:pointer;font-weight:700}.primary,.secondary,.danger-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:12px 17px;font-weight:800;cursor:pointer}.primary{background:#1d2a44;color:#fff}.secondary{background:#eef1f5;color:#263149}.large-action{width:100%;padding:16px;font-size:16px}.security-button{margin-top:5px;padding:14px 20px;border:0;border-radius:11px;background:#1d2a44;color:#fff;font-weight:850;display:inline-flex;align-items:center;gap:9px;cursor:pointer}.danger-action{background:#fff0f0;color:#a12d35;border:1px solid #efcaca;padding:14px 18px}.notice{display:flex;gap:9px;align-items:flex-start;border-radius:10px;padding:11px 12px;margin:10px 0;font-size:14px}.notice svg{width:18px;height:18px}.notice.error{background:#fff1f1;color:#a12931;border:1px solid #f0cccc}.notice.success{background:#eefaf1;color:#216d37;border:1px solid #cbe7d1}.qr-panel{margin-top:14px;background:#f7f9fc;border:1px solid #dfe5ec;border-radius:13px;padding:18px;text-align:center}.qr-panel img{display:block;width:250px;max-width:100%;margin:0 auto 12px}.qr-panel code{display:block;word-break:break-word;margin-bottom:14px}.detail-list{display:flex;flex-direction:column;border:1px solid #e1e6ed;border-radius:11px;overflow:hidden}.detail-list div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px;border-bottom:1px solid #edf0f4}.detail-list div:last-child{border-bottom:0}.detail-list span{word-break:break-word}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf1f6}.auth-card{width:min(430px,94vw);background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:34px;box-shadow:0 24px 70px #1720331a}.auth h1{margin:30px 0 4px;font-size:31px}.auth form{display:flex;flex-direction:column;gap:4px}.auth label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;margin:9px 0}.auth input{width:100%;font:inherit;border:1px solid #d4dbe5;border-radius:10px;padding:12px}.login-button{min-height:54px;font-size:17px;margin-top:12px}.full{width:100%}.link-btn{border:0;background:none;color:#536078;cursor:pointer;padding:8px}.login-links{display:flex;justify-content:center;gap:20px}@media(max-width:900px){.shell aside{width:205px}.list-head,.cred-row{grid-template-columns:1.8fr 1fr 1fr auto}.list-head span:nth-child(4),.cred-row>div:nth-child(4){display:none}}@media(max-width:700px){.shell aside{width:76px;padding:15px 10px}.shell aside .brand span,.nav-item,.side-link{font-size:0}.nav-item,.side-link{justify-content:center}.userbox div{font-size:0}.top,.content{padding:20px}.grid2{grid-template-columns:1fr}.full-field{grid-column:auto}.list-head{display:none}.cred-row{grid-template-columns:1fr auto}.cred-row>div:nth-child(2),.cred-row>div:nth-child(3),.cred-row>div:nth-child(4){display:none}.login-links{flex-direction:column;gap:0}}
