:root{--color-primary: #1e3a5f;--color-primary-hover: #16304f;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-auto: #0369a1;--color-auto-bg: #f0f9ff;--color-bg: #f1f5f9;--color-card: #ffffff;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-muted: #64748b;--radius: 8px;--radius-sm: 4px;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=teal]{--color-primary: #0c7a6b;--color-primary-hover: #0a6459}[data-theme=indigo]{--color-primary: #4338ca;--color-primary-hover: #3730a3}[data-theme=purple]{--color-primary: #7c3aed;--color-primary-hover: #6d28d9}[data-theme=emerald]{--color-primary: #059669;--color-primary-hover: #047857}[data-theme=amber]{--color-primary: #b45309;--color-primary-hover: #92400e}[data-theme=slate]{--color-primary: #334155;--color-primary-hover: #1e293b}[data-theme=animated]{--color-primary: #4338ca;--color-primary-hover: #3730a3}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}[data-theme=animated] .app-header{background:linear-gradient(-45deg,#1e3a5f,#0c7a6b,#4338ca,#7c3aed,#059669,#b45309);background-size:400% 400%;animation:gradientShift 10s ease infinite}[data-theme=animated] .vault-gate{background:linear-gradient(-45deg,#1e3a5f,#0c7a6b,#4338ca,#7c3aed,#059669,#b45309);background-size:400% 400%;animation:gradientShift 12s ease infinite}:root.dark{--color-bg: #0f172a;--color-card: #1e293b;--color-border: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-success-bg: #052e16;--color-success-border: #166534;--color-error-bg: #2d0a0a;--color-error-border:#991b1b;--color-warning-bg: #1c1200;--color-auto-bg: #0c1a2e}:root.dark body{background:var(--color-bg)}:root.dark input[type=number],:root.dark input[type=text],:root.dark input[type=password]{background:#1e293b;color:var(--color-text);border-color:var(--color-border)}:root.dark .select-input{background:#1e293b;color:var(--color-text);border-color:var(--color-border)}:root.dark .input-addon{background:#0f172a;color:var(--color-text-muted);border-color:var(--color-border)}:root.dark .vault-card,:root.dark .card,:root.dark .benefit-card{background:var(--color-card)}:root.dark .vault-gate{background:var(--color-bg)}:root.dark .benefit-available:hover{background:#263348}:root.dark .client-row{background:var(--color-card)}:root.dark .drop-zone{background:#263348}:root.dark .btn-secondary{background:#1e293b;color:var(--color-text);border-color:var(--color-border)}:root.dark .btn-secondary:hover{background:#263348}:root.dark .modal-dialog,:root.dark .modal-panel{background:#1e293b}:root.dark .modal-dialog-body,:root.dark .modal-body{background:#1e293b}:root.dark .sync-code-box,:root.dark .sync-pull-form,:root.dark .import-overlay{background:#0f172a}:root.dark .passphrase-tip-body{background:#1a1300}:root.dark .passphrase-examples code{background:#0f172a;color:#93c5fd}:root.dark[data-theme=animated] .vault-gate{background:linear-gradient(-45deg,#0f1f33,#073d34,#1a1566,#3b0d8c,#024a35,#4a1e00);background-size:400% 400%;animation:gradientShift 12s ease infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.app-header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.btn-home{background:none;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s;flex-shrink:0}.btn-home:hover{background:#ffffff1f}.btn-home .app-logo{font-size:20px}.btn-home .app-logo-img{height:26px}.btn-home .app-title{font-weight:700;font-size:17px}.app-header-client{display:flex;align-items:center;gap:6px;font-size:13px;color:#fffc;background:#ffffff1a;border-radius:20px;padding:3px 12px;flex-shrink:0}.app-header-client-label{opacity:.7}.app-header-client-name{font-weight:600;color:#fff}.app-header{background:var(--color-primary);color:#fff;padding:12px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-logo{font-size:20px}.app-logo-img{height:30px;width:auto;object-fit:contain;background:#fff;border-radius:6px;padding:2px 6px;box-shadow:0 1px 3px #00000026}.app-title{font-weight:700;font-size:17px}.app-steps-nav{display:flex;align-items:center;gap:0}.app-step{font-size:13px;color:#7fa8cc;padding:4px 12px;border-radius:20px;transition:all .15s}.app-step-active{color:#fff;font-weight:600;background:#ffffff26}.app-step-done{color:#a8d5a2}.step-check{font-size:11px}.app-main{flex:1;display:flex;justify-content:center;padding:28px 16px 48px}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:580px;box-shadow:0 1px 3px #1e3a5f0d,0 4px 16px #1e3a5f12}.step-card{max-width:600px}.card-header{padding:22px 28px 18px;border-bottom:1px solid var(--color-border)}.step-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--color-auto);margin-bottom:6px}.card-header h2{font-size:18px;font-weight:700;color:var(--color-primary)}.card-desc{color:var(--color-text-muted);font-size:13px;margin-top:4px}.card-actions{padding:18px 28px 22px;border-top:1px solid var(--color-border)}.card-actions-split{display:flex;gap:12px}.btn-back{flex:0 0 auto;width:auto;padding:0 20px}fieldset{border:none;padding:18px 28px;border-bottom:1px solid var(--color-border)}legend{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:14px}.field{margin-bottom:13px}.field:last-child{margin-bottom:0}.field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text);margin-bottom:5px}.auto-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-auto);background:var(--color-auto-bg);border:1px solid #bae6fd;padding:1px 5px;border-radius:3px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:13px}.field-row .field{margin-bottom:0}.field-check{margin-bottom:10px}.check-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:400!important;margin-bottom:0!important}.check-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.field-indent{margin-left:24px;padding-top:4px}input[type=number],input[type=text]{width:100%;height:38px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);background:#fff;transition:border-color .15s;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f1f}input.error{border-color:var(--color-error)}input.auto-filled{border-color:#7dd3fc;background:var(--color-auto-bg)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:3px}.input-group{display:flex;align-items:center}.input-group input{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.input-addon{height:38px;padding:0 10px;background:#f8fafc;border:1px solid var(--color-border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;display:flex;align-items:center;font-size:13px;color:var(--color-text-muted);white-space:nowrap}.field-error{display:block;font-size:12px;color:var(--color-error);margin-top:4px}.select-input{width:100%;height:38px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);background:#fff;cursor:pointer}.select-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f1a}.radio-group{display:flex;flex-direction:column;gap:4px}.btn-primary{width:100%;height:42px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;flex:1}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.btn-secondary{width:100%;height:42px;background:#fff;color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:#f0f4f8}.vault-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:24px 16px}.vault-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:36px 32px;width:100%;max-width:420px;box-shadow:0 2px 12px #00000014}.vault-logo{font-size:36px;text-align:center;margin-bottom:8px}.vault-logo-img{height:64px;width:auto;object-fit:contain;display:block;margin:0 auto 12px}.vault-title{font-size:24px;font-weight:800;text-align:center;color:var(--color-primary)}.vault-subtitle{font-size:14px;color:var(--color-text-muted);text-align:center;margin-bottom:20px;margin-top:4px}.vault-info{background:var(--color-auto-bg);border:1px solid #bae6fd;border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:#0c4a6e;margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.vault-card .field{margin-bottom:14px}.vault-card .field label{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.vault-card input[type=password]{width:100%;height:40px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text)}.vault-card input[type=password]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f1a}.vault-card input.error{border-color:var(--color-error)}.vault-card .btn-primary{margin-top:8px}.vault-error{font-size:13px;color:var(--color-error);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:10px}.info-link{color:var(--color-primary);font-weight:500}.info-link:hover{text-decoration:underline}.vault-forgot{font-size:12px;color:var(--color-text-muted);text-align:center;margin-top:16px}.link-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--color-primary);font-size:inherit;text-decoration:underline}.link-btn:hover{color:var(--color-primary-hover)}.reset-panel{margin-top:16px;padding:12px 14px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);font-size:13px}.reset-warning{margin-bottom:10px;line-height:1.5}.reset-actions{display:flex;gap:8px}.reset-actions .btn-secondary{flex:1}.reset-actions .btn-danger{flex:2}.vault-spinner{font-size:32px}.passphrase-tip-wrap{margin-bottom:16px}.passphrase-tip-toggle{background:none;border:none;cursor:pointer;font-size:13px;color:var(--color-primary);padding:0;text-align:left;width:100%}.passphrase-tip-toggle:hover{text-decoration:underline}.passphrase-tip-body{margin-top:8px;padding:12px 14px;background:var(--color-warning-bg);border:1px solid #fde68a;border-radius:var(--radius-sm);font-size:13px;display:flex;flex-direction:column;gap:8px}.passphrase-examples{display:flex;flex-direction:column;gap:4px}.passphrase-examples code{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:4px 8px;font-size:13px;color:var(--color-primary);font-family:monospace;word-break:break-all}.passphrase-tip-note{color:var(--color-text-muted);font-style:italic}.strength-wrap{display:flex;align-items:center;gap:8px;margin-top:6px}.strength-bar{display:flex;gap:4px;flex:1}.strength-seg{height:4px;flex:1;border-radius:2px;background:var(--color-border);transition:background .2s}.strength-seg.filled.strength-seg-weak{background:#f97316}.strength-seg.filled.strength-seg-fair{background:#eab308}.strength-seg.filled.strength-seg-strong{background:var(--color-success)}.strength-label{font-size:12px;white-space:nowrap;min-width:60px;text-align:right}.strength-label-short{color:var(--color-error)}.strength-label-weak{color:#f97316}.strength-label-fair{color:#a16207}.strength-label-strong{color:var(--color-success)}.client-list-wrap{width:100%;max-width:680px}.client-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.client-list-header h2{font-size:20px;font-weight:700;color:var(--color-primary)}.btn-new-check{width:auto;padding:0 20px;flex-shrink:0}.client-loading{color:var(--color-text-muted);font-size:14px;padding:24px;text-align:center}.client-list-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.client-empty{text-align:center;padding:48px 24px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:14px;line-height:1.6}.client-empty-icon{display:flex;justify-content:center;margin-bottom:12px;color:var(--color-text-muted);opacity:.5}.client-empty h3{font-size:16px;font-weight:600;margin-bottom:6px}.client-empty-actions{display:flex;flex-direction:column;gap:8px;margin:16px auto 0;width:100%;max-width:280px}.client-search-wrap{position:relative;display:flex;align-items:center;margin-bottom:14px}.client-search-icon{position:absolute;left:11px;font-size:14px;pointer-events:none}.client-search-input{width:100%;height:38px;padding:0 36px 0 34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);background:var(--color-card);transition:border-color .15s}.client-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f1a}.client-search-clear{position:absolute;right:8px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--color-text-muted);padding:4px}.client-search-clear:hover{color:var(--color-text)}.client-no-results{text-align:center;color:var(--color-text-muted);font-size:14px;padding:32px}.client-skeleton{display:flex;flex-direction:column;gap:8px}.skeleton-row{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.skeleton-block{background:linear-gradient(90deg,var(--color-border) 25%,#e8edf2 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.client-name-row{display:flex;align-items:center;gap:8px}.client-check-count{font-size:11px;font-weight:700;background:var(--color-primary);color:#fff;border-radius:20px;padding:1px 7px;flex-shrink:0}.client-list{list-style:none;display:flex;flex-direction:column;gap:8px}.client-row{display:flex;align-items:center;gap:16px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;transition:all .15s;cursor:pointer}.client-row:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #1e3a5f14;transform:translateY(-1px)}.client-info{flex:1;min-width:0}.client-name{font-size:15px;font-weight:600;color:var(--color-text)}.client-afm{font-size:12px;color:var(--color-text-muted);margin-top:2px}.client-last{display:flex;align-items:center;gap:8px;flex-shrink:0}.client-date,.client-no-checks{font-size:12px;color:var(--color-text-muted)}.result-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap}.pill-yes{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.pill-no{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.btn-delete{background:none;border:none;cursor:pointer;font-size:14px;color:var(--color-text-muted);padding:4px 8px;border-radius:3px;flex-shrink:0}.btn-delete:hover{background:var(--color-error-bg);color:var(--color-error)}.btn-icon{background:none;border:none;cursor:pointer;font-size:20px;padding:4px 6px;border-radius:var(--radius-sm);line-height:1;transition:background .15s}.btn-icon:hover{background:#ffffff26}.btn-danger{background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 14px;font-size:14px;cursor:pointer;font-weight:500;transition:opacity .15s}.btn-danger:hover:not(:disabled){opacity:.88}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{background:none;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;cursor:pointer;font-weight:500;white-space:nowrap;transition:background .15s}.btn-danger-outline:hover{background:var(--color-error-bg)}.security-dialog{width:520px;max-height:90vh;display:flex;flex-direction:column}.security-dialog .modal-dialog-body{overflow-y:auto}.security-body{gap:0;padding:0}.security-section{display:flex;gap:14px;padding:16px 20px;border-bottom:1px solid var(--color-border)}.security-section:last-of-type{border-bottom:none}.security-section-icon{font-size:22px;flex-shrink:0;margin-top:1px}.security-section h4{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--color-primary)}.security-section p{font-size:13px;color:var(--color-text-muted);line-height:1.6}.security-note{margin:0;padding:14px 20px;background:var(--color-bg);border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted);line-height:1.6}.modal-dialog{background:#fff;border-radius:var(--radius);width:400px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #0000002e;animation:fadeUp .18s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.modal-dialog-header h3{font-size:15px;font-weight:600}.modal-dialog-body{padding:20px;display:flex;flex-direction:column;gap:4px}.modal-dialog-footer{display:flex;gap:8px;padding:16px 20px;border-top:1px solid var(--color-border);justify-content:flex-end}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:center;justify-content:center}.modal-overlay:has(.modal-panel){align-items:flex-start;justify-content:flex-end}.modal-panel{background:#fff;width:360px;max-width:100vw;height:100vh;display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000026;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-primary);color:#fff}.modal-header h2{font-size:16px;font-weight:600}.modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:18px;padding:4px;line-height:1}.modal-body{flex:1;overflow-y:auto;padding:20px}.settings-section h3{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border)}.settings-row-title{font-size:14px;font-weight:500;margin-bottom:2px}.settings-row-desc{font-size:12px;color:var(--color-text-muted);line-height:1.4}.settings-row-col{flex-direction:column;align-items:stretch}.change-pp-form{margin-top:12px;display:flex;flex-direction:column;gap:10px}.change-pp-form .field{margin:0}.change-pp-form .field label{font-size:12px}.change-pp-form .field input{font-size:13px;padding:7px 10px}.change-pp-actions{display:flex;gap:8px;margin-top:4px}.change-pp-actions .btn-secondary{flex:1}.change-pp-actions .btn-primary{flex:2}.change-pp-success{font-size:13px;color:var(--color-success);padding:10px 0;font-weight:500}.sync-hint{font-size:11px;color:var(--color-text-muted);margin-top:4px}.sync-hint-ok{color:var(--color-success);font-weight:500}.sync-panel{display:flex;flex-direction:column;gap:12px;padding-top:8px}.sync-warning{font-size:12px;background:var(--color-warning-bg);border:1px solid #fde68a;border-radius:var(--radius-sm);padding:10px 12px;line-height:1.5}.sync-code-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px}.sync-code-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.sync-code-value{font-family:monospace;font-size:12px;word-break:break-all;color:var(--color-primary);margin-bottom:6px}.btn-copy{font-size:12px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px 10px;cursor:pointer}.btn-copy:hover{background:var(--color-border)}.sync-last{font-size:12px;color:var(--color-text-muted)}.sync-actions{display:flex;gap:8px;flex-wrap:wrap}.sync-actions .btn-primary,.sync-actions .btn-secondary{flex:1;min-width:120px;font-size:13px}.sync-pull-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px}.sync-pull-warn{font-size:12px;color:var(--color-warning);margin-bottom:10px;line-height:1.5}.sync-pull-actions{display:flex;gap:8px;margin-top:8px}.sync-message{font-size:13px;padding:8px 12px;border-radius:var(--radius-sm)}.sync-message-ok{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.sync-message-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.import-overlay{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:16px;margin-bottom:16px}.import-overlay h3{font-size:14px;font-weight:600;margin-bottom:4px}.import-actions{display:flex;gap:8px;margin-top:12px}.reset-confirm-inline{font-size:13px}.reset-confirm-inline p{margin-bottom:10px;line-height:1.5}.btn-lock{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:13px;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.btn-lock:hover{background:#fff3}.btn-cancel-check{margin-left:auto;background:none;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:4px 8px}.btn-cancel-check:hover{color:#fff}.save-section{padding:20px 28px 24px;border-top:1px solid var(--color-border)}.save-actions{display:flex;flex-direction:column;gap:10px}.btn-save{width:100%;height:42px;background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-save:hover{background:#15803d}.save-form{display:flex;flex-direction:column;gap:12px}.save-form h4{font-size:14px;font-weight:600;color:var(--color-text)}.save-form .field{margin-bottom:0}.save-form .field label{display:block;font-size:13px;font-weight:500;margin-bottom:4px}.save-form input[type=text]{height:38px}.field-optional{font-weight:400;color:var(--color-text-muted);font-size:12px}.save-form-actions{display:flex;gap:10px}.save-loading{font-size:13px;color:var(--color-text-muted);text-align:center;padding:8px}.save-done{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--color-success);font-weight:500}.save-done .btn-secondary{width:auto;padding:0 16px;flex-shrink:0}.benefit-step-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:760px;box-shadow:0 1px 3px #1e3a5f0d,0 4px 16px #1e3a5f12;animation:cardEnter .22s ease both}.benefit-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 24px 24px}@media (max-width: 520px){.benefit-cards-grid{grid-template-columns:1fr;gap:10px;padding:16px}}.benefit-tile{display:flex;flex-direction:column;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.benefit-tile:hover{transform:translateY(-3px);border-color:var(--b-color);box-shadow:0 6px 20px var(--b-light),0 2px 6px #00000014}.benefit-tile:active{transform:translateY(-1px)}.benefit-tile-header{background:var(--b-color);display:flex;align-items:center;justify-content:center;height:72px;flex-shrink:0}.benefit-tile-body{padding:14px 16px 16px;flex:1}.benefit-tile-label{font-size:15px;font-weight:700;color:var(--color-text);line-height:1.2}.benefit-tile-sublabel{font-size:12px;color:var(--color-text-muted);margin-top:4px;line-height:1.4}.benefit-tile-docs{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.doc-tag{font-size:10px;font-weight:500;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;color:var(--color-text-muted);white-space:nowrap}:root.dark .benefit-tile{background:var(--color-card)}:root.dark .benefit-tile:hover{background:#263348}:root.dark .doc-tag{background:#1e293b}.slots-list{padding:20px 28px 4px;display:flex;flex-direction:column;gap:12px}.doc-slot{border:1.5px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;transition:border-color .15s}.slot-done{border-color:var(--color-success-border);background:var(--color-success-bg)}.slot-partial{border-color:#fcd34d;background:var(--color-warning-bg)}.slot-error{border-color:var(--color-error-border);background:var(--color-error-bg)}.slot-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.slot-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary);opacity:.8}.slot-label{font-size:14px;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px}.slot-optional{font-size:10px;font-weight:500;color:var(--color-text-muted);background:#f1f5f9;border:1px solid var(--color-border);padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px}.slot-desc{font-size:12px;color:var(--color-text-muted);margin-top:2px}.slot-remove{margin-left:auto;background:none;border:none;cursor:pointer;font-size:14px;color:var(--color-text-muted);padding:2px 6px;border-radius:3px;flex-shrink:0}.slot-remove:hover{background:#0000000f}.drop-zone{border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);padding:16px;text-align:center;cursor:pointer;transition:all .15s;background:#fafbfc;margin-bottom:8px}.drop-zone:hover,.drop-active{border-color:var(--color-primary);background:#f0f4f8}.drop-icon{display:flex;justify-content:center;margin-bottom:6px;color:var(--color-text-muted)}.drop-text{font-size:13px;color:var(--color-text-muted)}.drop-text u{color:var(--color-primary)}.btn-camera{width:100%;height:34px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.btn-camera:hover{background:#f0f4f8;color:var(--color-text);border-color:#cbd5e1}.slot-loading{padding:8px 0}.loading-text{font-size:13px;color:var(--color-text-muted);margin-bottom:8px}.progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease}.loading-pct{font-size:12px;color:var(--color-text-muted);text-align:right}.slot-fields{list-style:none;display:flex;flex-direction:column;gap:4px}.slot-fields li{display:flex;align-items:center;gap:8px;font-size:13px}.field-found{color:#166534}.field-missing{color:var(--color-text-muted)}.field-warning{color:var(--color-warning);font-size:12px;margin-top:2px}.slot-error-msg{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--color-error);gap:12px}.btn-retry{background:none;border:1px solid var(--color-error-border);color:var(--color-error);font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0}.btn-retry:hover{background:var(--color-error-bg)}.result-badge{display:flex;align-items:center;gap:16px;padding:24px 28px;border-radius:var(--radius) var(--radius) 0 0}.result-yes{background:var(--color-success-bg);border-bottom:1px solid var(--color-success-border);color:var(--color-success)}.result-no{background:var(--color-error-bg);border-bottom:1px solid var(--color-error-border);color:var(--color-error)}.result-icon{font-size:40px;font-weight:700;line-height:1;flex-shrink:0}.result-verdict{font-size:32px;font-weight:900;letter-spacing:-1px;line-height:1}.result-message{font-size:14px;margin-top:2px;opacity:.85}.rules-section{padding:20px 28px}.rules-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rules-section-header h3{margin-bottom:0}.btn-print{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-muted);padding:4px 10px;cursor:pointer;transition:all .15s}.btn-print:hover{background:var(--color-bg);color:var(--color-text);border-color:#cbd5e1}.rules-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:12px}.rules-list{list-style:none;display:flex;flex-direction:column;gap:8px}.rule-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px}.rule-pass{background:var(--color-success-bg);color:#166534}.rule-fail{background:var(--color-error-bg);color:#991b1b}.rule-icon{font-weight:700;flex-shrink:0;margin-top:1px}.theme-picker-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.theme-swatches{display:flex;flex-wrap:wrap;gap:8px;max-width:168px}.theme-swatch{width:28px;height:28px;border-radius:50%;background:var(--swatch-color, #888);border:2px solid transparent;cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-swatch:hover{transform:scale(1.15)}.theme-swatch-active{box-shadow:0 0 0 3px var(--color-primary),0 0 0 5px var(--color-card, #fff)}.theme-swatch-check{font-size:12px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);line-height:1}.theme-swatch-anim{background:linear-gradient(-45deg,#1e3a5f,#0c7a6b,#4338ca,#7c3aed);background-size:300% 300%;animation:gradientShift 3s ease infinite}.theme-swatch-anim.theme-swatch-active{box-shadow:0 0 0 3px #7c3aed,0 0 0 5px var(--color-card, #fff)}.dark-toggle{background:none;border:1.5px solid var(--color-border);border-radius:20px;padding:4px 10px;cursor:pointer;font-size:16px;line-height:1;transition:all .15s;flex-shrink:0}.dark-toggle:hover{border-color:var(--color-primary)}.dark-toggle-on{background:#1e293b;border-color:#334155}@media (max-width: 640px){.app-header{padding:10px 14px;gap:10px}.app-steps-nav{order:3;width:100%;overflow-x:auto;padding-bottom:2px}.app-step{font-size:12px;padding:3px 8px;white-space:nowrap}.card-header{padding:16px 18px 14px}.card-actions{padding:14px 18px 18px}fieldset{padding:14px 18px}.benefits-grid{padding:16px 18px 20px}.rules-section{padding:16px 18px}.save-section{padding:16px 18px 20px}.slots-list{padding:16px 18px}.result-badge{padding:20px 18px}.vault-card{padding:28px 20px}.vault-title{font-size:20px}.client-list-header{flex-direction:column;gap:12px}.client-list-header-actions{width:100%}.client-list-header-actions .btn-secondary,.client-list-header-actions .btn-primary{flex:1}.client-last{flex-direction:column;align-items:flex-end;gap:4px}.benefit-arrow,.benefit-docs{display:none}.modal-panel{width:100vw}.modal-dialog{width:calc(100vw - 32px)}.field-row{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.vault-card{position:relative;overflow:hidden}.vault-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1e3a5f,#2d6a9f)}.client-row .btn-delete{opacity:0;transition:opacity .15s}.client-row:hover .btn-delete{opacity:1}.btn-primary{letter-spacing:.01em}.benefit-available:hover{transform:translate(2px)}.step-card{box-shadow:0 2px 12px #00000012}@keyframes cardEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card,.step-card,.client-list-wrap,.vault-card{animation:cardEnter .22s ease both}@media (min-width: 640px){.benefit-card{padding:16px 14px}.benefit-icon{font-size:26px;width:36px}}.rules-section h3{margin-bottom:0}@media print{.app-header,.save-section,.btn-print,.btn-secondary,.step-check{display:none!important}.app-main{padding:0}.card,.step-card{box-shadow:none;border:1px solid #ddd;max-width:100%;animation:none}.result-badge{border-radius:0}body{background:#fff}}
