:root{--surface-0:#f7f7f5;--surface-1:#fff;--surface-2:#f1f1ee;--border:#e4e4e0;--border-strong:#d0d0ca;--text-primary:#1c1c1a;--text-secondary:#6b6b64;--text-muted:#9a9a92;--accent:#2f5fda;--accent-hover:#2650bd;--accent-fg:#fff;--danger-bg:#fbe9e9;--danger-fg:#a32d2d;--danger-border:#e9b3b3;--warning-bg:#fdf1dc;--warning-fg:#854f0b;--warning-border:#f0d199;--success-bg:#eaf3de;--success-fg:#3b6d11;--success-border:#bcdb9a;--accent-soft:#e4ebfc;--radius:8px;--radius-card:12px;--shadow-card:0 1px 2px rgba(20,20,18,.045),0 1px 1px rgba(20,20,18,.03);--shadow-hover:0 4px 10px rgba(20,20,18,.07)}*{box-sizing:border-box}body{background:var(--surface-0);color:var(--text-primary);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;-webkit-font-smoothing:antialiased}input,select,textarea{font-family:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 10px;font-size:14px;background:var(--surface-1);color:var(--text-primary);width:100%;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}button{font-family:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-hover{transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease}.card-hover:hover{box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius);font-size:13px;font-weight:500;padding:8px 14px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease;text-decoration:none;line-height:1.2;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface-1);color:var(--text-secondary);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--text-muted);color:var(--text-primary)}.btn-ghost{background:none;color:var(--text-muted);border-color:transparent;padding-left:8px;padding-right:8px}.btn-ghost:hover{color:var(--text-secondary);background:var(--surface-2)}.btn-danger-ghost{background:none;color:var(--danger-fg);border-color:var(--danger-border)}.btn-danger-ghost:hover{background:var(--danger-bg)}.btn-sm{padding:6px 10px;font-size:12px}.btn-block{width:100%}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);text-decoration:none;margin-bottom:14px;transition:color .15s ease}.back-link:hover{color:var(--accent)}.page-title{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.section-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}details.edit-toggle summary{cursor:pointer;font-size:12px;line-height:1;color:var(--accent);list-style:none;display:inline-block}details.edit-toggle summary::-webkit-details-marker{display:none}details.edit-toggle[open] summary{color:var(--text-muted);margin-bottom:8px}.text-btn{background:none;border:none;padding:0;margin:0;font-size:12px;font-family:inherit;color:var(--text-secondary);cursor:pointer;line-height:1}.text-btn:hover{text-decoration:underline}.text-btn-danger{color:var(--danger-fg)}.file-picker-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.file-picker-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 12px;transition:background .15s ease,border-color .15s ease}.file-picker-label:hover{background:var(--surface-2);border-color:var(--text-muted)}.file-picker-label-compact{padding:7px 9px;gap:0}.combo-lock{display:inline-flex;align-items:stretch;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;background:var(--surface-1)}.combo-lock select{appearance:none;-webkit-appearance:none;border:none;border-radius:0;background:transparent;padding:5px 4px;font-size:13px;font-weight:600;text-align:center;text-align-last:center;width:44px;box-shadow:none!important}.combo-lock select:not(:last-child){border-right:1px solid var(--border)}.combo-lock select:focus{background:var(--accent-soft)}