:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#183046;background:#f4f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;background:#16836f;color:#fff;padding:.82rem 1.15rem;border-radius:10px;font-weight:700;transition:.2s}button:hover{background:#0d6d5d;transform:translateY(-1px)}button:disabled{opacity:.65;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.03em}.eyebrow{color:#16836f;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;margin-bottom:.65rem}.muted{color:#6d7f8e}.error{color:#9f2d2d;background:#fff0ef;border:1px solid #f4cac7;padding:.75rem;border-radius:8px}.global-error{margin-top:1rem}.loading{min-height:100vh;display:grid;place-items:center;color:#16836f;font-size:1.5rem;font-weight:700;letter-spacing:.2em}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.brand-panel{padding:3.5rem 6vw;background:radial-gradient(circle at 80% 20%,#1d766b 0,transparent 32%),linear-gradient(145deg,#102d41,#143f4a);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.brand-panel:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff18;border-radius:50%;right:-170px;bottom:-170px;box-shadow:0 0 0 60px #ffffff08,0 0 0 120px #ffffff06}.brand-mark,.wordmark span,.mobile-logo span{width:45px;height:45px;display:inline-grid;place-items:center;border-radius:13px 4px;background:#e7a93e;color:#102d41;font-size:1.45rem;font-weight:800}.brand-panel h1{font-size:clamp(2.3rem,4.3vw,4.6rem);line-height:1.08;max-width:780px}.brand-panel .eyebrow{color:#8fd8c9}.brand-copy{max-width:540px;color:#c8d8dd;font-size:1.05rem;line-height:1.65}.brand-panel small{color:#91aab4}.login-panel{display:grid;place-items:center;padding:3rem;background:#fbfcfd}.login-card{width:min(430px,100%)}.login-card h2{font-size:2rem;margin-bottom:.5rem}.login-card label,.company-form label,.department-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600;margin-top:1.15rem}input,select,textarea{width:100%;padding:.9rem 1rem;border:1px solid #cfdae0;border-radius:9px;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:#16836f;box-shadow:0 0 0 3px #16836f18}.login-card>button{width:100%;margin-top:1.4rem}.security-note{text-align:center;color:#82929d;font-size:.78rem;margin-top:1.25rem}.mobile-logo{display:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{position:fixed;width:250px;inset:0 auto 0 0;padding:1.7rem;background:#102d41;color:#fff;display:flex;flex-direction:column;overflow-y:auto}.wordmark{font-size:1.12rem;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:.7rem}.wordmark span{width:34px;height:34px;font-size:1rem}nav{margin-top:3rem;display:grid;gap:.5rem}nav a,nav>span{color:#9fb2bd;text-decoration:none;padding:.72rem .8rem;border-radius:8px;font-size:.9rem;display:flex;justify-content:space-between}nav a.active{background:#ffffff10;color:#fff}nav small{color:#64818e;font-size:.65rem}.nav-group{letter-spacing:.12em;margin:.8rem .8rem .1rem}.user-block{margin-top:auto;border-top:1px solid #ffffff14;padding-top:1rem;display:grid;grid-template-columns:38px 1fr auto;gap:.6rem;align-items:center}.user-block strong,.user-block small{display:block;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-block strong{font-size:.78rem}.user-block small{font-size:.65rem;color:#8da4af}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#16836f;font-weight:700}.text-button{padding:.25rem;color:#8da4af;background:transparent;font-size:.7rem}.workspace{grid-column:2;padding:2.2rem clamp(1.5rem,4vw,4.5rem)}.workspace header,.section-title{display:flex;justify-content:space-between;align-items:center}.workspace header h1{margin:0;font-size:1.9rem}.status{padding:.5rem .75rem;border:1px solid #dce6e9;border-radius:999px;background:#fff;font-size:.78rem;color:#607584}.status i{display:inline-block;width:7px;height:7px;background:#37a16d;border-radius:50%;margin-right:.35rem}.hero-card{margin-top:2rem;padding:2.3rem;border-radius:18px;background:linear-gradient(125deg,#fff,#edf6f3);border:1px solid #dce9e6;display:flex;justify-content:space-between;align-items:center}.hero-card h2{font-size:1.8rem;margin-bottom:.6rem}.hero-card p:not(.eyebrow){color:#627785;margin:0}.metric{padding-left:2rem;border-left:1px solid #cbded9;text-align:center;min-width:180px}.metric strong{display:block;font-size:2.8rem;font-weight:700;color:#16836f}.metric span{font-size:.75rem;color:#6d7f8e}.content-section{margin-top:2.5rem}.section-title h2{margin:0}.section-title .eyebrow{margin-bottom:.25rem}.page-hidden{display:none!important}.modal-form{background:#fff!important;border-radius:16px!important;box-shadow:0 0 0 100vmax #102d4180,0 24px 70px #102d4155!important;left:50%;margin:0!important;max-height:88vh;max-width:920px;overflow:auto;padding:1.5rem!important;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 2rem));z-index:1000}.modal-wide{max-width:1180px;width:min(1180px,calc(100vw - 2rem))}.company-form{margin-top:1.2rem;padding:1.3rem;border:1px solid #dce6e9;border-radius:12px;background:#fff;display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:1rem;align-items:end}.company-form label{margin:0}.company-form button{height:47px}.company-grid{margin-top:1.2rem;display:grid;gap:.75rem}.company-grid article{background:#fff;padding:1.15rem;border:1px solid #e0e8eb;border-radius:12px;display:grid;grid-template-columns:48px 1fr auto;gap:1rem;align-items:center}.company-grid h3{margin:0 0 .15rem;font-size:1rem}.company-grid p,.company-grid small{margin:0;color:#748793;font-size:.78rem}.company-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:11px;background:#e7f3ef;color:#16836f;font-weight:700}.pill{color:#217a54;background:#e7f5ec;padding:.35rem .65rem;border-radius:999px;font-size:.72rem}.empty-state{padding:3rem;text-align:center;border:1px dashed #c8d6dc;border-radius:12px;color:#647985}.empty-state p{margin:.4rem 0 0}.metric-group{display:flex}.metric-group .metric+.metric{margin-left:1.5rem}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.link-button{padding:.25rem;background:transparent;color:#176c62;font-size:.75rem}.link-button:hover{background:transparent;transform:none;text-decoration:underline}.danger-link{color:#a33b36}.danger-button{background:#a33b36}.danger-button:hover{background:#812c28}.pill-inactive{color:#6d7f8e;background:#edf1f3}.inactive-row{opacity:.68;background:#f7f8f9!important}.secondary-button{color:#526c7a;background:#e8eef1}.secondary-button:hover{color:#314b59;background:#dce6ea}.form-actions{display:flex;gap:.55rem;align-items:center}.company-form .form-actions button{height:47px;white-space:nowrap}.info-note{padding:.8rem 1rem;margin-top:1rem;color:#526c7a;background:#edf4f6;border-radius:9px;font-size:.85rem}.filter-bar{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(160px,220px) minmax(240px,360px);margin-top:1.2rem}.filter-bar label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.vacation-list article{grid-template-columns:48px minmax(240px,1fr) auto}.vacation-list .employee-main small{display:block;margin-top:.2rem}.vacation-pendente,.vacation-validado,.vacation-em_alteracao{background:#fff4d9;color:#8b6419}.vacation-rejeitado,.vacation-cancelado{background:#fff0ef;color:#9f2d2d}.vacation-rascunho{background:#edf1f3;color:#607584}.attendance-filters{grid-template-columns:150px 150px minmax(200px,1fr) minmax(240px,1.4fr)}.attendance-table{display:grid;gap:.7rem;margin-top:1.2rem}.attendance-row{align-items:center;background:#fff;border:1px solid #e0e8eb;border-radius:12px;display:grid;gap:1rem;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(110px,.7fr)) auto;padding:1rem 1.15rem}.attendance-row div strong,.attendance-row div small,.attendance-row div span{display:block}.attendance-row div span,.attendance-row div small{color:#748793;font-size:.7rem}.attendance-row div>strong{font-size:.9rem;margin:.15rem 0}.attendance-absence,.attendance-less_than_six_hours,.attendance-incomplete_punches{border-left:4px solid #c54c45}.attendance-vacation,.attendance-partial_vacation,.attendance-holiday,.attendance-holiday_with_punches{border-left:4px solid #3b8dbd}.attendance-actions{align-items:flex-start;display:grid;gap:.4rem;justify-items:start}.clock-layout{display:grid;gap:1.2rem;grid-template-columns:minmax(300px,1.25fr) minmax(260px,.75fr);margin-top:1.2rem}.clock-card,.clock-help{background:#fff;border:1px solid #dce6e9;border-radius:18px;padding:clamp(1.4rem,4vw,2.4rem)}.clock-card{background:linear-gradient(145deg,#fff,#edf7f4);text-align:center}.live-clock{color:#102d41;font-size:clamp(3rem,8vw,5.5rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.06em;line-height:1}.clock-identity{margin:1.3rem 0 .8rem}.clock-identity strong,.clock-identity span{display:block}.clock-identity strong{font-size:1.25rem}.clock-identity span{color:#607584;margin-top:.25rem}.punch-button{font-size:1.05rem;margin-top:1rem;min-height:58px;width:min(100%,360px)}.success-note{background:#e7f5ec;border:1px solid #bfdfca;border-radius:9px;color:#217a54;margin:1rem auto 0;padding:.8rem 1rem}.clock-help{align-content:center;display:grid}.clock-help p:not(.eyebrow){color:#607584;line-height:1.6}.clock-help button{justify-self:start}.correction-form{max-width:640px}.web-punch-list,.correction-list{display:grid;gap:.7rem;margin-top:1.2rem}.web-punch-list article,.correction-list article{align-items:center;background:#fff;border:1px solid #e0e8eb;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.15rem}.web-punch-list strong,.web-punch-list small,.correction-list strong,.correction-list small{display:block}.web-punch-list small,.correction-list small{color:#748793;font-size:.75rem;margin-top:.2rem}.correction-list p{color:#405967;margin:.5rem 0}.correction-pending{background:#fff4d9;color:#8b6419}.correction-rejected,.correction-cancelled{background:#fff0ef;color:#9f2d2d}.punch-kind-toggle{background:#dfeae7;border-radius:12px;display:grid;gap:.3rem;grid-template-columns:1fr 1fr;margin:1rem auto 0;padding:.3rem;width:min(100%,360px)}.punch-kind-toggle button{background:transparent;color:#526c7a}.punch-kind-toggle button.active{background:#fff;box-shadow:0 2px 8px #102d4120;color:#16836f}.overview-metrics{display:grid;gap:.8rem;grid-template-columns:repeat(6,1fr);margin-top:1.2rem}.overview-metrics div{background:#fff;border:1px solid #e0e8eb;border-radius:12px;padding:1.1rem}.overview-metrics strong,.overview-metrics span{display:block}.overview-metrics strong{color:#16836f;font-size:1.8rem}.overview-metrics span{color:#607584;font-size:.75rem;margin-top:.2rem}.employee-form{margin-top:1.2rem;padding:1.3rem;border:1px solid #dce6e9;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:end}.employee-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.employee-form .form-actions{grid-column:1 / -1}.department-form{margin-top:1.2rem;padding:1.3rem;border:1px solid #dce6e9;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:end}.department-form label{margin:0}.department-form .form-actions{grid-column:1 / -1}.subsection-title{margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid #dce6e9}.schedule-form{margin-top:1.2rem;padding:1.3rem;border:1px solid #dce6e9;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:end}.schedule-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.schedule-form .wide-field,.schedule-form .form-actions{grid-column:1 / -1}.employee-table{margin-top:1.2rem;display:grid;gap:.75rem}.employee-table article{background:#fff;padding:1rem 1.15rem;border:1px solid #e0e8eb;border-radius:12px;display:grid;grid-template-columns:42px minmax(220px,1fr) auto auto;gap:1rem;align-items:center}.employee-main h3{margin:0 0 .15rem;font-size:1rem}.employee-main p,.employee-main small{margin:0;color:#748793;font-size:.78rem}.employee-main .schedule-summary{color:#183046;font-weight:700;margin-top:5px}.employee-avatar{width:42px;height:42px}.assignment-panel{background:#f8fafc;border:1px solid #dce6e9;border-radius:18px;margin:1.2rem 0 22px;padding:22px}.compact-title{margin-bottom:8px}.compact-title h3{margin:2px 0 0}.assignment-form{display:grid;gap:14px;grid-template-columns:2fr 1fr 1fr auto;margin:18px 0 22px}.assignment-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.assignment-form .form-actions{align-self:end}.assignment-form label small{color:#6d7f8e;font-size:.72rem;font-weight:500;margin-top:5px}.assignment-history h4{margin:0 0 10px}.assignment-row{align-items:center;background:#fff;border:1px solid #dce6e9;border-radius:12px;display:flex;justify-content:space-between;margin-top:8px;padding:12px 14px}.assignment-row small{color:#6d7f8e;display:block;margin-top:3px}.role-grid{display:grid;gap:.75rem;grid-template-columns:repeat(5,1fr);margin-top:1.2rem}.role-grid div{background:#edf4f6;border-radius:10px;padding:1rem}.role-grid strong,.role-grid small{display:block}.role-grid small{color:#607584;font-size:.72rem;line-height:1.4;margin-top:.35rem}.permission-form{margin-top:1.2rem;padding:1.3rem;border:1px solid #dce6e9;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:end}.permission-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.permission-form label small{color:#6d7f8e;font-size:.72rem;font-weight:500}.permission-form .form-actions{grid-column:1 / -1}.source-badge{padding:.3rem .5rem;background:#eef3f7;color:#587180;border-radius:6px;font-size:.65rem;font-weight:700;letter-spacing:.05em}.device-form{margin-top:1.2rem;padding:1.3rem;border:1px solid #dce6e9;border-radius:12px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:end}.device-form label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.device-form .form-actions{grid-column:1 / -1}.device-list article{grid-template-columns:48px minmax(260px,1fr) minmax(260px,auto)}.device-list small{display:block;margin-top:.2rem}.device-error{color:#9f2d2d!important}.event-list{background:#fff;border:1px solid #e0e8eb;border-radius:12px;margin-top:1.2rem;padding:0 1rem}.event-row{align-items:center;border-bottom:1px solid #e8eef1;display:flex;justify-content:space-between;gap:1rem;padding:.85rem .2rem}.event-row:last-child{border-bottom:0}.event-row strong,.event-row small{display:block}.event-row small,.event-row time{color:#748793;font-size:.75rem}.event-list>.muted{padding-top:1rem}.device-manager{background:#f8fafc;border:1px solid #dce6e9;border-radius:18px;margin-top:1.2rem;padding:1.4rem}.device-config-columns{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.device-config-columns>div{background:#fff;border:1px solid #e0e8eb;border-radius:12px;padding:1rem}.device-config-columns h4{margin:0 0 1rem}.compact-form{display:grid;gap:.8rem}.compact-form label{display:grid;gap:.35rem;font-size:.8rem;font-weight:600}.compact-form small{color:#6d7f8e;font-size:.7rem;font-weight:500}.device-users{border-top:1px solid #e0e8eb;margin-top:1rem;padding-top:.5rem}.device-users>div{align-items:center;border-bottom:1px solid #edf1f3;display:flex;justify-content:space-between;padding:.6rem 0}.device-users strong,.device-users small{display:block}.device-users small{color:#748793;font-size:.72rem}.status-grid,.time-pair{display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.compact-form fieldset{border:1px solid #dce6e9;border-radius:10px;display:grid;gap:.45rem;padding:.8rem}.compact-form legend{color:#607584;font-size:.8rem;font-weight:700}.check-label{align-items:center;display:flex!important;gap:.6rem!important}.check-label input{flex:0 0 auto;width:auto}.fingerprint-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.35rem 0}.fingerprint-chip{align-items:center;background:#edf4f6;border-radius:999px;display:flex;font-size:.75rem;font-weight:700;gap:.35rem;padding:.3rem .45rem .3rem .7rem}.settings-grid{display:grid;gap:1.2rem;grid-template-columns:1.4fr 1fr;margin-top:1.2rem}.settings-card{background:#fff;border:1px solid #e0e8eb;border-radius:14px;display:grid;gap:1rem;padding:1.4rem}.settings-card label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.settings-card h3{margin:0}@media (max-width: 850px){.login-shell{grid-template-columns:1fr}.brand-panel{display:none}.login-panel{min-height:100vh;padding:1.5rem}.mobile-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:3rem;font-size:1rem;font-weight:700;letter-spacing:.1em}.mobile-logo span{width:34px;height:34px;font-size:1rem}.app-shell{display:block}aside{position:static;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:.8rem 1rem;overflow:visible}aside nav{display:flex;flex-basis:100%;margin-top:.7rem;overflow-x:auto;order:3;padding-bottom:.2rem}aside nav a{flex:0 0 auto}aside .nav-group{display:none}.user-block{margin:0 0 0 auto;border:0;padding:0}.user-block div:not(.avatar){display:none}.workspace{padding:1.3rem}.hero-card{align-items:flex-start;gap:1rem}.metric{min-width:110px}.clock-layout,.company-form,.employee-form,.department-form,.schedule-form,.assignment-form,.permission-form,.device-form,.device-config-columns,.settings-grid,.filter-bar{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr 1fr}.employee-table article,.device-list article,.vacation-list article{grid-template-columns:42px 1fr}.employee-table .source-badge,.employee-table .row-actions,.device-list .row-actions,.vacation-list .pill{grid-column:2;justify-self:start}}@media (max-width: 560px){.status{display:none}.hero-card{display:block;padding:1.5rem}.metric-group{display:block}.metric-group .metric+.metric{margin-left:0}.metric{border:0;border-top:1px solid #cbded9;padding:1rem 0 0;margin-top:1.3rem;text-align:left}.section-title{align-items:flex-end}.section-title button{padding:.7rem;font-size:.8rem}.company-grid article{grid-template-columns:42px 1fr}.company-grid .row-actions{grid-column:2;justify-content:flex-start}}@media (max-width: 850px){.attendance-filters{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr 1fr}.attendance-row>div:first-child{grid-column:1 / -1}.attendance-row>.pill{justify-self:start}.overview-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.live-clock{font-size:3.2rem}.clock-card,.clock-help{padding:1.25rem}.web-punch-list article,.correction-list article{align-items:flex-start;flex-direction:column}.web-punch-list .row-actions,.correction-list .row-actions{justify-content:flex-start}.modal-form{max-height:94vh;width:calc(100vw - 1rem)}}
