:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--text-primary:#0f172a;--text-secondary:#475569;--brand-green-dark:#06402b;--brand-green-mid:#0d6142;--brand-gold-primary:#d4af37;--brand-gold-hover:#f2cc57;--accent-light:#ffffffe6;--border-subtle:#e2e8f0;--color-leg-navy:#1b2a4a;--color-leg-gold:#c5942a;--color-leg-green:#16a34a;--color-leg-red:#dc2626;--color-leg-amber:#d97706;--color-leg-bg:#f7f8fa;--color-leg-surface:#fff;--font-mono:"JetBrains Mono", monospace;--font-data:"DM Sans", var(--font-body);--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-elegant:0 20px 40px -10px #06402b26;--glass-bg:#ffffffd9;--glass-blur:blur(12px);--transition-fast:.15s ease;--transition-normal:.25s ease-in-out;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--max-width:1280px;--header-height:80px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--brand-green-dark);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button,input,select,textarea{color:inherit;font-family:inherit}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app{flex-direction:column;min-height:100vh;display:flex}.btn{cursor:pointer;transition:all var(--transition-normal);border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--brand-gold-primary);color:#000;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--brand-gold-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-action{background-color:var(--brand-gold-primary);color:#000;border-radius:20px;padding:.75rem 2rem;font-size:1.1rem}.btn-action:hover{background-color:var(--brand-gold-hover);transform:translateY(-2px);box-shadow:0 4px 12px #d4af3766}.btn-outline{color:var(--brand-green-dark);border:2px solid var(--brand-green-dark);background-color:#0000}.btn-outline:hover{background-color:var(--brand-green-dark);color:#fff}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group.flex-1{flex:1}.form-group.w-auto{width:auto}.group-label,.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.form-input{border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#fff;border-radius:6px;padding:.75rem 1rem;font-size:1rem}.form-input:focus{border-color:var(--brand-green-mid);outline:none;box-shadow:0 0 0 3px #0d61421a}.radio-group{align-items:center;gap:1rem;height:45px;display:flex}.radio-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:flex}.radio-label input[type=radio]{accent-color:var(--brand-green-mid);width:1.1rem;height:1.1rem}.text-link{color:var(--brand-green-mid);transition:text-decoration-color var(--transition-fast);font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.text-link:hover{-webkit-text-decoration-color:var(--brand-green-mid);text-decoration-color:var(--brand-green-mid)}.site-header{background-color:var(--brand-green-dark);color:#fff;z-index:100;box-shadow:var(--shadow-md);position:sticky;top:0}.header-container{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.header-logo{align-items:center;gap:1rem;display:flex}.site-logo-img{object-fit:contain;width:auto;height:44px;display:block}.logo-text{flex-direction:column;display:flex}.state-name{text-transform:uppercase;letter-spacing:.1em;color:var(--brand-gold-primary);font-size:.75rem}.entity-name{font-family:var(--font-heading);letter-spacing:.02em;font-size:1.5rem;font-weight:700}.nav-list{gap:2rem;display:flex}.nav-link{opacity:.9;transition:opacity var(--transition-fast);padding:.5rem 0;font-size:.95rem;font-weight:500;position:relative}.nav-link:hover{opacity:1}.nav-link:after{content:"";background-color:var(--brand-gold-primary);transform-origin:100%;width:100%;height:2px;transition:transform var(--transition-normal);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link.active:after{transform-origin:0;transform:scaleX(1)}.legislature-subnav{background-color:var(--brand-green-mid);border-bottom:1px solid #ffffff1a}.subnav-list{align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.subnav-link{color:#fffc;transition:color var(--transition-fast), background-color var(--transition-fast);border-bottom:2px solid #0000;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.subnav-link:hover{color:#fff;background-color:#ffffff14}.subnav-link.active{color:var(--brand-gold-primary);border-bottom-color:var(--brand-gold-primary)}.hero-section{background-color:var(--brand-green-dark);color:#fff;padding:8rem 0 10rem;position:relative;overflow:hidden}.hero-bg{z-index:1;opacity:.9;background:linear-gradient(135deg,#021a11 0%,#06402b 50%,#0a5b3e 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-bg:after{content:"";opacity:.3;background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0}.hero-content{z-index:2;text-align:center;max-width:800px;position:relative}.hero-title{color:#fff;text-shadow:0 2px 10px #0000004d;margin-bottom:1.5rem;font-size:3.5rem}.hero-subtitle{opacity:.9;text-shadow:0 1px 4px #0003;font-size:1.25rem;font-weight:400;line-height:1.6}.action-module-wrapper{z-index:10;margin-top:-6rem;margin-bottom:4rem;position:relative}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-elegant);border:1px solid #fff6;border-radius:16px;overflow:hidden}.action-header{background-color:var(--brand-green-dark);color:#fff;align-items:center;padding:0 2rem;display:flex}.action-label{margin-right:2rem;font-weight:600}.action-tabs{display:flex}.action-tab{color:#ffffffb3;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:1.25rem 1.5rem;font-size:1rem;font-weight:500;display:flex}.action-tab:hover{color:#fff;background-color:#ffffff0d}.action-tab.active{color:var(--brand-green-dark);background-color:var(--bg-secondary);border-top-left-radius:8px;border-top-right-radius:8px;margin-top:.5rem;padding-bottom:1rem}.action-content{background-color:var(--bg-secondary);padding:2.5rem}.action-content-title{margin-bottom:1.5rem;font-size:1.75rem}.search-form{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;display:flex}.search-form.row-form{align-items:flex-end}.search-form.simple-form{align-items:flex-start;gap:1rem}.tab-pane{animation:fadeIn var(--transition-normal);display:none}.tab-pane.active{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.laws-sections{flex-direction:column;display:flex}.laws-block{padding:1rem 0}.laws-block.separator{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:2rem}.laws-title{margin-bottom:.5rem}.tab-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.05rem}.form-input.rounded{border-radius:20px;padding:.75rem 1.5rem}.btn-outline.rounded-btn{border-radius:25px;padding:.75rem 1.5rem}.no-label label{display:none}.align-bottom{align-self:flex-end}.align-center{align-items:center}.or-divider{background-color:var(--border-subtle);width:1px;height:40px;margin:0 1rem}.search-footer{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin-top:2rem;padding-top:1.5rem;font-size:.95rem}.section-padding{padding:4rem 0}.grid-layout{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.content-card{box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal);border:1px solid var(--border-subtle);background-color:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;padding:2.5rem;display:flex}.content-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.card-icon{background:#d4af371a;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1.5rem;font-size:2.5rem;display:flex}.content-card h3{margin-bottom:1rem;font-size:1.5rem}.content-card p{color:var(--text-secondary);flex:1;margin-bottom:2rem}.site-footer{color:#f1f5f9;background-color:#0f172a;margin-top:auto;padding-top:4rem}.footer-container{grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;display:grid}.footer-logo{font-family:var(--font-heading);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;display:flex}.footer-address{color:#94a3b8;line-height:1.7}.footer-col h4{color:#fff;font-size:1.1rem;font-family:var(--font-body);margin-bottom:1.5rem}.footer-links{flex-direction:column;gap:.75rem;display:flex}.footer-links a{color:#94a3b8;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--brand-gold-primary)}.footer-bottom{color:#64748b;text-align:center;border-top:1px solid #ffffff1a;padding:1.5rem 0;font-size:.85rem}.hero-small{padding:5rem 0 6rem}.statute-search-box{z-index:10;margin-top:-4rem;margin-bottom:3rem;position:relative}.rcs-directory{margin-bottom:4rem}.section-title{border-bottom:3px solid var(--brand-gold-primary);margin-bottom:2rem;padding-bottom:.5rem;font-size:2.5rem;display:inline-block}.clean-directory-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.clean-directory-list li{border-bottom:1px solid var(--border-subtle)}.clean-directory-list li:last-child{border-bottom:none}.directory-link{color:var(--text-primary);transition:background-color var(--transition-fast), padding-left var(--transition-fast);border-radius:4px;align-items:center;gap:1.5rem;padding:1rem .5rem;text-decoration:none;display:flex}.directory-link:hover{color:var(--brand-green-dark);background-color:#f8fafc;padding-left:1rem}.item-number{color:var(--brand-green-mid);min-width:5rem;font-weight:700;font-family:var(--font-heading)}.item-name{font-weight:400}.view-header{margin-bottom:2rem}.back-btn{padding:.5rem 1rem;font-size:.9rem}.chapter-page-title{font-size:1.5rem;font-family:var(--font-heading);margin-bottom:.5rem;font-weight:700}.chapter-page-subtitle{text-transform:uppercase;letter-spacing:.05em;margin-bottom:2rem;font-size:1.1rem;font-weight:700}.sections-heading{border-bottom:2px solid var(--brand-green-mid);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:700;display:inline-block}.format-badges{gap:.5rem;margin-right:1rem;display:flex}.badge-html,.badge-pdf{color:#475569;background-color:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.sections-list .directory-link{align-items:center;gap:1rem}.sections-list .item-number{min-width:4rem}.statute-detail-container{box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);background-color:#fff;border-radius:8px;margin-bottom:4rem;padding:3rem}.statute-breadcrumb-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.statute-breadcrumb{color:var(--brand-green-mid);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.statute-breadcrumb a{color:var(--brand-green-dark)}.statute-breadcrumb a:hover{text-decoration:underline}.statute-breadcrumb span{color:var(--text-secondary);font-weight:400}.statute-pagination{color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem;font-weight:500}.statute-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.statute-title-group{align-items:center;gap:1rem;display:flex}.statute-title-group h2{margin:0;font-size:2rem}.statute-badge{color:#475569;background-color:#e2e8f0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.btn-print{padding:.5rem 1rem;font-size:.85rem}.statute-heading{color:var(--text-primary);margin-bottom:2rem;font-size:1.5rem;font-weight:700}.statute-body{color:#1e293b;margin-bottom:3rem;font-size:1.1rem;line-height:1.8}.statute-history{color:var(--text-secondary);border-left:3px solid var(--brand-gold-primary);background-color:var(--bg-primary);border-radius:0 6px 6px 0;padding:1rem;font-size:.9rem}@media (width<=900px){.header-container{flex-direction:column;gap:1rem;height:auto;padding:1rem 0}.nav-list{flex-wrap:wrap;justify-content:center;gap:1rem}.hero-title{font-size:2.5rem}.action-header{flex-direction:column;align-items:stretch;padding:1rem 1rem 0}.action-label{margin-bottom:1rem}.action-tabs{flex-wrap:wrap}.action-tab.active{margin-top:0}.search-form{flex-direction:column;align-items:stretch}.footer-container{grid-template-columns:1fr}}.legislature-page{background-color:var(--color-leg-bg);color:var(--text-primary);font-family:var(--font-data)}.leg-container{max-width:1200px;margin:0 auto;padding:0 2rem}.leg-header{background-color:var(--brand-green-dark);color:var(--color-leg-surface);z-index:100;box-shadow:var(--shadow-sm);position:sticky;top:0}.leg-nav-inner{justify-content:space-between;align-items:center;height:4rem;display:flex}.leg-logo{font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.leg-logo .state-name{color:var(--brand-gold-primary)}.leg-nav-list{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.leg-nav-link{color:var(--color-leg-surface);transition:opacity var(--transition-fast);opacity:.8;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.leg-nav-link:hover,.leg-nav-link.active{opacity:1}.live-indicator{background-color:var(--brand-gold-primary);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-gold;display:inline-block}.live-indicator.is-idle{background-color:var(--text-secondary,#94a3b8);animation:none}.live-indicator.is-live{background-color:#16a34a;animation:2s infinite pulse-live}@keyframes pulse-live{0%{box-shadow:0 0 #16a34ab3}70%{box-shadow:0 0 0 6px #16a34a00}to{box-shadow:0 0 #16a34a00}}@keyframes pulse-gold{0%{box-shadow:0 0 #d4af37b3}70%{box-shadow:0 0 0 6px #d4af3700}to{box-shadow:0 0 #d4af3700}}.live-hero-section{background:linear-gradient(180deg, var(--brand-green-dark) 0%, transparent 60%);min-height:400px;padding:3rem 0}.live-panel{background-color:var(--color-leg-surface);border-top:4px solid var(--brand-gold-primary);box-shadow:var(--shadow-md);border-radius:8px;gap:3rem;padding:2.5rem;display:flex}.live-info{flex-direction:column;flex:0 0 55%;display:flex}.live-status-badge{color:var(--color-leg-amber);font-family:var(--font-mono);letter-spacing:.05em;background-color:#d977061a;border-radius:12px;align-self:flex-start;margin-bottom:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.live-item-id{font-family:var(--font-mono);color:var(--text-secondary);margin:0 0 .5rem;font-size:1.25rem}.live-item-title{font-family:var(--font-heading);color:var(--brand-green-dark);margin:0 0 1rem;font-size:2rem;line-height:1.2}.live-item-summary{color:var(--text-primary);margin-bottom:auto;font-size:1.05rem;line-height:1.6}.live-tally-container{margin-top:2rem}.tally-label{font-family:var(--font-mono);justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:flex}.tally-count{display:inline-block}.yea-text{color:var(--color-leg-green)}.nay-text{color:var(--color-leg-red)}.pending-text{color:var(--text-secondary)}.tally-bar{background-color:var(--border-subtle);border-radius:4px;gap:2px;height:8px;display:flex;overflow:hidden}.tally-segment{height:100%;transition:width .5s}.yea-bg{background-color:var(--color-leg-green)}.nay-bg{background-color:var(--color-leg-red)}.pending-bg{background-color:#cbd5e1}.live-senators{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:1rem;display:grid}.senator-card{border:1px solid var(--border-subtle);background-color:var(--color-leg-bg);transition:all var(--transition-fast);border-radius:6px;align-items:center;gap:1rem;padding:.75rem;display:flex}.highlight-pulse{animation:1s ease-out highlight-vote}@keyframes highlight-vote{0%{border-color:var(--brand-gold-primary);transform:scale(1);box-shadow:0 0 #d4af3766}50%{border-color:var(--brand-gold-primary);transform:scale(1.02);box-shadow:0 0 0 10px #d4af3700}to{transform:scale(1);box-shadow:0 0 #d4af3700}}.senator-avatar{background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.senator-details{flex-direction:column;gap:.25rem;display:flex}.senator-name{color:var(--brand-green-dark);font-size:.9rem;font-weight:600}.vote-badge{font-family:var(--font-mono);border-radius:4px;width:fit-content;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-yea{color:var(--color-leg-green);background-color:#16a34a1a;border:1px solid #16a34a4d}.badge-nay{color:var(--color-leg-red);background-color:#dc26261a;border:1px solid #dc26264d}.badge-pending{color:#94a3b8;background-color:#f1f5f9;border:1px solid #e2e8f0}.badge-abstain{color:#64748b;background-color:#94a3b81f;border:1px solid #94a3b859}.records-section{padding:4rem 0}.leg-tabs{border-bottom:2px solid var(--border-subtle);gap:2rem;margin-bottom:2rem;display:flex}.leg-tab{color:var(--brand-green-dark);opacity:.6;cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0 0 1rem;font-size:1.1rem;font-weight:600;position:relative}.leg-tab:hover,.leg-tab.active{opacity:1}.leg-tab.active:after{content:"";background-color:var(--brand-gold-primary);width:100%;height:3px;position:absolute;bottom:-2px;left:0}.filter-bar{gap:1rem;margin-bottom:2rem;display:flex}.filter-group{align-items:center;display:flex;position:relative}.filter-group:first-child{flex:1}.filter-icon{color:var(--text-secondary);position:absolute;left:1rem}.filter-input{border:1px solid var(--border-subtle);border-radius:6px;width:100%;padding:.75rem 1rem .75rem 2.5rem;font-family:inherit;font-size:.95rem}.filter-select{border:1px solid var(--border-subtle);cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border-radius:6px;padding:.75rem 2.5rem .75rem 1rem;font-family:inherit;font-size:.95rem}.leg-table{border-collapse:separate;border-spacing:0;background-color:var(--color-leg-surface);width:100%;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.leg-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-green-dark);border-bottom:1px solid var(--border-subtle);background-color:#f8fafc;padding:1rem 1.5rem;font-size:.85rem}.leg-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:1.25rem 1.5rem}.leg-table tr:last-child td{border-bottom:none}.expandable-row{cursor:pointer;transition:background-color var(--transition-fast)}.expandable-row:hover{background-color:#f8fafc}.mono-text{font-family:var(--font-mono);font-weight:500}.truncate-td{white-space:nowrap;text-overflow:ellipsis;max-width:300px;color:var(--text-primary);font-weight:500;overflow:hidden}.status-pill{letter-spacing:.05em;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.passed-pill,.signed-pill{color:var(--color-leg-green);background-color:#16a34a1a}.failed-pill{color:var(--color-leg-red);background-color:#dc26261a}.pending-pill{color:var(--color-leg-amber);background-color:#d977061a}.mute-pill{color:#94a3b8}.expanded-detail-row{display:none}.expanded-detail-row.active{display:table-row}.row-detail-panel{border-top:1px solid var(--border-subtle);background-color:#f8fafc;flex-direction:column;gap:2rem;padding:2rem 2.5rem;display:flex}.detail-header{justify-content:space-between;align-items:flex-start;display:flex}.detail-title-group{align-items:center;gap:1rem;display:flex}.detail-title-group h4{font-family:var(--font-heading);color:var(--brand-green-dark);margin:0;font-size:1.25rem}.detail-link{color:var(--brand-green-dark);font-weight:600;text-decoration:none}.detail-link:hover{text-decoration:underline}.detail-votes h5,.status-pipeline h5,.gov-action-card h5{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 1rem;font-size:.85rem}.mini-senators{flex-wrap:wrap;gap:1.5rem;display:flex}.mini-senator{align-items:center;gap:.75rem;display:flex}.mini-senator .senator-avatar{width:36px;height:36px}.mini-senator .senator-name{font-size:.85rem}.mini-senator .vote-badge{padding:.1rem .4rem;font-size:.65rem}.detail-context-grid{border-top:1px solid var(--border-subtle);grid-template-columns:2fr 1fr;gap:3rem;padding-top:2rem;display:grid}.stepper{justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:relative}.stepper:before{content:"";background-color:var(--border-subtle);z-index:1;height:2px;position:absolute;top:12px;left:0;right:0}.step{z-index:2;color:var(--text-secondary);text-align:center;padding-top:28px;font-size:.8rem;font-weight:500;position:relative}.step:before{content:"";background-color:var(--color-leg-surface);border:2px solid var(--border-subtle);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.step-complete{color:var(--brand-green-dark)}.step-complete:before{background-color:var(--color-leg-green);border-color:var(--color-leg-green)}.step-active{color:var(--brand-green-dark);font-weight:700}.step-active:before{background-color:var(--color-leg-surface);border-color:var(--color-leg-amber);border-width:3px}.step-failed{color:#ef4444}.step-failed:before{background-color:#ef4444;border-color:#ef4444}.gov-action-card{background-color:var(--color-leg-surface);border:1px solid var(--border-subtle);border-radius:6px;padding:1.25rem}.action-status{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.action-date{color:var(--text-secondary);font-size:.85rem}.action-note{margin:0;font-size:.9rem;line-height:1.4}@media (width<=900px){.detail-context-grid{grid-template-columns:1fr;gap:1.5rem}.stepper{flex-direction:column;align-items:flex-start;gap:1rem}.stepper:before{width:2px;height:auto;top:0;bottom:0;left:12px}.step{text-align:left;padding-top:0;padding-left:28px}.step:before{top:2px;left:6px;transform:none}.live-panel{flex-direction:column}.live-info{flex:none}.leg-nav-list{display:none}}.citizen-auth-wrapper{z-index:10;margin-top:-3rem;margin-bottom:2rem;position:relative}.auth-banner{align-items:center;gap:2rem;padding:1.75rem 2.5rem;display:flex}.auth-roblox-mark{width:56px;height:56px;font-family:var(--font-heading);color:#fff;letter-spacing:-.05em;background:#e53935;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:flex}.auth-text{flex:1}.auth-text h3{color:var(--brand-green-dark);margin-bottom:.2rem;font-size:1.1rem}.auth-text p{color:var(--text-secondary);margin:0;font-size:.9rem}.btn-roblox{color:#fff;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;background:#e53935;border:none;border-radius:6px;flex-shrink:0;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600}.btn-roblox:hover{background:#c62828}.petitions-section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.petitions-section-header .section-title{border-bottom:none;margin-bottom:0}.petition-filter-bar{border-bottom:2px solid var(--border-subtle);gap:0;margin-bottom:2rem;display:flex}.pfil-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600}.pfil-tab:hover{color:var(--brand-green-dark)}.pfil-tab.active{color:var(--brand-green-dark);border-bottom-color:var(--brand-gold-primary)}.petition-list{flex-direction:column;gap:1.5rem;display:flex}.citizen-bills-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.citizen-bill-card{border:1px solid var(--border-subtle);background:#fff;border-radius:10px;padding:1.25rem;transition:box-shadow .15s}.citizen-bill-card:hover{box-shadow:0 2px 12px #00000014}.session-agenda-detail{border-left:3px solid var(--brand-gold-primary);background:var(--bg-secondary);border-radius:0 0 8px 8px;margin:0 0 .75rem;padding:.5rem .75rem .5rem 3.5rem}.agenda-preview-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:.5rem 0;font-size:.85rem;display:flex}.agenda-preview-item:last-child{border-bottom:none}.agenda-preview-order{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.agenda-preview-title{flex:1;font-weight:500}.agenda-preview-type{color:var(--text-secondary);text-transform:capitalize;font-size:.75rem}.petition-card{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), transform var(--transition-normal);background:#fff;border-radius:12px;padding:2rem}.petition-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.petition-card-top{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.petition-status-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:10px;padding:.2rem .6rem;font-size:.68rem;font-weight:700;display:inline-block}.p-active-pill{color:#16a34a;background:#16a34a1a}.p-qualifying-pill{color:#d97706;background:#d977061a}.p-certified-pill{color:var(--brand-green-dark);background:#06402b1a}.p-rejected-pill{color:#64748b;background:#64748b1f}.petition-category-tag{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.petition-title{font-family:var(--font-heading);color:var(--brand-green-dark);margin-bottom:.6rem;font-size:1.25rem;line-height:1.3}.petition-desc{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.65}.petition-meta{color:var(--text-secondary);justify-content:space-between;margin-bottom:1.25rem;font-size:.8rem;display:flex}.petition-progress-wrap{margin-bottom:1.25rem}.petition-progress-labels{color:var(--text-primary);justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:flex}.petition-progress-bar{background:var(--border-subtle);border-radius:4px;height:8px;overflow:hidden}.petition-progress-fill{background:linear-gradient(90deg, var(--brand-green-mid), var(--brand-green-dark));border-radius:4px;height:100%;transition:width .5s}.petition-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn-sign{background:var(--brand-green-dark);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-sign:hover:not(:disabled){background:var(--brand-green-mid);transform:translateY(-1px)}.btn-sign:disabled{opacity:.45;cursor:not-allowed;transform:none}.login-note{opacity:.65;font-size:.78em;font-weight:400}.petition-deadline{color:var(--text-secondary);font-size:.82rem}.footer-staff-link{color:#64748b;transition:color var(--transition-fast)}.footer-staff-link:hover{color:var(--brand-gold-primary)}.portal-page{background:#f1f5f9}.portal-subbanner{background:linear-gradient(90deg, var(--brand-green-dark) 0%, var(--brand-green-mid) 100%);color:#fff;border-bottom:2px solid var(--brand-gold-primary);padding:.5rem 0}.portal-subbanner-inner{justify-content:space-between;align-items:center;display:flex}.portal-label-text{text-transform:uppercase;letter-spacing:.12em;opacity:.65;font-size:.7rem;font-weight:700}.portal-label-title{font-size:.875rem;font-weight:700}.portal-demo-note{opacity:.65;font-size:.75rem;font-style:italic}.role-switcher-bar{border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);top:var(--header-height);z-index:50;background:#fff;position:sticky}.role-switcher-inner{align-items:stretch;gap:0;display:flex}.role-switcher-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);border-right:1px solid var(--border-subtle);align-items:center;padding:0 1.5rem;font-size:.75rem;font-weight:700;display:flex}.role-tab{height:48px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:0 1.5rem;font-size:.875rem;font-weight:600;display:flex}.role-tab:hover{color:var(--brand-green-dark);background:var(--bg-primary)}.role-tab.active{color:var(--brand-green-dark);border-bottom-color:var(--brand-gold-primary)}.role-pip{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:8px;height:8px}.role-tab.active .senator-pip{background:#3b82f6}.role-tab.active .chair-pip{background:var(--brand-gold-primary)}.role-tab.active .registrar-pip{background:var(--brand-green-mid)}.role-tab.active .admin-pip{background:#dc2626}.portal-container{max-width:1280px;margin:0 auto;padding:2rem 2rem 4rem}.portal-layout{grid-template-columns:240px 1fr;align-items:start;gap:1.75rem;display:grid}.portal-sidebar{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);top:calc(var(--header-height) + 50px);background:#fff;border-radius:10px;padding:1.25rem 0;position:sticky}.portal-sidebar-section{margin-bottom:.5rem}.sidebar-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);padding:.5rem 1.25rem .25rem;font-size:.68rem;font-weight:700}.sidebar-link{color:var(--text-primary);transition:all var(--transition-fast);border-left:3px solid #0000;align-items:center;gap:.65rem;padding:.55rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.sidebar-link:hover{background:var(--bg-primary);color:var(--brand-green-dark)}.sidebar-link.active{color:var(--brand-green-dark);border-left-color:var(--brand-green-dark);background:#06402b0f;font-weight:600}.sidebar-link.chair-active{border-left-color:var(--brand-gold-primary)}.sidebar-link.registrar-active{border-left-color:var(--brand-green-mid)}.sidebar-badge{background:var(--brand-gold-primary);color:#000;border-radius:10px;margin-left:auto;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.sidebar-divider{background:var(--border-subtle);height:1px;margin:.75rem 0}.perm-label{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.perm-senator-label{color:#3b82f6;background:#3b82f61a}.perm-chair-label{color:#92670f;background:#d4af3726}.perm-registrar-label{color:var(--brand-green-mid);background:#0d61421a}.perm-admin-label{color:#dc2626;background:#dc26261a}.tree-classifier-badge{letter-spacing:.04em;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:.65rem;font-weight:700}.classifier-pen{color:#dc2626;background:#dc26261f}.classifier-civ{color:#2563eb;background:#3b82f61f}.classifier-veh{color:#b45309;background:#f59e0b26}.portal-main{flex-direction:column;gap:1.5rem;display:flex}.portal-section-card{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;overflow:hidden}.panel-section{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:1.5rem}.panel-heading{font-size:1.1rem;font-family:var(--font-body);color:var(--text-primary);margin:0 0 .35rem;font-weight:700}.panel-desc{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.85rem;line-height:1.5}.portal-card-header{border-bottom:1px solid var(--border-subtle);background:#fafbfc;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.portal-card-header h3{font-size:.95rem;font-family:var(--font-body);color:var(--brand-green-dark);margin:0;font-weight:700}.portal-card-body{padding:1.25rem 1.5rem}.portal-stats-row{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.stat-chip{border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:1rem 1.25rem}.stat-chip-value{font-size:1.75rem;font-weight:700;font-family:var(--font-heading);color:var(--brand-green-dark);margin-bottom:.25rem;line-height:1}.stat-chip-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.review-item{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:1rem;padding:1.1rem 0;display:flex}.review-item:last-of-type{border-bottom:none;padding-bottom:0}.review-item-info{flex:1}.review-item-id{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:.2rem;font-size:.75rem}.review-item-title{color:var(--text-primary);margin-bottom:.2rem;font-size:.9rem;font-weight:600}.review-item-meta{color:var(--text-secondary);font-size:.78rem}.review-item-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.4rem;display:flex}.btn-approve{color:#16a34a;cursor:pointer;transition:all var(--transition-fast);background:#16a34a1a;border:1px solid #16a34a4d;border-radius:5px;padding:.3rem .75rem;font-size:.78rem;font-weight:700}.btn-approve:hover{background:#16a34a33}.btn-reject{color:#dc2626;cursor:pointer;transition:all var(--transition-fast);background:#dc262614;border:1px solid #dc262640;border-radius:5px;padding:.3rem .75rem;font-size:.78rem;font-weight:700}.btn-reject:hover{background:#dc262626}.btn-view-diff{color:var(--brand-green-dark);border:1px solid var(--brand-green-dark);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:5px;padding:.3rem .75rem;font-size:.78rem;font-weight:600}.btn-view-diff:hover{background:var(--brand-green-dark);color:#fff}.btn-advance{color:#92670f;cursor:pointer;transition:all var(--transition-fast);background:#d4af3726;border:1px solid #d4af3766;border-radius:5px;padding:.3rem .75rem;font-size:.78rem;font-weight:700}.btn-advance:hover{background:#d4af374d}.btn-publish{background:var(--brand-green-dark);color:#fff;cursor:pointer;transition:background var(--transition-fast);border:none;border-radius:5px;padding:.3rem .9rem;font-size:.78rem;font-weight:700}.btn-publish:hover{background:var(--brand-green-mid)}.btn-call-vote{background:var(--brand-gold-primary);color:#000;cursor:pointer;border:none;border-radius:5px;padding:.3rem .8rem;font-size:.78rem;font-weight:700}.diff-view{padding-top:.75rem;display:none}.diff-view.open{display:block}.diff-panes{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.diff-pane{border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.diff-pane-header{text-transform:uppercase;letter-spacing:.05em;padding:.4rem .8rem;font-size:.7rem;font-weight:700}.diff-pane-header.current{color:#dc2626;background:#dc262612;border-bottom:1px solid #dc262626}.diff-pane-header.proposed{color:#16a34a;background:#16a34a12;border-bottom:1px solid #16a34a26}.diff-code{font-family:var(--font-mono);background:#fff;flex-direction:column;padding:.75rem;font-size:.78rem;line-height:1.8;display:flex}.diff-line{border-radius:2px;padding:0 .35rem;display:block}.diff-line-removed{color:#b91c1c;background:#dc262617}.diff-line-added{color:#15803d;background:#16a34a17}.agenda-list{flex-direction:column;display:flex}.agenda-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:1rem;padding:.875rem 0;display:flex}.agenda-item:last-child{border-bottom:none}.agenda-order{background:var(--brand-green-dark);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:flex}.agenda-item-info{flex:1}.agenda-item-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.agenda-item-type{color:var(--text-secondary);font-size:.75rem}.publish-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:1rem;padding:1rem 0;display:flex}.publish-item:last-child{border-bottom:none}.publish-item-info{flex:1}.publish-item-statute{font-family:var(--font-mono);color:var(--brand-green-dark);margin-bottom:.2rem;font-size:.82rem;font-weight:700}.publish-item-desc{color:var(--text-secondary);font-size:.82rem}.publish-item-votes{color:#16a34a;font-size:.75rem;font-weight:600}.portal-panel{display:none}.portal-panel.panel-active{display:block}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.875rem}.users-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:2px solid var(--border-subtle);white-space:nowrap;padding:.6rem 1rem;font-size:.72rem;font-weight:600}.users-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.75rem 1rem}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:#06402b08}.user-avatar-cell{align-items:center;gap:.65rem;display:flex}.user-avatar-sm{border:2px solid var(--border-subtle);background-image:url(/fatman.png);background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.user-name{color:var(--text-primary);font-weight:600}.user-joined{color:var(--text-secondary);font-size:.75rem}.role-select-inline{border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;padding:.3rem .5rem;font-size:.8rem;display:none}.role-select-inline.visible{display:inline-block}.btn-edit-role{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;padding:.3rem .65rem;font-size:.75rem;transition:all .15s}.btn-edit-role:hover{border-color:var(--brand-green-mid);color:var(--brand-green-mid)}.btn-confirm-role{background:var(--brand-green-dark);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.3rem .65rem;font-size:.75rem;transition:background .15s;display:none}.btn-confirm-role.visible{display:inline-block}.btn-confirm-role:hover{background:var(--brand-green-mid)}.btn-remove-user{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:6px;padding:.3rem .65rem;font-size:.75rem;transition:all .15s}.btn-remove-user:hover{background:#fef2f2;border-color:#dc2626}.user-status-badge{border-radius:99px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.user-status-active{color:#15803d;background:#dcfce7}.user-status-inactive{color:#64748b;background:#f1f5f9}.invite-user-form{border:1px solid var(--border-subtle);background:#f8fafc;border-radius:10px;grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem;margin-top:1.25rem;padding:1.25rem;display:grid}@media (width<=700px){.invite-user-form{grid-template-columns:1fr}}.history-timeline{flex-direction:column;gap:0;display:flex}.history-entry{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:1rem;padding:.85rem 0;display:flex}.history-entry:last-child{border-bottom:none}.history-dot-wrap{flex-direction:column;flex-shrink:0;align-items:center;padding-top:3px;display:flex}.history-dot{background:var(--brand-green-mid);border-radius:50%;flex-shrink:0;width:10px;height:10px}.history-dot.dot-publish{background:#16a34a}.history-dot.dot-propose{background:var(--brand-gold-primary)}.history-dot.dot-advance{background:#2563eb}.history-dot.dot-table{background:#dc2626}.history-dot.dot-user{background:#7c3aed}.history-line{background:var(--border-subtle);flex:1;width:1px;min-height:20px;margin-top:3px}.history-body{flex:1}.history-action{color:var(--text-primary);font-size:.875rem;font-weight:600}.history-detail{color:var(--text-secondary);margin-top:.15rem;font-size:.8rem}.history-meta{color:var(--text-secondary);margin-top:.25rem;font-size:.72rem}.history-actor{color:var(--brand-green-dark);font-weight:600}.vote-table{border-collapse:collapse;width:100%;font-size:.875rem}.vote-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:2px solid var(--border-subtle);padding:.6rem 1rem;font-size:.72rem;font-weight:600}.vote-table td{border-bottom:1px solid var(--border-subtle);padding:.75rem 1rem}.vote-table tr:last-child td{border-bottom:none}.vote-table tr:hover td{background:#06402b08}.vote-yes{color:#16a34a;font-weight:700}.vote-no{color:#dc2626;font-weight:700}.vote-abstain{color:#94a3b8;font-weight:600}.vote-result-pass{color:#15803d;background:#dcfce7;border-radius:99px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.vote-result-fail{color:#b91c1c;background:#fee2e2;border-radius:99px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.session-calendar-list{flex-direction:column;gap:.75rem;display:flex}.session-entry{border:1px solid var(--border-subtle);background:#fff;border-radius:10px;align-items:center;gap:1.25rem;padding:1rem 1.25rem;display:flex}.session-entry.session-next{border-color:var(--brand-green-mid);background:#0d61420a}.session-entry.session-past{opacity:.65}.session-date-block{text-align:center;flex-shrink:0;min-width:48px}.session-date-month{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.06em;font-size:.65rem;font-weight:700}.session-date-day{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.session-entry.session-next .session-date-day{color:var(--brand-green-dark)}.session-info{flex:1}.session-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.session-detail{color:var(--text-secondary);margin-top:.2rem;font-size:.78rem}.session-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;flex-shrink:0;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.session-tag-next{color:#065f46;background:#d1fae5}.session-tag-past{color:#64748b;background:#f1f5f9}.session-tag-upcoming{color:#1d4ed8;background:#eff6ff}.member-votes-wrap{overflow-x:auto}.member-votes-table{border-collapse:collapse;width:100%;min-width:500px;font-size:.82rem}.member-votes-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:2px solid var(--border-subtle);white-space:nowrap;padding:.6rem .75rem;font-size:.7rem;font-weight:600}.member-votes-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.65rem .75rem}.member-votes-table tr:last-child td{border-bottom:none}.member-votes-table tr:hover td{background:#06402b08}.member-name-cell{align-items:center;gap:.5rem;display:flex}.member-avatar-xs{border:1px solid var(--border-subtle);background-image:url(/fatman.png);background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;width:24px;height:24px}.statute-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.statute-toolbar-search{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:8px;flex:1;align-items:center;gap:.5rem;min-width:200px;padding:.4rem .75rem;transition:border-color .15s;display:flex}.statute-toolbar-search:focus-within{border-color:var(--brand-green-mid)}.statute-toolbar-search svg{color:var(--text-secondary);flex-shrink:0}.statute-toolbar-search .form-input{background:0 0;border:none;outline:none;flex:1;padding:.3rem 0;font-size:.85rem}.statute-toolbar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.statute-toolbar-actions .btn{white-space:nowrap;min-width:90px;min-height:38px;padding:.55rem 1.1rem;font-size:.88rem}.btn-sm{padding:.4rem .8rem!important;font-size:.78rem!important}.statute-search-overlay{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:10px;max-height:250px;margin-bottom:1rem;position:relative;overflow-y:auto;box-shadow:0 4px 12px #00000014}.statute-search-results{overflow:hidden}.statute-result-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:.65rem 1rem;text-decoration:none;transition:background .12s;display:block}.statute-result-item:last-child{border-bottom:none}.statute-result-item:hover,.statute-result-item.selected{background:#0d614212}.statute-result-item.selected{border-left:3px solid var(--brand-green-mid)}.statute-result-num{font-family:var(--font-mono);color:var(--brand-green-dark);font-size:.72rem;font-weight:700}.statute-result-name{color:var(--text-primary);margin-top:.1rem;font-size:.78rem}.statute-split-pane{grid-template-columns:420px 1fr;align-items:start;gap:1.5rem;min-height:600px;display:grid}@media (width<=900px){.statute-split-pane{grid-template-columns:1fr}}.statute-tree-pane{border:1px solid var(--border-subtle);border-radius:10px;min-height:500px;max-height:80vh;overflow:hidden auto}.tree-header{border-bottom:1px solid var(--border-subtle);background:#0d614208;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.tree-header-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.78rem;font-weight:600}.btn-icon{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:.25rem}.btn-icon:hover{background:#0000000f}.statute-tree{margin:0;padding:0;list-style:none}.statute-tree ul{margin:0;padding:0 0 0 1rem;list-style:none}.tree-children.collapsed{display:none}.tree-node-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.88rem;transition:background .1s;display:flex}.tree-node-row:hover{background:#0d61420d}.tree-node-row.selected{border-left-color:var(--brand-green-mid);background:#0d614214}.tree-node-toggle{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .15s;display:inline-flex}.tree-node-toggle.expanded{transform:rotate(90deg)}.tree-node-toggle svg{width:12px;height:12px}.tree-node-number{font-family:var(--font-mono);color:var(--brand-green-dark);white-space:nowrap;font-size:.72rem;font-weight:700}.tree-node-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.tree-node-badge{color:var(--text-secondary);white-space:nowrap;background:#0000000d;border-radius:8px;flex-shrink:0;padding:.1rem .4rem;font-size:.65rem}.tree-node-action{opacity:0;cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 .3rem;font-size:.85rem;transition:opacity .15s}.tree-node-row:hover .tree-node-action{opacity:1}.tree-node-action:hover{color:var(--text-primary)}.tree-node-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tree-node-status-dot.dot-active{background:#22c55e}.tree-node-status-dot.dot-repealed{background:#ef4444}.tree-node-status-dot.dot-recent{background:#d97706}.tree-leaf{padding-left:1.65rem}.statute-context-menu{z-index:1000;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;min-width:180px;padding:.35rem 0;position:fixed;overflow:hidden;box-shadow:0 6px 20px #0000001f}.ctx-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;padding:.55rem 1rem;font-size:.82rem;transition:background .1s;display:block}.ctx-menu-item:hover{background:#0d61420f}.ctx-menu-item.ctx-danger{color:#ef4444}.ctx-menu-item.ctx-danger:hover{background:#ef44440f}.ctx-menu-divider{background:var(--border-subtle);height:1px;margin:.3rem 0}.statute-inline-form{background:#eab3080f;border-top:1px solid #eab30833;border-bottom:1px solid #eab30833;align-items:center;gap:.4rem;padding:.4rem .65rem .4rem 2.5rem;display:flex}.statute-inline-form input{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:4px;padding:.3rem .5rem;font-size:.78rem}.statute-inline-form input:focus{border-color:var(--brand-green-mid);outline:none}.statute-inline-form button{cursor:pointer;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.72rem}.statute-inline-form .btn-create{background:var(--brand-green-mid);color:#fff}.statute-inline-form .btn-cancel{color:var(--text-secondary);background:0 0}.statute-editor-pane{flex-direction:column;gap:.75rem;display:flex}.statute-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.statute-editor-title{color:var(--text-primary);font-size:1rem;font-weight:700}.statute-editor-subtitle{color:var(--text-secondary);font-size:.8rem}.statute-edit-area{width:100%;min-height:350px;font-family:var(--font-mono);border:1px solid var(--border-subtle);resize:vertical;color:var(--text-primary);background:#fafafa;border-radius:8px;padding:1.25rem;font-size:.9rem;line-height:1.7}.statute-edit-area:focus{border-color:var(--brand-green-mid);background:#fff;outline:none}.editor-actions{flex-wrap:wrap;gap:.65rem;display:flex}.statute-editor-empty{min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex}.archive-item{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.archive-item:last-child{border-bottom:none}.archive-item-info{flex:1}.archive-item-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.archive-item-id{font-family:var(--font-mono);color:#64748b;font-size:.78rem;font-weight:700}.archive-item-name{color:var(--text-primary);margin-top:.15rem;font-size:.875rem;font-weight:600}.archive-item-date{color:var(--text-secondary);margin-top:.1rem;font-size:.75rem}.btn-restore{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:.35rem .8rem;font-size:.78rem;transition:all .15s}.btn-restore:hover{border-color:var(--brand-green-mid);color:var(--brand-green-mid)}.attendance-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.attendance-card{border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .65rem;font-size:.78rem;font-weight:500;display:flex}.attendance-card.present{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.attendance-card.absent{color:#991b1b;background:#fef2f2;border-color:#fecaca}.attendance-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.present .attendance-dot{background:#16a34a}.absent .attendance-dot{background:#dc2626}.live-tally{flex-wrap:wrap;gap:1rem;margin:1rem 0;display:flex}.tally-block{text-align:center;border:1px solid var(--border-subtle);border-radius:10px;flex:1;min-width:80px;padding:1rem}.tally-block.tally-yes{background:#f0fdf4;border-color:#bbf7d0}.tally-block.tally-no{background:#fef2f2;border-color:#fecaca}.tally-block.tally-abs{background:#f8fafc}.tally-count{font-size:2rem;font-weight:800;line-height:1}.tally-yes .tally-count{color:#16a34a}.tally-no .tally-count{color:#dc2626}.tally-abs .tally-count{color:#94a3b8}.tally-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:.3rem;font-size:.72rem;font-weight:700}.sidebar-link.panel-link.active{color:var(--brand-green-dark);background:#0d61421a;font-weight:600}.sidebar-link.panel-link.active svg{stroke:var(--brand-green-dark)}.bill-card{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:10px;margin-bottom:.75rem;padding:1rem;transition:border-color .15s}.bill-card:hover{border-color:var(--brand-green-dark)}.bill-card-mini{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:8px;margin-bottom:.5rem;padding:.75rem}.bill-status-pill{text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.bill-status-draft{color:#64748b;background:#f1f5f9}.bill-status-submitted{color:#1d4ed8;background:#dbeafe}.bill-status-on_agenda,.bill-status-voting{color:#92400e;background:#fef3c7}.bill-status-passed{color:#166534;background:#dcfce7}.bill-status-failed{color:#991b1b;background:#fef2f2}.bill-status-signed{color:#166534;background:#dcfce7}.bill-status-vetoed{color:#991b1b;background:#fef2f2}.bill-editor{max-width:100%}.bill-section-block{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.bill-section-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.bill-section-body{resize:vertical;width:100%;min-height:100px;font-family:var(--font-mono);background:var(--bg-primary);color:var(--text-primary);border:none;padding:.75rem;font-size:.85rem;line-height:1.65}.bill-section-body:focus{background:#fefffe;outline:none}.bill-section-body[readonly]{background:var(--bg-tertiary);cursor:default}.bill-section-type-tag{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.type-preamble{color:#3730a3;background:#e0e7ff}.type-findings{color:#92400e;background:#fef3c7}.type-section{color:#166534;background:#dcfce7}.type-definition{color:#1e40af;background:#dbeafe}.type-repealer{color:#991b1b;background:#fee2e2}.type-effective_date{color:#6b21a8;background:#f3e8ff}.type-severability{color:#475569;background:#f1f5f9}.bill-section-remove{color:var(--text-secondary);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:1.2rem;line-height:1;transition:opacity .15s,color .15s}.bill-section-remove:hover{opacity:1;color:#dc2626}.bill-cosponsor-chips{flex-wrap:wrap;gap:.4rem;display:flex}.cosponsor-chip{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.8rem;display:inline-flex}.cosponsor-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.cosponsor-remove:hover{color:#dc2626}.bill-revision-list{flex-direction:column;gap:.5rem;display:flex}.bill-revision-item{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:8px;padding:.6rem .75rem}.bill-readonly-view .bill-section-block{margin-bottom:.75rem}.bill-add-dropdown{background:var(--bg-primary);border:1px solid var(--border-primary);z-index:100;border-radius:10px;min-width:220px;margin-bottom:.5rem;padding:.5rem;animation:.15s slideUp;position:absolute;bottom:100%;left:0;box-shadow:0 8px 24px #00000026}.bill-add-dropdown-group{border-bottom:1px solid var(--border-primary);padding:.35rem 0}.bill-add-dropdown-group:last-child{border-bottom:none}.bill-add-dropdown-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:block}.bill-add-section-btn{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.85rem;display:block}.bill-add-section-btn:hover{background:var(--bg-secondary);color:var(--brand-green-dark)}.bill-section-block{cursor:grab;transition:opacity .15s,box-shadow .15s}.bill-section-block.dragging{opacity:.35;cursor:grabbing}.bill-section-block.drag-over{box-shadow:0 -3px 0 0 var(--brand-green-mid)}.portal-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portal-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:14px;width:90%;max-width:480px;animation:.2s slideUp;overflow:hidden;box-shadow:0 20px 60px #0000004d}.portal-modal-header{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.portal-modal-header h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.portal-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.portal-modal-close:hover{color:var(--text-primary)}.portal-modal-body{padding:1.25rem 1.5rem}.portal-modal-body p{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem;line-height:1.6}.portal-modal-body .form-input{width:100%;margin-top:.5rem}.portal-modal-footer{border-top:1px solid var(--border-primary);background:var(--bg-secondary);justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.btn-session-control{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s}.btn-session-control:hover:not(:disabled){background:var(--bg-tertiary)}.btn-session-control:disabled{opacity:.4;cursor:not-allowed}.btn-session-control.btn-danger{color:#dc2626;border-color:#dc2626}.btn-session-control.btn-danger:hover:not(:disabled){background:#dc26261a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.btn-floor-vote{cursor:pointer;border:none;transition:transform .1s,filter .1s}.btn-floor-vote:hover{filter:brightness(1.1);transform:scale(1.05)}.btn-floor-vote:active{transform:scale(.97)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.hero-pdf-btn{padding:.85rem 1.75rem;font-size:1rem;text-decoration:none}.hero-btn-outline{color:#fff;background-color:#ffffff14;border:2px solid #ffffff8c}.hero-btn-outline:hover{background-color:#ffffff29;border-color:#fff}
