:root{color-scheme:light;--cream: #f4f3ee;--grey: #1f1f1f;--blue: #3e92cc;--text-body: #2a2a2a;--muted: #535353;--border: #e0ded9;--surface: #ffffff;font-family:Open Sans,Google Sans,system-ui,-apple-system,Segoe UI,sans-serif;background-color:var(--cream);color:var(--text-body)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--cream);color:var(--text-body);-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:min(420px,100%);background:var(--surface);border:none;border-radius:16px;padding:28px;box-shadow:0 16px 36px #00000014}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.loading-spinner{width:72px;height:72px}.sign-in-card{width:min(520px,100%);padding:44px 40px}.sign-in-title,.sign-in-description{text-align:center}.sign-in-description{margin-bottom:24px}.sign-in-layout{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(460px,100%)}h1{margin:6px 0 10px;font-size:clamp(26px,3vw,32px);color:var(--grey)}p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--blue);font-size:12px}.muted{color:var(--muted);line-height:1.5}.primary-button,.ghost-button{display:inline-flex;align-items:center;gap:8px;justify-content:center;width:100%;margin-top:18px;padding:12px 14px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:15px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease}.primary-button{background:#f4f3ee;color:var(--grey);box-shadow:0 12px 24px #00000014;border:none}.primary-button:hover{transform:translateY(-1px);box-shadow:0 18px 30px #0000001a}.primary-button:focus-visible,.ghost-button:focus-visible{outline:3px solid rgba(62,146,204,.35);outline-offset:3px}.ghost-button{background:transparent;color:var(--grey);border:1px solid var(--border)}.ghost-button:hover{background:#f7f6f2}.button-icon{display:inline-block;width:20px;height:20px}.sign-in-logo{display:block;margin-bottom:8px;margin-inline:auto;max-width:100%;height:auto}.user-panel{margin:16px 0 8px;padding:12px;border-radius:12px;background:#f9f8f5}.user-name{margin:4px 0;font-size:18px;font-weight:700;color:var(--grey)}.inline-field{display:flex;align-items:center;gap:8px;margin:16px 0 8px;padding:0;background:transparent}.inline-field__label,.inline-field__value{margin:0}.access-panel{background:#f8f7f3;border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px;width:750px;max-width:100%;margin:0 auto}.access-panel__header h2{margin:0 0 2px;font-size:22px}.access-panel__header .muted{font-size:14px}.general-panel{margin-top:6px}.access-stack{display:flex;flex-direction:column;gap:10px}.access-item{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 16px;box-shadow:0 12px 24px #0000000d;display:flex;flex-direction:column;gap:6px}.access-item__title{margin:0;font-weight:700;color:var(--grey);font-size:16px}.access-item__content{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:32px}.access-item__meta{margin:0;font-size:14px}.access-chips{display:flex;flex-wrap:wrap;gap:8px}.chip-plain{background:#f8f7f3;color:var(--grey);border-color:var(--border)}.access-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:750px;max-width:100%;margin:0 auto}.refresh-button{width:auto;min-width:0;margin-top:6px;padding-inline:14px}.error-text{margin-top:10px;color:#b42318;background:#fef3f2;border:1px solid #f3c4c1;border-radius:10px;padding:10px 12px}.error-code-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;margin:12px 0 16px;background:#f4f5fb;border:1px solid var(--border);border-radius:999px;color:var(--grey);font-weight:600}button{font-family:inherit}.dashboard-shell{align-items:flex-start;justify-content:flex-start;padding:24px 32px 32px;width:100%;overflow-x:auto}.dashboard-header{background:var(--surface);border-radius:18px;border:1px solid var(--border);padding:14px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;box-shadow:0 12px 28px #0000000f}.brand-group{display:flex;align-items:center;gap:10px}.header-logo{display:block;max-width:100%;height:auto}.user-actions{display:flex;align-items:center;gap:12px}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#f8f7f3;border:1px solid var(--border);overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-email{font-size:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:none;background:#f7f6f2;cursor:pointer;color:var(--grey);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #00000014;background:#efede6}.icon-button:focus-visible{outline:3px solid rgba(62,146,204,.35);outline-offset:3px}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 600,"GRAD" 0,"opsz" 24;font-size:22px;line-height:1}.dashboard-surface{width:100%;min-width:1000px;max-width:2000px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.dashboard-body{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start;width:100%}.dashboard-search{width:min(520px,100%)}.search-input{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:#f8f7f3;padding:10px 12px;border-radius:999px;box-shadow:inset 0 1px #ffffffb3}.table-toolbar .search-input{width:min(560px,100%)}.search-input input{flex:1;border:none;background:transparent;font-size:15px;outline:none;color:var(--text-body)}.search-input input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.search-input input::placeholder{color:#8c8c8c}.search-input .clear-search{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;cursor:pointer;color:#000}.search-input .clear-search:focus-visible{outline:3px solid rgba(62,146,204,.35);outline-offset:2px;border-radius:8px}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#f8f7f3;font-weight:600;font-size:14px;color:var(--grey)}.status-dot{width:10px;height:10px;border-radius:50%;background:#1fa05d;box-shadow:0 0 0 4px #1fa05d24}.side-menu{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 12px;box-shadow:0 12px 28px #0000000f}.side-menu-header{padding:6px 12px 10px}.side-menu-nav{display:flex;flex-direction:column;gap:6px}.menu-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:999px;color:var(--grey);text-decoration:none;font-weight:600;border:1px solid transparent;transition:background .12s ease,box-shadow .12s ease}.menu-link:hover{background:#f7f6f2}.menu-link.active{background:#ecf3fd;box-shadow:0 10px 18px #0000000f;color:var(--blue)}.menu-link.active .material-symbols-outlined{color:var(--blue)}.dashboard-main{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 28px #0000000f;min-height:520px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.content-placeholder{text-align:left;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.add-employee-form{align-items:stretch;gap:16px}.form-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.form-grid--single{grid-template-columns:1fr}.form-field{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:inset 0 1px #fff9}.form-label{font-weight:700;color:var(--grey);font-size:14px}.form-input{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:15px;background:#fff;color:var(--text-body);box-shadow:0 8px 16px #00000008;transition:border-color .12s ease,box-shadow .12s ease}.form-input:focus-visible{outline:3px solid rgba(62,146,204,.35);outline-offset:2px;border-color:#3e92cc8c;box-shadow:0 10px 18px #3e92cc14}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:4px}.checkbox-pill{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;font-weight:600;color:var(--grey);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.checkbox-pill:hover{background:#f6faff;border-color:#3e92cc59;box-shadow:0 10px 18px #3e92cc0f}.checkbox-pill input[type=checkbox]{width:18px;height:18px;accent-color:#3e92cc}.add-employee-actions{justify-content:flex-end;gap:12px}.add-employee-actions .primary-button,.add-employee-actions .ghost-button{width:auto;margin-top:0;padding-inline:18px}.breadcrumb{width:100%}.breadcrumb ol{display:flex;align-items:center;gap:10px;list-style:none;padding:0;margin:0;color:var(--grey);font-weight:600}.breadcrumb li{display:inline-flex;align-items:center;gap:8px}.breadcrumb-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.breadcrumb-link:hover{text-decoration:none}.breadcrumb-link:focus-visible{text-decoration:underline}.breadcrumb li:not(:last-child):after{content:"/";margin-left:10px;color:#b0b0b0}.breadcrumb-icon{font-size:18px;line-height:1}.workspace-heading{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}.workspace-heading__text h1{margin-top:2px;margin-bottom:6px;font-family:Google Sans Flex,Google Sans,Open Sans,system-ui,-apple-system,Segoe UI,sans-serif}.primary-button,.add-employee-button{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:999px;padding:12px 16px;background:#3e92cc;color:#fff;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 12px 24px #3e92cc2e;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.primary-button:hover,.add-employee-button:hover{transform:translateY(-1px);box-shadow:0 18px 30px #3e92cc33}.primary-button:focus-visible,.add-employee-button:focus-visible{outline:3px solid rgba(62,146,204,.35);outline-offset:3px}.sign-in-card .primary-button{background:#f4f3ee;color:var(--grey);box-shadow:0 12px 24px #00000014}.sign-in-card .primary-button:hover{transform:translateY(-1px);box-shadow:0 18px 30px #0000001a}.data-surface{width:100%;display:flex;flex-direction:column;gap:14px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;box-shadow:0 12px 24px #0000000f;overflow:hidden}.table-scroll{width:100%;overflow-x:auto}.table-placeholder{padding:24px;text-align:center;color:var(--muted);font-weight:600}.table-placeholder.error-state{color:#b00020}.skeleton-table tbody tr:hover{background:transparent}.skeleton-bar,.skeleton-chip{position:relative;display:block;overflow:hidden;background:#f0f1f5}.skeleton-bar:after,.skeleton-chip:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-bar{height:14px;border-radius:10px}.skeleton-bar--name{width:180px;height:16px}.skeleton-bar--email{width:220px}.skeleton-chip{width:120px;height:28px;border-radius:999px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table thead{background:#fff;text-align:left;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.data-table th,.data-table td{padding:12px 16px;border-bottom:1px solid var(--border)}.data-table tbody tr:hover{background:#fbfaf8}.primary-cell{display:flex;align-items:center;gap:8px}.cell-title{font-weight:700;color:var(--grey)}.cell-email{font-weight:600}.chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-weight:700;font-size:13px;border:1px solid transparent}.chip-editable{background:#ecf3fd;color:#1f5b99;border-color:#3e92cc59}.chip-readonly{background:#f0f1f5;color:#5f6368;border-color:#5f636840}.timezone-select{appearance:none;-webkit-appearance:none;border-radius:999px;padding:8px 38px 8px 14px;background:#ecf3fd;color:#1f5b99;border:1px solid rgba(62,146,204,.35);font-weight:700;font-size:13px;line-height:1.35;min-width:220px;box-shadow:0 10px 18px #3e92cc14;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%231f5b99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}.timezone-select:hover{box-shadow:0 12px 22px #3e92cc1f}.timezone-select:focus-visible{outline:3px solid rgba(62,146,204,.35);outline-offset:2px;border-color:#3e92cc8c}.chip-fte{background:#ecf3fd;color:#1f5b99;border-color:#3e92cc59}.chip-contractor{background:#fff4e6;color:#b25b13;border-color:#b25b134d}.role-chip{padding:8px 12px}.role-chip-admin{background:#ecf3fd;color:#1f5b99;border-color:#3e92cc59}.role-chip-user{background:#f0f1f5;color:#5f6368;border-color:#5f636840}.role-chip-default{background:#f8f7f3;color:#8c8c8c;border-color:var(--border)}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff;border-top:1px solid var(--border)}.table-footer .muted,.pagination-meta{display:inline-flex;align-items:center;height:44px}.pagination{display:flex;align-items:center;gap:10px}.pagination-button{width:44px;height:44px;padding:0;margin-top:0;border:none;background:transparent;box-shadow:none}.pagination-button:disabled{opacity:.6;cursor:not-allowed;background:#f1f0eb}.pagination-meta{font-weight:700;color:var(--grey)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
