@import "https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--color-primary:#1b3a5c;--color-primary-hover:#2c5d8f;--color-primary-active:#14304c;--color-accent:#e8703a;--color-accent-hover:#d45f2b;--color-bg:#f5f7f9;--color-surface:#fff;--color-surface-raised:#fff;--color-tint-accent:#fdece0;--color-tint-primary:#e7eef4;--color-text:#1a2733;--color-text-secondary:#5b6b78;--color-text-muted:#8a97a3;--color-text-on-primary:#fff;--color-border:#e2e5e9;--color-border-strong:#c9d0d6;--color-success:#2e8b57;--color-success-soft:#e3f3ea;--color-warning:#d9822b;--color-warning-soft:#fbebda;--color-danger:#c4432e;--color-danger-soft:#f9e4e0;--shadow-sm:0 1px 2px #1a27330f;--shadow-md:0 4px 12px #1a273314;--shadow-lg:0 16px 40px #1a273324;--font-display:"Sora", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--transition-fast:.15s ease;--transition-base:.22s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-primary:#4c86bf;--color-primary-hover:#6aa0d6;--color-primary-active:#3a6c9e;--color-accent-hover:#f08752;--color-bg:#10161c;--color-surface:#182029;--color-surface-raised:#1e2732;--color-tint-accent:#2e2119;--color-tint-primary:#1a2733;--color-text:#eaeef2;--color-text-secondary:#a6b2bd;--color-text-muted:#6e7b87;--color-text-on-primary:#0e1418;--color-border:#2a343e;--color-border-strong:#3a454f;--color-success:#4fb077;--color-success-soft:#17291f;--color-warning:#e0a050;--color-warning-soft:#2e2415;--color-danger:#dd6a54;--color-danger-soft:#2e1b17;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 16px 40px #00000073}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background var(--transition-base), color var(--transition-base);margin:0;font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.vault-app{background:var(--color-bg);min-height:100vh}.vault-header{z-index:30;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.vault-header-inner,.vault-main{width:min(1180px,100% - 40px);margin:0 auto}.vault-header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.vault-brand{color:var(--color-text);font:800 21px/1 var(--font-display);white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.vault-brand-mark{background:var(--color-tint-accent);width:38px;height:38px;color:var(--color-accent);border-radius:12px;place-items:center;display:grid}.vault-brand-mark.primary{background:var(--color-tint-primary);color:var(--color-primary)}.vault-brand-accent{color:var(--color-accent)}.vault-header-actions{align-items:center;gap:10px;display:flex}.vault-welcome{color:var(--color-text-secondary);font-size:14px}.vault-welcome strong{color:var(--color-text)}.vault-chip,.vault-pill{border-radius:var(--radius-pill);align-items:center;font-size:12px;font-weight:700;display:inline-flex}.vault-chip{background:var(--color-tint-primary);color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-left:8px;padding:4px 9px}.vault-main{padding:40px 0 56px}.vault-page-intro{margin-bottom:28px}.vault-page-intro h1{font-size:clamp(26px,3vw,36px)}.vault-page-intro p{color:var(--color-text-secondary);margin:8px 0 0}.auth-shell{place-items:center;min-height:100vh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.auth-shell:before,.auth-shell:after{content:"";pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.auth-shell:before{background:var(--color-tint-accent);opacity:.8;width:420px;height:420px;top:-190px;right:-100px}.auth-shell:after{background:var(--color-tint-primary);opacity:.9;width:360px;height:360px;bottom:-210px;left:-120px}.auth-card{z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100%,470px);box-shadow:var(--shadow-lg);padding:38px;position:relative}.auth-card-header{text-align:center;margin-bottom:28px}.auth-mark{background:var(--color-tint-accent);width:62px;height:62px;color:var(--color-accent);border-radius:20px;place-items:center;margin:0 auto 18px;display:grid}.auth-mark.primary{background:var(--color-tint-primary);color:var(--color-primary)}.auth-title{font-size:25px}.auth-subtitle{max-width:34ch;color:var(--color-text-secondary);margin:8px auto 0}.auth-footer{color:var(--color-text-secondary);text-align:center;margin-top:26px;font-size:14px}.auth-footer a{margin-left:5px;font-weight:700}.auth-theme{z-index:2;position:absolute;top:22px;right:22px}.form-stack{gap:17px;display:grid}.form-group{gap:7px;display:grid}.form-label{color:var(--color-text);font-size:13px;font-weight:700}.field-wrap{position:relative}.field-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.field,.select-field{width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:10px 13px}.field.has-icon{padding-left:42px}.field::placeholder{color:var(--color-text-muted)}.field:hover,.select-field:hover{border-color:var(--color-primary)}.field:focus,.select-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 16%, transparent);outline:none}.form-help{color:var(--color-text-muted);margin:0;font-size:12px}.form-error,.form-success{border-radius:var(--radius-sm);text-align:center;padding:11px 13px;font-size:13px}.form-error{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid color-mix(in srgb, var(--color-danger) 22%, transparent)}.form-success{color:var(--color-success);background:var(--color-success-soft);border:1px solid color-mix(in srgb, var(--color-success) 22%, transparent)}.radio-row{flex-wrap:wrap;gap:18px;display:flex}.radio-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio-label input{accent-color:var(--color-accent)}.btn{border-radius:var(--radius-pill);min-height:40px;transition:transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;transform:none}.btn-primary{color:var(--color-text-on-primary);background:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-accent{color:#fff;background:var(--color-accent)}.btn-accent:hover{background:var(--color-accent-hover)}.btn-outline{color:var(--color-primary);border-color:var(--color-border-strong);background:0 0}.btn-outline:hover{background:var(--color-tint-primary);border-color:var(--color-primary)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{color:var(--color-primary);background:var(--color-tint-primary)}.btn-danger:hover{color:var(--color-danger);background:var(--color-danger-soft)}.btn-full{width:100%}.btn-icon{width:40px;min-width:40px;padding:9px}.theme-toggle{min-height:36px;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:7px 12px;font-size:12px;font-weight:700}.theme-toggle:hover{color:var(--color-primary);border-color:var(--color-primary)}.dashboard-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.toolbar-filters,.toolbar-actions{align-items:center;gap:10px;display:flex}.toolbar-search{width:min(320px,100%)}.toolbar-actions .btn{white-space:nowrap}.record-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.record-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.record-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-accent));height:4px}.record-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.record-card-body{flex-direction:column;flex:1;gap:18px;padding:20px;display:flex}.record-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.record-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:17px;overflow:hidden}.record-area{color:var(--color-text-muted);letter-spacing:.09em;text-transform:uppercase;margin:5px 0 0;font-size:11px;font-weight:700}.record-status{color:var(--color-success);background:var(--color-success-soft);border:1px solid color-mix(in srgb, var(--color-success) 22%, transparent);border-radius:var(--radius-pill);text-transform:uppercase;flex:none;padding:4px 8px;font-size:10px;font-weight:700}.record-actions{opacity:.55;transition:opacity var(--transition-fast);gap:2px;display:flex}.record-card:hover .record-actions,.record-actions:focus-within{opacity:1}.record-actions .btn{width:30px;min-width:30px;min-height:30px;padding:5px}.secret-box{background:var(--color-tint-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:11px 12px}.secret-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:10px;font-weight:700;display:flex}.secret-value{min-width:0;color:var(--color-text);justify-content:space-between;align-items:center;gap:8px;font:600 13px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.secret-value span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.secret-value button,.secret-label button{color:var(--color-text-muted);background:0 0;border:0;place-items:center;padding:2px;display:inline-grid}.secret-value button:hover,.secret-label button:hover{color:var(--color-primary)}.record-note{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:auto 0 0;font-size:12px;font-style:italic;overflow:hidden}.empty-state,.loading-state{text-align:center;background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);place-items:center;min-height:300px;padding:32px;display:grid}.empty-icon,.loading-icon{width:58px;height:58px;color:var(--color-primary);background:var(--color-tint-primary);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.empty-state h2{font-size:20px}.empty-state p{max-width:430px;color:var(--color-text-secondary);margin:8px auto 20px}.loading-state{color:var(--color-text-secondary)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px;display:grid}.stat-card,.admin-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card{align-items:center;gap:16px;padding:20px;display:flex}.stat-icon{width:48px;height:48px;color:var(--color-primary);background:var(--color-tint-primary);border-radius:var(--radius-md);place-items:center;display:grid}.stat-label{color:var(--color-text-secondary);margin:0 0 3px;font-size:13px}.stat-value{font-size:23px}.admin-panel{overflow:hidden}.admin-panel-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.admin-panel-heading h2{font-size:19px}.admin-panel-heading p{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border);padding:15px 22px}.admin-table th{color:var(--color-text-muted);background:var(--color-tint-primary);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.admin-table td{color:var(--color-text-secondary);font-size:14px}.admin-table td:first-child{color:var(--color-text);font-weight:700}.admin-table tr:last-child td{border-bottom:0}.account-badge{color:var(--color-primary);background:var(--color-tint-primary);border-radius:var(--radius-pill);padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-ok{color:var(--color-success)}.vault-dialog-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a12198f;position:fixed;inset:0}.vault-dialog{z-index:51;width:min(100% - 32px,520px);max-height:calc(100vh - 32px);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:25px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.vault-dialog header,.vault-dialog [data-dialog-header]{margin-bottom:20px}.vault-dialog h2{font-size:19px}.vault-dialog p{color:var(--color-text-secondary);margin:5px 0 0;font-size:13px}.dialog-form{gap:16px;display:grid}.dialog-footer{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.dialog-close{color:var(--color-text-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:5px;display:grid;position:absolute;top:16px;right:16px}.dialog-close:hover{color:var(--color-text);background:var(--color-tint-primary)}@media (width<=960px){.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.vault-header-inner,.vault-main{width:min(100% - 28px,620px)}.vault-header-inner{min-height:68px}.vault-welcome{display:none}.vault-main{padding-top:28px}.dashboard-toolbar{flex-direction:column;align-items:stretch}.toolbar-filters,.toolbar-actions{width:100%}.toolbar-filters{flex-direction:column;align-items:stretch}.toolbar-search,.toolbar-filters .select-field{width:100%}.toolbar-actions{flex-wrap:wrap}.toolbar-actions .btn{flex:1}.record-grid,.admin-stats{grid-template-columns:1fr}.record-actions{opacity:1}.admin-panel-heading{flex-direction:column;align-items:flex-start}}@media (width<=480px){.auth-shell{padding:20px 14px}.auth-card{padding:27px 20px}.auth-theme{top:12px;right:12px}.vault-brand{font-size:18px}.vault-brand-mark{width:34px;height:34px}.vault-header-actions .theme-toggle span{display:none}.toolbar-actions .btn{flex:calc(50% - 10px)}.admin-table th,.admin-table td{padding:13px 15px}}
