:root{--bg:#f6f8f7;--surface:#fff;--surface-soft:#edf5f3;--text:#17211f;--muted:#60706c;--border:#d9e4e1;--primary:#14b8a6;--primary-dark:#0f766e;--accent:#f3c316;--danger:#b42318;--shadow:0 18px 50px #17211f14;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit}#root,.loading-screen,.login-shell,.app-shell{min-height:100vh}.loading-screen{color:var(--primary-dark);place-items:center;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:linear-gradient(135deg, #1118271a, #c9a95c1f), var(--bg);grid-template-columns:minmax(340px,470px) minmax(0,1fr);display:grid}.login-panel{background:var(--surface);box-shadow:var(--shadow);flex-direction:column;justify-content:center;gap:28px;padding:48px;animation:.52s ease-out both loginEnter;display:flex}.login-content{gap:24px;display:grid}@keyframes loginEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.brand-lockup,.sidebar-brand{align-items:center;gap:14px;display:flex}.platform-logo-mark{border:1px solid var(--border);background:#fff;border-radius:8px;place-items:center;width:72px;height:72px;display:grid}.platform-logo-mark img{object-fit:contain;width:56px;height:56px}.sidebar-brand img{object-fit:contain;border-radius:8px;width:64px;height:64px}.eyebrow{color:var(--primary-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.login-panel .eyebrow,.product-panel .eyebrow{color:#111827}.app-shell .eyebrow{color:var(--tenant-primary,var(--primary-dark))}.brand-lockup h1,.product-copy h2,.topbar h1,.module-card h2{letter-spacing:0;margin:0;line-height:1.08}.brand-lockup h1{max-width:260px;font-size:30px}.login-form{gap:16px;display:grid}.login-form label{color:var(--muted);margin-bottom:7px;font-size:14px;font-weight:700;display:block}.login-form input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);background:#fbfdfc;border-radius:8px;outline:none;padding:0 14px}.password-field{display:block;position:relative}.password-field input{padding-right:54px}.password-toggle{color:#5b6663;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin:auto 0;line-height:1;display:flex;position:absolute;top:0;bottom:0;right:8px}.password-toggle:hover{background:#eef2f1}.login-form input:focus{border-color:var(--entry-secondary,#111827);box-shadow:0 0 0 4px #1118271f}.form-message{color:var(--danger);margin:0;font-size:14px}.login-actions{gap:14px;display:grid}.login-form button[type=submit]{color:#fff;background:var(--entry-secondary,#111827);border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-weight:800;display:inline-flex}.text-button{width:fit-content;min-height:28px;color:var(--entry-secondary,#111827);text-align:left;text-underline-offset:4px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.text-button:disabled{opacity:.65}.login-note,.product-copy p,.module-card p{color:var(--muted);margin:0;line-height:1.55}.login-note{max-width:360px;font-size:14px}.login-footer,.product-footer{margin-top:auto;font-size:13px}.login-footer a,.product-footer a{color:var(--entry-secondary,#111827);font-weight:800;text-decoration:none}.login-footer a:hover,.product-footer a:hover{text-underline-offset:4px;text-decoration:underline}.product-panel{flex-direction:column;justify-content:center;gap:46px;padding:64px;animation:.65s ease-out .12s both productEnter;display:flex;position:relative}@keyframes productEnter{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.product-footer{position:absolute;bottom:28px;right:32px}.product-copy{max-width:670px}.product-copy h2{margin-bottom:18px;font-size:46px}.preview-stack{gap:14px;max-width:560px;display:grid}.preview-row{background:#17211f1f;border-radius:8px;height:18px}.preview-row.strong{background:var(--entry-secondary,#111827);width:72%}.preview-row.short{background:var(--entry-accent,#c9a95cd1);width:48%}.app-shell{background:var(--tenant-bg,var(--bg));grid-template-columns:280px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--tenant-secondary,#102421);color:#eaf7f5;flex-direction:column;gap:34px;padding:26px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:18px}.sidebar-brand span{color:#a8c9c3;font-size:13px}.sidebar nav{gap:8px;display:grid}.sidebar button{color:#d8ebe7;min-height:42px;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:flex}.sidebar button.active,.sidebar button:hover{color:#082f2b;background:var(--tenant-accent,var(--accent))}.workspace{min-width:0;padding:30px}.mobile-app-header,.bottom-nav{display:none}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.topbar h1{font-size:32px}.user-chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-width:0;padding:6px 6px 6px 14px;display:inline-flex}.user-chip span{max-width:240px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-chip button{width:34px;height:34px;color:var(--tenant-primary,var(--primary-dark));background:var(--surface-soft);border:0;border-radius:7px;place-items:center;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.metrics-grid div,.module-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 10px 26px #17211f0a}.metrics-grid div{padding:18px}.metrics-grid span{color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.metrics-grid strong{font-size:34px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.quick-actions button,.account-actions button{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:8px;align-items:center;font-weight:800;display:flex}.quick-actions button{justify-content:center;gap:8px;min-height:46px}.quick-actions button:first-child{color:#082f2b;background:var(--tenant-accent,var(--accent));border-color:#0000}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.module-card{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px;display:grid}.module-card-button{border:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer}.module-card-button:hover{border-color:color-mix(in srgb, var(--tenant-primary,var(--primary-dark)) 34%, var(--border));transform:translateY(-1px);box-shadow:0 14px 32px #17211f14}.module-icon{width:44px;height:44px;color:var(--tenant-primary,var(--primary-dark));background:var(--surface-soft);border-radius:8px;place-items:center;display:grid}.module-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.module-heading h2{font-size:18px}.module-heading span{color:#5a4100;background:#f3c31633;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:800}.placeholder-section,.account-card,.account-actions{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 10px 26px #17211f0a}.placeholder-section{gap:18px;max-width:760px;padding:22px;display:grid}.placeholder-section p{color:var(--muted);margin:0;line-height:1.55}.module-workspace,.admin-section{gap:14px;max-width:920px;display:grid}.module-hero,.admin-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 10px 26px #17211f0a}.module-hero{color:var(--tenant-primary,var(--primary-dark));justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.module-hero h2{letter-spacing:0;margin:0;font-size:26px}.module-hero p{max-width:620px;color:var(--muted);margin:8px 0 0;line-height:1.5}.module-columns{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.admin-panel{gap:18px;padding:20px;display:grid}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);font:inherit;background:#fbfdfc;border-radius:8px;outline:none;padding:0 12px}.admin-form textarea{resize:vertical;min-height:104px;padding:12px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--tenant-primary,var(--primary-dark));box-shadow:0 0 0 4px #10b9811f}.admin-form-wide{grid-column:1/-1}.admin-primary-button{color:#082f2b;background:var(--tenant-accent,var(--accent));border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-weight:900;display:inline-flex}.admin-primary-button:disabled{cursor:not-allowed;opacity:.62}.admin-summary-grid,.finance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.admin-summary-grid div,.finance-grid div,.payment-preview div{border:1px solid var(--border);background:#fbfdfc;border-radius:8px;padding:14px}.admin-summary-grid span,.finance-grid span,.payment-preview span{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:800;display:block}.admin-summary-grid strong,.finance-grid strong,.payment-preview strong{color:var(--text);font-size:24px;line-height:1.15}.admin-list,.workflow-list,.payment-preview{gap:10px;display:grid}.admin-list-row,.workflow-list div{border-top:1px solid var(--border);gap:4px;padding-top:12px;display:grid}.admin-list-row:first-child,.workflow-list div:first-child{border-top:0;padding-top:0}.admin-list-row strong{color:var(--text)}.admin-list-row span,.workflow-list span,.admin-empty{color:var(--muted);line-height:1.45}.workflow-list div{grid-template-columns:42px minmax(0,1fr);align-items:center}.workflow-list strong{width:34px;height:34px;color:var(--tenant-primary,var(--primary-dark));background:var(--surface-soft);border-radius:8px;place-items:center;display:grid}.section-title-row{color:var(--tenant-primary,var(--primary-dark));justify-content:space-between;align-items:center;gap:18px;display:flex}.section-title-row h2,.account-profile h2{letter-spacing:0;margin:0}.ponto-section{gap:14px;max-width:760px;display:grid}.ponto-status-card,.ponto-card,.ponto-note{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 10px 26px #17211f0a}.ponto-status-card{justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.ponto-status-card h2,.ponto-card h2{letter-spacing:0;margin:0}.ponto-status-card span{color:var(--muted);margin-top:6px;font-weight:700;display:block}.ponto-status-icon{width:54px;height:54px;color:var(--tenant-primary,var(--primary));background:color-mix(in srgb, var(--tenant-primary,var(--primary)) 10%, #fff);border-radius:8px;flex:none;place-items:center;display:grid}.ponto-status-card.is-open{border-color:color-mix(in srgb, var(--tenant-accent,var(--accent)) 55%, var(--border))}.ponto-card{gap:16px;padding:18px;display:grid}.ponto-field{color:var(--muted);gap:7px;font-size:13px;font-weight:900;display:grid}.ponto-field select{border:1px solid var(--border);min-height:50px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:0 14px;font-weight:700}.ponto-project-summary,.ponto-note{color:var(--muted);align-items:flex-start;gap:10px;font-weight:700;display:flex}.ponto-project-summary{border:1px solid var(--border);background:var(--soft-surface);border-radius:8px;padding:12px}.ponto-button,.ponto-break-action{font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.ponto-button{color:#082f2b;background:color-mix(in srgb, var(--tenant-accent,var(--accent)) 88%, #fff);gap:10px;min-height:54px}.ponto-button-out{color:#fff;background:var(--danger)}.ponto-button:disabled,.ponto-break-action:disabled{cursor:not-allowed;opacity:.64}.ponto-message{color:var(--danger);margin:0;font-weight:800}.ponto-empty,.ponto-loading{color:var(--muted);align-items:flex-start;gap:12px;display:flex}.ponto-empty strong{color:var(--text);display:block}.ponto-empty p,.ponto-note p{margin:3px 0 0}.ponto-break-list,.ponto-history{display:grid}.ponto-break-row,.ponto-history-row{border-top:1px solid var(--border);gap:12px;padding:14px 0;display:grid}.ponto-break-row{grid-template-columns:42px minmax(0,1fr) auto;align-items:center}.ponto-break-row:first-child,.ponto-history-row:first-child{border-top:0;padding-top:0}.ponto-break-row:last-child,.ponto-history-row:last-child{padding-bottom:0}.ponto-break-icon{width:42px;height:42px;color:var(--tenant-primary,var(--primary));background:var(--soft-surface);border-radius:8px;place-items:center;display:grid}.ponto-break-row.is-open .ponto-break-icon{color:#082f2b;background:color-mix(in srgb, var(--tenant-accent,var(--accent)) 70%, #fff)}.ponto-break-row.is-done .ponto-break-icon{color:#047857;background:#d1fae5}.ponto-break-copy{gap:3px;min-width:0;display:grid}.ponto-break-copy strong,.ponto-history-row strong{color:var(--text);line-height:1.2}.ponto-break-copy span,.ponto-break-copy small,.ponto-history-row span{color:var(--muted);font-weight:700}.ponto-break-copy small{color:var(--tenant-primary,var(--primary))}.ponto-break-action{min-height:42px;color:var(--tenant-primary,var(--primary));background:color-mix(in srgb, var(--tenant-primary,var(--primary)) 9%, #fff);padding:0 14px}.ponto-break-action.is-ending{color:#fff;background:var(--tenant-primary,var(--primary))}.ponto-history-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.ponto-history-row>div{gap:4px;min-width:0;display:grid}.status-pill{color:#075985;background:#e0f2fe;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.status-pill.approved{color:#047857;background:#d1fae5}.status-pill.needs_review{color:#92400e;background:#fef3c7}.status-pill.rejected{color:#b91c1c;background:#fee2e2}.ponto-note{background:color-mix(in srgb, var(--tenant-primary,var(--primary)) 5%, #fff);padding:14px}.account-section{gap:14px;max-width:760px;display:grid}.account-card{padding:18px}.account-profile{display:block}.account-profile h2{font-size:24px}.account-message{color:var(--tenant-primary,var(--primary-dark));background:#14b8a614;border:1px solid #14b8a63d;border-radius:8px;margin:0;padding:12px 14px;font-size:14px;font-weight:700}.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.account-info-card{border:1px solid var(--border);color:inherit;background:var(--surface);text-align:left;border-radius:8px;gap:8px;padding:16px;display:grid;box-shadow:0 10px 26px #17211f0a}.account-info-button{cursor:pointer}.account-info-button:focus-visible,.account-actions button:focus-visible{outline-offset:2px;outline:3px solid #14b8a640}.account-info-card span{color:var(--muted);font-size:13px;font-weight:800}.account-info-card strong{color:var(--text);font-size:18px;line-height:1.2}.account-actions{display:grid;overflow:hidden}.account-actions button{min-height:64px;color:var(--text);border-width:0 0 1px;border-radius:0;justify-content:flex-start;gap:12px;padding:0 16px}.account-actions button:disabled{opacity:.7}.account-actions button>span{text-align:left;gap:3px;min-width:0;display:grid}.account-actions small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.3}.account-actions button:last-child{border-bottom:0}.account-actions .logout-action{color:var(--danger)}.modal-backdrop{z-index:50;background:#0f172a61;place-items:end center;padding:18px;display:grid;position:fixed;inset:0}.account-modal{background:var(--surface);border-radius:8px;width:min(100%,520px);max-height:min(76vh,620px);padding:18px;overflow:auto;box-shadow:0 26px 70px #0f172a38}.account-modal header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.account-modal h2{letter-spacing:0;margin:0;font-size:22px}.account-modal header button{width:38px;height:38px;color:var(--text);background:var(--surface-soft);border:0;border-radius:8px;place-items:center;display:grid}.details-list{gap:10px;margin:0;display:grid}.details-list div{border:1px solid var(--border);background:#fbfdfc;border-radius:8px;gap:4px;padding:12px;display:grid}.details-list dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.details-list dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:800}.permissions-panel{gap:14px;display:grid}.permissions-panel p{color:var(--muted);margin:0;line-height:1.5}.permissions-panel ul{gap:10px;margin:0;padding-left:20px;display:grid}.permissions-panel li{color:var(--text);line-height:1.45}@media (width<=900px){.login-shell,.app-shell{grid-template-columns:1fr}.product-panel,.sidebar{display:none}.workspace{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px calc(92px + env(safe-area-inset-bottom))}.mobile-app-header{align-items:center;gap:12px;margin-bottom:22px;display:flex}.mobile-app-header img{border:1px solid var(--border);object-fit:contain;background:#fff;border-radius:8px;width:58px;height:58px}.mobile-app-header strong,.mobile-app-header span{display:block}.mobile-app-header strong{color:var(--text);font-size:20px;line-height:1.15}.mobile-app-header span{color:var(--muted);margin-top:4px;font-size:14px}.metrics-grid,.module-grid,.quick-actions,.account-summary-grid,.module-columns,.admin-form,.admin-summary-grid,.finance-grid{grid-template-columns:1fr}.admin-form-wide{grid-column:auto}.topbar{align-items:flex-start;margin-bottom:18px}.topbar .user-chip{display:none}.ponto-break-row{grid-template-columns:40px minmax(0,1fr)}.ponto-break-action{grid-column:1/-1;width:100%}.ponto-history-row{grid-template-columns:1fr}.status-pill{justify-self:start}.bottom-nav{z-index:30;border-top:1px solid var(--border);padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 26px #17211f14}.bottom-nav button{min-width:0;min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;font-size:11px;font-weight:800;line-height:1.1;display:grid}.bottom-nav button.active{color:#082f2b;background:color-mix(in srgb, var(--tenant-accent,var(--accent)) 82%, #fff)}.bottom-nav span{margin-top:3px}.modal-backdrop{padding:10px}.account-modal{max-height:82vh}}@media (width<=560px){.login-shell{background:var(--surface);min-height:100dvh}.login-panel{min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom));box-shadow:none;justify-content:flex-start;gap:18px}.login-content{gap:20px;padding-top:8px}.brand-lockup{align-items:center}.platform-logo-mark{width:58px;height:58px}.platform-logo-mark img{width:44px;height:44px}.brand-lockup h1{max-width:none;font-size:28px}.topbar h1{font-size:25px}.metrics-grid{gap:10px;margin-bottom:14px}.metrics-grid div{padding:16px}.metrics-grid strong{font-size:30px}.quick-actions{gap:10px;margin-bottom:14px}.module-card{gap:12px;padding:16px}.module-hero,.admin-panel{padding:16px}.module-hero h2{font-size:24px}.login-form{gap:14px}.login-form input{min-height:46px}.login-form button[type=submit]{min-height:48px}.login-note{max-width:none;font-size:13px;line-height:1.45}.login-footer{text-align:right;width:100%;padding-top:10px}}
