:root{--pink:#ed4f9a;--pink-dark:#d93583;--ink:#263238;--muted:#6c7480;--soft:#f7f3f6;--line:#e9e2e7;--sidebar:#fff;--bg:#fbf8fb}.login-body{min-height:100vh;background:radial-gradient(circle at 10% 15%,#ffd4e8 0 10%,transparent 20%),linear-gradient(135deg,#fa78b2,#f04f9b 48%,#d93684);display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,Arial,sans-serif;position:relative;overflow:hidden}.login-body:before,.login-body:after{content:"";position:absolute;width:340px;height:340px;background:repeating-radial-gradient(circle,#2b161f 0 7px,transparent 8px 26px);opacity:.14;transform:rotate(18deg);border-radius:40px}.login-body:before{top:-120px;left:-90px}.login-body:after{bottom:-120px;right:-80px}.login-card{width:min(430px,92vw);background:#fff;border-radius:28px;padding:42px;box-shadow:0 30px 90px rgba(60,18,42,.32);z-index:1;text-align:center}.login-logo{width:92px;height:92px;border-radius:28px;margin:0 auto 18px;background:linear-gradient(135deg,var(--pink),#ff91c5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:800}.login-card h1{font-size:28px;margin-bottom:4px;color:var(--ink)}.login-card p{color:var(--muted)}.form-control{border-radius:14px;border:1px solid var(--line);padding:12px 14px}.btn-pink{background:var(--pink);border-color:var(--pink);color:#fff;border-radius:14px;padding:12px 18px;font-weight:700}.btn-pink:hover{background:var(--pink-dark);border-color:var(--pink-dark);color:#fff}.app-shell{display:flex;min-height:100vh;background:var(--bg);font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink)}.sidebar{width:270px;background:var(--sidebar);border-right:1px solid var(--line);padding:18px;position:fixed;top:0;bottom:0;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand-mark{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--pink),#ff91c5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.brand small{display:block;color:var(--muted);font-size:12px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#4e5966;text-decoration:none;padding:11px 12px;border-radius:14px;margin-bottom:3px;font-weight:600;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#fff0f7;color:var(--pink-dark)}.main{margin-left:270px;flex:1}.topbar{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:3}.crumb{font-size:13px;color:var(--muted);margin-bottom:4px}.topbar h1{font-size:27px;margin:0}.user-pill{display:flex;align-items:center;gap:12px;background:#faf7fa;border:1px solid var(--line);padding:8px 10px;border-radius:18px}.user-pill small{color:var(--muted)}.content{padding:28px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(30,30,30,.03)}.stat-card .label{color:var(--muted);font-weight:700;font-size:13px}.stat-card .num{font-size:30px;font-weight:800;margin-top:8px}.stat-card .hint{font-size:12px;color:var(--muted)}.panel h3{font-size:18px;margin-bottom:16px}.table{vertical-align:middle}.badge{border-radius:999px;padding:7px 10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:#56616f;font-weight:700;font-size:13px}.tabs a.active{background:#fff0f7;color:var(--pink-dark);border-color:#ffc3df}.btn-outline-pink{border-color:#f3a5cb;color:var(--pink-dark);border-radius:12px;font-weight:700}.btn-outline-pink:hover{background:#fff0f7;color:var(--pink-dark)}.task-row{border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px;background:#fff;display:flex;justify-content:space-between;gap:16px}.muted{color:var(--muted)}@media(max-width:900px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.main{margin-left:0}.topbar{height:auto;padding:18px;gap:14px;align-items:flex-start;flex-direction:column}.content{padding:16px}.user-pill{width:100%;justify-content:space-between}}

/* =========================================================
   Payroll Module - Brittany Casanova mockup redesign
   ========================================================= */
.module-payroll{--bc-pink:#ec2d82;--bc-pink-dark:#d71d70;--bc-blush:#fff3f8;--bc-soft:#fdf8fb;--bc-black:#030303;--bc-gold:#d7b56d;--bc-line:#f0e4eb;--bc-text:#16151c;--bc-muted:#74717d;background:#fff7fb}.module-payroll .app-shell{background:#fff8fb}.module-payroll .sidebar{background:#030303;color:#fff;border-right:0;padding:0;width:285px;overflow:hidden}.module-payroll .brand{display:block;text-align:center;padding:24px 16px 18px;margin:0;min-height:168px;background:radial-gradient(circle at 30% 20%,rgba(236,45,130,.16),transparent 42%),#030303}.module-payroll .brand-mark{width:auto;height:auto;background:transparent;color:#f13b91;font-family:Georgia,serif;font-size:72px;line-height:.9;border-radius:0;text-shadow:0 0 18px rgba(236,45,130,.25)}.module-payroll .brand b{display:block;color:#fff;font-family:Georgia,serif;font-size:20px;letter-spacing:.5px;font-weight:400;margin-top:6px}.module-payroll .brand small{display:block;color:#fff;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:2px}.module-payroll .sidebar .brand:after{content:'❤';display:block;color:#ff2c85;margin-top:10px;font-size:18px}.module-payroll .sidebar nav{padding:0 0 180px}.module-payroll .sidebar nav a{color:#fff;border-radius:0;margin:0;padding:14px 25px;font-weight:650;font-size:15px}.module-payroll .sidebar nav a i{font-size:19px;width:23px}.module-payroll .sidebar nav a:hover{background:#141414;color:#fff}.module-payroll .sidebar nav a.active{background:linear-gradient(90deg,#ee2b83,#fa408f);color:#fff}.module-payroll .sidebar:after{content:'❤\A© 2024 Brittany Casanova\A Taxes & Financial Services';white-space:pre;position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#f32f87,#f93c91);color:#fff;text-align:center;padding:19px 18px 30px;font-size:13px;line-height:1.55;border-top:3px solid #f1d886}.module-payroll .main{margin-left:285px;background:#fff8fb}.module-payroll .topbar{height:72px;border:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);justify-content:flex-end;box-shadow:0 1px 0 rgba(0,0,0,.04)}.module-payroll .topbar>div:first-child{display:none}.module-payroll .user-pill{background:transparent;border:0;border-radius:0}.module-payroll .user-pill:before{content:'\F18A';font-family:'bootstrap-icons';font-size:22px;margin-right:15px;color:#171717}.module-payroll .user-pill:after{content:'5';width:20px;height:20px;border-radius:50%;background:#ec2d82;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;position:absolute;right:126px;top:17px}.module-payroll .user-pill span{font-weight:800}.module-payroll .user-pill small{text-transform:capitalize}.module-payroll .user-pill .btn{display:none}.module-payroll .content{padding:0 28px 34px;background:#fff8fb;position:relative}.module-payroll .payroll-wrap{position:relative;margin-top:-72px;padding-top:76px}.payroll-hero{position:absolute;left:-28px;right:-28px;top:0;height:78px;z-index:0;background:radial-gradient(circle at 18px 12px,#111 0 6px,transparent 7px),radial-gradient(circle at 42px 28px,#111 0 7px,transparent 8px),radial-gradient(circle at 70px 13px,#111 0 6px,transparent 7px),radial-gradient(circle at 102px 33px,#111 0 8px,transparent 9px),radial-gradient(circle at 133px 12px,#111 0 6px,transparent 7px),linear-gradient(135deg,#b98b62,#e5c59a 45%,#9b6c47);background-size:150px 62px,150px 62px,150px 62px,150px 62px,150px 62px,auto;border-bottom:5px solid #fb63a8;clip-path:ellipse(85% 100% at 26% 0)}.payroll-head{position:relative;z-index:1;padding:10px 0 14px}.payroll-head h1{font-size:30px;font-weight:850;margin:0;color:#17151c}.payroll-breadcrumb{display:flex;gap:9px;align-items:center;margin-top:8px;color:#706b78;font-size:13px}.payroll-breadcrumb span{color:#ec2d82;font-weight:700}.payroll-sync{box-shadow:0 10px 24px rgba(236,45,130,.22);border-radius:9px}.payroll-tabs{position:relative;z-index:1;display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--bc-line);padding-bottom:0;margin-bottom:20px;overflow:auto;white-space:nowrap}.payroll-tabs a{color:#16151c;text-decoration:none;font-weight:700;font-size:13px;padding:14px 0 15px;border-bottom:2px solid transparent}.payroll-tabs a i{margin-right:6px;color:#5c5a62}.payroll-tabs a.active{color:#ec2d82;border-bottom-color:#ec2d82}.payroll-tabs a.active i{color:#ec2d82}.payroll-kpis{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:18px;margin-bottom:20px}.payroll-kpi{background:#fff;border:1px solid var(--bc-line);border-radius:8px;min-height:104px;padding:18px 18px;display:flex;align-items:center;gap:17px;box-shadow:0 8px 24px rgba(26,11,18,.035)}.kpi-icon{width:62px;height:62px;border-radius:50%;background:#ec2d82;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;flex:0 0 auto}.payroll-kpi span{display:block;color:#5d5964;font-size:13px}.payroll-kpi strong{display:block;color:#111;font-size:21px;margin:2px 0 0;line-height:1.2}.payroll-kpi small{display:block;color:#111;font-size:13px}.payroll-grid{display:grid;grid-template-columns:1.2fr 1.1fr .98fr;grid-template-areas:'business schedule tasks' 'employees employees tasks' 'direct direct reminders';gap:18px}.payroll-card{background:#fff;border:1px solid var(--bc-line);border-radius:9px;padding:18px;box-shadow:0 8px 24px rgba(26,11,18,.035)}.card-business{grid-area:business}.card-schedule{grid-area:schedule}.card-tasks{grid-area:tasks}.card-employees{grid-area:employees}.card-direct{grid-area:direct}.card-reminders{grid-area:reminders}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-title h3{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:850;margin:0}.card-title h3 i{color:#ec2d82;font-size:21px}.link-pink{border:0;background:transparent;color:#ec2d82;font-weight:800;font-size:13px}.payroll-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px}.payroll-form-grid.single{grid-template-columns:1fr}.payroll-form-grid label{font-size:12px;color:#494651;font-weight:650}.payroll-form-grid .span-2{grid-column:1/-1}.fake-input{height:37px;border:1px solid #cfd1d6;border-radius:5px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;margin-top:7px;background:#fff;color:#121212;font-weight:500}.payroll-note{font-size:12px;color:#ec2d82;margin:12px 0 0}.payroll-task-line{display:grid;grid-template-columns:24px 1fr auto 22px;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #f1e7ec;background:transparent}.payroll-task-line b{display:block;font-size:13px}.payroll-task-line small{display:block;color:#5b5660;font-size:12px}.check-btn{width:18px;height:18px;border:1px solid #aeb4bd;background:#fff;border-radius:3px;color:transparent;display:flex;align-items:center;justify-content:center}.check-btn.done{background:#ec2d82;border-color:#ec2d82;color:#fff}.payroll-pill{border-radius:5px;padding:5px 10px;font-size:11px;font-weight:800}.payroll-pill.pink{background:#fff0f6;color:#ec2d82}.payroll-pill.amber{background:#fff7e8;color:#bd7b0a}.payroll-pill.green{background:#eaf8ef;color:#188a45}.payroll-pill.red{background:#ffe8ee;color:#c9144d}.view-link{display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:#ec2d82;text-decoration:none;font-weight:800;font-size:13px}.payroll-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.payroll-table th{background:#fff0f5;color:#28252d;font-weight:800;padding:10px 9px;border-bottom:1px solid #eadce3}.payroll-table td{padding:9px;border-bottom:1px solid #efe7ec;color:#15141a;vertical-align:middle}.payroll-table.compact th,.payroll-table.compact td{padding:10px 9px}.select-like{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:88px;border:1px solid #d9d9dd;border-radius:4px;padding:6px 8px;background:#fff;line-height:1}.status-pill{display:inline-block;border-radius:5px;padding:6px 11px;font-size:12px;font-weight:750}.status-pill.active{background:#e7f6ea;color:#198e45}.icon-action{border:0;background:transparent;color:#201d25;font-size:18px}.payroll-card-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:13px;font-size:13px;color:#4c4852}.payroll-card-footer a{color:#ec2d82;text-decoration:none;font-weight:800}.page-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;margin:0 4px;color:#555}.page-dot.active{background:#ec2d82;color:#fff}.reminder-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #f0e4eb;font-size:13px}.reminder-line b{font-weight:500;color:#14131a}.modal .modal-content{border:0;border-radius:18px;box-shadow:0 24px 90px rgba(20,15,19,.18)}.modal .modal-title{font-weight:850}.modal .form-label{font-weight:700;font-size:13px;color:#514d57}@media(max-width:1280px){.payroll-kpis{grid-template-columns:repeat(2,1fr)}.payroll-grid{grid-template-columns:1fr;grid-template-areas:'business' 'schedule' 'tasks' 'employees' 'direct' 'reminders'}}@media(max-width:900px){.module-payroll .sidebar{position:relative;width:100%;overflow:auto}.module-payroll .sidebar:after{position:relative;display:block}.module-payroll .main{margin-left:0}.module-payroll .content{padding:0 14px 24px}.module-payroll .topbar{height:auto}.module-payroll .payroll-wrap{margin-top:0;padding-top:80px}.payroll-kpis{grid-template-columns:1fr}.payroll-tabs{gap:18px}.payroll-form-grid{grid-template-columns:1fr}.payroll-card-footer{align-items:flex-start;flex-direction:column}}
.check-pill{display:block;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;font-weight:650;color:#4e5966}.check-pill input{margin-right:6px}.mini-card{border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;background:#fff}.progress{height:10px;border-radius:999px;background:#f3edf1}.progress-bar{background:var(--pink);border-radius:999px}.form-control-sm{padding:6px 8px;border-radius:10px}.bg-info{background:#e8f5ff!important;color:#1263a3!important}.bg-secondary{background:#f0f1f3!important;color:#47505a!important}.bg-primary{background:#e9efff!important;color:#2854bc!important}.bg-warning{background:#fff6e5!important;color:#b26b00!important}.bg-danger{background:#ffe8ef!important;color:#be164d!important}.bg-success{background:#e7f6ed!important;color:#198347!important}
