:root{color:#2c2524;background:#fbf7f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(188,140,144,.16),transparent 34%),linear-gradient(135deg,#fbf7f0,#f3ebe2)}.welcome-card{width:min(100%,560px);padding:40px;border:1px solid rgba(90,68,64,.1);border-radius:24px;background:#fffcf7d6;box-shadow:0 24px 64px #46322e1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.eyebrow{margin:0 0 18px;color:#bc8c90;font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;color:#312827;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;letter-spacing:0}.subtitle{margin:18px 0 28px;color:#6d5d59;font-size:1.08rem;line-height:1.6}.api-pill{display:inline-flex;max-width:100%;padding:10px 14px;border-radius:999px;color:#5e4648;background:#bc8c9029;font-size:.92rem;overflow-wrap:anywhere}@media(max-width:520px){.app-shell{padding:20px}.welcome-card{padding:28px;border-radius:18px}}.manager-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;color:#302826;background:linear-gradient(180deg,#fffdfaf0,#fbf6f0fa),#fbf6f0}.manager-login-panel{width:min(100%,430px);display:grid;gap:22px;padding:32px;border:1px solid rgba(181,144,130,.16);border-radius:18px;background:#fffdfafa;box-shadow:0 20px 46px #43302b1a,inset 0 1px #fffc}.manager-login-brand{display:inline-flex;align-items:center;gap:10px}.manager-login-brand img{width:38px;height:38px;object-fit:contain}.manager-login-brand span{color:#302826;font-size:1.02rem;font-weight:640}.manager-login-heading{display:grid;gap:7px}.manager-login-heading p{width:fit-content;margin:0;padding:5px 10px;border-radius:999px;color:#52735b;background:#52735b1a;font-size:.72rem;font-weight:640;letter-spacing:.04em;text-transform:uppercase}.manager-login-heading h1{margin:0;color:#231d1b;font-size:clamp(1.9rem,5vw,2.35rem);font-weight:600;line-height:1.12}.manager-login-heading span{max-width:34ch;color:#70625d;font-size:.95rem;line-height:1.45}.manager-login-form{display:grid;gap:14px}.manager-login-form label{display:grid;gap:7px}.manager-login-form label span{color:#675b55;font-size:.82rem;font-weight:600}.manager-login-form input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(181,144,130,.2);border-radius:12px;color:#302826;background:#fffdfa;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.manager-login-form input:focus{border-color:#52735b7a;background:#fff;box-shadow:0 0 0 4px #7c9e8329}.manager-login-message{margin:0;padding:10px 12px;border:1px solid rgba(191,116,104,.22);border-radius:14px;color:#8b5149;background:#f7dfda;font-size:.84rem;font-weight:600;line-height:1.35}.manager-login-message-warning{border-color:#9a6b2d38;color:#8a632d;background:#fff0d8}.manager-login-form button{min-height:50px;margin-top:4px;border:1px solid rgba(82,115,91,.16);border-radius:12px;color:#fffdfa;background:#52735b;box-shadow:0 12px 22px #52735b2e,inset 0 1px #fff3;font-weight:650;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.manager-login-form button:hover:not(:disabled){background:#496b52;box-shadow:0 16px 30px #52735b42,inset 0 1px #ffffff38}.manager-login-form button:active:not(:disabled){transform:translateY(1px) scale(.99);box-shadow:0 8px 18px #52735b33,inset 0 2px 5px #1e2d222e}.manager-login-form button:disabled{cursor:not-allowed;opacity:.58}@media(max-width:520px){.manager-login-shell{align-items:stretch;padding:18px}.manager-login-panel{align-self:center;padding:24px;border-radius:18px}.manager-login-heading h1{font-size:2rem}}.preview-role-switcher{display:grid;gap:5px;width:100%;padding:12px;border:1px solid rgba(201,145,157,.22);border-radius:18px;color:#3f3733;background:linear-gradient(135deg,#fffdfbf5,#fcf3f5bd),#fffdfb;box-shadow:0 12px 28px #44302a13}.preview-role-switcher span{width:fit-content;padding:4px 8px;border-radius:999px;color:#a96f7d;background:#fcf3f5e6;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.preview-role-switcher strong{overflow:hidden;color:#332c29;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.preview-role-switcher em{color:#a96f7d;font-size:11px;font-style:normal;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.preview-role-switcher small{overflow:hidden;color:#8a7b74;font-size:11.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.preview-role-switcher select{width:100%;min-height:38px;margin-top:4px;padding:0 10px;border:1px solid rgba(238,227,220,.95);border-radius:13px;color:#675b55;background:#ffffffdb;font-size:12px;font-weight:760;outline:none}.preview-role-switcher select:focus{border-color:#c9919d7a;box-shadow:0 0 0 4px #c9919d1f}.preview-portal-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(201,145,157,.13),transparent 28%),linear-gradient(135deg,#fbf7f3,#faf4ee)}.preview-role-switcher-overlay{position:fixed;top:16px;right:16px;z-index:9999;width:min(294px,calc(100vw - 32px));pointer-events:auto}.preview-role-switcher-overlay .preview-role-switcher{border-color:#c9919d5c;background:linear-gradient(135deg,#fffdfbfa,#fcf3f5e0),#fffdfb;box-shadow:0 22px 54px #44302a2e,0 0 0 1px #ffffff9e}.preview-portal-switcher{position:sticky;top:0;z-index:40;display:flex;justify-content:center;padding:10px 14px;border-bottom:1px solid rgba(238,227,220,.78);background:#fffdfbe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.preview-portal-switcher .preview-role-switcher{width:min(100%,420px)}.preview-mobile-placeholder-stage{display:grid;min-height:calc(100vh - 94px);place-items:center;padding:18px}.preview-mobile-phone-shell{display:grid;width:min(100%,420px);min-height:min(720px,calc(100vh - 132px));place-items:center;padding:24px;border:9px solid #171313;border-radius:48px;background:radial-gradient(circle at 8% 0%,rgba(201,130,145,.1),transparent 28%),linear-gradient(180deg,#fffefd,#fbf7f3);box-shadow:0 34px 90px #3a2d2a38,inset 0 0 0 1px #ffffffb8}.preview-mobile-placeholder-card{display:grid;gap:14px;max-width:320px;padding:24px;border:1px solid rgba(238,227,220,.92);border-radius:28px;background:#fffdfbe6;box-shadow:0 18px 42px #44302a14;text-align:center}.preview-mobile-placeholder-card p{margin:0;color:#a96f7d;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.preview-mobile-placeholder-card h1{margin:0;color:#332c29;font-family:Playfair Display,Georgia,serif;font-size:32px;line-height:1.05}.preview-mobile-placeholder-card span{color:#675b55;font-size:14px;line-height:1.5}.preview-mobile-placeholder-card button{min-height:44px;border:0;border-radius:15px;color:#fffaf7;background:linear-gradient(135deg,#cf8da0,#a96f7d);box-shadow:0 16px 30px #a96f7d38;font-weight:800;cursor:pointer}@media(max-width:520px){.preview-role-switcher-overlay{top:8px;right:8px;left:8px;width:auto}.preview-role-switcher-overlay .preview-role-switcher{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 8px;padding:9px}.preview-role-switcher-overlay .preview-role-switcher span{grid-column:1}.preview-role-switcher-overlay .preview-role-switcher em,.preview-role-switcher-overlay .preview-role-switcher strong,.preview-role-switcher-overlay .preview-role-switcher small{display:none}.preview-role-switcher-overlay .preview-role-switcher select{grid-column:2;margin-top:0}.preview-portal-switcher{padding:8px}.preview-mobile-placeholder-stage{min-height:calc(100vh - 88px);padding:0}.preview-mobile-phone-shell{min-height:calc(100vh - 88px);border:0;border-radius:0}}.preview-role-switcher-overlay-desktop{top:12px;right:18px;width:min(286px,calc(100vw - 36px))}@media(max-width:720px){.preview-role-switcher-overlay .preview-role-switcher,.preview-portal-switcher,.manager-mobile-bottom-nav,.inspector-bottom-nav,.cleaner-bottom-nav,.client-bottom-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.preview-role-switcher-overlay .preview-role-switcher{background:#fffdfbfa!important;box-shadow:0 10px 22px #44302a1a!important}.manager-mobile-bottom-nav,.inspector-bottom-nav,.cleaner-bottom-nav,.client-bottom-nav{background:#fffdfafa!important}.manager-mobile-shell,.inspector-phone-shell,.cleaner-phone-shell,.client-phone-shell{box-shadow:0 18px 44px #3a2d2a29,inset 0 0 0 1px #ffffffa3!important}}.preview-role-switcher-overlay-desktop .preview-role-switcher{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 9px;padding:9px 10px;border-radius:16px}.preview-role-switcher-overlay-desktop .preview-role-switcher span{grid-column:1}.preview-role-switcher-overlay-desktop .preview-role-switcher em,.preview-role-switcher-overlay-desktop .preview-role-switcher strong,.preview-role-switcher-overlay-desktop .preview-role-switcher small{display:none}.preview-role-switcher-overlay-desktop .preview-role-switcher select{grid-column:2;min-height:34px;margin-top:0}.preview-portal-shell *,.preview-role-switcher-overlay *{-webkit-tap-highlight-color:transparent}.preview-portal-shell *,.preview-role-switcher-overlay .preview-role-switcher{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.preview-portal-shell .manager-mobile-screen,.preview-portal-shell .inspector-screen,.preview-portal-shell .cleaner-screen,.preview-portal-shell .client-screen{-webkit-overflow-scrolling:touch;isolation:isolate;overscroll-behavior-y:contain;overflow-anchor:none;scroll-behavior:auto;touch-action:pan-y}.preview-portal-shell button,.preview-portal-shell [role=button],.preview-portal-shell a,.preview-portal-shell input,.preview-portal-shell select,.preview-portal-shell textarea{touch-action:manipulation}.preview-role-switcher-overlay .preview-role-switcher,.preview-portal-shell .preview-role-switcher,.preview-portal-shell .manager-mobile-bottom-nav,.preview-portal-shell .inspector-bottom-nav,.preview-portal-shell .cleaner-bottom-nav,.preview-portal-shell .client-bottom-nav{background:#fffdfafa!important}.preview-portal-shell .manager-mobile-shell,.preview-portal-shell .inspector-phone-shell,.preview-portal-shell .cleaner-phone-shell,.preview-portal-shell .client-phone-shell{box-shadow:0 16px 36px #3a2d2a24,inset 0 0 0 1px #ffffffa3!important}.preview-portal-shell .manager-mobile-task-card,.preview-portal-shell .inspector-task-card,.preview-portal-shell .inspector-schedule-card,.preview-portal-shell .active-task-card,.preview-portal-shell .completed-today-card,.preview-portal-shell .shift-card,.preview-portal-shell .summary-chip,.preview-portal-shell .client-request-card{contain:layout style;cursor:pointer;touch-action:manipulation}.preview-portal-shell .manager-mobile-task-card,.preview-portal-shell .manager-mobile-schedule-card,.preview-portal-shell .manager-mobile-completed-today-item,.preview-portal-shell .manager-mobile-detail-item,.preview-portal-shell .manager-mobile-notification-card,.preview-portal-shell .manager-mobile-message-card,.preview-portal-shell .manager-mobile-message-summary-card,.preview-portal-shell .manager-mobile-decision-card,.preview-portal-shell .manager-mobile-issue-card,.preview-portal-shell .manager-mobile-supply-card,.preview-portal-shell .manager-mobile-client-request-card,.preview-portal-shell .manager-mobile-reservation-card,.preview-portal-shell .inspector-task-card,.preview-portal-shell .inspector-schedule-card,.preview-portal-shell .inspector-summary-card,.preview-portal-shell .inspector-priority-card,.preview-portal-shell .inspector-alert-card,.preview-portal-shell .inspector-problem-card,.preview-portal-shell .inspector-notification-card,.preview-portal-shell .inspector-message-card,.preview-portal-shell .active-task-card,.preview-portal-shell .history-task-card,.preview-portal-shell .completed-today-card,.preview-portal-shell .completed-today-item,.preview-portal-shell .cleaner-notification-row,.preview-portal-shell .cleaner-profile-card,.preview-portal-shell .client-request-card,.preview-portal-shell .client-request-card-detailed,.preview-portal-shell .client-conversation-card,.preview-portal-shell .client-notification-card,.preview-portal-shell .client-detail-card,.preview-portal-shell .client-field-card,.preview-portal-shell .client-profile-card,.preview-portal-shell .client-calendar-card{contain:layout paint style;content-visibility:auto;contain-intrinsic-size:1px 160px}.preview-portal-shell .manager-mobile-screen>section,.preview-portal-shell .inspector-screen>section,.preview-portal-shell .cleaner-screen>section,.preview-portal-shell .client-screen>section,.preview-portal-shell .manager-mobile-list,.preview-portal-shell .manager-mobile-schedule-list,.preview-portal-shell .manager-mobile-schedule-timeline,.preview-portal-shell .manager-mobile-schedule-cleaner-list,.preview-portal-shell .manager-mobile-task-list,.preview-portal-shell .manager-mobile-message-list,.preview-portal-shell .manager-mobile-decision-grid,.preview-portal-shell .inspector-schedule-list,.preview-portal-shell .inspector-task-list,.preview-portal-shell .cleaner-task-list,.preview-portal-shell .task-card-stack,.preview-portal-shell .client-request-list,.preview-portal-shell .client-message-list{content-visibility:auto;contain-intrinsic-size:1px 420px}.preview-portal-shell img{backface-visibility:hidden}.preview-portal-shell .manager-mobile-task-card img,.preview-portal-shell .inspector-task-card img,.preview-portal-shell .active-task-card img,.preview-portal-shell .history-task-card img,.preview-portal-shell .client-request-card img{contain:paint}@media(hover:none),(pointer:coarse){.preview-portal-shell .manager-mobile-screen *,.preview-portal-shell .inspector-screen *,.preview-portal-shell .cleaner-screen *,.preview-portal-shell .client-screen *{animation-duration:.12s!important;transition-duration:90ms!important}.preview-portal-shell .manager-mobile-kpi,.preview-portal-shell .manager-mobile-task-card,.preview-portal-shell .manager-mobile-more-indicators,.preview-portal-shell .manager-mobile-message-summary-card,.preview-portal-shell .inspector-summary-card,.preview-portal-shell .inspector-schedule-card,.preview-portal-shell .inspector-task-card,.preview-portal-shell .summary-chip,.preview-portal-shell .active-task-card,.preview-portal-shell .history-summary-card,.preview-portal-shell .history-task-card,.preview-portal-shell .client-request-card,.preview-portal-shell .client-filter-summary-card{box-shadow:0 8px 18px #44302a13!important}}@media(max-width:720px){.preview-portal-shell .manager-mobile-screen *,.preview-portal-shell .inspector-screen *,.preview-portal-shell .cleaner-screen *,.preview-portal-shell .client-screen *{animation-duration:.12s!important;transition-duration:90ms!important}.preview-portal-shell .manager-mobile-kpi,.preview-portal-shell .manager-mobile-task-card,.preview-portal-shell .manager-mobile-more-indicators,.preview-portal-shell .manager-mobile-message-summary-card,.preview-portal-shell .inspector-summary-card,.preview-portal-shell .inspector-schedule-card,.preview-portal-shell .inspector-task-card,.preview-portal-shell .summary-chip,.preview-portal-shell .active-task-card,.preview-portal-shell .history-summary-card,.preview-portal-shell .history-task-card,.preview-portal-shell .client-request-card,.preview-portal-shell .client-filter-summary-card{box-shadow:0 8px 18px #44302a13!important}}
