:root { --main: #28666E; --bg-top: rgb(40, 102, 110); --main-box-shadow: rgb(from var(--main) r g b / 0.05); --accent: #737444; --paddingSite: 40px; --card-radius: 20px; --card-bg: #ffffff; --bg: #FDFDFD; --bg-top-raw: 40 102 110; --card-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); --accent-soft: #f0f5ff; --border-subtle: #d4d7e1; --text-main: #191919; --text-muted: #5e5e5e; --disabled-bg: #f3f4f6; --disabled-border: #cbd5f5; } /* Base */ *, *::after, *::before { box-sizing: border-box; -webkit-tap-highlight-color: transparent; font-family: "Google Sans Flex", sans-serif; font-optical-sizing: auto; font-style: normal; font-variation-settings: "slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 0; } html, body, section { margin: 0; overscroll-behavior: none; } body { margin: 0; width: 100vw; background: var(--bg); } ::selection { background: #0000003d; color: #ffffffff; } ::-moz-selection { background: #a4bf4a99; color: #000; } .hidden { display: none !important; } input { border: none; } /* General numeric inputs in scoring area */ .bgSection input[type="number"] { font-size: 16px; } .nopadding { height: 40px; } /* Layout */ .bgSection { position: relative; margin-left: auto; /*margin: var(--paddingSite); width: calc(100vw - 2 * var(--paddingSite));*/ width: 100vw; box-sizing: border-box !important; background: none; } @media (min-width: 1500px) { .bgSection.open { width: calc(100vw - 380px); /* - 2 * var(--paddingSite) */ } } /* Cards */ .headerDivTrainer { padding: var(--paddingSite); background-color: var(--main); margin-bottom: var(--paddingSite); position: relative; z-index: 3; } /* headings */ .heading_edit_turnerin, .headingAlleTurnerinnen, .headingStartgebuerenTabelle { margin-top: 0; font-weight: 400; margin-bottom: 20px; } .divLiveSyncronisation { padding: var(--paddingSite); } .checkbox { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; } /* Hide native checkbox but keep it accessible */ .checkbox input { position: absolute; opacity: 0; pointer-events: none; } /* Custom box */ .checkbox-ui { width: 16px; height: 16px; border: 1px solid #777; border-radius: 3px; display: inline-flex; align-items: center; justify-content: center; transition: background 0.15s, border-color 0.15s; } /* Checked state */ .checkbox input:checked+.checkbox-ui { background: var(--main); border-color: var(--main); } /* Focus state */ .checkbox input:focus-visible+.checkbox-ui { outline: 2px solid #93c5fd; outline-offset: 2px; } .headingPanelDiv { display: flex; flex-direction: column; } .headingPanelDiv>* { color: var(--bg); } .headingPanel { margin-top: 0; margin-bottom: 10px; font-weight: 200; } .headingPanelUser { margin: 0; font-weight: 700; } #wsInfo { margin: 0; font-weight: 300; opacity: 0; transition: all 2s ease; } /* Kampfrichter header layout */ .headerDivTrainer { display: flex; justify-content: space-between; align-items: center; } /* Turnerinnen table */ table { border-collapse: collapse; margin: 0; padding: 0; width: 100%; } .wkvsTabelle th { color: #424242; border-bottom: solid 1px #0000007d; font-weight: 600; padding: 14px 15px; font-size: 16px; } .wkvsTabelle td { background-color: #ffffff; color: #191919; padding: 14px 15px; font-weight: 300; background: none; border-bottom: solid 1px #6262624d; } .wkvsTabelle.trainer td { padding: 8px 15px; } .wkvsTabelle.trainer b { font-weight: 700; } .wkvsTabelle:not(.trainer) td { text-align: center; font-weight: 400; } .wkvsTabelle:not(.trainer) td { text-align: center; font-weight: 400; padding: 14px 15px; } div.bezahlstatus { display: inline-flex; position: relative; justify-content: center; padding: 6px 12px; border-radius: 20px; width: auto; font-size: 13px; font-weight: 500; transition: all 0.2s ease; overflow: hidden; cursor: default; border: 1px solid transparent; } div.bezahlstatus.addTurnerinToWarenkorb { cursor: pointer; } div.bezahlstatus.addTurnerinToWarenkorb:hover { transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } div.bezahlstatus.addTurnerinToWarenkorb:active { transform: translateY(0); box-shadow: none; } div.bezahlstatus span.paymentStatus { display: inline-flex; align-items: center; gap: 6px; } div.bezahlstatus span.paymentStatus svg { margin-right: 2px; } div.bezahlstatus.paymentAdmin { background-color: #eae1ce; color: #735813; border-color: #eae1ce; } /* Music Status Pill */ .musicStatus { display: inline-flex; position: relative; justify-content: center; padding: 6px 12px; border-radius: 20px; width: auto; font-size: 13px; font-weight: 500; transition: all 0.2s ease; overflow: hidden; cursor: pointer; border: 1px solid transparent; } .musicStatus:hover { transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } .musicStatus.noMusic { background-color: #efefef; color: var(--accent); border-color: #d1d1d1; } .musicStatus.noMusic:hover { background-color: #d1d1d1; } .musicStatus.hasMusic { background-color: #e6f4ea; color: #137333; border-color: #ceead6; } .musicStatus.hasMusic:hover { background-color: #ceead6; } .musicStatus .label-music { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; } /* Payed */ .bezahlstatus.paymentPayed { background-color: #e6f4ea; color: #137333; border-color: #ceead6; } /* Process */ .bezahlstatus.paymentProcess { background-color: #e8f0fe; color: #1967d2; border-color: #d2e3fc; } .bezahlstatus.paymentProcess:hover { background-color: #d2e3fc; } /* Open */ .bezahlstatus.paymentOpen { background-color: #fce8e6; color: #c5221f; border-color: #fad2cf; } .bezahlstatus.paymentOpen:hover { background-color: #fad2cf; } .allTurnerinenDiv .widefat input { min-width: 60px; display: flex; margin: auto; background: none; text-align: center; } .allTurnerinenDiv .editTurnerin, .allTurnerinenDiv .editTurnerinAdmin { background: none; border: none; } .allTurnerinenDiv .editTurnerin svg, .allTurnerinenDiv .editTurnerinAdmin svg { transition: transform 0.3s ease; } .allTurnerinenDiv .editTurnerin svg:hover, .allTurnerinenDiv .editTurnerinAdmin svg:hover { transform: scale(1.2); animation-name: stiftWackler; animation-duration: 0.5s; } @keyframes stiftWackler { 25% { transform: rotate(-10deg) scale(1.05); } 75% { transform: rotate(10deg) scale(1.15); } 100% { transform: rotate(0deg) scale(1.2); } } .allTurnerinenDiv tr:hover { background-color: #f4f4f4; } /*.allTurnerinenDiv tr.notHeaderRow:hover td{ -webkit-text-stroke: 0.75px currentColor; color: currentColor; }*/ /* Panel with inputs (new style, light) */ .editContainerDiv { color: var(--text-main); display: flex; flex-direction: column; } .editContainerDivInner { display: flex; align-items: center; } @media (min-width: 891px) { .editContainerDivInner { flex-direction: row; justify-content: space-between; } } @media (max-width: 890px) { .editContainerDivInner { flex-direction: column; justify-content: center; gap: 30px; } } .editContainerDivInner>form { display: flex; flex-direction: column; min-width: 300px; } .editContainerDivInner>form>input, .editContainerDivInner>form>select, .bulkSelect, .emptyEditForm { border: 1px dashed #777; max-width: 300px; border-radius: 3px; font-size: 16px; margin-bottom: 15px; font-weight: 300; } .editContainerDivInner>form>input:focus, .editContainerDivInner>form>select:focus, .bulkSelect:focus { border: 1px solid var(--main); -webkit-box-shadow: 0px 0px 27px 5px var(--main-box-shadow); box-shadow: 0px 0px 27px 5px var(--main-box-shadow); outline: none; } .editContainerDivInner>form>input, .emptyEditForm { padding: 6px 10px; } .editContainerDivInner>form>label { margin-bottom: 10px; } .editContainerDivInner>form>select, .bulkSelect { padding: 6px 35px 6px 10px !important; } .emptyEditForm { text-align: center; } .editContainerDivInner>form>input[type="submit"], .bulk-select-submit, .emptyEditForm { border: 1px solid #7777778e; background: #7777778e; color: var(--bg); transition: border 0.3s ease, background 0.3s ease, font-weight 0.3s ease; } .emptyEditForm:hover { border: 1px solid var(--main); background: #f00; font-weight: 600; } .editContainerDivInner>form>input[type="submit"]:hover, .bulk-select-submit:hover { border: 1px solid var(--main); background: var(--main); font-weight: 600; } .bulk-select-submit { padding: 6px 10px; border-radius: 3px; font-size: 16px; margin-bottom: 15px; font-weight: 300; } /* From Uiverse.io by alexmaracinaru */ button.newBtn { cursor: pointer; font-weight: 700; transition: all 0.2s; padding: 10px 20px; border-radius: 100px; background: #cfef00; border: 1px solid transparent; display: flex; align-items: center; font-size: 15px; } button.newBtn:hover { background: #c5e300; } button.newBtn>svg { width: 34px; margin-left: 10px; transition: transform 0.3s ease-in-out; } button.newBtn:hover svg { transform: translateX(5px); } button.newBtn:active { transform: scale(0.95); } .labelBulkSelect { font-weight: 300; margin-bottom: 6px; } /* Tables container inside edit card */ .all_vaules_div, .all_edit_vaules_div { display: inline-flex; /* makes the box shrink to fit */ flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; align-items: flex-start; } .all_vaules_div { flex-direction: column; } /* Individual small tables */ .editkampfrichter_user { border-collapse: collapse; background: #f9fafb; border-radius: 12px; overflow: hidden; min-width: 180px; box-shadow: 0 0 0 1px rgba(209, 213, 219, 0.9); } .editkampfrichter_user th, .editkampfrichter_user td { padding: 0.6rem 0.75rem; text-align: center; white-space: nowrap; } a { text-decoration: none; } .editkampfrichter_user th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.09em; color: var(--text-muted); background: #f3f4f6; } .table_endnote_edit { margin-top: 1rem; width: 100%; } /* Tight cell for pure input */ .nopadding { padding: 0.25rem 0.5rem !important; } /* Inputs inside edit card */ .fullinput { width: 100%; box-sizing: border-box; /*padding: 0.45rem 0.6rem;*/ border-radius: 8px; border: 1px solid var(--border-subtle); background: #ffffff; color: var(--text-main); font-size: 0.9rem; line-height: 1.3; outline: none; transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease; text-align: center; } .fullinput:focus { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(45, 115, 172, 0.25); background: #ffffff; } /* Strong & clear disabled style */ .fullinput:disabled, .fullinput[readonly] { background: none; border: none; color: #6b7280; opacity: 1; cursor: not-allowed; } .fullinput:disabled:hover, .fullinput:disabled:focus, .fullinput[readonly]:hover, .fullinput[readonly]:focus { box-shadow: none; border-color: var(--disabled-border); } /* Computed result fields even clearer */ /*[id^="e-note-"]:disabled { background: #fff7d6; background: repeating-linear-gradient( 135deg, #ffefb0, #ffefb0 6px, #fff7d6 6px, #fff7d6 12px ); border-color: #f59e0b; box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.7); color: #92400e; font-weight: 800; text-align: center; }*/ [id^="note-user-"]:disabled { background: none; border: none; color: var(--top-bg); font-weight: 600; text-align: center; } /* Remove number arrows where supported */ input[type="number"] { -moz-appearance: textfield; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } /* Explanation text */ .editkampfrichter_user_text { margin-top: 0.9rem; font-size: 0.85rem; color: var(--text-muted); line-height: 1.4; } /* Next gymnast link */ /* Buttons near inputs */ .submit-display-turnerin, .submit-display-start, .submit-musik-start, .submit-musik-stopp, .submit-display-result { appearance: none; border: none; border-radius: 999px; padding: 0.5rem 1.1rem; font-size: 0.9rem; font-weight: 600; cursor: pointer; margin: 0.35rem 0.4rem 0 0; transition: transform 0.08s ease, box-shadow 0.12s ease, background-color 0.12s ease, color 0.12s ease; display: inline-flex; align-items: center; justify-content: center; } /* Variants */ .submit-display-turnerin { background-color: #378cd243; border: solid 1px #3382c3; color: #256396; } .submit-display-result { background-color: #c538d83d; border: solid 1px #be3bcf; color: #781467; } .submit-display-start, .submit-musik-start { background: #ecfdf3; color: #15803d; border: 1px solid #4ade80; } .submit-musik-stopp { background: #fef2f2; color: #b91c1c; border: 1px solid #fca5a5; } /* Button interaction */ .submit-display-turnerin:hover, .submit-display-start:hover, .submit-musik-start:hover, .submit-musik-stopp:hover, .submit-display-result:hover { transform: translateY(-1px); box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12); } .submit-display-turnerin:active, .submit-display-start:active, .submit-musik-start:active, .submit-musik-stopp:active, .submit-display-result:active { transform: translateY(0); box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1); } /* Burger + menu (unchanged from your style) */ .trainerBurgerMenuDiv { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; cursor: pointer; z-index: 99; color: var(--bg); } .trainerBurgerMenuDiv svg { width: 100%; height: 100%; stroke: currentColor; transition: transform 0.3s ease; } .trainerBurgerMenuDiv.open svg { transform: rotate(45deg); } .internMenuDiv { background-color: #fff; box-shadow: none; position: fixed; left: 0; top: 0; height: 100svh; width: 100%; max-width: 450px; transform: translateX(-100%); z-index: 100; padding: 20px; transition: transform 0.45s cubic-bezier(.4, 0, .2, 1); opacity: 1; } .internMenuDiv.open { transform: translateX(0); box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15); } .innerInternMenuDiv { display: flex; flex-direction: column; gap: 14px; height: 100dvh; overflow-y: auto; padding-bottom: 80px; } .text_akt_abt { font-size: 1rem; color: #555; text-align: center; line-height: 1.6; } .innerInternMenuDiv form { margin: 0; } .innerInternMenuDiv input[type="submit"], .innerInternMenuDiv select { width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid #ccc; font-size: 0.95rem; transition: all 0.3s ease; } .innerInternMenuDiv input[type="submit"]:focus, .innerInternMenuDiv select:focus { outline: none; border-color: #2d73ac; box-shadow: 0 0 6px rgba(45, 115, 172, 0.3); } .innerInternMenuDiv .button-secondary { background: linear-gradient(135deg, #2d73ac, #1f4f75); color: #fff; border: none; border-radius: 12px; font-weight: 600; cursor: pointer; padding: 12px 18px; transition: transform 0.2s ease, background 0.3s ease; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .innerInternMenuDiv .button-secondary:hover { background: linear-gradient(135deg, #245d8a, #163b5a); transform: translateY(-2px); } .gruppennav { display: flex; align-items: center; justify-content: center; gap: 8px; background: #f9fafc; padding: 10px 16px; border-radius: 12px; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05); } .gruppennav p { margin: 0 6px; font-weight: 600; color: #333; } .button_gruppe { border: none; background: #2d73ac; color: white; width: 36px; height: 36px; border-radius: 50%; font-size: 1.1rem; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); } .button_gruppe:hover { background: #245d8a; transform: scale(1.05); } .labelnamekr { font-size: 1rem; font-weight: 500; margin-top: 14px; display: block; color: #222; } .inputnamekr { margin-bottom: 12px; } .footerInternMenu { display: flex; flex-direction: row; justify-content: space-between; position: absolute; bottom: 12px; gap: 40px; width: calc(100% - 40px); } .footerInternMenu>* { display: flex; } .abmeldenbutton { width: 100%; padding: 14px; background-color: var(--accent); border: none; border-radius: 12px; font-weight: 600; color: #fff; cursor: pointer; transition: transform 0.2s ease, filter 0.3s ease; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .abmeldenbutton:hover { filter: brightness(0.95); transform: translateY(-2px); } .menuBg { position: fixed; inset: 0; z-index: 98; user-select: none; pointer-events: none; opacity: 0; /*background: rgba(0, 0, 0, 0.15);*/ } .menuBg.menuTransition { transition: opacity 0.6s ease-out; } /*.menuBg.open { opacity: 1; pointer-events: auto; user-select: all; }*/ .menuTransition { transition: all 0.6s ease-out; } .menuTransition>.trainerBurgerMenuLine { transition: all 0.3s ease-out; } .closeInternMenuMobileDiv { display: none; width: 5vw; height: 100px; position: absolute; top: 30px; right: -5vw; background-color: #09090966; border-radius: 0 10px 10px 0; } /* Mobile tweaks */ @media (max-width: 480px) { .internMenuDiv { max-width: 95vw; } .internMenuDiv.open .closeInternMenuMobileDiv { display: block; } } @media (max-width: 600px) { .editContainerDiv, .allTurnerinenDiv { padding: var(--paddingSite) calc(var(--paddingSite) * 0.75); margin-bottom: var(--paddingSite); } .notMobile { display: none; } .allTurnerinenDiv th { padding: 12px 6px; } .allTurnerinenDiv td { padding: 10px 6px; } .ranglisteExportBMDesktop { display: none; } .ranglisteExportBMMobile { display: block; } } @media (min-width: 601px) { .editContainerDiv, .allTurnerinenDiv { padding: var(--paddingSite) calc(var(--paddingSite) * 1.5); margin-bottom: var(--paddingSite); } .ranglisteExportBMDesktop { display: block; } .ranglisteExportBMMobile { display: none; } } .buttonNextAbt, .buttonPrevAbt, .button_gruppe { line-height: 0; } .all_e_vaules_div { display: grid; gap: 1rem; } .titleWidthNormalInput { width: 309.398px; } .flexRow { display: flex; flex-direction: row; align-items: center; gap: 5px; } .fullHeightRectangle { display: flex; } .msgDiv { position: fixed; bottom: 50px; right: 20px; display: flex; align-items: end; flex-direction: column-reverse; gap: 10px; } .msgBox { transform: translateX(calc(100% + 40px)); padding: 10px 15px; color: #fff; background-color: #0b0b0b; border-left: 4px solid; border-radius: 2px; transition: all 0.5s ease; } .msgBox.show { transform: translateX(0); } .playcontrolDiv { display: flex; justify-content: center; margin: 20px 0; } .noKampfrichterDiv { display: none; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; width: 100%; min-height: 100vh; height: 100%; background-color: #e9eef6a0; backdrop-filter: blur(3px); z-index: 2; } .noKampfrichterDiv>h1 { color: var(--top-bg); } .adminButtonDiv input, .buttonNewAdminStyle { background-color: var(--top-bg); color: #fff; border: none; border-radius: 5px; font-weight: 200; cursor: pointer; padding: 12px 18px; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .adminButtonDiv input { margin: 10px 0 0 10px; } .adminButtonDiv input:hover { filter: brightness(1.2); } .titleSingleProg { font-weight: 400; color: var(--top-bg); } .adminButtonDiv { display: block; } table.widefat { table-layout: auto; } .singleProgDiv:not(:last-child) { margin-bottom: 60px; } .tableStartgebueren { width: 100%; border-collapse: collapse; background: #ffffff; border-radius: 8px; overflow: hidden; margin-top: 10px; } .tableStartgebueren th, .tableStartgebueren td { padding: 12px 14px; text-align: left; } .tableStartgebueren th { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); background: #f3f4f6; border-bottom: 1px solid #e5e7eb; } tr.rowStartgebuer { background-color: #fff; transition: background-color 0.2s ease; } tr.rowStartgebuer:hover { background-color: #f9fafb; } tr.rowStartgebuer { border-bottom: 1px solid #f0f0f0; } tr.rowStartgebuerTotal { font-weight: bold; border-top: 2px solid #ddd; background-color: #fdfdfd; } .hideIfEmptyBasket, .hideIfNotEmptyBasket { display: none; } .cellStartgebuer[data-type="delete"] svg { display: flex; margin: auto; } .cellStartgebuer { font-weight: 300; } .cellStartgebuer b { font-weight: 700; } .updateMusicDiv { display: flex; gap: 6px; align-items: center; justify-content: center; } .editDiv { display: flex; gap: 10px; align-items: center; justify-content: end; } .editDiv>*, .editDiv button { margin: 0; padding: 0; background: none; border: none; cursor: pointer; } .tableStartgebueren { max-height: 60vh; overflow-x: hidden; overflow-y: auto; /* Prevent scroll chaining to body */ overscroll-behavior-x: contain; /* Smooth scrolling on touch devices */ -webkit-overflow-scrolling: touch; } .tableWraperOverflowY { overflow-x: auto; overflow-y: hidden; /* Prevent scroll chaining to body */ overscroll-behavior-x: contain; /* Smooth scrolling on touch devices */ -webkit-overflow-scrolling: touch; } .bezahltOverrideInfo { display: block; font-size: 8px; font-weight: 300; } #musicDiv { position: absolute; background-color: #c4c4c4; padding: 5px; border-radius: 29.5px; display: flex; } .label-music { cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .musicDivWraper, .paymentDivWraper { display: flex; gap: 4px; } /* Container styling */ .form_excel { max-width: 400px; padding: 30px; border-radius: 12px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); text-align: center; border-top: 6px solid #1D6F42; /* Excel Green */ } .form_excel h4 { color: #333; margin-bottom: 20px; font-size: 1.5rem; font-weight: 600; } /* Download Template Section */ .form_excel a { text-decoration: none; display: block; margin-bottom: 25px; } .form_excel button[type="button"] { background-color: #f3f3f3; color: #1D6F42; border: 1px solid #1D6F42; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-weight: 600; transition: all 0.3s ease; width: 100%; } .form_excel button[type="button"]:hover { background-color: #e8f5e9; transform: translateY(-1px); } /* File Input Styling */ .form_excel input[type="file"] { display: block; width: 100%; margin-bottom: 20px; padding: 10px; border: 2px dashed #cbd5e0; border-radius: 8px; background-color: #fafafa; cursor: pointer; } .form_excel input[type="file"]::file-selector-button { background: #1D6F42; color: white; border: none; padding: 8px 16px; border-radius: 4px; margin-right: 10px; cursor: pointer; } /* Submit Button */ .form_excel button[type="submit"] { background-color: #1D6F42; /* Official Excel Green */ color: white; border: none; padding: 12px 24px; font-size: 1rem; font-weight: bold; border-radius: 6px; width: 100%; cursor: pointer; box-shadow: 0 4px 6px rgba(29, 111, 66, 0.2); transition: background 0.3s ease; } .form_excel button[type="submit"]:hover { background-color: #155231; box-shadow: 0 6px 12px rgba(29, 111, 66, 0.3); } /* Payment Modal Overlay */ .payment-modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); z-index: 9999; display: flex; align-items: center; justify-content: center; } /* Modal Content Card */ .payment-modal-content { background-color: #fff; border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); width: 90%; max-width: 500px; overflow: hidden; position: relative; display: flex; flex-direction: column; } .payment-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 25px; border-bottom: 1px solid #eaeaea; } .payment-modal-header h2 { margin: 0; font-size: 1.25rem; font-weight: 600; color: #333; } .closePaymentForm { font-size: 24px; font-weight: 300; color: #888; cursor: pointer; line-height: 1; transition: color 0.2s ease; } .closePaymentForm:hover { color: #d63638; } .payment-modal-desc { padding: 15px 25px 0; margin: 0; font-size: 0.9rem; color: #666; line-height: 1.4; text-align: left; } .paymentFormOverflowWrapper { max-height: 60vh; overflow-x: hidden; overflow-y: auto; padding: 20px 25px; -webkit-overflow-scrolling: touch; } /* Payment Form Grid */ .fullinput-row { display: flex; gap: 12px; margin-bottom: 15px; } .fullinput-group { flex: 1; display: flex; flex-direction: column; text-align: left; } .fullinput-group label { font-size: 0.85rem; font-weight: 500; color: #444; margin-bottom: 6px; } .fullinput-group .fullinput { width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 8px; border: 1px solid #ccc; background: #fdfdfd; font-size: 0.95rem; transition: box-shadow 0.2s ease, border-color 0.2s ease; text-align: left; } .fullinput-group .fullinput:focus { border-color: #2d73ac; box-shadow: 0 0 0 3px rgba(45, 115, 172, 0.15); background: #fff; outline: none; } .payment-checkbox-label { margin-top: 10px; margin-bottom: 20px; font-size: 0.9rem; color: #444; } /* ── FLATPICKR CUSTOM THEME ───────────────────────────── */ .flatpickr-calendar { background: var(--bg-surface); box-shadow: var(--sh-lg); border: 1px solid var(--border); border-radius: var(--r-lg); font-family: var(--font); } .flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.prevMonthDay.selected, .flatpickr-day.nextMonthDay.selected, .flatpickr-day.prevMonthDay.startRange, .flatpickr-day.nextMonthDay.startRange, .flatpickr-day.prevMonthDay.endRange, .flatpickr-day.nextMonthDay.endRange { background: var(--brand-primary); border-color: var(--brand-primary); } .flatpickr-day.today { border-color: var(--brand-primary); color: var(--brand-primary); } .flatpickr-day.today:hover, .flatpickr-day.today:focus { background: var(--brand-pri-faint); color: var(--brand-primary); } .flatpickr-months .flatpickr-month { color: var(--txt-primary); } .flatpickr-current-month .flatpickr-monthDropdown-months:hover { background: var(--n-100); } .flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after { border-bottom-color: var(--border); } .flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg { fill: var(--brand-primary); } .flatpickr-day:hover { background: var(--n-100); } .flatpickr-innerContainer { padding: var(--sp-2); } span.flatpickr-weekday { color: var(--txt-muted); font-weight: 600; } .paymentFormOverflowWrapper .requiredInput::after { content: "*"; display: inline-flex; margin-left: 6px; color: #cfef00; } select:not(.flatpickr-monthDropdown-months) { appearance: none; /* Standard */ -webkit-appearance: none; /* WebKit */ -moz-appearance: none; /* Firefox */ width: 100%; padding: 12px 35px 12px 14px !important; font-size: 16px; border: 1px solid #ccc; border-radius: 4px; background-color: #fff; background-image: url("data:image/svg+xml;utf8,\ \ \ "); background-repeat: no-repeat; background-position: right 10px center; background-size: 20px; cursor: pointer; } select:open { background-image: url("data:image/svg+xml;utf8,\ \ \ "); }