*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg)}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:15px;line-height:1.8;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.modal-open,body.menu-open{overflow:hidden}img,svg{max-width:100%;height:auto}img{display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,h5{font-family:var(--font-display);line-height:1.48;margin:0 0 .5em;font-weight:780;letter-spacing:-.018em;color:var(--color-text)}h1{font-size:clamp(2.1rem,3.35vw,3.9rem)}h2{font-size:clamp(1.65rem,2.25vw,2.45rem)}h3{font-size:clamp(1.12rem,1.35vw,1.4rem)}p{margin:.35em 0 1.05em;color:var(--color-text-2)}small{font-size:var(--fs-13)}
.container,.chav-container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section{padding:64px 0}.section:nth-of-type(even){background:var(--color-surface-2)}.section-head{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:26px}.section-head>p{max-width:560px;margin:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary);font-size:var(--fs-13);font-weight:800;letter-spacing:.01em;margin-bottom:9px}.eyebrow:before{content:'';width:22px;height:2px;border-radius:2px;background:currentColor}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.btn,.request-trigger,.mobile-request,.submit-request{min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:750;font-size:var(--fs-14);line-height:1.25;transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease)}.btn:not(.secondary):not(.soft):not(.ghost),.btn.primary,.request-trigger,.submit-request{background:var(--color-primary);color:#fff}.btn:not(.secondary):not(.soft):not(.ghost):hover,.btn.primary:hover,.request-trigger:hover,.submit-request:hover{background:var(--color-primary-hover);box-shadow:0 7px 20px rgba(217,72,78,.18);transform:translateY(-1px)}.btn.secondary,.btn.soft{background:#fff;border-color:var(--color-border);color:var(--color-text)}.btn.secondary:hover,.btn.soft:hover{border-color:var(--color-border-strong);background:#f8f9f9}.btn.ghost{background:transparent;color:var(--color-text);border-color:transparent}.btn.block{width:100%}.icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);padding:0;transition:background-color .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}.icon-btn:hover{background:var(--color-surface-2);border-color:var(--color-border-strong);transform:translateY(-1px)}.icon-btn svg,.btn svg,.request-trigger svg,.panel-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.control,.top-search,.search input,.filter-control{width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:10px 13px;outline:none;font-size:var(--fs-14);line-height:1.5;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background-color .15s var(--ease)}textarea.control{min-height:112px;resize:vertical;padding-top:12px}.control:hover,.top-search:hover,.search input:hover,.filter-control:hover{border-color:var(--color-border-strong)}.control:focus,.top-search:focus,.search input:focus,.filter-control:focus{border-color:#555b5b;box-shadow:0 0 0 3px rgba(36,38,38,.07)}select.control{padding-left:34px}.form-group,.field{display:grid;gap:7px}.form-group>label,.field>label,.profile-form-grid>label,.settings-grid>label,.expense-form-grid>label,.invoice-context-grid>label,.security-card form>label,.login-card form>label,.modal-form>label,.request-dialog form>label,.request-box form>label{display:grid;gap:7px;font-size:var(--fs-13);font-weight:750;color:#484d4d}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full,.full{grid-column:1/-1}.form-grid>.control{min-width:0}.form-grid>.btn{justify-self:start;min-width:170px}
.panel,.section-card,.detail-card,.security-card,.login-card,.access-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.panel{padding:22px}.panel-head,.panel-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-head h2,.panel-headline h2{font-size:1.32rem;margin-bottom:3px}.panel-head p,.panel-headline p{margin:0;font-size:var(--fs-14)}
.toast{position:fixed;inset:auto 24px 24px auto;z-index:9999;max-width:min(420px,calc(100vw - 48px));background:#242626;color:#fff;padding:12px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-3);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}.toast.show{opacity:1;transform:none}.tag,.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:5px 10px;font-size:var(--fs-12);font-weight:800;background:var(--color-surface-2);border:1px solid var(--color-border);white-space:nowrap}.status-badge:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}.status-success{color:var(--color-success);background:var(--color-success-soft);border-color:#cce9d7}.status-warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:#f0ddba}.status-error{color:var(--color-error);background:var(--color-error-soft);border-color:#f2cbc1}.status-info{color:var(--color-info);background:var(--color-info-soft);border-color:#d5e8f5}
.table-wrap{width:100%;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:760px;font-size:var(--fs-14)}.data-table th{font-size:var(--fs-12);color:#626868;font-weight:800;background:#fafbfb;text-align:right;padding:12px 13px;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:13px;border-bottom:1px solid #eceeee;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background-color .14s var(--ease)}.data-table tbody tr:hover{background:#fffafa}.data-table td .btn{min-height:38px;padding:6px 11px;font-size:var(--fs-13)}.empty{color:var(--color-muted);text-align:center;padding:24px!important}
.v7-icon{display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center;flex:none}.v7-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.preloader,.portal-loader,.admin-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:rgba(255,255,255,.97);transition:opacity .24s var(--ease),visibility .24s var(--ease)}.preloader.hide,.portal-loader.hide,.admin-loader.hide{opacity:0;visibility:hidden;pointer-events:none}.preloader-stage,.portal-loader>div,.admin-loader>div{text-align:center}.loader-mark,.portal-loader span,.admin-loader span{width:54px;height:54px;margin:0 auto 12px;border-radius:16px;display:grid;place-items:center;background:var(--color-primary);color:#fff;font-family:var(--font-display);font-size:27px;font-weight:900;box-shadow:0 10px 24px rgba(244,87,93,.2)}.loader-track{width:180px;height:3px;background:#eee;border-radius:99px;overflow:hidden;margin:14px auto 0}.loader-track b{display:block;width:45%;height:100%;background:var(--color-primary);animation:v7load 1s infinite ease-in-out}@keyframes v7load{from{transform:translateX(120%)}to{transform:translateX(-250%)}}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.reveal.in{opacity:1;transform:none}:focus-visible{outline:3px solid rgba(7,135,127,.24);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* V7.2 precision pass: compact actions + unified form controls */
.btn,.request-trigger,.mobile-request,.submit-request{
 min-height:44px;padding:8px 14px;gap:7px;border-radius:9px;font-size:13.5px;font-weight:700;line-height:1.35;
 word-spacing:.08em;white-space:normal;
 transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)
}
.btn:not(.secondary):not(.soft):not(.ghost):hover,.btn.primary:hover,.request-trigger:hover,.submit-request:hover{
 background:var(--color-primary-hover);box-shadow:0 4px 14px rgba(217,72,78,.16);transform:none
}
.btn.secondary:hover,.btn.soft:hover{background:#fbfcfc;border-color:#bcc3c3;color:var(--color-text);box-shadow:0 2px 10px rgba(31,39,39,.05)}
.btn.ghost:hover{background:var(--color-surface-2)}
.icon-btn{width:44px;height:44px;transform:none}
.icon-btn:hover{transform:none;box-shadow:0 2px 9px rgba(31,39,39,.06)}
.btn svg,.btn .v7-icon,.request-trigger svg,.request-trigger .v7-icon,.submit-request svg,.submit-request .v7-icon,.mobile-request svg,.panel-link svg{
 width:16px!important;height:16px!important;min-width:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.icon-btn svg,.icon-btn .v7-icon{width:18px!important;height:18px!important}
form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),form select,form textarea,
.control,.top-search,.search input,.filter-control,.note-area,.select-status{
 width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:9px 12px;outline:none;
 font-size:13.5px;line-height:1.6;box-shadow:0 1px 0 rgba(31,39,39,.025);
 transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background-color .15s var(--ease)
}
form textarea,.control:is(textarea),textarea.control,.note-area{min-height:96px;padding-top:11px;line-height:1.85;resize:vertical}
form input::placeholder,form textarea::placeholder,.control::placeholder,.top-search::placeholder,.filter-control::placeholder{color:#929797;opacity:1;font-weight:450}
form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,form select:hover,form textarea:hover,
.control:hover,.top-search:hover,.search input:hover,.filter-control:hover,.note-area:hover,.select-status:hover{border-color:var(--color-border-strong)}
form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,form select:focus,form textarea:focus,
.control:focus,.top-search:focus,.search input:focus,.filter-control:focus,.note-area:focus,.select-status:focus{
 border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(7,135,127,.10);background:#fff
}
form input:disabled,form select:disabled,form textarea:disabled,.control:disabled,.control[readonly]{background:#f5f6f6;color:#707575;cursor:not-allowed}
.form-group,.field{gap:6px}.form-group>label,.field>label,.profile-form-grid>label,.settings-grid>label,.expense-form-grid>label,.invoice-context-grid>label,.security-card form>label,.login-card form>label,.modal-form>label,.request-dialog form>label,.request-box form>label{
 gap:6px;font-size:12.5px;font-weight:700;line-height:1.55;color:#484d4d
}
.form-grid{gap:12px 14px}.form-grid>.btn{min-width:0;justify-self:start}
.data-table td .btn{min-height:40px;padding:6px 10px;font-size:12.5px;gap:5px}
.status-badge,.tag{word-spacing:.06em}


/* V7.2.1 precision refinement: compact actions, predictable labels and textarea rhythm */
.btn,.request-trigger,.mobile-request,.submit-request{white-space:nowrap}
form textarea,.control:is(textarea),.note-area{height:96px;min-height:96px}
.btn:active,.request-trigger:active,.mobile-request:active,.submit-request:active{box-shadow:none;filter:saturate(.96)}
.btn:disabled,.request-trigger:disabled,.mobile-request:disabled,.submit-request:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}
/* React-powered portal navigation */
#chavkhane-react-router{position:fixed;inset:0;pointer-events:none;z-index:99999}.chav-spa-progress{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:rgba(18,28,38,.92);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 14px;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:12px;backdrop-filter:blur(10px)}.chav-spa-progress-bar{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;animation:chavSpaSpin .7s linear infinite}@keyframes chavSpaSpin{to{transform:rotate(360deg)}}#chavkhane-spa-view{transition:opacity .16s ease}.spa-loading #chavkhane-spa-view{opacity:.55;pointer-events:none}@media(prefers-reduced-motion:reduce){.chav-spa-progress-bar{animation:none}#chavkhane-spa-view{transition:none}}
/* OTP / captcha shared UI */
.account-step{display:none}.account-step.is-active{display:block}.chav-captcha-host{margin:4px 0 2px}.captcha-loading,.captcha-error{display:block;padding:9px 11px;border-radius:8px;font-size:12px}.captcha-loading{background:var(--color-surface-2);color:var(--color-muted)}.captcha-error{background:#fff1f1;color:#a33}.otp-code{font-size:22px!important;letter-spacing:.25em;text-align:center}.otp-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.account-back,.account-resend{border:0;background:transparent;color:var(--color-secondary);font:inherit;font-size:12px;font-weight:750;cursor:pointer;padding:7px 0}.account-resend:disabled{color:var(--color-muted);cursor:not-allowed}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--color-surface-2);padding:5px;border-radius:12px;margin:17px 0}.auth-tabs button{min-height:42px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:750;color:var(--color-muted);cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--color-text);box-shadow:0 3px 12px rgba(0,0,0,.06)}.auth-pane{display:none}.auth-pane.active{display:block}.admin-auth-card{width:min(520px,100%)}

/* v1.5.0 — shared receipt archive */
.receipt-archive{display:grid;gap:8px}.receipt-file{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.receipt-file:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}.receipt-file-icon{flex:0 0 40px;width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);font-size:10px;font-weight:900}.receipt-file>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.receipt-file b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-file small{font-size:10px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-open{font-size:11px;font-weight:800;color:var(--color-primary)}.receipt-archive.compact .receipt-file{padding:7px}.receipt-archive.compact .receipt-file-icon{width:34px;height:34px;flex-basis:34px}.compact-empty{padding:10px!important;font-size:11px}


/* v1.7.0 — inline receipt preview (customer + admin) */
.receipt-preview-modal[hidden]{display:none!important}.receipt-preview-modal{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:22px}.receipt-preview-backdrop{position:absolute;inset:0;background:rgba(18,22,22,.72);backdrop-filter:blur(5px)}.receipt-preview-dialog{position:relative;width:min(980px,calc(100vw - 36px));height:min(820px,calc(100vh - 44px));display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.28);overflow:hidden}.receipt-preview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-bottom:1px solid var(--color-border);background:#fff}.receipt-preview-head h2{margin:2px 0 0;font-size:20px}.receipt-preview-close{width:42px;height:42px;border:1px solid var(--color-border);border-radius:11px;background:#fff;font-size:25px;line-height:1;cursor:pointer}.receipt-preview-body{min-height:0;display:grid;place-items:center;background:#f2f4f4;overflow:auto;padding:14px}.receipt-preview-body img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12)}.receipt-preview-body iframe{display:block;width:100%;height:100%;min-height:620px;border:0;border-radius:10px;background:#fff}.modal-open .receipt-preview-modal{overscroll-behavior:contain}@media(max-width:640px){.receipt-preview-modal{padding:8px}.receipt-preview-dialog{width:100%;height:calc(100vh - 16px);border-radius:15px}.receipt-preview-head{padding:12px}.receipt-preview-body{padding:8px}.receipt-preview-body iframe{min-height:calc(100vh - 95px)}}

/* v1.7.0 — receipt entry actions shared across both portals */
.receipt-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.receipt-entry .receipt-file{width:100%;font:inherit;text-align:right;cursor:pointer}.receipt-delete{min-width:58px;border:1px solid #f0c9cb;border-radius:10px;background:#fff7f7;color:#c63f45;font:inherit;font-size:11px;font-weight:800;padding:0 10px;cursor:pointer}.receipt-delete:hover{background:#ffecec;border-color:#e8aaad}.receipt-delete:disabled{opacity:.55;cursor:wait}@media(max-width:560px){.receipt-entry{grid-template-columns:1fr}.receipt-delete{min-height:38px}}


/* Branded portal logout confirmation; keeps portal users away from WordPress logout UI. */
.portal-logout-open{overflow:hidden!important}
.portal-logout-modal[hidden]{display:none!important}
.portal-logout-modal{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:20px}
.portal-logout-backdrop{position:absolute;inset:0;background:rgba(22,27,27,.46);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.portal-logout-dialog{position:relative;z-index:1;width:min(440px,100%);background:var(--color-surface,#fff);border:1px solid var(--color-border,#e6e9e9);border-radius:22px;padding:28px;box-shadow:0 28px 80px rgba(28,33,33,.22);text-align:right;animation:chavLogoutIn .2s ease both}
.portal-logout-close{position:absolute;left:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--color-surface-2,#f5f6f6);color:var(--color-text,#252828);font:inherit;font-size:24px;line-height:1;cursor:pointer}
.portal-logout-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--color-primary-soft,#fff0f0);color:var(--color-primary,#f4585d);font-size:25px;margin-bottom:18px}
.portal-logout-copy .eyebrow{color:var(--color-primary,#f4585d);font-size:12px;font-weight:800}
.portal-logout-copy h2{margin:6px 0 8px;font-size:clamp(22px,4vw,30px)}
.portal-logout-copy p{margin:0;color:var(--color-muted,#747b7b);line-height:1.9}
.portal-logout-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.portal-logout-actions .btn{width:100%;justify-content:center}
@keyframes chavLogoutIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:520px){.portal-logout-modal{align-items:end;padding:12px}.portal-logout-dialog{border-radius:22px 22px 14px 14px;padding:24px 18px}.portal-logout-actions{grid-template-columns:1fr}.portal-logout-actions .primary{order:-1}}
@media(prefers-reduced-motion:reduce){.portal-logout-dialog{animation:none}}

/* v1.18.7 — branded scrollbar system */
:root{--scrollbar-size:12px;--scrollbar-track:rgba(30,37,37,.08);--scrollbar-thumb:#c9d0d0;--scrollbar-thumb-hover:#f4585d}
html{scrollbar-gutter:stable;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}
*::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#f56d72 0%,var(--color-primary) 100%);border:3px solid rgba(255,255,255,.92);border-radius:999px;min-height:36px}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff7a7f 0%,var(--color-primary-hover) 100%)}
*::-webkit-scrollbar-corner{background:transparent}

/* v1.19.0 — request service custom select + multi-file tray */
.request-service-field{position:relative;min-width:0}
.request-service-native{position:absolute!important;inset:auto auto 0 0!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;margin:0!important;opacity:.001!important;pointer-events:none!important;border:0!important;clip-path:inset(50%)!important}
.request-service-select{position:relative;width:100%;z-index:35}
.request-service-select.is-open{z-index:120}
.request-service-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface,#fff);color:var(--color-text);font:inherit;font-size:13px;font-weight:700;text-align:right;cursor:pointer;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background-color .15s var(--ease),color .15s var(--ease)}
.request-service-trigger:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}
.request-service-select.is-open .request-service-trigger,.request-service-trigger:focus-visible{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(7,135,127,.10);outline:0}
.request-service-trigger.is-invalid{border-color:var(--color-error)!important;box-shadow:0 0 0 3px rgba(198,63,69,.10)!important}
.request-service-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.request-service-value.is-placeholder{color:var(--color-muted);font-weight:600}
.request-service-chevron{width:18px;height:18px;display:grid;place-items:center;flex:none;color:var(--color-muted);transition:transform .16s var(--ease),color .16s var(--ease)}
.request-service-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.request-service-select.is-open .request-service-chevron{transform:rotate(180deg);color:var(--color-secondary)}
.request-service-menu{position:absolute;top:calc(100% + 7px);right:0;left:0;max-height:264px;overflow-y:auto;padding:6px;background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 42px rgba(26,33,33,.16);opacity:0;visibility:hidden;transform:translateY(5px);pointer-events:none;transition:opacity .14s var(--ease),transform .14s var(--ease),visibility .14s;scrollbar-gutter:stable}
.request-service-select.is-open .request-service-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.request-service-option{position:relative;width:100%;min-height:40px;display:flex;align-items:center;padding:8px 12px 8px 34px;border:0;border-radius:8px;background:transparent;color:var(--color-text-2);font:inherit;font-size:12.5px;font-weight:680;text-align:right;cursor:pointer;transition:background-color .13s var(--ease),color .13s var(--ease)}
.request-service-option:hover,.request-service-option:focus-visible{background:var(--color-surface-2);color:var(--color-text);outline:0}
.request-service-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:800}
.request-service-option.is-selected:after{content:'✓';position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:900}

.request-file-list{--request-file-cols:1;min-width:0;max-width:100%;display:grid!important;grid-template-columns:repeat(var(--request-file-cols),minmax(0,1fr));gap:8px!important;overflow:visible}
.request-file-list:empty{display:none!important}
.request-file-list.is-scroll{display:flex!important;overflow-x:auto;overflow-y:hidden;gap:9px!important;padding:2px 0 9px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.request-file-list.is-scroll .request-file-chip{flex:0 0 min(250px,78vw);scroll-snap-align:start}
.request-file-chip{min-width:0;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center;gap:8px!important;padding:8px 9px!important;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface,#fff)}
.request-file-type{min-width:34px;height:30px;padding-inline:6px;border-radius:8px;background:var(--color-secondary-soft);color:var(--color-secondary);font-size:9.5px;font-weight:900;display:grid;place-items:center;line-height:1}
.request-file-meta{min-width:0;display:grid;gap:1px}
.request-file-meta b{min-width:0;font-size:10.5px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.request-file-meta small{min-width:0;font-size:9.5px;line-height:1.45;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right}
.request-file-remove{width:27px;height:27px;display:grid;place-items:center;flex:none;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2);color:var(--color-muted);font:inherit;font-size:17px;line-height:1;cursor:pointer;transition:background-color .13s var(--ease),border-color .13s var(--ease),color .13s var(--ease)}
.request-file-remove:hover,.request-file-remove:focus-visible{background:#fff0f0;border-color:#efc4c6;color:#bd3d43;outline:0}
.request-file-chip.is-oversize .request-file-type{background:var(--color-warning-soft);color:var(--color-warning)}
.request-file-chip.is-invalid .request-file-type{background:var(--color-error-soft);color:var(--color-error)}
@media(max-width:680px){.request-file-list:not(.is-scroll){grid-template-columns:1fr!important}.request-service-menu{max-height:230px}}

/* v1.19.1 — configurable request success modal */
body.request-success-open{overflow:hidden!important}
.request-success-modal[hidden]{display:none!important}
.request-success-modal{position:fixed;inset:0;z-index:12050;display:grid;place-items:center;padding:20px}
.request-success-backdrop{position:absolute;inset:0;background:rgba(14,20,20,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.request-success-dialog{position:relative;z-index:1;width:min(440px,100%);padding:34px 30px 28px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:0 28px 86px rgba(18,24,24,.28);text-align:center;animation:chavRequestSuccessIn .2s ease both}
.request-success-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;display:grid;place-items:center;background:var(--color-surface-2);color:var(--color-text-2);font:inherit;font-size:22px;line-height:1;cursor:pointer}
.request-success-close:hover{background:var(--color-primary-soft);color:var(--color-primary);border-color:rgba(244,87,93,.25)}
.request-success-icon{width:72px;height:72px;margin:4px auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--color-success-soft);color:var(--color-success);box-shadow:0 10px 28px rgba(20,140,80,.10)}
.request-success-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.request-success-title{display:block;font-family:var(--font-display);font-size:clamp(1.3rem,2.2vw,1.65rem);font-weight:800;line-height:1.65;color:var(--color-text);margin:0 auto 8px}
.request-success-text{max-width:330px;margin:0 auto;color:var(--color-text-2);font-size:13px;line-height:1.95}
.request-success-action{min-width:150px;margin-top:22px}
.request-success-followup{margin-top:20px;text-align:right}
.request-success-followup .large-file-card{box-shadow:none}
@keyframes chavRequestSuccessIn{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
@media(max-width:520px){.request-success-modal{align-items:end;padding:10px}.request-success-dialog{width:100%;padding:30px 20px 22px;border-radius:22px 22px 14px 14px}.request-success-icon{width:64px;height:64px;margin-bottom:15px}.request-success-action{width:100%}}
@media(prefers-reduced-motion:reduce){.request-success-dialog{animation:none}}

/* v1.19.2 — unified custom selects across customer/admin portals */
.chav-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;margin:-1px!important;opacity:.001!important;pointer-events:none!important;border:0!important;clip-path:inset(50%)!important}
.chav-select{position:relative;width:100%;min-width:0;z-index:30}
.chav-select.is-open{z-index:220}
.chav-select-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface,#fff);color:var(--color-text);font:inherit;font-size:13px;font-weight:700;text-align:right;cursor:pointer;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background-color .15s var(--ease),color .15s var(--ease)}
.chav-select-trigger:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}
.chav-select.is-open .chav-select-trigger,.chav-select-trigger:focus-visible{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(7,135,127,.10);outline:0}
.chav-select.is-disabled .chav-select-trigger,.chav-select-trigger:disabled{opacity:.62;cursor:not-allowed;background:var(--color-surface-2)}
.chav-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chav-select-value.is-placeholder{color:var(--color-muted);font-weight:600}
.chav-select-chevron{width:18px;height:18px;display:grid;place-items:center;flex:none;color:var(--color-muted);transition:transform .16s var(--ease),color .16s var(--ease)}
.chav-select-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chav-select.is-open .chav-select-chevron{transform:rotate(180deg);color:var(--color-secondary)}
.chav-select-menu{position:absolute;top:calc(100% + 7px);right:0;left:0;max-height:264px;overflow-y:auto;padding:6px;background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 42px rgba(26,33,33,.16);opacity:0;visibility:hidden;transform:translateY(5px);pointer-events:none;transition:opacity .14s var(--ease),transform .14s var(--ease),visibility .14s;scrollbar-gutter:stable}
.chav-select.is-open .chav-select-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.chav-select-option{position:relative;width:100%;min-height:40px;display:flex;align-items:center;padding:8px 12px 8px 34px;border:0;border-radius:8px;background:transparent;color:var(--color-text-2);font:inherit;font-size:12.5px;font-weight:680;text-align:right;cursor:pointer;transition:background-color .13s var(--ease),color .13s var(--ease)}
.chav-select-option:hover,.chav-select-option:focus-visible{background:var(--color-surface-2);color:var(--color-text);outline:0}
.chav-select-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:800}
.chav-select-option.is-selected:after{content:'✓';position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:900}
.chav-select-option:disabled{opacity:.45;cursor:not-allowed}
.chav-select.is-filter .chav-select-trigger{min-height:42px;font-size:12.5px}
.chav-select.is-status .chav-select-trigger{min-height:42px}
@media(max-width:680px){.chav-select-menu{max-height:230px}}

/* v1.20.5 — segmented OTP input */
.otp-digit-group{display:grid;grid-template-columns:repeat(var(--otp-length,6),minmax(0,1fr));gap:8px;direction:ltr;width:100%;margin:0}
.otp-digit-input{min-width:0!important;width:100%!important;height:58px!important;padding:0!important;text-align:center!important;font-size:24px!important;font-weight:850!important;line-height:1!important;letter-spacing:0!important;caret-color:var(--color-primary)}
.otp-digit-input:focus{position:relative;z-index:1}
@media(max-width:480px){.otp-digit-group{gap:5px}.otp-digit-input{height:52px!important;font-size:20px!important;border-radius:9px!important}}
