:root { --ink:#17211e; --muted:#718078; --line:#e6eae7; --soft:#f7f8f6; --paper:#fff; --green:#246a4d; --green-dark:#18523b; --mint:#e9f5ef; --amber:#b76b17; --amber-bg:#fff4e4; --red:#b94d48; --red-bg:#fceceb; --blue:#376d95; --blue-bg:#eaf3fa; }
.company-logo{overflow:hidden}.company-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
* { box-sizing:border-box; } body { margin:0; background:var(--soft); color:var(--ink); font:14px/1.45 Manrope, sans-serif; } button,input,select { font:inherit; } button { cursor:pointer; }
.app-shell { display:flex; min-height:100vh; } .sidebar { position:fixed; inset:0 auto 0 0; width:258px; display:flex; flex-direction:column; background:#193b30; color:#d7e6de; padding:25px 16px 16px; z-index:2; }
.brand { display:flex; align-items:center; gap:10px; color:white; font-size:20px; font-weight:800; letter-spacing:-1px; text-decoration:none; padding:0 12px 30px; }.brand>span:last-child>span { color:#83d5ae; }.brand-mark { display:grid; width:30px;height:30px;place-items:center;border-radius:9px;background:#84d4ae;color:#183a2e;font-family:Georgia,serif;font-weight:700;font-size:24px; }
.nav { display:flex; flex-direction:column; gap:3px; }.nav-label { color:#91aaa0; text-transform:uppercase; letter-spacing:1.05px; font-size:10px; font-weight:700; margin:4px 12px 9px; }.nav-gap{ margin-top:23px; }.nav-item { position:relative; display:flex; align-items:center; gap:12px; min-height:40px; padding:9px 12px; border-radius:8px; color:#c2d3cb; text-decoration:none; font-size:13px; font-weight:600; }.nav-item:hover{background:#254c3e;color:white}.nav-item.active { background:#315c4b;color:#fff; }.nav-item svg { width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none; }.nav-count { margin-left:auto; color:#b4c9bd; background:#396453;border-radius:9px;padding:1px 7px;font:11px DM Mono,monospace; }.nav-dot { margin-left:auto;width:6px;height:6px;border-radius:50%;background:#e2b669; }.sidebar-footer { margin-top:auto; border-top:1px solid #34594a; padding-top:15px; }.company-switcher,.user-card{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:#eef6f2;text-align:left;padding:7px 5px;}.company-switcher small,.user-card small { display:block;color:#9eb6ab;font-size:10px;margin-top:1px; }.company-switcher b,.user-card b{font-size:11px}.company-logo {width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:#f0d096;color:#594414;font:bold 14px Georgia,serif}.company-switcher svg{margin-left:auto;width:15px;stroke:#a2baae;fill:none}.user-card{margin-top:8px;padding-top:14px;border-top:1px solid #34594a}.icon-button{margin-left:auto;border:0;background:transparent;color:inherit;padding:5px}.icon-button svg{width:17px;stroke:currentColor;fill:none}
.main-content { margin-left:258px; width:calc(100% - 258px); min-height:100vh; padding:32px 42px 60px; max-width:1700px; }.topbar { display:flex;align-items:center;justify-content:space-between;margin-bottom:31px; }.eyebrow { color:var(--muted); font-size:12px; margin:0 0 4px; }.page-title { margin:0;color:#14201c;font-size:26px;letter-spacing:-1.1px; }.topbar-actions {display:flex;align-items:center;gap:10px}.period {color:var(--muted);font:12px DM Mono,monospace;margin-right:8px}.button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid var(--line);border-radius:7px;background:white;padding:0 13px;color:#35413c;font-size:12px;font-weight:700}.button:hover{border-color:#abc6b9}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:var(--green-dark)}.button svg{width:15px;height:15px;stroke:currentColor;fill:none}.button:focus,input:focus,select:focus{outline:3px solid #c5ead7;outline-offset:1px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:27px}.stat-card{background:white;border:1px solid var(--line);border-radius:10px;padding:17px 18px;min-height:112px}.stat-head{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:700}.stat-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--mint);color:var(--green)}.stat-icon svg{width:15px;stroke:currentColor;fill:none}.stat-value{margin:12px 0 3px;font-size:23px;letter-spacing:-1px;font-weight:800}.stat-note{color:var(--muted);font-size:10px}.stat-note strong{color:var(--green);font-weight:800}.stat-note.warning strong{color:var(--amber)}
.content-grid {display:grid;grid-template-columns:minmax(0,1.53fr) minmax(290px,.78fr);gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 13px}.panel-title{margin:0;font-size:14px;letter-spacing:-.2px}.panel-subtitle{margin:3px 0 0;color:var(--muted);font-size:11px}.text-link{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:800;padding:4px}.text-link:hover{text-decoration:underline}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;text-align:left}.data-table th{padding:10px 20px;border-bottom:1px solid var(--line);color:#839087;font-size:10px;text-transform:uppercase;letter-spacing:.75px;font-weight:800;white-space:nowrap}.data-table td{padding:12px 20px;border-bottom:1px solid #f0f2f0;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#f9fbf9}.employee-cell{display:flex;align-items:center;gap:9px}.employee-name{font-weight:700;font-size:12px}.employee-meta{color:var(--muted);font-size:10px;margin-top:1px}.avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-weight:800;font-size:11px;color:#fff;width:32px;height:32px}.avatar-sm{width:27px;height:27px;font-size:9px}.avatar-maya{background:#a34b6e}.avatar-a{background:#2d7358}.avatar-b{background:#a76a47}.avatar-c{background:#52789e}.avatar-d{background:#957056}.avatar-e{background:#9a5871}.badge{display:inline-flex;align-items:center;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap}.badge.green{background:var(--mint);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.gray{background:#eef1ef;color:#66736c}.more-row{padding:10px 20px;border-top:1px solid var(--line);text-align:center}.activity-list{padding:1px 20px 10px}.activity{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #f0f2f0}.activity:last-child{border:0}.activity-icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:var(--soft);color:var(--green)}.activity-icon svg{width:14px;stroke:currentColor;fill:none}.activity-body{font-size:11px;color:#38463f}.activity-body b{color:var(--ink)}.activity-time{color:#8b9790;font-size:10px;margin-top:2px}.alert-box{display:flex;gap:12px;margin:18px 20px 20px;padding:13px;border:1px solid #f2d8ad;border-radius:8px;background:#fffaf0}.alert-symbol{font-size:16px;color:var(--amber)}.alert-box b{display:block;font-size:11px}.alert-box p{margin:2px 0 0;color:#806b45;font-size:10px}.payroll-card{padding:17px 20px 20px;margin-top:18px}.payroll-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:13px}.payroll-total{font:20px DM Mono,monospace;font-weight:500;letter-spacing:-1px}.progress{height:5px;background:#e8efeb;border-radius:5px;margin-top:13px;overflow:hidden}.progress>span{display:block;background:#4f9a76;width:83%;height:100%;border-radius:5px}
.page-hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-hero p{max-width:580px;color:var(--muted);margin:5px 0 0;font-size:12px}.toolbar{display:flex;gap:10px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.search-wrap{position:relative;flex:1}.search-wrap svg{position:absolute;left:10px;top:10px;width:15px;stroke:#8c9992;fill:none}.search{width:100%;height:35px;padding:0 10px 0 31px;border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:11px}.filter{height:35px;border:1px solid var(--line);border-radius:7px;background:white;color:#536059;padding:0 25px 0 10px;font-size:11px}.table-panel .data-table td{padding-top:13px;padding-bottom:13px}.actions-cell{display:flex;justify-content:flex-end}.row-action{width:28px;height:28px;border:0;background:transparent;color:#65736b;border-radius:6px}.row-action:hover{background:#edf3ef;color:var(--green)}.row-action svg{width:15px;stroke:currentColor;fill:none}.mono{font:11px DM Mono,monospace;color:#59675f}.empty-icon{display:grid;place-items:center;width:40px;height:40px;margin:30px auto 10px;border-radius:50%;background:var(--mint);color:var(--green)}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.side-filter{padding:18px}.filter-title{margin:0 0 14px;font-size:12px}.filter-group{border-top:1px solid var(--line);padding:15px 0}.filter-group h4{margin:0 0 9px;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.check{display:flex;align-items:center;gap:8px;padding:5px 0;color:#4d5b54;font-size:11px}.check input{accent-color:var(--green)}.metric-list{padding:0 19px 17px}.metric{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0ee}.metric:last-child{border-bottom:0}.metric span:first-child{color:#647168;font-size:11px}.metric strong{font:13px DM Mono,monospace;color:#26342e}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.report-card{padding:19px;min-height:172px}.report-card .stat-icon{margin-bottom:15px}.report-card h3{margin:0;font-size:13px}.report-card p{min-height:34px;color:var(--muted);font-size:11px;margin:6px 0 14px}.report-card .button{width:100%}
.modal-backdrop{position:fixed;inset:0;background:rgba(17,36,28,.35);z-index:4;backdrop-filter:blur(2px)}.modal{position:fixed;z-index:5;top:50%;left:50%;width:min(485px,calc(100vw - 32px));transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(20,44,32,.26)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px;margin:0}.modal-body{padding:20px 22px}.modal-body p{color:var(--muted);font-size:12px;margin:0 0 16px}.field{display:block;margin-bottom:13px}.field span{display:block;font-size:10px;color:#526058;font-weight:800;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 10px;font-size:12px;color:var(--ink);resize:vertical}.modal-foot{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding:15px 22px}.toast{position:fixed;z-index:7;right:22px;bottom:22px;padding:12px 15px;border-radius:8px;background:#183d30;color:#fff;box-shadow:0 8px 25px #0002;font-size:12px;font-weight:700;transform:translateY(90px);opacity:0;transition:.25s}.toast.show{transform:translateY(0);opacity:1}
.auth-shell{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;padding:32px;background:radial-gradient(circle at 14% 14%,#d8f2e3 0,transparent 31%),radial-gradient(circle at 88% 82%,#d9eee3 0,transparent 27%),linear-gradient(135deg,#103c2c 0%,#1c6548 52%,#eaf5ee 52%,#f7faf8 100%);overflow:hidden}.auth-shell::before,.auth-shell::after{content:"";position:absolute;z-index:-1;border:1px solid #ffffff35;border-radius:50%}.auth-shell::before{width:520px;height:520px;top:-280px;left:-170px}.auth-shell::after{width:680px;height:680px;right:-410px;bottom:-430px}.auth-card{width:min(100%,460px);padding:42px;background:#fff;border:1px solid #ffffffaa;border-radius:20px;box-shadow:0 30px 80px rgba(8,38,26,.28)}.auth-card .brand{display:inline-flex;color:var(--ink);padding:0;font-size:22px}.auth-card .brand-mark{width:36px;height:36px;border-radius:11px;font-size:28px}.auth-card h1{margin:38px 0 8px;font-size:31px;letter-spacing:-1.35px;line-height:1.13}.auth-card>p{margin:0 0 28px;color:#627168;font-size:14px;line-height:1.55}.auth-card form{padding:22px;margin:0 -8px 22px;border:1px solid #e6eee9;border-radius:12px;background:#fbfdfb}.auth-card .field{margin-bottom:17px}.auth-card .field span{font-size:11px;color:#42534a}.auth-card .field input{min-height:45px;padding:11px 12px;border-color:#d6e2db;background:#fff;font-size:13px}.auth-card .button{width:100%;min-height:46px;margin-top:3px;border-radius:9px;font-size:13px}.auth-card #login-status{min-height:19px;margin:12px 0 0;text-align:center;color:var(--red);font-size:11px}.auth-card> .panel-subtitle:last-child{text-align:center;font-size:12px}.workspace-notice{display:none;margin:-10px 0 20px;padding:11px 13px;border-radius:8px;background:#edf5f0;color:#205f41;font-size:12px;font-weight:700}.workspace-notice:not(:empty){display:block}.workspace-notice.warning{background:var(--amber-bg);color:var(--amber)}.workspace-notice.error{background:var(--red-bg);color:var(--red)}
.setup-gate{max-width:1040px;margin:18px auto}.setup-intro{max-width:720px;margin:12px 0 32px}.setup-kicker{display:inline-block;margin-bottom:12px;padding:5px 9px;border-radius:99px;background:var(--mint);color:var(--green);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.setup-intro h1{margin:0;font-size:34px;letter-spacing:-1.5px;line-height:1.15}.setup-intro>p{margin:12px 0 18px;color:#607168;font-size:14px;line-height:1.6}.setup-steps{display:flex;flex-wrap:wrap;gap:9px}.setup-steps span{padding:7px 11px;border-radius:7px;background:#eef1ef;color:#67756d;font-size:11px;font-weight:700}.setup-steps span.done{background:var(--mint);color:var(--green)}.setup-steps span.done::before{content:'✓ ';font-weight:900}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-card{padding:27px}.setup-card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:19px;border-radius:9px;background:var(--mint);color:var(--green);font-weight:800}.setup-card h2{margin:0 0 7px;font-size:19px;letter-spacing:-.5px}.setup-card>p{margin:0 0 20px;color:#68776f;font-size:12px;line-height:1.55}.setup-card .field{margin-top:16px}.setup-card .button{min-height:40px}.provider-help{width:100%;margin:2px 0 8px;border-color:#b9d8c7;color:var(--green);background:#f4fbf6}.setup-hint{min-height:36px!important;padding:9px 11px;border-left:3px solid #74bd97;background:#f5faf7;color:#53675c!important;font-size:11px!important}.setup-logo-preview{display:block;max-width:100%;width:82px;height:82px;margin:0 0 16px;object-fit:contain;border:1px solid var(--line);border-radius:11px;background:#fff}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.split-layout{grid-template-columns:1fr}.sidebar{width:225px}.main-content{margin-left:225px;width:calc(100% - 225px);padding:27px}.side-filter{display:none}}@media(max-width:720px){.sidebar{position:static;width:100%;min-height:auto;padding:15px;}.app-shell{display:block}.sidebar .nav,.sidebar-footer{display:none}.brand{padding:0}.main-content{margin:0;width:100%;padding:22px 15px}.topbar,.page-hero{align-items:flex-start;gap:14px}.topbar{flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.stat-grid,.report-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:100px}.period{display:none}.toolbar{flex-wrap:wrap}.filter{flex:1}.page-hero{flex-direction:column}.data-table th,.data-table td{padding-left:12px;padding-right:12px}.hide-mobile{display:none}}
@media(max-width:720px){.setup-grid{grid-template-columns:1fr}.setup-intro h1{font-size:29px}}@media(max-width:520px){.auth-shell{padding:18px;background:linear-gradient(155deg,#123f2e,#eaf5ee)}.auth-card{padding:29px 22px;border-radius:16px}.auth-card h1{margin-top:30px;font-size:27px}.auth-card form{padding:17px;margin-left:0;margin-right:0}.setup-card{padding:21px}}
