:root{--background:#f7f8f5;--foreground:#17211d;--muted:#68736e;--line:#dfe4df;--surface:#fff;--primary:#0f6b59;--primary-dark:#0a4b40;--danger:#b42318;--warning:#a15c07;--success:#087443}*{box-sizing:border-box}body{color:var(--foreground);background:var(--background);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.consent label{color:var(--foreground);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;line-height:1.4;display:grid}.consent input{width:18px;height:18px;min-height:auto;margin-top:2px}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:16px 0 24px;display:flex}.brand{align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--primary);border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.logo-brand{line-height:0}.brand-logo{object-fit:contain;object-position:center;width:150px;height:64px;display:block}.hero{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:32px;min-height:calc(100vh - 64px);padding-bottom:48px;display:grid}.hero-copy{padding-top:56px}.eyebrow{color:var(--primary-dark);letter-spacing:0;text-transform:uppercase;font-size:.82rem;font-weight:800}h1,h2,h3{letter-spacing:0;margin:0}h1{margin-top:12px;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.98}h2{font-size:1.4rem}p{color:var(--muted);line-height:1.55}.form-panel,.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 18px 40px #1d2d2714}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}label{font-size:.86rem;font-weight:700}input,select,textarea{width:100%;color:var(--foreground);background:#fff;border:1px solid #cbd5d0;border-radius:6px;min-height:46px;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:3px solid #0f6b5929}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-weight:800;text-decoration:none;display:inline-flex}.btn.secondary{color:var(--foreground);background:#e8ede9}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.settings-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);gap:18px;margin-bottom:18px;padding:18px;display:grid;box-shadow:0 18px 40px #1d2d270f}.settings-panel p{margin:8px 0 12px}.settings-panel form{gap:12px;display:grid}.admin-check{margin-top:0}.condfy-panel{align-items:center}.admin-message{margin-bottom:18px}.admin-message.success{color:var(--success);background:#effaf3;border-color:#b7e4c7}.admin-message.error{color:var(--danger);background:#fff1f2;border-color:#fecaca}.admin-message.warning{color:var(--warning);background:#fff7ed;border-color:#fed7aa}.saved-credential{color:var(--foreground);margin:8px 0 0;font-size:.9rem;font-weight:800}.condo-list{gap:14px;margin-bottom:18px;display:grid}.empty-panel,.condo-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 40px #1d2d270f}.empty-panel{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:26px;display:grid}.empty-panel strong{color:var(--foreground)}.condo-row{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:16px;padding:16px;display:grid}.condo-main,.prelink-actions{align-content:start;gap:14px;display:grid}.condo-title{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;display:grid}.condo-title strong,.condo-title small{display:block}.condo-title strong{overflow-wrap:anywhere}.condo-title small{color:var(--muted);margin-top:3px;font-weight:700}.unit-preview{flex-wrap:wrap;gap:6px;display:flex}.unit-preview span{background:#fbfcfa;border:1px solid #cbd5d0;border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.prelink-output{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:12px;display:grid}.prelink-output img{border:1px solid var(--line);background:#fff;border-radius:8px;width:112px;height:112px}.prelink-output .field{gap:8px}.compact-btn{min-height:34px;margin-top:8px;padding:7px 10px;font-size:.8rem}table{border-collapse:collapse;width:100%;min-width:880px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px}th{color:var(--muted);text-transform:uppercase;font-size:.78rem}.status{background:#e8ede9;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.status.pending,.status.integration_pending{color:var(--warning);background:#fff3d6}.status.approved,.status.integrated{color:var(--success);background:#dff7ea}.status.rejected,.status.integration_failed{color:var(--danger);background:#fee4e2}.face-review{color:var(--warning);margin-top:6px;font-size:.78rem;font-weight:800;display:inline-flex}.face-review.approved{color:var(--success)}.face-review.rejected,.face-review.failed{color:var(--danger)}.notice{border:1px solid var(--line);color:#173e35;background:#eef6f3;border-radius:8px;padding:14px 16px}.error{color:var(--danger);font-weight:700}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{width:min(420px,100%)}.wizard-page{background:linear-gradient(180deg, #0f6b5912, #f7f8f500 280px), var(--background);min-height:100dvh;display:flex}.wizard-topbar{justify-content:space-between;align-items:center;gap:12px;width:min(760px,100% - 28px);margin:0 auto;padding:10px 0 4px;display:flex}.wizard-topbar a{color:var(--muted);font-size:.86rem;font-weight:700;text-decoration:none}.wizard-shell{flex-direction:column;width:min(760px,100% - 28px);min-height:100dvh;margin:0 auto;padding:14px 0 22px;display:flex}.wizard-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:10px;display:grid}.wizard-progress-wrap{min-width:0}.wizard-progress-label{color:var(--muted);margin-bottom:7px;font-size:.82rem;font-weight:800}.wizard-progress{background:#dce4df;border-radius:999px;height:7px;margin-bottom:10px;overflow:hidden}.wizard-progress span{background:var(--primary);height:100%;transition:width .22s;display:block}.wizard-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;box-shadow:0 18px 40px #1d2d2714}.wizard-context{padding:22px 26px 10px}.wizard-context h1{max-width:620px;margin-top:8px;font-size:clamp(1.9rem,4vw,3rem);line-height:1.05}.wizard-context p{margin:12px 0 0}.step-content{flex:1;padding:14px 26px 20px}.center-step{text-align:center;align-content:center;place-items:center;gap:18px;display:grid}.center-step p{max-width:520px;margin:0}.step-icon{width:68px;height:68px;color:var(--primary);background:#e7f3ee;border-radius:50%;place-items:center;display:grid}.terms-box{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;padding:16px}.terms-box p{margin-bottom:0}.choice-check{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin-top:16px;font-weight:700;display:grid}.choice-check input{width:20px;height:20px;min-height:auto;margin:0}.unit-list,.option-stack,.choice-grid{gap:10px;display:grid}.unit-list{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));max-height:430px;padding-right:3px;overflow:auto}.unit-list.compact{grid-template-columns:1fr;max-height:320px;margin-top:14px}.unit-search{max-width:460px;margin:0 auto}.input-with-icon{position:relative}.input-with-icon svg{color:var(--muted);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-with-icon input{padding-left:42px}.option-tile{min-height:56px;color:var(--foreground);cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd5d0;border-radius:8px;align-items:center;gap:10px;padding:13px 14px;font-weight:800;display:flex}.option-tile.selected{border-color:var(--primary);color:var(--primary-dark);box-shadow:inset 0 0 0 1px var(--primary);background:#e7f3ee}.camera-frame{aspect-ratio:1;background:#101815;border-radius:8px;place-items:center;width:min(460px,100%);margin:0 auto;display:grid;position:relative;overflow:hidden}.camera-frame video,.camera-frame img{object-fit:cover;width:100%;height:100%}.face-guide{aspect-ratio:.78;border:3px solid #ffffffeb;border-radius:50%;width:62%;position:absolute;box-shadow:0 0 0 999px #00000047}.face-found .face-guide{border-color:#56d989}.face-not-found .face-guide,.face-checking .face-guide{border-color:#f4bd50}.camera-hint{text-align:center;max-width:460px;margin:14px auto}.face-tips{max-width:460px;color:var(--primary-dark);text-align:center;background:#eef6f3;border-radius:8px;margin:-4px auto 14px;padding:10px 12px;font-size:.9rem;font-weight:700;line-height:1.4}.file-fallback{min-height:44px;color:var(--foreground);cursor:pointer;background:#e8ede9;border-radius:6px;justify-content:center;align-items:center;padding:11px 16px;font-weight:800;display:inline-flex}.file-fallback input{display:none}.quality-ok{color:var(--success);align-items:center;gap:8px;margin-top:14px;font-weight:800;display:flex}.selfie-ai{color:#8a3f08;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;width:min(460px,100%);margin:14px auto 0;padding:12px;display:grid}.selfie-ai svg{margin-top:2px}.selfie-ai strong{margin-bottom:3px;display:block}.selfie-ai p{color:inherit;margin:0;font-size:.9rem;line-height:1.38}.selfie-ai.approved{color:#126b3d;background:#effaf4;border-color:#b7ebce}.selfie-ai.rejected,.selfie-ai.failed{color:#9f1d1d;background:#fff1f1;border-color:#fecaca}.selfie-ai.checking,.selfie-ai.needs_review,.selfie-ai.not_configured{color:#8a3f08;background:#fff7ed;border-color:#fed7aa}.single-field-step{align-content:center;justify-items:center;gap:18px;display:grid}.single-field-step .field{width:min(460px,100%)}.single-field-step p{text-align:center;max-width:460px;margin:0}.date-field{width:min(460px,100%)}.date-input-wrap{position:relative}.date-input-wrap input{padding-right:54px}.date-input-wrap button{width:36px;height:36px;color:var(--primary-dark);cursor:pointer;background:#e7f3ee;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.calendar-panel{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;margin-top:12px;padding:10px}.calendar-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.calendar-header button{width:36px;height:36px;color:var(--foreground);cursor:pointer;background:#fff;border:1px solid #cbd5d0;border-radius:6px;place-items:center;display:grid}.calendar-header strong{color:var(--foreground)}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{color:var(--muted);text-align:center;font-size:.75rem;font-weight:800}.calendar-days button{aspect-ratio:1;color:var(--foreground);cursor:pointer;background:#fff;border:1px solid #0000;border-radius:6px;font-weight:800}.calendar-days button.muted{color:#9aa59f;background:#f4f6f4}.calendar-days button.selected{color:#fff;background:var(--primary)}.validation-message{color:#8a3f08;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin:0 26px 14px;padding:11px 12px;font-weight:800}.compact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.repeat-list{gap:14px;display:grid}.repeat-item{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;gap:10px;padding:14px;display:grid}.repeat-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.repeat-header button{width:38px;height:38px;color:var(--danger);cursor:pointer;background:#fee4e2;border:0;border-radius:6px}.review-list{gap:10px;display:grid}.review-step{padding-top:10px}.review-selfie{color:var(--muted);justify-items:center;gap:8px;margin-bottom:16px;font-weight:800;display:grid}.review-selfie img{object-fit:cover;border:3px solid #e7f3ee;border-radius:50%;width:132px;height:132px;box-shadow:0 10px 28px #1d2d271f}.review-row{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.review-row span{width:38px;height:38px;color:var(--primary);background:#e7f3ee;border-radius:6px;place-items:center;display:grid}.review-row small{color:var(--muted);font-weight:700;display:block}.review-row strong{overflow-wrap:anywhere;display:block}.review-note{margin-top:10px;padding:10px 12px}.wizard-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:14px 26px 20px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:820px){.hero,.form-grid,.condo-row,.settings-panel{grid-template-columns:1fr}.hero-copy{padding-top:10px}.prelink-output{grid-template-columns:96px minmax(0,1fr)}.prelink-output img{width:96px;height:96px}}@media (max-width:560px){.wizard-context,.step-content,.wizard-actions{padding-left:16px;padding-right:16px}.wizard-context{padding-top:14px;padding-bottom:6px}.wizard-context h1{font-size:1.58rem}.wizard-context p{margin-top:8px}.brand-logo{width:104px;height:44px}.wizard-shell{width:min(100% - 22px,760px);padding-top:12px;padding-bottom:10px}.wizard-head{gap:10px;margin-bottom:8px}.wizard-progress-label{margin-bottom:5px;font-size:.76rem}.wizard-progress{margin-bottom:0}.step-content{padding-top:8px;padding-bottom:12px}.center-step{gap:12px}.step-icon{width:54px;height:54px}.wizard-actions{padding-top:12px;padding-bottom:14px}.compact-fields,.choice-grid,.prelink-output{grid-template-columns:1fr}.unit-list{grid-template-columns:1fr 1fr}.unit-list.compact{grid-template-columns:1fr}.validation-message{margin-left:18px;margin-right:18px}.calendar-panel{padding:8px}.calendar-days,.calendar-weekdays{gap:4px}.wizard-actions .btn{flex:1}.camera-frame{width:min(330px,100%)}.camera-hint{margin:10px auto}.face-tips{margin-bottom:10px;font-size:.84rem}.review-step{padding-top:6px;padding-bottom:8px}.review-selfie{grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:10px;margin-bottom:10px}.review-selfie img{border-width:2px;width:72px;height:72px}.review-list{gap:6px}.review-row{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:8px}.review-row span{width:30px;height:30px}.review-note{margin-top:8px;padding:8px 10px;font-size:.86rem}}
