:root{--bg-color: #121212;--surface-color: #1e1e1e;--primary-text-color: #e0e0e0;--secondary-text-color: #a0a0a0;--border-color: #333;--accent-color: #03dac6;--positive-color: #4caf50;--positive-color-light: #2e7d32;--negative-color: #f44336;--negative-color-light: #c62828;--font-sans: "Roboto", sans-serif;--error-color: #cf6679}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--primary-text-color);line-height:1.6}#root{display:flex;flex-direction:column;min-height:100vh}.app-container{width:100%;max-width:1400px;margin:0 auto;padding:1.5rem}.header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.header h1{font-size:1.75rem;color:var(--primary-text-color);font-weight:500}.header-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.date-picker-container{display:flex;align-items:center;gap:.5rem}.date-picker-container label{font-size:.9rem;color:var(--secondary-text-color)}.date-picker{background-color:var(--surface-color);color:var(--primary-text-color);border:1px solid var(--border-color);border-radius:4px;padding:.5rem;font-family:var(--font-sans);cursor:pointer}.main-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.impact-column{background-color:var(--surface-color);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color);display:flex;flex-direction:column}.impact-column h2{font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.impact-column .icon{width:24px;height:24px}.positive h2{color:var(--positive-color)}.negative h2{color:var(--negative-color)}.sector-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.sector-list-item{display:flex;align-items:center;padding:.75rem 1rem;background-color:var(--bg-color);border-radius:6px;cursor:pointer;transition:background-color .2s,transform .2s;border:1px solid var(--border-color)}.sector-list-item:hover,.sector-list-item:focus{background-color:#2a2a2a;transform:translateY(-2px);outline:none}.sector-rank{font-weight:700;color:var(--secondary-text-color);width:2.5rem;flex-shrink:0}.sector-name{flex-grow:1;font-weight:500}.sector-score{font-weight:700;padding:.25rem .5rem;border-radius:12px;font-size:.9rem}.score-positive{background-color:var(--positive-color-light);color:#fff}.score-negative{background-color:var(--negative-color-light);color:#fff}.cumulative-section{margin-top:2.5rem;background-color:var(--surface-color);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.cumulative-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.cumulative-header h2{font-size:1.25rem}.period-selector{display:flex;gap:.5rem;background-color:var(--bg-color);border-radius:6px;padding:4px}.period-selector button{padding:.5rem 1rem;border:none;background-color:transparent;color:var(--secondary-text-color);border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s,color .2s}.period-selector button.active{background-color:var(--accent-color);color:var(--bg-color)}.cumulative-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.cumulative-list-item{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background-color:var(--bg-color);border-radius:6px}.cumulative-info{flex-grow:1}.cumulative-info .sector-name{font-size:1rem;font-weight:500;margin-bottom:.25rem;display:block}.score-bar-container{width:100%;height:12px;background-color:#333;border-radius:6px}.score-bar{height:100%;background-color:var(--negative-color);border-radius:6px;display:flex;overflow:hidden;min-width:2px}.bar-positive{height:100%;background-color:var(--positive-color)}.cumulative-score-details{display:flex;align-items:center;gap:1rem;min-width:120px;justify-content:flex-end}.net-score{font-weight:700;font-size:1rem;width:4rem;text-align:right}.score-positive-text{color:var(--positive-color)}.score-negative-text{color:var(--negative-color)}.item-count{font-size:.85rem;color:var(--secondary-text-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--surface-color);padding:2rem;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.modal-header h3{font-size:1.5rem}.close-button{background:none;border:none;color:var(--secondary-text-color);font-size:1.5rem;cursor:pointer}.modal-body{display:flex;flex-direction:column;gap:1rem}.detail-item-card{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.detail-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.detail-item-header h4{font-size:1.1rem}.agency-badge{font-size:.8rem;padding:.2rem .5rem;border-radius:4px;background-color:#444;white-space:nowrap;flex-shrink:0}.detail-item-why{margin-bottom:1rem;font-style:italic;color:var(--secondary-text-color);border-left:3px solid var(--accent-color);padding-left:1rem}.detail-item-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:var(--secondary-text-color)}.meta-item{display:flex;align-items:center;gap:.3rem}.meta-item strong{color:var(--primary-text-color)}.badge{padding:.2em .6em;border-radius:10px;font-size:.8rem;font-weight:500;color:#fff}.badge-final{background-color:#b71c1c}.badge-proposed{border:1px solid #6c757d;color:#adb5bd;background-color:transparent}.loading-spinner{position:fixed;top:50%;left:50%;width:50px;height:50px;border:5px solid var(--border-color);border-top:5px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;transform:translate(-50%,-50%)}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 900px){.main-content{grid-template-columns:1fr}}@media (max-width: 600px){.app-container{padding:1rem}.header{flex-direction:column;align-items:flex-start}.modal-content{width:100%;padding:1.5rem}.cumulative-header{flex-direction:column;align-items:flex-start}.cumulative-list-item{flex-direction:column;align-items:stretch}.cumulative-score-details{justify-content:space-between;margin-top:.5rem}}
