:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f5f7;--card-bg:#fff;--text:#3a3a3a;--text-secondary:#4b4f58;--text-muted:#767a82;--border:#e1e4e8;--border-input:#d0d3d8;--accent:#0170b9;--accent-hover:#015a94;--accent-bg:#e6f2fa;--accent-border:#b8dcf0;--success:#2e7d32;--success-bg:#e8f5e9;--danger:#c0392b;--danger-bg:#fdecea;--warning:#b7791f;--warning-bg:#fff8e1}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16171d;--card-bg:#1e1f26;--text:#e6e6e6;--text-secondary:#b0b3b8;--text-muted:#8a8d93;--border:#34363d;--border-input:#45484f;--accent:#4fa9e0;--accent-hover:#6cbaea;--accent-bg:#17324a;--accent-border:#2a5478;--success:#66bb6a;--success-bg:#1c3320;--danger:#e57373;--danger-bg:#3a2020;--warning:#e0b04f;--warning-bg:#3a3120}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text)}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.login-page{min-height:100vh;display:flex}.login-hero{background:linear-gradient(135deg, var(--accent) 0%, #023a5e 100%);color:#fff;flex:1.2;justify-content:center;align-items:center;padding:3rem;display:flex}.login-hero h1{margin:0 0 .5rem;font-size:2.6rem}.login-hero p{opacity:.9;max-width:26rem;font-size:1.1rem}.login-form-panel{background:var(--bg);flex:1;justify-content:center;align-items:center;min-width:22rem;display:flex;position:relative}.theme-toggle-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;position:absolute;top:1.2rem;right:1.2rem}.login-card{background:var(--card-bg);border:1px solid var(--border);text-align:center;border-radius:16px;width:22rem;padding:2.5rem}.login-card h1{margin:0 0 .5rem;font-size:1.6rem}.login-card p{color:var(--text-muted);margin-bottom:1.5rem}.login-card button{background:var(--accent);color:#fff;border:none;border-radius:8px;width:100%;padding:.75rem;font-size:.95rem;font-weight:600}.login-card button:hover:not(:disabled){background:var(--accent-hover)}.login-card button:disabled{opacity:.6;cursor:default}.onboarding-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.onboarding-choices{flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:44rem;display:flex}.onboarding-choice{background:var(--card-bg);border:2px solid var(--border);text-align:left;border-radius:16px;width:18rem;padding:2rem;transition:border-color .15s}.onboarding-choice:hover{border-color:var(--accent)}.onboarding-choice h2{margin:0 0 .5rem}.onboarding-choice p{color:var(--text-muted);margin:0 0 1.5rem}.onboarding-choice button{background:var(--accent);color:#fff;border:none;border-radius:8px;width:100%;padding:.7rem;font-weight:600}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--card-bg);justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex}.app-header .brand{color:var(--accent);font-size:1.2rem;font-weight:700}.app-nav{gap:.4rem;display:flex}.app-nav a,.app-nav .nav-link{color:var(--text-secondary);border-radius:8px;padding:.4rem .8rem;font-size:.92rem;text-decoration:none}.app-nav a.active,.app-nav .nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.app-header-actions{align-items:center;gap:.8rem;display:flex}.app-main{flex:1;width:100%;max-width:68rem;margin:0 auto;padding:1.8rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.4rem}.card+.card{margin-top:1rem}.page-title{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.page-title h1{margin:0;font-size:1.5rem}.btn{border:1px solid #0000;border-radius:8px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-color:var(--border-input);color:var(--text);background:0 0}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-bg)}.btn:disabled{opacity:.55;cursor:default}.form-field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.form-field label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-row{gap:1rem;display:flex}.form-row .form-field{flex:1}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--border-input);background:var(--bg);color:var(--text);border-radius:8px;padding:.6rem .7rem;font-size:.92rem}.form-field textarea{resize:vertical;min-height:5rem}.checkbox-grid{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.4rem;max-height:16rem;padding:.8rem;display:grid;overflow-y:auto}.checkbox-grid label{align-items:center;gap:.4rem;font-size:.88rem;display:flex}.badge{border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-aberto{background:var(--accent-bg);color:var(--accent)}.badge-em_curso{background:var(--warning-bg);color:var(--warning)}.badge-concluido{background:var(--success-bg);color:var(--success)}.badge-cancelado{background:var(--danger-bg);color:var(--danger)}.badge-pendente{background:var(--warning-bg);color:var(--warning)}.badge-aceite,.badge-aprovado{background:var(--success-bg);color:var(--success)}.badge-rejeitada,.badge-retirada,.badge-rejeitado{background:var(--danger-bg);color:var(--danger)}.list-item{border:1px solid var(--border);border-radius:10px;margin-bottom:.8rem;padding:1rem 1.2rem}.list-item-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem;display:flex}.list-item-header h3{margin:0;font-size:1.05rem}.list-item-meta{color:var(--text-muted);margin:.2rem 0;font-size:.85rem}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-bottom:1rem;padding:.7rem 1rem;font-size:.9rem}.actions-row{flex-wrap:wrap;gap:.6rem;margin-top:.6rem;display:flex}.subarea-list{flex-direction:column;gap:.5rem;margin:.8rem 0;display:flex}.subarea-row{align-items:center;gap:.6rem;display:flex}.subarea-row input{border:1px solid var(--border-input);background:var(--bg);color:var(--text);border-radius:8px;flex:1;padding:.5rem .7rem;font-size:.88rem}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;display:grid}.portfolio-item{border:1px solid var(--border);border-radius:10px;overflow:hidden}.portfolio-item h3{margin:.6rem .8rem .2rem;font-size:.98rem}.portfolio-item p{color:var(--text-secondary);margin:0 .8rem .8rem;font-size:.88rem}.portfolio-image{object-fit:cover;background:var(--border);width:100%;height:10rem;display:block}.doc-list{flex-direction:column;gap:.5rem;margin:.8rem 0;display:flex}.doc-row{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .8rem;font-size:.9rem;display:flex}.approval-banner{border-radius:10px;margin-bottom:1.2rem;padding:.9rem 1.1rem;font-size:.92rem}.approval-banner-pendente{background:var(--warning-bg);color:var(--warning)}.approval-banner-aprovado{background:var(--success-bg);color:var(--success)}.approval-banner-rejeitado{background:var(--danger-bg);color:var(--danger)}.star-rating{gap:.15rem;font-size:1.3rem;line-height:1;display:inline-flex}.star-rating .star{color:var(--border-input)}.star-rating .star.filled{color:#e0a940}.star-rating:not(.is-readonly) .star{cursor:pointer}.star-rating-empty{color:var(--text-muted);font-size:.85rem}.rating-summary{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.review-item{border:1px solid var(--border);border-radius:10px;margin-bottom:.8rem;padding:1rem 1.2rem}.review-item-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem;display:flex}.review-recommend{font-size:.82rem;font-weight:600}.review-recommend.yes{color:var(--success)}.review-recommend.no{color:var(--text-muted)}
