@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,sans-serif;color:#17231f;background:#f4f6f1;font-synthesis:none;--ink: #17231f;--muted: #78827b;--line: #e5e9e2;--cream: #f4f6f1;--paper: #fffefa;--green: #23694c;--lime: #cbf56b;--red: #b54f48}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,input,select{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(42%,1fr) minmax(420px,58%)}.login-art{background:var(--green);color:#eef5e9;padding:42px 8vw 38px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(203,245,107,.35);border-radius:50%;right:-130px;bottom:-130px;box-shadow:0 0 0 45px #cbf56b0d,0 0 0 90px #cbf56b0a}.brand-mark,.mobile-logo,.brand{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;font-weight:800}.art-copy{max-width:480px;padding-bottom:5vh;position:relative;z-index:1}.art-copy h1{font-size:clamp(3.6rem,6vw,6.5rem);line-height:.96;letter-spacing:-.06em;margin:20px 0 28px}.art-copy em{color:var(--lime);font-style:normal}.art-copy p{color:#b8c9b7;max-width:330px;line-height:1.7;font-size:14px}.art-footer{color:#b8c9b7;display:flex;gap:9px;align-items:center;font:11px DM Mono,monospace;z-index:1}.eyebrow,.stat-label{font:11px DM Mono,monospace;letter-spacing:.12em;color:#8e998f}.login-art .eyebrow{color:var(--lime)}.login-panel{display:grid;place-items:center;padding:36px;background:var(--paper)}.login-form{width:min(360px,100%)}.mobile-logo{display:none;color:var(--green);margin-bottom:60px}h1,h2,h3,p{margin-top:0}.login-form h2,.modal h2{font-size:32px;letter-spacing:-.045em;margin:14px 0 10px}.muted{color:var(--muted);font-size:13px;line-height:1.65}.login-form .muted{margin-bottom:34px}label{display:grid;gap:8px;font-size:12px;font-weight:700;margin-bottom:18px;color:#4a564e}input,select{border:1px solid #dce3db;background:#fff;color:var(--ink);border-radius:5px;padding:13px 14px;outline:none;transition:border .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #23694c1a}.button{border:0;border-radius:5px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:12px;transition:transform .2s,opacity .2s,background .2s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{color:#163326;background:var(--lime)}.button.secondary{color:var(--green);background:#e8eee6}.button.ghost{background:transparent;color:var(--muted)}.full{width:100%}.form-error{background:#fff0ed;color:var(--red);padding:10px 12px;font-size:12px;border-radius:4px;margin-bottom:16px}.login-note{font-size:11px;color:#a1aaa3;margin-top:30px;text-align:center}.app-shell{min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:relative}.brand{letter-spacing:.05em;color:var(--green);font-size:15px}.brand-icon{width:31px;height:31px;display:grid;place-items:center;background:var(--green);color:var(--lime);border-radius:5px}.brand small{display:block;font:8px DM Mono,monospace;color:#9aa49b;letter-spacing:.14em;margin-top:2px}.top-actions,.admin-meta{display:flex;align-items:center;gap:18px}.admin-meta{gap:9px;border-right:1px solid var(--line);padding-right:20px}.admin-meta span:last-child{display:grid;gap:2px}.admin-meta b{font-size:11px}.admin-meta small{color:#9aa39b;font-size:10px}.avatar,.employee-avatar{display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:800}.avatar{width:30px;height:30px;background:#dce8d7;color:var(--green)}.icon-button{width:34px;height:34px;padding:0;border:1px solid transparent;background:transparent;color:#68756b;display:inline-grid;place-items:center;border-radius:5px;position:relative}.icon-button:hover,.icon-button.active{background:#eef2ec;color:var(--green)}.icon-button.danger:hover{color:var(--red);background:#fff0ed}.notification-button i{position:absolute;top:6px;right:6px;width:6px;height:6px;background:var(--red);border-radius:50%;border:1px solid var(--paper)}.notification-popover{position:absolute;right:5vw;top:65px;width:280px;z-index:5;padding:17px;background:var(--paper);box-shadow:0 12px 35px #18312326;border:1px solid var(--line);font-size:12px}.notification-popover p{padding:10px 0;border-bottom:1px solid var(--line);margin:0;line-height:1.4}.notification-popover p.error{color:var(--red)}.content{width:min(1240px,90vw);margin:0 auto;padding:62px 0 80px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.page-head h1{font-size:38px;letter-spacing:-.055em;margin:12px 0 8px}.head-actions{display:flex;gap:9px}.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;background:var(--paper);border:1px solid var(--line);margin-bottom:22px}.stats>div{padding:22px 27px;border-right:1px solid var(--line);display:grid;gap:9px}.stats>div:last-child{border:0}.stats strong{font-size:27px;letter-spacing:-.04em}.stats strong small{font-size:14px;color:var(--muted);letter-spacing:0}.stats small{color:#9aa39b;font-size:11px}.green-dot{display:inline-block;width:6px;height:6px;background:#6cad54;border-radius:50%;margin-right:5px}.access{display:flex;align-items:center;gap:7px;color:var(--green);font-size:18px!important}.directory{background:var(--paper);border:1px solid var(--line)}.directory-toolbar{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px}.search-box{flex:1;display:flex;align-items:center;gap:10px;color:#9ba49c}.search-box input{border:0;padding:9px 0;background:transparent;width:100%}.search-box input:focus{box-shadow:none}.sort-control{display:flex;align-items:center;gap:10px;color:#9aa39b;font-size:11px}.sort-control select{border:0;padding:8px 28px 8px 8px;font-size:11px;font-weight:700}.table-wrap{min-width:800px}.table-head,.table-row{display:grid;grid-template-columns:2.2fr 1.45fr .7fr 1.35fr 1.15fr .7fr;align-items:center}.table-head{padding:14px 22px;color:#9da79f;background:#fafbf8;text-transform:uppercase;font:10px DM Mono,monospace;letter-spacing:.06em}.table-body{height:445px;overflow-y:auto}.table-row{position:absolute;width:100%;height:64px;padding:0 22px;border-bottom:1px solid #edf0eb;font-size:12px;color:#5c685f}.employee-name{display:flex;align-items:center;gap:11px;color:var(--ink);min-width:0}.employee-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-avatar{width:29px;height:29px;flex:0 0 auto;background:#e7eee2;color:var(--green);font-size:9px}.position{color:var(--green);font-weight:700}.salary{color:var(--ink);font-size:11px}.date{color:#89948a;font-size:11px}.row-actions{display:flex;gap:2px}.row-actions .icon-button{width:27px;height:27px}.loading-state{height:100%;display:grid;place-items:center;color:var(--muted);font-size:13px}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-top:1px solid var(--line);color:#9aa49d;font-size:11px}.pager{display:flex;align-items:center;gap:10px;color:var(--ink)}.pager .icon-button:disabled{opacity:.25}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#15271d73;display:grid;place-items:center;padding:20px}.modal{width:min(480px,100%);background:var(--paper);padding:34px;position:relative;box-shadow:0 18px 60px #14281b33}.close{position:absolute;right:18px;top:18px}.employee-form{margin-top:25px}.form-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:14px}.modal-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;justify-content:end;gap:9px}.import-panel{position:fixed;z-index:8;top:0;right:0;height:100vh;width:min(410px,100%);background:var(--paper);box-shadow:-15px 0 50px #18312324;padding:31px;animation:slide .25s ease}.panel-heading{display:flex;justify-content:space-between}.panel-heading h3{margin:10px 0 0;font-size:24px;letter-spacing:-.04em}.dropzone{border:1px dashed #bbcab8;background:#f5f8f2;min-height:190px;display:grid;place-items:center;align-content:center;gap:10px;margin:30px 0 18px;color:var(--green);cursor:pointer}.dropzone strong{font-size:13px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone span{font-size:11px;color:#9aa59b}.progress-card{background:#f5f8f2;padding:14px;margin:15px 0;font-size:11px}.progress-line{display:flex;justify-content:space-between;margin-bottom:10px}.progress-track{height:5px;background:#dfe8dc;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--green);transition:width .4s}.progress-card small{display:block;color:var(--muted);margin-top:8px}.csv-tip{display:flex;gap:9px;align-items:center;background:#fffbea;padding:13px;margin-top:22px;color:#8f875b;font-size:10px;line-height:1.5}.toasts{position:fixed;right:24px;bottom:24px;z-index:20;display:grid;gap:8px}.toast{background:var(--green);color:#fff;padding:12px 16px;font-size:12px;box-shadow:0 6px 20px #173a2930}.toast.error{background:var(--red)}@keyframes slide{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:760px){.login-shell{display:block}.login-art{min-height:260px;padding:27px 8vw}.art-copy{padding:35px 0 0}.art-copy h1{font-size:3.1rem;margin:12px 0}.art-copy p,.art-footer{display:none}.login-art:after{width:240px;height:240px}.login-panel{min-height:calc(100vh - 260px);padding:42px 8vw}.mobile-logo{display:flex}.topbar{padding:0 5%}.admin-meta{display:none}.content{width:90vw;padding-top:37px}.page-head{display:block}.page-head h1{font-size:32px}.head-actions{margin-top:24px}.head-actions .button{flex:1;padding-left:8px;padding-right:8px}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:18px}.stats>div:last-child{grid-column:span 2;border-top:1px solid var(--line)}.directory-toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}.sort-control{margin-left:auto}.table-footer{gap:15px}.table-footer>span{max-width:210px;line-height:1.5}.modal{padding:28px 22px}.import-panel{padding:25px 20px}}
