.report-fab {position: fixed; right: 0; top: 55%; bottom: auto; z-index: 38; display: flex; align-items: center; gap: 8px; padding: 12px 15px; min-height: 44px; background: #1c2531; color: #f0ce84; border: 1px solid #edc56c55; border-right: 0; border-radius: 14px 0 0 14px; box-shadow: 0 6px 24px #0003; font-size: 12px;}
.report-fab:hover {background: #303442;}
.report-fab svg {width: 19px; height: 19px; flex: none;}
.report-inline {min-height: 44px; padding: 8px 12px; font-size: 12px; background: transparent; color: #aeb9ca; white-space: nowrap;}
.result-review .report-inline {margin-top: 12px; display: block;}
.quiz-top {flex-wrap: wrap;}
.quiz-top>span:first-child {flex: 1;}
.report-fab:focus-visible {outline-offset: -4px;}
#report-dialog {width: min(550px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 28px; border: 1px solid #5c5140; overflow-y: auto; overscroll-behavior: contain; border-radius: 22px; background: #171e28; color: #eff1f5;}
#report-dialog::backdrop {background: #000a; backdrop-filter: blur(3px);}
.report-head {display: flex; gap: 16px; align-items: flex-start; justify-content: space-between;}
.report-head h2 {font-size: 24px; margin: 6px 0 14px; letter-spacing: -.7px;}
.report-head>:is(button,a:where([data-view])) {min-width: 44px; min-height: 44px; padding: 8px; flex: none;}
.report-head .eyebrow {font-size: 9px;}
.report-context {padding: 12px 15px; background: #ffffff05; border: 1px solid #354154; border-radius: 12px; margin: 18px 0;}
.report-context summary {font-size: 12px; cursor: pointer; color: #c1cede; min-height: 24px;}
.report-context pre {font: 12px/1.7 "DM Sans",sans-serif; white-space: pre-wrap; overflow-wrap: anywhere; color: #adbacc; margin: 12px 0 0;}
.report-exam-note {font-size: 12px; padding: 12px; background: #edc56c10; border-left: 3px solid #edc56c; color: #e2cda5;}
#report-form label {display: block; font-size: 12px; font-weight: 600; margin: 18px 0 8px;}
#report-form select,#report-form textarea {width: 100%; background: #0f151e; border: 1px solid #40506a; border-radius: 10px; color: #edf1f7; padding: 12px; font: 14px "DM Sans",sans-serif;}
#report-form select {min-height: 48px;}
#report-form textarea {resize: vertical; min-height: 140px; line-height: 1.6;}
.report-note,.report-local-note {font-size: 11px; line-height: 1.7; color: #9dacbf; margin-top: 14px;}
.report-local-note {padding-top: 14px; border-top: 1px solid #303743;}
#report-form .btn-gold {width: 100%; min-height: 48px;}
.report-reference {overflow-wrap: anywhere; font-size: 12px; background: #ffffff05; padding: 12px; border-radius: 8px;}
.report-delivery {display: grid; gap: 10px; margin: 24px 0;}
.report-delivery :is(button,a:where([data-view])) {min-height: 48px;}
#report-error {color: #ffb5b5; font-size: 12px;}
#report-delivery-status {font-size: 12px; color: #85dabc;}
.help-panel details,.report-history details {border-bottom: 1px solid #303743; padding: 16px 0;}
.help-panel summary,.report-history summary {cursor: pointer; min-height: 30px; font-size: 14px; line-height: 1.6;}
.help-panel details p {font-size: 13px; margin: 12px 0 0; line-height: 1.8;}
.help-actions {display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px;}
.report-history {margin-top: 24px;}
.report-history details p {white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px;}
.report-history small {display: block; color: #aab5c3; margin-bottom: 12px;}
.setup-card {background: linear-gradient(110deg,#27281f,#1b222c); border: 1px solid #edc56c35; border-radius: 20px; padding: 24px; margin-bottom: 24px; display: flex; gap: 24px; align-items: center;}
.setup-card>div {flex: 1;}
.setup-card h2 {font-size: 21px; margin: 10px 0;}
.setup-card p {font-size: 12px; margin-bottom: 0;}
.setup-card form {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; flex: 1; max-width: 440px;}
.setup-card label {font-size: 11px; color: #c0c7d1;}
.setup-card select {width: 100%; margin-top: 8px; min-height: 44px; padding: 10px;}
.setup-card :is(button,a:where([data-view])) {font-size: 11px; min-height: 44px;}
.setup-card #setup-error {grid-column: 1/-1; color: #ffb5b5;}
.daily-goal {margin: 24px 0 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #aeb9ca; font-size: 12px;}
.daily-goal :is(button,a:where([data-view])) {background: transparent; border: 0; font-size: 11px; min-height: 44px; color: #c3b28f;}
@media (max-width:800px) {.report-fab {top: auto; right: 12px; bottom: calc(18px + env(safe-area-inset-bottom)); width: 46px; height: 46px; justify-content: center; padding: 10px; border: 1px solid #edc56c55; border-radius: 50%; box-shadow: 0 5px 20px #0006;}.report-fab>span {display: none;}.shell footer {padding-bottom: calc(80px + env(safe-area-inset-bottom));}#toast {bottom: calc(80px + env(safe-area-inset-bottom));}#report-dialog {padding: 20px; width: calc(100vw - 24px); max-height: calc(100dvh - 24px);}#report-form select,#report-form textarea {font-size: 16px;}.report-inline {font-size: 11px; padding: 8px;}.setup-card {flex-direction: column; align-items: stretch; padding: 20px;}.setup-card form {max-width: none;}.setup-card select {font-size: 16px;}.setup-card :is(button,a:where([data-view])) {grid-column: 1/-1;}.daily-goal {flex-wrap: wrap;}.help-actions :is(button,a:where([data-view])) {width: 100%; min-height: 48px;}.report-head h2 {font-size: 22px;}}
@media (max-width:360px) {.setup-card form {grid-template-columns: 1fr;}.report-inline span {display: none;}}
.mobile-report {display: none;}
.sidebar nav .mobile-report {display: none; color: #c0ccda;}
@media (max-width:800px) {.sidebar nav .mobile-report {display: flex; margin-top: 8px; border-top: 1px solid #303743; border-radius: 0;}}
.memo-allowance {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid #edc56c35; border-radius: 16px; background: #edc56c08; margin-bottom: 24px;}
.memo-allowance strong {font-size: 14px;}
.memo-allowance p {font-size: 12px; margin: 8px 0 0;}
.memo-allowance :is(button,a:where([data-view])) {font-size: 12px; flex: none;}
.atelier-gate {text-align: center; padding: 40px 24px;}
.atelier-gate h2 {margin-top: 20px;}
.atelier-gate :is(button,a:where([data-view])) {margin: 8px;}
.atelier-gate p {max-width: 550px; margin: 16px auto;}
@media (max-width:800px) {.memo-allowance {flex-direction: column; align-items: stretch;}.memo-allowance :is(button,a:where([data-view])),.atelier-gate :is(button,a:where([data-view])) {width: 100%; min-height: 48px; margin: 8px 0;}.activity-toolbar select {max-width: 100%; font-size: 16px; min-height: 48px;}}
#quiz .quiz-top {gap: 10px; justify-content: flex-start;}
#quiz .quiz-top #close-quiz {width: 44px; height: 44px; padding: 0; display: grid; place-items: center;}
#quiz .quiz-top .report-inline {margin: 0; min-height: 44px;}
.daily-goal-editor {margin-top: 12px;}
.daily-goal-editor h2 {margin: 8px 0; font-size: 21px;}
.daily-goal-editor p {color: var(--muted); font-size: 13px;}
.daily-goal-editor label {display: block; margin: 16px 0 8px; font-size: 13px;}
.daily-goal-controls {display: flex; align-items: center; gap: 12px; flex-wrap: wrap;}
.daily-goal-controls select {min-height: 44px; min-width: 160px;}
.daily-goal-controls :is(button,a:where([data-view])) {min-height: 44px; padding: 10px 18px;}
.daily-goal-editor #daily-goal-error:empty {display: none;}
.daily-goal-editor #daily-goal-error {color: #ffb5b5;}
@media (max-width:600px) {.daily-goal-controls select {width: 100%; font-size: 16px;}.daily-goal-controls :is(button,a:where([data-view])) {flex: 1;}}
#quiz .quiz-top {gap: 16px; align-items: center;}
#quiz .quiz-top>span:first-child {flex: 1 1 0; min-width: 0;}
.quiz-window-actions {display: flex; align-items: center; gap: 12px; flex: none;}
#quiz .quiz-top .quiz-window-actions .report-inline {display: grid; place-items: center; flex: none; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 17px; font-weight: 400;}
#quiz .quiz-top .quiz-window-actions .report-inline span {display: none;}
#quiz .quiz-top .quiz-window-actions .report-inline:hover {color: var(--gold); background: #ffffff06;}
#quiz .quiz-top #close-quiz {flex: none; width: 52px; min-width: 52px; height: 52px; min-height: 52px; padding: 0; display: grid; place-items: center; border: 1px solid #d8b56860; background: #d8b56810; color: var(--text); font-size: 22px; line-height: 1;}
#quiz .quiz-top #close-quiz:hover {border-color: var(--gold); background: #d8b56820;}
