*{box-sizing:border-box}
body{margin:0;background:#090b10;color:#f6f8ff;font-family:Segoe UI,Arial,sans-serif}
.centre-brand-icon{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;object-fit:contain!important;display:block;margin:0 0 7px}
.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr;transition:grid-template-columns .2s ease}
.app.sidebar-collapsed{grid-template-columns:72px 1fr}
aside{background:#111722;border-right:1px solid #273244;padding:18px 12px;position:sticky;top:0;height:100vh}
.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.brand-text{min-width:0}.eyebrow{margin:0 0 4px;color:#ffb347;font-size:11px;font-weight:950;letter-spacing:.14em}
h1,h2,h3{margin:0;color:#fff} h1{font-size:22px;line-height:1.05} h2{font-size:34px} p{color:#cbd5e1}
.sidebar-toggle{width:34px;height:34px;border:0;border-radius:10px;background:#202838;color:#ffb347;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.sidebar-toggle:hover{filter:brightness(1.08)}
nav{display:grid;gap:7px;margin-top:22px}
nav button{border:0;border-radius:10px;background:transparent;color:#dbe7ff;text-align:left;padding:10px 11px;font-size:13px;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:10px}
nav button i{width:18px;text-align:center;font-size:14px;flex:0 0 auto}
nav button.active,nav button:hover{background:#202838;color:#ffb347}
.app.sidebar-collapsed aside{padding:18px 10px}
.app.sidebar-collapsed .brand-text,.app.sidebar-collapsed nav button span{display:none}
.app.sidebar-collapsed .sidebar-head{justify-content:center}
.app.sidebar-collapsed nav button{justify-content:center;padding:11px 0}
.app.sidebar-collapsed nav button i{font-size:16px}
main{padding:30px;min-width:0}.page{display:none}.page.active{display:block}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:20px 0}
.filter-row{display:grid;grid-template-columns:1.4fr .9fr .9fr 1fr 1fr auto auto;gap:10px;align-items:center}
.card{background:#151a23;border:1px solid #2b3342;border-radius:16px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.danger-card{border-color:#7f1d1d;background:#1d1114;margin-top:18px}
.card .value{font-size:24px;line-height:1.05;color:#ffb347;font-weight:850;letter-spacing:-.02em}.card .label{font-size:12px;color:#aeb6c7;font-weight:700}
.summary-grid .card,.grid .card{min-width:0}
.summary-grid .card .value,.grid .card .value{font-size:23px;overflow-wrap:anywhere}
.summary-grid .card .label,.grid .card .label{font-size:12px}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.btn{border:0;border-radius:12px;background:#ffb347;color:#101319;padding:12px 15px;font-weight:950;cursor:pointer}
.btn.secondary{background:#e5e7eb;color:#111827}
.btn.danger{background:#ef4444;color:#fff}
.icon-btn{width:34px;height:34px;border:0;border-radius:10px;background:#e5e7eb;color:#111827;display:inline-grid;place-items:center;cursor:pointer;margin-right:5px}
.icon-btn.warning{background:#ffb347;color:#101319}
.icon-btn.ok{background:#0e4f33;color:#6ee7a8}
.icon-btn.danger{background:#b42318;color:#fff}
.icon-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:10px;border-bottom:1px solid #283244;text-align:left;font-size:12.5px;white-space:nowrap}th{color:#ffb347}td{color:#e5edff}
.pill{display:inline-block;border-radius:999px;background:#263247;color:#dbe7ff;padding:4px 9px;font-size:12px;font-weight:850}.pill.ok{background:#0e4f33;color:#6ee7a8}.pill.err{background:#58151c;color:#ffb4b4}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:grid;place-items:center;padding:22px;overflow:hidden}.modal.hidden{display:none}
.modal-card{width:min(900px,96vw);max-height:90vh;overflow:hidden;background:#f4f2ec;color:#07111f;border-radius:18px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.45);scrollbar-gutter:stable}
.modal-card{overflow-y:auto;background-clip:padding-box}
.modal-card::-webkit-scrollbar{width:8px}
.modal-card::-webkit-scrollbar-track{background:transparent;margin:14px 0}
.modal-card::-webkit-scrollbar-thumb{background:#c8c0b4;border-radius:999px;border:2px solid #f4f2ec}
.modal-card::-webkit-scrollbar-thumb:hover{background:#a99f92}
.modal-card{scrollbar-width:thin;scrollbar-color:#c8c0b4 transparent}
.detail-card{width:min(820px,94vw);background:#f7f5ef;border-radius:16px;padding:20px}
.detail-card .head-row{border-bottom:1px solid #ded8cc;padding-bottom:12px;margin-bottom:14px}
.modal-card h3{color:#07111f;font-size:24px;font-weight:650}.xbtn{border:0;background:#e9ecef;color:#111827;border-radius:10px;width:38px;height:38px;font-size:22px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px;background:#fff;border:1px solid #e1ddd4;border-radius:14px;padding:16px}
.form-grid label{display:grid;gap:7px;color:#475569;font-size:12.5px;font-weight:400;letter-spacing:.01em}
.form-grid .full-field{grid-column:1/-1}
input,select{width:100%;border:1px solid #d7dce5;border-radius:10px;background:#fbfcfe;color:#101827;padding:11px 12px;font:inherit;font-size:14px;font-weight:400;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input[type=file]{padding:10px;background:#fff}
input:focus,select:focus{border-color:#ffb347;background:#fff;box-shadow:0 0 0 3px rgba(255,179,71,.22)}
input::placeholder{color:#94a3b8;font-weight:400}
.actions{display:flex;gap:10px;margin-top:18px}
.password-field{position:relative;display:block}.password-field input{padding-right:48px}.field-icon{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:#e5e7eb;color:#111827;cursor:pointer}.secret-value{display:flex;align-items:center;gap:8px;min-width:0}.secret-text{font-family:Consolas,monospace;overflow:hidden;text-overflow:ellipsis}.secret-toggle{border:0;border-radius:9px;background:#e5e7eb;color:#111827;width:32px;height:30px;cursor:pointer;flex:0 0 auto}
.access-box{margin-top:14px;border:1px solid #e1ddd4;background:#fff;border-radius:14px;padding:14px;display:grid;gap:12px;color:#475569;font-size:13px;font-weight:400}
.check-line{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px;font-weight:400}
.check-line input{width:auto}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:9px}
.check-grid.disabled{opacity:.55}
.check-grid label{display:flex;align-items:center;gap:8px;background:#fbfcfe;border:1px solid #e1e6ee;border-radius:10px;padding:9px;font-weight:400;color:#334155}
.check-grid input{width:auto}
code{display:block;background:#0d1118;color:#6ee7a8;border:1px solid #2b3342;border-radius:12px;padding:14px;overflow:auto}
.notice{background:#fff;border:1px solid #e1ddd4;border-radius:12px;padding:12px;margin:12px 0;color:#334155}
.danger-notice{border-color:#ef4444!important;color:#991b1b!important;background:#fee2e2!important}
.file-filter-row{grid-template-columns:minmax(180px,280px) auto}
.empty-state{min-height:210px;display:grid;place-items:center;text-align:center;align-content:center;gap:8px;color:#cbd5e1}
.empty-state i{font-size:36px;color:#ffb347}
.empty-state h3{font-size:22px;font-weight:650}
.empty-state p{margin:0;max-width:420px}
.click-row{cursor:pointer}.click-row:hover{background:#202838}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.detail-item{display:grid;gap:5px;background:#fff;border:1px solid #e1ddd4;border-radius:10px;padding:10px 12px;min-width:0}
.detail-label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.01em}
.detail-value{color:#111827;font-size:13.5px;font-weight:400;line-height:1.35;word-break:break-word}
.detail-value .secret-value{font-weight:400}
@media(max-width:820px){.app,.app.sidebar-collapsed{grid-template-columns:1fr}aside{height:auto;position:static}.app.sidebar-collapsed .brand-text,.app.sidebar-collapsed nav button span{display:block}.app.sidebar-collapsed nav button{justify-content:flex-start;padding:10px 11px}.sidebar-head{align-items:center}.form-grid{grid-template-columns:1fr}.head-row{align-items:flex-start;flex-direction:column}}
@media(max-width:980px){.filter-row{grid-template-columns:1fr 1fr}.filter-row .btn{width:100%}}
@media(max-width:700px){.detail-grid{grid-template-columns:1fr}}
