:root{--navy:#062c57;--navy2:#0a3d72;--blue:#0b67e8;--bg:#f4f6f9;--text:#172033;--muted:#718096;--border:#e2e7ef;--shadow:0 3px 14px rgba(32,56,85,.06)}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Arial,"Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #64a5ff;outline-offset:1px}
.app{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.app.collapsed{grid-template-columns:72px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#062b55,#07396e);color:#fff;overflow:hidden;z-index:20}.brand{height:64px;display:flex;align-items:center;padding:0 25px;font-size:19px;font-weight:700;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar nav{padding:12px 8px}.sidebar nav button{width:100%;height:48px;border:0;border-radius:5px;background:transparent;color:#e8f2ff;display:flex;align-items:center;gap:14px;padding:0 17px;font-weight:600;white-space:nowrap}.sidebar nav button:hover{background:rgba(255,255,255,.08)}.sidebar nav button.active{background:#0961ce;color:#fff}.sidebar nav i{font-style:normal;font-size:20px;min-width:20px;text-align:center}.collapsed .sidebar nav span{display:none}.collapsed .sidebar nav button{justify-content:center;padding:0}.collapsed .brand{justify-content:center;padding:0}
.workspace{min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:15}.topbar h1{font-size:20px;margin:0 0 0 18px}.menu,.top-actions button{border:0;background:transparent;color:#1a2638}.menu{font-size:22px}.top-actions{margin-left:auto;display:flex;gap:13px;align-items:center}.top-actions button{font-size:17px}.top-actions .admin{font-size:14px;padding:8px}.content{padding:18px 22px 36px;min-width:0}.breadcrumb{font-size:13px;color:#778498;margin:2px 0 14px}
.panel{background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow)}.panel-title{min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:700;padding:0 16px}.panel-title-copy{display:flex;align-items:baseline;gap:12px;min-width:0}.panel-title select{font-weight:400}.button{height:36px;padding:0 18px;border:1px solid #d7dee9;border-radius:5px;background:#fff;color:#344054;white-space:nowrap}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.export{border-color:#78aef8;color:#075fce;background:#f5f9ff}.link{border:0;background:transparent;color:#0768df;padding:2px 4px;white-space:nowrap}.link:hover{text-decoration:underline}
.stats{display:grid;gap:14px;margin-bottom:14px}.stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{min-height:118px;padding:20px;display:flex;align-items:center;gap:17px}.stat-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:#eaf3ff;color:#1876ed}.stat-icon.green{background:#e7f8f1;color:#16ad70}.stat-icon.purple{background:#f1ebff;color:#7951e8}.stat-icon.red{background:#fff0f1;color:#ec4250}.stat-icon.gray{background:#eef1f5;color:#8590a1}.stat-icon.orange{background:#fff4e5;color:#e99618}.stat small,.stat strong,.stat em{display:block}.stat small{font-size:14px}.stat strong{font-size:27px;margin:5px 0}.stat em{font-style:normal;color:var(--muted);font-size:13px}.stats.compact .stat{min-height:94px;padding:14px}.stats.compact .stat-icon{width:44px;height:44px}.stats.compact .stat strong{font-size:22px}
.stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-link{color:inherit;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.stat-link:hover{transform:translateY(-1px);border-color:#a9cdf9;box-shadow:0 5px 16px #176bd216}.stat-link.selected-stat,.clickable-stats .stat.selected-stat{border-color:#4b97f3;box-shadow:0 0 0 2px #e4f0ff inset}.sortable-header{display:flex;align-items:center;gap:5px;width:max-content;color:inherit}.sortable-header span{font-size:11px;color:#98a2b3}.sorted .sortable-header span{color:#075fce}
.client-sort-header{display:flex;align-items:center;gap:5px;border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.client-sort-header span{font-size:11px;color:#98a2b3}.client-sort-header.active{color:#075fce}.client-sort-header.active span{color:#075fce}
.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.chart-card{min-height:295px}.recent{grid-column:1/3}.alerts{grid-column:3}.line-chart{height:195px;margin:8px 22px 0 54px;border-left:1px solid #dfe5ee;border-bottom:1px solid #dfe5ee;position:relative;overflow:hidden}.chart-line{position:absolute;inset:55px 0 40px;background:linear-gradient(172deg,transparent 0 10%,#1877ed 10.5% 11.5%,transparent 12% 25%,#1877ed 25.5% 26.5%,transparent 27% 44%,#1877ed 44.5% 45.5%,transparent 46% 62%,#1877ed 62.5% 63.5%,transparent 64% 78%,#1877ed 78.5% 79.5%,transparent 80%)}.chart-fill{position:absolute;inset:90px 0 0;background:linear-gradient(#e6f1ff66,transparent)}.chart-label{position:absolute;left:-45px;color:#718096;font-size:11px}.chart-label.l1{top:0}.chart-label.l2{top:75px}.chart-label.l3{bottom:3px}.chart-days{display:flex;justify-content:space-between;margin:8px 18px 0 55px;color:#718096;font-size:11px}.donut-row{display:flex;align-items:center;justify-content:center;gap:24px;padding:25px 15px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#0873ef 0 70%,#83b9f7 70% 99%,#ef4655 99%);display:grid;place-items:center}.donut:before{content:"";width:93px;height:93px;background:#fff;border-radius:50%;grid-area:1/1}.donut span{z-index:1;text-align:center;font-size:20px;font-weight:700}.donut small{display:block;font-size:11px;color:var(--muted)}.legend p{display:flex;gap:8px;align-items:center;color:#667085}.legend b{color:#222;margin-left:auto}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.dot.green{background:#12af6e}.dot.red{background:#f04351}.dot.gray{background:#aab3c0}.dot.blue{background:#1479ef}.dot.orange{background:#ef9d21}.bar-row{display:grid;grid-template-columns:60px 1fr 45px;gap:10px;align-items:center;padding:14px 20px;color:#667085}.bar-row i{height:6px;background:#e9edf2;border-radius:5px;overflow:hidden}.bar-row i b{display:block;height:100%;background:#0c72ee}.bar-row em{font-style:normal;font-size:12px}.alert{height:52px;margin:0 17px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;gap:11px}.alert time{margin-left:auto;color:#8b95a5;font-size:12px}
.filters{display:grid;grid-template-columns:repeat(4,minmax(155px,1fr));gap:16px;padding:18px;margin-bottom:14px;align-items:end}.field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:600}.field input,.field select,.search,.panel-title select{height:38px;border:1px solid #d7dee8;border-radius:5px;background:#fff;padding:0 12px;color:#475467;min-width:0}.filter-actions{display:flex;gap:10px;align-items:center}.table-panel{padding:0 12px 10px}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#9aa7b9 #e9edf2;scrollbar-width:auto}.table-scroll::-webkit-scrollbar{height:13px}.table-scroll::-webkit-scrollbar-track{background:#edf0f4;border-radius:8px}.table-scroll::-webkit-scrollbar-thumb{background:#9aa7b9;border-radius:8px;border:2px solid #edf0f4}table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:auto}th,td{height:47px;padding:0 13px;border-bottom:1px solid #e7ebf1;text-align:left;white-space:nowrap;vertical-align:middle}th{background:#fafbfd;color:#344054;font-weight:700;position:relative}tr:hover td{background:#f8fbff}.mono{font-family:Consolas,monospace}.sorted{color:#075fce}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;line-height:1;white-space:nowrap}.badge.green{background:#e6f8ef;color:#159158}.badge.red{background:#ffebed;color:#e13342}.badge.gray{background:#eef1f4;color:#6f7a89}.badge.blue{background:#eaf3ff;color:#176bd2}.badge.orange{background:#fff2df;color:#dc8512}.pager{height:58px;display:flex;align-items:center;gap:7px;padding:0 6px;color:#657084;white-space:nowrap}.pager-spacer{flex:1}.pager button,.pager select{height:32px;min-width:32px;border:1px solid #e0e6ee;background:#fff;border-radius:5px}.pager button.current{background:var(--blue);color:#fff;border-color:var(--blue)}.pager select{padding:0 8px}.sticky-col{position:sticky;left:0;background:#fff;z-index:2;box-shadow:5px 0 8px -8px #293f5e}.scroll-hint{text-align:center;color:#78869a;font-size:12px;padding:9px;background:#fafbfd}
.device-summary{min-height:128px;padding:20px 26px;display:grid;grid-template-columns:72px minmax(250px,1.6fr) repeat(4,minmax(130px,1fr));align-items:center;gap:20px}.device-avatar{width:60px;height:60px;border-radius:50%;background:#eaf3ff;color:#0d70e7;display:grid;place-items:center;font-size:35px}.device-summary h2{margin:0 0 8px}.device-summary p{margin:0;color:var(--muted)}.device-summary small,.device-summary b{display:block}.device-summary small{color:var(--muted);margin-bottom:10px}.tabs{display:flex;gap:25px;border-bottom:1px solid #dfe5ed;margin:14px 0}.tabs button{height:48px;border:0;background:transparent;white-space:nowrap}.tabs button.active{color:#086ce5;border-bottom:3px solid #086ce5;font-weight:700}.detail-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:12px}.detail-card{padding:18px 24px}.detail-card h3{margin:0 0 16px}.detail-card div{display:grid;grid-template-columns:150px 1fr;padding:9px 0}.detail-card small{color:#7a8596}.empty-tab{padding:40px;text-align:center}.page-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:10px}.page-toolbar span{flex:1}.page-toolbar small{color:#6b7585}.truncate{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb{display:flex;align-items:center;gap:8px;border:0;background:#edf5ff;color:#0c67d7;border-radius:4px;padding:5px 9px}.thumb span{font-size:18px}.modal{position:fixed;inset:0;background:#071426aa;display:grid;place-items:center;z-index:100;padding:25px}.image-modal{width:min(700px,90vw);background:#1d2632;color:#fff;border-radius:9px;box-shadow:0 20px 60px #0008;overflow:hidden}.image-modal header,.image-modal footer{padding:15px 20px;display:flex;justify-content:space-between}.image-modal header button{border:0;background:transparent;color:#fff;font-size:26px}.sample-image{height:380px;margin:0 35px;position:relative;overflow:hidden;background:linear-gradient(#68b9f3 0 46%,#bfe1f5 46% 53%,#2a7890 53%)}.sun{position:absolute;width:70px;height:70px;border-radius:50%;background:#fff7ae;right:100px;top:50px}.mountain{position:absolute;bottom:42%;width:65%;height:55%;clip-path:polygon(50% 0,100% 100%,0 100%)}.mountain.one{left:-8%;background:#2e5870}.mountain.two{right:-18%;background:#47778d}.lake{position:absolute;inset:58% 0 0;background:linear-gradient(#6baac1,#1d627c)}
.security-banner{padding:14px 18px;background:#fff1f1;border:1px solid #ffc9cc;border-radius:6px;color:#d73342;margin-bottom:14px}.secret-summary{display:grid;grid-template-columns:repeat(5,1fr);padding:22px}.secret-summary div{padding:0 18px;border-right:1px solid #e5e9ef}.secret-summary small,.secret-summary b{display:block}.secret-summary small{color:var(--muted);margin-bottom:10px}.secret-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.secret-grid>.panel{padding:12px 18px}.secret-row{display:grid;grid-template-columns:210px 1fr 55px 55px;align-items:center;min-height:58px;border-bottom:1px solid #e7ebf0}.secret-row code{letter-spacing:2px}.secret-row button{border:0;background:transparent;color:#0870e6}.secret-row button:disabled{color:#aab2bd}.audit-row{display:grid;grid-template-columns:1.4fr .7fr .7fr;padding:14px 3px;border-bottom:1px solid #e7ebf0}.audit-row span{color:#657084}.audit-row em{font-style:normal;color:#0b8a53}.top-tabs{margin-top:-8px}.log-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px}.file-list{padding:12px}.file-list h3{padding:0 10px}.file-list button{width:100%;height:50px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-radius:4px}.file-list button.active{background:#eaf3ff;color:#0665d8}.stack{background:#1c2633;color:#e7edf6;min-height:185px;margin:14px 2px 2px;padding:18px;border-radius:5px;overflow:auto;font:12px/1.7 Consolas,monospace}.roles-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}.roles-grid>.panel{padding:13px}.search{width:240px;margin:0 0 14px 4px}.permission td:not(:first-child),.permission th:not(:first-child){text-align:center}.permission input{width:17px;height:17px}.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.settings-nav{padding:10px}.settings-nav button{display:block;width:100%;height:48px;border:0;background:#fff;text-align:left;padding:0 15px}.settings-nav button.active{background:#eef5ff;color:#0969db;border-left:3px solid #0b6ee7}.settings-main{display:grid;gap:12px}.form-card{padding:20px}.form-card h3{margin:0 0 18px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.toggles{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.toggles label{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center}.toggles input{display:none}.toggles i{width:40px;height:22px;background:#0c72eb;border-radius:20px;position:relative}.toggles i:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;right:2px}.toggles span{display:flex;flex-direction:column}.toggles small{color:var(--muted);margin-top:4px}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 25% 80%,#0e5a9d66,transparent 35%),linear-gradient(135deg,#031c3e,#07509b);padding:20px}.login-card{width:min(480px,100%);background:#fff;border-radius:9px;padding:48px;box-shadow:0 20px 60px #001a3e88}.login-card h1{text-align:center;font-size:30px;margin:0}.login-card>p{text-align:center;color:#667085;margin:12px 0 30px}.login-card>label:not(.remember){display:flex;flex-direction:column;gap:8px;margin:18px 0}.login-card input{height:45px;border:1px solid #d6deea;border-radius:5px;padding:0 12px}.login-card .button{width:100%;height:47px;margin:20px 0}.login-card small{display:block;text-align:center;color:#7d8796}.remember{font-size:13px}
@media(max-width:1200px){.stats.four{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.recent,.alerts{grid-column:auto}.alerts{grid-column:2}.filters{grid-template-columns:repeat(3,minmax(155px,1fr))}.device-summary{grid-template-columns:65px 1.5fr repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.roles-grid{grid-template-columns:1fr}.secret-summary{grid-template-columns:repeat(3,1fr);gap:20px}.secret-summary div{border:0}.toggles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app{grid-template-columns:72px minmax(0,1fr)}.sidebar nav span,.brand{font-size:0}.brand{justify-content:center;padding:0}.brand:after{content:"设";font-size:19px}.sidebar nav button{justify-content:center;padding:0}.topbar{padding:0 13px}.content{padding:14px 12px 28px}.filters{grid-template-columns:repeat(2,minmax(145px,1fr))}.dashboard-grid{grid-template-columns:1fr}.recent,.alerts{grid-column:1}.stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}.device-summary{grid-template-columns:58px minmax(220px,1fr);overflow-x:auto}.device-summary>div:nth-child(n+3){min-width:170px}.tabs{overflow-x:auto}.secret-grid,.log-layout,.settings-layout{grid-template-columns:1fr}.file-list{display:none}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.filters,.stats.four,.form-grid,.toggles{grid-template-columns:1fr}.top-actions button:not(.admin){display:none}.stat{min-height:90px}.page-toolbar{flex-wrap:wrap}.login-card{padding:35px 25px}}

/* Razor navigation keeps the original prototype appearance. */
a{color:inherit;text-decoration:none}.sidebar nav a{width:100%;height:48px;border:0;border-radius:5px;background:transparent;color:#e8f2ff;display:flex;align-items:center;gap:14px;padding:0 17px;font-weight:600;white-space:nowrap}.sidebar nav a:hover{background:rgba(255,255,255,.08)}.sidebar nav a.active{background:#0961ce;color:#fff}.sidebar nav a i{font-style:normal;font-size:20px;min-width:20px;text-align:center}.button{display:inline-flex;align-items:center;justify-content:center}.panel-title small{font-weight:400;color:var(--muted)}
@media(max-width:820px){.sidebar nav a span{display:none}.sidebar nav a{justify-content:center;padding:0}}

.page-tabs{height:44px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;gap:3px;padding:6px 12px 0;overflow-x:auto;overflow-y:hidden;position:sticky;top:64px;z-index:14}.page-tab{height:38px;min-width:116px;max-width:220px;display:flex;align-items:center;border:1px solid #dfe5ed;border-bottom:0;border-radius:6px 6px 0 0;background:#f6f8fb;color:#5e6b7e}.page-tab:hover{background:#eef4fc}.page-tab.active{background:#fff;color:#086ce5;border-top:2px solid #086ce5}.page-tab a{height:100%;min-width:0;flex:1;display:flex;align-items:center;padding:0 8px 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.page-tab-close{width:30px;height:30px;border:0;background:transparent;color:#8a95a5;font-size:18px;border-radius:4px;margin-right:3px}.page-tab-close:hover{background:#e4ebf5;color:#d9363e}.page-tabs::-webkit-scrollbar{height:5px}.page-tabs::-webkit-scrollbar-thumb{background:#b6c1cf;border-radius:5px}
.device-tabs a{height:48px;display:flex;align-items:center;color:inherit}.device-section{margin-top:0}.device-tabs{background:#fff;padding:0 18px;border:1px solid var(--border);border-radius:7px 7px 0 0;margin-bottom:0}.device-section{border-radius:0 0 7px 7px;border-top:0}
.breadcrumb{display:flex;align-items:center;gap:7px}.breadcrumb a{color:#66758a}.breadcrumb a:hover{color:#086ce5;text-decoration:underline}.page-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}
.app-detail-panel{padding:0 18px 20px}.app-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.app-detail-item{border:1px solid var(--border);border-radius:7px;padding:14px;display:flex;align-items:center;gap:12px}.app-detail-icon{width:38px;height:38px;border-radius:9px;background:#eaf3ff;color:#176bd2;display:grid;place-items:center}.app-detail-item b,.app-detail-item small{display:block}.app-detail-item small{margin-top:8px}.account-hero{display:grid;grid-template-columns:70px 1fr 180px;gap:18px;align-items:center;padding:24px}.account-hero h2{margin:6px 0}.account-total{border-left:1px solid var(--border);padding-left:25px}.account-total small,.account-total strong{display:block}.account-total strong{font-size:30px;margin-top:8px}.section-heading{margin-top:25px!important}.message-detail{padding:24px}.message-detail header{display:flex;justify-content:space-between;align-items:start}.message-detail h2{margin:6px 0}.message-flow,.access-route{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;text-align:center;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:22px;margin:20px 0}.message-flow small,.message-flow b,.access-route small,.access-route b{display:block}.message-flow span,.access-route span{color:var(--blue);font-size:24px}.message-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.message-meta div,.wallet-detail-grid>div{padding:14px;border:1px solid var(--border);border-radius:6px}.message-meta small,.message-meta span,.wallet-detail-grid small,.wallet-detail-grid b{display:block}.message-meta span,.wallet-detail-grid b{margin-top:8px}.access-detail{padding:24px}.access-status{display:flex;gap:15px;align-items:center}.access-status h2,.access-status p{margin:3px 0}.wallet-balance-card{background:linear-gradient(135deg,#075fc9,#07376e);color:#fff;border-radius:10px;padding:28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 30px #07376e33;margin-bottom:14px}.wallet-balance-card small,.wallet-balance-card strong,.wallet-balance-card span{display:block}.wallet-balance-card strong{font-size:38px;margin:10px 0}.wallet-coin{width:70px;height:70px;border-radius:50%;background:#ffffff22;display:grid!important;place-items:center;font-size:28px}.wallet-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px}.wallet-address{overflow-wrap:anywhere}.sensitive-locked{display:flex;align-items:center;gap:18px;padding:24px;margin:14px 0}.sensitive-locked h2,.sensitive-locked p{margin:4px 0}.admin-profile{display:flex;align-items:center;gap:18px;padding:24px;margin-bottom:14px}.admin-profile h2{margin:6px 0}@media(max-width:1000px){.app-detail-grid{grid-template-columns:repeat(2,1fr)}.message-meta,.wallet-detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.app-detail-grid,.message-meta,.wallet-detail-grid{grid-template-columns:1fr}.account-hero{grid-template-columns:60px 1fr}.account-total{grid-column:1/3;border-left:0;border-top:1px solid var(--border);padding:15px 0 0}}
.record-tab-content,.record-related{border-radius:0 0 7px 7px;border-top:0;margin-top:0}.record-tab-warning{margin:0;border-radius:0}.record-related{padding-top:0}
.message-preview{position:relative;display:inline-block;max-width:220px;color:#0768df;white-space:nowrap;overflow:visible;cursor:default}.message-preview:after{content:attr(data-full);position:absolute;left:0;top:calc(100% + 9px);width:max-content;max-width:min(480px,70vw);padding:10px 13px;border-radius:6px;background:#1d2633;color:#fff;box-shadow:0 8px 24px #0b162555;white-space:normal;overflow-wrap:anywhere;line-height:1.6;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s,transform .12s;pointer-events:none;z-index:100}.message-preview:before{content:"";position:absolute;left:18px;top:calc(100% + 3px);border:6px solid transparent;border-bottom-color:#1d2633;opacity:0;visibility:hidden;z-index:101}.message-preview:hover:after,.message-preview:hover:before{opacity:1;visibility:visible;transform:translateY(0)}.message-content-full{margin:18px 0;padding:16px;background:#f8fafc;border:1px solid var(--border);border-radius:7px}.message-content-full small{color:var(--muted)}.message-content-full p{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.message-preview:after,.message-preview:before{display:none!important}.floating-message-tooltip{position:fixed;width:max-content;max-width:min(480px,calc(100vw - 24px));max-height:min(360px,60vh);overflow:auto;padding:10px 13px;border-radius:6px;background:#1d2633;color:#fff;box-shadow:0 8px 24px #0b162566;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;pointer-events:none;z-index:1000}
.stats.five{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-stats .stat{min-height:112px;padding:18px}.dashboard-reference{grid-template-columns:1.2fr .9fr 1.1fr}.trend-chart-wrap{height:238px;padding:4px 12px 8px}.trend-chart-wrap canvas{display:block;width:100%;height:100%}.dynamic-donut{flex:0 0 auto}.dashboard-reference .legend{min-width:190px}.dashboard-reference .legend p{gap:7px}.dashboard-reference .legend b{white-space:nowrap}.dashboard-reference .bar-row{grid-template-columns:70px 1fr 100px}.dashboard-table-footer{height:60px;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.dashboard-reference .recent{grid-column:1/3}.dashboard-reference .alerts{grid-column:3}@media(max-width:1350px){.stats.five{grid-template-columns:repeat(3,1fr)}.dashboard-reference{grid-template-columns:1fr 1fr}.dashboard-reference .recent{grid-column:1/3}.dashboard-reference .alerts{grid-column:1/3}}@media(max-width:820px){.stats.five{grid-template-columns:repeat(2,1fr)}.dashboard-reference{grid-template-columns:1fr}.dashboard-reference .recent,.dashboard-reference .alerts{grid-column:1}}@media(max-width:520px){.stats.five{grid-template-columns:1fr}}

/* Unified SVG icon system shared with the HTML prototype. */
.ui-icon{display:block;flex:0 0 auto}.sidebar nav i{display:grid;place-items:center}.sidebar nav .ui-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.sidebar nav a.active .ui-icon{stroke-width:2}.icon-button{display:inline-grid!important;place-items:center;padding:0;border-radius:7px;transition:background-color .16s,color .16s}.topbar .icon-button{width:36px;height:36px}.topbar .icon-button:hover{background:#eef5ff;color:#0869df}.top-actions .admin{display:flex;align-items:center;gap:7px;border-radius:20px;padding:5px 8px 5px 5px}.top-actions .admin:hover{background:#f2f6fb}.admin-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#5d79a5;color:#fff}.admin-avatar .ui-icon{width:16px;height:16px}.icon-text{display:inline-flex;align-items:center;gap:7px}.icon-text>.ui-icon{width:16px;height:16px}.stat-icon .ui-icon{width:25px;height:25px;stroke-width:1.9}.device-avatar .ui-icon{width:31px;height:31px}.app-detail-icon .ui-icon{width:20px;height:20px}.pager .icon-button{width:32px;min-width:32px;padding:0}.flow-icon{display:grid!important;place-items:center}.flow-icon .ui-icon{width:23px;height:23px}.security-banner .ui-icon{flex:none}.page-tab-close{display:grid;place-items:center}.page-tab-close .ui-icon{width:16px;height:16px}@media(max-width:820px){.brand:after{content:"";width:25px;height:25px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='6' y='2.8' width='12' height='18.4' rx='2.4'/%3E%3Cpath d='M9.5 6h5M10.2 17.8h3.6'/%3E%3C/svg%3E") center/contain no-repeat}}

/* Device status donut: clean segmented ring matching the approved reference. */
.status-donut{width:160px;height:160px;flex:0 0 160px}.status-donut svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 12px rgba(30,116,232,.08))}.status-donut-track,.status-donut-segment{fill:none;stroke-width:22}.status-donut-track{stroke:#edf2f7}.status-donut-segment{transform:rotate(-90deg);transform-origin:80px 80px;stroke-linecap:butt}.status-donut-segment.online{stroke:#0b6ff2}.status-donut-segment.offline{stroke:#63aaf7}.status-donut-segment.abnormal{stroke:#ef4655}.status-donut-divider{stroke:#fff;stroke-width:3.2;stroke-linecap:butt}.status-donut+.legend{min-width:190px}

/* Device list: channel, status and inclusive active-date-range filters. */
.device-filters,.account-filters,.app-filters{grid-template-columns:minmax(180px,.8fr) minmax(160px,.7fr) minmax(390px,1.7fr) auto}.wallet-filters,.message-filters,.access-filters{grid-template-columns:minmax(170px,.8fr) minmax(150px,.7fr) minmax(145px,.65fr) minmax(340px,1.55fr) auto}.date-range{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:8px}.date-range em{font-style:normal;font-weight:400;color:var(--muted)}
@media(max-width:1400px){.device-filters,.account-filters,.app-filters,.wallet-filters,.message-filters,.access-filters{grid-template-columns:repeat(2,minmax(210px,1fr))}.active-range-field{grid-column:1/3}}
@media(max-width:680px){.device-filters,.account-filters,.app-filters,.wallet-filters,.message-filters,.access-filters{grid-template-columns:1fr}.active-range-field{grid-column:auto}.date-range{grid-template-columns:1fr}.date-range em{text-align:center}}
.access-system-modal{display:none;position:fixed;inset:0;z-index:300;padding:24px;place-items:center}.access-system-modal:target{display:grid}.access-system-backdrop{position:absolute;inset:0;background:rgba(7,20,38,.68);backdrop-filter:blur(2px)}.access-system-dialog{position:relative;z-index:1;width:min(760px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(7,20,38,.28)}.access-system-dialog>header{min-height:72px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5eaf0}.access-system-dialog h2{margin:0;color:#101828;font-size:18px}.access-system-dialog header p{margin:6px 0 0;color:#667085;font-size:12px}.access-system-close{width:36px;height:36px;display:grid;place-items:center;border-radius:5px;color:#667085}.access-system-close:hover{background:#f1f4f8;color:#d92d20}.access-system-close .ui-icon{width:19px;height:19px}.access-system-table-wrap{min-height:180px;overflow:auto;padding:0 14px}.access-system-table th,.access-system-table td{height:46px}.access-system-table th:nth-child(n+2),.access-system-table td:nth-child(n+2){text-align:right}.access-system-dialog>footer{min-height:64px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5eaf0;color:#667085;font-size:12px}
@media(max-width:680px){.access-system-modal{padding:12px}.access-system-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}}

/* Adaptive table density: roomy when content fits, compact when horizontal scrolling is required. */
.table-scroll th,.table-scroll td{height:50px;padding-left:18px;padding-right:18px;transition:padding .14s ease}.table-scroll.is-overflowing th,.table-scroll.is-overflowing td{padding-left:8px;padding-right:8px}.table-scroll:not(.is-overflowing)+.scroll-hint{display:none}
.access-download-panel{margin-top:14px}.access-download-table{min-width:1540px}.download-request{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#176bd2}.download-meta{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Role and administrator management. */
.row-actions{display:flex;align-items:center;gap:5px}.success-banner{padding:13px 17px;margin-bottom:14px;border:1px solid #b8e7cf;border-radius:6px;background:#edfbf4;color:#117a4c}.admin-form-panel{max-width:920px;padding:0 26px 26px}.admin-form-header{display:flex;align-items:center;gap:15px;padding:24px 0 20px;border-bottom:1px solid var(--border);margin-bottom:22px}.admin-form-header h2,.admin-form-header p{margin:0}.admin-form-header p{margin-top:7px;color:var(--muted)}.admin-form-icon{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:#eaf3ff;color:#126bd7}.admin-form-icon .ui-icon{width:24px;height:24px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-form-grid .field input,.admin-form-grid .field select{height:42px}.field-validation{min-height:17px;color:#d92d20;font-size:12px;font-weight:400}.validation-summary{color:#d92d20;margin-bottom:14px}.validation-summary:empty{display:none}.validation-summary ul{margin:0;padding-left:20px}.admin-form-note{margin-top:20px;padding:13px 15px;border-radius:6px;background:#f2f7fe;color:#3d5e86}.admin-form-note.warning{background:#fff7e8;color:#a36508}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:24px;margin-top:22px;border-top:1px solid var(--border)}.admin-password-panel{max-width:760px}
@media(max-width:680px){.admin-form-panel{padding:0 18px 20px}.admin-form-grid{grid-template-columns:1fr}.row-actions{gap:1px}}

/* Wallet profile and protected material view. */
.wallet-profile-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 16px}.wallet-profile-heading h2{margin:0;font-size:22px}.wallet-profile-heading p{margin:8px 0 0;color:#667085;font-size:13px}.wallet-profile-warning{display:flex;width:100%;min-height:50px;margin-bottom:16px}.wallet-profile-summary{display:grid;grid-template-columns:1fr 1fr 1fr 1.65fr 1fr;padding:24px 10px}.wallet-profile-summary>div{min-width:0;padding:2px 26px;border-left:1px solid #e5e9ef}.wallet-profile-summary>div:first-child{border-left:0}.wallet-profile-summary small,.wallet-profile-summary b{display:block}.wallet-profile-summary small{margin-bottom:12px;color:#667085;font-size:12px}.wallet-profile-summary b{min-width:0;color:#1d2939;font-size:13px;font-weight:600;overflow-wrap:anywhere}.wallet-profile-summary .copy-line{display:flex!important}.wallet-profile-summary .badge{margin-left:7px}.wallet-profile-tabs{margin:16px 0 14px;padding:0 8px;gap:36px;background:transparent;border-bottom:1px solid #dfe5ed}.wallet-profile-tabs a{height:52px;display:flex;align-items:center;position:relative;color:#344054}.wallet-profile-tabs a.active{color:#086ce5;font-weight:700}.wallet-profile-tabs a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:#086ce5}.wallet-profile-layout{display:grid;grid-template-columns:minmax(620px,1.8fr) minmax(330px,.95fr);gap:14px}.wallet-protected-card{padding:20px 22px}.wallet-protected-card>header,.wallet-audit-card>header,.wallet-section-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.wallet-protected-card>header .icon-text{align-items:flex-start}.wallet-protected-card>header .icon-text>.ui-icon{width:20px;height:20px;margin-top:2px}.wallet-protected-card>header b,.wallet-protected-card>header small{display:block}.wallet-protected-card>header small{margin-top:6px;color:#667085;font-size:12px;font-weight:400}.wallet-protected-card>header button:disabled,.wallet-mnemonic-lock button:disabled{opacity:.7;cursor:not-allowed}.wallet-secret-list{margin-top:20px;border:1px solid #dfe5ed;border-radius:6px;overflow:hidden}.wallet-secret-row{display:grid;grid-template-columns:minmax(215px,.9fr) minmax(210px,1.35fr) 72px 72px;align-items:center;min-height:61px;padding:0 16px;border-bottom:1px solid #e7ebf1}.wallet-secret-row:last-child{border-bottom:0}.wallet-secret-row>span{display:flex;align-items:center;gap:7px;font-size:12.5px}.wallet-secret-row i{display:inline-grid;color:#8b99ac}.wallet-secret-row i .ui-icon{width:15px;height:15px}.wallet-secret-row code{color:#24344d;letter-spacing:2.2px;white-space:nowrap}.wallet-secret-row button{height:34px;border:0;background:transparent;color:#8d99aa;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.wallet-secret-row button .ui-icon{width:15px;height:15px}.wallet-secret-row button:disabled{color:#b6bfcc;cursor:not-allowed}.wallet-protected-card>footer{margin-top:17px;color:#667085;font-size:12px}.wallet-audit-card{padding:20px 20px 18px;display:flex;flex-direction:column;min-width:0}.wallet-audit-card>header a{color:#086ce5;font-size:12px}.wallet-audit-table{margin-top:20px;border:1px solid #dfe5ed;border-radius:6px;overflow:hidden}.wallet-audit-head{height:42px;display:grid;grid-template-columns:1.2fr .8fr 1fr .65fr;align-items:center;padding:0 13px;background:#f8fafc;color:#344054;font-size:12px;font-weight:700}.wallet-audit-empty{min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#98a2b3}.wallet-audit-empty>.ui-icon,.wallet-full-audit-empty>.ui-icon{width:34px;height:34px}.wallet-audit-empty b{margin:12px 0 5px;color:#667085}.wallet-audit-empty small{font-size:12px}.wallet-audit-note{margin-top:18px;padding:14px;border:1px solid #b7d8ff;border-radius:6px;background:#eff7ff;color:#2466b2;font-size:12px;line-height:1.6}.wallet-audit-note>.ui-icon{align-self:flex-start;margin-top:2px}.wallet-section-card{padding:22px 24px}.wallet-section-card>header{padding-bottom:18px;border-bottom:1px solid #e7ebf1}.wallet-section-card h3,.wallet-section-card p{margin:0}.wallet-section-card header p{margin-top:7px;color:#667085;font-size:12px}.wallet-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;margin:18px 0 0}.wallet-meta-grid>div{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;min-height:48px;border-bottom:1px solid #edf0f4}.wallet-meta-grid dt{color:#667085;font-size:12px}.wallet-meta-grid dd{margin:0;color:#344054;font-size:13px;overflow-wrap:anywhere}.wallet-mnemonic-lock{min-height:160px;margin-top:20px;padding:22px;border:1px solid #dfe5ed;border-radius:7px;background:#fafbfd;display:grid;grid-template-columns:54px minmax(220px,1fr) auto;align-items:center;gap:20px}.wallet-mnemonic-lock>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff0f1;color:#e3404d}.wallet-mnemonic-lock>span .ui-icon{width:25px;height:25px}.wallet-mnemonic-lock code{letter-spacing:2.5px;color:#344054}.wallet-full-audit-empty,.wallet-profile-empty{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#98a2b3}.wallet-full-audit-empty h3,.wallet-profile-empty h3{margin:16px 0 6px;color:#475467}.wallet-full-audit-empty p,.wallet-profile-empty p{margin:0}.wallet-profile-empty>.ui-icon{width:44px;height:44px}
@media(max-width:1350px){.wallet-profile-summary{grid-template-columns:repeat(3,1fr);row-gap:22px}.wallet-profile-summary>div:nth-child(4){border-left:0}.wallet-profile-layout{grid-template-columns:1fr}.wallet-audit-empty{min-height:150px}.wallet-audit-card{min-height:340px}}
@media(max-width:820px){.wallet-profile-heading{align-items:flex-start}.wallet-profile-summary{grid-template-columns:repeat(2,1fr)}.wallet-profile-summary>div,.wallet-profile-summary>div:nth-child(4){border-left:0;padding:6px 18px}.wallet-profile-tabs{overflow-x:auto;gap:25px}.wallet-secret-row{grid-template-columns:minmax(190px,1fr) minmax(180px,1fr)}.wallet-secret-row button{display:none}.wallet-meta-grid{grid-template-columns:1fr}.wallet-mnemonic-lock{grid-template-columns:54px 1fr}.wallet-mnemonic-lock button{grid-column:1/-1}.wallet-profile-layout{display:block}.wallet-audit-card{margin-top:14px}}
@media(max-width:560px){.wallet-profile-heading{display:block}.wallet-profile-heading .button{margin-top:12px}.wallet-profile-summary{grid-template-columns:1fr}.wallet-secret-row{grid-template-columns:1fr;gap:8px;padding:12px 14px}.wallet-secret-row code{overflow:hidden;text-overflow:ellipsis}.wallet-meta-grid>div{grid-template-columns:1fr;gap:6px;padding:10px 0}.wallet-mnemonic-lock{grid-template-columns:1fr;text-align:center}.wallet-mnemonic-lock>span{margin:auto}}
.wallet-secret-row button:not(:disabled){color:#0870e6}.wallet-secret-row button:not(:disabled):hover{background:#edf5ff;border-radius:5px}.wallet-secret-value[data-value]{letter-spacing:0;white-space:normal;overflow-wrap:anywhere;color:#0b4f9c}.wallet-mnemonic-lock.wallet-secret-row{grid-template-columns:54px minmax(220px,1fr) auto auto;border-bottom:0}.wallet-mnemonic-lock.wallet-secret-row>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff0f1;color:#e3404d}.wallet-mnemonic-lock.wallet-secret-row>span .ui-icon{width:25px;height:25px}.wallet-mnemonic-lock .wallet-secret-toggle,.wallet-mnemonic-lock .wallet-secret-copy{padding:0 18px}.wallet-mnemonic-lock .wallet-secret-copy:disabled{color:#aab2bd}@media(max-width:820px){.wallet-mnemonic-lock.wallet-secret-row{grid-template-columns:54px 1fr}.wallet-mnemonic-lock.wallet-secret-row .wallet-secret-toggle,.wallet-mnemonic-lock.wallet-secret-row .wallet-secret-copy{display:inline-flex;grid-column:auto}}@media(max-width:560px){.wallet-mnemonic-lock.wallet-secret-row{grid-template-columns:1fr}.wallet-mnemonic-lock.wallet-secret-row>span{margin:auto}.wallet-mnemonic-lock.wallet-secret-row .wallet-secret-toggle,.wallet-mnemonic-lock.wallet-secret-row .wallet-secret-copy{grid-column:auto}}
.wallet-profile-layout-single{grid-template-columns:minmax(0,1fr)}

/* Log center: file navigation, filters, records and detail stack. */
.log-category-tabs{display:flex;gap:28px;margin:-4px 0 14px;padding:0 10px;border-bottom:1px solid #dfe5ed;overflow-x:auto}.log-category-tabs a{height:44px;display:flex;align-items:center;position:relative;white-space:nowrap;color:#344054;font-weight:500}.log-category-tabs a.active{color:#086ce5;font-weight:700}.log-category-tabs a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#086ce5;border-radius:3px 3px 0 0}.log-filters{display:grid;grid-template-columns:minmax(360px,1.5fr) minmax(150px,.65fr) minmax(210px,1fr) minmax(190px,.9fr) minmax(220px,1.1fr);gap:14px;padding:18px;margin-bottom:14px}.log-date-field .date-range{grid-template-columns:minmax(155px,1fr) auto minmax(155px,1fr)}.log-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.log-center-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;align-items:stretch}.log-file-panel{display:flex;flex-direction:column;min-height:620px;overflow:hidden}.log-file-panel>header{height:48px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid #e3e8ef;font-weight:700}.log-file-list{flex:1;padding:0}.log-file-list a{height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-left:3px solid transparent;color:#344054}.log-file-list a:hover{background:#f6f9fd}.log-file-list a.active{border-left-color:#0b6fe8;background:#eaf3ff;color:#0867d7}.log-file-list b{padding:4px 7px;border-radius:5px;background:#eef1f5;color:#657084;font-size:11px}.log-file-list a.active b{background:#d9eaff;color:#0867d7}.log-file-empty{padding:40px 12px;text-align:center;color:#98a2b3;font-size:12px}.log-refresh{height:46px;padding:0 14px;border-top:1px solid #e3e8ef;color:#475467}.log-content-column{min-width:0;display:grid;grid-template-rows:auto minmax(260px,1fr);gap:12px}.log-table-panel{min-width:0;padding:0 10px}.log-table{min-width:1060px}.log-table th,.log-table td{height:42px;padding-left:13px;padding-right:13px}.log-table tbody tr.selected td{background:#eaf3ff}.log-table .truncate{max-width:280px}.log-empty-state{height:238px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#98a2b3}.log-empty-state>.ui-icon{width:38px;height:38px}.log-empty-state b{margin:13px 0 6px;color:#667085}.log-empty-state small{font-size:12px}.log-detail-panel{min-height:270px;padding:10px 12px;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(500px,2fr);gap:12px}.log-detail-panel dl{margin:0;padding:3px 8px}.log-detail-panel dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);min-height:38px;align-items:center}.log-detail-panel dt{color:#667085;font-size:12px}.log-detail-panel dd{margin:0;color:#344054;font-size:12.5px;overflow-wrap:anywhere}.log-detail-empty{grid-column:1/-1;display:grid;place-items:center;color:#98a2b3}.log-stack{position:relative;min-height:250px;border-radius:6px;background:#1d2633;color:#e7edf6;overflow:auto}.log-stack pre{margin:0;padding:20px;font:12px/1.65 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.log-copy{position:absolute;right:8px;top:8px;width:auto;height:30px;padding:0 9px;color:#cbd5e1;background:#ffffff12;z-index:2}.log-copy:hover{background:#ffffff22;color:#fff}.log-copy .ui-icon{display:inline-block;margin-right:5px;width:14px;height:14px}
@media(max-width:1450px){.log-filters{grid-template-columns:repeat(3,minmax(210px,1fr))}.log-filter-actions{grid-column:auto;align-self:end}.log-detail-panel{grid-template-columns:1fr}.log-stack{min-height:230px}}
@media(max-width:980px){.log-filters{grid-template-columns:repeat(2,minmax(200px,1fr))}.log-filter-actions{grid-column:1/-1}.log-center-layout{grid-template-columns:1fr}.log-file-panel{min-height:auto}.log-file-list{display:flex;overflow-x:auto}.log-file-list a{min-width:190px;border-left:0;border-bottom:3px solid transparent}.log-file-list a.active{border-bottom-color:#0b6fe8}.log-refresh{display:none}}
@media(max-width:620px){.log-filters{grid-template-columns:1fr}.log-date-field .date-range{grid-template-columns:1fr}.log-filter-actions{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}.log-detail-panel{padding:8px}.log-detail-panel dl>div{grid-template-columns:80px 1fr}}

/* Refined device details based on the approved HTML design. */
.device-detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 16px}.device-detail-heading h2{font-size:22px;margin:0;color:#101828}.device-detail-heading p{margin:7px 0 0;color:var(--muted);font-size:13px}.device-detail-hero{min-height:128px;padding:20px 24px;display:grid;grid-template-columns:minmax(370px,2.1fr) repeat(4,minmax(145px,1fr));align-items:center}.device-identity{display:flex;align-items:center;gap:18px;min-width:0;padding-right:26px}.device-phone-icon{width:66px;height:66px;border-radius:50%;background:#eef5ff;color:#0c72eb;display:grid;place-items:center;position:relative;flex:none}.device-phone-icon>.ui-icon{width:32px;height:32px;stroke-width:2}.presence-dot{position:absolute;right:5px;bottom:7px;width:12px;height:12px;border:2px solid #fff;border-radius:50%}.presence-dot.green,.status-dot.green{background:#16b364}.presence-dot.gray,.status-dot.gray{background:#98a2b3}.presence-dot.red,.status-dot.red{background:#ef4655}.device-identity-copy{min-width:0}.device-identity-copy h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:20px;white-space:nowrap}.device-identity-copy h2:first-letter{text-transform:uppercase}.device-id-line{display:flex;align-items:center;gap:10px;min-width:0;color:#475467}.device-id-line>span{padding:3px 8px;border-radius:4px;background:#f2f4f7;color:#667085;font-size:12px}.device-id-line code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-hero-metric{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:0 24px;border-left:1px solid #e7ebf1}.device-hero-metric small{color:#667085;margin-bottom:12px}.device-hero-metric b{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:600;color:#344054}.device-hero-metric b>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.copy-line{display:flex!important;align-items:center;gap:7px;min-width:0}.copy-value{width:25px;height:25px;border:0;border-radius:4px;background:transparent;color:#667085;display:inline-grid;place-items:center;position:relative;flex:none}.copy-value:hover{background:#edf4ff;color:#086ce5}.copy-value .ui-icon{width:15px;height:15px}.copy-value.copied{background:#e8f8ef;color:#168653}.copy-value.copied:after{content:"已复制";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:4px 7px;border-radius:4px;background:#1d2939;color:#fff;font-size:11px;white-space:nowrap;z-index:20}.device-detail-tabs{margin:16px 0 14px;padding:0 8px;gap:34px;background:transparent;border:0;border-bottom:1px solid #dfe5ed;border-radius:0}.device-detail-tabs a{height:50px;position:relative;color:#344054;font-weight:500}.device-detail-tabs a:hover{color:#086ce5}.device-detail-tabs a.active{color:#086ce5;font-weight:700}.device-detail-tabs a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:#086ce5}.device-info-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(520px,1.35fr);gap:12px}.device-info-card{padding:18px 24px}.device-info-card h3{margin:0 0 14px;font-size:15px;color:#1d2939}.device-info-card dl{margin:0}.device-info-card dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-height:36px}.device-info-card dt{color:#667085;font-size:12px}.device-info-card dd{margin:0;min-width:0;color:#344054;font-size:12.5px;overflow-wrap:anywhere}.device-info-card code{font-family:Consolas,monospace;font-size:12px}.inline-status{display:flex;align-items:center;gap:8px}.device-code-row{min-height:32px;padding:4px 7px 4px 10px;border:1px solid #dfe5ed;border-radius:4px;background:#fbfcfe;display:flex!important;align-items:center;justify-content:space-between;gap:8px}.device-code-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.device-info-columns dl>div{grid-template-columns:110px minmax(0,1fr)}.device-time-card{grid-column:1/-1}.device-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.device-time-grid>div{padding:3px 26px;border-left:1px solid #e7ebf1}.device-time-grid>div:first-child{padding-left:0;border-left:0}.device-time-grid small,.device-time-grid span{display:block}.device-time-grid small{color:#667085;margin-bottom:11px;font-size:12px}.device-time-grid span{font-size:12.5px;color:#344054}.device-related-panel{border-radius:7px;margin-top:0}.device-related-panel .panel-title{min-height:56px}.record-tab-warning+.device-related-panel{border-radius:0 0 7px 7px}.device-detail-hero+.device-detail-tabs{margin-top:16px}
@media(max-width:1450px){.device-detail-hero{grid-template-columns:minmax(330px,1.8fr) repeat(2,minmax(155px,1fr));row-gap:18px}.device-hero-metric:nth-child(4){border-left:0}.device-hero-metric{min-height:54px}.device-detail-tabs{gap:24px}}
@media(max-width:1100px){.device-info-layout{grid-template-columns:1fr}.device-time-card{grid-column:auto}.device-detail-hero{grid-template-columns:minmax(320px,1.7fr) repeat(2,minmax(150px,1fr))}.device-detail-tabs{overflow-x:auto}.device-info-columns{gap:16px}.device-time-grid{grid-template-columns:repeat(2,1fr);row-gap:22px}.device-time-grid>div:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:760px){.device-detail-heading{align-items:flex-start}.device-detail-heading p{display:none}.device-detail-hero{grid-template-columns:1fr 1fr;padding:18px}.device-identity{grid-column:1/-1;padding:0 0 16px}.device-hero-metric{padding:8px 12px;border-left:0;border-top:1px solid #e7ebf1}.device-hero-metric:nth-child(even){border-left:1px solid #e7ebf1}.device-info-card{padding:16px}.device-info-columns{grid-template-columns:1fr}.device-time-grid{grid-template-columns:1fr}.device-time-grid>div,.device-time-grid>div:nth-child(3){padding:10px 0;border-left:0;border-top:1px solid #e7ebf1}.device-time-grid>div:first-child{border-top:0}.device-info-card dl>div{grid-template-columns:120px minmax(0,1fr)}.device-identity-copy h2{font-size:17px}}

/* Device application tab: label-based detail view instead of a data table. */
.device-app-summary{display:grid;grid-template-columns:1.5fr .7fr .8fr 1.1fr;padding:20px 24px;margin-bottom:12px}.device-app-summary>div{min-height:54px;padding:4px 24px;border-left:1px solid #e7ebf1;display:flex;flex-direction:column;justify-content:center;gap:9px}.device-app-summary>div:first-child{padding-left:0;border-left:0}.device-app-summary small{color:#667085}.device-app-summary strong{font-size:24px;color:#101828}.device-app-summary span{color:#344054}.device-app-summary code{font-family:Consolas,monospace}.device-app-panel{padding:0 18px 20px}.device-app-panel .panel-title{padding:0 2px;min-height:54px}.device-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.device-app-item{min-height:76px;padding:12px 13px;border:1px solid #e3e8ef;border-radius:7px;background:#fafbfc;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px}.device-app-item.installed{border-color:#c9ddfb;background:#f7faff}.device-app-icon{width:38px;height:38px;border-radius:9px;background:#edf0f4;color:#98a2b3;display:grid;place-items:center}.device-app-item.installed .device-app-icon{background:#e8f2ff;color:#176bd2}.device-app-icon .ui-icon{width:20px;height:20px}.device-app-item b,.device-app-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-app-item b{font-size:13px;color:#344054}.device-app-item small{margin-top:7px;color:#667085}.device-app-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#667085}.device-app-empty>.ui-icon{width:42px;height:42px;color:#98a2b3}.device-app-empty h3{margin:16px 0 4px;color:#344054}.device-app-empty p{margin:0}
@media(max-width:1250px){.device-app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.device-app-summary{grid-template-columns:repeat(2,1fr);row-gap:16px}.device-app-summary>div:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:820px){.device-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.device-app-grid,.device-app-summary{grid-template-columns:1fr}.device-app-summary>div{padding:12px 0;border-left:0;border-top:1px solid #e7ebf1}.device-app-summary>div:first-child{border-top:0}.device-app-item{grid-template-columns:38px minmax(0,1fr)}}

/* Account list and universal device identifier links. */
.device-record-link{color:#0768df;text-decoration:none;font-weight:500}.device-record-link:hover{text-decoration:underline}.account-list-panel .panel-title{min-height:54px}.account-list-table td:first-child{font-weight:500;color:#24344d}.account-list-table tbody tr:hover td{background:#f3f8ff}.account-list-table .row-actions{gap:8px}.account-list-table .row-actions .link{padding-left:0;padding-right:7px;border-right:1px solid #dfe5ed}.account-list-table .row-actions .link:last-child{padding-right:0;border-right:0}

/* Account details open as a closable right-side layer while the list remains visible. */
body:has(.account-detail-drawer) .content{padding-right:442px}.account-detail-drawer{position:fixed;top:64px;right:0;bottom:0;width:420px;background:#fff;border-left:1px solid #dfe5ed;box-shadow:-10px 0 30px rgba(24,45,75,.10);z-index:19;display:flex;flex-direction:column}.account-detail-drawer>header{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e5e9ef}.account-detail-drawer>header h2{margin:0;font-size:18px}.account-drawer-close{width:36px;height:36px;color:#475467}.account-drawer-close:hover{background:#f0f4f9;color:#d92d20}.account-drawer-body{padding:14px 16px 24px;overflow-y:auto;display:grid;gap:12px}.account-drawer-card{padding:17px 18px;border:1px solid #e1e6ee;border-radius:7px;background:#fff}.account-drawer-card h3{margin:0 0 15px;font-size:15px}.account-drawer-card dl{margin:0}.account-drawer-card dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;min-height:39px}.account-drawer-card dt{font-size:12px;color:#667085}.account-drawer-card dd{margin:0;font-size:12.5px;color:#344054;overflow-wrap:anywhere}.account-device-empty{margin:0;padding:22px 0;text-align:center;color:#98a2b3}.account-drawer-actions .button{width:100%}
@media(max-width:1350px){body:has(.account-detail-drawer) .content{padding-right:22px}.account-detail-drawer{width:min(420px,calc(100vw - 72px));box-shadow:-18px 0 45px rgba(24,45,75,.20)}}

/* Keep the log stack copy action above the shared compact copy-button rule. */
.log-stack>.log-copy{position:absolute!important;left:auto!important;right:8px!important;top:8px!important;width:auto!important;height:30px!important;padding:0 9px!important;display:inline-flex!important;align-items:center;gap:5px;border:0;border-radius:5px;background:#ffffff12;color:#cbd5e1}.log-stack>.log-copy:hover{background:#ffffff22;color:#fff}.log-stack>.log-copy .ui-icon{width:14px;height:14px;margin:0}

/* Role and permission management: account list plus role matrix. */
.role-page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 14px}.role-page-heading h2{margin:0;color:#101828;font-size:22px}.role-page-heading p{margin:7px 0 0;color:#667085;font-size:13px}.role-management-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(650px,1.18fr);gap:12px;align-items:stretch}.admin-account-panel,.role-permission-panel{min-width:0;min-height:680px;display:flex;flex-direction:column;overflow:hidden}.role-panel-header{min-height:102px;padding:18px 16px 14px;border-bottom:1px solid #e4e8ee}.role-panel-header h3{margin:0 0 18px;font-size:17px;color:#1d2939}.admin-account-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-account-search{width:min(250px,100%);height:38px;position:relative}.admin-account-search>span{position:absolute;right:10px;top:9px;color:#667085;pointer-events:none}.admin-account-search .ui-icon{width:18px;height:18px}.admin-account-search input{width:100%;height:38px;padding:0 37px 0 12px;border:1px solid #d7dee8;border-radius:5px;color:#344054;background:#fff}.admin-account-tools .button{flex:none}.admin-role-table-wrap{flex:1;min-width:0;overflow:auto;padding:0 12px}.admin-role-table{min-width:710px;font-size:12px}.admin-role-table th,.admin-role-table td{height:52px;padding:0 11px}.admin-role-table th{height:44px}.admin-role-table tbody tr:hover td{background:#f6f9fd}.admin-name-cell{font-weight:600;color:#344054}.role-name-link{color:#0870e6}.role-name-link:hover{text-decoration:underline}.account-state{display:inline-flex;align-items:center;gap:7px}.account-state i{width:8px;height:8px;border-radius:50%}.account-state.enabled{color:#168653}.account-state.enabled i{background:#16b364}.account-state.locked{color:#d92d20}.account-state.locked i{background:#ef4655}.role-list-pager{height:58px;display:flex;align-items:center;gap:8px;padding:0 18px;border-top:1px solid #e4e8ee;color:#667085;font-size:12px}.role-list-pager select{height:32px;border:1px solid #dce2ea;border-radius:5px;background:#fff;color:#475467;padding:0 8px}.role-list-pager .button{width:32px;height:32px;padding:0}.role-list-pager .current-page{width:32px;height:32px;border-radius:5px;background:#0b67e8;color:#fff;display:grid;place-items:center;font-weight:700}.permission-heading{min-height:116px}.role-picker-form{display:flex;align-items:center;gap:14px}.role-picker-form label{color:#475467;font-size:13px;font-weight:600;white-space:nowrap}.role-picker-form select{width:250px;height:38px;border:1px solid #d7dee8;border-radius:5px;background:#fff;padding:0 12px;color:#344054}.permission-editor{display:flex;flex:1;min-height:0;flex-direction:column}.permission-table-wrap{flex:1;min-width:0;overflow:auto;padding:0 12px}.role-permission-table{min-width:690px;font-size:12px}.role-permission-table thead th{height:44px;background:#f7f8fa}.role-permission-table th:first-child,.role-permission-table td:first-child{width:165px;text-align:left}.role-permission-table th:not(:first-child),.role-permission-table td:not(:first-child){text-align:center}.role-permission-table th,.role-permission-table td{padding:0 11px}.permission-module-row th{height:38px;background:#fbfcfd;color:#344054;border-bottom:1px solid #e8ecf1}.permission-module-row .ui-icon{width:15px;height:15px;margin-right:8px;vertical-align:-3px}.permission-action-row td{height:45px}.permission-action-row td:first-child{padding-left:30px;color:#667085}.role-permission-table input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:#0b6fe8;cursor:pointer}.permission-actions{height:64px;padding:0 14px;display:flex;align-items:center;gap:10px;border-top:1px solid #e4e8ee}.permission-actions .button.primary{min-width:95px}
@media(max-width:1450px){.role-management-layout{grid-template-columns:1fr}.admin-account-panel,.role-permission-panel{min-height:560px}.role-permission-panel{min-height:700px}}
@media(max-width:760px){.role-page-heading p{display:none}.role-management-layout{display:block}.role-permission-panel{margin-top:12px}.admin-account-tools{align-items:stretch;flex-direction:column}.admin-account-search{width:100%}.admin-account-tools .button{align-self:flex-start}.role-panel-header{min-height:auto}.role-picker-form{align-items:flex-start;flex-direction:column;gap:7px}.role-picker-form select{width:100%}.role-list-pager{overflow-x:auto}.role-panel-header.permission-heading{min-height:auto}}
.admin-role-table{min-width:620px}.admin-role-table th,.admin-role-table td{padding-left:7px;padding-right:7px}.permission-heading{min-height:108px}.role-permission-table thead th{height:40px}.permission-module-row th{height:30px}.permission-action-row td{height:37px}.permission-actions{height:58px}
.admin-session{margin:0}.permission-readonly-note{display:inline-flex;align-items:center;gap:8px;color:#667085;font-size:12px}.permission-readonly-note .ui-icon{width:16px;height:16px}.permission-granted{display:inline-grid;place-items:center;color:#0b6fe8}.permission-granted .ui-icon{width:18px;height:18px}.access-denied-card{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.access-denied-card>.ui-icon{width:48px;height:48px;color:#d92d20}.access-denied-card h2{margin:18px 0 8px}.access-denied-card p{margin:0 0 22px;color:#667085}

/* System settings: anchored category navigation and functional server settings. */
.system-settings-heading{margin:0 0 16px}.system-settings-heading h2{margin:0;color:#101828;font-size:22px}.system-settings-heading p{margin:7px 0 0;color:#667085;font-size:13px}.system-settings-form{min-width:0}.system-settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}.system-settings-nav{position:sticky;top:78px;padding:9px 0;overflow:hidden}.system-settings-nav a{height:50px;padding:0 20px;display:flex;align-items:center;position:relative;color:#475467;font-size:14px;font-weight:600}.system-settings-nav a:hover{background:#f7faff;color:#086ce5}.system-settings-nav a.active{background:#f5f9ff;color:#086ce5}.system-settings-nav a.active>span{position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#0b6fe8}.system-settings-content{min-width:0;display:grid;gap:12px}.settings-section-card{padding:20px 24px;scroll-margin-top:80px}.settings-section-card h3{margin:0 0 20px;color:#1d2939;font-size:16px}.settings-field-grid{display:grid;gap:26px 42px}.settings-field-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-field{min-width:0;display:flex;flex-direction:column;gap:8px;color:#475467;font-size:13px;font-weight:600}.setting-field>input,.setting-field>select{width:100%;height:42px;padding:0 13px;border:1px solid #d6dee9;border-radius:5px;background:#fff;color:#344054}.setting-field>input:focus,.setting-field>select:focus,.input-with-unit:focus-within{outline:0;border-color:#0b6fe8;box-shadow:0 0 0 3px #0b6fe819}.setting-field small{color:#98a2b3;font-size:11.5px;font-weight:400;line-height:1.5}.setting-field em,.validation-summary{color:#d92d20;font-size:12px;font-style:normal}.validation-summary:empty{display:none}.input-with-unit{height:42px;display:flex;align-items:center;border:1px solid #d6dee9;border-radius:5px;background:#fff;overflow:hidden}.input-with-unit input{min-width:0;flex:1;height:40px;padding:0 13px;border:0;background:transparent;color:#344054}.input-with-unit input:focus{outline:0}.input-with-unit b{padding:0 14px;color:#667085;font-size:13px;font-weight:500;white-space:nowrap}.settings-explanation{min-height:80px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:6px;background:#fafcff}.settings-explanation>span{color:#344054;font-size:13px;font-weight:700}.settings-explanation p{margin:8px 0 0;color:#667085;font-size:12px;line-height:1.6}.settings-toggle-card{min-height:80px;padding:14px 16px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:6px;background:#fafcff;cursor:pointer}.settings-toggle-card input{position:absolute;opacity:0;pointer-events:none}.settings-toggle-card>i{width:40px;height:22px;border-radius:20px;background:#cfd6df;position:relative;transition:.2s}.settings-toggle-card>i:after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.2s}.settings-toggle-card input:checked+i{background:#0b6fe8}.settings-toggle-card input:checked+i:after{transform:translateX(18px)}.settings-toggle-card input:focus-visible+i{box-shadow:0 0 0 3px #0b6fe82c}.settings-toggle-card span b,.settings-toggle-card span small{display:block}.settings-toggle-card span b{color:#344054;font-size:13px}.settings-toggle-card span small{margin-top:6px;color:#667085;font-size:11.5px;font-weight:400}.security-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-policy-grid>div{min-height:84px;padding:15px 16px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dbe7f6;border-radius:7px;background:#f7fbff}.policy-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e6f1ff;color:#0b6fe8}.policy-icon .ui-icon{width:19px;height:19px}.security-policy-grid p{margin:0}.security-policy-grid p b,.security-policy-grid p small{display:block}.security-policy-grid p b{color:#344054;font-size:13px}.security-policy-grid p small{margin-top:6px;color:#667085;font-size:11.5px;line-height:1.55}.security-policy-grid strong{padding:4px 8px;border-radius:4px;background:#e7f7ee;color:#168653;font-size:11px;white-space:nowrap}.settings-save-bar{min-height:66px;padding:12px 24px;display:flex;align-items:center;gap:12px}.settings-save-bar .button{height:40px;min-width:110px}.settings-save-bar>span{margin-left:auto;color:#98a2b3;font-size:12px}
@media(max-width:1200px){.settings-field-grid.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.security-policy-grid{grid-template-columns:1fr}}
@media(max-width:820px){.system-settings-layout{grid-template-columns:1fr}.system-settings-nav{position:static;display:flex;overflow-x:auto;padding:0}.system-settings-nav a{min-width:max-content}.system-settings-nav a.active>span{left:16px;right:16px;top:auto;bottom:0;width:auto;height:3px}.settings-field-grid.three-columns,.settings-field-grid.two-columns{grid-template-columns:1fr}.settings-section-card{padding:18px}.settings-save-bar{flex-wrap:wrap}.settings-save-bar>span{width:100%;margin:0}.security-policy-grid>div{grid-template-columns:40px minmax(0,1fr)}.security-policy-grid strong{grid-column:2}}

/* Login page matching the approved dark-blue technology design. */
body.login-page{position:relative;min-height:100vh;overflow:auto;padding:36px;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(12,91,179,.48),transparent 34%),radial-gradient(circle at 13% 88%,rgba(0,91,190,.48),transparent 34%),radial-gradient(circle at 86% 70%,rgba(0,91,190,.43),transparent 31%),linear-gradient(135deg,#031d43 0%,#052d64 48%,#03234e 100%);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}.login-page:before,.login-page:after{content:"";position:fixed;border-radius:50%;pointer-events:none;filter:blur(6px);opacity:.8}.login-page:before{left:5%;top:46%;width:9px;height:9px;background:#1789f5;box-shadow:205px 5px 0 #1475dc,345px 180px 0 #1789f5,525px 325px 0 #1475dc,1510px 180px 0 #1789f5}.login-page:after{right:7%;bottom:13%;width:13px;height:13px;background:#0f74dd;box-shadow:-220px -80px 0 #1686ef,-445px 35px 0 #0f74dd,-80px -390px 0 #1686ef}.login-network{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.login-network g{fill:#147ce5;stroke:#1681ed;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.28}.login-network circle{stroke:none;opacity:.95}.login-shell{position:relative;z-index:1;width:100%;display:grid;place-items:center}.login-page .login-card{width:min(654px,calc(100vw - 40px));margin:0;padding:68px 52px 42px;border:1px solid rgba(20,42,74,.22);border-radius:10px;background:rgba(255,255,255,.985);box-shadow:0 18px 58px rgba(0,18,49,.42);color:#172033}.login-heading{text-align:center;margin-bottom:37px}.login-heading h1{margin:0;font-size:38px;line-height:1.25;letter-spacing:6px;color:#102038;font-weight:700}.login-heading>div{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:20px}.login-heading>div span{width:112px;height:1px;background:#cbd3df}.login-heading p{margin:0;color:#68758a;font-size:18px;letter-spacing:3px;white-space:nowrap}.login-field{margin-top:24px}.login-field>label{display:block;margin-bottom:10px;color:#202838;font-size:15px;font-weight:600}.login-input-wrap{height:56px;display:flex;align-items:center;border:1px solid #cbd4e0;border-radius:6px;background:#fff;transition:border-color .18s,box-shadow .18s}.login-input-wrap:focus-within{border-color:#126de5;box-shadow:0 0 0 3px rgba(18,109,229,.12)}.login-input-wrap>.ui-icon{width:20px;height:20px;margin-left:18px;flex:none;color:#7f8da3;stroke-width:1.7}.login-page .login-card .login-input-wrap input{height:54px;min-width:0;flex:1;padding:0 16px;border:0;background:transparent;color:#25334a;font-size:15px;outline:0}.login-input-wrap input::placeholder{color:#9aa5b6}.password-visibility{width:52px;height:54px;display:grid;place-items:center;flex:none;border:0;background:transparent;color:#7e8ca2;cursor:pointer}.password-visibility:hover,.password-visibility.active{color:#126de5}.password-visibility .ui-icon{width:20px;height:20px}.login-field-validation{display:block;min-height:17px;margin-top:5px;color:#d92d20;font-size:12px}.login-validation-summary{margin:-12px 0 18px;padding:11px 13px;border:1px solid #ffc9cc;border-radius:5px;background:#fff3f3;color:#d92d20;font-size:13px}.login-validation-summary:empty,.login-validation-summary.validation-summary-valid{display:none}.login-validation-summary ul{margin:0;padding-left:20px}.login-page .login-card .login-remember{margin:18px 0 0;display:inline-flex;align-items:center;gap:9px;color:#344054;font-size:14px;cursor:pointer}.login-page .login-card .login-remember input{width:18px;height:18px;margin:0;padding:0;border:1px solid #b8c4d3;border-radius:4px;accent-color:#126de5}.login-page .login-card .login-submit{width:100%;height:56px;margin:26px 0 34px;border:0;border-radius:6px;background:linear-gradient(90deg,#1766ed,#0f70ef);box-shadow:0 7px 16px rgba(16,103,231,.19);font-size:16px;font-weight:700}.login-page .login-card .login-submit:hover{background:linear-gradient(90deg,#115bdd,#0864df)}.login-security-note{display:flex;align-items:center;justify-content:center;gap:10px;color:#7a8699}.login-security-note>span{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:50%;background:#edf5ff;color:#146ee3}.login-security-note .ui-icon{width:17px;height:17px}.login-security-note p{margin:0;font-size:13px;line-height:1.55}.login-page input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#25334a}
@media(max-width:720px){body.login-page{padding:20px}.login-page .login-card{padding:46px 27px 30px}.login-heading{margin-bottom:28px}.login-heading h1{font-size:28px;letter-spacing:4px}.login-heading>div{gap:12px}.login-heading>div span{width:58px}.login-heading p{font-size:15px}.login-security-note{align-items:flex-start}.login-network{transform:scale(1.35)}}
@media(max-height:760px) and (min-width:721px){.login-page .login-card{padding-top:38px;padding-bottom:28px}.login-heading{margin-bottom:22px}.login-field{margin-top:16px}.login-page .login-card .login-submit{margin-top:20px;margin-bottom:22px}}

/* Account type filter and source badges. */
.account-filters{grid-template-columns:minmax(180px,.8fr) minmax(160px,.7fr) minmax(150px,.65fr) minmax(390px,1.7fr) auto}
.badge.purple{background:#f1ebff;color:#7951e8}
@media(max-width:1400px){.account-filters{grid-template-columns:repeat(2,minmax(210px,1fr))}.account-filters .active-range-field{grid-column:1/3}}
@media(max-width:680px){.account-filters{grid-template-columns:1fr}.account-filters .active-range-field{grid-column:auto}}
