:root{--bg: #0f172a;--surface: #1e293b;--surface-hover: #334155;--border: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--surface);border-right:1px solid var(--border);padding:1rem;display:flex;flex-direction:column}.sidebar h2{font-size:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.sidebar nav a{display:block;padding:.5rem .75rem;border-radius:var(--radius);color:var(--text);margin-bottom:.25rem}.sidebar nav a:hover,.sidebar nav a.active{background:var(--surface-hover);text-decoration:none}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.main-content{flex:1;padding:2rem;overflow-y:auto}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:background .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.error-msg{color:var(--danger);font-size:.8125rem;margin-top:.25rem}.vault-list{list-style:none}.vault-list li{padding:.75rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.vault-list li:hover{background:var(--surface-hover)}.vault-list li:last-child{border-bottom:none}.item-table-wrapper{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;background:var(--surface)}.item-table{width:100%;border-collapse:collapse;font-size:.875rem}.item-table th{text-align:left;padding:.625rem .875rem;background:var(--surface-hover);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.item-table .col-type{width:2.25rem}.item-table .col-actions{width:5.5rem}.item-table td{padding:.5rem .875rem;border-bottom:1px solid var(--border);vertical-align:middle}.item-table tr.item-row:last-child td{border-bottom:none}.item-table tr.item-row{cursor:pointer;transition:background .15s}.item-table tr.item-row:hover{background:var(--surface-hover)}.item-table tr.item-row:focus-visible{outline:2px solid var(--accent, #4a90d9);outline-offset:-2px}.item-table td.col-type{font-size:1rem;text-align:center}.item-table td.item-name{font-weight:500;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-table td.col-url{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.item-table .dash{color:var(--text-muted)}.item-table .item-secret{display:inline-flex;align-items:center;gap:.375rem}.item-table .item-secret-value{font-family:var(--font-mono, monospace);min-width:6rem;display:inline-block}.item-table .btn-icon{padding:.125rem .375rem;font-size:.8rem;line-height:1}.item-table td.item-actions{display:flex;gap:.25rem;flex-shrink:0}.item-table td.item-actions .btn{padding:.25rem .5rem;font-size:.75rem}@media (max-width: 768px){.item-table .col-url,.item-table td.col-url{display:none}}.badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-default{background:var(--primary);color:#fff}.loading{display:flex;justify-content:center;padding:2rem;color:var(--text-muted)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:400px}.auth-card h1{text-align:center;margin-bottom:1.5rem;font-size:1.25rem}.auth-card .form-group:last-of-type{margin-bottom:1.5rem}.auth-card .btn{width:100%;justify-content:center}.auth-toggle{text-align:center;margin-top:1rem;font-size:.8125rem;color:var(--text-muted)}.pg-title{margin-top:0;margin-bottom:1rem}.pg-checkbox-group{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.pg-checkbox-label{display:flex;align-items:center;gap:.375rem;font-size:.875rem}.pg-actions{display:flex;gap:.5rem;align-items:center}.pg-result{margin-top:1rem}.pg-password-display{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--surface-hover);border-radius:6px;font-family:monospace;font-size:.9375rem;word-break:break-all}.pg-password-text{flex:1}.pg-copy-btn{font-size:.75rem;white-space:nowrap}.pg-strength{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.pg-strength-bar-bg{flex:1;height:4px;background:var(--surface-hover);border-radius:2px;overflow:hidden}.pg-strength-bar{height:100%;border-radius:2px;transition:width .3s}.pg-strength-label{font-size:.75rem;font-weight:600}.bc-title{margin-top:0;margin-bottom:1rem}.bc-input-row{display:flex;gap:.5rem}.bc-input{flex:1}.bc-result{padding:1rem;border-radius:6px}.bc-result-text{margin:0;font-weight:600}.bc-breached{color:var(--danger)}.bc-safe{color:var(--success)}.bc-result-hint{font-weight:400;font-size:.875rem}.bc-disclaimer{margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.admin-warning-banner{background:#ef444414;border:1px solid var(--danger);border-radius:var(--radius);padding:.875rem 1rem}
