@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.app-dialog__overlay{-webkit-backdrop-filter:blur(6px);z-index:300;background-color:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.app-dialog{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:100%;max-width:440px;animation:.25s cubic-bezier(.16,1,.3,1) dialogEnter;overflow:hidden}@keyframes dialogEnter{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.app-dialog__header{align-items:flex-start;gap:.875rem;padding:1.5rem 1.5rem 0;display:flex}.app-dialog__icon-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:flex}.app-dialog__title-group{flex:1;min-width:0;padding-top:.25rem}.app-dialog__title{color:var(--text-inverse);margin:0 0 .125rem;font-size:1.05rem;font-weight:600;line-height:1.3}.app-dialog__subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.775rem;font-weight:500}.app-dialog__close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:-.125rem;display:inline-flex}.app-dialog__close:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.app-dialog__body{color:var(--text-secondary);padding:1rem 1.5rem .5rem;font-size:.9rem;line-height:1.6}.app-dialog__body p{margin:0 0 .5rem}.app-dialog__body p:last-child{margin-bottom:0}.app-dialog__actions{justify-content:flex-end;gap:.625rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.app-dialog__btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.575rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.3;display:inline-flex}.app-dialog__btn:disabled{opacity:.55;cursor:not-allowed}.app-dialog__btn--cancel{color:var(--text-secondary);background:0 0;border:1px solid #0000}.app-dialog__btn--cancel:hover:not(:disabled){background-color:var(--bg-surface-hover);color:var(--text-primary)}.app-dialog__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite dialogSpin}@keyframes dialogSpin{to{transform:rotate(360deg)}}.app-dialog--info .app-dialog__icon-badge{color:var(--accent-primary);background:#3b82f61a}.app-dialog--info .app-dialog__btn--confirm{background:linear-gradient(135deg, var(--accent-primary), #3b82f6);color:#fff;box-shadow:0 4px 14px #3b82f64d}.app-dialog--info .app-dialog__btn--confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f673}.app-dialog--alert .app-dialog__icon-badge{color:#f59e0b;background:#f59e0b1a}.app-dialog--alert .app-dialog__btn--confirm{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 14px #f59e0b4d}.app-dialog--alert .app-dialog__btn--confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #f59e0b73}.app-dialog--warning .app-dialog__icon-badge{color:#f97316;background:#f973161a}.app-dialog--warning .app-dialog__btn--confirm{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 4px 14px #f973164d}.app-dialog--warning .app-dialog__btn--confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #f9731673}.app-dialog--stop .app-dialog__icon-badge{color:var(--accent-secondary);background:#f43f5e1a}.app-dialog--stop .app-dialog__btn--confirm{background:linear-gradient(135deg, var(--accent-secondary), #dc2626);color:#fff;box-shadow:0 4px 14px #f43f5e4d}.app-dialog--stop .app-dialog__btn--confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #f43f5e73}.app-dialog__divider{background:var(--border-color);height:1px;margin:.75rem 1.5rem 0}.create-booking__section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:.75rem;font-weight:700}.create-booking__section-title:not(:first-child){margin-top:.5rem}.create-booking__row{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}.create-booking__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}.create-booking__grid>.form-group{min-width:0}@media (width<=580px){.create-booking__row,.create-booking__grid{grid-template-columns:1fr;gap:1rem}}.create-booking__select{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-inverse);transition:var(--transition);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding:.75rem 2.5rem .75rem 1rem;font-family:inherit;font-size:1rem}.create-booking__select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #58a6ff33}.create-booking__select:disabled{opacity:.5;cursor:not-allowed}.create-booking__select option{background-color:var(--bg-surface);color:var(--text-primary)}.create-booking__textarea{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-inverse);transition:var(--transition);resize:vertical;min-height:80px;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.create-booking__textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #58a6ff33}.create-booking__hint{color:var(--accent-secondary);margin-top:.25rem;font-size:.75rem;display:block}.create-booking__loading{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;padding:3rem 2rem;font-size:.9rem;display:flex}.create-booking__spinner{border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{height:var(--react-international-phone-height,36px);box-sizing:border-box;border:1px solid var(--react-international-phone-country-selector-border-color,var(--react-international-phone-border-color,gainsboro));appearance:button;background-color:var(--react-international-phone-country-selector-background-color,var(--react-international-phone-background-color,white));cursor:pointer;text-transform:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover,whitesmoke)}.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:#0000}.react-international-phone-country-selector-button__button-content{justify-content:center;align-items:center;display:flex}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-top:var(--react-international-phone-country-selector-arrow-size,4px) solid var(--react-international-phone-country-selector-arrow-color,#777);border-right:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;border-left:var(--react-international-phone-country-selector-arrow-size,4px) solid transparent;margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color,#999)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color,var(--react-international-phone-disabled-background-color,whitesmoke))}.react-international-phone-country-selector-button--disabled{cursor:auto}.react-international-phone-flag-emoji{width:var(--react-international-phone-flag-width,24px);height:var(--react-international-phone-flag-height,24px);box-sizing:border-box}.react-international-phone-country-selector-dropdown{z-index:1;top:var(--react-international-phone-dropdown-top,44px);left:var(--react-international-phone-dropdown-left,0);background-color:var(--react-international-phone-dropdown-item-background-color,var(--react-international-phone-background-color,white));width:300px;max-height:200px;box-shadow:var(--react-international-phone-dropdown-shadow,2px 2px 16px #00000040);color:var(--react-international-phone-dropdown-item-text-color,var(--react-international-phone-text-color,#222));flex-direction:column;margin:0;padding:4px 0;list-style:none;display:flex;position:absolute;overflow-y:scroll}.react-international-phone-country-selector-dropdown__preferred-list-divider{height:1px;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin,0);background:var(--react-international-phone-dropdown-preferred-list-divider-color,var(--react-international-phone-border-color,gainsboro));border:none}.react-international-phone-country-selector-dropdown__list-item{min-height:var(--react-international-phone-dropdown-item-height,28px);box-sizing:border-box;align-items:center;padding:2px 8px;display:flex}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{font-size:var(--react-international-phone-dropdown-item-font-size,14px);text-overflow:ellipsis;white-space:nowrap;margin-right:8px;overflow:hidden}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color,gray);font-size:var(--react-international-phone-dropdown-item-font-size,14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,whitesmoke));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--selected,.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color,whitesmoke);color:var(--react-international-phone-selected-dropdown-item-text-color,var(--react-international-phone-text-color,#222))}.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color,var(--react-international-phone-dropdown-item-dial-code-color,gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color,var(--react-international-phone-selected-dropdown-item-background-color,whitesmoke))}.react-international-phone-dial-code-preview{border:1px solid var(--react-international-phone-dial-code-preview-border-color,var(--react-international-phone-border-color,gainsboro));background-color:var(--react-international-phone-dial-code-preview-background-color,var(--react-international-phone-background-color,white));color:var(--react-international-phone-dial-code-preview-text-color,var(--react-international-phone-text-color,#222));font-size:var(--react-international-phone-dial-code-preview-font-size,var(--react-international-phone-font-size,13px));justify-content:center;align-items:center;margin-right:-1px;padding:0 8px;display:flex}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color,var(--react-international-phone-disabled-background-color,whitesmoke));color:var(--react-international-phone-dial-code-preview-disabled-text-color,var(--react-international-phone-disabled-text-color,#666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius,4px);border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.react-international-phone-input-container .react-international-phone-input{height:var(--react-international-phone-height,36px);box-sizing:border-box;border:1px solid var(--react-international-phone-border-color,gainsboro);border-radius:var(--react-international-phone-border-radius,4px);background-color:var(--react-international-phone-background-color,white);color:var(--react-international-phone-text-color,#222);font-family:inherit;font-size:var(--react-international-phone-font-size,13px);border-top-left-radius:0;border-bottom-left-radius:0;margin:0;padding:0 8px;overflow:visible}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color,whitesmoke);color:var(--react-international-phone-disabled-text-color,#666)}.agape-phone-input.react-international-phone-input-container{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-input);width:100%;transition:var(--transition);align-items:stretch;display:flex;overflow:visible}.agape-phone-input.react-international-phone-input-container:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #58a6ff33}.agape-phone-input.is-invalid{border-color:var(--accent-secondary)!important}.agape-phone-input.is-invalid:focus-within{box-shadow:0 0 0 3px #ff7b7233!important}.agape-phone-input .react-international-phone-country-selector-button{background:var(--bg-surface-hover,#ffffff0d);border:none;border-right:1px solid var(--border-color);cursor:pointer;min-width:80px;transition:var(--transition);border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.75rem 1rem;display:flex}.agape-phone-input .react-international-phone-country-selector-button:hover{background:var(--bg-surface-hover)}.agape-phone-input .react-international-phone-country-selector-button__dial-code{color:var(--text-secondary);font-size:.85rem;font-weight:500}.agape-phone-input .react-international-phone-country-selector-button__dropdown-arrow{border-top-color:var(--text-secondary)}.agape-phone-input .react-international-phone-input{color:var(--text-primary);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);background:0 0;border:none;outline:none;flex:1;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.agape-phone-input .react-international-phone-input::placeholder{color:var(--text-secondary);opacity:.6}.react-international-phone-country-selector-dropdown{overflow-y:auto;background:var(--bg-surface)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-md,8px)!important;box-shadow:var(--shadow-lg,0 8px 32px #0003)!important;z-index:9999!important;max-height:250px!important}.react-international-phone-country-selector-dropdown__list-item{cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;display:flex;color:var(--text-primary)!important;padding:.5rem .75rem!important;font-size:.85rem!important}.react-international-phone-country-selector-dropdown__list-item:hover{background:var(--bg-surface-hover)!important}.react-international-phone-country-selector-dropdown__list-item--selected{font-weight:600;background:var(--bg-surface-hover)!important;color:var(--accent-primary)!important}.react-international-phone-country-selector-dropdown__search{background:var(--bg-input,var(--bg-surface))!important;border:none!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important;outline:none!important;padding:.6rem .75rem!important;font-family:inherit!important;font-size:.85rem!important}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--text-secondary)!important}.supplier-bookings-panel__list{flex-direction:column;gap:.75rem;display:flex}.supplier-bookings-panel__item{background:var(--bg-color);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:var(--transition);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.supplier-bookings-panel__item:hover{background:var(--bg-surface-hover);border-color:var(--text-secondary)}.supplier-bookings-panel__info{flex-direction:column;flex:auto;gap:.25rem;min-width:140px;display:flex}.supplier-bookings-panel__name{color:var(--text-inverse);word-break:break-word;font-size:1.05rem;font-weight:600}.supplier-bookings-panel__meta{color:var(--text-secondary);font-size:.8rem}.supplier-bookings-panel__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;margin-left:auto;display:flex}.supplier-bookings-panel__status{text-transform:uppercase;white-space:nowrap;border-radius:9999px;align-items:center;padding:.3rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.supplier-bookings-panel__copy-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.supplier-bookings-panel__copy-btn:hover{background:var(--bg-surface-hover);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.supplier-bookings-panel__copy-btn:active{transform:translateY(0)}.supplier-bookings-panel__copied-tip{white-space:nowrap;background:var(--accent-primary);color:#fff;pointer-events:none;border-radius:4px;padding:.25rem .6rem;font-size:.7rem;font-weight:600;animation:.15s ease-out sbp-fade-in;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.supplier-bookings-panel__copied-tip:after{content:"";border:4px solid #0000;border-top-color:var(--accent-primary);position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes sbp-fade-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.supplier-bookings-panel__empty{border:1px dashed var(--border-color);border-radius:var(--radius-sm);text-align:center;color:var(--text-secondary);background:#58a6ff0a;padding:1.5rem;font-size:.9rem}code[class*=language-],pre[class*=language-]{color:#ccc;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}pre[class*=language-]{margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a padding-box content-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box content-box;border:3px solid #0000}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001a padding-box content-box}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003 padding-box content-box}*{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent}[data-theme=light] *{scrollbar-color:#0000001a transparent}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-color:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--bg-glass:#ffffffb3;--bg-input:#fff;--bg-modal:#f4f6f8;--border-color:#e2e8f0;--accent-primary:#3b82f6;--accent-secondary:#f43f5e;--accent-success:#10b981;--test-solid:#6d28d9;--test-tint:#6d28d91a;--test-text:#6d28d9;--test-border:#6d28d959;--text-primary:#1e293b;--text-secondary:#64748b;--text-inverse:#0f172a;--shadow-sm:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-md:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 15px #3b82f64d;--auth-bg-start:#e2e8f0;--auth-bg-end:#f8fafc;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition:all .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-color:#0d1117;--bg-surface:#161b22;--bg-surface-hover:#1f242c;--bg-glass:#161b22b3;--bg-input:#0003;--bg-modal:#1c2128;--border-color:#30363d;--accent-primary:#58a6ff;--accent-secondary:#ff7b72;--accent-success:#2ea043;--test-solid:#7c3aed;--test-tint:#8b5cf626;--test-text:#a78bfa;--test-border:#8b5cf666;--text-primary:#c9d1d9;--text-secondary:#8b949e;--text-inverse:#fff;--shadow-sm:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--shadow-md:0 10px 15px -3px #0006, 0 4px 6px -2px #0003;--shadow-glow:0 0 15px #58a6ff66;--auth-bg-start:#1a202c;--auth-bg-end:#0d1117}*{box-sizing:border-box;margin:0;padding:0}html{font-size:85%}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-inverse);margin-bottom:.5rem;font-weight:600}a{color:var(--accent-primary);transition:var(--transition);text-decoration:none}a:hover{text-shadow:var(--shadow-glow);text-decoration:underline}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), #3b82f6);color:#fff;border:none;box-shadow:0 4px 14px #58a6ff63}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #58a6ff80}.btn-secondary{background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-hover);border-color:var(--text-secondary)}.btn-text{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-text:hover:not(:disabled){background-color:var(--bg-surface-hover);color:var(--text-primary)}.form-group{flex-direction:column;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-inverse);margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-control{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition);padding:.75rem 1rem;font-family:inherit;font-size:1rem}.form-control:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #58a6ff33}.form-error{color:var(--accent-secondary);margin-top:.25rem;font-size:.75rem;display:block}select.form-control option,option{background-color:var(--bg-surface);color:var(--text-primary)}select.form-control optgroup,optgroup{background-color:var(--bg-surface-hover);color:var(--text-secondary);font-weight:600}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:2rem}.auth-split-layout{background-color:var(--bg-color);width:100%;min-height:100vh;display:flex;overflow:hidden}.auth-marketing{display:none}@media (width>=1024px){.auth-marketing{background:linear-gradient(135deg, var(--accent-primary) 0%, #0f172a 100%);flex-direction:column;flex:1.2;justify-content:center;padding:6rem;display:flex;position:relative;overflow:hidden}}.auth-form-container{z-index:10;flex-direction:column;flex:1;justify-content:center;width:100%;padding:2rem;animation:.6s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:relative}@media (width>=1024px){.auth-form-container{max-width:600px;padding:4rem}}.auth-sphere-1{background:radial-gradient(circle,#ffffff14 0%,#0000 70%);border-radius:50%;width:50vh;height:50vh;position:absolute;top:-10%;left:-10%}.auth-sphere-2{background:radial-gradient(circle,#58a6ff26 0%,#0000 70%);border-radius:50%;width:60vh;height:60vh;position:absolute;bottom:-5%;right:-5%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-layout{flex-direction:column;min-height:100vh;display:flex}.navbar{background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:10;padding:1rem;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;display:flex}.nav-brand{color:var(--text-inverse);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.nav-brand svg{color:var(--accent-primary)}.nav-links{align-items:center;gap:1.5rem;display:flex}@media (width<=768px){.nav-links.desktop-only{display:none}}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}@media (width<=768px){.mobile-menu-btn{display:block}}.main-content{flex:1;padding:2rem 1rem}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);padding:1.5rem}.card:hover{box-shadow:var(--shadow-sm);border-color:#4b5563}.grid{gap:1.5rem;display:grid}@media (width>=640px){.grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:1rem;font-size:.875rem;display:flex}.alert-error{color:var(--accent-secondary);background-color:#ff7b721a;border:1px solid #ff7b724d}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:.125rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-agape{color:var(--accent-primary);background-color:#58a6ff26;border:1px solid #58a6ff4d}.badge-agency{color:var(--accent-success);background-color:#2ea04326;border:1px solid #2ea0434d}.chip{background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition);border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.chip:hover{color:var(--accent-secondary);cursor:pointer;background-color:#ff7b721a;border-color:#ff7b724d}.popover{z-index:50;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:200px;padding:.5rem;animation:.15s ease-out slideUp;position:absolute;top:calc(100% + .5rem);right:0}.popover-item{cursor:pointer;transition:var(--transition);color:var(--text-primary);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.popover-item:hover{background-color:var(--bg-surface-hover)}@media (width<=1023px){.mobile-hidden{display:none!important}}@media (width>=1024px){.desktop-hidden{display:none!important}}@media (width<=768px){.filter-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0006;position:fixed;inset:0}.filter-popover{max-height:80vh;overflow-y:auto;z-index:101!important;border-radius:var(--radius-md)!important;width:90vw!important;max-width:400px!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.filter-popover-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem .5rem .5rem;display:flex}.filter-popover-header h3{color:var(--text-inverse);font-size:1.1rem}}input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer;width:1rem;height:1rem}.table-header-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.table-header-sortable:hover{color:var(--text-primary)}@media (width<=1023px){.desktop-only-table{display:none!important}}@media (width>=1024px){.mobile-only-grid{display:none!important}}.mobile-card-grid,.booking-card-grid,.customer-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.booking-card{background-color:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer;flex-direction:column;padding:1.25rem;display:flex}.booking-card:hover{background-color:var(--bg-surface-hover);box-shadow:var(--shadow-md);border-color:#4b5563;transform:translateY(-2px)}.header-tenant-link{transition:opacity .2s}.header-tenant-link:hover{opacity:.8}.app-shell{background-color:var(--bg-color);height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-surface);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;width:16.25rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.main-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.scroll-area{flex:1;overflow-y:auto}@media (width<=1023px){.sidebar{height:100vh;box-shadow:var(--shadow-xl);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;position:fixed;inset:0}}.mobile-close-btn,.mobile-trigger-btn{cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}@media (width<=1023px){.mobile-close-btn,.mobile-trigger-btn{display:flex}}.sidebar-header{justify-content:flex-end;min-height:48px;padding:.5rem;display:flex}@media (width>=1024px){.sidebar-header{display:none!important}}.sidebar-content{flex-direction:column;flex:1;display:flex;overflow:hidden auto}.nav-links{flex-direction:column;gap:0;width:100%;padding:0;list-style:none;display:flex}.nav-section-title{text-transform:uppercase;letter-spacing:.12em;width:100%;color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-color);margin:1.25rem 0 .5rem;padding:.75rem 2rem .5rem;font-size:.65rem;font-weight:700;display:block}.nav-section-title:first-child{margin-top:.5rem}.nav-link{color:var(--text-secondary);transition:var(--transition);align-items:center;gap:.75rem;width:100%;padding:.8rem 2rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-link:hover{background-color:var(--bg-surface-hover)}.nav-link.active{color:var(--accent-primary);background-color:#3b82f614}.nav-link.active:before{content:"";background-color:var(--accent-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:0}.breadcrumbs{color:var(--text-secondary);align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.82rem;display:none}@media (width>=1024px){.breadcrumbs{display:flex}}.breadcrumbs a{color:var(--text-secondary);text-decoration:none;transition:color .15s}.breadcrumbs a:hover{color:var(--accent-primary);text-shadow:none;text-decoration:none}.breadcrumbs .breadcrumb-separator{color:var(--text-secondary);opacity:.6;flex-shrink:0}.page-header-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:1rem;padding:0;font-size:.9rem;font-weight:500;display:inline-flex}@media (width>=1024px){.page-header-back--mobile-only{display:none}}.customer-card{background-color:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.customer-card:hover{background-color:var(--bg-surface-hover);box-shadow:var(--shadow-md);border-color:#4b5563;transform:translateY(-2px)}.customer-card__name{color:var(--text-inverse);margin:0;font-size:1rem;font-weight:600}.customer-card__meta{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.location-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);margin-bottom:1rem;overflow:hidden}.location-panel:hover{border-color:#4b5563}.location-panel__header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.location-panel__header:hover{background-color:var(--bg-surface-hover)}.location-panel__title{color:var(--text-inverse);align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;display:flex}.location-panel__actions{align-items:center;gap:.5rem;display:flex}.location-panel__body{padding:0 1.25rem 1.25rem}.location-panel__address{color:var(--text-secondary);align-items:flex-start;gap:.4rem;margin-bottom:1rem;font-size:.85rem;display:flex}.contact-row{border-radius:var(--radius-sm);transition:var(--transition);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.contact-row:hover{background-color:var(--bg-surface-hover)}.contact-row__info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.contact-row__name{color:var(--text-inverse);font-size:.9rem;font-weight:500}.contact-row__detail{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.contact-row__detail span+span:before{content:"·";margin-right:.35rem}.contact-row__actions{flex-shrink:0;gap:.35rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background-color:#0000008c;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:520px;max-height:90vh;padding:0;animation:.2s ease-out slideUp;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-header h2{color:var(--text-inverse);font-size:1.25rem;font-weight:600;margin:0!important}.modal-body{flex:1;min-height:0;padding:2rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:#0000000d;flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;display:flex}[data-theme=light] .modal-footer{background:#00000005}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.icon-btn--danger:hover{color:var(--accent-secondary);background-color:#ff7b721a}.empty-state{text-align:center;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state__icon{background:#58a6ff1a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;display:flex;box-shadow:0 0 30px #58a6ff26}.empty-state h3{color:var(--text-inverse);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);max-width:360px;margin-bottom:1.25rem}.skeleton{background:linear-gradient(90deg, var(--bg-surface-hover) 25%, var(--bg-surface) 50%, var(--bg-surface-hover) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-row{border-radius:var(--radius-sm);height:48px;margin-bottom:.5rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.nav-badge{background:var(--accent-secondary);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.file-upload-area{border:2px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg-input);padding:2rem 1.5rem}.file-upload-area:hover{border-color:var(--accent-primary);background:#3b82f608}.file-upload-area--active{border-color:var(--accent-primary);background:#3b82f60f;box-shadow:0 0 0 3px #58a6ff26}.file-upload-area__icon{background:#58a6ff1a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto .75rem;display:flex}.file-upload-area__text{color:var(--text-secondary);margin-bottom:.25rem;font-size:.9rem}.file-upload-area__hint{color:var(--text-secondary);opacity:.7;font-size:.78rem}.file-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.file-list__item{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.file-list__item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-list__item-size{color:var(--text-secondary);flex-shrink:0;font-size:.75rem}.rejection-banner{border-radius:var(--radius-sm);color:var(--accent-secondary);background:#ef44440f;border:1px solid #ef444433;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:1rem 1.25rem;font-size:.85rem;display:flex}.rejection-banner__title{margin-bottom:.25rem;font-weight:600}.rejection-banner__reason{color:var(--text-primary);font-style:italic}.submission-timeline{border-left:2px solid var(--border-color);flex-direction:column;gap:0;margin-top:.5rem;padding-left:1rem;display:flex}.submission-timeline__entry{padding:.5rem 0 .5rem 1rem;font-size:.82rem;position:relative}.submission-timeline__entry:before{content:"";background:var(--border-color);border:2px solid var(--bg-surface);border-radius:50%;width:10px;height:10px;position:absolute;top:.75rem;left:-1.35rem}.submission-timeline__entry--pending:before{background:#ca8a04}.submission-timeline__entry--approved:before{background:var(--accent-success)}.submission-timeline__entry--rejected:before{background:var(--accent-secondary)}.submission-timeline__date{color:var(--text-secondary);font-size:.75rem}.document-preview{flex-direction:column;gap:.75rem;display:flex}.document-preview__card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.document-preview__card:hover{border-color:var(--accent-primary);background:var(--bg-surface-hover)}.document-preview__icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.document-preview__icon--pdf{color:#dc2626;background:#ef44441a}.document-preview__icon--image{color:var(--accent-primary);background:#3b82f61a}.document-preview__info{flex:1;min-width:0}.document-preview__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.document-preview__type{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem}.upload-guidance{border-radius:var(--radius-sm);color:var(--text-secondary);background:#3b82f60d;border:1px solid #3b82f626;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.review-action-footer{background:var(--bg-surface);border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md);justify-content:flex-end;gap:.75rem;margin:2rem -1rem -1rem;padding:1.25rem 2rem;display:flex;position:sticky;bottom:0}.btn-approve{background:linear-gradient(135deg, var(--accent-success), #10b981);color:#fff;border:none;box-shadow:0 4px 14px #10b9814d}.btn-approve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.btn-reject{color:var(--accent-secondary);background:#ef44441a;border:1px solid #ef44444d}.btn-reject:hover:not(:disabled){background:#ef444426;transform:translateY(-1px)}.btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;box-shadow:0 4px 14px #dc26264d}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #dc262666}.review-split-layout{grid-template-columns:1fr;align-items:start;gap:2rem;display:grid}@media (width>=1024px){.review-split-layout{grid-template-columns:minmax(400px,1fr) 1.25fr}}.doc-viewer{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);flex-direction:column;height:100%;min-height:500px;max-height:calc(100vh - 6rem);display:flex;position:sticky;top:2rem;overflow:hidden}.doc-viewer__header{background:var(--bg-surface-hover);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem;display:flex}.doc-viewer__content{background:var(--bg-color);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.doc-viewer__content img,.doc-viewer__content iframe{object-fit:contain;border:none;width:100%;max-width:100%;height:100%;max-height:100%}.doc-viewer__footer{background:var(--bg-surface-hover);border-top:1px solid var(--border-color);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;display:flex}.doc-viewer__nav{align-items:center;gap:.5rem;display:flex}@keyframes ai-blink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-thinking-dots{align-items:center;gap:3px;display:inline-flex}.ai-thinking-dots span{font-size:1.25rem;line-height:1;animation:1.4s ease-in-out infinite both ai-blink}.ai-thinking-dots span:first-child{animation-delay:0s}.ai-thinking-dots span:nth-child(2){animation-delay:.2s}.ai-thinking-dots span:nth-child(3){animation-delay:.4s}.test-mode-toggle{border:1px solid var(--border-color);min-height:44px;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-family:inherit;font-size:.7rem;font-weight:700;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.test-mode-toggle.active{border-color:var(--test-border);background:var(--test-tint);color:var(--test-text)}.test-mode-toggle__switch{background:var(--border-color);border-radius:9999px;flex:none;width:30px;height:16px;transition:background-color .2s;position:relative}.test-mode-toggle__switch:after{content:"";background:var(--bg-surface);border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:2px;left:2px}.test-mode-toggle.active .test-mode-toggle__switch{background:var(--test-solid)}.test-mode-toggle.active .test-mode-toggle__switch:after{background:#fff;transform:translate(14px)}.test-mode-toggle__label--long{display:none}.test-mode-toggle__label--short{display:inline}@media (width>=1024px){.test-mode-toggle__label--long{display:inline}.test-mode-toggle__label--short{display:none}}
