@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--green:#163c37;--lime:#b8ed81;--ink:#202e2b;--muted:#75817b;--line:#e4e9e6;--bg:#f5f7f6}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:DM Sans,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button{background:var(--green);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.12)}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #dce3df;border-radius:7px;min-width:0;padding:11px 12px;font-size:14px}:is(input:focus,select:focus,textarea:focus,button:focus-visible){outline-offset:2px;outline:2px solid #69a779}label{flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}form{gap:18px;display:grid}form button{margin-top:3px}textarea{resize:vertical;min-height:90px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{letter-spacing:-1.2px;font-size:32px;font-weight:800;line-height:1.4}h2{letter-spacing:-.4px;font-size:18px}h3{font-size:16px}p{color:var(--muted);line-height:1.6}small{color:var(--muted);font-size:13px;line-height:1.5}.brand{letter-spacing:.5px;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand svg{color:var(--lime);width:30px;height:30px}.brand span{letter-spacing:1px;margin-left:-5px;font-size:14px;font-weight:400}.app{min-height:100vh;display:flex}aside{background:var(--green);color:#fff;z-index:2;flex-direction:column;width:255px;padding:32px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}aside .brand{padding:0 9px}.workspace{align-items:center;gap:12px;padding:28px 8px;display:flex}.workspace-icon{color:#cfdfd8;border:1px solid #ffffff30;border-radius:8px;place-items:center;width:38px;height:38px;font-size:13px;display:grid}.workspace strong{font-size:14px}.workspace small{color:#a1b9af;font-size:12px;display:block}.nav-caption{color:#89a99d;letter-spacing:1.5px;padding:4px 12px 12px;font-size:11px}nav{gap:6px;display:grid}nav button{color:#b4c9c0;background:0 0;border-radius:7px;justify-content:flex-start;gap:12px;padding:13px 12px;font-size:14px;font-weight:500}nav button.active{background:var(--lime);color:#173c32;font-weight:700}.counter{background:#ffffff25;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:12px}.sidebar-bottom{margin-top:auto}.safe{color:#b1c8bd;gap:10px;margin:30px 8px;font-size:12px;line-height:1.8;display:flex}.safe svg{flex-shrink:0;width:17px}.safe small{color:#89a99d;font-size:11px;display:block}.profile{border-top:1px solid #ffffff1c;align-items:center;gap:10px;padding:22px 0;display:flex}.profile strong{text-overflow:ellipsis;max-width:126px;font-size:13px;display:block;overflow:hidden}.profile small{color:#9cbaac;font-size:12px}.profile .icon{color:#afc6bc;margin-left:auto}.avatar{color:#496754;background:#e9efea;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:inline-flex}.main{width:calc(100% - 255px);margin-left:255px}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 38px;font-size:14px;display:flex}.breadcrumb{color:var(--muted)}.slash{color:#adb7b0;padding:0 15px}.header-right{color:var(--muted);align-items:center;gap:22px;display:flex}.role{border:1px solid var(--line);color:#557362;border-radius:5px;padding:5px 9px;font-size:12px}.content{max-width:1700px;margin:auto;padding:36px 38px 16px}.heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px;display:flex}.heading p{margin-top:7px;font-size:14px}.eyebrow{color:#759281;letter-spacing:1.8px;margin-bottom:8px;font-size:11px;font-weight:700}.period{justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.month{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:3px;display:flex}.month input{background:0 0;border:none;width:160px;padding:6px 4px}.icon{color:inherit;background:0 0;border:0;padding:8px;line-height:1}.period-right{align-items:center;gap:15px;display:flex}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:22px}.stats article>span{color:#718078;justify-content:space-between;align-items:center;gap:6px;font-size:14px;display:flex}.stats article>span svg{color:#93a69a}.stats strong{letter-spacing:-1px;margin:17px 0 6px;font-family:Manrope,sans-serif;font-size:28px;display:block}.stats strong em{letter-spacing:0;color:var(--muted);font-size:14px;font-style:normal;font-weight:500}.stats small{font-size:12px}.stats .highlight{background:#edf7e7;border-color:#d9e9ce}.highlight strong{color:#2f673a}.overview-grid{grid-template-columns:1.9fr 1fr;gap:24px;margin-bottom:24px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:24px;overflow:hidden}.overview-grid .panel{margin:0}.panel-title{justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.panel-title small{margin-top:5px;font-size:12px;display:block}.legend{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.legend i{background:#8ebf7d;border-radius:2px;width:8px;height:8px}.bars{justify-content:space-around;gap:28px;height:240px;padding:10px 30px 24px;display:flex}.bar-group{flex-direction:column;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.bar-group small{white-space:nowrap;font-size:11px}.bar-group span{color:#7e8c83;white-space:nowrap;font-size:12px}.bar-track{background:repeating-linear-gradient(0deg,#edf0ed 0 1px,#0000 1px 48px);align-items:flex-end;width:100%;height:145px;display:flex;position:relative}.bar{background:#91bd7c;border-radius:5px 5px 0 0;width:60%;max-width:48px;margin:0 auto}.summary{padding-bottom:20px}.summary-line{border-top:1px solid #f0f3f0;justify-content:space-between;padding:12px 24px;font-size:14px;display:flex}.summary-line span{color:#7b8980}.callout{color:#7a8b7e;margin:12px 24px;font-size:12px;line-height:1.6}.summary .full{width:calc(100% - 48px);margin:0 24px}.secondary{color:#52685b;background:#fff;border-color:#dce3df}.actions{align-items:center;gap:10px;display:flex}.actions input{max-width:200px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%;font-size:14px}th{color:#7d8980;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f9faf9;padding:14px 20px;font-size:12px;font-weight:500}td{color:#65746b;border-bottom:1px solid #eff2ef;padding:18px 20px;font-size:13px}tr:last-child td{border:0}td strong{color:#354e3e;font-size:13px}.person{align-items:center;gap:10px;display:flex}.person small{font-size:12px;display:block}.extra{color:#47823d;font-weight:700}.badge{color:#78887c;background:#f1f4f1;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.presente,.aprovada{color:#55814c;background:#ebf6e7}.falta,.recusada{color:#b67253;background:#fff0e9}.justificada,.pendente{color:#ab8735;background:#fff6df}.closed{color:#627d6b;background:#eaf0ec}.open{color:#6c8656;background:#edf6e8}.text-button{color:#5c7b63;background:0 0;border:0;padding:5px 8px;font-size:12px}.note{white-space:normal;max-width:200px;margin-top:6px;font-size:11px;display:block}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:55px 24px;display:flex}.empty>svg{color:#a2b3a4;width:36px;height:36px}.empty p{max-width:430px;font-size:14px}.empty button{margin-top:6px}.report-footer{border-top:1px solid var(--line);background:#fafcf9;justify-content:space-between;align-items:center;gap:22px;padding:25px;display:flex}.report-footer p{max-width:700px;margin:7px 0;font-size:14px}.report-footer button{flex-shrink:0}.request{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:24px;display:flex}.request p{white-space:pre-wrap;margin:10px 0}.muted{color:var(--muted);font-weight:400}.audit{border-top:1px solid var(--line);padding:20px 24px}.audit summary{cursor:pointer;justify-content:space-between;gap:16px;font-size:14px;display:flex}.audit small{display:block}.audit pre{background:#f5f7f4;padding:15px;font-size:12px;overflow:auto}.settings{max-width:550px;padding:28px}.settings p{margin:10px 0 25px;font-size:14px}footer{color:#97a29b;letter-spacing:1px;justify-content:space-between;padding:10px 0;font-size:10px;display:flex}footer span{letter-spacing:0;font-size:11px}.error,.success{color:#ac5842;background:#fff0ed;border-radius:7px;align-items:center;gap:9px;margin-bottom:20px;padding:13px 16px;font-size:14px;line-height:1.6;display:flex}.success{color:#527640;background:#e9f4e4}.error button,.success button{margin-left:auto}.modal-backdrop{z-index:5;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102a235c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:530px;max-height:90vh;padding:26px;overflow:auto;box-shadow:0 20px 90px #001b2830}.modal .panel-title{padding:0 0 24px}.modal p{margin-bottom:18px;font-size:14px}.modal small{font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{background:var(--green);color:#fff;flex-direction:column;justify-content:space-between;padding:52px 70px;display:flex}.auth-story h1{letter-spacing:-2px;margin:25px 0;font-size:60px;line-height:1.15}.auth-story .eyebrow{color:#b8ed81}.auth-story p{color:#a6c1b3;font-size:16px}.auth-story small{color:#8bab9a}.auth-form{width:100%;max-width:430px;margin:auto;padding:40px 30px}.auth-form h2{margin:20px 0 10px;font-size:26px}.auth-form>p{margin-bottom:32px;font-size:14px}.auth-form button{width:100%}.login-icon{color:#335e43;background:#e6eee7;border-radius:14px;place-items:center;width:52px;height:52px;display:grid}.auth-note{color:#95a397;border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:30px;padding-top:22px;font-size:12px;line-height:1.6;display:flex}.auth-note svg{flex-shrink:0}.loading{min-height:100vh;color:var(--green);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}@media (min-width:1500px){.stats strong{font-size:34px}}@media (max-width:1200px){aside{width:225px;padding-left:14px;padding-right:14px}.main{width:calc(100% - 225px);margin-left:225px}.content{padding:30px 24px}.stats{gap:12px}.stats article{padding:16px}.stats strong{font-size:23px}.stats small{font-size:11px}.overview-grid{grid-template-columns:1.5fr 1fr}.bars{gap:14px;padding-left:20px;padding-right:20px}}@media (max-width:900px){aside{width:76px;padding:25px 10px}.brand span,.brand:not(svg){gap:0;font-size:0}.workspace,.nav-caption,.safe,.profile{display:none}aside .brand{margin-bottom:30px;padding:0 10px}nav button{justify-content:center;padding:15px 8px;font-size:0}nav button svg{min-width:20px}.counter{display:none}.main{width:calc(100% - 76px);margin-left:76px}.header-right>span:first-child{display:none}header{padding:0 24px}.stats{grid-template-columns:1fr 1fr}.overview-grid{grid-template-columns:1fr}.auth-story{padding:40px}.auth-story h1{font-size:44px}.period-right select{max-width:175px}.heading h1{font-size:28px}.actions input{max-width:140px}.report-footer{flex-direction:column;align-items:flex-start}}@media (max-width:600px){aside{width:58px;padding:20px 6px}aside .brand{padding:0 7px}.brand svg{width:26px}.main{width:calc(100% - 58px);margin-left:58px}header{height:60px;padding:0 15px;font-size:12px}.breadcrumb,.slash,.role{display:none}.content{padding:24px 14px}.heading{flex-direction:column;align-items:flex-start;margin-bottom:20px}.heading h1{font-size:25px}.stats{gap:10px}.stats article{padding:14px}.stats strong{font-size:22px}.stats article>span{font-size:12px}.stats article>span svg{display:none}.stats small{font-size:11px}.period{flex-wrap:wrap}.period-right{justify-content:space-between;width:100%}.panel-title{flex-wrap:wrap;padding:18px 15px}.panel-title h2{font-size:16px}.legend{font-size:11px}.bars{gap:10px;padding:10px 16px 22px}.bar-group span,.bar-group small{font-size:10px}.actions{flex-wrap:wrap}.actions input{max-width:140px}.request{flex-direction:column;padding:20px}footer{flex-direction:column;gap:10px}.auth{display:block}.auth-story{padding:28px 25px}.auth-story .brand{gap:10px;font-size:18px}.auth-story .brand span{font-size:14px}.auth-story h1{margin:20px 0;font-size:33px}.auth-story h1 br,.auth-story p,.auth-story>small,.auth-story .eyebrow{display:none}.auth-form{padding:30px 24px}.form-grid{gap:12px}.modal{padding:20px}.modal-backdrop{padding:12px}.audit summary{flex-direction:column}.summary-line{padding:12px 18px}}@media print{aside,header,button,.period,footer{display:none!important}.main{width:100%;margin:0}.content{padding:0}.panel{border:0}.stats{grid-template-columns:repeat(4,1fr)}}.time-picker{align-items:center;gap:5px;display:flex}.time-picker select{flex:1;width:60px;padding:10px 6px}.time-picker select:last-child{width:68px}.time-picker span{color:#87978a}.quick-punch{background:#fafff6;border-color:#d7e7ce;padding:24px}.quick-title{align-items:center;gap:14px;display:flex}.quick-title p{margin-top:5px;font-size:14px}.quick-icon{color:#426c3b;background:#e3f1d8;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.quick-controls{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:22px 0 16px;display:flex}.quick-controls label{flex:1;min-width:220px;max-width:340px}.quick-controls button{min-height:43px}.punch-stages{grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0;display:grid}.punch-stages>div{background:#fff;border:1px solid #e1e8dc;border-radius:7px;padding:12px}.punch-stages span{color:#7a8875;font-size:12px;display:block}.punch-stages strong{color:#8c9788;margin-top:5px;font-size:20px;display:block}.punch-stages .recorded strong{color:#426c3b}.quick-punch>small{display:block}@media (max-width:600px){.quick-punch{padding:18px}.quick-controls label{min-width:100%;max-width:none}.quick-controls button{width:100%}.punch-stages{grid-template-columns:1fr 1fr}}
