@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#172235;--muted:#728097;--line:#e6ebf2;--soft:#f5f7fa;--white:#fff;--navy:#1b2a41;--blue:#356ae6;--blue-soft:#edf3ff;--green:#198b68;--green-soft:#eaf8f2;--amber:#b97815;--amber-soft:#fff6e7;--red:#cb5c5c;--red-soft:#fff0f0;--purple:#7756c9;--shadow:0 8px 24px rgba(26,44,72,.06)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f8fafc;font-family:'DM Sans',system-ui,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,strong{font-family:'Manrope','DM Sans',sans-serif}h1{font-size:28px;line-height:1.15;margin:8px 0 5px;letter-spacing:-.7px}h2{font-size:16px;letter-spacing:-.15px;margin:0 0 3px}p{margin:0}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.15px;color:#8793a6;font-weight:700}.shell{display:flex;min-height:100vh}.sidebar{width:244px;background:var(--navy);color:#b8c5d7;padding:20px 14px 14px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;color:#fff;font:800 18px Manrope,sans-serif;letter-spacing:-.5px;padding:0 10px 22px}.brand small{display:block;color:#9dabc0;font:600 9px 'DM Sans';letter-spacing:2px;margin-top:-2px}.brand-mark{background:#e7b875;color:#18263b;width:29px;height:29px;display:grid;place-items:center;border-radius:7px;font:800 18px Manrope}.workspace{margin:0 2px 21px;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#e3eaf4;font-size:12px;white-space:nowrap}.company-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#62cfa8;margin-right:6px}.chevron{float:right;color:#8291a7;font-size:15px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-group{color:#74839a;font-size:10px;letter-spacing:1.05px;font-weight:700;margin:17px 11px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:5px;color:#aebbd0;font-size:13px;transition:.15s}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#2d4160;color:#fff;box-shadow:inset 3px 0 #e5b873}.nav-icon{width:17px;text-align:center;font-size:16px;color:#94a5bb}.active .nav-icon{color:#e8bf83}.sidebar-footer{margin-top:auto}.secure-note{font-size:11px;color:#74849c;border-top:1px solid rgba(255,255,255,.1);padding:15px 11px 12px}.secure-note span{color:#5fcca3;margin-right:6px}.main{min-width:0;flex:1}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px}.search{width:min(440px,45vw);display:flex;align-items:center;gap:10px;color:#9aa7b8;background:#f7f9fb;border:1px solid #eef1f5;border-radius:5px;padding:8px 12px}.search input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--ink)}kbd{font-size:10px;border:1px solid #d8dee8;border-radius:3px;padding:2px 5px;color:#8e9bae;background:#fff}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{border:1px solid var(--line);background:#fff;color:#6d7c91;width:34px;height:34px;border-radius:5px;display:inline-grid;place-items:center}.icon-button:hover{border-color:#bdc8d7;color:var(--ink)}.notification{position:relative;font-size:19px}.notification i{position:absolute;right:7px;top:7px;width:5px;height:5px;background:#dc6b6b;border-radius:50%;border:1px solid white}.profile{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:16px;color:#69778c}.profile-name{font-size:12px;font-weight:600;color:var(--ink)}.profile-name small{display:block;font-size:10px;color:var(--muted);font-weight:400}.avatar{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#eef2f7;color:#5e6f85;font:700 10px Manrope;flex-shrink:0}.avatar-blue{background:#e6efff;color:#356ae6}.avatar-small{width:30px;height:30px;background:#f2e8d6;color:#8f651f}.avatar-xl{width:64px;height:64px;font-size:19px}.page-area{padding:28px 32px 50px;max-width:1500px;margin:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.breadcrumbs{font-size:11px;color:#93a0b2;margin-bottom:5px}.breadcrumbs a{color:#65758d}.header-actions{display:flex;align-items:center;gap:9px}.date-chip{border:1px solid var(--line);background:#fff;border-radius:5px;padding:8px 11px;color:#68768a;font-size:12px}.button{border:1px solid transparent;border-radius:5px;padding:9px 14px;font-weight:600;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:37px}.button-primary{background:#28466d;color:#fff;border-color:#28466d}.button-primary:hover{background:#203a5b}.button-secondary{background:#fff;color:#52647c;border-color:#dce3ec}.button-secondary:hover{border-color:#aebdce;background:#fbfcfd}.button-full{width:100%;margin-top:22px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi-grid.compact .kpi{min-height:120px}.kpi{background:#fff;border:1px solid var(--line);border-radius:7px;padding:17px 18px;min-height:138px;box-shadow:var(--shadow)}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-label{font-size:10px;letter-spacing:.8px;color:#8997aa;font-weight:700}.kpi strong{display:block;font-size:28px;letter-spacing:-1px;margin:15px 0 7px}.kpi-icon{width:27px;height:27px;border-radius:5px;display:grid;place-items:center;font-size:14px}.blue{background:var(--blue-soft);color:var(--blue)}.green{background:var(--green-soft);color:var(--green)}.amber{background:var(--amber-soft);color:var(--amber)}.red{background:var(--red-soft);color:var(--red)}.purple{background:#f0ebff;color:var(--purple)}.trend{font-size:11px}.trend small{color:var(--muted);font-size:10px;margin-left:4px}.up{color:var(--green)}.neutral{color:var(--muted)}.link,.text-link{color:#376dd4;font-weight:600;font-size:12px}.content-grid{display:grid;gap:18px;margin-bottom:18px}.content-grid.two-thirds{grid-template-columns:1.35fr 1fr}.content-grid.equal{grid-template-columns:1fr 1fr}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);padding:20px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.bar-chart{display:grid;gap:15px}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.bar-label strong{font-size:12px}.bar-track,.table-bar{height:8px;border-radius:2px;background:#edf1f5;overflow:hidden}.bar-track span,.table-bar span{display:block;height:100%;background:#6e91dc;border-radius:2px}.attendance-summary{display:flex;justify-content:space-between;text-align:center;margin:25px 8px 20px}.attendance-summary>div{display:grid;gap:4px}.summary-number{font:700 22px Manrope}.summary-number+span{font-size:11px;color:var(--muted)}.green-text{color:var(--green)}.red-text{color:var(--red)}.amber-text{color:var(--amber)}.mini-progress{height:8px;background:#edf1f5;border-radius:4px;overflow:hidden}.mini-progress span{display:block;height:100%;background:#5bab8d}.progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:7px}.progress-caption strong{font-size:11px;color:var(--ink)}.table-panel{padding:0;overflow:hidden}.table-panel>.panel-header,.table-panel>.table-meta,.table-panel>.filter-bar{padding:20px 20px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{font-size:10px;letter-spacing:.65px;color:#8997aa;text-align:left;text-transform:uppercase;background:#fbfcfd;font-weight:700;white-space:nowrap}th,td{padding:12px 20px;border-bottom:1px solid #edf0f4}td{font-size:12px;color:#5e6e82;vertical-align:middle}tbody tr:hover{background:#fbfcfe}td strong{display:block;color:#29384e;font-size:12px}td small,.person small,.list-row small{display:block;color:#95a1b1;font-size:10px;margin-top:2px}.person{display:flex;align-items:center;gap:9px}.person-link:hover strong{color:#376dd4}.more-button{border:0;background:none;color:#9aa6b7;letter-spacing:2px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:3px;padding:4px 7px;font-size:10px;font-weight:700;text-transform:capitalize;white-space:nowrap}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status-active,.status-present,.status-approved,.status-published,.status-available{background:var(--green-soft);color:var(--green)}.status-pending,.status-draft,.status-processing{background:var(--amber-soft);color:var(--amber)}.status-rejected,.status-absent,.status-repair{background:var(--red-soft);color:var(--red)}.status-open,.status-calculated{background:var(--blue-soft);color:var(--blue)}.table-meta{display:flex;align-items:center;justify-content:space-between;min-height:66px;border-bottom:1px solid var(--line)}.table-meta strong{font-size:13px}.empty-state{text-align:center;padding:45px 20px;color:var(--muted);display:grid;gap:4px;justify-items:center}.empty-state strong{color:var(--ink);font-size:13px}.empty-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f1f4f8;color:#8795a8;font-size:20px;margin-bottom:4px}.filter-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.filter-bar.inside{margin:0;padding-bottom:18px!important;border-bottom:1px solid var(--line)}.search-filter{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:5px;padding-left:11px;min-width:360px}.search-filter input{border:0;outline:0;padding:9px 0;min-width:0;flex:1}.filter-right{display:flex;align-items:center;gap:8px}.filter-right select,select,input,textarea{border:1px solid #dfe5ed;border-radius:5px;padding:9px 10px;color:var(--ink);background:#fff;outline:none}select:focus,input:focus,textarea:focus{border-color:#86a5e7;box-shadow:0 0 0 3px #edf3ff}select{font-size:12px}.subnav,.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.subnav a,.tabs a{padding:0 1px 11px;color:#8693a5;white-space:nowrap;font-size:12px;font-weight:600}.subnav a.active,.tabs a.active{color:#28466d;border-bottom:2px solid #28466d}.subnav a span{background:#eef2f7;color:#6d7d93;border-radius:10px;padding:1px 5px;font-size:10px;margin-left:3px}.tabs-small{border:0;margin:0;gap:18px}.tabs-small a{padding-bottom:0}.company-banner{display:flex;align-items:center;gap:15px;margin-bottom:18px}.company-logo{width:51px;height:51px;display:grid;place-items:center;background:#28466d;color:#eac07e;font:800 25px Manrope;border-radius:6px}.company-banner .status{margin-left:auto}.company-banner .button{margin-left:4px}.list-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #eef1f4}.list-row:last-child{border-bottom:0}.list-row>div{flex:1}.list-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:5px;font-size:14px}.list-count{font-size:11px;color:#8592a3}.table-sub{margin-top:3px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px 18px}.detail-grid span{display:block;color:#8b98a9;font-size:11px;margin-bottom:4px}.detail-grid strong{font-size:12px;color:#344359}.profile-heading{display:flex;align-items:center;gap:13px}.profile-heading h1{margin-bottom:3px}.contact-list{display:grid;gap:20px}.contact-list>div{display:flex;gap:11px;align-items:center}.contact-icon{width:32px;height:32px;border-radius:5px;background:#f1f4f8;display:grid;place-items:center;color:#63748a}.contact-list small{display:block;color:#93a0b0;font-size:10px}.contact-list strong{font-size:12px}.process-panel{display:flex;align-items:center;gap:24px;margin-bottom:18px}.process-panel>div:first-child{min-width:205px}.process-panel>button{margin-left:auto}.process-steps{display:flex;align-items:center;gap:9px;flex:1;color:#a4afbd;font-size:11px}.process-steps span{display:flex;align-items:center;gap:5px;white-space:nowrap}.process-steps b{font-weight:500}.process-steps .done{color:var(--green)}.process-steps .active-step{color:var(--blue)}.process-steps i{font-style:normal;color:#b2bcc9}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.policy-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px;box-shadow:var(--shadow)}.policy-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.policy-card h2{margin:6px 0 8px}.clamp{font-size:12px;min-height:38px}.policy-meta{display:flex;gap:14px;border-top:1px solid var(--line);margin-top:17px;padding-top:13px;color:#8997a7;font-size:10px}.policy-footer{display:flex;justify-content:space-between;margin-top:17px;font-size:10px;align-items:center}.asset-icon{width:31px;height:31px;border-radius:5px;display:grid;place-items:center;background:#edf3ff;color:#356ae6}.compact-search{min-width:300px;border:0;background:#f8fafc}.report-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.report-card{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);padding:17px;display:grid;gap:5px}.report-card:hover{border-color:#aec2ed;transform:translateY(-1px)}.report-icon{width:31px;height:31px;border-radius:5px;display:grid;place-items:center;font-size:15px;margin-bottom:8px}.report-card strong{font-size:13px}.report-card small{color:var(--muted);font-size:11px;margin-bottom:10px}.table-bar{width:100px;display:inline-block;margin-right:8px;vertical-align:middle}.modal{display:none;position:fixed;inset:0;background:rgba(21,33,52,.5);z-index:20;padding:30px;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{position:relative;background:#fff;border-radius:8px;box-shadow:0 20px 70px rgba(10,24,45,.25);padding:27px;max-width:480px;width:100%;max-height:90vh;overflow:auto}.modal-wide{max-width:680px}.modal-card h2{font-size:20px;margin:7px 0 5px}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;color:#8d9aaa;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.form-grid label,.modal-card>form>label{display:grid;gap:6px;color:#52647a;font-size:11px;font-weight:600}.form-grid input,.form-grid select,.modal-card textarea,.modal-card>form>label select{width:100%;margin:0}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:18px;margin-top:5px}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.quick-links a{padding:14px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;gap:10px;font-weight:600;color:#52647a}.quick-links a span{color:#356ae6;font-size:19px}.toast{position:fixed;right:28px;top:80px;z-index:30;background:#fff;padding:12px 16px;border-radius:5px;box-shadow:0 9px 30px rgba(20,40,70,.15);border-left:3px solid var(--green);font-size:12px}.toast-error{border-left-color:var(--red)}.empty-page{min-height:100vh;display:grid;place-content:center;justify-items:center;text-align:center;gap:8px;background:#f8fafc}.empty-page h1{margin:5px 0}.empty-page p{color:var(--muted);margin-bottom:10px}.login-page{min-height:100vh;display:grid;grid-template-columns:46% 54%;background:#f8fafc}.login-panel{background:#1b2a41;color:#dbe4f1;padding:42px 12%;display:flex;flex-direction:column}.brand-login{padding:0}.login-copy{margin:auto 0}.login-copy .eyebrow{color:#96a9c3}.login-copy h1{color:#fff;font-size:46px;line-height:1.08;margin:16px 0}.login-copy h1 em{color:#e9be7d;font-style:normal}.login-copy p:not(.eyebrow){max-width:355px;color:#9eb0c7;line-height:1.8}.login-meta{display:flex;justify-content:space-between;color:#8293ac;font-size:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:15px}.login-form-wrap{display:grid;place-items:center;padding:30px}.login-form{width:min(380px,100%)}.login-form h2{font-size:24px;margin-top:9px}.login-form>p.muted{font-size:13px;margin:5px 0 28px}.login-form form{background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px;box-shadow:var(--shadow)}.login-form label{display:grid;gap:7px;color:#52647a;font-size:11px;font-weight:600;margin-bottom:16px}.login-form input{width:100%;font-weight:400;font-size:13px}.password-field{position:relative}.password-field button{position:absolute;right:7px;top:7px;border:0;background:none;color:#4673ca;font-size:10px}.form-row-between{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:3px}.form-row-between a{color:#376dd4}.check{display:flex!important;display:flex!important;align-items:center;gap:5px!important;margin:0!important}.check input{width:auto}.login-help{text-align:center;color:#94a0b0;font-size:11px;margin-top:19px}.mobile-brand{display:none}
@media(max-width:1100px){.sidebar{width:220px}.page-area{padding-left:22px;padding-right:22px}.topbar{padding:0 22px}.report-cards{grid-template-columns:repeat(2,1fr)}.process-panel{flex-wrap:wrap}.process-panel>button{margin-left:0}.process-steps{order:3;flex-basis:100%}}
@media(max-width:820px){.sidebar{position:fixed;left:-250px;top:0;bottom:0;z-index:15;transition:left .2s}.sidebar.open{left:0}.menu-button{display:inline-grid}.topbar{padding:0 15px}.search{width:auto;flex:1}.profile-name,.top-actions>.icon-button:first-child{display:none}.page-area{padding:20px 15px 40px}.page-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:flex-start}.kpi-grid{grid-template-columns:1fr 1fr}.content-grid.two-thirds,.content-grid.equal{grid-template-columns:1fr}.policy-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}.filter-bar{align-items:stretch;flex-direction:column}.search-filter{min-width:0}.filter-right{justify-content:flex-start;flex-wrap:wrap}.company-banner{flex-wrap:wrap}.company-banner .status{margin-left:0}.company-banner .button{margin-left:auto}}
@media(max-width:560px){.login-page{display:block}.login-panel{display:none}.login-form-wrap{min-height:100vh;padding:22px}.mobile-brand{display:flex;padding:0 0 45px;color:var(--navy)}.policy-grid,.report-cards{grid-template-columns:1fr}.kpi-grid{gap:9px}.kpi{padding:13px;min-height:120px}.kpi strong{font-size:22px}.kpi-icon{display:none}.profile-heading{align-items:flex-start}.avatar-xl{width:48px;height:48px;font-size:14px}.detail-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-actions{grid-column:auto}.top-actions{gap:5px}.date-chip{display:none}.process-panel{display:block}.process-steps{margin:20px 0;display:grid;gap:10px}.process-steps i{display:none}.modal{padding:12px}.page-header h1{font-size:25px}}
@media(min-width:821px){.menu-button{display:none}}
/* Icon and interactive control refinements */
.notification i{position:static;width:auto;height:auto;background:none;border:0;border-radius:0}.notification .notification-dot{position:absolute;right:7px;top:7px;width:5px;height:5px;background:#dc6b6b;border:1px solid #fff;border-radius:50%}.profile-button{border-top:0;border-right:0;border-bottom:0;background:#fff;font:inherit;cursor:pointer;text-align:left;padding-top:0;padding-bottom:0}.nav-icon{font-size:14px}.secure-note i{color:#5fcca3;margin-right:6px}.toast{display:flex;align-items:center;gap:8px}.toast i{color:var(--green)}.toast-error i{color:var(--red)}.help-items{display:grid;gap:8px;margin-top:20px}.help-items a,.modal-link{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:5px;color:#52647a}.help-items a>i,.modal-link>i{width:20px;text-align:center;color:#356ae6}.help-items strong{display:block;font-size:12px}.help-items small{display:block;color:var(--muted);font-size:10px}.help-items a:hover,.modal-link:hover{background:#f7f9fc;border-color:#c5d2e5}.profile-modal-head{display:flex;align-items:center;gap:13px;margin:10px 0 22px}.profile-modal-head h2{margin-bottom:2px}.modal-link{margin-top:8px;font-size:12px;font-weight:600}.compact-empty{padding:34px 12px}
/* Row-level record actions */
.row-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.row-action{width:28px;height:28px;border:1px solid transparent;border-radius:4px;background:transparent;color:#7e8da1;display:grid;place-items:center;font-size:11px}.row-action:hover{background:#edf3ff;color:#356ae6;border-color:#d6e2fb}.row-action.danger:hover{background:#fff0f0;color:#cb5c5c;border-color:#f3d1d1}.inline-form{display:inline-flex;margin:0}.list-row .row-actions{visibility:hidden;opacity:0;transition:.15s}.list-row:hover .row-actions,.list-row:focus-within .row-actions{visibility:visible;opacity:1}
/* Button-based quick actions and profile menu controls */
.quick-links button{padding:14px;border:1px solid var(--line);border-radius:5px;background:#fff;display:flex;align-items:center;gap:10px;font-weight:600;color:#52647a;text-align:left}.quick-links button:hover{background:#f7f9fc;border-color:#aec2ed;color:#28466d}.quick-links button i{color:#356ae6;font-size:15px;width:18px;text-align:center}.profile-modal .modal-link{width:100%;box-shadow:none}.modal-link + .modal-link{margin-top:8px}
