body{background:#f7f7fa;color:#222;font-family:Bodoni Moda,Bodoni,Didot,serif}*{box-sizing:border-box;font-family:inherit}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}body.dark-mode{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e0e0e0}body.dark-mode .sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1a1a2ef2,#16213ef2);border-color:#ffd7004d;box-shadow:0 0 30px #ffd7001a}body.dark-mode .category-card{background:linear-gradient(135deg,#1a1a2ee6,#16213ee6);border-color:#ffd7004d;color:#e0e0e0}body.dark-mode .category-card:hover{border-color:#ffd700b3;box-shadow:0 8px 30px #ffd70066}body.dark-mode input,body.dark-mode textarea{background:#ffffff1a;border-color:#ffd70080;color:#e0e0e0}body.dark-mode input:focus,body.dark-mode textarea:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033}body.dark-mode .category-header h3,body.dark-mode .sidebar-content h2{color:gold;text-shadow:0 0 10px #ffd7004d}body.dark-mode .budget-status,body.dark-mode .subcategory-item{background:linear-gradient(135deg,#1a1a2ecc,#16213ecc);border-color:#ffd7004d}body.dark-mode .status-item:last-child{border-color:#ffd7004d;color:gold}body.dark-mode .category-checkbox{color:#e0e0e0}body.dark-mode .category-checkbox:hover{background:#ffd7001a}body.dark-mode .input-group label,body.dark-mode .notes-section label,body.dark-mode .subcategory-header{color:gold}.App{min-height:100vh}.dashboard-layout{display:flex;min-height:100vh}.sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#fff8dcf2);border-right:2px solid #ffd7004d;box-shadow:0 0 30px #ffd7001a;height:100vh;overflow-y:auto;padding:30px;position:sticky;top:0;width:320px}.sidebar-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,gold,#ffed4e 50%,gold);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:1.8em;font-weight:700;margin:0 0 25px;position:relative;text-align:center}.sidebar-content h2:after{background:linear-gradient(90deg,#0000,gold,#0000);bottom:-5px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.sidebar-header{align-items:center;display:flex;flex-direction:column;margin-bottom:25px;position:relative}.sidebar-logo{height:60px;object-fit:contain;transition:all .3s ease;width:60px}.sidebar-header a{display:inline-block;text-decoration:none;transition:all .3s ease}.sidebar-header a:hover .sidebar-logo{filter:drop-shadow(0 4px 8px rgba(255,215,0,.3));transform:scale(1.05)}.sidebar-rings{filter:drop-shadow(0 2px 4px rgba(255,215,0,.3));height:40px;margin-top:15px;transition:all .3s ease;width:40px}.sidebar-rings:hover{filter:drop-shadow(0 4px 8px rgba(255,215,0,.4));transform:scale(1.05)}.sidebar-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,gold,#ffed4e 50%,gold);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:1.8em;font-weight:700;margin:0;position:relative;text-align:center}.sidebar-header h2:after{background:linear-gradient(90deg,#0000,gold,#0000);bottom:-5px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60px}body.dark-mode .sidebar-logo,body.dark-mode .sidebar-rings{filter:drop-shadow(0 4px 8px rgba(255,215,0,.5))}body.dark-mode .sidebar-logo:hover,body.dark-mode .sidebar-rings:hover{filter:drop-shadow(0 6px 12px rgba(255,215,0,.6))}.budget-input-section{margin-bottom:25px}.budget-input-section label{color:#2c3e50;display:block;font-size:.95em;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.budget-input-section input{background:#ffffffe6;border:2px solid #e1e8ed;border-radius:12px;font-size:16px;font-weight:600;padding:12px 16px;transition:all .3s ease;width:100%}.budget-input-section input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none;transform:translateY(-1px)}.budget-status{background:linear-gradient(135deg,#fff8dc,linen);border:2px solid #ffd7004d;border-radius:16px;box-shadow:0 4px 15px #ffd7001a;margin-bottom:25px;overflow:hidden;padding:20px;position:relative}.budget-status:before{background:linear-gradient(90deg,gold,#ffed4e,gold);content:"";height:2px;left:0;position:absolute;right:0;top:0}.status-item{display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin-bottom:12px}.status-item:last-child{border-top:1px solid #ffd7004d;color:gold;font-size:16px;font-weight:700;margin-bottom:0;padding-top:12px}.sidebar-controls{margin-bottom:25px}.sidebar-btn{background:linear-gradient(135deg,gold,#ffed4e);border:none;border-radius:12px;box-shadow:0 4px 15px #ffd7004d;color:#2c3e50;cursor:pointer;display:block;font-size:14px;font-weight:600;margin-bottom:10px;overflow:hidden;padding:12px 16px;position:relative;transition:all .3s ease;width:100%}.sidebar-btn:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.sidebar-btn:hover:before{left:100%}.sidebar-btn:hover{box-shadow:0 6px 20px #ffd70066;transform:translateY(-2px)}.category-list h3{color:#2c3e50;font-size:1.2em;font-weight:700;margin:0 0 20px;text-align:center}.category-checkbox{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;margin-bottom:12px;padding:8px 12px;transition:all .3s ease}.category-checkbox:hover{background:#ffd7001a}.category-checkbox input{accent-color:gold;margin-right:12px;transform:scale(1.2)}.main-content{background:#0000;flex:1 1;padding:30px}.main-header{margin-bottom:30px;padding:20px 0;text-align:center}.main-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 15px;text-shadow:0 2px 4px #0000001a}.main-description{color:#5a6c7d;font-size:1.1rem;line-height:1.5;margin:0 auto;max-width:600px}body.dark-mode .main-header h1{color:#f8f9fa;text-shadow:0 2px 4px #0000004d}body.dark-mode .main-description{color:#b8c5d1}.categories-grid{column-count:2;column-fill:balance;column-gap:25px}.category-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffffe6,#f8f9fae6);border:1px solid #ffd7004d;border-radius:16px;box-shadow:0 4px 20px #0000001a;break-inside:avoid;display:block;height:auto;margin-bottom:25px;min-height:fit-content;padding:25px;page-break-inside:avoid;transition:all .3s ease}.category-card:hover{border-color:#ffd70099;box-shadow:0 8px 30px #ffd7004d}.category-card:before{background:linear-gradient(90deg,gold,#ffed4e,gold);content:"";height:4px;left:0;position:absolute;right:0;top:0}.category-header h3{cursor:help;margin:0 0 20px;position:relative}.category-header{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:20px;position:relative}.category-header h3{color:#2c3e50;display:inline-block;font-size:1.4em;font-weight:700;margin:0;text-align:center}.tooltip-container{overflow:visible;position:relative}.tooltip-container,.tooltip-icon{align-items:center;display:inline-flex}.tooltip-icon{background:linear-gradient(135deg,gold,#ffed4e);border-radius:50%;box-shadow:0 2px 8px #ffd7004d;color:#2c3e50;cursor:help;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;transition:all .3s ease;width:18px}.tooltip-icon:hover{box-shadow:0 4px 12px #ffd70066;transform:scale(1.1)}.tooltip-icon:hover:after{word-wrap:break-word;background:#000000e6;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;content:attr(title);font-size:12px;font-weight:400;margin-bottom:8px;max-width:350px;min-width:200px;padding:8px 12px;text-align:center;white-space:nowrap;white-space:normal}.tooltip-icon:hover:after,.tooltip-icon:hover:before{bottom:100%;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:99999}.tooltip-icon:hover:before{border:5px solid #0000;border-top-color:#000000e6;content:"";margin-bottom:3px}body.dark-mode .tooltip-icon{background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 2px 8px #ffd70066;color:#1a1a2e}body.dark-mode .tooltip-icon:hover{box-shadow:0 4px 12px #ffd70080}.category-content{display:flex;flex-direction:column;gap:20px}.subcategory-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #ffd7004d;border-radius:16px;box-shadow:0 4px 15px #ffd7001a;margin-bottom:0;overflow:hidden;padding:20px;position:relative}.subcategory-item:last-child{margin-bottom:0}.subcategory-item:before{background:linear-gradient(90deg,gold,#ffed4e,gold);content:"";height:2px;left:0;position:absolute;right:0;top:0}.subcategory-header{color:#2c3e50;font-size:1.1em;font-weight:700;margin-bottom:15px;text-align:center}.input-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:15px}.input-group{display:flex;flex-direction:column}.input-group label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.input-group input{background:#ffffffe6;border:2px solid #e1e8ed;border-radius:12px;box-sizing:border-box;font-size:16px;font-weight:600;padding:12px 16px;transition:all .3s ease;width:100%}.input-group input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none;transform:translateY(-1px)}.notes-section{margin-top:15px}.notes-section label{color:#6c757d;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.notes-section textarea{background:#ffffffe6;border:2px solid #e1e8ed;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:14px;min-height:80px;padding:12px 16px;resize:vertical;transition:all .3s ease;width:100%}.notes-section textarea:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none;transform:translateY(-1px)}.custom-services-section{display:flex;flex-direction:column;gap:20px}.custom-services-header{display:flex;justify-content:center;margin-bottom:20px}.add-custom-service-btn{background:linear-gradient(135deg,gold,#ffed4e);border:none;border-radius:12px;box-shadow:0 4px 15px #ffd7004d;color:#2c3e50;cursor:pointer;font-size:14px;font-weight:600;overflow:hidden;padding:12px 20px;position:relative;transition:all .3s ease}.add-custom-service-btn:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-custom-service-btn:hover:before{left:100%}.add-custom-service-btn:hover{box-shadow:0 6px 20px #ffd70066;transform:translateY(-2px)}.custom-service-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #ffd7004d;border-radius:16px;box-shadow:0 4px 15px #ffd7001a;overflow:hidden;padding:20px;position:relative}.custom-service-item:before{background:linear-gradient(90deg,gold,#ffed4e,gold);content:"";height:2px;left:0;position:absolute;right:0;top:0}.custom-service-header{align-items:center;display:flex;gap:15px;margin-bottom:15px}.service-name-input{background:#ffffffe6;border:2px solid #e1e8ed;border-radius:12px;flex:1 1;font-size:16px;font-weight:600;padding:12px 16px;transition:all .3s ease}.service-name-input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none;transform:translateY(-1px)}.remove-service-btn{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:50%;box-shadow:0 2px 8px #e74c3c4d;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:30px;justify-content:center;transition:all .3s ease;width:30px}.remove-service-btn:hover{box-shadow:0 4px 12px #e74c3c66;transform:scale(1.1)}.no-custom-services{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.no-custom-services p{font-size:14px;margin:0}body.dark-mode .custom-service-item{background:linear-gradient(135deg,#1a1a2ecc,#16213ecc);border-color:#ffd7004d}body.dark-mode .service-name-input{background:#ffffff1a;border-color:#ffd70080;color:#e0e0e0}body.dark-mode .service-name-input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033}body.dark-mode .no-custom-services{color:#e0e0e0}.vendor-comparison-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #ffd7004d;border-radius:12px;margin:15px 0;padding:15px}.vendor-summary{margin-bottom:10px}.compare-vendors-btn,.vendor-summary{color:#2c3e50;font-size:14px;font-weight:600}.compare-vendors-btn{background:linear-gradient(135deg,gold,#ffed4e);border:none;border-radius:8px;box-shadow:0 2px 8px #ffd7004d;cursor:pointer;padding:8px 16px;transition:all .3s ease}.compare-vendors-btn:hover{box-shadow:0 4px 12px #ffd70066;transform:translateY(-1px)}.vendor-compare-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.vendor-compare-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:80vh;max-width:900px;overflow-y:auto;padding:30px;position:relative;width:100%}.vendor-compare-content h3{color:#2c3e50;font-size:1.5em;font-weight:700;margin:0 0 20px;text-align:center}.vendor-compare-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden;width:100%}.vendor-compare-table th{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a;font-size:14px;font-weight:700;padding:12px 8px;text-align:left}.vendor-compare-table td{border-bottom:1px solid #eee;color:#1a1a1a;font-size:14px;font-weight:500;padding:12px 8px}.vendor-compare-table td:first-child{color:#000;font-weight:600}.vendor-compare-table tr{color:#1a1a1a}.vendor-compare-table tr:nth-child(2n){background:#f8f9fa}.vendor-compare-table tr:nth-child(odd){background:#fff}.vendor-compare-table .quote-col{text-align:center}.vendor-compare-table .best-col{color:#27ae60;font-weight:600;text-align:center}.sort-btn{background:none;border:none;color:#2c3e50;cursor:pointer;font-size:16px;margin-left:5px}.sort-btn:hover{color:gold}.selected-row{background:#ffd7001a!important;border-left:3px solid gold}.selected-row,.selected-row td{color:#000!important}.selected-row td:first-child{color:#000!important;font-weight:600}.select-btn,.selected-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .3s ease}.selected-btn{background:#27ae60}.select-btn:hover{background:#c0392b}.selected-btn:hover{background:#229954}.vendor-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-top:20px;padding:20px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr 1fr;margin-bottom:15px}.form-row input{border:2px solid #e1e8ed;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-row input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none}.vendor-form textarea{border:2px solid #e1e8ed;border-radius:8px;font-family:inherit;font-size:14px;min-height:60px;padding:10px 12px;resize:vertical;transition:all .3s ease;width:100%}.vendor-form textarea:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none}.form-actions{display:flex;gap:10px;margin-top:15px}.form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.form-actions button[type=submit]{background:linear-gradient(135deg,gold,#ffed4e);color:#2c3e50}.form-actions button[type=submit]:hover{box-shadow:0 4px 12px #ffd70066;transform:translateY(-1px)}.form-actions button[type=submit]:disabled{cursor:not-allowed;opacity:.5;transform:none}.form-actions button[type=button]{background:#6c757d;color:#fff}.form-actions button[type=button]:hover{background:#5a6268}.close-btn{background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;height:30px;position:absolute;right:15px;top:15px;transition:all .3s ease;width:30px}.close-btn:hover{background:#c0392b;transform:scale(1.1)}body.dark-mode .vendor-comparison-section{background:linear-gradient(135deg,#1a1a2ecc,#16213ecc);border-color:#ffd7004d}body.dark-mode .vendor-summary{color:#e0e0e0}body.dark-mode .vendor-compare-content{background:linear-gradient(135deg,#1a1a2ef2,#16213ef2);color:#e0e0e0}body.dark-mode .vendor-compare-content h3{color:gold}body.dark-mode .vendor-compare-table{background:#ffffff1a}body.dark-mode .vendor-compare-table th{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a2e}body.dark-mode .vendor-compare-table td{border-color:#ffd7004d;color:#1a1a1a}body.dark-mode .vendor-compare-table tr{color:#1a1a1a}body.dark-mode .vendor-compare-table tr:nth-child(2n){background:#ffffff0d}body.dark-mode .vendor-compare-table tr:nth-child(odd){background:#ffffff1a}body.dark-mode .vendor-compare-table td:first-child{color:#000;font-weight:600}body.dark-mode .vendor-form{background:#ffffff1a;border-color:#ffd7004d}body.dark-mode .form-row input,body.dark-mode .vendor-form textarea{background:#ffffff1a;border-color:#ffd70080;color:#e0e0e0}body.dark-mode .form-row input:focus,body.dark-mode .vendor-form textarea:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033}.delete-confirm-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10001}.delete-confirm-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-width:400px;padding:30px;position:relative;text-align:center;width:100%}.delete-confirm-content h3{color:#e74c3c;font-size:1.5em;font-weight:700;margin:0 0 20px}.delete-confirm-content p{color:#2c3e50;font-size:16px;line-height:1.5;margin:10px 0}.delete-confirm-content strong{color:#e74c3c;font-weight:700}.delete-confirm-actions{display:flex;gap:15px;justify-content:center;margin-top:25px}.delete-confirm-btn{background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.delete-confirm-btn:hover{background:#c0392b;transform:translateY(-1px)}.delete-cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.delete-cancel-btn:hover{background:#5a6268;transform:translateY(-1px)}body.dark-mode .delete-confirm-content{background:linear-gradient(135deg,#1a1a2ef2,#16213ef2);color:#e0e0e0}body.dark-mode .delete-confirm-content h3{color:#e74c3c}body.dark-mode .delete-confirm-content p{color:#e0e0e0}body.dark-mode .delete-confirm-content strong{color:#e74c3c}@media (max-width:768px){.dashboard-layout{flex-direction:column}.sidebar{border-bottom:2px solid #ffd7004d;border-right:none;height:auto;padding:20px;position:static;width:100%}.categories-grid{gap:20px}.categories-grid,.input-row{grid-template-columns:1fr}.main-content{padding:20px}.main-header h1{font-size:2rem}.main-description{font-size:1rem}.category-card{padding:20px}.subcategory-item{padding:15px}}@media (max-width:480px){.main-content,.sidebar{padding:15px}.main-header h1{font-size:1.75rem}.main-description{font-size:.95rem}.category-card{padding:15px}.subcategory-item{padding:12px}.sidebar-content h2{font-size:1.5em}.category-header h3{font-size:1.2em}}.scroll-top-btn{align-items:center;animation:fadeInUp .3s ease forwards;background:linear-gradient(135deg,gold,#ffed4e);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 15px #ffd7004d;color:#2c3e50;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;opacity:0;overflow:hidden;position:fixed;right:30px;transform:translateY(20px);transition:all .3s ease;width:50px;z-index:1000}.scroll-top-btn:hover{background:linear-gradient(135deg,#ffed4e,gold);box-shadow:0 6px 20px #ffd70066;transform:translateY(-2px)}.scroll-top-btn:before{background:linear-gradient(90deg,#0000,#fff6,#0000);border-radius:50%;content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s;width:100%}.scroll-top-btn:hover:before{left:100%}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}body.dark-mode .scroll-top-btn{background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 4px 15px #ffd70066;color:#1a1a2e}body.dark-mode .scroll-top-btn:hover{box-shadow:0 6px 20px #ffd70080}body.dark-mode .selected-row{background:#ffd70033!important;border-left:3px solid gold;color:#fff!important}body.dark-mode .selected-row td{color:#fff!important}body.dark-mode .selected-row td:first-child{color:#fff!important;font-weight:600}
/*# sourceMappingURL=main.d5e4b88a.css.map*/