@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
:root{--background:#f0f4f8;--foreground:#0f172a;--primary:#2563eb;--primary-hover:#1d4ed8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #1f268712;--font-base:"Outfit", sans-serif;--border-radius:16px}@media (prefers-color-scheme:dark){:root{--background:#0f172a;--foreground:#f8fafc;--glass-bg:#1e293b99;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px 0 #0000004d}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-base);flex-direction:column;min-height:100vh;transition:background-color .3s;display:flex;overflow-x:hidden}body:before,body:after{content:"";z-index:-1;filter:blur(100px);opacity:.5;border-radius:50%;position:fixed}body:before{background:var(--primary);width:40vw;height:40vw;top:-10%;left:-10%}body:after{background:#38bdf8;width:30vw;height:30vw;bottom:-10%;right:-10%}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:.5s both fadeIn}.animate-slide-up{animation:.6s both slideUp}.animate-pulse{animation:2s ease-in-out infinite pulse}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius);padding:2rem}h1,h2,h3,h4{margin-bottom:1rem;font-weight:600}.container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.btn-primary,.btn-secondary,.btn-danger,.btn-outline,.btn-success{cursor:pointer;font-size:1rem;font-weight:500;font-family:var(--font-base);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{color:var(--foreground);background:#94a3b833}.btn-secondary:hover{background:#94a3b866;transform:translateY(-2px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-outline{color:var(--foreground);border:1px solid var(--foreground);background:0 0}.btn-outline:hover{background:var(--foreground);color:var(--background);transform:translateY(-2px)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-primary:disabled,.btn-success:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.input-field{width:100%;color:var(--foreground);font-family:var(--font-base);background:#ffffff80;border:1px solid #94a3b866;border-radius:8px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:all .2s}@media (prefers-color-scheme:dark){.input-field{background:#0f172a80}}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb33}select.input-field option{background:var(--background);color:var(--foreground)}.label{color:inherit;margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-group{margin-bottom:1.5rem}.status-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.8rem;font-weight:600;display:inline-flex}.status-badge--pendente{color:var(--primary);background:#2563eb1f}.status-badge--visualizado{color:var(--warning);background:#f59e0b26}.status-badge--assinado{color:var(--success);background:#10b98126}.status-badge .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.status-badge--pendente .dot,.status-badge--visualizado .dot{animation:2s ease-in-out infinite pulse}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.metric-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.metric-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.metric-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex}.metric-info{flex-direction:column;display:flex}.metric-value{font-size:1.8rem;font-weight:700;line-height:1}.metric-label{opacity:.7;margin-top:.2rem;font-size:.8rem}.filter-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.filter-bar select{border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--foreground);font-family:var(--font-base);cursor:pointer;border-radius:8px;outline:none;padding:.5rem 1rem;font-size:.9rem;transition:border-color .2s}.filter-bar select:focus{border-color:var(--primary)}.contract-card{border-radius:12px;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s;animation:.4s both fadeIn;display:flex}.contract-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.template-card{border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:transform .2s;display:flex}.template-card:hover{transform:translateY(-2px)}.template-questions{transition:max-height .3s,opacity .3s;overflow:hidden}.template-questions.collapsed{opacity:0;max-height:0}.template-questions.expanded{opacity:1;max-height:500px}.question-tag{color:var(--primary);background:#2563eb14;border-radius:6px;margin:.2rem;padding:.3rem .7rem;font-size:.78rem;font-weight:500;display:inline-block}.question-tag--boolean{color:var(--warning);background:#f59e0b1a}@media (max-width:900px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.container{padding:1rem}.glass-panel{padding:1.25rem}.metrics-grid{grid-template-columns:1fr 1fr;gap:.75rem}.metric-card{padding:1rem}.metric-icon{width:40px;height:40px;font-size:1.1rem}.metric-value{font-size:1.4rem}.filter-bar{flex-direction:column}.filter-bar select{width:100%}h1{font-size:1.5rem!important}}
