:root{font-family:Inter,"Noto Sans JP",system-ui,sans-serif;color:#102f4f;background:#f5f8fc;--navy:#102f4f;--primary:#0768b2;--primary-dark:#075792;--muted:#526b82;--border:#d8e4ef;--surface:#fff;--surface-soft:#f7faff;--info:#edf6ff;--danger:#d64545;--danger-soft:#fff2f1;--warning:#b97709;--warning-soft:#fff8e8}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0}.shell{max-width:960px;margin:0 auto;padding:32px 20px}
header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}.brand{font-weight:800;letter-spacing:.04em;color:var(--navy)}.badge{background:#e6f3fb;border-radius:999px;padding:6px 12px;font-size:.85rem;color:#064d7c}
main{background:#fff;border:1px solid var(--border);border-radius:10px;padding:28px;box-shadow:0 10px 30px rgba(16,47,79,.06)}
h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.2;margin:.2em 0;color:var(--navy)}h2,h3,h4{color:var(--navy)}.lead{line-height:1.8;color:#425d70}.notice{border-left:4px solid var(--primary);background:var(--info);padding:14px 18px;margin:24px 0;color:#214d70}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
#exam-heading{margin-bottom:.5em}.exam-title-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.exam-active-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;padding-bottom:.5em;text-align:right}.exam-active-meta .autosave-help{margin:0}.exam-remaining{color:var(--primary);font-size:1.05rem;font-variant-numeric:tabular-nums}.waiting-summary{padding:24px;background:#f8fbff}.waiting-intro{margin:0 0 20px;line-height:1.75}.waiting-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.waiting-schedule-item{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:#fff}.waiting-schedule-label{display:block;margin-bottom:5px;color:var(--muted);font-size:.88rem;font-weight:700}.waiting-schedule-value{display:block;color:var(--navy);font-size:1.05rem;font-weight:800}.waiting-countdown{border:1px solid #b9d7ef;border-radius:10px;padding:20px;background:#eaf5ff;text-align:center}.waiting-countdown-label{display:block;color:#245b83;font-weight:800}.waiting-countdown-value{display:block;margin:6px 0;color:var(--navy);font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.025em}.waiting-countdown-note{display:block;color:var(--muted);font-size:.88rem}
a.button,button.button{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;border:0;background:var(--primary);color:#fff;padding:12px 18px;border-radius:5px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 2px 5px rgba(7,104,178,.12);transition:background-color .15s,box-shadow .15s,transform .15s}.button:hover{background:var(--primary-dark);box-shadow:0 4px 10px rgba(7,104,178,.18)}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.button.secondary{background:#496575}.button.secondary:hover{background:#3c5665}.button.warning{background:#9b4b23}.button.danger{background:var(--danger)}.button.danger:hover{background:#b92f2f}.status-message{min-height:1.5em;line-height:1.6}.status-message.status-error:not(:empty){border-radius:7px;background:#8f2929;color:#fff;padding:10px 13px;font-weight:700}#configuration-status:not(:empty){position:fixed;right:24px;bottom:24px;z-index:1000;width:min(420px,calc(100vw - 32px));margin:0;border:1px solid var(--primary);border-radius:10px;background:var(--navy);color:#fff;padding:16px 20px;box-shadow:0 12px 32px rgba(16,47,79,.3);font-weight:700}
.button[aria-busy="true"]{gap:8px;cursor:wait;opacity:1}.button[aria-busy="true"]::before{content:"";flex:0 0 auto;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:certificate-button-spin .8s linear infinite}@keyframes certificate-button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.button[aria-busy="true"]::before{animation-duration:1.8s}}
.advanced-settings{margin-top:18px;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface-soft)}.advanced-settings summary{cursor:pointer;font-weight:800;padding:4px 0}.advanced-settings[open] summary{margin-bottom:12px}
.config-section{border:1px solid var(--border);border-radius:10px;padding:24px;margin:20px 0;background:var(--surface);box-shadow:0 4px 18px rgba(16,47,79,.035)}.config-section h2{margin-top:0;margin-bottom:8px}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));column-gap:20px;row-gap:16px}.config-grid-full{grid-column:1/-1}.receipt-issuer-settings{width:100%;max-width:none}.receipt-issuer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-issuer-settings>.small-note{margin-bottom:18px}.config-section label,.application-fields label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-weight:700}.config-section input,.config-section select,.config-section textarea,.application-fields input,.application-fields select,.application-fields textarea,.question-card input,.question-card textarea{width:100%;border:1px solid #a9bdd0;border-radius:5px;padding:11px 12px;font:inherit;background:#fff;color:var(--navy);transition:border-color .15s,box-shadow .15s}.config-section input:focus,.config-section select:focus,.config-section textarea:focus,.application-fields input:focus,.application-fields select:focus,.application-fields textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,104,178,.12)}
.config-section input:disabled:not([type=checkbox]):not([type=radio]),.config-section select:disabled,.config-section textarea:disabled,.config-section input[readonly],.config-section textarea[readonly]{border-color:#d5dfe8;background:#eef2f6;color:#6d7d8c;-webkit-text-fill-color:#6d7d8c;cursor:not-allowed;opacity:1}.config-section input:disabled[type=checkbox],.config-section input:disabled[type=radio]{cursor:not-allowed;opacity:.55}
.field-error{display:block;margin-top:2px;color:#a62722;font-size:.88rem;font-weight:700;line-height:1.5}.config-section input.input-error{border-color:#d64545;background:#fff7f6;box-shadow:0 0 0 3px rgba(214,69,69,.1)}
.occurrence-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:20px;margin-top:22px}.occurrence-schedule-grid>label{min-width:0;margin:0}.date-time-controls{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(105px,.7fr);gap:12px;align-items:center}.date-time-controls input{min-width:0}.date-picker-control{position:relative;display:block;min-width:0}.date-picker-native{color:transparent;caret-color:transparent}.date-picker-native::-webkit-datetime-edit{color:transparent}.date-display-output{position:absolute;inset:50% 42px auto 11px;transform:translateY(-50%);overflow:hidden;color:var(--navy);font-weight:400;white-space:nowrap;pointer-events:none}.field-help{display:block;color:var(--muted);font-size:.88rem;font-weight:400;line-height:1.55;margin-top:2px}.application-fields textarea,.question-card textarea{min-height:120px}
.field-row{display:grid;grid-template-columns:minmax(120px,1fr) 150px auto minmax(150px,1fr) auto;gap:10px;align-items:end;border:1px solid var(--border);border-radius:10px;padding:14px;margin:10px 0;background:var(--surface-soft)}.field-row .row-actions{display:flex;gap:4px}.field-row button{border:1px solid #9eb4c3;border-radius:5px;background:#fff;padding:8px}.preview,.status-card{white-space:pre-wrap;border:1px solid var(--border);border-radius:10px;padding:18px;margin-top:12px;overflow:auto}.candidate-access-recovery{background:var(--surface-soft);white-space:normal}.candidate-recovery-intro{margin:0;line-height:1.65}.candidate-recovery-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-top:14px}.candidate-recovery-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.candidate-recovery-form input{width:100%;border:1px solid #a9bdd0;border-radius:5px;padding:11px 12px;font:inherit;background:#fff;color:var(--navy)}.candidate-recovery-form input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(7,104,178,.12)}.candidate-recovery-form .actions{grid-column:1/-1;margin-top:0}.candidate-access-recovery>.small-note{margin:14px 0 0}.version-item{border-bottom:1px solid var(--border);padding:14px 0}.version-item:last-child{border-bottom:0}
.occurrence-summary-list{display:grid;gap:12px}.occurrence-summary,.exam-card-occurrence{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--surface-soft)}.occurrence-summary-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.occurrence-summary-heading strong{font-size:1.05rem}.occurrence-status-chip{border-radius:5px;background:#e6f3fb;color:#075a93;padding:4px 8px;font-size:.82rem;font-weight:700}.occurrence-status-chip.ended{background:#e9eef3;color:#607181}.occurrence-date-list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 16px;margin:0}.occurrence-date-list dt{font-weight:700;color:#294d63}.occurrence-date-list dd{margin:0;min-width:0}.occurrence-link-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.occurrence-link-actions .button{padding:9px 13px}.managed-occurrences{margin-top:22px}.managed-occurrences h4{margin:0 0 10px}.exam-card-occurrence{margin-top:16px}.exam-card-occurrence>.eyebrow{display:block;margin-bottom:8px}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px}.metric{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:14px;background:#fff;min-height:82px}.metric-icon{grid-column:1;grid-row:1/span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#edf5ff;color:var(--primary);box-shadow:inset 0 0 0 1px #cfe1f4}.metric-icon svg{width:22px;height:22px}.metric-label{grid-column:2;color:var(--muted);font-weight:700;font-size:.9rem}.metric strong{grid-column:2;display:block;font-size:1.6rem;line-height:1;color:var(--navy)}.metric-note{grid-column:1/-1;margin:2px 0 0}
.operation-list{display:grid;gap:10px;margin-top:18px}.operation-item{border:1px solid var(--border);border-radius:10px;padding:13px 15px;background:#fff}.operation-item.critical{border-color:#f0b6b1;background:var(--danger-soft);color:#8f2929}.operation-item.warning{border-color:#eed6a8;background:var(--warning-soft);color:#78500d}.human-check-section{border-color:#eedfbe;background:#fffdf7}.human-check-section .operation-list{margin-top:10px}
.table-scroll{overflow:auto;margin-top:18px;border:1px solid var(--border);border-radius:10px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}.admin-table th,.admin-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px 12px;text-align:left;white-space:nowrap}.admin-table th:last-child,.admin-table td:last-child{border-right:0}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table th{background:#edf5fc;color:#294d63;font-weight:800}.admin-table tbody tr:hover{background:#f7fbff}.admin-table button{border:0;background:none;color:var(--primary);text-decoration:underline;cursor:pointer;font:inherit}.timeline{display:grid;gap:8px}.timeline-item{border-left:4px solid var(--primary);background:#f4f8fb;padding:10px 14px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-heading .actions{margin-top:0}.actions.compact{margin-top:10px}.eyebrow{margin:0 0 4px;color:var(--primary);font-weight:700}.step-card{border:1px solid var(--border);border-radius:10px;padding:20px;margin:16px 0;background:var(--surface-soft)}.step-card h3{margin-top:0}.danger-zone{margin-top:24px;border:1px solid #efb6b1;border-radius:10px;padding:18px;background:var(--danger-soft)}.danger-zone h3,.danger-zone h4{margin:0 0 8px;color:#8f2929}.mail-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.mail-editor-grid fieldset{display:grid;min-width:0;grid-template-rows:auto auto auto auto;align-content:start;border:1px solid var(--border);border-radius:10px;padding:14px;background:#fff}.mail-editor-grid legend{font-weight:800}.mail-editor-grid label{min-width:0}.mail-editor-grid textarea{height:104px;min-height:104px;resize:vertical}.mail-editor-grid .field-help{min-height:3.1em}.mail-editor-grid .actions{align-self:start;margin-top:14px}.mail-automatic-items{display:flex;flex-wrap:wrap;align-content:flex-start;align-self:start;gap:6px;margin-top:10px}.mail-automatic-items span{border-radius:5px;background:#edf5fc;color:#264f70;padding:5px 8px;font-size:.82rem;font-weight:700}.mail-preview-panel{margin-top:18px;border:1px solid var(--border);border-radius:10px;padding:16px;background:#fff}.mail-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mail-preview-heading h4{margin:0}.mail-preview-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:14px 0}.mail-preview-meta dt{font-weight:800}.mail-preview-meta dd{margin:0;overflow-wrap:anywhere}.mail-preview-panel iframe{display:block;width:100%;height:760px;border:1px solid var(--border);border-radius:8px;background:#f5f8fc;pointer-events:none}.inline-choice{flex-direction:row!important;align-items:center}.inline-choice input{width:auto!important}
.admin-application-panel{margin:20px 0 24px;background:#f4f9ff}.admin-application-panel>.small-note{margin-top:0}.admin-application-result{margin-top:20px;border:1px solid #a9d2b8;border-radius:10px;padding:18px;background:#f1fbf5}.admin-application-result h4{margin:0 0 10px;color:#185b38}.admin-application-result-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:10px}.admin-application-result-row code{overflow-wrap:anywhere;white-space:normal}.admin-application-result-row .button{padding:8px 12px}
.exam-list{display:grid;gap:14px;margin-top:20px}.exam-card{border:1px solid var(--border);border-radius:10px;padding:20px;background:#fff;box-shadow:0 3px 12px rgba(16,47,79,.035)}.exam-card h3{margin:0}.exam-card-summary{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.summary-chip{background:#edf5fc;color:#264f70;border-radius:5px;padding:6px 9px;font-size:.88rem}.exam-card>.actions{justify-content:flex-end;margin-top:16px}.human-preview{background:var(--surface-soft);line-height:1.75}
.exam-page-layout.active{display:grid;grid-template-columns:196px minmax(0,1fr);gap:20px;align-items:start}.exam-page-layout.active main{min-width:0}.question-navigation{position:sticky;top:16px;z-index:5;display:grid;grid-template-columns:repeat(4,38px);gap:6px;align-content:flex-start;width:196px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}.question-navigation a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #9eb4c3;border-radius:5px;color:var(--primary);text-decoration:none;transition:background-color .15s,border-color .15s}.question-navigation a.answered{background:#e1f2ea;border-color:#4d9472;color:#174f39}.exam-questions{display:grid;gap:18px}.question-card{scroll-margin-top:18px;border:1px solid var(--border);border-radius:10px;padding:20px}.question-card legend{font-weight:800;color:var(--primary)}.answer-choice{display:flex;align-items:center;gap:10px;margin:12px 0}.answer-choice input{width:auto}.autosave-help{color:var(--muted)}.exam-submit-actions{justify-content:flex-end}.exam-submit-button{padding:14px 26px;font-size:1.05rem}.error-code{font-family:ui-monospace,monospace;color:#9b2c2c}.small-note{font-size:.9rem;color:var(--muted)}.section-divider{border:0;border-top:1px solid var(--border);margin:32px 0}
.receipt-page{background:#f5f8fc;color:var(--navy)}.receipt-page .shell{max-width:none;margin:0;padding:0 0 48px}.receipt-page header{height:64px;margin:0 0 36px;padding:0 max(24px,calc((100vw - 1120px)/2));background:var(--navy);color:#fff}.receipt-page .brand{color:#fff}.receipt-page .badge{border:1px solid rgba(255,255,255,.38);background:transparent;color:#fff}.receipt-page main{border:0;background:transparent;padding:0 20px;box-shadow:none}.receipt-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;width:min(100%,820px);min-height:46px;margin:0 auto 16px}.receipt-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.receipt-print-button{background:var(--primary)!important}.receipt-document{width:min(100%,820px);min-height:1040px;margin:0 auto;padding:52px 48px 60px;border:1px solid var(--border);background:#fff;box-shadow:0 18px 45px rgba(16,47,79,.1);color:var(--navy);overflow-wrap:anywhere}.receipt-sheet-header{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(300px,1.2fr);gap:44px;align-items:start;padding-bottom:22px;border-bottom:2px solid var(--navy)}.receipt-sheet-eyebrow{margin:4px 0 12px;color:var(--primary);font-size:.76rem;font-weight:900;letter-spacing:.18em}.receipt-sheet-title{margin:0;color:var(--navy);font-size:2.55rem;line-height:1.15;letter-spacing:.04em}.receipt-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 16px;margin:0;font-size:.86rem;line-height:1.45}.receipt-meta dt{color:var(--muted);font-weight:500}.receipt-meta dd{margin:0;color:var(--navy);font-weight:750;white-space:pre-line}.receipt-test-banner{margin:20px 0 0;padding:9px 12px;border:1px solid #d59a31;background:#fff8e8;color:#7a4e05;font-size:.88rem;font-weight:900;text-align:center}.receipt-addressee{margin:40px 0 24px;padding:0 0 10px;border-bottom:1px solid var(--muted);font-size:1.25rem;font-weight:800}.receipt-amount{display:flex;justify-content:flex-start;align-items:baseline;gap:24px;padding:22px 20px;background:var(--info)}.receipt-amount span{font-weight:500}.receipt-amount strong{font-size:2rem;letter-spacing:.02em;color:var(--navy)}.receipt-purpose{margin:18px 0 34px;line-height:1.8}.receipt-table{width:100%;table-layout:fixed;border-collapse:collapse}.receipt-table th,.receipt-table td{padding:13px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.receipt-table th{color:var(--muted);font-size:.82rem;font-weight:500}.receipt-table th:first-child{width:58%}.receipt-table th:nth-child(2){width:20%}.receipt-table th:last-child,.receipt-table td:last-child{text-align:right}.receipt-summary{width:min(100%,380px);margin:22px 0 0 auto}.receipt-summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:28px;padding:9px 0}.receipt-summary-row strong{text-align:right}.receipt-summary-total{margin-top:4px;border-top:2px solid var(--navy);font-size:1.1rem}.receipt-footer{margin-top:54px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:.88rem;line-height:1.8}.receipt-footer p{margin:4px 0}.receipt-document>.candidate-access-recovery{box-shadow:none}
.admin-page{background:#f6f9fd}.admin-page .shell{max-width:none;min-height:100vh;margin:0;padding:0}.admin-page header{position:sticky;top:0;z-index:40;height:64px;margin:0;padding:0 28px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);box-shadow:0 2px 12px rgba(16,47,79,.04)}.admin-page main{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 64px)}.admin-sidebar{position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);padding:22px 14px;border-right:1px solid var(--border);background:#fff}.admin-navigation{display:grid;gap:7px;margin:0}.admin-navigation a{display:flex;align-items:center;gap:11px;border:0;border-radius:5px;padding:12px 13px;color:#36536e;text-decoration:none;font-weight:700;transition:background-color .15s,color .15s}.admin-navigation a:hover{background:#f1f6fb;color:var(--primary)}.admin-navigation a.active{background:#eaf4ff;color:#075fa8}.admin-nav-icon{display:grid;place-items:center;width:24px;height:24px;color:currentColor;font-size:1.1rem}.admin-mobile-navigation{display:none}.admin-content{width:100%;max-width:1400px;margin-inline:auto;padding:34px clamp(24px,4vw,54px) 46px}.admin-page-heading{scroll-margin-top:86px;margin-bottom:18px}.admin-page-heading h1{font-size:clamp(2rem,3vw,2.6rem);margin:.15em 0}.admin-page-heading .lead{max-width:900px;margin-bottom:0}.admin-content>.notice{margin:18px 0 22px}.admin-content>.config-section{scroll-margin-top:84px;margin:0 0 20px}.section-filter{display:grid;gap:6px;min-width:min(420px,100%);margin-top:14px;font-size:.88rem}.section-filter select{background:#fff}.section-more-actions{display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.registration-search-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;align-items:start}.registration-search-action{padding-top:40px;align-self:start}.admin-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:8px;padding:16px 0}.admin-footer-actions .button{box-shadow:none}
.certificate-template-list-controls{display:flex;justify-content:flex-end;margin-top:14px}.certificate-template-list-controls .button{padding:9px 13px}.certificate-template-list-item h3{margin:0 0 10px}.certificate-template-list-item .small-note{margin:10px 0 0}.certificate-template-list-item.retired{background:#fafbfd;color:#607181}.certificate-wizard-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.certificate-wizard-nav button{border:1px solid #aac0d3;border-radius:6px;padding:12px;background:#fff;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}.certificate-wizard-nav button.active{border-color:var(--primary);background:#eaf4ff;color:var(--primary)}.certificate-validation-list{margin:16px 0;border:1px solid var(--border);border-radius:8px;padding:13px 16px;background:#fff}.certificate-validation-list p{margin:5px 0}.certificate-validation-list .validation-ok{color:#17633f;font-weight:700}.certificate-validation-list.has-errors{border-color:#efb6b1;background:#fff7f6;color:#8f2929}.certificate-editor-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 12px}.certificate-editor-toolbar label{margin:0;min-width:150px}.certificate-editor-toolbar .inline-choice{min-width:auto}.certificate-layout-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start;overflow:auto}.certificate-preview-stage{position:relative;isolation:isolate;max-width:none;border:1px solid #9eb4c3;background:#eaf0f5;box-shadow:0 5px 18px rgba(16,47,79,.12);outline:none}.certificate-preview-stage:focus{box-shadow:0 0 0 3px rgba(7,104,178,.18),0 5px 18px rgba(16,47,79,.12)}.certificate-preview-stage canvas{display:block}.certificate-safe-area{position:absolute;z-index:2;border:2px dashed #e07b18;pointer-events:none}.certificate-field-overlay{position:absolute;z-index:3;display:grid;place-items:center;min-width:10px;min-height:10px;border:2px solid #0768b2;background:rgba(224,243,255,.36);color:#063b63;padding:1px;font:700 11px/1.15 Inter,"Noto Sans JP",sans-serif;overflow:hidden;cursor:move}.certificate-field-overlay.selected{z-index:4;border-color:#d44c14;background:rgba(255,231,211,.52);box-shadow:0 0 0 2px rgba(255,255,255,.85)}.certificate-field-resize{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:2px 0 0;background:#d44c14;cursor:nwse-resize}.certificate-field-panel{position:sticky;top:82px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#fff}.certificate-field-panel label{margin:8px 0}.certificate-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.certificate-field-panel fieldset{margin-top:14px;border:1px solid var(--border);border-radius:7px}.certificate-field-panel legend{font-weight:800}.certificate-field-toggles{display:grid;gap:2px}.certificate-field-toggles label{font-size:.88rem;font-weight:600}.certificate-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.certificate-sample-grid article{border:1px solid var(--border);border-radius:8px;padding:14px;background:#fff}.certificate-sample-grid article>span{display:block;margin-top:5px}.certificate-sample-canvas{display:block;max-width:100%;height:auto;margin:18px auto;border:1px solid var(--border);box-shadow:0 4px 15px rgba(16,47,79,.1)}.certificate-print-confirm{margin:20px 0!important;padding:14px;border:1px solid #b9d7ef;border-radius:8px;background:#edf6ff}.technical-details,.verification-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px}.technical-details dt,.verification-details dt{font-weight:800}.technical-details dd,.verification-details dd{margin:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem}.certificate-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:#f7f9fb}.certificate-test-only-notice{border:1px solid #d59a31;border-radius:6px;background:#fff8e8;color:#7a4e05;padding:10px 13px;font-weight:900;text-align:center}
.certificate-viewer-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}.certificate-viewer-toolbar label{min-width:180px;margin:0}.certificate-readonly-preview{position:relative;max-width:100%;min-height:240px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:16px;background:#eaf0f5}.certificate-readonly-preview[aria-busy="true"]{overflow:hidden}.certificate-readonly-preview canvas{display:block;margin:auto;border:1px solid #9eb4c3;background:#fff;box-shadow:0 5px 18px rgba(16,47,79,.12)}.certificate-preview-loading{position:absolute;inset:16px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:206px;border:1px solid #b9d7ef;border-radius:8px;background:rgba(255,255,255,.94);color:var(--navy);text-align:center}.certificate-preview-spinner{width:34px;height:34px;border:4px solid #cfe1ef;border-top-color:var(--primary);border-radius:50%;animation:certificate-preview-spin .8s linear infinite}@keyframes certificate-preview-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.certificate-preview-spinner{animation-duration:1.8s}}
.certificate-template-header-actions{justify-content:flex-end}.certificate-template-header-actions .button{white-space:nowrap}#certificate-template-list-status:empty{display:none}.certificate-template-chips{display:flex;flex-wrap:wrap;gap:8px}
.certificate-layout-workspace{overflow:visible}.certificate-preview-scroll{min-width:0;max-width:100%;overflow:auto;padding-bottom:10px;overscroll-behavior:contain}.certificate-preview-scroll:focus{outline:3px solid rgba(7,104,178,.18);outline-offset:2px}.certificate-field-panel{z-index:5}
@media(max-width:960px){.admin-layout{grid-template-columns:190px minmax(0,1fr)}.admin-content{padding:28px 22px 40px}.registration-search-grid{grid-template-columns:1fr 1fr}.registration-search-action{grid-column:1/-1;padding-top:0}.certificate-layout-workspace{grid-template-columns:1fr}.certificate-field-panel{position:static}.certificate-sample-grid{grid-template-columns:1fr}}
@media(max-width:720px){.field-row{grid-template-columns:1fr}.shell{padding:18px 10px}main{padding:18px}.admin-table{font-size:.82rem}.section-heading{display:block}.section-heading .actions{margin-top:14px}.receipt-issuer-grid,.occurrence-schedule-grid{grid-template-columns:1fr}.date-time-controls{grid-template-columns:minmax(170px,1fr) minmax(96px,.55fr)}.occurrence-date-list{grid-template-columns:1fr;gap:3px}.occurrence-date-list dd{margin-bottom:8px}.waiting-schedule{grid-template-columns:1fr}.waiting-summary{padding:18px}.candidate-recovery-form{grid-template-columns:1fr}.exam-page-layout.active{display:block}.question-navigation{position:static;width:196px;margin:0 0 18px}.exam-title-row{display:block}.exam-active-meta{align-items:flex-start;text-align:left}.admin-page header{height:58px;padding:0 16px}.admin-layout{display:block;min-height:calc(100vh - 58px)}.admin-sidebar{display:none}.admin-content{padding:18px 12px 34px}.admin-mobile-navigation{display:block;margin:0 0 18px;border:1px solid var(--border);border-radius:10px;background:#fff}.admin-mobile-navigation summary{cursor:pointer;padding:13px 15px;font-weight:800;color:var(--navy)}.admin-mobile-navigation .admin-navigation{padding:0 8px 10px}.admin-page-heading{scroll-margin-top:70px}.config-section{padding:18px}.registration-search-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page #configuration-status:not(:empty){right:16px;bottom:16px}.exam-card>.actions{justify-content:flex-start}.admin-application-result-row{grid-template-columns:1fr}.admin-application-result-row .button{justify-self:start}.certificate-wizard-nav{grid-template-columns:1fr}.certificate-editor-toolbar{align-items:stretch}.certificate-box-grid{grid-template-columns:1fr}.technical-details,.verification-details{grid-template-columns:1fr;gap:4px}.technical-details dd,.verification-details dd{margin-bottom:8px}.receipt-page .shell{padding-bottom:24px}.receipt-page header{height:58px;margin:0 0 22px;padding:0 14px}.receipt-page main{padding:0 12px}.receipt-toolbar{min-height:0;margin-bottom:12px;justify-content:flex-start;flex-wrap:wrap}.receipt-toolbar-actions{width:100%;justify-content:flex-start}.receipt-document{min-height:0;padding:30px 20px 38px}.receipt-sheet-header{display:block}.receipt-sheet-title{font-size:2rem}.receipt-meta{margin-top:24px;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px}.receipt-addressee{margin-top:32px}.receipt-amount{gap:14px;padding:18px 14px}.receipt-amount strong{font-size:1.55rem}.receipt-purpose{margin-bottom:25px}.receipt-table{font-size:.78rem}.receipt-table th,.receipt-table td{padding:10px 5px}.receipt-table th:first-child{width:50%}.receipt-table th:nth-child(2){width:22%}.receipt-summary{width:100%}.receipt-footer{margin-top:40px}}
@page{size:A4;margin:15mm}@media print{.receipt-page{background:#fff}.receipt-page .shell{max-width:none;margin:0;padding:0}.receipt-page header,.receipt-toolbar,.candidate-access-recovery{display:none!important}.receipt-page main{padding:0}.receipt-document{width:100%;min-height:0;margin:0;padding:0;border:0;box-shadow:none}.receipt-sheet-header,.receipt-amount,.receipt-summary{break-inside:avoid}.receipt-test-banner,.receipt-amount{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media(max-width:440px){.metric-grid{grid-template-columns:1fr}.admin-page .brand{font-size:.9rem}.admin-page .badge{font-size:.72rem;padding:5px 8px}}