:root{--font-sans:"Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-mono:"Geist Mono",monospace;--font-numeric:"Geist",sans-serif;--color-bg:#fff;--color-bg-subtle:#f8f9fa;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-text-primary:#1c1c1c;--color-text-secondary:#595959;--color-text-tertiary:#8c8c8c;--color-primary:#24b47e;--color-primary-hover:#1a9d6c;--color-primary-dark:#1a9d6c;--color-primary-text:#fff;--color-border:#e0e0e0;--color-border-hover:#bfbfbf;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-glass:0 8px 32px 0 #1f268712;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px}[data-theme=dark]{--color-bg:#1a1a1a;--color-bg-subtle:#2d2d2d;--color-bg-surface:#2d2d2d;--color-bg-elevated:#3f3f3f;--color-text-primary:#ededed;--color-text-secondary:#a3a3a3;--color-text-tertiary:#737373;--color-primary:#3ecf8e;--color-primary-hover:#2fb574;--color-primary-dark:#2fb574;--color-primary-text:#1a1a1a;--color-border:#404040;--color-border-hover:#525252;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 6px -1px #0009,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0009,0 4px 6px -2px #0000004d;--shadow-glass:0 8px 32px 0 #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:600;line-height:1.2}h1{font-size:1.8rem}h2{font-size:1.35rem}h3{font-size:1.05rem}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}.container{width:100%;padding:0 1rem}.glass-panel{-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-glass);border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid #ffffff1a}@media (prefers-color-scheme:light){.glass-panel{background:#ffffffb3;border:1px solid #0000000d}}.btn{border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-outline{border-color:var(--color-border);color:var(--color-text-primary);background-color:#0000}.btn-outline:hover{border-color:var(--color-text-secondary);background-color:var(--color-bg-subtle)}.text-gradient{background:linear-gradient(135deg,var(--color-primary)0%,#24b47e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-success{color:var(--color-primary)!important}.text-danger{color:#ef4444!important}.text-muted{color:var(--color-text-tertiary)!important}.text-right{text-align:right}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.flex-col{flex-direction:column}.justify-between{justify-content:space-between}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.font-numeric{font-family:var(--font-numeric)}.page-loading{justify-content:center;align-items:center;width:100%;min-height:60vh;display:flex}.success-icon{justify-content:center;margin-bottom:1.5rem;display:flex}.icon-circle{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-hover)100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;animation:.3s ease-out scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.info-box{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:1.5rem 0;padding:1rem}.info-box p{color:var(--color-text-secondary);margin:.5rem 0;font-size:.875rem}.info-box p:first-child{margin-top:0}.info-box p:last-child{margin-bottom:0}.text-link{color:var(--color-primary);align-items:center;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-flex}.text-link:hover{color:var(--color-primary-hover);text-decoration:underline}.text-center{text-align:center}.alert{border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}[data-theme=dark] .alert-error{color:#fecaca;background:#7f1d1d;border:1px solid #991b1b}.role-badge{text-transform:lowercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.role-badge.owner{color:#f59e0b;background-color:#f59e0b1a;border:1px solid #f59e0b33}.role-badge.admin{color:#3b82f6;background-color:#3b82f61a;border:1px solid #3b82f633}.role-badge.member{background-color:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.role-badge.accountant{color:#10b981;background-color:#10b9811a;border:1px solid #10b98133}.role-badge.lawyer{color:#6366f1;background-color:#6366f11a;border:1px solid #6366f133}.user-menu-role{width:max-content;margin-top:.25rem;display:inline-flex}
