/* Reusable event administration, using the existing product's color and type. */
.config-form{display:grid;gap:24px;min-width:0}
.config-structure-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-bottom:20px}.config-structure-summary>div{border:1px solid #e5e6ec;border-radius:8px;padding:16px}.config-structure-summary strong{font-size:14px;font-weight:650}.config-structure-summary p{font-size:12px;line-height:1.8;color:#757b86;margin-top:7px}
.config-fieldset{display:grid;gap:24px;margin:0;padding:0;border:0;min-width:0}
.config-fieldset:disabled input,.config-fieldset:disabled select,.config-fieldset:disabled textarea{background:#f5f5f7;color:#666974;opacity:1;cursor:default}
.config-notice{padding:19px 22px;border:1px solid #e2e3e9;border-left:3px solid #737c8f;border-radius:8px;background:#fff;margin-bottom:24px;font-size:13px;line-height:1.75}
.config-notice b{display:block;color:#343640;font-size:14px;margin-bottom:5px}
.config-notice p{color:#656874;max-width:950px}
.config-locked{border-left-color:#b97728;background:#fffcf7}
.config-overview{display:flex;gap:14px 28px;flex-wrap:wrap;border-bottom:1px solid #dddfe5;padding:0 0 23px;margin-bottom:24px;color:#696c77;font-size:13px}
.config-overview span{display:flex;align-items:center;gap:9px}
.config-overview b{color:#30323c;font-variant-numeric:tabular-nums;font-weight:700}
.config-section .panel-head>div{position:relative;padding-left:35px}
.config-section-number{position:absolute;left:0;top:3px;font-size:12px;color:#a13c50;font-weight:700;font-variant-numeric:tabular-nums}
.config-section .panel-head .sub{margin-top:7px;max-width:850px}
.config-section+.config-section{margin-top:0}
.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;align-items:start}
.config-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.config-form .field{min-width:0;margin:0;gap:8px;display:flex;flex-direction:column}
.config-form .field label{color:#454852;font-size:13px;font-weight:650;line-height:1.55}
.config-form .field input,.config-form .field select,.config-form .field textarea{width:100%;min-width:0;min-height:46px;font-size:14px;padding:11px 13px;border:1px solid #dcdde4;border-radius:8px;line-height:1.5}
.config-form .field textarea{min-height:88px;resize:vertical}
.config-form input[type=number]{font-variant-numeric:tabular-nums}
.config-form .field .hint{font-size:12px;font-weight:400;line-height:1.7;color:#6f727e;margin:0}
.config-rows{display:grid;gap:18px}
.config-row{border:1px solid #e5e5eb;border-radius:10px;padding:20px;background:#fff;min-width:0}
.config-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px;min-width:0}
.config-row-heading h3{font-size:14px;color:#363943;font-weight:700;margin-right:auto;overflow-wrap:anywhere}
.config-row-heading .btn{flex-shrink:0}
.config-remove{color:#8a4251}
.config-row-heading .config-remove:hover:not(:disabled){border-color:#cba0aa;background:#fff8fa;color:#a52a43}
.config-row-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:18px}
.config-row-footer .note{flex:1;min-width:220px;font-size:12px;line-height:1.7}
.config-panel-requirements{margin-top:22px;padding-top:20px;border-top:1px solid #ececf0}
.config-panel-requirements h4{margin:0 0 15px;font-size:13px;color:#454852;font-weight:650}
.config-panel-requirements h4 span{font-size:12px;color:#737581;font-weight:400;margin-left:10px}
.config-subsection{border-top:1px solid #e9e9ef;margin-top:26px;padding-top:24px}
.config-subsection>h3{font-size:15px;color:#373a44;margin-bottom:8px}
.config-subsection>.note{margin-bottom:18px;font-size:13px;max-width:850px}
.config-total{font-size:13px;font-weight:650;line-height:1.7;color:#636773;font-variant-numeric:tabular-nums;margin-top:14px}
.config-row-footer .config-total{margin:0 0 0 auto}
.config-total.valid{color:#286347}
.config-total.invalid{color:#a03043}
.config-save{padding:24px;border:1px solid #dedee6;border-radius:12px;background:#fff;display:grid;gap:17px}
.config-save-copy b{font-size:15px;color:#353842;line-height:1.6}
.config-save-copy p{margin:5px 0 0;font-size:13px;line-height:1.7;color:#686c77}
.config-review{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#444853;line-height:1.75;cursor:pointer;min-height:32px}
.config-review input{width:17px;height:17px;margin:3px 0 0;accent-color:#c82843;flex-shrink:0}
.config-save-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}
.config-draft-status{font-size:12px;color:#737682;line-height:1.65;margin:0}
.config-error{margin:0;line-height:1.75;white-space:pre-wrap}
.config-error:empty{display:none}
.config-conflict{padding:14px 16px;border:1px solid #ead1d7;background:#fff8fa;color:#8f394c;border-radius:8px;font-size:13px;line-height:1.75}
.config-limit-note{margin-top:20px;color:#747783;font-size:12px;line-height:1.75}
#dialog:has(#rubric-config-form){width:min(920px,calc(100vw - 40px));max-width:920px}
#dialog:has(#rubric-config-form) .dialog-body{background:#f6f6f8}
#dialog:has(#rubric-config-form) .config-section .panel-head,#dialog:has(#rubric-config-form) .config-section .panel-body{padding:20px}
#dialog:has(#rubric-config-form) .config-section .panel-head h2{font-size:16px}
#dialog:has(#rubric-config-form) .config-section-number{top:1px}
.config-rubric-fields{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:17px}
.config-rubric-fields .field:last-child{grid-column:1/-1}
.config-calculation{font-size:13px;line-height:1.7;background:#f6f6f9;border-radius:8px;padding:14px 16px;color:#686b78;margin:22px 0 0}
.config-current-event{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.config-current-event h3{font-size:20px;color:#30333d;margin-bottom:7px;line-height:1.5}
.config-current-counts{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px;color:#6a6d78;padding-top:5px}
.config-current-counts span{display:flex;gap:10px;align-items:center}
.config-current-counts b{font-size:16px;color:#343641;font-variant-numeric:tabular-nums}
.config-archive-help{border-top:1px solid #e9e9ef;padding-top:19px;margin-top:23px;color:#6a6d79;font-size:13px;line-height:1.8}
.config-archive-list{display:grid;gap:0}
.config-archive{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;border-bottom:1px solid #e8e8ee}
.config-archive:first-child{padding-top:0}
.config-archive:last-child{padding-bottom:0;border-bottom:0}
.config-archive>div{min-width:0}
.config-archive h3{font-size:17px;line-height:1.6;margin:5px 0;overflow-wrap:anywhere}
.config-archive-date{font-size:12px;color:#777a85}
.config-archive-reason{font-size:13px;color:#5b5f6c;line-height:1.75;margin-top:11px;white-space:pre-wrap;overflow-wrap:anywhere}
.config-archive>.btn{flex-shrink:0}
.config-confirm-instruction{font-size:13px;line-height:1.8;color:#676b77;margin:18px 0 12px}
.config-confirm-instruction strong{color:#a72d46;display:block;overflow-wrap:anywhere}
#new-event-form .config-review{margin:20px 0 12px}
#new-event-form .field{margin-bottom:18px}
@media(max-width:1050px){.config-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.config-grid,.config-grid-three{grid-template-columns:minmax(0,1fr);gap:19px}.config-overview{gap:14px 20px}.config-section .panel-head,.config-section .panel-body{padding:20px 17px}.config-section .panel-head>div{padding-left:28px}.config-section .panel-head h2{font-size:17px}.config-row{padding:17px 14px}.config-row-heading{margin-bottom:17px}.config-row-heading h3{font-size:14px}.config-save{padding:20px 17px}.config-save-actions{flex-direction:column-reverse;align-items:stretch}.config-save-actions .btn{white-space:normal}.config-notice{padding:16px 17px}#dialog:has(#rubric-config-form){width:calc(100vw - 20px);max-width:none}#dialog:has(#rubric-config-form) .dialog-body{padding:17px 12px}#dialog:has(#rubric-config-form) .config-section .panel-head,#dialog:has(#rubric-config-form) .config-section .panel-body{padding:17px 13px}.config-rubric-fields{grid-template-columns:minmax(0,1fr) 96px;gap:13px}.config-form .field input,.config-form .field select,.config-form .field textarea{font-size:16px}.config-archive{align-items:flex-start;flex-direction:column;gap:17px}.config-archive>.btn{width:100%}.config-row-footer{gap:14px}.config-row-footer .note{min-width:0;flex-basis:100%}.config-row-footer .config-total{margin-left:0;flex-basis:100%}.config-panel-requirements h4 span{display:block;margin:5px 0 0}}
@media(prefers-reduced-motion:reduce){.config-form *{scroll-behavior:auto}}
