:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f5f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.7}.login-page,.app-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-page{background:#f5f5f5}.login-card{background:#fff;border:1px solid #e5e5e5;border-radius:18px;width:min(100%,440px);padding:40px;box-shadow:0 18px 60px #0000001a}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;letter-spacing:.08em;background:#171717;border-radius:10px;place-items:center;width:44px;height:44px;font-size:14px;font-weight:800;display:grid}.brand-name,.brand-product{margin:0}.brand-name{font-size:15px;font-weight:700}.brand-product{color:#636363;margin-top:1px;font-size:13px}.login-heading{margin:40px 0 28px}.login-heading h1{letter-spacing:-.03em;margin:0;font-size:32px}.login-heading p{color:#636363;margin:10px 0 0;line-height:1.5}.login-form{gap:20px;display:grid}.login-form label{gap:8px;display:grid}.login-form label span{font-size:14px;font-weight:600}.login-form input{border:1px solid #bfbfbf;border-radius:9px;outline:none;width:100%;height:46px;padding:0 14px;transition:border-color .12s,box-shadow .12s}.login-form input:focus{border-color:#262626;box-shadow:0 0 0 3px #0000001f}.form-error{color:#a32929;background:#fff3f3;border:1px solid #f1b7b7;border-radius:9px;padding:12px 14px;font-size:14px}.primary-button,.secondary-button{border-radius:9px;height:44px;font-weight:700}.primary-button{color:#fff;background:#171717;border:0}.primary-button:hover:not(:disabled){background:#333}.secondary-button{color:#171717;background:#fff;border:1px solid #d4d4d4;padding:0 16px}.loading-state{color:#636363}.dashboard-page{background:#f5f5f5;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;height:76px;padding:0 32px;display:flex}.dashboard-content{width:min(1180px,100% - 48px);margin:0 auto;padding:56px 0}.eyebrow{color:#636363;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}.dashboard-content h1{letter-spacing:-.04em;margin:0;font-size:clamp(30px,5vw,46px)}.user-card{background:#e5e5e5;border:1px solid #e5e5e5;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;display:grid;overflow:hidden}.user-card div{background:#fff;gap:8px;padding:24px;display:grid}.user-card span{color:#636363;font-size:13px}.user-card strong{overflow-wrap:anywhere}@media (width<=720px){.login-card{padding:28px}.dashboard-header{padding:0 20px}.dashboard-content{width:calc(100% - 32px);padding-top:36px}.user-card{grid-template-columns:1fr}}.application{background:#f5f5f5;grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #e5e5e5;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:0 8px 24px;display:flex}.sidebar-brand div{gap:2px;display:grid}.sidebar-brand strong{font-size:15px}.sidebar-brand div span{color:#636363;font-size:13px}.sidebar-navigation{gap:28px;display:grid}.navigation-group{gap:5px;display:grid}.navigation-label{color:#737373;letter-spacing:.08em;text-transform:uppercase;padding:0 10px 7px;font-size:11px;font-weight:700}.navigation-group a{color:#525252;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none}.navigation-group a:hover{color:#171717;background:#f5f5f5}.navigation-group a.active{color:#171717;background:#ededed}.sidebar-footer{border-top:1px solid #e5e5e5;margin-top:auto;padding-top:20px}.sidebar-user{gap:3px;padding:0 8px 14px;display:grid}.sidebar-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.sidebar-user span{color:#636363;text-transform:capitalize;font-size:12px}.sidebar-signout{color:#404040;background:#fff;border:1px solid #d4d4d4;border-radius:8px;width:100%;height:38px;font-weight:600}.application-main{min-width:0}.application-header{color:#636363;background:#fff;border-bottom:1px solid #e5e5e5;align-items:center;height:64px;padding:0 32px;font-size:13px;display:flex}.application-content{padding:40px}.page{width:min(1180px,100%);margin:0 auto}.page-heading h1{letter-spacing:-.03em;margin:0;font-size:34px}.page-heading>p:last-child{color:#636363;margin:10px 0 0}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px;display:grid}.dashboard-card,.module-placeholder{background:#fff;border:1px solid #e5e5e5;border-radius:12px}.dashboard-card{gap:10px;padding:24px;display:grid}.dashboard-card span,.module-placeholder span{color:#636363;font-size:13px}.dashboard-card strong{font-size:24px}.module-placeholder{gap:8px;margin-top:32px;padding:28px;display:grid}@media (width<=900px){.application{grid-template-columns:210px 1fr}.application-content{padding:28px}.dashboard-grid{grid-template-columns:1fr}}.page-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.primary-link-button{color:#fff;white-space:nowrap;background:#171717;border-radius:9px;justify-content:center;align-items:center;min-height:42px;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.projects-panel{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-top:32px;overflow:hidden}.projects-filters{border-bottom:1px solid #e5e5e5;align-items:flex-end;gap:18px;padding:20px;display:flex}.projects-search{flex:1}.projects-search,.projects-status-filter{gap:7px;display:grid}.projects-search label,.projects-status-filter label{color:#525252;font-size:13px;font-weight:600}.search-row{gap:8px;display:flex}.projects-filters input,.projects-filters select{color:#171717;background:#fff;border:1px solid #bfbfbf;border-radius:8px;outline:none;height:42px;padding:0 12px}.projects-filters input{width:100%}.projects-filters select{min-width:170px}.projects-filters input:focus,.projects-filters select:focus{border-color:#262626;box-shadow:0 0 0 3px #0000001f}.text-button{color:#525252;background:0 0;border:0;min-height:42px;padding:0;font-size:13px;font-weight:600}.projects-state{color:#636363;text-align:center;padding:48px 24px}.table-scroll{overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;font-size:14px}.projects-table th,.projects-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e5e5;padding:15px 18px}.projects-table th{color:#636363;letter-spacing:.02em;text-transform:uppercase;background:#fafafa;font-size:12px;font-weight:700}.projects-table tbody tr:hover{background:#fafafa}.projects-table tbody tr:last-child td{border-bottom:0}.project-number{color:#262626;font-weight:700;text-decoration:none}.table-secondary{color:#737373;margin-top:4px;font-size:12px;display:block}.status-badge{color:#525252;white-space:nowrap;background:#f2f2f2;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.pagination{border-top:1px solid #e5e5e5;justify-content:flex-end;align-items:center;gap:14px;padding:16px 20px;display:flex}.pagination span{color:#636363;font-size:13px}@media (width<=760px){.page-toolbar{display:grid}.primary-link-button{justify-self:start}.projects-filters{display:grid}.projects-status-filter select{width:100%}.pagination{justify-content:space-between}}.entity-form{background:#fff;border:1px solid #e5e5e5;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px;padding:28px;display:grid}.form-field{align-content:start;gap:8px;display:grid}.form-field label{color:#404040;font-size:13px;font-weight:700}.form-field input,.form-field select,.form-field textarea{color:#171717;background:#fff;border:1px solid #bfbfbf;border-radius:8px;outline:none;width:100%}.form-field input,.form-field select{height:44px;padding:0 12px}.form-field textarea{resize:vertical;min-height:120px;padding:12px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#262626;box-shadow:0 0 0 3px #0000001f}.field-help{color:#636363;font-size:12px;line-height:1.4}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-wide{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.secondary-link-button{color:#404040;background:#fff;border:1px solid #bfbfbf;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.form-submit{padding:0 18px}@media (width<=760px){.entity-form{grid-template-columns:1fr;padding:20px}.form-wide{grid-column:auto}.form-row{grid-template-columns:1fr}}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px;display:grid}.detail-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;gap:8px;padding:20px;display:grid}.detail-card span{color:#636363;font-size:12px}.detail-card strong{overflow-wrap:anywhere;font-size:16px}.project-detail-sections{gap:20px;margin-top:20px;display:grid}.detail-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px}.detail-section h2{margin:0;font-size:18px}.detail-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.detail-section-heading>span{color:#525252;background:#f2f2f2;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 0;display:grid}.detail-list>div{gap:7px;display:grid}.detail-list-wide{grid-column:1/-1}.detail-list dt{color:#636363;font-size:12px;font-weight:600}.detail-list dd{white-space:pre-wrap;margin:0;line-height:1.6}.empty-section{color:#636363;margin:20px 0 0;font-size:14px}.assignment-list{border-top:1px solid #e5e5e5;margin-top:18px}.assignment-row{border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.assignment-row:last-child{border-bottom:0;padding-bottom:0}.assignment-row>div{gap:4px;display:grid}.assignment-row span{color:#636363;font-size:13px}.assignment-contact{text-align:right}.detail-back-link{margin-top:24px}@media (width<=900px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.detail-grid,.detail-list{grid-template-columns:1fr}.detail-list-wide{grid-column:auto}.assignment-row{flex-direction:column;align-items:flex-start}.assignment-contact{text-align:left}}.inline-assignment-form{gap:10px;margin-top:20px;display:flex}.inline-assignment-form select{color:#171717;background:#fff;border:1px solid #bfbfbf;border-radius:8px;min-width:260px;height:42px;padding:0 12px}.inline-assignment-form button{min-height:42px;padding:0 16px}.detail-action-error{margin-top:16px}@media (width<=600px){.inline-assignment-form{flex-direction:column;align-items:stretch}.inline-assignment-form select{width:100%;min-width:0}}.status-active,.status-inactive{border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.status-active{color:#027a48;background:#ecfdf3}.status-inactive{color:#636363;background:#f2f2f2}.checkbox-field{color:#404040;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.checkbox-field input{width:18px;height:18px}.table-action-cell{text-align:right;white-space:nowrap;width:1%}.employee-profile-heading{align-items:center;gap:16px;min-width:0;display:flex}.employee-profile-heading .page-heading{overflow-wrap:anywhere;min-width:0}.employee-initials-avatar{color:#262626;background:#ededed;border-radius:50%;flex:0 0 104px;place-items:center;width:104px;height:104px;font-size:36px;font-weight:700;display:grid;overflow:hidden}.employee-profile-meta{color:#636363;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;font-size:14px;display:flex}.employee-photo{overflow-wrap:anywhere;flex:0 0 120px;justify-items:center;gap:8px;width:120px;display:grid}.employee-initials-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.employee-photo-actions{justify-items:center;gap:8px;display:grid}.employee-photo-actions .primary-button{min-height:32px;padding:0 10px;font-size:12px}.navigation-back{color:#525252;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.navigation-back:before{content:"←"}.navigation-back:hover{color:#171717;text-decoration:underline}.action-button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:32px;padding:5px 10px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.action-button-edit{color:#262626;background:#f5f5f5;border-color:#d4d4d4}.action-button-edit:hover:not(:disabled){background:#e5e5e5}.action-button-remove{color:#a32118;background:#fff;border-color:#ebbbb7}.action-button-remove:hover:not(:disabled){background:#fff0ef}.action-button-delete{color:#fff;background:#b42318;border-color:#b42318}.action-button-delete:hover:not(:disabled){background:#912018;border-color:#912018}.action-button:disabled{opacity:.55;cursor:not-allowed}:is(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:2px solid #171717}.primary-link-button:hover{background:#333}.secondary-button:hover:not(:disabled),.secondary-link-button:hover,.sidebar-signout:hover{background:#f2f2f2}.status-new,.status-planned{color:#525252;background:#f2f2f2}.status-on_hold{color:#854a0e;background:#fffaeb}.status-completed{color:#027a48;background:#ecfdf3}.status-cancelled{color:#a32118;background:#fff0ef}.application-header{justify-content:space-between;gap:16px;height:auto;min-height:64px;padding-block:10px}.language-control{justify-items:end;gap:6px;display:grid}.language-control .form-error{max-width:440px;margin:0}.language-selector{gap:4px;display:inline-flex}.language-selector button{color:#404040;background:#fff;border:1px solid #d4d4d4;border-radius:6px;min-width:36px;min-height:32px;padding:4px 8px;font-size:12px;font-weight:700}.language-selector button[aria-pressed=true]{color:#fff;background:#171717;border-color:#171717}.language-selector button:hover:not(:disabled):not([aria-pressed=true]){background:#ededed}@media (width<=600px){.application-header{flex-wrap:wrap;padding-inline:16px}}.permission-notes{color:#525252;background:#fafafa;border-left:3px solid #a3a3a3;margin-top:24px;padding:16px 20px;font-size:14px;line-height:1.5}.permission-notes p{margin:8px 0}.permission-matrix{min-width:700px}.permission-matrix caption{text-align:left;padding:16px;font-weight:600}.permission-matrix .permission-module th{text-transform:none;color:#262626;background:#ededed;font-size:14px}.permission-matrix .permission-module .status-badge{margin-left:8px}.permission-matrix tbody tr:not(.permission-module) th{text-transform:none;letter-spacing:normal;background:#fff;font-weight:500}.permission-matrix td,.permission-matrix thead th:not(:first-child){text-align:center}.permission-matrix input{cursor:pointer;accent-color:#171717;width:20px;height:20px}.permission-matrix input:disabled{cursor:wait}.table-scroll:focus-visible{outline-offset:-2px;outline:2px solid #171717}.list-filters{flex-wrap:wrap;gap:12px;display:flex}.list-filters .projects-search{flex:280px;min-width:0}.list-filters .projects-status-filter{flex:150px;min-width:0}.list-filters .projects-status-filter>span{color:#525252;font-size:13px;font-weight:600}.list-filters select{width:100%;min-width:0;max-width:100%}.list-filters .search-row input{min-width:0}.list-pagination{flex-wrap:wrap}.timesheet-secondary{color:#667085;display:block}.timesheet-total{font-size:1.4rem;font-weight:700}.timesheet-entry{border-bottom:1px solid #e4e7ec;justify-content:space-between;gap:20px;padding:16px 0;display:flex}.timesheet-entry>div{min-width:0}.timesheet-text{white-space:pre-wrap;overflow-wrap:anywhere}.timesheet-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.timesheet-entry-form{background:#fafafa;border:1px solid #e4e7ec;border-radius:12px;margin-top:20px;padding:20px}.timesheet-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;margin:0;padding:0;display:grid}.timesheet-wide{grid-column:1/-1}.timesheet-return-reason{color:#854a0e;background:#fffaeb;border-radius:12px;margin:20px 0;padding:16px}.timesheet-history{padding-left:24px}.timesheet-history li{overflow-wrap:anywhere;padding:12px 0}@media (width<=600px){.timesheet-fields{grid-template-columns:minmax(0,1fr)}.timesheet-entry{flex-direction:column;gap:4px}.timesheet-entry-form{padding:12px}}.company-calendar-table .calendar-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:32rem}.calendar-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-feedback{margin:16px 20px}.attendance-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.attendance-summary .detail-card,.attendance-history{overflow-wrap:anywhere}.attendance-history{margin-block:12px}.attendance-correction{margin-block:20px}.attendance-interval{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.attendance-warning{color:#854a0e;background:#fffaeb;border-left:3px solid;padding:12px}@media (width<=800px){.attendance-interval,.attendance-summary{grid-template-columns:1fr}}.attendance-detail>.detail-section{margin-block:16px}.attendance-detail .detail-section-heading{flex-wrap:wrap}.attendance-detail .detail-card .status-on_hold{color:#854a0e}.attendance-detail .detail-card .status-completed{color:#027a48}.absence-balance{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.absence-balance dd{margin:6px 0 0;font-weight:600}.absence-detail .detail-card .status-badge{font-size:12px}.absence-detail .detail-card .status-completed{color:#24613b}.absence-detail .detail-card .status-on_hold{color:#8a6100}.absence-detail .detail-card .status-cancelled{color:#a33434}.absence-detail .timesheet-text{overflow-wrap:anywhere}.header-actions{align-items:center;gap:16px;display:flex}.action-center{position:relative}.action-center-bell{color:#262626;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;padding:6px;display:inline-flex}.action-center-bell:focus-visible,.action-center-panel a:focus-visible{outline-offset:3px;outline:2px solid #262626}.action-center-badge{color:#fff;background:#262626;border-radius:12px;padding:2px 6px;font-size:12px;font-weight:700}.action-center-unavailable{color:#737373}.action-center-panel{z-index:30;color:#262626;background:#fff;border:1px solid #e5e5e5;border-radius:12px;width:350px;max-width:calc(100vw - 32px);max-height:min(70vh,560px);padding:16px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001a}.action-center-panel h2{margin:0 0 16px;font-size:18px}.action-center-panel h3{color:#636363;margin:16px 0 8px;font-size:13px}.action-center-panel ul{margin:0;padding:0;list-style:none}.action-center-panel a{color:inherit;border-top:1px solid #f2f2f2;justify-content:space-between;align-items:center;gap:16px;padding:12px 4px;text-decoration:none;display:flex}.action-center-panel a:hover{background:#f7f7f7}.action-center-panel a span{overflow-wrap:anywhere}@media (width<=600px){.action-center-panel{width:auto;max-height:calc(100dvh - 100px);position:fixed;top:76px;left:16px;right:16px}}.notification-item{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;overflow-wrap:anywhere;background:0 0;border:0;border-top:1px solid #f2f2f2;align-items:baseline;gap:10px;padding:12px 4px;display:flex}.notification-item small{color:#737373;margin-top:5px;display:block}.notification-item:hover{background:#f7f7f7}.notification-item:focus-visible{outline-offset:2px;outline:2px solid #262626}.notification-item:disabled{opacity:.6;cursor:wait}.notification-unread{background:#525252;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.paid-break-page .break-correction-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;display:grid}.break-correction-form label{flex-direction:column;gap:8px;display:flex}.break-correction-form label:has(textarea){grid-column:1/-1}.break-correction-form input,.break-correction-form textarea{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #c4c9ce;border-radius:9px;padding:12px}.break-correction-form textarea{resize:vertical;min-height:96px}.break-correction-form button{justify-self:start}@media (width<=700px){.paid-break-page .break-correction-form{grid-template-columns:1fr}}
