/* VittaOne Core — front-end portal/form styling. Uses the theme's colour
   variables when present, with sane fallbacks so it also works if the
   plugin's CSS loads before the theme's. */
.vt-form{max-width:520px;display:flex;flex-direction:column;gap:14px;}
.vt-field label{display:block;font-weight:600;margin-bottom:4px;font-size:14px;}
.vt-field input,.vt-field select,.vt-field textarea{width:100%;padding:11px 13px;border:1px solid #d7dce3;border-radius:8px;font-size:15px;background:#fff;}
.vt-field input:focus,.vt-field select:focus,.vt-field textarea:focus{outline:none;border-color:var(--vt-accent,#0b2545);}
.vt-btn{background:var(--vt-accent,#0b2545);color:#fff;border:none;padding:13px 22px;border-radius:8px;font-weight:600;cursor:pointer;font-size:15px;width:max-content;}
.vt-btn:hover{opacity:.92;}
.vt-notice{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;}
.vt-notice-success{background:#e6f6ec;color:#0a6b31;border:1px solid #b9e6c9;}
.vt-notice-error{background:#fdecec;color:#a4262c;border:1px solid #f5c2c2;}

.vt-portal{max-width:760px;margin:0 auto;}
.vt-portal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.vt-logout{font-size:13px;color:#8a93a3;text-decoration:underline;}
.vt-case-card{border:1px solid #e6e9ef;border-radius:12px;padding:20px 22px;margin-bottom:16px;background:#fff;}
.vt-case-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.vt-status-pill{display:inline-block;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:700;background:#eef1f6;color:#334155;}
.vt-status-new_lead{background:#e8eefc;color:#2452c8;}
.vt-status-under_review{background:#fef3d6;color:#9a6c00;}
.vt-status-docs_requested{background:#fef3d6;color:#9a6c00;}
.vt-status-submitted_lender{background:#e6ecff;color:#3949ab;}
.vt-status-approved{background:#e1f6ea;color:#0a7a3d;}
.vt-status-disbursed{background:#0b2545;color:#fff;}
.vt-status-on_hold{background:#f1f1f1;color:#666;}
.vt-status-rejected{background:#fdeaea;color:#b3261e;}
.vt-status-closed{background:#efefef;color:#555;}

.vt-timeline{list-style:none;margin:8px 0 0;padding:0;border-left:2px solid #e6e9ef;}
.vt-timeline li{padding:0 0 14px 18px;position:relative;}
.vt-timeline li:before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--vt-accent,#0b2545);}
.vt-timeline-status{font-weight:600;margin-right:10px;}
.vt-timeline-date{color:#8a93a3;font-size:12px;}
.vt-timeline p{margin:4px 0 0;color:#4a5568;font-size:13px;}

.vt-table{width:100%;border-collapse:collapse;margin-top:12px;}
.vt-table th,.vt-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e6e9ef;font-size:14px;}
.vt-table th{color:#8a93a3;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
.vt-inline-form{flex-direction:row;flex-wrap:wrap;gap:12px;align-items:flex-end;max-width:100%;margin-bottom:26px;}
.vt-inline-form .vt-field{flex:1 1 180px;}
.vt-alt-link{font-size:14px;margin-top:10px;}
.login-username label, .login-password label{display:block;font-weight:600;margin-bottom:4px;font-size:14px;}
.login-username input, .login-password input{width:100%;padding:11px 13px;border:1px solid #d7dce3;border-radius:8px;margin-bottom:14px;}
.login-remember{margin-bottom:14px;font-size:13px;}
.login-submit input[type=submit]{background:var(--vt-accent,#0b2545);color:#fff;border:none;padding:13px 22px;border-radius:8px;font-weight:600;cursor:pointer;font-size:15px;}
