:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-hover: #22222f;--text-primary: #f0f0f5;--text-secondary: #a0a0b0;--text-muted: #606070;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--success: #22c55e;--success-bg: rgba(34, 197, 94, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--error: #ef4444;--error-bg: rgba(239, 68, 68, .1);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .1);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(99, 102, 241, .15);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:clamp(1.5rem,4vw,2rem)}h2{font-size:clamp(1.25rem,3vw,1.5rem)}h3{font-size:clamp(1.1rem,2.5vw,1.25rem)}h4{font-size:1.125rem}p{color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md);color:var(--text-secondary);padding:var(--spacing-lg)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--bg-primary);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(99,102,241,.08) 0%,transparent 50%);animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.login-card{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg),var(--shadow-glow)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{width:64px;height:64px;background:var(--accent-gradient);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);font-size:1.75rem;font-weight:700;color:#fff;box-shadow:var(--shadow-md)}.login-header h1{font-size:1.75rem;margin-bottom:var(--spacing-xs)}.login-header p{font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f126}.form-input::placeholder{color:var(--text-muted)}.error-message{background:var(--error-bg);color:var(--error);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:.95rem;font-weight:500;font-family:inherit;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-danger{background:var(--error-bg);color:var(--error)}.btn-danger:hover:not(:disabled){background:var(--error);color:#fff}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.btn-full{width:100%}.app-layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-md) var(--spacing-lg);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.header-brand{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;flex-shrink:0}.header-logo{width:36px;height:36px;background:var(--accent-gradient);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:1rem}.header-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.header-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.nav-link{color:var(--text-secondary);font-weight:500;font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--bg-tertiary)}.logout-btn{color:var(--text-muted);font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;background:transparent;border:1px solid var(--border-color);font-family:inherit;transition:all var(--transition-fast)}.logout-btn:hover{color:var(--error);border-color:var(--error);background:var(--error-bg)}.main-content{flex:1;padding:var(--spacing-lg)}.container{max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.page-title{font-size:clamp(1.5rem,4vw,1.75rem)}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.summary-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.summary-card-value{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--text-primary)}.summary-card-value.success{color:var(--success)}.summary-card-value.warning{color:var(--warning)}.summary-card-value.info{color:var(--info)}.section-title{font-size:1.25rem;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all var(--transition-fast);display:block}.activity-item:hover{border-color:var(--border-hover)}.activity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.activity-project{font-weight:600;color:var(--accent-primary)}.activity-time{font-size:.8rem;color:var(--text-muted)}.activity-content{color:var(--text-secondary);font-size:.9rem;line-height:1.5;word-break:break-word}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.filters-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--accent-primary)}.filter-select{padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);min-width:140px}.filter-select:hover{border-color:var(--border-hover)}.filter-select:focus{outline:none;border-color:var(--accent-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;display:block}.project-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow)}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-md)}.project-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);word-break:break-word}.project-company{font-size:.85rem;color:var(--text-muted)}.project-amounts{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.amount-item{flex:1;min-width:0}.amount-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.amount-value{font-size:1rem;font-weight:600;word-break:break-word}.amount-value.paid{color:var(--success)}.amount-value.pending{color:var(--warning)}.amount-value.unknown{color:var(--text-muted);font-style:italic;font-size:.85rem}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:.7rem;font-weight:500;border-radius:var(--radius-sm);text-transform:capitalize}.badge-idea{background:var(--bg-tertiary);color:var(--text-secondary)}.badge-in_progress{background:var(--info-bg);color:var(--info)}.badge-waiting_payment{background:var(--warning-bg);color:var(--warning)}.badge-completed{background:var(--success-bg);color:var(--success)}.badge-paused{background:var(--error-bg);color:var(--error)}.badge-confirmed{background:var(--success-bg);color:var(--success)}.badge-estimated{background:var(--warning-bg);color:var(--warning)}.badge-unknown{background:var(--bg-tertiary);color:var(--text-muted)}.badges-row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.project-detail{max-width:900px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--text-muted);font-size:.9rem;margin-bottom:var(--spacing-lg);transition:color var(--transition-fast)}.back-link:hover{color:var(--text-primary)}.detail-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-lg);flex-wrap:wrap}.detail-title{font-size:clamp(1.25rem,4vw,1.5rem);margin-bottom:var(--spacing-xs);word-break:break-word}.detail-company{color:var(--text-muted);font-size:.95rem}.detail-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.detail-description{color:var(--text-secondary);line-height:1.7;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);word-break:break-word}.money-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-md)}.money-item{text-align:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md)}.money-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.money-value{font-size:clamp(.9rem,2vw,1.25rem);font-weight:600;word-break:break-word}.notes-section{margin-top:var(--spacing-xl)}.notes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.add-note-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.note-textarea{width:100%;min-height:100px;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;font-family:inherit;resize:vertical;margin-bottom:var(--spacing-md);transition:all var(--transition-fast)}.note-textarea:focus{outline:none;border-color:var(--accent-primary)}.notes-timeline{display:flex;flex-direction:column;gap:var(--spacing-md)}.note-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);position:relative}.note-time{font-size:.8rem;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.note-content{color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.note-actions{position:absolute;top:var(--spacing-md);right:var(--spacing-md);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast)}.note-item:hover .note-actions{opacity:1}.note-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:all var(--transition-fast)}.note-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.note-btn.delete:hover{background:var(--error-bg);color:var(--error)}.form-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:700px;margin:0 auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.form-section{margin-bottom:var(--spacing-xl)}.form-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.form-select{width:100%;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.form-select:focus{outline:none;border-color:var(--accent-primary)}.form-textarea{width:100%;min-height:120px;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;resize:vertical;transition:all var(--transition-fast)}.form-textarea:focus{outline:none;border-color:var(--accent-primary)}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:var(--spacing-xs)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.money-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){html{font-size:15px}.header{padding:var(--spacing-sm) var(--spacing-md)}.header-content{flex-wrap:wrap}.header-title{font-size:1.1rem}.header-nav{order:3;width:100%;justify-content:center;padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);margin-top:var(--spacing-sm)}.nav-link{font-size:.85rem;padding:var(--spacing-sm)}.main-content{padding:var(--spacing-md)}.page-header{flex-direction:column;align-items:stretch}.page-header .btn{width:100%}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.summary-card{padding:var(--spacing-md)}.projects-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-input,.filter-select{width:100%}.detail-header{flex-direction:column;align-items:stretch}.detail-actions{width:100%}.detail-actions .btn{flex:1}.money-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.notes-header{flex-direction:column;align-items:stretch}.notes-header .btn{width:100%}.note-actions{opacity:1}}@media (max-width: 480px){html{font-size:14px}.dashboard-grid{grid-template-columns:1fr}.money-grid{grid-template-columns:1fr 1fr}.money-grid .money-item:last-child{grid-column:span 2}.login-card{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.login-logo{width:56px;height:56px;font-size:1.5rem}.project-amounts{flex-direction:column;gap:var(--spacing-md)}.amount-item{display:flex;justify-content:space-between;align-items:center}.amount-label{margin-bottom:0}}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-error{color:var(--error)!important}.text-muted{color:var(--text-muted)!important}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-center{align-items:center;justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}@media (hover: none) and (pointer: coarse){.btn,.form-input,.form-select,.form-textarea,.search-input,.filter-select{min-height:44px}.nav-link{min-height:40px;display:flex;align-items:center}}
