@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";
:root{--color-primary:coral;--color-primary-gradient:linear-gradient(135deg,coral 0%,#ff512f 100%);--color-primary-hover:#e06c42;--color-success:#10b981;--color-danger:#ef4444;--color-background:#f0f4f8;--color-surface:#ffffffd9;--color-surface-solid:#fff;--color-text:#1e293b;--color-text-light:#64748b;--color-border:#e2e8f099;--shadow-sm:0 2px 4px #00000005;--shadow-md:0 4px 12px #0000000d,0 2px 4px #00000008;--shadow-lg:0 15px 35px #00000014,0 5px 15px #0000000a;--shadow-glow:0 8px 25px -4px #ff7f5080;--shadow-inner:inset 0 2px 4px #00000005;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:2rem;--transition-smooth:all .4s cubic-bezier(.16,1,.3,1);--glass-blur:blur(16px)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15%,#ff7f5014,#0000 25%),radial-gradient(circle at 85% 30%,#10b9810d,#0000 25%);background-attachment:fixed;font-family:Outfit,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:Outfit,sans-serif}input{font-family:Outfit,sans-serif}.glass-panel{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);border:1px solid #ffffffb3}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{width:100%;max-width:440px;padding:3.5rem;animation:.8s cubic-bezier(.16,1,.3,1) floatUp}.auth-card h1{color:var(--color-text);text-align:center;background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.2rem;font-weight:800}.auth-card p{color:var(--color-text-light);text-align:center;margin-bottom:2.5rem;font-size:1rem;font-weight:500}.auth-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-left:.5rem;font-size:.85rem;font-weight:700}.form-group input{border-radius:var(--radius-md);transition:var(--transition-smooth);box-shadow:var(--shadow-inner);background:#ffffffe6;border:2px solid #0000;padding:1rem 1.2rem;font-size:1.05rem}.form-group input:focus{background:var(--color-surface-solid);border-color:#ff7f5066;outline:none;box-shadow:0 0 0 4px #ff7f501a}.error-message{color:var(--color-danger);text-align:center;border-radius:var(--radius-sm);border-left:4px solid var(--color-danger);background:#ef44441a;padding:.75rem;font-size:.9rem;font-weight:600;animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}.btn-primary{background:var(--color-primary-gradient);color:#fff;border-radius:var(--radius-md);width:100%;transition:var(--transition-smooth);box-shadow:var(--shadow-glow);padding:1rem 1.5rem;font-size:1.1rem;font-weight:700;position:relative;overflow:hidden}.btn-primary:after{content:"";opacity:0;background:linear-gradient(#fff3,#0000);width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.btn-primary:hover:not(:disabled){transform:translateY(-3px)scale(1.02);box-shadow:0 12px 30px -4px #ff7f5099}.btn-primary:hover:not(:disabled):after{opacity:1}.btn-primary:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;background:#cbd5e1}.text-btn{color:var(--color-primary);transition:var(--transition-smooth);align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.text-btn:hover{filter:brightness(.9);transform:translateY(-1px)}.auth-switch{text-align:center;margin-top:2rem}.dashboard-layout{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);width:280px;-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--color-border);z-index:10;flex-direction:column;gap:2.5rem;padding:2.5rem 2rem;display:flex;box-shadow:2px 0 10px #00000005}.sidebar-logo{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.75rem;font-size:1.8rem;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;gap:.5rem;display:flex}.sidebar-link{border-radius:var(--radius-md);color:var(--color-text-light);transition:var(--transition-smooth);align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:600;display:flex}.sidebar-link:hover,.sidebar-link.active{color:var(--color-primary);background:#ff7f5014;transform:translate(4px)}.sidebar-link svg{transition:var(--transition-smooth)}.sidebar-link:hover svg,.sidebar-link.active svg{transform:scale(1.1)}.main-content{flex:1;padding:2.5rem 3.5rem;overflow-y:auto}.header{justify-content:space-between;align-items:flex-start;margin-bottom:3rem;animation:.8s ease-out fadeIn;display:flex}.header h2{color:var(--color-text);letter-spacing:-.02em;font-size:2rem;font-weight:800}.header-role{color:var(--color-primary);border-radius:var(--radius-sm);vertical-align:middle;background:#ff7f501a;margin-left:.5rem;padding:.2rem .6rem;font-size:.9rem;font-weight:700}.workspace-tabs{border-radius:var(--radius-lg);background:#e2e8f066;gap:.5rem;margin-top:1.25rem;padding:.35rem;display:inline-flex}.workspace-tab{border-radius:var(--radius-md);transition:var(--transition-smooth);color:var(--color-text-light);align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:700;display:flex}.workspace-tab.active{background:var(--color-surface-solid);color:var(--color-primary);box-shadow:var(--shadow-sm)}.user-profile{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);flex-direction:column;align-items:flex-end;gap:.2rem;padding:1rem 1.5rem;display:flex}.user-profile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-cards{perspective:1000px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.card{transition:var(--transition-smooth);padding:1.8rem;animation:.6s cubic-bezier(.16,1,.3,1) backwards floatUp;position:relative;overflow:hidden}.card:first-child{animation-delay:.1s}.card:nth-child(2){animation-delay:.2s}.card:nth-child(3){animation-delay:.3s}.card:before{content:"";background:var(--color-border);width:100%;height:4px;transition:var(--transition-smooth);position:absolute;top:0;left:0}.card:hover{box-shadow:var(--shadow-lg);border-color:#ffffffe6;transform:translateY(-5px)rotateX(2deg)}.card:hover:before{background:var(--color-primary-gradient)}.card-title{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.95rem;font-weight:700;display:flex}.card-value{color:var(--color-text);letter-spacing:-.03em;font-size:2.5rem;font-weight:800}.card-value.income{color:var(--color-success)}.card-value.expense{color:var(--color-danger)}.transactions-section{padding:2rem;animation:.8s ease-out .4s backwards fadeIn}.transactions-section h3{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.4rem;font-weight:800;display:flex}.empty-state{text-align:center;color:var(--color-text-light);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.empty-state svg{color:var(--color-primary);opacity:.5}.transactions-table{border-collapse:separate;border-spacing:0 .5rem;width:100%;margin-top:.5rem}.transactions-table th{text-align:left;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.25rem;font-size:.85rem;font-weight:700}.transactions-table tr{transition:var(--transition-smooth)}.transactions-table tbody tr{background:var(--color-surface-solid);box-shadow:var(--shadow-sm);border-radius:var(--radius-md)}.transactions-table tbody tr:hover{box-shadow:var(--shadow-md);transform:translate(4px)scale(1.01)}.transactions-table td{color:var(--color-text);padding:1.25rem;font-weight:500}.transactions-table td:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.transactions-table td:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.badge{border-radius:2rem;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.85rem;font-weight:700;display:inline-flex}.badge.income{color:#047857;background:#10b9811a;border:1px solid #10b98133}.badge.expense{color:#b91c1c;background:#ef44441a;border:1px solid #ef444433}.chart-container{justify-content:center;align-items:flex-end;gap:2rem;height:250px;padding:2rem 0 1rem;display:flex}.chart-bar-wrapper{flex-direction:column;flex:1;align-items:center;gap:.5rem;max-width:100px;display:flex}.chart-value{font-size:.9rem;font-weight:700}.chart-bar{border-radius:var(--radius-md)var(--radius-md)0 0;width:100%;transition:height 1s cubic-bezier(.16,1,.3,1);box-shadow:0 -4px 15px #0000001a}.qr-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-top:1rem;padding:3rem;display:flex}.qr-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;margin:1.5rem 0;padding:.5rem;transition:transform .3s}.qr-image:hover{transform:scale(1.05)}@keyframes floatUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@media (max-width:900px){.dashboard-layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--color-border);flex-direction:column;width:100%;padding:1.5rem}.sidebar-nav{flex-flow:wrap;justify-content:center}.main-content{padding:1.5rem}.header{text-align:center;flex-direction:column;align-items:center;gap:1.5rem}.user-profile{align-items:center}.summary-cards{grid-template-columns:1fr}}
