:root { --ink-1:#081941; --ink-2:#536583; --ink-3:#64748e; --page:#f5fafb; --qa:#c32964; --qa-soft:#fcecf3; --r:22px; --accent:#078439; --accent-hover:#046b2d; --accent-soft:#e2f8ea; --tiffany:#32e6d8; }
body { background:radial-gradient(ellipse at 75% 15%,#edfaf8 0,transparent 48%),#f8fbfc; font-size:15px; }
button,input,select { min-height:44px; }
.btn { min-height:44px; border-radius:999px; font-size:14px; padding:10px 20px; }
.btn.primary,.onboard-next { background:linear-gradient(115deg,#07823b,#099d48); border:1px solid #07823b; box-shadow:0 7px 18px #087b3220; }
.btn.secondary { border:1px solid #078439; color:#078439; background:#f0fcf5; }
.btn.text,.icon-button { color:#078439; }
.btn.light { color:#064a28; background:#c6f4df; }
.sidebar { background:#ffffffab; backdrop-filter:blur(20px); }
.side-nav a { min-height:46px; border-radius:16px; }
.side-nav a.active { background:#dff8e9; }
.brand strong { letter-spacing:-.03em; color:#081941; font-weight:800; }
.brand strong span { display:none; }
.topbar { background:#ffffff98; backdrop-filter:blur(20px); }
.global-search[hidden] { display:none; }
.report-controls { display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:24px; }
.report-controls label { color:var(--ink-2);font-size:13px;display:grid;gap:7px;flex:1;min-width:130px; }
.report-metric-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0; }
.report-metric-grid>div { background:#edf5f8;border-radius:16px;padding:16px;min-width:0; }
.report-metric-grid small { display:block;color:var(--ink-2); }
.report-metric-grid b { display:block;font-size:29px;overflow-wrap:anywhere; }
.report-source { border-bottom:1px solid #d9e4eb;padding:16px 0; }
.report-source summary { cursor:pointer;min-height:44px;font-weight:650;line-height:1.6; }
.attachment-hash { display:block;overflow-wrap:anywhere;font-size:11px;padding:8px 0; }
.report-export-actions { display:flex;gap:12px;flex-wrap:wrap;margin:22px 0; }
.setting-row { display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #d9e4eb;padding:20px 0;font-weight:650; }
body[data-reduce-motion="true"] *,body[data-reduce-motion="true"] *:before,body[data-reduce-motion="true"] *:after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
body[data-dark-mode="true"] { --ink-1:#f0f8ff;--ink-2:#c1cfdd;--ink-3:#adbdcf;--page:#061329;--line:#314258;--card:#12243b;--muted:#b7c8d9;color:var(--ink-1);background:radial-gradient(ellipse at 80% 15%,#093341,transparent 55%),#061329;color-scheme:dark; }
body[data-dark-mode="true"] :is(.sidebar,.topbar,.mobile-nav,.panel,.white-group,.ticket-bottom,.task-card,.modal,.drawer,.onboard-copy,.onboard-dialog) { background:#12243b;color:var(--ink-1);border-color:#314258; }
body[data-dark-mode="true"] :is(h1,h2,h3,.brand strong,.ptt-wordmark,.menu-row,.task-row,.metric-strip,.metric-strip b,.drawer-head,.modal-head,.card-task-name,.task-title,.page-heading h1) { color:#f0f8ff; }
body[data-dark-mode="true"] :is(input,textarea,select,.global-search,.report-metric-grid>div,.pill-tabs button,.evidence-box,.task-facts>div,.acceptance-checks label) { background:#0a1d35;color:#f0f8ff;border-color:#486079; }
body[data-dark-mode="true"] :is(.btn.secondary,.btn.text,.subpage-back,.icon-button) { color:#70ffb1;background:#122f29;border-color:#70ffb1; }
body[data-dark-mode="true"] :is(.data-notice,.inline-note,.source-reference) { background:#123241;color:#d8eef8; }
body[data-dark-mode="true"] :is(.tiny,.evidence-note,.page-heading p,.menu-row small,.task-row p,.metric-strip span,.ticket-bottom p,.muted,.panel-head p,.task-id) { color:#bacee1; }
body[data-dark-mode="true"] .pill-tabs button.on { background:#35e69c;color:#031d14; }
body[data-high-contrast="true"] :is(.energy-ticket,.panel,.white-group,.mobile-nav,.modal,.drawer) { border:2px solid #008960;box-shadow:none; }
body[data-high-contrast="true"] :is(.tiny,.evidence-note,.muted,.page-heading p,.task-row p,.menu-row small) { color:#34455f; }
body[data-dark-mode="true"][data-high-contrast="true"] :is(.tiny,.evidence-note,.muted,.page-heading p,.task-row p,.menu-row small) { color:#e3edf9; }
body[data-high-contrast="true"] :is(input,textarea,select,button):focus-visible { outline:3px solid #007cf4;outline-offset:3px; }
@media print { body { background:white!important;color:#111!important; } .sidebar,.topbar,.mobile-masthead,.mobile-nav,.app-footer,.subpage-back,.report-export-actions,.floating-timer,.report-print button { display:none!important; } .main-shell,#main-content { margin:0!important;padding:0!important; } .report-print { max-width:none; } .report-print details>* { display:block; } .energy-ticket { print-color-adjust:exact;-webkit-print-color-adjust:exact; } .report-print textarea { height:auto;min-height:100px; } }
.page-heading h1 { font-size:36px; letter-spacing:-.04em; font-weight:750; }
.page-heading p { font-size:14px; line-height:1.6; }
.panel,.task-card,.kpi { border-color:#dae4eb66; box-shadow:0 8px 25px #15374b05; }
.panel-head p,.tiny { font-size:13px; }
.ptt-wordmark { display:flex; gap:7px; align-items:baseline; color:#081941; white-space:nowrap; }
.ptt-wordmark b { font-size:25px; font-weight:850; letter-spacing:-.04em; }
.ptt-wordmark span { color:#71809b; font-size:19px; }
.mobile-masthead { display:none; }
.experience-layout { max-width:1040px; margin:auto; }
.experience-layout.narrow { max-width:780px; }
.section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:30px 0 16px; }
.section-title h2 { font-size:22px; font-weight:750; }
.section-title button { color:#078439; min-height:44px; }
.pill-tabs { display:flex; gap:8px; margin-bottom:26px; flex-wrap:wrap; }
.pill-tabs button { flex:1; min-width:85px; border-radius:999px; background:#eaf0f4; color:#526780; padding:12px 16px; font-size:15px; }
.pill-tabs button.on { background:linear-gradient(115deg,#088e3c,#0d9b45); color:white; font-weight:650; }
.ticket-wrap { position:relative; margin:22px 0 32px; isolation:isolate; }
.ticket-wrap:before { content:''; position:absolute; inset:2px -6px -7px 9px; background:linear-gradient(120deg,#b5f4e4,#a6edc7); border-radius:28px 43px 30px 25px; transform:rotate(2deg); z-index:-1; }
.energy-ticket { position:relative; overflow:hidden; border-radius:27px 34px 25px 10px; padding:28px; color:white; background:radial-gradient(ellipse at 105% 82%,#2ee8d380 0,transparent 43%),radial-gradient(ellipse at 12% -10%,#266a8960,transparent 55%),linear-gradient(140deg,#0b2944,#04172f 60%,#065570); box-shadow:inset 0 1px 0 #84eefb80,0 10px 30px #163c5719; }
.energy-ticket:before { content:'';position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620 310' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop stop-color='%230071a2' stop-opacity='.04'/%3E%3Cstop offset='.65' stop-color='%230fb7ce' stop-opacity='.12'/%3E%3Cstop offset='1' stop-color='%2344ffdd' stop-opacity='.5'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23a)' stroke='%2341dedf' stroke-opacity='.3'%3E%3Cpath d='M-30 200 Q230 415 655 95 L655 110 Q230 450 -30 210Z'/%3E%3Cpath d='M-30 232 Q260 450 655 146 L655 174 Q260 452 -30 247Z'/%3E%3Cpath d='M-30 260 Q290 451 655 221 L655 240 Q290 456 -30 266Z'/%3E%3C/g%3E%3C/svg%3E") center/100% 100%;}
.energy-ticket:after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:35px; background:radial-gradient(circle at 0 100%,var(--page) 0 13px,transparent 14px),radial-gradient(circle at 100% 100%,var(--page) 0 13px,transparent 14px); pointer-events:none; }
.energy-ticket>* { position:relative; z-index:1; }
.energy-ticket.qa-ticket { background:radial-gradient(ellipse at 105% 90%,#f3337770,transparent 50%),linear-gradient(130deg,#132642,#22162c); }
.qa-ticket:before { border-color:#ee6ba3; box-shadow:0 -16px 35px #fb428333; background:#ed2c6511; }
.ticket-eyebrow { display:flex; align-items:center; gap:10px; color:#f4fcff; font-weight:650; font-size:17px; margin-bottom:20px; }
.ticket-eyebrow:before { content:''; width:5px; height:20px; border-radius:4px; background:linear-gradient(#00ff96,#88fff0); }
.qa-ticket .ticket-eyebrow:before { background:#ee4985; }
.glass-pill { margin-left:auto; padding:8px 13px; border:1px solid #8eefdc8c; border-radius:99px; background:#effffc12; box-shadow:inset 1px 1px 7px #b6f2fc4d,0 0 17px #38fff018; backdrop-filter:blur(15px); font-size:13px; color:#d0f9ec; font-weight:500; }
.energy-ticket h2 { font-size:29px; font-weight:730; line-height:1.4; margin-bottom:8px; overflow-wrap:anywhere; }
.energy-ticket p { color:#b9cde1; font-size:15px; line-height:1.65; }
.energy-ticket .ticket-number { font-size:65px; font-weight:760; letter-spacing:-.045em; line-height:1.2; color:#49f9b2; font-variant-numeric:tabular-nums; }
.ticket-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:22px 0; gap:20px; }
.ticket-facts>div+div { border-left:1px solid #d6edf540; padding-left:20px; }
.ticket-facts small { display:block; font-size:14px; color:#b9cde1; margin-bottom:6px; }
.ticket-facts b { font-size:35px; font-weight:650; line-height:1.2; }
.ticket-facts b small { display:inline; font-size:18px; color:inherit; }
.ticket-facts .timer-value { color:#4ffbad; font-size:clamp(22px,4vw,38px); font-variant-numeric:tabular-nums; }
.ticket-bottom { position:relative; background:#fff; padding:22px 26px; border-radius:0 0 27px 27px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; box-shadow:0 8px 24px #15374b08; }
.ticket-bottom p { width:100%; text-align:center; color:#5c7290; font-size:12px; }
.metric-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.metric-strip button { text-align:center; padding:12px 3px; border-radius:15px; }
.metric-strip button.on { background:#dcf6e9; }
.metric-strip b { display:block; font-size:29px; font-weight:740; letter-spacing:-.045em; }
.metric-strip span { font-size:14px; color:#60718c; }
.metric-strip button:hover { background:#e6f6ef; }
.evidence-note { font-size:13px; color:#637994; line-height:1.65; padding:16px 0; }
.task-row { display:flex; align-items:center; gap:14px; padding:19px 0; border-bottom:1px solid #dae4ee; min-width:0; }
.task-row .row-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:linear-gradient(130deg,#d7fbdf,#d9f5f5); color:#078443; flex-shrink:0; }
.task-row .row-icon .icon { width:24px; height:24px; }
.task-row>div:nth-child(2) { min-width:0; flex:1; }
.task-row h3 { font-size:17px; line-height:1.5; overflow-wrap:anywhere; }
.task-row p { font-size:13px; color:#687e96; margin-top:3px; overflow-wrap:anywhere; }
.task-row .btn { font-size:13px; padding:7px 14px; }
.white-group { background:#ffffffdd; border-radius:23px; padding:5px 22px; margin:18px 0; border:1px solid #e8eef3; }
.white-group .task-row:last-child { border-bottom:0; }
.menu-row { width:100%; display:flex; align-items:center; gap:13px; padding:18px 0; text-align:left; border-bottom:1px solid #e1e8ed; }
.menu-row:last-child { border:0; }
.menu-row>span:first-child { background:#dff8ee; border-radius:50%; display:grid; place-items:center; width:42px; height:42px; color:#08743c; flex-shrink:0; }
.menu-row b,.menu-row small { display:block; }
.menu-row b { font-size:16px; }
.menu-row small { margin-top:4px; color:#677b95; font-size:12px; }
.menu-row>.icon { margin-left:auto; color:#8192a6; }
.profile-ticket { display:flex; gap:22px; align-items:center; }
.profile-ticket .avatar { width:76px; height:76px; font-size:25px; background:#27ead21a; border:1px solid #66eff0; color:#c9fff2; }
.profile-ticket h2 { margin:0; }
.profile-ticket .btn { margin-top:14px; }
.subpage-back { display:flex; align-items:center; gap:7px; color:#078439; margin-bottom:10px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.form-grid .wide { grid-column:1/-1; }
.form-grid label { display:flex; flex-direction:column; gap:8px; font-size:14px; }
.form-grid input,.form-grid textarea,.form-grid select { width:100%; }
.full-button { width:100%; margin-top:20px; }
.form-grid textarea { min-height:90px; }
.data-notice { padding:16px 18px; color:#536d88; background:#e9f8fa; border-radius:17px; margin:18px 0; line-height:1.7; font-size:13px; }
.faq-search { display:flex; align-items:center; gap:12px; background:#f8fcff; border-radius:999px; padding:7px 14px; margin-top:24px; color:#071b38; }
.faq-search input { background:none; border:0; width:100%; min-width:0; }
.faq-search button { color:#075e36; min-width:44px; border-radius:50%; background:#b4f4d8; }
.faq-answer { line-height:1.85; font-size:16px; }
.chat-prompt { margin:20px 0 20px auto; width:max-content; max-width:90%; background:#caf8e9; padding:18px; border-radius:23px 23px 4px 23px; }
.source-reference { background:#edf5f9; padding:15px; border-radius:14px; margin-top:18px; }
.onboarding { position:fixed; inset:0; z-index:100; overflow:auto; overscroll-behavior:contain; background:radial-gradient(ellipse at 50% 65%,#edfcfa,transparent 65%),#fbfdfd; touch-action:pan-y; }
.onboarding-inner { max-width:450px; min-height:100dvh; margin:auto; padding:calc(28px + env(safe-area-inset-top)) 24px 20px; display:flex; flex-direction:column; }
.onboarding header { display:flex; align-items:center; justify-content:space-between; margin-bottom:33px; }
.onboard-skip { border:1px solid #078439; color:#078439; border-radius:999px; padding:7px 23px; font-size:15px; }
.onboard-copy { padding-left:1px; }
.onboard-copy h1 { font-size:43px; font-weight:810; line-height:1.18; letter-spacing:-.04em; margin:16px 0; }
.onboard-step { font-size:15px; color:#566a8c; font-weight:600; }
.onboard-copy>p:last-child { color:#596e91; font-size:17px; line-height:1.65; }
.onboard-art { position:relative; aspect-ratio:1/.87; margin:4px -19px 0; overflow:hidden; }
.onboard-art img { position:absolute; width:100%; height:auto; left:0; top:0; transform:translateY(-39%); }
.onboard-dots { display:flex; justify-content:center; gap:7px; margin:8px 0 14px; }
.onboard-dots button { width:24px; height:30px; min-height:30px; position:relative; }
.onboard-dots button:before { content:''; position:absolute; width:8px; height:8px; left:8px; top:11px; background:#c3cdda; border-radius:99px; }
.onboard-dots button.on:before { width:20px; left:2px; background:#099e46; }
.onboard-next { width:100%; padding:14px; border-radius:999px; color:white; font-size:23px; font-weight:650; min-height:58px; }
.onboard-next span { margin-left:15px; }
.onboard-hint { text-align:center; color:#68829a; font-size:11px; margin-top:12px; }
.drawer { background:#f7fbfc; }
.drawer-head { background:#ffffffb3; backdrop-filter:blur(16px); }
.drawer-head h2 { font-size:24px; }
.drawer-body .task-facts { background:radial-gradient(at 100% 100%,#178492,#09253f 70%); color:white; border-radius:22px; padding:20px; }
.task-facts div span { color:#c1d4df; }
.acceptance-checks { background:#fff; padding:14px; border-radius:18px; }
.drawer-footer { gap:9px; background:#ffffffd9; backdrop-filter:blur(18px); }
.status-qa_pending,.status-qa_in_progress,.status-leader_pending { color:#bd285e; background:#ffecf3; }
.qa-theme .review-card { border-color:#eec4d5; }
.qa-theme .review-summary { background:#fbedf3; color:#a72153; }
.mobile-nav { background:#ffffffc9; box-shadow:inset 0 1px 2px #fff,0 8px 30px #153c4b13; backdrop-filter:blur(22px); border:1px solid #fff; border-radius:999px; padding:8px 10px; }
.mobile-nav button { color:#687a91; border-radius:28px; }
.mobile-nav button.active { color:#087b39; background:linear-gradient(130deg,#d9fbe5,#e7faf4); }
.mobile-nav button.active .icon { color:#078439; }
.floating-timer { position:fixed; bottom:20px; right:25px; border:1px solid #86e7ba; border-radius:999px; background:#eefcf4f2; padding:8px 18px; z-index:19; box-shadow:0 5px 20px #074e3322; display:flex; gap:12px; align-items:center; font-size:13px; color:#076d34; }
.offline-banner { position:sticky; top:0; padding:12px 18px; background:#fff1d9; color:#845012; z-index:25; text-align:center; }
@media(max-width:760px) {
  .topbar { display:none; }
  .mobile-masthead { display:flex; align-items:center; justify-content:space-between; padding:25px 22px 0; }
  .mobile-masthead .icon-button { width:44px; height:44px; background:#ffffffbb; box-shadow:0 3px 10px #24485c15; border-radius:50%; color:#0c1e46; }
  .mobile-masthead .icon { width:23px; height:23px; }
  main { padding:25px 21px 130px; }
  .page-heading { display:block; margin-bottom:22px; }
  .page-heading h1 { font-size:35px; line-height:1.2; }
  .page-heading p { font-size:14px; margin-top:10px; }
  .heading-actions { justify-content:flex-start; margin-top:16px; gap:8px; }
  .energy-ticket { padding:24px 22px; }
  .energy-ticket h2 { font-size:26px; }
  .ticket-eyebrow { font-size:16px; }
  .ticket-facts { gap:14px; }
  .ticket-facts>div+div { padding-left:14px; }
  .ticket-facts b { font-size:31px; }
  .ticket-facts .timer-value { font-size:28px; }
  .ticket-bottom { padding:19px 20px; }
  .ticket-bottom .btn { flex:1; padding:10px 12px; }
  .metric-strip b { font-size:25px; }
  .metric-strip span { font-size:13px; }
  .mobile-nav { bottom:calc(14px + env(safe-area-inset-bottom)); left:14px; right:14px; width:auto; max-width:500px; margin:auto; height:70px; }
  .mobile-nav .icon { width:24px; height:24px; }
  .mobile-nav span { font-size:12px; }
  .floating-timer { bottom:calc(97px + env(safe-area-inset-bottom)); right:19px; left:19px; justify-content:center; min-height:43px; }
  .form-grid { grid-template-columns:1fr; }
  .white-group { padding:3px 17px; }
  .task-row { gap:10px; }
  .task-row h3 { font-size:16px; }
  .task-row .row-icon { width:42px; height:42px; }
  .task-row .btn { font-size:12px; padding:8px 12px; }
  .pill-tabs { gap:6px; }
  .pill-tabs button { font-size:14px; padding:11px 10px; }
  .drawer { max-width:100%; width:100%; border-radius:0; }
  .drawer-footer { flex-wrap:wrap; padding:15px 19px calc(15px + env(safe-area-inset-bottom)); }
  .drawer-footer .btn { flex-grow:1; }
  .score-grid { grid-template-columns:1fr; }
}
@media(max-height:760px) { .onboarding header { margin-bottom:22px; } .onboard-copy h1 { font-size:36px; } .onboard-copy>p:last-child { font-size:15px; } }
@media(min-width:761px) { .onboarding-inner { justify-content:center; padding-top:28px; padding-bottom:24px; } .onboard-art { max-height:365px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; scroll-behavior:auto!important; transition:none!important; } }
@media(prefers-reduced-transparency:reduce) { .mobile-nav,.topbar,.sidebar,.glass-pill { backdrop-filter:none; background:#f5fcf8; } .glass-pill { color:#075334; } }
body[data-large-text=true] { font-size:22px; }
body[data-large-text=true] .metric-strip { grid-template-columns:repeat(2,1fr); }
body[data-large-text=true] .task-row { flex-wrap:wrap; }
body[data-large-text=true] .task-row h3 { font-size:20px; }
body[data-large-text=true] :is(.evidence-note,.data-notice,.tiny,.task-row p,.menu-row small,.page-heading p,.energy-ticket p) { font-size:18px; }
body[data-large-text=true] :is(.btn,.pill-tabs button,.subpage-back) { font-size:18px; }
body[data-dark-mode=true][data-reduce-transparency=true] :is(.mobile-nav,.topbar,.drawer-head,.drawer-footer) { background:#12243b; }
body[data-dark-mode=true] .mobile-nav button { color:#bbd0e3; }
body[data-dark-mode=true] .mobile-nav button.active { color:#51ffac;background:#143e31; }
body[data-reduce-transparency=true] .mobile-nav,body[data-reduce-transparency=true] .sidebar,body[data-reduce-transparency=true] .topbar { background:#fff; backdrop-filter:none; }

.energy-ticket .field-label { color:#c4d7e9; }
.qa-theme .ticket-wrap:before { background:linear-gradient(120deg,#f9cfe3,#f1b5cf); }
.metric-strip:has(>button:nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ticket-number small { font-size:.5em; }
.onboard-dots button { width:44px; height:44px; min-height:44px; }
.onboard-dots button:before { left:18px; top:18px; }
.onboard-dots button.on:before { left:12px; }

.service-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 14px;padding:9px 12px;border:1px solid #c4e9d9;border-radius:14px;background:#effbf5;color:#245044;font-size:11px;line-height:1.45}.service-status small{font-size:10px}.service-status .btn{font-size:11px;white-space:nowrap;padding:6px;min-height:36px}.service-status.unavailable{border-color:#e9c79e;background:#fff6e9;color:#694316}body[data-dark-mode=true] .service-status{background:#163c31;color:#c8efe0;border-color:#286351}body[data-dark-mode=true] .service-status.unavailable{background:#4a3824;color:#ffe3ba}
