:root{--bg: #fafaff;--surface: #ffffff;--surface-2: #f3efff;--surface-3: #e9e2ff;--border: #e0d6f2;--border-strong: #c4b3e0;--text: #1a1333;--text-muted: #6a5e8a;--text-faint: #9d93b8;--accent: #6d4fe0;--accent-weak: #ede5ff;--accent-strong: #5534c4;--accent-contrast: #ffffff;--gold: #d4a017;--gold-weak: #fff4d1;--gold-strong: #a47a08;--gold-contrast: #4a3a06;--success: #1d9e75;--success-weak: #e0f5ec;--warn: #d4a017;--warn-weak: #fff4d1;--danger: #c6365a;--danger-weak: #fde6ec;--radius: 6px;--radius-sm: 4px;--shadow: 0 1px 2px rgba(16, 8, 40, .06);--font-sans: "Sarabun", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:light}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;accent-color:var(--accent)}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}.main{min-width:0}.topbar{height:56px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.page{padding:24px 32px 80px;max-width:1440px}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;transition:left .2s;z-index:50}.sidebar.open{left:0}.page{padding:16px}.topbar{padding:0 16px}}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;border-bottom:1px dashed var(--border);margin-bottom:16px}.brand-mark{width:32px;height:32px;border:1.5px solid var(--text);display:grid;place-items:center;font-family:var(--font-mono);font-weight:700;font-size:14px;border-radius:var(--radius-sm)}.brand-name{font-size:13px;font-weight:600;line-height:1.2}.brand-sub{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.version-panel{margin-bottom:10px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#f3efffcc,#ffffffeb);overflow:hidden}.version-panel details{display:block}.version-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;font-family:var(--font-mono);font-size:10px;color:var(--text-faint);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.version-panel-head::-webkit-details-marker{display:none}.version-panel-head:after{content:"▾";color:var(--text-faint);font-size:10px;transform:rotate(-90deg);transition:transform .18s ease}.version-panel details[open] .version-panel-head{border-bottom:1px solid var(--border)}.version-panel details[open] .version-panel-head:after{transform:rotate(0)}.version-panel-head strong{color:var(--accent);font-size:11px;margin-left:auto}.version-panel-body{font-size:12px;line-height:1.35;color:var(--text-muted)}.version-panel-date{margin-top:6px;font-size:11px;color:var(--text-faint)}.version-timeline{display:flex;flex-direction:column;gap:0;max-height:230px;padding:10px 10px 10px 8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.version-timeline::-webkit-scrollbar{width:6px}.version-timeline::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.version-timeline-item{position:relative;display:grid;grid-template-columns:14px 1fr;gap:8px;padding-bottom:12px}.version-timeline-item:last-child{padding-bottom:0}.version-timeline-item:before{content:"";position:absolute;left:5px;top:12px;bottom:0;width:1px;background:var(--border)}.version-timeline-item:last-child:before{display:none}.version-timeline-marker{width:11px;height:11px;margin-top:2px;border-radius:999px;background:var(--surface);border:2px solid var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.version-timeline-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.version-timeline-meta strong{color:var(--accent);font-size:11px}.version-timeline-title{margin-top:2px;font-size:12px;font-weight:600;color:var(--text);line-height:1.35}.version-timeline ul{margin:5px 0 0;padding-left:13px}.version-timeline li{margin-bottom:3px;font-size:11px;line-height:1.35;color:var(--text-muted)}.nav-section{margin-bottom:16px}.nav-label{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 8px;margin-bottom:6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);font-size:14px;border:1px solid transparent}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--surface-2);border-color:var(--border);font-weight:600}.nav-item svg{flex-shrink:0}.nav-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}h4{font-size:14px}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono);font-size:12px}.tag{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header-title{display:flex;flex-direction:column;gap:4px}.page-header .tag{margin-bottom:4px}.page-header h1{display:flex;align-items:center;gap:10px}.dashboard-header-actions{min-width:0;max-width:100%}.dashboard-header-actions .select{max-width:100%}.dashboard-header-actions .btn{justify-content:center;text-align:center}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:all .1s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover{background:#fff;border-color:#fff}.btn.accent{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.btn.accent:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 10px;font-size:13px}.btn.xs{padding:3px 8px;font-size:12px}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:var(--danger-weak)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right-width:1px}.btn-group .btn.active{background:var(--surface-2);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.alert{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.alert.warning{background:var(--warn-weak);border-color:color-mix(in oklch,var(--warn) 35%,transparent);color:var(--text)}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff;color:#000;font-size:11pt}.app{display:block;min-height:auto}.sidebar,.topbar,.toast-container,.employment-faculty-summary>.page-header,.employment-faculty-summary>.card.mb-4{display:none!important}.main,.page{display:block;width:100%;max-width:none;min-width:0;margin:0;padding:0}.employment-faculty-summary{width:100%;margin:0;padding:0}.employment-faculty-print{width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible!important;background:#fff}.employment-faculty-print .table-wrap{overflow:visible}.employment-faculty-print table{width:100%;min-width:0!important;border-collapse:collapse}.employment-faculty-print th,.employment-faculty-print td{border:1px solid #777!important;padding:5px 6px;color:#000!important}.employment-faculty-print thead{display:table-header-group}.employment-faculty-print tr{break-inside:avoid;page-break-inside:avoid}}.alert.danger{background:var(--danger-weak);border-color:color-mix(in oklch,var(--danger) 42%,transparent);color:var(--danger)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.card-title{display:flex;flex-direction:column;gap:2px}.stat-card{display:flex;flex-direction:column;gap:6px}.stat-label{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1}.stat-delta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--danger)}.student-survey-stamp{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;border:2px solid;border-radius:var(--radius);box-shadow:0 8px 24px #1a13330f}.student-survey-stamp.pending{color:#7a4b00;background:var(--warn-weak);border-color:color-mix(in oklch,var(--warn) 58%,transparent)}.student-survey-stamp.confirmed{color:#087a58;background:var(--success-weak);border-color:color-mix(in oklch,var(--success) 58%,transparent)}.student-survey-stamp-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%}.student-survey-stamp-kicker{margin-bottom:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.78}.student-survey-stamp strong{display:block;font-size:18px;line-height:1.35}.student-survey-stamp p{margin:2px 0 0;font-size:13px}.student-survey-inline-status{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding:10px 12px;border:1px solid;border-radius:var(--radius-sm);font-size:13px}.student-survey-inline-status.pending{color:#7a4b00;background:var(--warn-weak);border-color:color-mix(in oklch,var(--warn) 40%,transparent)}.student-survey-inline-status.confirmed{color:#087a58;background:var(--success-weak);border-color:color-mix(in oklch,var(--success) 40%,transparent)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (max-width: 1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.quality-form-section{container:quality-fields / inline-size}.quality-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start}.quality-question{min-width:0}.quality-question-wide{grid-column:1 / -1}.quality-fields-grid .field{margin-bottom:0}.quality-fields-grid .field-hint{font-family:inherit;line-height:1.4}@container quality-fields (max-width: 559px){.quality-fields-grid{grid-template-columns:minmax(0,1fr);gap:14px}}.field-label{font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}.field-label .req{color:var(--danger)}.field-hint{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.field-error{font-size:12px;color:var(--danger)}.wrapping-select{position:relative;width:100%;min-width:0}.wrapping-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;height:auto;text-align:left;white-space:normal}.wrapping-select-trigger>span:first-child{min-width:0;overflow-wrap:anywhere}.wrapping-select-trigger>span:last-child{flex:0 0 auto}.wrapping-select-list{position:absolute;top:calc(100% + 4px);left:0;z-index:40;width:100%;max-width:100%;max-height:min(320px,55vh);overflow-y:auto;padding:4px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 12px 30px #1a13332e}.wrapping-select-option{display:block;width:100%;padding:9px 10px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;line-height:1.45;overflow-wrap:anywhere;text-align:left;white-space:normal;cursor:pointer}.wrapping-select-option:hover,.wrapping-select-option:focus-visible{background:var(--surface-2);outline:none}.wrapping-select-option.selected{background:var(--accent);color:var(--accent-contrast)}.survey-wrapping-select{max-width:100%}.survey-wrapping-select .wrapping-select-trigger{line-height:1.5}.survey-wrapping-select .wrapping-select-list{overflow-x:hidden;overscroll-behavior:contain}@media (max-width: 640px){.survey-wrapping-select .wrapping-select-trigger{font-size:16px;min-height:44px}.survey-wrapping-select .wrapping-select-list{position:relative;top:auto;margin-top:4px;max-height:min(320px,45vh);max-height:min(320px,45svh);font-size:16px}.survey-wrapping-select .wrapping-select-option{min-height:44px}}.report-filter-faculty{flex:1 1 240px;min-width:min(240px,100%)}.report-filter-program{flex:1 1 320px;min-width:min(320px,100%)}.long-option-filter,.long-option-filter-label{flex:1 1 260px;min-width:min(260px,100%);max-width:100%}.input,.select,.textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;background:var(--surface);color:var(--text)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.input:disabled,.select:disabled,.textarea:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 2px var(--danger-weak)}.textarea{min-height:80px;resize:vertical;font-family:inherit}.radio-group,.check-group{display:flex;flex-direction:column;gap:8px}.radio,.check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);transition:all .1s}.radio:hover,.check:hover{background:var(--surface-2)}.radio.selected,.check.selected{border-color:var(--accent);background:var(--accent-weak)}.radio-label{min-width:0;white-space:normal;overflow-wrap:anywhere}.radio input,.check input{flex-shrink:0}.radio input,.check input{margin-top:3px;accent-color:var(--accent)}.radio-label{flex:1;font-size:14px}.inline-group{display:flex;gap:12px;flex-wrap:wrap}.inline-group>*{flex:1;min-width:200px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.table th{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500;background:var(--surface-2);position:sticky;top:0}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr.clickable-row{cursor:pointer}.table tbody tr:last-child td{border-bottom:none}.table .num{font-family:var(--font-mono);text-align:right}.graduate-summary-scroll{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.graduate-summary-name-button{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.graduate-summary-name-button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graduate-summary-name-cell.expanded .graduate-summary-name-button>span:first-child{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.graduate-summary-name-toggle{flex:0 0 auto;color:var(--accent);font-size:12px;line-height:1.2}.graduate-summary-name-button:focus-visible{border-radius:3px;outline:2px solid var(--accent);outline-offset:2px}.quality-rating-table caption,.quality-rating-table th,.quality-rating-table td{font-family:var(--font-sans);font-size:14px;letter-spacing:normal;text-transform:none;line-height:1.6}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.badge.success{background:var(--success-weak);color:var(--success);border-color:color-mix(in oklch,var(--success) 35%,transparent)}.badge.warn{background:var(--warn-weak);color:var(--warn);border-color:color-mix(in oklch,var(--warn) 35%,transparent)}.badge.danger{background:var(--danger-weak);color:var(--danger);border-color:color-mix(in oklch,var(--danger) 35%,transparent)}.badge.accent{background:var(--accent-weak);color:var(--accent-strong);border-color:color-mix(in oklch,var(--accent) 40%,transparent)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.placeholder-img{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,var(--surface) 6px,var(--surface) 12px);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;min-height:80px}.placeholder-chart{background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:16px;display:flex;align-items:flex-end;gap:6px;min-height:180px}.divider{height:1px;background:var(--border);margin:20px 0;border:0}.divider-dashed{border:0;border-top:1px dashed var(--border);margin:20px 0}.progress-bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s}.chart{width:100%}.chart .bar{fill:var(--text);transition:fill .15s}.chart .bar:hover{fill:var(--accent)}.chart .bar-track{fill:var(--surface-2)}.chart .axis{stroke:var(--border)}.chart .axis-label,.chart .val-label{font-family:var(--font-mono);font-size:10px;fill:var(--text-muted)}.chart .val-label-in{fill:var(--accent-contrast);font-weight:500}.survey-shell{width:100%;max-width:none;margin:0}.survey-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:16px}.survey-progress-sticky{position:sticky;top:56px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;margin-bottom:16px;z-index:5;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.survey-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:16px;scroll-margin-top:140px}.survey-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed var(--border)}.survey-section-num{width:28px;height:28px;border:1.5px solid var(--text);border-radius:var(--radius-sm);display:grid;place-items:center;font-family:var(--font-mono);font-weight:700;font-size:13px;flex-shrink:0}.survey-q{margin-bottom:22px}.survey-q:last-child{margin-bottom:0}.survey-q-label{font-size:15px;font-weight:500;margin-bottom:8px;display:flex;align-items:flex-start;gap:6px}.survey-q-label .q-num{color:var(--text-muted);font-family:var(--font-mono);font-size:13px;padding-top:2px}.survey-q-hint{font-size:12px;color:var(--text-muted);margin-bottom:10px}.survey-q-dep{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);margin-top:-4px;margin-bottom:10px;padding:4px 8px;background:var(--surface-2);border-radius:4px;display:inline-block}.survey-layout{display:grid;grid-template-columns:220px 1fr;gap:24px}.survey-toc{position:sticky;top:80px}.survey-toc-desktop{display:block}.survey-toc-mobile{display:none}.survey-toc-item{position:relative;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:42px;padding:7px 10px 7px 12px;border-left:2px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;font-size:13px;line-height:1.35;color:var(--text-muted);transition:background .15s ease,border-color .15s ease,color .15s ease}.survey-toc-item:hover{color:var(--text);background:var(--surface)}.survey-toc-item.active{border-left-color:var(--accent);color:var(--text);font-weight:600;background:var(--accent-weak)}.survey-toc-item.done{color:var(--text)}.survey-toc-status{width:26px;height:26px;border:1px solid var(--border);border-radius:7px;display:grid;place-items:center;color:transparent;background:var(--surface);box-shadow:inset 0 0 0 2px var(--surface);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.survey-toc-item.active .survey-toc-status{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--surface),0 0 0 3px var(--accent-weak)}.survey-toc-item.done .survey-toc-status{background:var(--success);border-color:var(--success);color:#fff;box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--success) 78%,white)}.survey-toc-mobile{overflow-x:auto;white-space:nowrap;padding:8px 0 10px;margin-bottom:12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.survey-toc-mobile::-webkit-scrollbar{display:none}.survey-toc-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;margin-right:6px;border:1px solid var(--border);background:var(--surface);font-size:12px;cursor:pointer;color:var(--text-muted);vertical-align:middle}.survey-toc-pill.active{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-strong);font-weight:600}.survey-toc-pill.done{border-color:var(--success);background:var(--success-weak);color:var(--success)}.survey-toc-pill .pill-check{width:16px;height:16px;border:1px solid currentColor;border-radius:5px;display:grid;place-items:center;flex:0 0 16px}.survey-toc-pill:not(.done) .pill-check{color:var(--border-strong)}@media (max-width: 900px) and (min-width: 641px){.survey-layout{grid-template-columns:150px 1fr;gap:16px}.survey-toc-item{font-size:12px;padding:7px 8px}.survey-section{padding:18px}.survey-hero{padding:20px}.survey-progress-sticky{padding:10px 16px}}@media (max-width: 640px){.dashboard-header-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;align-items:stretch}.dashboard-header-actions .select{width:100%!important;min-width:0}.dashboard-header-actions .btn{min-width:0;white-space:nowrap;line-height:1.2}.report-filter-bar{align-items:stretch}.report-filter-bar>.select,.report-filter-bar>.wrapping-select,.long-option-filter-bar>.select,.long-option-filter-bar>.wrapping-select,.long-option-filter,.long-option-filter-label{width:100%;min-width:0!important;flex-basis:100%}.graduate-list-filters{grid-template-columns:1fr!important}.graduate-list-filters .input,.graduate-list-filters .select,.graduate-list-filters .btn{width:100%}.graduate-list-toolbar{align-items:stretch;flex-direction:column}.graduate-list-toolbar>*{width:100%!important;min-width:0!important}.graduate-list-toolbar .btn-group{display:grid;grid-template-columns:1fr}.graduate-list-toolbar .btn-group .btn{justify-content:center;width:100%;border-width:1px;border-radius:var(--radius-sm)}.graduate-list-table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.graduate-list-table{min-width:980px}.graduate-list-table th,.graduate-list-table td{white-space:normal}.graduate-list-pagination{align-items:stretch!important;flex-direction:column;gap:10px!important}.graduate-list-pagination>nav{max-width:100%;overflow-x:auto;padding-bottom:4px}.admin-graduate-drawer{left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;overflow-x:hidden}.admin-graduate-drawer-head,.admin-graduate-drawer-body{padding-left:16px!important;padding-right:16px!important}.admin-graduate-drawer-head>div:first-child{min-width:0}.admin-graduate-drawer-head{align-items:flex-start!important;flex-wrap:wrap}.admin-graduate-detail-grid{grid-template-columns:minmax(0,1fr)!important}.admin-graduate-detail-grid>*{min-width:0}.public-report-body{padding:14px 10px 24px!important}.graduate-summary-filters{flex-direction:column}.graduate-summary-filters .select{width:100%}.graduate-summary-exports{justify-content:stretch!important}.graduate-summary-exports .btn{flex:1;min-width:0;padding-left:5px!important;padding-right:5px!important}.graduate-summary-table{min-width:2460px!important}.graduate-summary-name-col{width:180px!important}.graduate-summary-name-cell{position:static!important;left:auto!important;z-index:auto!important;width:180px!important;min-width:180px!important;max-width:180px!important}.survey-shell{margin:0}.survey-layout{grid-template-columns:1fr}.survey-toc-desktop{display:none}.survey-toc-mobile{display:block}.survey-hero{padding:16px;margin-bottom:10px}.survey-hero h1{font-size:18px}.survey-hero p{font-size:13px}.survey-progress-sticky{top:48px;padding:10px 12px;gap:10px;flex-direction:column;align-items:stretch}.survey-progress-sticky .flex{flex-wrap:wrap}.survey-section{padding:14px;scroll-margin-top:180px}.survey-section-head{gap:8px;margin-bottom:14px}.survey-section-head h2{font-size:16px}.survey-section-num{width:24px;height:24px;font-size:11px}.inline-group{flex-direction:column}.inline-group>*{min-width:0!important;flex:none;width:100%}.radio-label{font-size:13px}.radio,.check{padding:9px 10px}.input,.select,.textarea{font-size:15px}.survey-btn-label{display:none}}.survey-subsection-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:18px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.tambon-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:240px;overflow-y:auto;z-index:200}.tambon-item{display:flex;flex-direction:column;gap:2px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.tambon-item:last-child{border-bottom:none}.tambon-item:hover{background:var(--surface-2)}.tambon-name{font-size:14px;font-weight:500;color:var(--text-1)}.tambon-sub{font-size:12px;color:var(--text-3)}.tambon-status{padding:8px 12px;font-size:13px;color:var(--text-3);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;background:var(--surface)}.job-page-shell{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(109,79,224,.08),transparent 28%),radial-gradient(circle at 82% 12%,rgba(29,158,117,.08),transparent 24%),linear-gradient(180deg,#fbfaff 0%,var(--bg) 46%,#f7fbfa 100%)}.job-page-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(109,79,224,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(109,79,224,.08) 1px,transparent 1px);background-size:42px 42px;transform:translateZ(0);animation:job-bg-grid 18s linear infinite}.job-page-shell:after{content:"";position:fixed;top:-20%;right:-10%;bottom:-20%;left:-10%;z-index:0;pointer-events:none;opacity:.42;background:conic-gradient(from 140deg at 50% 50%,transparent 0 18%,rgba(212,160,23,.18) 21%,transparent 28% 48%,rgba(109,79,224,.16) 52%,transparent 60% 100%);filter:blur(36px);animation:job-bg-sweep 16s ease-in-out infinite alternate}.job-bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.landing{position:relative;z-index:1}.job-bg-line{position:absolute;height:1px;width:min(58vw,720px);background:linear-gradient(90deg,transparent,rgba(109,79,224,.34),rgba(212,160,23,.28),transparent);transform-origin:left center;opacity:.58}.job-bg-line:after{content:"";position:absolute;top:-4px;left:16%;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 22px #d4a01773;animation:job-bg-node 7s ease-in-out infinite}.line-a{top:30%;left:-8%;transform:rotate(7deg);animation:job-bg-line-a 13s ease-in-out infinite}.line-b{right:-10%;bottom:23%;transform:rotate(-8deg);animation:job-bg-line-b 15s ease-in-out infinite}.job-bg-chip{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(224,214,242,.84);border-radius:999px;color:#1a1333b8;background:#ffffff9e;box-shadow:0 14px 40px #1a133314;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);font-size:11px;white-space:nowrap;animation:job-bg-float 9s ease-in-out infinite}.job-bg-chip svg{color:var(--accent)}.chip-a{top:22%;left:8%;animation-delay:0s}.chip-b{top:58%;left:14%;animation-delay:1.8s}.chip-c{top:18%;right:9%;animation-delay:3.1s}.job-bg-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#1d9e7580;box-shadow:0 0 30px #1d9e7557;animation:job-bg-pulse 5s ease-in-out infinite}.dot-a{left:44%;top:22%}.dot-b{right:20%;top:58%;animation-delay:1.4s}.dot-c{left:32%;bottom:24%;animation-delay:2.6s}@keyframes job-bg-grid{0%{background-position:0 0,0 0}to{background-position:42px 42px,42px 42px}}@keyframes job-bg-sweep{0%{transform:translate3d(-2%,-1%,0) rotate(-5deg) scale(1)}to{transform:translate3d(2%,1%,0) rotate(6deg) scale(1.04)}}@keyframes job-bg-node{0%,to{left:12%;opacity:.35}50%{left:78%;opacity:.95}}@keyframes job-bg-line-a{0%,to{transform:rotate(7deg) translate(0)}50%{transform:rotate(7deg) translate(60px)}}@keyframes job-bg-line-b{0%,to{transform:rotate(-8deg) translate(0)}50%{transform:rotate(-8deg) translate(-70px)}}@keyframes job-bg-float{0%,to{transform:translateZ(0);opacity:.52}50%{transform:translate3d(18px,-18px,0);opacity:.86}}@keyframes job-bg-pulse{0%,to{transform:scale(.76);opacity:.24}50%{transform:scale(1.28);opacity:.7}}.landing{max-width:1200px;margin:0 auto;padding:24px}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.landing-brand,.landing-brand-copy{min-width:0}.landing-brand-copy .mono{margin-top:3px;font-size:11px;line-height:1.35}.landing-nav-actions{flex-shrink:0}.landing-nav-actions .btn{justify-content:center;text-align:center}.landing-stats-header{gap:20px}.landing-stats-heading{min-width:0}.landing-stats-heading h2{line-height:1.3}.landing-stats-actions{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.landing-stats-actions .select{width:250px}.landing-hero{padding:28px 0 30px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:44px;align-items:center;min-height:0}@media (max-width: 900px){.landing-hero{grid-template-columns:1fr;min-height:0;padding:36px 0;gap:32px}}.landing-eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.landing h1.big{font-size:44px;line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}@media (max-width: 900px){.landing h1.big{font-size:32px}}.landing-lead{font-size:17px;color:var(--text-muted);margin-bottom:28px;max-width:520px}.job-visual-stack{min-width:0;width:100%;justify-self:stretch}.announcement-banner{position:relative;width:100%;overflow:hidden;min-height:220px;max-height:min(68vh,560px);aspect-ratio:16 / 9;border:1px solid rgba(196,179,224,.82);border-radius:10px;background:var(--surface);box-shadow:0 22px 58px #1a133324}.announcement-banner.announcement-banner-image-only{min-height:0}.announcement-banner-empty{padding:10px}.announcement-head{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 14px;color:#fff;background:linear-gradient(90deg,#1a1333d6,#5534c4ad);font-family:var(--font-mono);font-size:11px;letter-spacing:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.announcement-head strong{font-weight:600;color:#fff4d1}.announcement-media{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(135deg,#ffffffd1,#f7f4ffe6),var(--surface-2)}.announcement-media img{width:100%;height:100%;display:block;object-fit:contain;filter:saturate(.95) contrast(.98)}.announcement-media img.clickable{cursor:pointer}.announcement-empty-icon{height:100%;display:grid;place-items:center;color:var(--text-muted)}.announcement-overlay{position:absolute;left:0;right:0;bottom:0;min-height:74px;display:flex;align-items:flex-end;padding:28px 16px 14px;color:#fff;background:linear-gradient(180deg,transparent,rgba(10,5,30,.82))}.announcement-title{font-size:15px;font-weight:700;line-height:1.25;text-shadow:0 1px 10px rgba(0,0,0,.35)}.announcement-desc{margin-top:2px;max-width:420px;font-size:12px;line-height:1.35;opacity:.88}.announcement-nav{position:absolute;top:50%;z-index:6;width:30px;height:30px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:#1a133370;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.announcement-prev{left:10px;transform:translateY(-50%)}.announcement-next{right:10px;transform:translateY(-50%) rotate(180deg)}.announcement-dots{position:absolute;right:14px;bottom:14px;z-index:7;display:flex;gap:6px}.announcement-dots button{width:6px;height:6px;padding:0;border:none;border-radius:999px;background:#ffffff85;cursor:pointer;transition:width .2s,background .2s}.announcement-dots button.active{width:18px;background:#fff}@media (max-width: 900px){.job-bg-chip{opacity:.52}.chip-a{left:5%;top:14%}.chip-b{left:7%;top:76%}.chip-c{right:5%;top:52%}.job-visual-stack{max-width:none;justify-self:stretch}.announcement-banner{min-height:210px;max-height:none}}@media (max-width: 560px){.landing{padding:18px}.landing-nav{align-items:stretch;flex-direction:column;gap:14px;padding:12px 0 14px}.landing-brand{width:100%}.landing-brand .brand-mark{flex:0 0 32px}.landing-brand-copy>div:first-child{font-size:15px!important;line-height:1.3!important}.landing-brand-copy .mono{max-width:260px;overflow-wrap:anywhere}.landing-nav-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}.landing-nav-actions .btn{width:100%;min-width:0;padding:8px 4px;font-size:11px;white-space:nowrap}.landing-hero{padding:28px 0;gap:24px}.landing-eyebrow{font-size:11px;line-height:1.55;margin-bottom:12px}.landing h1.big{font-size:clamp(27px,8vw,32px);line-height:1.2;margin-bottom:14px}.landing-lead{font-size:15px;line-height:1.6;margin-bottom:20px}.landing-stats-header{align-items:stretch;flex-direction:column;gap:14px}.landing-stats-heading h2{font-size:22px;line-height:1.35}.landing-stats-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.landing-stats-actions .select,.landing-stats-actions .btn{width:100%}.job-page-shell:after{opacity:.28}.job-bg-line{width:100vw;opacity:.38}.job-bg-chip{display:none}.announcement-banner{min-height:180px}}@media (max-width: 360px){.landing-nav-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.job-page-shell:before,.job-page-shell:after,.job-bg-line,.job-bg-line:after,.job-bg-chip,.job-bg-dot{animation:none}}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0}@media (max-width: 900px){.portal-grid{grid-template-columns:1fr}}.portal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:14px}.portal-card:hover{border-color:var(--text);transform:translateY(-2px)}.portal-card .role-num{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.portal-card h3{font-size:18px}.portal-card .desc{font-size:13px;color:var(--text-muted);flex:1}.portal-card .enter{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--accent)}.login-page-shell{display:flex;align-items:center;justify-content:center;padding:32px 18px}.login-shell{position:relative;z-index:1;width:100%;max-width:440px;margin:0 auto;padding:20px}.login-card{background:#ffffffe6;border:1px solid rgba(196,179,224,.78);border-radius:var(--radius);padding:32px;box-shadow:0 24px 70px #1a133329;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a133366;display:grid;place-items:center;z-index:100;padding:20px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:520px;width:100%;max-height:85vh;overflow-y:auto}.survey-validation-link{width:100%;justify-content:flex-start;text-align:left;white-space:normal}.survey-validation-link:hover,.survey-validation-link:focus-visible{color:var(--primary);text-decoration:underline}.survey-field-focus{border-radius:8px;animation:survey-field-focus 2.1s ease-out}@keyframes survey-field-focus{0%,35%{background:#ffc4003d;box-shadow:0 0 0 5px #ffc4002e}to{background:transparent;box-shadow:0 0 #ffc40000}}.advisor-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1a133361}.advisor-detail-drawer{position:fixed;top:0;right:0;bottom:0;z-index:101;width:min(720px,100vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 32px #10082829;display:flex;flex-direction:column}.advisor-detail-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface)}.advisor-detail-body{flex:1;overflow-y:auto;padding:18px 22px 28px}.advisor-detail-section{padding:14px 0 18px;border-bottom:1px dashed var(--border)}.advisor-detail-section:last-child{border-bottom:none}.advisor-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.advisor-detail-item{min-width:0}.advisor-detail-label{margin-bottom:3px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.advisor-detail-value{overflow-wrap:anywhere;font-size:13px;color:var(--text)}.graduate-sensitive-field{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.province-map-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:28px;align-items:start}.province-map-wrap{min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#fbfaff,#f6f3ff)}.province-map{display:block;width:100%;height:min(64vh,650px)}.province-map path:focus-visible{filter:drop-shadow(0 0 5px rgba(79,43,214,.7))}.province-map-legend{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--text-muted);font-size:11px}.province-map-legend i{display:block;width:26px;height:10px;border:1px solid rgba(79,43,214,.12)}.province-map-details{display:grid;gap:18px}.province-map-selected{padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--primary-light)}.province-map-selected h3{margin:5px 0 6px}.province-map-selected-value{color:var(--primary);font-family:var(--font-mono);font-size:32px;font-weight:700}.province-map-selected-value small{font-family:var(--font);font-size:13px;font-weight:500}.province-map-350-badge{display:inline-flex;margin-top:10px;padding:4px 8px;border:1px solid #68b99b;border-radius:999px;background:#ecfbf5;color:#187b5b;font-size:11px;font-weight:600}.province-map-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.province-map-summary>div{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.province-map-summary span{color:var(--text-muted);font-size:11px}.province-map-summary strong{font-family:var(--font-mono);font-size:18px}.province-map-350-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:14px;border:1px solid #84d7ba;border-radius:var(--radius);background:linear-gradient(135deg,#f0fcf8,#f8fffc)}.province-map-350-summary>div:not(.province-map-350-note){display:grid;gap:4px}.province-map-350-summary span{color:#397763;font-size:11px}.province-map-350-summary strong{color:#137151;font-family:var(--font-mono);font-size:22px}.province-map-350-summary strong small{margin-left:3px;font-family:var(--font);font-size:11px}.province-map-350-note{grid-column:1 / -1;padding-top:8px;border-top:1px solid #c8ebde;color:#397763;font-size:11px}.province-ranking{width:100%;display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.province-ranking:hover,.province-ranking:focus-visible{color:var(--primary);background:var(--primary-light)}.province-ranking strong{font-family:var(--font-mono);font-size:11px;white-space:nowrap}.province-ranking-350{margin-left:6px;padding:2px 5px;border-radius:999px;background:#e5f8f1;color:#187b5b;font-size:9px;font-weight:700}@media (max-width: 860px){.province-map-layout{grid-template-columns:1fr}.province-map{height:560px}}@media (max-width: 520px){.province-map{height:460px}.province-map-summary,.province-map-350-summary{grid-template-columns:1fr}.province-map-350-note{grid-column:auto}}@media (max-width: 640px){.advisor-detail-grid{grid-template-columns:1fr}.advisor-detail-drawer{left:0;right:0;width:100vw;max-width:100vw;overflow-x:hidden}.advisor-detail-head,.advisor-detail-body{padding-left:16px;padding-right:16px}.advisor-detail-head>div:first-child{min-width:0}.advisor-detail-head h2{overflow-wrap:anywhere}}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{background:var(--text);color:var(--bg);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;max-width:340px;display:flex;align-items:center;gap:10px;animation:toast-in .2s;box-shadow:0 8px 24px #1a133333}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.menu-btn{display:none}@media (max-width: 900px){.menu-btn{display:inline-flex}}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.w-full{width:100%}.text-sm{font-size:13px}.text-xs{font-size:11px}.hidden{display:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:16px;background:#1a133380;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.landing-footer{padding:36px 12px 28px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;line-height:1.7;text-align:center;overflow-wrap:anywhere}.landing-footer-title{margin-bottom:8px;color:var(--text);font-size:15px;font-weight:600}.landing-footer-organization{display:flex;justify-content:center;flex-wrap:wrap;gap:0 6px}.landing-footer-developer{display:flex;flex-direction:column;align-items:center;gap:2px;margin:6px auto 0;font-size:11px}.landing-footer-links{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px}.landing-footer-links button{padding:10px 4px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.landing-footer-links button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.landing-footer-links button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-footer-meta{margin-top:16px;font-size:11px}@media (min-width: 900px){.landing-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;padding:28px 0 24px}.landing-footer-title{grid-column:1;margin-bottom:4px;text-align:left}.landing-footer-organization{grid-column:1;justify-content:flex-start;text-align:left}.landing-footer-links{grid-column:2;grid-row:1 / 3;align-self:center;margin-top:0}.landing-footer-meta{grid-column:1 / -1;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.landing-footer-developer{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-top:4px}}.public-pdf-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0;max-height:40vh;overflow:auto}@media (max-width: 600px){.public-pdf-header{grid-template-columns:auto minmax(0,1fr) auto}.public-pdf-close{grid-column:3;grid-row:1;align-self:start}.public-pdf-download{grid-column:2;justify-self:start;min-height:44px}}.download-modal-body{flex:1;min-height:0;overflow:auto;padding:24px;background:var(--bg)}.download-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.download-card-badge{padding:6px;border-radius:6px;font-size:9px;font-weight:800;text-align:center}.download-card-content{min-width:0;overflow-wrap:anywhere;line-height:1.7}.download-card-title{font-size:14px;font-weight:600}.download-card-description{margin-top:6px;color:var(--text-muted);font-size:12px;white-space:pre-line}.download-card-actions{display:flex;align-self:center;gap:8px}@media (max-width: 600px){.download-modal-body{padding:20px 16px}.download-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.download-card-badge{justify-self:start}.download-card-actions{padding-top:12px;border-top:1px solid var(--border)}.download-card-actions .btn{flex:1;min-height:44px;justify-content:center;border:1px solid var(--border);background:var(--surface-2);color:var(--accent-strong)}}.published-report-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 20px}@media (max-width: 600px){.published-report-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 12px;padding:14px 12px}.published-report-action{grid-column:2}}.public-quality-average-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) 42px;gap:12px;align-items:center}.public-quality-average-label,.public-quality-average-bar{min-width:0}@media (max-width: 600px){.public-quality-average-row{grid-template-columns:minmax(0,1fr) 42px;row-gap:6px}.public-quality-average-label{grid-column:1 / -1;overflow-wrap:anywhere}.public-quality-average-bar{grid-column:1}.public-quality-average-score{grid-column:2;text-align:right}}.question-average-chart{display:grid;gap:0}.question-average-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1.5fr);gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.question-average-item:last-child{border-bottom:0}.question-average-label{min-width:0;font-size:13px;line-height:1.55;color:var(--text);overflow-wrap:anywhere}.question-average-result{min-width:0;display:flex;align-items:center;gap:12px}.question-average-track{flex:1;min-width:0;height:12px;overflow:hidden;border-radius:6px;background:var(--surface-2)}.question-average-fill{height:100%;border-radius:inherit;background:var(--accent)}.question-average-value{width:36px;flex:0 0 36px;text-align:right;font-size:13px;color:var(--text)}@media (max-width: 700px){.question-average-item{grid-template-columns:minmax(0,1fr);gap:8px}}
