@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:block}h1{font-size:3.2em;line-height:1.1}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;margin:0;padding:0}#root{max-width:none!important;margin:0!important;padding:0!important}.dashboard{width:100%}:root{--primary:#007aff;--primary-hover:#0051d5;--background:#f5f5f7;--card-bg:#fff;--text-primary:#1d1d1f;--text-secondary:#86868b;--border:#d2d2d7;--success:#34c759;--danger:#ff3b30;--warning:#ff9500;--sidebar-width:260px;--topbar-height:72px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f}body{background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-container{background:#007aff;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card-bg);border-radius:24px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:40px}.logo{justify-content:center;margin-bottom:10px;display:flex}.logo-icon{background:var(--primary);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;font-weight:700;display:flex}.login-header h1{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:700}.login-header p{color:var(--text-secondary);font-size:15px}.login-form{flex-direction:column;gap:20px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--text-primary);font-size:14px;font-weight:600}.input-group input{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);padding:14px 16px;font-size:15px;transition:all .2s}.input-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #007aff1a}.login-button{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.login-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#c62828;border-radius:var(--radius-sm);background:#ffebee;padding:12px 16px;font-size:14px}.dashboard{background:var(--background);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--card-bg);border-right:1px solid var(--border);flex-direction:column;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{margin-bottom:32px}.sidebar-logo{align-items:center;gap:12px;padding:8px 12px;display:flex}.logo-badge{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.sidebar-logo span{color:var(--text-primary);font-size:20px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--background);color:var(--text-primary)}.nav-item.active{background:var(--primary);color:#fff}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:20px}.logout-btn{border-radius:var(--radius-md);width:100%;color:var(--danger);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.logout-btn:hover{background:#ffebee}.main-area{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.top-bar{height:var(--topbar-height);background:var(--card-bg);border-bottom:1px solid var(--border);z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;justify-content:space-between;align-items:center;padding:0 40px;display:flex;position:sticky;top:0}.page-title{color:var(--text-primary);font-size:24px;font-weight:700}.user-info{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.content-area{flex:1;padding:32px 40px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px;transition:all .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.stat-trend{width:32px;height:32px;color:var(--success);background:#e8f5e9;border-radius:8px;justify-content:center;align-items:center;display:flex}.stat-trend.positive{color:var(--success);background:#e8f5e9}.stat-value{color:var(--text-primary);margin-bottom:8px;font-size:32px;font-weight:700}.stat-change{color:var(--text-secondary);font-size:13px}.table-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.table-header h3{color:var(--text-primary);font-size:18px;font-weight:700}.add-button{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.add-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:var(--background)}.data-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:16px 32px;font-size:12px;font-weight:700}.data-table td{border-top:1px solid var(--border);color:var(--text-primary);padding:20px 32px;font-size:15px}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:var(--background)}.client-cell{align-items:center;gap:12px;display:flex}.client-avatar{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.client-name{font-weight:600}.value-cell,.profit-cell{color:var(--success);font-weight:600}.expenses-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.stats-grid-4{grid-template-columns:repeat(4,1fr)}.table-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px}.expense-name{font-weight:600}.stat-icon{width:32px;height:32px;color:var(--success);background:#e8f5e9;border-radius:8px;justify-content:center;align-items:center;display:flex}.stat-card-success .stat-value{color:var(--success)}.stat-card-warning .stat-icon{color:var(--warning);background:#fff3e0}.stat-card-warning .stat-value{color:var(--warning)}.stat-card-danger .stat-icon{color:var(--danger);background:#ffebee}.stat-card-danger .stat-value{color:var(--danger)}.modal-small{max-width:420px}select{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);cursor:pointer;width:100%;padding:12px 16px;font-size:15px;transition:all .2s}select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #007aff1a}@media (max-width:1200px){.expenses-grid{grid-template-columns:1fr}.stats-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-grid-4{grid-template-columns:1fr}}.modal-large{max-width:720px}.modal-subtitle{color:var(--text-secondary);margin-top:4px;font-size:14px}.stat-card-highlight{background:var(--primary);border:1px solid var(--primary-hover)}.stat-card-highlight:hover{box-shadow:0 4px 12px #2563eb4d}.stat-label-white{color:#ffffffe6}.stat-trend-white{color:#fff;background:#fff3}.months-list{flex-direction:column;gap:12px;padding:24px;display:flex}.month-item{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;padding:20px 24px;transition:all .2s;display:flex}.month-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);background:#fff;transform:translate(4px)}.month-info{align-items:center;gap:16px;display:flex}.month-icon{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.month-name{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.month-date{color:var(--text-secondary);font-size:13px}.month-arrow{color:var(--text-secondary);transition:all .2s}.month-item:hover .month-arrow{color:var(--primary);transform:translate(4px)}.back-button{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:0 0;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.back-button:hover{background:var(--background);border-color:var(--primary);color:var(--primary)}.month-header{margin-bottom:32px}.month-header h2{color:var(--text-primary);font-size:28px;font-weight:700}.status-badge{border-radius:12px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.stats-grid-5{grid-template-columns:repeat(5,1fr)}.vat-cell{color:var(--warning);font-weight:600}.total-vat-cell{color:var(--primary);font-weight:700}.service-vat{color:var(--warning);font-weight:500}.service-total-vat{color:var(--primary);font-weight:600}.sidebar-logo{justify-content:flex-start;align-items:center;width:200px;margin:0;padding:8px 10px;display:flex}.sidebar-logo-img{object-fit:contain;width:auto;max-width:250px;height:55px;display:block}@media (max-width:1400px){.stats-grid-5{grid-template-columns:repeat(3,1fr)}}@media (max-width:1024px){.stats-grid-5{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-grid-5{grid-template-columns:1fr}}.status-badge.status-success{color:var(--success);background:#e8f5e9}.status-badge.status-pending{color:var(--warning);background:#fff3e0}.stat-value-white{color:#fff;font-size:32px;font-weight:700}.stat-change-white{color:#fffc}.summary-card-simple{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);padding:32px}.summary-card-simple h3{color:var(--text-primary);margin-bottom:24px;font-size:18px;font-weight:700}.summary-grid-simple{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.summary-item-simple{background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border);padding:20px}.summary-label-simple{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600}.summary-value-simple{margin-bottom:4px;font-size:24px;font-weight:700}.summary-value-simple.positive{color:var(--success)}.summary-value-simple.negative{color:var(--danger)}.summary-subtext-simple{color:var(--text-secondary);font-size:12px}@media (max-width:768px){.summary-grid-simple{grid-template-columns:1fr}}.form-section{margin-bottom:28px}.checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--primary)}.form-field .checkbox-label{align-items:center;gap:10px;margin-bottom:0;display:inline-flex}.vat-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.vat-badge.vat-yes{color:var(--success);border:1px solid var(--success);background:#e8f5e9}.vat-badge.vat-no{background:var(--background);color:var(--text-secondary);border:1px solid var(--border)}.section-title{color:var(--text-primary);margin-bottom:12px;font-size:15px;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.add-service-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s;display:inline-flex}.add-service-btn:hover{background:var(--primary-hover)}.services-list{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.service-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.service-item:last-child{border-bottom:none;padding-bottom:0}.service-number{width:24px;height:24px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;margin-top:28px;font-size:14px;font-weight:600;display:flex}.service-fields{flex:1;grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.service-fields .form-field{margin-bottom:0}.remove-service-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:28px;transition:color .2s;display:flex}.remove-service-btn:hover{color:var(--danger)}.totals-summary{border-top:1px solid var(--border);gap:32px;margin-top:16px;padding-top:16px;display:flex}.total-item{align-items:center;gap:8px;font-size:14px;display:flex}.total-item span{color:var(--text-secondary);font-weight:500}.total-item strong{color:var(--text-primary);font-weight:700}.clients-services-table .client-row{background:var(--card-bg)}.clients-services-table .service-row{background:var(--background);border-top:1px dashed var(--border)}.clients-services-table .service-row td{padding:12px 32px;font-size:14px}.expand-button{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.expand-button:hover{background:var(--background);color:var(--text-primary)}.services-count{background:var(--background);color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;align-items:center;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.service-detail{align-items:center;gap:8px;padding-left:12px;display:flex}.service-bullet{color:var(--text-secondary);font-size:16px;line-height:1}.service-value,.service-profit{color:var(--text-secondary);font-weight:500}@media (max-width:768px){.service-fields{grid-template-columns:1fr}.totals-summary{flex-direction:column;gap:12px}}.action-buttons{gap:8px;display:flex}.icon-button{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.icon-button.edit{color:var(--primary);background:#e3f2fd}.icon-button.edit:hover{background:#bbdefb}.icon-button.delete{color:var(--danger);background:#ffebee}.icon-button.delete:hover{background:#ffcdd2}.empty-row{padding:80px 32px!important}.empty-state{color:var(--text-secondary);flex-direction:column;align-items:center;gap:16px;display:flex}.empty-state svg{opacity:.3}.empty-state p{font-size:16px;font-weight:500}.empty-button{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.empty-button:hover{background:var(--primary-hover)}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border-radius:20px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px #0003}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.modal-header h2{font-size:22px;font-weight:700}.close-button{background:var(--background);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-button:hover{background:var(--border);color:var(--text-primary)}.modal-form{padding:32px}.form-field{margin-bottom:24px}.form-field label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-field input{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);width:100%;padding:12px 16px;font-size:15px;transition:all .2s}.form-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #007aff1a}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding-top:24px;display:flex}.cancel-button{border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);background:0 0;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s}.cancel-button:hover{background:var(--background)}.save-button{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 32px;font-size:15px;font-weight:600;transition:all .2s}.save-button:hover:not(:disabled){background:var(--primary-hover)}.save-button:disabled{opacity:.6;cursor:not-allowed}.loading-screen,.loading-state{justify-content:center;align-items:center;min-height:400px;display:flex}.loading-spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.placeholder-page{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);text-align:center;color:var(--text-secondary);padding:80px 40px;font-size:18px;font-weight:500}@media (max-width:768px){.sidebar{transform:translate(-100%)}.main-area{margin-left:0}.content-area{padding:24px 16px}.top-bar{padding:0 16px}.stats-grid{grid-template-columns:1fr}.table-header{padding:20px 16px}.data-table th,.data-table td{padding:12px 16px}}
