/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}
.clearfix::after{display:table;clear:both;content:"";}.nowrap{white-space:nowrap;}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}
:root{--cdk-bg:#ffffff;--cdk-text:#1f2937;--cdk-border:#e5e7eb;--cdk-muted:#f8fafc;--cdk-primary:#0d6efd;--cdk-primary-contrast:#ffffff;--cdk-shadow:0 10px 30px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.08);--cdk-radius:14px;--cdk-radius-bubble:18px;--cdk-z:1060;}#cdk-chat-launcher,.cdk-chat-launcher{position:fixed;right:16px;bottom:16px;z-index:var(--cdk-z);}#cdk-chat-launcher .cdk-fab,.cdk-chat-launcher .cdk-fab{width:56px !important;height:56px !important;padding:0 !important;border-radius:50% !important;display:inline-grid !important;place-items:center !important;aspect-ratio:1 / 1;font-size:0;background:var(--cdk-primary);color:var(--cdk-primary-contrast);border:none;box-shadow:0 8px 22px rgba(0,0,0,.25);cursor:pointer;transition:transform 120ms ease,box-shadow 120ms ease;}#cdk-chat-launcher .cdk-fab::after,.cdk-chat-launcher .cdk-fab::after{content:"💬";font-size:22px;line-height:1;}#cdk-chat-launcher .cdk-fab:hover,.cdk-chat-launcher .cdk-fab:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.18),0 6px 12px rgba(0,0,0,.10);}#cdk-chat-launcher .cdk-fab:focus-visible,.cdk-chat-launcher .cdk-fab:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(13,110,253,.25),var(--cdk-shadow);}.cdk-chat-panel{display:none;position:fixed;right:16px;bottom:84px;width:380px;max-width:92vw;height:66vh;max-height:85vh;background:var(--cdk-bg);color:var(--cdk-text);border:1px solid var(--cdk-border);border-radius:var(--cdk-radius);box-shadow:var(--cdk-shadow);overflow:hidden;z-index:var(--cdk-z);}.cdk-chat-panel.open{display:flex;flex-direction:column;}.cdk-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--cdk-border);background:var(--cdk-muted);font-weight:600;}.cdk-chat-header-left{display:flex;align-items:center;gap:8px;min-width:0;}.cdk-chat-close{appearance:none;border:0;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#64748b;}.cdk-chat-close:hover{color:#0f172a;}.cdk-chat-body{flex:1 1 auto;overflow:auto;padding:14px 14px 6px;}.cdk-msg{display:flex;margin:8px 0;}.cdk-bubble{max-width:82%;padding:10px 12px;border-radius:var(--cdk-radius-bubble);line-height:1.35;word-wrap:break-word;white-space:pre-wrap;border:1px solid var(--cdk-border);}.cdk-user{justify-content:flex-end;}.cdk-user .cdk-bubble{background:var(--cdk-primary);color:var(--cdk-primary-contrast);border-color:transparent;border-bottom-right-radius:6px;}.cdk-ai{justify-content:flex-start;}.cdk-ai .cdk-bubble{background:#f1f5f9;color:var(--cdk-text);border-bottom-left-radius:6px;}.cdk-pending .cdk-bubble{opacity:.7;font-style:italic;}.cdk-bubble .cdk-links{margin:8px 0 0;padding-left:18px;}.cdk-bubble .cdk-links li{margin-bottom:6px;}.cdk-bubble .cdk-links a{color:var(--cdk-primary);text-decoration:underline;}.cdk-bubble .cdk-snippet{font-size:0.85em;color:#4b5563;margin-top:2px;}.cdk-chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--cdk-border);}.cdk-chat-input textarea{flex:1 1 auto;min-height:42px;max-height:140px;resize:vertical;padding:10px 12px;border-radius:10px;border:1px solid var(--cdk-border);outline:none;font:inherit;}.cdk-chat-input textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(13,110,253,.15);}.cdk-chat-input .cdk-send{padding:10px 14px;border-radius:10px;background:var(--cdk-primary);color:var(--cdk-primary-contrast);border:0;cursor:pointer;font-weight:600;}.cdk-chat-input .cdk-send:disabled{opacity:0.6;cursor:wait;}@media (max-width:480px){.cdk-chat-panel{right:10px;left:10px;bottom:88px;width:auto;height:72vh;}.cdk-bubble{max-width:88%;}}@media (prefers-color-scheme:dark){:root{--cdk-bg:#0b1220;--cdk-text:#e5e7eb;--cdk-border:#1f2937;--cdk-muted:#0f172a;}.cdk-ai .cdk-bubble{background:#111827;border-color:#1f2937;}.cdk-chat-input textarea{background:#0b1020;color:var(--cdk-text);}.cdk-bubble .cdk-snippet{color:#94a3b8;}}
.cdk-civic-position{--cdk-cp-bg:#1A1A2E;--cdk-cp-fg:#E8E8ED;--cdk-cp-muted:#A9A9BC;--cdk-cp-accent:#D4A017;width:100%;background:var(--cdk-cp-bg);color:var(--cdk-cp-fg);font-size:0.75rem;line-height:1.4;border-bottom:1px solid rgba(255,255,255,0.08);}.cdk-civic-position__inner{max-width:1200px;margin:0 auto;padding:5px 16px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;text-align:center;}.cdk-civic-position__here strong{color:var(--cdk-cp-accent);font-weight:700;}.cdk-civic-position__blurb{color:var(--cdk-cp-muted);}.cdk-civic-position__link{color:var(--cdk-cp-fg);font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--cdk-cp-accent);padding-bottom:1px;}.cdk-civic-position__link:hover,.cdk-civic-position__link:focus{color:var(--cdk-cp-accent);}@media (prefers-color-scheme:light){.cdk-civic-position{--cdk-cp-bg:#15151f;}}@media (max-width:480px){.cdk-civic-position__inner{font-size:0.6875rem;gap:6px;}}
.mp-party--lib,.party-lib{background-color:#d71920;color:#fff;}.mp-party--cpc,.party-cpc{background-color:#1a4782;color:#fff;}.mp-party--ndp,.party-ndp{background-color:#f37021;color:#fff;}.mp-party--bq,.party-bq{background-color:#33b2cc;color:#fff;}.mp-party--green,.party-green{background-color:#3d9b35;color:#fff;}.mp-party--ind,.party-ind{background-color:#888;color:#fff;}.mp-card-link{text-decoration:none;color:inherit;display:block;}.mp-card{border:1px solid #ddd;border-radius:8px;padding:1rem;margin-bottom:1rem;background:#fff;}.mp-card--compact{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:1px solid #e0e0e0;border-radius:10px;padding:1rem 1.25rem;margin:0;transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;}.mp-card-link:hover .mp-card--compact{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);border-color:#0073aa;}.mp-card-header{margin-bottom:0.5rem;}.mp-party-badge{display:inline-block;padding:0.25rem 0.6rem;border-radius:4px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;}.mp-card--compact .mp-name{margin:0 0 0.25rem 0;font-size:1.05rem;font-weight:600;color:#333;}.mp-card--compact .mp-constituency{margin:0;font-size:0.9rem;color:#666;}.mp-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;}.mp-photo-large{width:150px;height:150px;}.mp-photo-large img{width:100%;height:100%;border-radius:8px;object-fit:cover;}.mp-name{margin:0.5rem 0 0.25rem;font-size:1.1rem;}.mp-party{display:inline-block;padding:0.2rem 0.5rem;border-radius:4px;font-size:0.85rem;font-weight:bold;}.mp-constituency{color:#666;font-size:0.9rem;}.mps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;}.provinces-section{margin:2rem 0;}.provinces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;}.province-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:1px solid #dee2e6;border-radius:8px;text-decoration:none;color:#333;transition:transform 0.2s,box-shadow 0.2s;}.province-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%);}.province-name{font-size:1.1rem;font-weight:600;margin-bottom:0.25rem;}.province-count{font-size:0.9rem;color:#666;}.party-breakdown{margin:2rem 0;}.party-chart{display:flex;height:40px;border-radius:4px;overflow:hidden;}.party-bar{display:flex;align-items:center;justify-content:center;padding:0 0.5rem;min-width:40px;font-size:0.8rem;}.party-bar .party-count{margin-left:0.3rem;}.parliament-bill{max-width:800px;}.bill-header{margin-bottom:2rem;}.bill-number{display:inline-block;background:#333;color:#fff;padding:0.3rem 0.6rem;border-radius:4px;font-weight:bold;margin-bottom:0.5rem;}.bill-title{margin-top:0.5rem;}.bill-plain-summary{background:#f5f9fc;border-left:4px solid #0073aa;padding:1rem 1.5rem;margin:1.5rem 0;}.bill-plain-summary h2{font-size:1rem;margin-top:0;color:#0073aa;}.progress-bar{display:flex;gap:0.5rem;margin:1rem 0;flex-wrap:wrap;}.progress-stage{display:flex;align-items:center;gap:0.3rem;opacity:0.4;}.progress-stage.completed{opacity:1;}.progress-stage.current{font-weight:bold;}.stage-dot{width:12px;height:12px;border-radius:50%;background:#ccc;}.progress-stage.completed .stage-dot{background:#0073aa;}.progress-stage.current .stage-dot{background:#0073aa;box-shadow:0 0 0 3px rgba(0,115,170,0.3);}.stage-label{font-size:0.8rem;}.vote-yea,.vote-cast.vote-yea{color:#2e7d32;}.vote-nay,.vote-cast.vote-nay{color:#c62828;}.vote-passed{color:#2e7d32;}.vote-failed{color:#c62828;}.voting-table{width:100%;border-collapse:collapse;margin-top:1rem;}.voting-table th,.voting-table td{padding:0.75rem;text-align:left;border-bottom:1px solid #ddd;}.voting-table th{background:#f5f5f5;font-weight:600;}.bills-list,.votes-list{list-style:none;padding:0;}.bill-item,.vote-item{display:flex;gap:1rem;padding:0.75rem 0;border-bottom:1px solid #eee;align-items:center;}.bill-item .bill-number{font-size:0.85rem;padding:0.2rem 0.4rem;}.bill-stage{margin-left:auto;font-size:0.85rem;color:#666;}.my-mp-block{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1rem;}.my-mp-card{display:flex;gap:1rem;}.my-mp-card .mp-photo{flex-shrink:0;}.my-mp-card .mp-photo img{width:80px;height:80px;border-radius:50%;object-fit:cover;}.mp-recent-votes{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;}.mp-recent-votes h4{font-size:0.9rem;margin:0 0 0.5rem;}.mp-recent-votes .votes-list{font-size:0.85rem;}.mp-recent-votes .vote-item{padding:0.3rem 0;}.btn{display:inline-block;padding:0.5rem 1rem;border-radius:4px;text-decoration:none;font-weight:500;margin-right:0.5rem;}.btn-external{background:#f5f5f5;color:#333;border:1px solid #ddd;}.btn-discussion{background:#0073aa;color:#fff;}.btn-discussion:hover{background:#005a87;}.view-all-link{display:inline-block;margin-top:1rem;font-size:0.9rem;}.parliament-dashboard{max-width:1200px;margin:0 auto;}.mp-count-subtitle{font-size:1.1rem;color:#666;margin:0 0 1.5rem 0;padding-bottom:1rem;border-bottom:1px solid #eee;}.parliament-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,0.04);}.parliament-section h2{margin-top:0;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:2px solid #0073aa;font-size:1.25rem;color:#333;}.parliament-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}@media (max-width:768px){.parliament-two-column{grid-template-columns:1fr;}}.parliament-section.provinces-section{margin:0 0 1.5rem 0;}.parliament-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:1rem;flex-wrap:wrap;}.parliament-nav a{display:inline-block;padding:0.6rem 1.2rem;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:1px solid #dee2e6;border-radius:6px;text-decoration:none;color:#333;font-weight:500;transition:all 0.2s;}.parliament-nav a:hover{background:linear-gradient(135deg,#e9ecef 0%,#dee2e6 100%);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1);}.parliament-bills-listing{max-width:1200px;margin:0 auto;}.bills-count-subtitle{font-size:1.1rem;color:#666;margin:0 0 1.5rem 0;padding-bottom:1rem;border-bottom:1px solid #eee;}.bills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem;}.bill-card-link{text-decoration:none;color:inherit;display:block;}.bill-card{margin-bottom:0;transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;}.bill-card-link:hover .bill-card{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);border-color:#0073aa;}.bill-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.75rem;}.bill-card-header .bill-number{font-size:0.85rem;padding:0.2rem 0.5rem;margin-bottom:0;}.bill-type-badge{display:inline-block;background:#f0f0f0;color:#555;padding:0.2rem 0.5rem;border-radius:4px;font-size:0.75rem;font-weight:500;text-transform:uppercase;}.bill-card-title{margin:0 0 0.75rem 0;font-size:1rem;font-weight:600;color:#333;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.bill-card-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:0.85rem;margin-bottom:0.75rem;}.meta-label{color:#888;margin-right:0.25rem;}.meta-value{color:#555;}.status-badge{display:inline-block;padding:0.15rem 0.4rem;border-radius:4px;font-size:0.75rem;font-weight:500;background:#e9ecef;color:#495057;}.status-badge.status-first-reading{background:#fff3cd;color:#856404;}.status-badge.status-second-reading{background:#d4edda;color:#155724;}.status-badge.status-committee{background:#cce5ff;color:#004085;}.status-badge.status-report-stage{background:#d1ecf1;color:#0c5460;}.status-badge.status-third-reading{background:#d4edda;color:#155724;}.status-badge.status-senate{background:#e2d5f1;color:#563d7c;}.status-badge.status-royal-assent{background:#d4edda;color:#155724;}.bill-card-progress-bar{display:flex;gap:3px;margin-top:0.5rem;}.mini-stage{flex:1;height:4px;background:#e0e0e0;border-radius:2px;transition:background 0.2s;}.mini-stage.completed{background:#0073aa;}.no-bills{grid-column:1 / -1;text-align:center;padding:3rem;color:#666;}@media (max-width:768px){.bills-grid{grid-template-columns:1fr;}}.parliament-bill{max-width:900px;margin:0 auto;}.bill-header{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,0.04);}.bill-header .bill-number{font-size:1rem;padding:0.3rem 0.75rem;}.bill-header .bill-title{margin-top:0.75rem;margin-bottom:0;font-size:1.5rem;line-height:1.3;}.bill-details{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,0.04);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;}.bill-details h3{font-size:0.85rem;color:#666;text-transform:uppercase;letter-spacing:0.5px;margin:0 0 0.5rem 0;}.bill-details p{margin:0;color:#333;}.bill-full-title{grid-column:1 / -1;}.bill-progress{grid-column:1 / -1;}.bill-plain-summary{background:#f8fbfe;border:1px solid #e0e0e0;border-left:4px solid #0073aa;border-radius:0 12px 12px 0;padding:1.5rem;margin-bottom:1.5rem;}.bill-plain-summary h2{font-size:1rem;margin-top:0;margin-bottom:0.75rem;color:#0073aa;}.bill-plain-summary p{margin:0;line-height:1.6;}.bill-actions{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,0.04);}.bill-actions .btn{margin-right:0.75rem;margin-bottom:0.5rem;}.sponsor-link{color:#0073aa;text-decoration:none;font-weight:500;}.sponsor-link:hover{text-decoration:underline;}.progress-bar{padding-left:0.5rem;}.parliament-votes-listing{max-width:1200px;margin:0 auto;}.votes-count-subtitle{font-size:1.1rem;color:#666;margin:0 0 1.5rem 0;padding-bottom:1rem;border-bottom:1px solid #eee;}.votes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.25rem;}.vote-card{margin-bottom:0;}.vote-card-header{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin-bottom:0.75rem;}.vote-number-badge{display:inline-block;background:#333;color:#fff;padding:0.2rem 0.5rem;border-radius:4px;font-size:0.8rem;font-weight:600;}.vote-date-badge{display:inline-block;background:#f0f0f0;color:#555;padding:0.2rem 0.5rem;border-radius:4px;font-size:0.8rem;}.vote-result-badge{display:inline-block;padding:0.2rem 0.6rem;border-radius:4px;font-size:0.8rem;font-weight:600;margin-left:auto;}.vote-result--passed{background:#d4edda;color:#155724;}.vote-result--failed{background:#f8d7da;color:#721c24;}.vote-card-subject{margin:0 0 1rem 0;font-size:1rem;font-weight:600;color:#333;line-height:1.4;}.vote-card-tally{margin-top:auto;}.tally-bar{display:flex;height:24px;border-radius:4px;overflow:hidden;background:#e9ecef;}.tally-yeas{background:#28a745;display:flex;align-items:center;justify-content:center;min-width:30px;transition:width 0.3s ease;}.tally-nays{background:#dc3545;display:flex;align-items:center;justify-content:center;min-width:30px;transition:width 0.3s ease;}.tally-count{color:#fff;font-size:0.75rem;font-weight:600;}.tally-labels{display:flex;justify-content:space-between;margin-top:0.5rem;font-size:0.8rem;}.tally-label--yea{color:#28a745;font-weight:500;}.tally-label--nay{color:#dc3545;font-weight:500;}.no-votes{grid-column:1 / -1;text-align:center;padding:3rem;color:#666;}@media (max-width:768px){.votes-grid{grid-template-columns:1fr;}}.parliament-forums-listing{max-width:1200px;margin:0 auto;}.forums-subtitle{font-size:1.1rem;color:#666;margin:0 0 1.5rem 0;padding-bottom:1rem;border-bottom:1px solid #eee;}.forums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem;}.forum-card-link{text-decoration:none;color:inherit;display:block;}.forum-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.25rem;transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;}.forum-card-link:hover .forum-card{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);border-color:#0073aa;}.forum-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.75rem;}.forum-card-header .bill-number{font-size:0.85rem;padding:0.2rem 0.5rem;margin-bottom:0;}.bill-stage-badge{display:inline-block;background:#e9ecef;color:#495057;padding:0.2rem 0.5rem;border-radius:4px;font-size:0.75rem;font-weight:500;}.forum-card-title{margin:0 0 0.75rem 0;font-size:1rem;font-weight:600;color:#333;line-height:1.4;}.forum-card-meta{font-size:0.85rem;color:#666;}.no-forums{color:#666;margin-bottom:1rem;}@media (max-width:768px){.forums-grid{grid-template-columns:1fr;}}.my-mp-form{margin-bottom:1rem;}.my-mp-form label{display:block;font-weight:600;margin-bottom:0.5rem;font-size:0.9rem;}.my-mp-form-row{display:flex;gap:0.5rem;}.my-mp-form input[type="text"]{flex:1;padding:0.5rem 0.75rem;border:1px solid #ddd;border-radius:4px;font-size:0.9rem;text-transform:uppercase;}.my-mp-form input[type="text"]:focus{border-color:#0073aa;outline:none;box-shadow:0 0 0 2px rgba(0,115,170,0.2);}.my-mp-form .btn{white-space:nowrap;}.mp-header{display:flex;gap:2rem;align-items:flex-start;}.mp-header-info{flex:1;}@media (max-width:768px){.mp-header{flex-direction:column;align-items:center;text-align:center;}}
