:root{
  --rseg-red:#f5222d;
  --rseg-red-dark:#c81720;
  --rseg-red-soft:#fff0f1;
  --rseg-black:#0d0d0f;
  --rseg-graphite:#18181b;
  --rseg-graphite-2:#232327;
  --rseg-gray:#6c7179;
  --rseg-muted:#92969d;
  --rseg-bg:#f4f5f7;
  --rseg-card:#ffffff;
  --rseg-border:#e6e8ec;
  --rseg-white:#ffffff;
  --rseg-success:#15805d;
  --rseg-success-soft:#eaf8f2;
  --rseg-warning:#b36a00;
  --rseg-warning-soft:#fff6df;
  --rseg-danger:#b42318;
  --rseg-blue:#245ca6;
  --sidebar-w:272px;
  --topbar-h:74px;
  --radius:16px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 1px 4px rgba(15,23,42,.03);
  --shadow:0 14px 34px rgba(16,16,18,.08);
  --shadow-lg:0 24px 60px rgba(16,16,18,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;min-height:100%;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:var(--rseg-bg);color:#19191c;-webkit-font-smoothing:antialiased}
body{min-width:320px}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
img{max-width:100%}

/* App shell */
.app-shell{min-height:100vh;display:flex}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(9,9,11,.5);backdrop-filter:blur(2px);z-index:39}
.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,#101012 0%,#151517 56%,#0d0d0f 100%);color:#fff;position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;border-right:1px solid #27272a;box-shadow:8px 0 30px rgba(0,0,0,.08)}
.brand{min-height:92px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.07);gap:14px}
.brand-mark{width:43px;height:43px;display:grid;place-items:center;position:relative;border-radius:13px;background:linear-gradient(145deg,var(--rseg-red),#b9121b);box-shadow:0 10px 24px rgba(245,34,45,.24);transform:skewX(-6deg)}
.brand-mark:before,.brand-mark:after,.brand-mark span:before{content:"";position:absolute;background:#fff;border-radius:2px}
.brand-mark:before{width:18px;height:6px;left:11px;top:10px;transform:skewX(6deg)}
.brand-mark:after{width:7px;height:23px;left:11px;top:10px;transform:skewX(6deg)}
.brand-mark span:before{width:17px;height:6px;left:-3px;top:7px;transform:rotate(45deg) skewX(6deg);transform-origin:left center}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-text{font-size:30px;font-weight:900;letter-spacing:1.3px}.brand-text span{color:var(--rseg-red)}
.brand-sub{display:block;font-size:8.5px;color:#929298;letter-spacing:2.25px;margin-top:6px;font-weight:700}
.nav{padding:18px 13px 22px;overflow:auto;scrollbar-width:thin;scrollbar-color:#333 transparent}
.nav-title{font-size:9.5px;text-transform:uppercase;letter-spacing:1.65px;color:#73737b;padding:15px 12px 7px;font-weight:800}
.nav a{position:relative;display:flex;gap:12px;align-items:center;color:#c9c9cf;padding:11px 12px;border-radius:11px;margin:3px 0;font-size:13.5px;font-weight:650;transition:.18s ease}
.nav a:hover{background:#222226;color:#fff;transform:translateX(1px)}
.nav a.active{background:linear-gradient(90deg,rgba(245,34,45,.18),rgba(245,34,45,.04));color:#fff;box-shadow:inset 3px 0 0 var(--rseg-red)}
.nav a.active:after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:var(--rseg-red);box-shadow:0 0 0 4px rgba(245,34,45,.12)}
.nav-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#f0525a;background:rgba(255,255,255,.045);font-size:13px;font-weight:900;flex:0 0 24px}
.nav a.active .nav-icon{background:rgba(245,34,45,.16);color:#ff6870}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.07);padding:14px}
.sidebar-user{padding:10px;border-radius:13px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:10px}
.avatar,.topbar-user span,.mini-avatar{display:grid;place-items:center;border-radius:50%;font-weight:900}
.avatar{width:36px;height:36px;background:#2a2a2f;color:#fff;border:1px solid #39393f}
.sidebar-user-copy{min-width:0;flex:1}.sidebar-user-copy small{display:block;color:#898990;font-size:10px;margin-bottom:2px}.sidebar-user-copy strong{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-link{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#aaa;background:#242428;font-size:22px;line-height:1}
.app-version{font-size:9px;color:#5f5f65;text-align:center;margin-top:10px;letter-spacing:.8px;text-transform:uppercase}

.content-wrap{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-height:100vh}
.topbar{height:var(--topbar-h);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--rseg-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}
.topbar-left{display:flex;align-items:center;gap:12px}.topbar-left>div{display:flex;flex-direction:column}
.mobile-toggle{display:none;background:var(--rseg-black);color:#fff;border:0;border-radius:10px;width:42px;height:42px;font-size:18px}
.topbar-eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--rseg-red);font-weight:900;line-height:1.2}.topbar-title{font-weight:800;font-size:14px;line-height:1.45}
.topbar-meta{display:flex;gap:9px;align-items:center}
.topbar-date{font-size:11px;color:#7a7e85;text-transform:capitalize;padding:0 5px}
.topbar-user{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f2f3f5;border:1px solid #e1e3e7}.topbar-user span{width:28px;height:28px;background:#1d1d21;color:#fff;font-size:11px}
.connection-pill{height:30px;display:inline-flex;align-items:center;gap:7px;border:1px solid #e6e7ea;border-radius:999px;padding:0 10px;background:#fff;font-size:10.5px;color:#656970;font-weight:700}.status-dot{width:7px;height:7px;border-radius:50%;background:#1aa373;box-shadow:0 0 0 3px rgba(26,163,115,.11)}.connection-pill.offline .status-dot{background:#c65f14;box-shadow:0 0 0 3px rgba(198,95,20,.12)}
.content{padding:28px 30px 42px;max-width:1680px;margin:auto}

/* Generic UI */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.page-title h1{font-size:27px;letter-spacing:-.55px;margin:0 0 5px}.page-title p{margin:0;color:var(--rseg-gray);font-size:13px}
.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}
.btn-primary{background:linear-gradient(135deg,var(--rseg-red),#e1121d);color:#fff;box-shadow:0 7px 17px rgba(245,34,45,.18)}.btn-primary:hover{background:linear-gradient(135deg,#ff303b,var(--rseg-red-dark))}
.btn-dark{background:var(--rseg-black);color:#fff}.btn-light{background:#fff;border:1px solid var(--rseg-border);color:#222}.btn-light:hover{border-color:#cfd2d7;box-shadow:var(--shadow-sm)}
.btn-ghost{background:#f5f5f7;border:1px solid transparent;color:#414147}.btn-ghost:hover{background:#ececef}
.btn-light-on-dark{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(8px)}.btn-light-on-dark:hover{background:rgba(255,255,255,.14)}
.btn-install{background:#18181b;color:#fff;border:1px solid #29292e}.btn-install:before{content:"↓";font-size:13px;color:#ff646d}.btn-danger{background:#fff0f0;color:var(--rseg-danger);border:1px solid #ffd0d0}.btn-success{background:#eaf7ef;color:var(--rseg-success);border:1px solid #cdebd8}.btn-sm{padding:7px 10px;font-size:11.5px;border-radius:8px}
.card{background:var(--rseg-card);border:1px solid var(--rseg-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.card-head{padding:16px 18px;border-bottom:1px solid var(--rseg-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2,.card-head h3{font-size:15px;margin:0}.card-body{padding:18px}
.card-head-rich{padding:19px 20px}.card-head-rich h2{font-size:17px;letter-spacing:-.25px;margin:2px 0 0}.card-head-rich p{font-size:11.5px;color:#83878e;margin:5px 0 0}.section-kicker{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:var(--rseg-red);font-weight:900}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th{font-size:10px;text-transform:uppercase;color:#747880;letter-spacing:.65px;text-align:left;background:#fafafa;border-bottom:1px solid var(--rseg-border);padding:12px 14px;white-space:nowrap}.table td{border-bottom:1px solid #f0f1f3;padding:12px 14px;font-size:12.5px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-modern tbody tr{transition:.15s}.table-modern tbody tr:hover{background:#fbfbfc}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10.5px;font-weight:850;text-transform:capitalize}.badge-red{background:#fff0f1;color:#c71a25}.badge-dark{background:#ededee;color:#333}.badge-green{background:#eaf7ef;color:#167347}.badge-yellow{background:#fff7df;color:#946000}.badge-blue{background:#eaf3ff;color:#245ca6}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field label{font-size:11.5px;font-weight:850;display:block;margin-bottom:6px;color:#33343a}.field input,.field select,.field textarea{width:100%;border:1px solid #d9dce1;background:#fff;border-radius:10px;padding:10px 11px;outline:none;transition:.16s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rseg-red);box-shadow:0 0 0 3px rgba(245,31,43,.09)}.field textarea{min-height:90px;resize:vertical}.field.full{grid-column:1/-1}.help{font-size:10.5px;color:#777;margin-top:5px}.form-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.alert{padding:13px 15px;border-radius:11px;margin-bottom:18px;font-size:12.5px;box-shadow:var(--shadow-sm)}.alert-success{background:#edf9f4;color:#12633f;border:1px solid #cce9d7}.alert-danger{background:#fff1f1;color:#a11d25;border:1px solid #f3c9cc}.alert ul{margin:6px 0 0 18px;padding:0}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:15px}.filter-bar .field{min-width:180px}.empty{text-align:center;color:#868a91;padding:34px;display:flex;flex-direction:column;align-items:center;gap:4px}.empty strong{color:#4c4f55}.empty small{font-size:11px}.empty-icon{width:40px;height:40px;border-radius:12px;background:#f2f3f5;display:grid;place-items:center;color:#9a9da4;margin-bottom:6px}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:18px}.summary-list{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:15px;padding-bottom:9px;border-bottom:1px dashed #e3e3e3}.summary-row:last-child{border-bottom:0}.money{font-weight:850;color:#171719}.money.red{color:var(--rseg-red)}.muted{color:#777}.text-right{text-align:right}.big-inline-number{font-size:30px;line-height:1;letter-spacing:-1px}

/* Dashboard */
.dashboard-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#111114 0%,#1b1b1f 57%,#2a1114 100%);border:1px solid #26262b;border-radius:22px;padding:28px 30px;color:#fff;min-height:168px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;box-shadow:0 18px 48px rgba(15,15,17,.14)}
.dashboard-hero-copy{position:relative;z-index:2;max-width:760px}.hero-kicker{font-size:9px;letter-spacing:2px;color:#ff626a;font-weight:900}.dashboard-hero h1{font-size:31px;letter-spacing:-.8px;margin:7px 0 7px}.dashboard-hero p{margin:0;color:#bcbcc1;font-size:13px;line-height:1.6}.hero-actions{position:relative;z-index:2;display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.hero-glow{position:absolute;right:-95px;top:-150px;width:410px;height:410px;border-radius:50%;border:100px solid rgba(245,34,45,.09);transform:rotate(-10deg)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--rseg-border);border-radius:16px;padding:18px 18px 17px;box-shadow:var(--shadow-sm);min-height:154px}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#333}.metric-card.accent-red:before{background:var(--rseg-red)}.metric-card.accent-warning:before{background:#e38b12}.metric-card.accent-green:before{background:#18a476}.metric-card.accent-dark:before{background:#25252a}.metric-card.accent-red-soft:before{background:#ff5e68}.metric-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.metric-icon{width:34px;height:34px;border-radius:10px;background:#f4f4f6;display:grid;place-items:center;font-size:14px;font-weight:900;color:#29292e}.accent-red .metric-icon,.accent-red-soft .metric-icon{background:#fff0f1;color:var(--rseg-red)}.accent-warning .metric-icon{background:var(--rseg-warning-soft);color:var(--rseg-warning)}.accent-green .metric-icon{background:var(--rseg-success-soft);color:var(--rseg-success)}.metric-chip{font-size:9px;font-weight:850;color:#8a8d94;background:#f6f6f8;padding:5px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.45px}.metric-label{color:#696d74;font-size:10.5px;text-transform:uppercase;letter-spacing:.65px;font-weight:800}.metric-value{font-size:28px;font-weight:900;letter-spacing:-.8px;margin-top:6px;line-height:1.15}.money-value{font-size:25px}.metric-note{font-size:10.5px;color:#8a8d94;margin-top:5px;line-height:1.4}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(310px,.95fr);gap:18px;align-items:start}.dashboard-main-column,.dashboard-side-column{min-width:0}.dashboard-side-column{display:grid;gap:18px}.dashboard-card{overflow:hidden}.date-inline{display:inline-flex;align-items:baseline;gap:5px}.date-inline strong{font-size:17px;letter-spacing:-.5px}.date-inline span{font-size:9px;font-weight:900;color:#8c9097}.person-cell{display:flex;align-items:center;gap:9px}.mini-avatar{width:27px;height:27px;background:#f0f1f3;color:#494b50;font-size:9px;border:1px solid #e1e3e7}
.progress-group+.progress-group{margin-top:22px}.progress-label{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:#60636a}.progress-label strong{font-size:12px;color:#1d1e22}.progress-track{height:7px;background:#f0f1f3;border-radius:999px;overflow:hidden;margin:9px 0 7px}.progress-track span{height:100%;display:block;background:linear-gradient(90deg,var(--rseg-red),#ff5962);border-radius:999px;min-width:0}.progress-track.dark span{background:linear-gradient(90deg,#1a1a1d,#45454b)}.progress-detail{display:flex;justify-content:space-between;gap:10px;color:#8a8e95;font-size:9.5px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid #eee}.mini-stats div{background:#f7f7f8;border-radius:10px;padding:11px}.mini-stats span{display:block;font-size:9.5px;color:#858990;text-transform:uppercase}.mini-stats strong{display:block;font-size:18px;margin-top:3px}
.team-split{display:grid;grid-template-columns:1fr 1fr;gap:9px}.team-split>div{border:1px solid #ececef;border-radius:11px;padding:11px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.team-split span:not(.team-dot){font-size:10.5px;color:#6d7077}.team-dot{width:8px;height:8px;border-radius:50%}.team-dot.fixed{background:var(--rseg-red)}.team-dot.temp{background:#25252a}.team-bar{height:7px;background:#27272b;border-radius:999px;margin:13px 0 15px;overflow:hidden}.team-bar span{display:block;height:100%;background:var(--rseg-red);border-radius:999px}.text-link{font-size:10.5px;font-weight:850;color:#555860}.text-link:hover{color:var(--rseg-red)}
.quick-actions-card{background:#161619;border-radius:16px;padding:18px;color:#fff;box-shadow:var(--shadow)}.quick-actions-card .section-kicker{display:block;margin-bottom:12px}.quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-actions-grid a{background:#202024;border:1px solid #2a2a30;border-radius:11px;padding:11px;display:grid;grid-template-columns:28px 1fr;column-gap:7px;align-items:center;transition:.16s}.quick-actions-grid a:hover{border-color:#44444a;background:#25252a;transform:translateY(-1px)}.quick-actions-grid a>span{grid-row:1/3;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(245,34,45,.12);color:#ff5c64;font-weight:900}.quick-actions-grid strong{font-size:11px}.quick-actions-grid small{font-size:9px;color:#89898f;margin-top:2px}

/* Collaborator dashboard */
.collaborator-hero{background:linear-gradient(120deg,#111114 0%,#19191d 63%,#321014 100%)}
.next-service-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--rseg-border);border-radius:17px;padding:17px 19px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.next-service-date{width:62px;border-radius:13px;background:#151518;color:#fff;text-align:center;padding:8px 5px}.next-service-date span,.next-service-date small{display:block;font-size:8px;font-weight:900;letter-spacing:.8px;color:#a7a7ac}.next-service-date strong{display:block;font-size:27px;line-height:1.05;margin:2px 0;color:#fff}.next-service-main h2{font-size:18px;margin:3px 0 5px}.next-service-meta{display:flex;gap:11px;align-items:center;font-size:11px;color:#777}.next-service-meta strong{color:#242529;font-size:12px}.next-service-value{text-align:right;padding-left:18px;border-left:1px solid #eee}.next-service-value span,.next-service-value small{display:block;color:#83878e;font-size:9.5px}.next-service-value strong{display:block;font-size:20px;margin:4px 0;color:#171719}.empty-next{display:block;padding:22px}.empty-next h2{margin:5px 0;font-size:18px}.empty-next p{margin:0;font-size:11px}.weekly-services{display:grid;gap:9px}.service-day{background:#fff;border:1px solid var(--rseg-border);border-radius:11px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:14px}.service-day-modern{border-color:#eceef1;background:#fbfbfc}.service-main{display:flex;gap:13px;align-items:center}.date-box{width:48px;text-align:center;background:#fff;border:1px solid #eceef1;border-radius:10px;padding:6px}.date-box strong{font-size:18px;display:block}.date-box small{text-transform:uppercase;color:#777;font-size:8px;font-weight:900}.service-time{font-weight:850;font-size:12px}.service-day .muted{font-size:10.5px;margin-top:2px}.portal-links{display:grid;gap:6px}.portal-links>a{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid #eceef1;border-radius:11px;padding:10px;transition:.15s}.portal-links>a:hover{border-color:#d8dade;background:#fafafa}.portal-link-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f4f4f6;color:var(--rseg-red);font-weight:900}.portal-links strong{display:block;font-size:11.5px}.portal-links small{display:block;color:#8a8e95;font-size:9.5px;margin-top:2px}.portal-links b{font-size:20px;color:#a1a4aa}.pwa-promo-card{background:linear-gradient(140deg,#1b1b1f,#111114);border:1px solid #28282d;border-radius:16px;padding:17px;color:#fff;display:flex;gap:13px;align-items:flex-start}.pwa-promo-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:var(--rseg-red);display:grid;place-items:center;font-weight:950;font-size:22px;box-shadow:0 8px 22px rgba(245,34,45,.25)}.pwa-promo-card h3{margin:4px 0;font-size:15px}.pwa-promo-card p{margin:0;color:#98989e;font-size:10.5px;line-height:1.45}

/* Login */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#111}.login-brand{position:relative;overflow:hidden;padding:70px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(150deg,#19191b 0%,#101011 62%,#2b0709 100%);color:#fff}.login-brand:after{content:"";position:absolute;width:360px;height:360px;border:90px solid rgba(245,31,43,.13);border-radius:50%;right:-130px;top:-120px}.login-logo{font-size:62px;font-weight:900;letter-spacing:2px}.login-logo span{color:var(--rseg-red)}.login-brand p{max-width:540px;color:#c6c6c9;line-height:1.6}.login-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:35px}.login-card{width:100%;max-width:420px}.login-card h1{font-size:28px;margin:0 0 8px}.login-card>p{color:#767980;margin:0 0 26px}.login-card .field{margin-bottom:15px}.login-card .btn{width:100%;margin-top:8px;padding:12px}

/* Receipt + misc */
.print-only{display:none}.receipt{max-width:840px;margin:auto;background:#fff;border:1px solid #ddd;padding:36px}.receipt-header{display:flex;justify-content:space-between;border-bottom:3px solid var(--rseg-red);padding-bottom:20px;margin-bottom:24px}.receipt-logo{font-size:34px;font-weight:900}.receipt-logo span{color:var(--rseg-red)}.pagination{display:flex;gap:5px;margin-top:15px}.pagination a,.pagination span{padding:7px 10px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:12px}.pagination .active{background:var(--rseg-red);color:#fff;border-color:var(--rseg-red)}

/* PWA helper modal */
.pwa-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px}.pwa-modal[hidden]{display:none}.pwa-modal-backdrop{position:absolute;inset:0;background:rgba(8,8,10,.58);backdrop-filter:blur(4px)}.pwa-modal-card{position:relative;z-index:1;width:min(390px,100%);background:#fff;border-radius:20px;padding:27px;box-shadow:var(--shadow-lg);text-align:center}.pwa-modal-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:25px;color:#777;cursor:pointer}.pwa-modal-icon{width:58px;height:58px;border-radius:17px;background:var(--rseg-red);color:#fff;display:grid;place-items:center;font-size:29px;font-weight:950;margin:0 auto 13px}.pwa-modal-card h2{margin:0 0 7px;font-size:20px}.pwa-modal-card p{margin:0 0 18px;color:#777;font-size:12px;line-height:1.55}

@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions-card{grid-column:1/-1}}
@media(max-width:900px){:root{--sidebar-w:260px}.dashboard-hero{align-items:flex-start;flex-direction:column}.hero-actions{justify-content:flex-start}.next-service-card{grid-template-columns:auto 1fr}.next-service-value{grid-column:1/-1;text-align:left;border-left:0;border-top:1px solid #eee;padding:12px 0 0}.topbar-date{display:none}}
@media(max-width:760px){
  .sidebar{transform:translateX(-102%);transition:transform .23s ease}.sidebar.open{transform:translateX(0)}.sidebar-overlay.open{display:block}
  .content-wrap{margin-left:0;width:100%}.mobile-toggle{display:grid;place-items:center}.content{padding:18px 15px 34px}.topbar{padding:0 15px;height:66px}.topbar-eyebrow{display:none}.topbar-title{font-size:13px}.connection-pill{display:none}.topbar-user{display:none}.btn-install{font-size:10px;padding:7px 9px}.hide-mobile{display:none!important}
  .metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:140px;padding:15px}.metric-value{font-size:24px}.money-value{font-size:20px}.metric-note{font-size:9.5px}.metric-label{font-size:9.5px}
  .dashboard-hero{border-radius:17px;padding:22px 19px;min-height:auto;margin-bottom:12px}.dashboard-hero h1{font-size:25px}.dashboard-hero p{font-size:11.5px}.hero-actions{width:100%}.hero-actions .btn{flex:1;font-size:10.5px;padding:9px}.hero-glow{width:280px;height:280px;border-width:70px;right:-100px;top:-150px}
  .dashboard-grid{gap:12px}.dashboard-side-column{grid-template-columns:1fr;gap:12px}.quick-actions-card{grid-column:auto}.card-head-rich{padding:16px}.table th,.table td{padding:11px 12px}.table-modern{min-width:680px}
  .form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.page-title h1{font-size:23px}.two-col{grid-template-columns:1fr}.filter-bar .field{min-width:100%;flex:1}
  .login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:24px}.service-day{align-items:center}.next-service-card{gap:11px;padding:14px}.next-service-date{width:54px}.next-service-main h2{font-size:15px}.next-service-meta{align-items:flex-start;flex-direction:column;gap:3px}.collaborator-metrics{grid-template-columns:1fr 1fr}.team-split{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){.metric-grid,.collaborator-metrics{grid-template-columns:1fr}.metric-card{min-height:auto}.metric-top{margin-bottom:10px}.quick-actions-grid{grid-template-columns:1fr}.topbar-meta form{display:none}.topbar-meta{gap:5px}.service-day{align-items:flex-start;flex-direction:column}.next-service-card{grid-template-columns:1fr}.next-service-date{width:100%;display:flex;justify-content:flex-start;align-items:baseline;gap:7px;text-align:left;padding:10px 12px}.next-service-date strong{font-size:22px}.next-service-value{grid-column:auto}.content{padding-left:12px;padding-right:12px}}
@media(display-mode:standalone){.app-version:after{content:" · INSTALADO"}.topbar{padding-top:env(safe-area-inset-top);height:calc(var(--topbar-h) + env(safe-area-inset-top))}.sidebar{padding-top:env(safe-area-inset-top)}body{overscroll-behavior-y:none}}
@media print{.sidebar,.sidebar-overlay,.topbar,.page-head,.no-print{display:none!important}.content-wrap{margin:0;width:100%}.content{padding:0}.receipt{border:0;max-width:none}.print-only{display:block}}

/* RSEG 2.1.1 — detalhes de escala, pagamentos e assistente PWA */
body.modal-open{overflow:hidden}
.btn:disabled{opacity:.52;cursor:not-allowed;transform:none!important;box-shadow:none!important}

.schedule-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(120deg,#fff 0%,#fff 68%,#fff4f5 100%);border:1px solid var(--rseg-border);border-radius:18px;padding:23px 24px;margin-bottom:16px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.schedule-hero:after{content:"";position:absolute;width:180px;height:180px;border:45px solid rgba(245,34,45,.055);border-radius:50%;right:-68px;top:-100px;pointer-events:none}
.schedule-hero-main{min-width:0;flex:1;position:relative;z-index:1}.schedule-title-row{display:flex;align-items:flex-start;gap:12px;margin-top:5px}.schedule-title-row>div{min-width:0;flex:1}.schedule-title-row h1{font-size:27px;letter-spacing:-.55px;margin:0 0 5px}.schedule-title-row p{margin:0;color:var(--rseg-gray);font-size:12.5px}.schedule-status{margin-top:3px}
.schedule-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:20px}.schedule-meta>div{padding:10px 12px;border:1px solid #eceef1;border-radius:11px;background:rgba(255,255,255,.82)}.schedule-meta span{display:block;text-transform:uppercase;letter-spacing:.6px;color:#91959b;font-size:8.5px;font-weight:850;margin-bottom:4px}.schedule-meta strong{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}.schedule-metrics{margin-bottom:16px}.schedule-metrics .metric-card{min-height:142px}.schedule-services-card{overflow:hidden}.schedule-count{background:#f4f4f6;color:#65686e;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850}.schedule-table td:first-child strong{display:block}.table-sub{display:block;color:#8d9198;font-size:9px;text-transform:capitalize;margin-top:2px}.time-pill{display:inline-flex;padding:6px 8px;border-radius:8px;background:#f5f5f7;color:#29292d;font-weight:800;font-size:11px}.person-cell{display:flex;align-items:center;gap:8px}.person-cell .mini-avatar{width:27px;height:27px;background:#f2f2f4;color:#39393e;font-size:10px;border:1px solid #e6e7ea}.schedule-footer-actions{justify-content:flex-end}

.pix-ready,.pix-missing{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:850}.pix-ready{background:var(--rseg-success-soft);color:var(--rseg-success)}.pix-ready>span{width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:var(--rseg-success);color:#fff;font-size:8px}.pix-missing{background:#f3f3f5;color:#777b82}
.action-modal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:20px}.action-modal[hidden]{display:none!important}.action-modal-backdrop{position:absolute;inset:0;background:rgba(8,8,10,.62);backdrop-filter:blur(5px)}.action-modal-card{position:relative;z-index:1;width:min(470px,100%);background:#fff;border-radius:20px;padding:26px;box-shadow:var(--shadow-lg)}.action-modal-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:25px;color:#777;cursor:pointer}.action-modal-icon{width:50px;height:50px;border-radius:14px;background:var(--rseg-red);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:950;margin-bottom:13px}.action-modal-card h2{font-size:21px;margin:4px 0 7px;letter-spacing:-.3px}.action-modal-lead{margin:0 0 17px;color:#777b82;font-size:11.5px;line-height:1.55}.payment-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #eceef1;border-radius:13px;overflow:hidden;margin-bottom:17px}.payment-summary>div{padding:11px 12px;background:#fafafa;border-bottom:1px solid #eceef1}.payment-summary>div:nth-child(odd){border-right:1px solid #eceef1}.payment-summary>div:nth-last-child(-n+2){border-bottom:0}.payment-summary span{display:block;text-transform:uppercase;letter-spacing:.55px;color:#96999f;font-size:8px;font-weight:850;margin-bottom:4px}.payment-summary strong{display:block;font-size:11.5px;word-break:break-word}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.modal-warning{background:#fff7df;border:1px solid #f5df9c;color:#795300;border-radius:11px;padding:11px 12px;font-size:11px;line-height:1.5}

.pwa-assistant{width:min(520px,100%);text-align:left;padding:25px}.pwa-assistant-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.pwa-assistant-head .pwa-modal-icon{margin:0;flex:0 0 58px}.pwa-assistant-head h2{margin:3px 0 3px}.pwa-assistant-head p{margin:0}.pwa-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.pwa-check{display:flex;gap:8px;align-items:flex-start;border:1px solid #eceef1;background:#fafafa;border-radius:11px;padding:10px}.pwa-check-dot{width:18px;height:18px;flex:0 0 18px;border-radius:50%;display:grid;place-items:center;background:#e8e8eb;color:#777;font-size:13px;line-height:1}.pwa-check.ok .pwa-check-dot{background:#dcf5e9;color:#167347}.pwa-check.warn .pwa-check-dot{background:#fff2d5;color:#a76a00}.pwa-check strong{display:block;font-size:9.5px}.pwa-check small{display:block;font-size:8.5px;line-height:1.35;color:#858990;margin-top:2px}.pwa-instructions{border:1px solid #eceef1;border-radius:13px;padding:13px 14px;background:#fff;margin-bottom:12px}.pwa-step-label{display:block;text-transform:uppercase;letter-spacing:.8px;font-size:8.5px;font-weight:900;color:var(--rseg-red);margin-bottom:8px}.pwa-instructions ol{padding-left:18px;margin:0;display:grid;gap:6px}.pwa-instructions li{font-size:10.5px;color:#565a61;line-height:1.4;padding-left:2px}.pwa-native-ready{padding:10px 12px;border-radius:10px;background:var(--rseg-success-soft);color:#176a4a;font-size:10.5px;font-weight:750;margin-bottom:12px}.pwa-assistant-actions{display:flex;justify-content:flex-end;gap:8px}

@media(max-width:1050px){.schedule-hero{flex-direction:column}.schedule-actions{width:100%}.schedule-meta{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.schedule-title-row{flex-direction:column}.schedule-title-row h1{font-size:23px}.schedule-status{margin-top:0}.schedule-meta{grid-template-columns:1fr}.schedule-actions .btn{flex:1}.schedule-table{min-width:810px}.pwa-checks{grid-template-columns:1fr}.pwa-assistant{padding:21px}.payment-summary{grid-template-columns:1fr}.payment-summary>div:nth-child(odd){border-right:0}.payment-summary>div:nth-last-child(-n+2){border-bottom:1px solid #eceef1}.payment-summary>div:last-child{border-bottom:0}}
@media(max-width:430px){.schedule-actions{display:grid;grid-template-columns:1fr}.modal-actions,.pwa-assistant-actions{display:grid;grid-template-columns:1fr}.modal-actions .btn,.pwa-assistant-actions .btn{width:100%}.pwa-assistant-head{align-items:flex-start}.pwa-assistant-head .pwa-modal-icon{width:48px;height:48px;flex-basis:48px;font-size:23px}}

[hidden]{display:none!important}
