.registration-form-panel{margin:24px 0;padding:22px;background:#f3f7f3;border:1px solid #dce6dc;border-radius:6px;text-align:left}
.registration-required-note{font-size:12px;margin:0 0 16px!important}.required-star,.registration-required-note>span{color:#b32d2e}.registration-field{min-width:0;background:#fff;border:1px solid #d7e1d7;padding:18px 16px;margin:0 0 16px;border-radius:5px;text-align:left}.registration-field legend{float:none;max-width:100%;font-size:14px;line-height:1.6;font-weight:600;padding:0 5px;white-space:normal}.registration-field input:not([type=checkbox]):not([type=radio]),.registration-field select,.registration-field textarea{display:block;width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #a9b9ac;border-radius:3px;font:14px/1.6 Arial,sans-serif;background:#fff;color:#263b2d;margin:6px 0 0;max-width:100%}.registration-field textarea{resize:vertical}.registration-field input:focus,.registration-field textarea:focus,.registration-field select:focus{outline:2px solid #76a885;outline-offset:1px}.registration-field .field-description{font-size:12px;line-height:1.7;margin:0 0 8px!important;color:#627165;text-align:left}.registration-field .field-error{font-size:12px;color:#a51e29;margin:10px 0 0!important;text-align:left}.registration-field.has-error{border-color:#b32d2e}.registration-options{display:grid;gap:10px;margin-top:8px}.registration-options label{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.7;cursor:pointer;margin:0}.registration-options input,.registration-scale input,.registration-grid-scroll input{width:16px;height:16px;flex:none;accent-color:#146448;margin-top:4px}.registration-options span{text-align:left}.registration-section{margin:24px 0 18px}.registration-section h2{font-size:21px!important;line-height:1.5;margin:0 0 8px!important;color:#146448}.registration-section p{font-size:13px;line-height:1.8;text-align:left!important;margin:0!important}.registration-section.section-divider{border-top:3px solid #146448;padding-top:18px}.registration-scale{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}.registration-scale label{display:flex;flex-direction:column-reverse;align-items:center;gap:6px;min-width:30px;cursor:pointer}.registration-scale span{font-size:13px}.scale-labels{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:12px}.registration-grid-scroll{overflow:auto;max-width:100%}.registration-grid-scroll table{display:table!important;min-width:100%;border-collapse:collapse;font-size:12px}.registration-grid-scroll th,.registration-grid-scroll td{padding:10px;border-bottom:1px solid #e4e9e4;text-align:center;vertical-align:middle;min-width:75px}.registration-grid-scroll th:first-child{text-align:left}.registration-grid-scroll input{margin:0}.registration-submit{padding:12px 24px;background:#146448;color:white;border:0;border-radius:4px;cursor:pointer;font-size:14px}.registration-submit:disabled{opacity:.6;cursor:default}.registration-submit:hover:not(:disabled){background:#146a40}.registration-privacy-note{font-size:11px;line-height:1.8;color:#657768;text-align:left!important}.registration-error{padding:14px;background:#fff1f0;color:#96232b;border-left:4px solid #b32d2e;font-size:13px;line-height:1.8;margin-bottom:18px}.registration-error ul{padding-left:20px!important}.registration-notice{padding:15px;background:#e2eddf;color:#234d2e;font-size:14px;line-height:1.8}.registration-media{margin:20px 0}.registration-media img{display:block;max-width:100%;height:auto}.registration-media figcaption{font-size:12px;margin-top:8px;color:#627165}.form-standalone{max-width:850px;margin:auto;padding:28px 20px}.form-standalone>h1{font-size:28px;color:#146448;line-height:1.5}.form-thanks{max-width:780px;margin:auto;padding:50px 25px;text-align:center;line-height:1.9}.form-thanks h1{font-size:30px;color:#146448;margin:16px 0}.form-success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e2efdf;color:#146448;font-size:35px;margin:auto}.registration-reference{padding:15px;background:#eef5ed;border:1px solid #d9e6d7}.registration-reference strong{letter-spacing:1px}.form-thanks>a{display:inline-block;margin-top:18px;padding:10px 20px;color:#fff;background:#146448}
@media(max-width:767.98px){.registration-form-panel{padding:16px 10px}.registration-field{padding:14px 10px}.registration-field legend{font-size:13px}.registration-options label{font-size:13px}.registration-section h2{font-size:19px!important}.form-thanks{padding:35px 16px}.registration-reference strong{display:block}.registration-scale{justify-content:flex-start;gap:12px}}
/* PB-IKAPPI forms and Google Sheets */
.admin-body .form-builder-google .panel, .admin-body #form-builder .panel, .admin-body .google-connection-panel, .admin-body .form-answer { padding: 22px; }
.form-builder-main { min-width: 0; }
.admin-body #form-builder label, .admin-body .stack-form label { display: grid; gap: 8px; margin-bottom: 16px; }
.admin-body #form-builder input:not([type=checkbox]), .admin-body #form-builder select, .admin-body #form-builder textarea { width: 100%; padding: 11px 13px; border: 1px solid #cbdacf; border-radius: 10px; font: inherit; background: #fff; color: #234736; }
.admin-body #form-builder .checkbox-label { display: flex; align-items: center; }
.admin-body #form-builder .checkbox-label input { width: 17px; height: 17px; accent-color: #146448; }
.builder-add-bar { display: flex; gap: 12px; align-items: center; background: #eaf4ec; padding: 14px; border-radius: 12px; margin: 20px 0; position: sticky; top: 82px; z-index: 3; border: 1px solid #d4e4d7; }
.builder-add-bar select { flex: 1; min-width: 0; }
.builder-field { border-left: 4px solid #31855c; margin-bottom: 18px; }
.builder-field-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.builder-field-heading .button { font-size: 11px; padding: 6px 9px; min-height: 32px; }
.builder-file-types, .row-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.form-builder-google { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 18px; margin-bottom: 22px; }
.form-builder-google form, .google-connection-panel form { margin-top: 12px; }
.form-code-block { display: block; overflow-wrap: anywhere; padding: 14px; background: #edf4ec; border-radius: 10px; }
.form-setup-note { color: #66776b; }
.form-answer { border-bottom: 1px solid #e1e9df; }.form-answer h2 { font-size: 16px; }.form-answer p { overflow-wrap: anywhere; }
.admin-body .table-scroll { overflow-x: auto; }
#form-builder .editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 22px; }
.form-builder-main > label { padding: 20px; background: white; border-radius: 12px; }
.registration-form-panel { border-radius: 20px; background: linear-gradient(130deg,#eef8f0,#f8fbf7); box-shadow: 0 12px 36px #174d3010; font-family: inherit; }
.registration-field { border-radius: 12px; padding: 20px; }
.registration-field input:not([type=checkbox]):not([type=radio]), .registration-field textarea, .registration-field select { font-family: inherit; border-radius: 8px; }
.registration-public-form label { font-weight: 400; }.registration-media iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.registration-public-form [hidden], .form-thanks [hidden] { display: none !important; }
.sheet-page { margin: 28px 0; text-align: left; }.sheet-search { display: flex; align-items: end; gap: 12px; margin-bottom: 18px; }
.sheet-search label { flex: 1; display: grid; gap: 8px; }.sheet-search input { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #c2d9ca; border-radius: 10px; font: inherit; }
.sheet-search button, .sheet-pagination a { padding: 12px 18px; background: #146448; color: white; border: 0; border-radius: 10px; cursor: pointer; }
.sheet-table-scroll { max-width: 100%; overflow: auto; border: 1px solid #d2e4d7; border-radius: 12px; }
.sheet-page table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }.sheet-page th, .sheet-page td { padding: 12px 16px; border-bottom: 1px solid #deeadf; min-width: 120px; overflow-wrap: anywhere; }
.sheet-page th { background: #146448; color: white; }.sheet-page tbody tr:nth-child(even) { background: #f0f7ef; }
.sheet-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 20px 0; }.sheet-alumni-results { display: grid; gap: 12px; }
.sheet-alumni-name { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; width: 100%; text-align: left; padding: 18px; border: 1px solid #cde0ce; border-radius: 14px; background: linear-gradient(135deg,#e7f4e8,#f9fcf6); color: #146448; font: inherit; cursor: pointer; }
.sheet-alumni-name:hover { background: #dfefdf; }.alumni-result-title { font-weight: 700; }.alumni-result-extra { font-size: 13px; color: #66796a; }
.sheet-alumni-dialog { position: fixed; inset: 0; margin: auto; max-height: 85vh; overflow: auto; width: min(500px,calc(100% - 32px)); padding: 36px 28px; border: 1px solid white; border-radius: 24px; background: radial-gradient(at 0 0,#e4f4d9,transparent 65%),#fff; box-shadow: 0 30px 100px #062c2140; }
.sheet-alumni-dialog::backdrop { background: #05271cc4; backdrop-filter: blur(5px); }.sheet-alumni-close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; font-size: 26px; cursor: pointer; background: #e5f0e0; color: #146448; }
.alumni-profile-mark { width: 65px; margin: 10px auto; color: #146448; }.alumni-profile-mark svg { width: 100%; stroke: currentColor; stroke-width: 2; }.alumni-profile-label { display: block; text-align: center; font-size: 11px; letter-spacing: 2px; color: #578564; }
.sheet-alumni-dialog h2 { text-align: center; font-size: 24px; color: #146448; }.sheet-alumni-details { display: grid; gap: 10px; }.sheet-alumni-details > div { border: 1px solid #dfebdc; background: #f4f9f0; border-radius: 12px; padding: 12px; }
.sheet-alumni-details dt { font-size: 12px; color: #658066; }.sheet-alumni-details dd { margin: 4px 0 0; font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 1000px) { #form-builder .editor-layout { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .builder-add-bar { flex-wrap: wrap; top: 72px; }.builder-add-bar select { flex-basis: 100%; }.sheet-search { flex-wrap: wrap; }.sheet-search label { flex-basis: 100%; }.registration-form-panel { padding: 14px 10px; } }
.admin-body .panel { padding: 22px; background: #fff; border: 1px solid #e0e8dc; border-radius: 16px; margin-bottom: 20px; box-shadow: 0 6px 20px #18452f06; }
.admin-body .panel h2 { margin: 0 0 16px; font-size: 17px; color: #24573c; }
.admin-body .panel p { line-height: 1.8; }
.admin-body .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 10px 16px; border: 1px solid #d3dfd0; border-radius: 10px; background: #f6faf4; color: #255339; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; text-decoration: none; transition: background .2s; }
.admin-body .button:hover { background: #e7f0e2; }
.admin-body .button.primary { background: #146448; border-color: #146448; color: #fff; }
.admin-body .button.primary:hover { background: #0d4b35; }
.admin-body .button:disabled { opacity: .55; cursor: not-allowed; }
.admin-body .admin-heading { flex-wrap: wrap; gap: 12px; }
.admin-body .admin-heading > div:first-child { flex: 1; }
.admin-body .panel input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .admin-body .panel select, .admin-body .panel textarea { width: 100%; border: 1px solid #ccdbca; border-radius: 10px; padding: 11px 13px; font: inherit; background: #fff; }
.admin-body .panel small { display: block; margin-top: 5px; color: #7b8b72; }
.admin-body .panel .text-button { border: 0; background: transparent; cursor: pointer; font: inherit; padding: 0; }
.admin-body .panel .danger { color: #aa3843; }
/* Cascading Indonesian location field. */
.location-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 8px; }
.location-field label { display: grid; gap: 4px; min-width: 0; }
.location-field label > span { color: #5b7560; font-size: 12px; font-weight: 500; }
.location-field select { min-width: 0; text-overflow: ellipsis; }
.location-field select:disabled { color: #8a9788; background: #f1f5ee; opacity: 1; }
.location-address { margin-top: 16px; }
.location-field-status { margin: 10px 0 0 !important; color: #7b855e; font-size: 12px; line-height: 1.8; }
.location-field-status:empty { display: none; }
.location-field-retry { margin-top: 10px; padding: 8px 14px; border: 1px solid #bbd2bb; border-radius: 8px; color: #146448; background: #f1f8ec; font: inherit; font-size: 12px; }
@media (max-width: 600px) { .location-field-grid { grid-template-columns: 1fr; gap: 12px; } }
/* Configurable spreadsheet filters. */
.sheet-filter-settings { min-width: 0; margin: 22px 0; padding: 22px; border: 1px solid #cddfc9; border-radius: 14px; background: #f4f9ef; }
.sheet-filter-settings legend { padding: 0 9px; font-weight: 650; color: #215b3e; }
.sheet-filter-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,210px),1fr)); gap: 10px; margin: 18px 0; }
.admin-body .sheet-filter-options .sheet-filter-choice { display: flex; align-items: center; gap: 10px; min-width: 0; margin: 0; padding: 12px; border: 1px solid #d7e5d1; border-radius: 10px; background: #fff; font-size: 12px; overflow-wrap: anywhere; }
.sheet-filter-choice input { flex-shrink: 0; width: 17px; height: 17px; accent-color: #146448; }
.sheet-filter-column-code { display: inline-grid; place-items: center; min-width: 27px; height: 27px; border-radius: 7px; background: #e9f3e2; color: #3d7550; font-size: 11px; font-weight: 700; }
.sheet-filter-editor-status { color: #718567; font-size: 12px; }
.sheet-page .sheet-search { flex-wrap: wrap; align-items: end; }
.sheet-page .sheet-search-main { flex: 1 1 240px; }
.sheet-filter-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,190px),1fr)); gap: 14px; flex: 1 1 100%; order: 3; padding: 16px; border: 1px solid #dbe7d4; border-radius: 12px; background: #f4f9ef; }
.sheet-page .sheet-filter-fields label { display: grid; gap: 7px; min-width: 0; font-size: 12px; font-weight: 500; color: #597252; }
.sheet-filter-fields select { width: 100%; min-width: 0; max-width: 100%; padding: 11px 12px; border: 1px solid #cbdcc5; border-radius: 8px; background: #fff; color: #365c3e; font: inherit; font-size: 13px; }
.sheet-filter-reset { display: inline-flex; align-items: center; padding: 10px 14px; border: 1px solid #c6d9c0; border-radius: 9px; color: #4f7853; font-size: 12px; }
@media(max-width:600px) { .sheet-filter-settings { padding: 16px; }.sheet-filter-fields { padding: 12px; grid-template-columns: 1fr; } }