*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;color:#1f2937;background-color:#f9fafb}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:#1f2937;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.nav-brand{font-size:1.5rem;font-weight:600}.nav-links{display:flex;gap:.5rem}.nav-links button{background-color:transparent;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;border-radius:4px;transition:background-color .2s;font-size:.95rem}.nav-links button:hover{background-color:#374151}.nav-links button.active{background-color:#3b82f6}.main-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.25rem;color:#6b7280}h2{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.subtitle{color:#6b7280;margin-bottom:1.5rem}button{background-color:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background-color .2s;font-weight:500}button:hover{background-color:#2563eb}button:disabled{background-color:#9ca3af;cursor:not-allowed}input[type=text],input[type=number],textarea,select{border:1px solid #d1d5db;border-radius:6px;padding:.5rem;font-size:.95rem;width:100%}input[type=text]:focus,input[type=number]:focus,textarea:focus,select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.info-box{background-color:#dbeafe;border-left:4px solid #3b82f6;padding:1rem;margin-top:1.5rem;border-radius:4px}.info-box strong{display:block;margin-bottom:.5rem;color:#1e40af}.info-box p{color:#1e40af;margin:0}.status-management{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.add-status-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.add-status-form input[type=text]{flex:1}.add-status-form input[type=color]{width:60px;height:38px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.status-list{display:flex;flex-direction:column;gap:.5rem}.status-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:move;transition:box-shadow .2s}.status-item:hover{box-shadow:0 2px 4px #0000001a}.drag-handle{color:#9ca3af;font-size:1.25rem;cursor:grab}.status-color{width:24px;height:24px;border-radius:4px;border:1px solid #e5e7eb}.status-name{flex:1;font-weight:500}.status-order{color:#6b7280;font-size:.875rem}.status-item input[type=text]{flex:1}.status-item input[type=color]{width:40px;height:32px}.status-item button{padding:.375rem .75rem;font-size:.875rem}.volume-entry,.mtd-volume-update{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.year-selector{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.year-selector label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;font-size:.875rem}.year-selector input{width:120px}.spreadsheet-container{overflow-x:auto;border:1px solid #2d3748;border-radius:8px}.volume-spreadsheet{width:100%;border-collapse:collapse;font-size:.875rem;min-width:1400px}.volume-spreadsheet th,.volume-spreadsheet td{border:1px solid #2d3748;padding:.5rem .75rem;text-align:center}.spreadsheet-header{background-color:#10b981;color:#fff;font-weight:600;font-size:.875rem}.label-header{background-color:#10b981;text-align:left;min-width:100px}.month-header{background-color:#10b981;min-width:90px}.total-header{background-color:#10b981;min-width:110px}.data-row .category-label{background-color:#f9fafb;font-weight:600;text-align:left;color:#1f2937}.data-cell{background-color:#fef3c7;padding:.25rem}.data-cell input{width:100%;border:none;background:transparent;text-align:right;padding:.25rem .5rem;font-size:.875rem;font-family:inherit}.data-cell input:focus{outline:2px solid #3b82f6;outline-offset:-2px;background-color:#fff}.row-total-cell{background-color:#dbeafe;font-weight:600;text-align:right;color:#1f2937}.sum-row{background-color:#dbeafe;font-weight:600}.sum-row .sum-label{background-color:#dbeafe;text-align:left;color:#1f2937}.sum-row .sum-cell{background-color:#dbeafe;text-align:right;color:#1f2937}.sum-row .grand-total-cell{background-color:#93c5fd;text-align:right;font-weight:700;color:#1f2937}.month-selector{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.month-selector label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;font-size:.875rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important}.checkbox-label input{width:auto}.volume-grid{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.volume-header{display:grid;grid-template-columns:200px 1fr;background-color:#f3f4f6;font-weight:600}.header-cell{padding:.75rem;border-bottom:2px solid #e5e7eb}.volume-row{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid #e5e7eb}.volume-row:last-child{border-bottom:none}.category-cell,.input-cell{padding:.75rem}.category-cell{background-color:#f9fafb;font-weight:500}.input-cell input{width:100%;max-width:200px}.total-row{background-color:#f3f4f6;font-weight:600}.total-row .input-cell{display:flex;align-items:center}.last-updated{background-color:#f0fdf4;border:1px solid #86efac;padding:.75rem;border-radius:6px;margin-bottom:1.5rem;color:#166534;font-size:.875rem}.update-button{width:100%;padding:.75rem;margin-top:1.5rem;font-size:1rem;font-weight:600}.dashboard{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.add-form{background-color:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.filter-section{margin-bottom:1.5rem}.filter-section label{display:flex;align-items:center;gap:.5rem;font-weight:500}.filter-section select{width:auto;min-width:200px}.included-statuses{margin-top:.5rem;padding:.75rem;background-color:#dbeafe;border-radius:6px;color:#1e40af;font-size:.875rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background-color:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.summary-label{font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.summary-value{font-size:1.875rem;font-weight:700;color:#111827}.potentials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.potential-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;transition:box-shadow .2s}.potential-card:hover{box-shadow:0 4px 6px #0000001a}.potential-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.potential-header h3{font-size:1.125rem;font-weight:600;flex:1}.status-badge{padding:.25rem .75rem;border-radius:4px;font-size:.75rem;color:#fff;font-weight:600;white-space:nowrap}.potential-description{color:#6b7280;font-size:.875rem;margin-bottom:.75rem}.potential-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{display:flex;justify-content:space-between;font-size:.875rem}.detail-label{color:#6b7280}.detail-value{font-weight:600}.action-buttons{display:flex;gap:.5rem;margin-top:1rem}.edit-button{flex:1;background-color:#3b82f6;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem}.edit-button:hover{background-color:#2563eb}.delete-button-icon{background-color:#ef4444;padding:.5rem .75rem;display:flex;align-items:center;justify-content:center}.delete-button-icon:hover{background-color:#dc2626}.save-button{flex:1;background-color:#10b981}.save-button:hover{background-color:#059669}.cancel-button{flex:1;background-color:#6b7280}.cancel-button:hover{background-color:#4b5563}.edit-form{display:flex;flex-direction:column;gap:.75rem}.edit-form input[type=text],.edit-form input[type=number],.edit-form textarea,.edit-form select{font-size:.875rem}.edit-form textarea{min-height:60px;resize:vertical}.empty-state{text-align:center;padding:3rem;color:#6b7280;font-size:1.125rem}.delete-button{background-color:#ef4444;width:100%}.delete-button:hover{background-color:#dc2626}.rolling-targets{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.rolling-grid{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem}.grid-header,.grid-row{display:grid;grid-template-columns:150px repeat(3,1fr) 150px;min-width:700px}.grid-header{background-color:#10b981;color:#fff;font-weight:600}.grid-row{border-bottom:1px solid #e5e7eb}.grid-row:last-of-type{border-bottom:2px solid #e5e7eb}.total-row{background-color:#dbeafe}.header-cell,.cell{padding:.75rem;border-right:1px solid #e5e7eb}.header-cell:last-child,.cell:last-child{border-right:none}.label-cell{background-color:#f9fafb;font-weight:500}.data-cell{text-align:right;font-variant-numeric:tabular-nums;background-color:#fef3c7}.sum-cell{text-align:right;font-weight:600;background-color:#dbeafe}.mtd-badge{font-size:.75rem;font-weight:400;color:#10b981}.grid-footer{display:grid;grid-template-columns:150px repeat(3,1fr) 150px;min-width:700px;background-color:#f9fafb;font-size:.875rem;color:#6b7280}.footer-label,.footer-cell{padding:.5rem .75rem;border-right:1px solid #e5e7eb;text-align:center}.footer-cell:last-child{border-right:none}.refresh-button{width:100%;margin-bottom:1.5rem}.table-container{overflow-x:auto;margin-top:1.5rem}.packages-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.packages-table thead{background-color:#f3f4f6}.packages-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;border-right:1px solid #e5e7eb;border-bottom:2px solid #e5e7eb}.packages-table th:last-child{border-right:none}.packages-table td{padding:.75rem 1rem;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;font-size:.875rem}.packages-table td:last-child{border-right:none}.packages-table tbody tr:last-child td{border-bottom:none}.packages-table tbody tr:hover{background-color:#f9fafb}.packages-table td input[type=text],.packages-table td input[type=number]{padding:.375rem .5rem;font-size:.875rem;width:100%}.packages-table td button{padding:.375rem .75rem;font-size:.875rem}.delta-dashboard{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.dashboard-header-section{margin-bottom:2rem}.last-updated-info{font-size:.875rem;color:#6b7280;margin-top:.5rem}.delta-sections{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.delta-section{border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;background-color:#f9fafb}.section-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.section-header h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.period-label{font-size:.875rem;color:#6b7280;font-weight:500}.delta-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.delta-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center;transition:box-shadow .2s}.delta-card:hover{box-shadow:0 4px 6px #0000001a}.delta-card.total-card{background-color:#f3f4f6;border:2px solid #374151}.delta-label{font-size:.875rem;color:#6b7280;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.delta-value{font-size:1.875rem;font-weight:700;font-variant-numeric:tabular-nums}.delta-positive{color:#059669}.delta-negative{color:#dc2626}@media(max-width:768px){.navbar{flex-direction:column;gap:1rem}.nav-links{flex-wrap:wrap;justify-content:center}.main-content{padding:1rem}.potentials-grid{grid-template-columns:1fr}.add-status-form{flex-direction:column}.month-selector{flex-direction:column;align-items:stretch}.delta-cards{grid-template-columns:1fr}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb;padding:1rem}.login-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2.5rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.login-header p{color:#6b7280;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.login-form input[type=password]{padding:.75rem;font-size:1rem;border:1px solid #d1d5db;border-radius:6px;transition:border-color .2s,box-shadow .2s}.login-form input[type=password]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.login-form input[type=password]:disabled{background-color:#f3f4f6;cursor:not-allowed}.login-error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.75rem;border-radius:6px;font-size:.875rem;text-align:center}.login-form button{padding:.75rem;font-size:1rem;font-weight:600;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.login-form button:hover:not(:disabled){background-color:#2563eb}.login-form button:disabled{background-color:#9ca3af;cursor:not-allowed}
