:root{color-scheme:light;--bg: #f5f7f8;--surface: #ffffff;--ink: #202528;--muted: #68747c;--line: #dce3e7;--green: #0f7b5f;--blue: #2364aa;--amber: #af6f12;--red: #b23b3b;--nav: #16252b;--shadow: 0 14px 40px rgba(31, 44, 51, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Tahoma,Arial,sans-serif}.auth-page{display:grid;place-items:center;min-height:100svh;padding:14px}.auth-card{width:100%;padding:20px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.auth-card>p{color:var(--muted);line-height:1.8}.auth-card form{display:grid;gap:12px;margin:22px 0 14px}.auth-card>small{color:var(--muted)}.captcha-box{display:grid;gap:8px}.captcha-image-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.captcha-image-row img,.captcha-image-row span{width:100%;height:70px;border:1px solid var(--line);border-radius:8px;background:#f5f8fb;object-fit:contain}.captcha-image-row span{display:grid;place-items:center;color:var(--muted);font-size:12px}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:10px 14px;cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:var(--green);border-color:var(--green);color:#fff}.danger{color:var(--red);border-color:#b23b3b73;background:#fff8f8}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh}.sidebar{min-width:0;padding:14px;background:var(--nav);color:#fff}.brand{display:flex;gap:10px;align-items:center;margin-bottom:12px}.brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#e0b44d;color:var(--nav);font-weight:700}.brand small{display:block;color:#afbdc4;margin-top:4px}.sidebar-notice{width:100%;justify-content:flex-start;margin:0 0 12px;border-color:#e0b44d80;color:#ffe7a2;background:#e0b44d1a}nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}nav button{flex:0 0 auto;justify-content:flex-start;border:0;background:transparent;color:#d9e3e8;white-space:nowrap}nav button.active,nav button:hover{background:#ffffff1a;color:#fff}main{padding:14px;min-width:0}.topbar{display:grid;gap:14px;margin-bottom:16px}h1,h2,p{margin-top:0}h1{font-size:22px;line-height:1.55;margin-bottom:0}h2{font-size:18px;margin-bottom:0}.eyebrow{color:var(--green);font-weight:700;margin-bottom:8px}.login-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}label{display:grid;gap:7px;color:var(--muted);font-size:13px}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:#fbfcfd}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;color:#4d5960;background:#eef2f4;opacity:.85}select:disabled{cursor:not-allowed;opacity:.65}textarea{min-height:86px;resize:vertical}.stats{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}.stats article,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.stats article{padding:18px}.stats span{display:block;color:var(--muted);margin-bottom:8px}.stats strong{font-size:18px}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:12px}.panel{padding:14px;min-width:0}.panel-heading{display:grid;gap:10px;margin-bottom:15px}.collapsible-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.collapsible-panel-heading .panel-heading{flex:1;margin-bottom:0}.collapsible-panel-heading h2{margin-bottom:0;line-height:1.7}.collapsible-panel-body{display:grid;gap:12px}.icon-button{flex:0 0 auto;width:42px;min-height:42px;padding:0}.icon-button svg{transition:transform .18s ease}.icon-button svg.rotated{transform:rotate(180deg)}.grid-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.span-2{grid-column:auto}.field-message{align-self:end;margin:0;padding:10px 12px;border-radius:8px}.field-message.error{color:var(--red);background:#fff1f1}.field-message.success{color:var(--green);background:#edf8f4}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.timeline{display:grid;gap:12px;margin:0;padding:0;list-style:none}.timeline li{display:grid;gap:7px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.timeline time{font-size:12px;white-space:nowrap}.timeline .current{color:var(--amber);border-color:#af6f1259;background:#fff7e8}.timeline .previous{color:var(--green);border-color:#0f7b5f59;background:#edf8f4}.timeline .next{color:var(--muted);background:#fff}.request-error{margin-top:14px}.documents{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.documents-upload-bar{position:sticky;bottom:8px;z-index:5;display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fffffff5;box-shadow:0 8px 24px #14232a1f}.documents-upload-bar span{color:var(--muted);font-size:13px}.document{min-height:220px;display:grid;align-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.document small,.document span{color:var(--muted);line-height:1.7}.document.approved{border-color:#0f7b5f66}.document.correction{border-color:#af6f1273}.document.missing{border-color:#b23b3b73}.document.pending{border-color:#2364aa73}.locked-document-note{color:var(--green)}.document-actions{display:grid;gap:8px}.document-actions.locked{opacity:.55;pointer-events:none}.file-picker{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 12px;border:1px dashed var(--blue);border-radius:8px;color:var(--blue);background:#f4f8fd;cursor:pointer}.file-picker input{display:none}.file-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.file-entry{display:grid;gap:4px;min-width:0}.file-entry.correction{padding:5px;border:1px solid rgba(178,59,59,.45);border-radius:8px;background:#fff8f8}.file-preview{position:relative;min-width:0;padding:6px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;text-decoration:none}.file-preview img,.pdf-preview{width:100%;height:82px;border-radius:6px;object-fit:cover}.pdf-preview{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--red);background:#fff1f1;font-weight:700}.file-preview small{display:block;overflow:hidden;margin-top:5px;text-overflow:ellipsis;white-space:nowrap}.file-status{display:block;padding:3px 6px;border-radius:5px;font-size:11px;text-align:center}.file-status.approved{color:var(--green);background:#edf8f4}.file-status.correction{color:var(--red);background:#fff1f1}.file-status.pending{color:var(--blue);background:#edf5ff}.reviewer-note{color:var(--red);font-size:11px;line-height:1.7}.remove-file{width:100%;margin-top:5px;padding:5px;color:var(--red);border-color:#b23b3b59}.document-error{margin-bottom:12px}.slots{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.slots.locked{filter:grayscale(1);opacity:.6}.payment-box strong{display:block;font-size:22px;margin:8px 0 18px}@media(min-width:641px){.auth-card{width:min(430px,100%);padding:28px}main{padding:20px}.stats,.grid-form,.documents{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.panel-heading,.documents-upload-bar{display:flex;align-items:center;justify-content:space-between}.slots{grid-template-columns:repeat(3,1fr)}}@media(min-width:1051px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.sidebar{padding:24px}.brand{margin-bottom:32px}nav{display:grid;overflow:visible}nav button{width:100%}main{padding:28px}.topbar{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:22px}h1{font-size:28px}.login-panel{width:auto;min-width:360px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.layout{grid-template-columns:1.7fr .9fr;gap:14px}.panel{padding:20px}.grid-form{grid-template-columns:repeat(4,minmax(0,1fr))}.documents{grid-template-columns:repeat(3,minmax(240px,1fr))}.timeline li{display:flex;align-items:center;justify-content:space-between}}.appointment-payment{margin-bottom:14px;overflow-wrap:anywhere}.appointment-payment h2{margin-bottom:18px;line-height:1.7}.appointment-payment form,.receipt-upload{display:grid;gap:14px;min-width:0}.appointment-payment select{min-width:0;max-width:100%;font-size:16px}.appointment-payment button{min-height:44px;white-space:normal}.receipt-upload{padding:14px;border:1px solid var(--line);border-radius:8px}.receipt-upload .file-picker{flex-direction:column}.receipt-upload .file-picker input{display:block;max-width:100%;font-size:16px}.payment-receipt-list{display:grid;gap:10px;margin-top:10px}.payment-receipt-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.payment-receipt-link{color:var(--blue)}.payment-receipt-row button{min-height:34px}.payment-review-note{display:block;color:var(--red)}.installment-status{color:var(--muted);font-size:12px}.installment-status.approved{color:var(--green)}.installment-status.rejected{color:var(--red)}.installment-status.pending{color:var(--blue)}.payment-rejection-summary{display:grid;gap:6px}.advance-receipts{margin-top:16px}.payment-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0008}.payment-modal{width:100%;max-width:440px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px;background:#fff;border-radius:12px;line-height:2}.payment-modal button{width:100%;min-height:44px}.booking-confirmation{padding:14px;background:#edf8f4;border-radius:8px;line-height:1.8}.appointment-cancel-box{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.appointment-cancel-box p{margin:4px 0 0}.tracking-case-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:14px;padding:12px;text-align:right;background:#fbfcfd}.tracking-case-row>span:first-child{display:grid;gap:5px;min-width:0}.tracking-case-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracking-warning,.tracking-ok{flex:0 0 auto;font-size:12px}.tracking-warning{color:var(--red)}.tracking-ok{color:var(--green)}.customer-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0008}.customer-modal{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040}.terms-gate{display:grid;min-height:100dvh;place-items:center;padding:16px;background:var(--bg)}.terms-modal{width:min(860px,100%);display:grid;gap:16px}.terms-section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.terms-html{max-height:220px;overflow:auto;line-height:1.9}.terms-acceptance{align-items:flex-start;color:var(--ink)}.workflow-modal{width:min(640px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:12px}.workflow-modal::backdrop{background:#0008}.workflow-modal-content{padding:16px}.workflow-modal .layout{display:block}.workflow-modal button{min-height:44px}.incomplete-list{display:grid;gap:9px}.incomplete-list article{display:grid;gap:5px;padding:11px;border:1px solid rgba(178,59,59,.35);border-radius:8px;background:#fff8f8}.incomplete-list span,.incomplete-list p{color:var(--muted);font-size:12px;line-height:1.7}.incomplete-list p{margin:0;color:var(--red)}@media(min-width:641px){.appointment-payment form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.appointment-payment form>.primary{grid-column:1 / -1;justify-self:start}}.app-footer{margin-top:24px;padding:16px 0;text-align:center;color:#64748b;font-size:12px}.requests-grid-scroll{max-width:100%;overflow-x:auto}.requests-grid{width:100%;border-collapse:collapse;text-align:right}.requests-grid th,.requests-grid td{padding:12px 8px;border-bottom:1px solid #e2e8f0}.requests-grid button{min-height:44px}.tracking-code{direction:ltr;overflow-wrap:anywhere}@media(max-width:600px){.requests-grid th,.requests-grid td{padding:8px 4px;font-size:12px}}
