:root{--primary: #90c25e;--primary-dark: #7ab34e;--blue: #183264;--blue-dark: #122650;--text: #183264;--text-muted: #4a5568;--text-soft: #8896a7;--bg: #e8eaf0;--surface: #ffffff;--border: #cdd2db;--error: #c0392b;--success: #90c25e;--radius: 8px;--shadow: 0 2px 12px rgba(24, 50, 100, .08);--muted: var(--text-soft);font-family:Calibri,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:var(--primary)}.app{min-height:100vh;display:flex;flex-direction:column}.app-nav{background:var(--surface);border-bottom:3px solid var(--primary);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px;position:sticky;top:0;z-index:50}.app-nav .logo-link{display:flex;align-items:center;gap:10px;text-decoration:none}.app-nav .logo-text{display:flex;flex-direction:column;line-height:1.1}.app-nav .logo-text .brand{font-size:16px;font-weight:700;color:var(--blue);letter-spacing:.5px}.app-nav .logo-text .sub{font-size:10px;font-weight:600;color:var(--blue);letter-spacing:2px;text-transform:uppercase}.app-nav nav{display:flex;gap:20px;align-items:center}.app-nav nav a{text-decoration:none;color:var(--blue);font-size:14px;font-weight:600;padding:6px 0;border-bottom:2px solid transparent;transition:.2s}.app-nav nav a:hover,.app-nav nav a.on{color:var(--primary);border-color:var(--primary)}.app-hero{background:linear-gradient(135deg,var(--blue) 0%,#1e4080 40%,var(--blue) 100%);color:#fff;padding:56px 24px 48px;text-align:center;position:relative;overflow:hidden}.app-hero:after{content:"";position:absolute;bottom:-40px;right:-60px;width:500px;height:300px;background:linear-gradient(160deg,#b5d88a,#90c25e,#22b8a0 60%,#009e8e);border-radius:80px 0 0;opacity:.25;transform:rotate(-5deg)}.app-hero .logo-hero{margin-bottom:20px;position:relative;z-index:1}.app-hero h1{font-size:26px;font-weight:700;margin:0 0 10px;position:relative;z-index:1}.app-hero p{font-size:15px;opacity:.88;max-width:560px;margin:0 auto;position:relative;z-index:1}.app-hero .claim{font-size:13px;font-style:italic;opacity:.7;margin-top:6px;position:relative;z-index:1}.app-hero .benefits{display:flex;justify-content:center;gap:32px;margin-top:24px;flex-wrap:wrap;position:relative;z-index:1}.app-hero .benefit{font-size:13px;opacity:.9;display:flex;align-items:center;gap:6px}.app-main{flex:1;padding:32px 16px;display:flex;justify-content:center}.app-footer{background:var(--blue);color:#fff9;text-align:center;padding:16px;font-size:11px;margin-top:40px}.app-footer a{color:#fffc}.registration-wizard{width:100%;max-width:740px;padding:0;background:transparent;box-shadow:none}.wizard-progress{display:flex;align-items:center;justify-content:center;margin-bottom:28px;gap:4px}.wizard-step{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-soft)}.wizard-step+.wizard-step:before{content:"";width:36px;height:2px;background:var(--border);margin:0 4px;flex-shrink:0}.wizard-step.completed+.wizard-step:before,.wizard-step.completed:before{background:var(--primary)}.step-indicator{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid var(--border);color:var(--text-soft);background:var(--surface);flex-shrink:0;transition:.3s}.wizard-step.active .step-indicator{background:var(--blue);color:#fff;border-color:var(--blue)}.wizard-step.completed .step-indicator{background:var(--primary);color:#fff;border-color:var(--primary)}.step-label{white-space:nowrap}@media(max-width:480px){.step-label{display:none}.wizard-step+.wizard-step:before{width:20px}}.step{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;margin-bottom:24px}.step h2{color:var(--blue);font-size:19px;margin:0 0 4px}.step h3{color:var(--blue);font-size:14px;font-weight:700;margin:20px 0 10px;padding-bottom:5px;border-bottom:1px solid var(--border)}.step>p{color:var(--text-muted);font-size:13px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:3px;font-size:13px;font-weight:600;color:var(--text-muted)}.form-group input,.form-group select{width:100%;padding:9px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:.2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #90c25e2e}.form-group input.er,.form-group select.er{border-color:var(--error)}.field-error{color:var(--error);font-size:12px;margin-top:4px}.extra-card{padding:16px;margin-top:10px;border:1px dashed var(--border);border-radius:var(--radius);background:#fafbf8}.form-row{display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-row .form-group{margin-bottom:0}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.customer-type-selector{display:flex;border-bottom:2px solid var(--border);margin-bottom:20px}.type-option{flex:none;cursor:pointer}.type-option input{display:none}.type-card{padding:10px 24px;font-size:14px;font-weight:600;color:var(--text-soft);border-bottom:3px solid transparent;margin-bottom:-2px;transition:.2s}.type-option:hover .type-card{color:var(--text)}.type-option.selected .type-card{color:var(--blue);border-color:var(--primary);background:transparent}.type-card h3{margin:0;font-size:14px;border:0;padding:0;color:inherit;font-weight:600}.type-card p{display:none}.checkbox-group{margin:14px 0}.checkbox-label{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:13px;line-height:1.4;cursor:pointer}.checkbox-label input{width:16px;height:16px;margin-top:2px;accent-color:var(--primary);flex-shrink:0}.consent-label{color:var(--text-muted)}.step-actions{display:flex;justify-content:space-between;margin-top:24px;gap:10px;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-link{padding:11px 28px;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-link{background:transparent;color:var(--primary);padding:6px 0;text-decoration:underline;font-weight:600}.error-message{padding:12px 16px;margin-bottom:16px;background:#fdecea;border:1px solid var(--error);color:var(--error);border-radius:var(--radius);font-size:14px}.contract-preview,.vop-preview{max-height:260px;overflow-y:auto;padding:18px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;line-height:1.7;margin-bottom:14px;background:#fafbf8}.contract-preview h3,.vop-preview h3{margin-top:0;border:0;padding:0}.confirmation-step{text-align:center;padding:8px 0}.success-icon{font-size:48px;margin-bottom:10px}.confirmation-step h2{color:var(--primary)}.confirmation-details p{color:var(--text-muted)}.registration-summary{text-align:left;margin-top:16px}.registration-summary dl{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;border-top:1px solid var(--border);padding-top:10px}.registration-summary dt{color:var(--text-muted);font-size:13px;font-weight:600}.registration-summary dd{margin:0;font-size:13px;color:var(--text)}.chargee-id-display{margin-top:24px;padding:16px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:var(--radius);text-align:center}.chargee-id{font-family:SF Mono,Menlo,monospace;font-size:20px;font-weight:700;color:var(--primary-dark);letter-spacing:1px}.resend-section{margin-top:18px;font-size:13px;color:var(--text-muted)}.summary-table{width:100%;border-collapse:collapse;text-align:left;margin-top:16px;font-size:13px}.summary-table td{padding:7px 10px;border-bottom:1px solid var(--border)}.summary-table td.lb{font-weight:600;color:var(--text-muted);width:40%}.badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600}.badge-ok{background:#e8f5e9;color:#2e7d32}.info-box{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:var(--radius);padding:14px 18px;margin-top:16px;font-size:13px;line-height:1.5;text-align:left}.info-box p{margin-bottom:8px}.info-box p:last-child{margin-bottom:0}.info-box hr{border:none;border-top:1px solid #c8e6c9;margin:12px 0}.dl-row{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.dl-row .btn-primary,.dl-row .btn-secondary{text-decoration:none}.app-main--admin{padding:32px 24px}.admin-view{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;max-width:1200px;width:100%;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.admin-header h2{margin:0;color:var(--primary-dark)}.admin-exports{display:flex;gap:8px;flex-wrap:wrap}.admin-exports .btn-primary,.admin-exports .btn-secondary{text-decoration:none;padding:8px 14px;font-size:13px}.admin-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.admin-filters select,.admin-filters input[type=search]{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:inherit}.admin-filters input[type=search]{flex:1;min-width:200px}.admin-filters button{padding:7px 14px;font-size:13px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{background:var(--blue);color:#fff;padding:9px 8px;text-align:left;font-weight:600;white-space:nowrap}.admin-table td{padding:9px 8px;border-bottom:1px solid var(--border)}.admin-table tr:hover td{background:#90c25e0d}.admin-table code{font-family:SF Mono,Menlo,monospace;font-size:11px}.admin-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;font-size:13px;color:var(--text-muted)}.admin-pager button{padding:6px 14px;font-size:13px}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center}.login-box{background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 32px #0003;padding:36px;width:340px}.login-box h3{color:var(--primary-dark);margin:0 0 4px;font-size:18px}.login-box .login-sub{color:var(--text-muted);font-size:12px;margin-bottom:20px}.signature-canvas-wrap{border:2px dashed var(--border);border-radius:var(--radius);background:#fafbf8;position:relative;overflow:hidden}.signature-canvas{display:block;width:100%;height:170px;cursor:crosshair;touch-action:none}.signature-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-soft);font-size:14px;pointer-events:none}.verification-panel .verify-box{text-align:center;padding:24px 16px;background:#fafbf8;border:1px solid var(--border);border-radius:var(--radius);margin:16px 0}.verification-panel .verify-icon{font-size:48px;margin-bottom:10px}.verification-panel .verify-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
