:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--ink:#101a3b;--ink-soft:#404959;--green:#245833;--green-light:#dfeedd;--coral:#ef4665;--coral-dark:#c82f4d;--pink:#fff0f3;--pink-border:#ffc6d0;--blue:#eef8ff;--blue-border:#bfddfa;--cream:#fffaf0;--border:#d8dde4;--surface:#fff;--shadow:0 12px 34px #152a3d1a;--radius:18px;--content:min(1360px, calc(100% - 48px));color:var(--ink);background:#f7fbfe;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:#f7fbfe;min-width:320px;min-height:100vh;margin:0;font-size:18px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:4px solid #2970dc40}button:disabled{cursor:wait;opacity:.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;line-height:1.08}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pre-line{white-space:pre-line}.brand{color:var(--green);text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-height:54px;padding:0;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:800;display:inline-flex}.brand--compact{font-size:1.4rem}.brand__logo{object-fit:contain;flex:0 0 56px;width:56px;height:56px}.brand__logo--compact{flex-basis:46px;width:46px;height:46px}.brand__text{flex-direction:column;line-height:1;display:flex}.brand__text strong{font:inherit;white-space:nowrap}.brand__text small{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-top:7px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:.38em;font-weight:700;line-height:1.25}.flower-mark{flex:0 0 56px;width:56px;height:56px;display:inline-flex}.flower-mark--compact{flex-basis:46px;width:46px;height:46px}.public-header,.admin-header{z-index:30;background:#fffffffa;border-bottom:1px solid #e4e7eb;justify-content:space-between;align-items:center;height:82px;padding:0 max(24px,50% - 680px);display:flex;position:relative}.public-header{position:sticky;top:0}.public-nav{align-self:stretch;align-items:stretch;gap:14px;display:flex}.public-nav a,.public-nav button{color:#24342a;background:0 0;border:0;border-bottom:4px solid #0000;align-items:center;gap:9px;padding:0 16px;font-weight:700;display:inline-flex}.public-nav a:first-child,.public-nav button:first-child{border-bottom-color:var(--coral);color:var(--coral-dark)}.public-nav .nav-login{color:#1f60bd;border:2px solid #3478db;border-radius:12px;align-self:center;height:50px;margin-left:8px;padding:0 22px}.menu-button{background:var(--surface);border:1px solid var(--border);color:var(--ink);border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:none}.hero{background:#effaff url(/garden-hero-no-character.png) 50%/cover no-repeat;border-bottom:1px solid #e2e8e5;min-height:360px;animation:16s ease-in-out infinite alternate botanical-breathe;position:relative}.hero__content{width:var(--content);margin:0 auto;padding:38px 0 44px}.hero h1{color:var(--ink);letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(3rem,4.2vw,4.35rem)}.hero p{color:#30394a;margin-bottom:16px;font-size:clamp(1.2rem,1.55vw,1.4rem);line-height:1.45}.hero__date{color:#343b47;align-items:center;gap:11px;margin-bottom:20px;font-size:1.1rem;display:flex}.primary-button,.secondary-button,.danger-button{border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:11px 22px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1rem;font-weight:800;display:inline-flex}.primary-button{background:var(--coral);border:2px solid var(--coral);color:#fff;box-shadow:0 8px 18px #ef466533}.primary-button:hover{background:var(--coral-dark);border-color:var(--coral-dark)}.primary-button--wide{width:100%}.secondary-button{color:#1f60bd;background:#fff;border:2px solid #3276d5}.danger-button{color:#fff;background:#d7344f;border:2px solid #d7344f}.records-section{z-index:2;width:calc(100% - 32px);max-width:1440px;box-shadow:var(--shadow);background:#fff;border:1px solid #e1e5e7;border-radius:22px;margin:-28px auto 70px;padding:22px 40px 40px;position:relative}.mobile-login-button{display:none}.record-toolbar,.admin-toolbar{grid-template-columns:minmax(260px,1.4fr) minmax(220px,.7fr) auto;align-items:center;gap:16px;margin-bottom:22px;display:grid}.search-control,.select-control{color:#5c6674;background:#fff;border:1.5px solid #bdc4cd;border-radius:12px;align-items:center;min-height:56px;padding:0 15px;display:flex}.search-control input,.select-control select{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-width:0;height:54px;padding:0 12px}.select-control select{appearance:none;cursor:pointer}.text-size-control{border:1.5px solid var(--border);border-radius:12px;align-items:center;gap:8px;min-height:56px;padding:6px 8px 6px 15px;display:flex}.text-size-control>span{margin-right:8px}.text-size-control button{color:#47505a;background:#fff;border:1px solid #c9ced5;border-radius:9px;min-width:50px;height:40px;font-weight:800}.text-size-control button[aria-pressed=true]{background:var(--coral);border-color:var(--coral);color:#fff}.text-size--small{--table-scale:.93}.text-size--normal{--table-scale:1}.text-size--large{--table-scale:1.12}.table-shell{border:1px solid #dfcfae;border-radius:14px;overflow:auto}.records-table{border-collapse:separate;border-spacing:0;font-size:calc(1rem * var(--table-scale,1));width:100%;min-width:1060px}.records-table th{background:var(--cream);color:#1e2430;text-align:left;vertical-align:middle;border-bottom:1px solid #dfcfae;padding:15px 18px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1em}.records-table td{color:#192335;vertical-align:middle;padding:17px 18px;line-height:1.45}.record-row:not(:last-child) td{border-bottom:1px solid #c9aaac59}.participant-cell{align-items:center;gap:15px;min-width:190px;display:flex}.participant-cell>div{display:grid}.participant-cell strong{font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1.1em}.participant-cell span:not(.group-flower):not(.group-spacer){color:#3f4751}.group-flower{color:var(--ink);flex:0 0 55px;justify-content:center;align-items:center;width:55px;height:55px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1rem;font-weight:800;display:inline-flex;position:relative}.group-flower:before{content:"";background:#ffbdca;border:2px solid #e45d76;border-radius:48% 52% 46% 54%/55% 42% 58% 45%;position:absolute;inset:5px;transform:rotate(45deg)}.group-flower:after{content:"";background:#ffe3e8;border:1px solid #e45d76;border-radius:50%;position:absolute;inset:10px}.group-flower span{z-index:1;position:relative}.group-spacer{flex:0 0 55px;width:55px}.number-cell{font-variant-numeric:tabular-nums}.record-cards,.admin-record-cards{display:none}.result-count{color:#59636d;margin:18px 2px 0}.empty-state,.loading-state{border-radius:var(--radius);color:var(--ink-soft);text-align:center;border:1px dashed #b9c6cf;justify-content:center;align-items:center;min-height:180px;padding:28px;display:flex}.empty-state{flex-direction:column}.empty-state h3{margin-bottom:8px}.empty-state p{margin:0}.loading-state{gap:12px}.spinner{border:4px solid #dce9f3;border-top-color:var(--coral);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--ink:#302238;--ink-soft:#68646b;--green:#738c6e;--green-light:#edf2e9;--coral:#7c9476;--coral-dark:#5f765b;--pink:#fffaf8;--pink-border:#edd8d2;--blue:#fffdfb;--blue-border:#e9ded9;--cream:#fff9f5;--border:#e8ded9;--shadow:0 18px 44px #4a36411c;background:#fffdf9}body{background:#fff9f6}.public-header{background:#fffdf9fa;border-bottom:1px solid #e8cda8;height:100px;padding-left:max(62px,50% - 660px);padding-right:max(62px,50% - 660px)}.public-header .brand{color:#39213a;letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,2.6vw,2.75rem);font-weight:500}.public-header .flower-mark{flex-basis:64px;width:64px;height:72px}.public-nav{gap:24px}.public-nav a,.public-nav button{color:#3f3341;padding:0 18px;font-size:1.05rem;font-weight:500}.public-nav a svg,.public-nav>button:not(.nav-login) svg{display:none}.public-nav .nav-login{color:#3f3341;background:0 0;border:1.5px solid #789073;border-radius:9px;height:50px;margin-left:8px}.public-nav .nav-login:hover{color:#31452f;background:#edf2e9}.public-nav .nav-login svg{display:none}.hero{background-color:#fffdf9;background-image:url(/hero-botanical.png);background-position:100%;background-size:cover;min-height:420px}@keyframes botanical-breathe{0%{background-position:100%}to{background-position:48%}}.hero:before,.hero:after,.hero__glow,.hero__sparkles{display:none}.hero__content{background:0 0;width:min(1320px,100% - 120px);margin:0 auto;padding:76px 0 90px}.hero h1{color:#39213a;letter-spacing:-.045em;max-width:780px;text-shadow:none;margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.65rem,5.4vw,5.35rem);font-weight:400;line-height:1.02}.hero p{color:#37353d;max-width:650px;margin-bottom:30px;font-size:1.15rem;line-height:1.5}.hero .primary-button{background:#789073;border-color:#789073;border-radius:11px;min-height:68px;padding:14px 28px;box-shadow:0 10px 20px #53704f38}.hero .primary-button:hover{background:#5f765b;border-color:#5f765b}.records-section{background:#fffefcfa;border:0;border-radius:24px;width:calc(100% - 120px);max-width:1320px;margin-top:-26px;padding:28px 30px 36px;box-shadow:0 16px 42px #5b3f4a1f}.record-toolbar{grid-template-columns:minmax(310px,.9fr) minmax(280px,.72fr) 1fr;gap:32px;margin-bottom:24px}.search-control,.select-control{border:1.5px solid #d8d3d0;border-radius:10px;min-height:54px}.text-size-control{border:1.5px solid #d8d3d0;border-radius:10px;justify-self:end;min-height:54px;padding:5px 8px}.text-size-control>span{display:none}.text-size-control button{border:0;border-radius:50%;min-width:42px}.text-size-control button[aria-pressed=true]{color:#39213a;background:#f5ddda}.table-shell{border:1px solid #ead8d3;border-radius:13px}.records-table{min-width:1100px}.records-table th{color:#39213a;background:#f9e7e4;border-bottom-color:#ead8d3;padding:13px 18px;font-size:.94em;font-weight:750}.records-table td{color:#313342;padding:14px 18px;background:#fffdfb!important;border-bottom-color:#eadfda!important}.records-table th:not(:last-child),.records-table td:not(:last-child){border-right:1px solid #eadfda}.records-table:not(.records-table--admin) th:first-child{width:27%}.records-table:not(.records-table--admin) th:nth-child(2){text-align:center;width:10%}.records-table:not(.records-table--admin) th:nth-child(3){width:19%}.records-table:not(.records-table--admin) th:nth-child(4){text-align:center;width:18%}.records-table:not(.records-table--admin) th:nth-child(5){text-align:center;width:12%}.records-table:not(.records-table--admin) th:nth-child(6){text-align:center;width:14%}.records-table:not(.records-table--admin) td:nth-child(2),.records-table:not(.records-table--admin) td:nth-child(4),.records-table:not(.records-table--admin) td:nth-child(5),.records-table:not(.records-table--admin) td:nth-child(6){text-align:center}.records-table:not(.records-table--admin) .participant-cell{min-width:0}.records-table:not(.records-table--admin) .group-flower,.records-table:not(.records-table--admin) .group-spacer{display:none}.records-table:not(.records-table--admin) .participant-cell strong{font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:1em;font-weight:500}.public-kk-cell{font-weight:500}.public-footer .brand{color:#39213a;font-family:Georgia,Times New Roman,serif;font-weight:500}@media (width<=1050px){.public-header{padding-left:28px;padding-right:28px}.hero__content,.records-section{width:calc(100% - 56px)}.record-toolbar{grid-template-columns:1fr 1fr}.text-size-control{grid-column:1/-1}}@media (width<=760px){.public-header{height:76px;padding:0 18px}.public-header .brand{font-size:1.55rem}.public-header .flower-mark{flex-basis:46px;width:46px;height:52px}.public-nav{background:#fffdf9;gap:5px}.public-nav .nav-login{background:0 0;border-radius:9px}.hero{background-position:62%;min-height:520px}.hero__content{background:linear-gradient(90deg,#fffdf9fa 0%,#fffdf9e6 57%,#fffdf914 100%);width:100%;padding:58px 18px 145px}.hero h1{max-width:560px;font-size:clamp(2.85rem,13vw,4.1rem)}.hero p{max-width:420px;font-size:1rem}.hero .primary-button{min-height:58px;padding:12px 20px}.records-section{border:0;border-radius:22px 22px 0 0;width:100%;margin-top:-38px;padding:20px 16px 28px}.record-toolbar{grid-template-columns:1fr;gap:12px}.text-size-control{grid-column:auto;justify-self:stretch}.record-card--pink,.record-card--blue{background:#fffdfb;border-color:#ead8d3}}@media (prefers-reduced-motion:reduce){.hero{animation:none}}.notice{border-radius:11px;margin-bottom:18px;padding:13px 16px}.notice--error{color:#8c1630;background:#fff0f1;border:1px solid #ef9ba7}.notice--success{color:#245e2c;background:#edf8ee;border:1px solid #a7d4ac}.public-footer{background:#f0f8eb;border-top:1px solid #d4e3cf;justify-content:space-between;align-items:center;min-height:180px;padding:36px max(28px,50% - 680px);display:flex}.public-footer p{color:#4d5c51;margin:4px 0 0 60px}.public-footer>strong{color:var(--green);font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:clamp(1.45rem,2vw,2rem)}.login-page{background:#fff;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-art{background:#effaff url(/garden-hero-no-character.png) 50%/cover no-repeat;flex-direction:column;justify-content:space-between;padding:42px 7vw 64px;display:flex}.login-art>div{max-width:600px}.login-art h1{margin-bottom:12px;font-size:clamp(3rem,5vw,5rem)}.login-art p{color:#344251;font-size:1.4rem}.login-panel{justify-content:center;align-items:center;padding:76px clamp(28px,6vw,90px);display:flex;position:relative}.back-link{color:#315b8d;background:0 0;border:0;min-height:48px;padding:0;font-weight:700;position:absolute;top:24px;left:32px}.login-form{gap:22px;width:100%;max-width:500px;display:grid}.login-form h2{margin-bottom:8px;font-size:clamp(2.2rem,3vw,3.25rem)}.login-form>div>p,.login-help{color:var(--ink-soft)}.login-help{text-align:center;margin:0;font-size:.95rem}.remember-me-control{cursor:pointer;align-items:flex-start;gap:11px;width:fit-content;display:flex}.remember-me-control input{accent-color:#8e4d78;flex:none;width:19px;height:19px;margin:2px 0 0}.remember-me-control span{gap:2px;display:grid}.remember-me-control strong{color:var(--ink);font-size:.96rem}.remember-me-control small{color:var(--ink-soft);font-size:.82rem}.field{gap:7px;min-width:0;display:grid}.field__label{color:#171d2a;font-family:Trebuchet MS,Segoe UI,sans-serif;font-weight:800}.field input,.field select,.field textarea{color:var(--ink);resize:vertical;background:#fff;border:1.5px solid #bfc6ce;border-radius:9px;outline:0;width:100%;min-height:52px;padding:11px 13px}.field small{color:#616b77}.field--error input{border-color:#d83955}.app-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.admin-page{background:#fff;min-height:100vh}.admin-header{height:76px;padding:0 22px}.account-button{text-align:left;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:38px auto;align-items:center;min-height:54px;padding:5px 8px;display:grid}.account-button svg{border:1px solid #b8bec5;border-radius:50%;grid-row:1/span 2;width:36px;height:36px;padding:7px}.account-button span{font-weight:700}.account-button small{color:#67717c}.admin-shell{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.admin-sidebar{background:#fbfdfe;border-right:1px solid #dfe4e7;flex-direction:column;justify-content:space-between;padding:28px 14px 24px;display:flex}.admin-sidebar nav{gap:8px;display:grid}.admin-sidebar nav button,.logout-button{color:#202832;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 14px;font-weight:700;display:flex}.admin-sidebar nav button.active{color:var(--coral-dark);background:#ffe9ed}.logout-button{color:#b22943;border-top:1px solid #dfe4e7;border-radius:0}.admin-main{background:#fff;min-width:0;padding:38px clamp(24px,3.5vw,54px) 60px}.admin-view{max-width:1320px;margin:0 auto}.admin-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.admin-title-row h1,.summary-view h1{letter-spacing:-.04em;margin-bottom:7px;font-size:clamp(2.6rem,4vw,4.4rem)}.admin-title-row p,.summary-view p{color:var(--ink-soft);font-size:1.12rem}.admin-title-actions{gap:10px;min-width:230px;display:grid}.admin-toolbar{grid-template-columns:minmax(260px,1fr) minmax(220px,.55fr);max-width:760px}.records-table--admin{min-width:1080px}.records-table--admin td{padding:14px 13px}.row-actions{gap:7px;display:grid}.inline-field{flex-wrap:wrap;align-items:center;gap:5px;max-width:100%;display:inline-flex;position:relative}.inline-field__button{color:inherit;font:inherit;font-weight:inherit;max-width:calc(100% + 8px);text-align:inherit;background:0 0;border:1px dashed #0000;border-radius:7px;align-items:center;gap:5px;margin:-4px;padding:4px;display:inline-flex}.inline-field__button svg{color:#3382d9;opacity:0;flex:none;transition:opacity .15s}.inline-field__button:hover,.inline-field__button:focus-visible{background:#ffffffb8;border-color:#69a5df;outline:none}.inline-field__button:hover svg,.inline-field__button:focus-visible svg{opacity:1}.inline-field__input{color:var(--ink);font:inherit;background:#fff;border:2px solid #3981e3;border-radius:7px;width:100%;min-width:85px;max-width:100%;min-height:38px;padding:7px 9px}textarea.inline-field__input{resize:vertical;min-width:130px}.inline-field--editing{width:100%;min-width:100px;display:flex}.inline-field small{color:#596775;width:100%;font-size:.72rem;font-weight:700;display:block}.inline-field--saved small{color:#168057}.inline-field--error small{color:#c22b45}.icon-text-button{background:#fff;border:1.5px solid;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:6px 10px;font-weight:700;display:flex}.icon-text-button--edit{color:#1d66c7;border-color:#3981e3}.icon-text-button--danger{color:#c22b45;border-color:#e34e64}.summary-view{background:#f1f9ff;border:1px solid #cfe3f3;border-radius:20px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:380px;padding:clamp(28px,5vw,72px);display:flex}.summary-view p{max-width:650px}.drawer-layer,.dialog-layer{z-index:100;position:fixed;inset:0}.drawer-backdrop{background:#0f182a38;border:0;width:100%;position:absolute;inset:0}.drawer{background:#fff;grid-template-rows:auto 1fr auto;width:min(92vw,540px);max-width:540px;height:100%;display:grid;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-16px 0 40px #141f2e2e}.drawer>header{border-bottom:1px solid #e0e4e7;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.drawer>header h2{margin:0;font-size:1.8rem}.close-button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.drawer__body{padding:24px 28px 36px;overflow-y:auto}.drawer>footer{background:#fff;border-top:1px solid #e0e4e7;grid-template-columns:1fr 1.2fr;gap:12px;padding:20px 28px;display:grid}.drawer-form{gap:18px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dialog-layer{background:#0f182a73;justify-content:center;align-items:center;padding:24px;display:flex}.confirm-dialog{box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;width:100%;max-width:470px;padding:32px}.confirm-dialog__icon{color:#c72e49;background:#fff0f2;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:16px;display:inline-flex}.confirm-dialog h2{font-size:1.7rem}.confirm-dialog p{color:var(--ink-soft)}.confirm-dialog>div:last-child{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.group-move-field{text-align:left;gap:8px;margin-top:20px;display:grid}.group-move-field span{font-weight:800}.group-move-field select{color:var(--ink);font:inherit;background:#fff;border:1.5px solid #cfd6dc;border-radius:10px;width:100%;min-height:50px;padding:8px 12px}.group-delete-warning{background:#fff6df;border:1px solid #ecd28c;border-radius:10px;padding:12px;font-weight:700;color:#735711!important}.groups-list,.users-list{border:1px solid #d8dee3;border-radius:14px;overflow:hidden}.groups-list__head,.group-row,.users-list__head,.user-row{grid-template-columns:1fr 1fr .7fr;align-items:center;gap:18px;min-height:66px;padding:12px 22px;display:grid}.groups-list__head,.users-list__head{background:var(--cream);font-family:Trebuchet MS,Segoe UI,sans-serif;font-weight:800}.groups-list__head,.group-row{grid-template-columns:minmax(180px,1fr) minmax(130px,.55fr) minmax(220px,.7fr)}.group-row:not(:last-child),.user-row:not(:last-child){border-bottom:1px solid #dfe3e7}.group-row__name,.group-row__actions{align-items:center;gap:12px;display:flex}.group-row__actions{justify-content:flex-end}.group-badge{text-align:center;border:2px solid;border-radius:50%;flex:0 0 52px;justify-content:center;align-items:center;height:52px;padding:4px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:.95rem;font-weight:900;display:inline-flex}.group-badge--pink{background:var(--pink);border-color:var(--pink-border);color:#9b2741}.group-badge--blue{background:var(--blue);border-color:var(--blue-border);color:#235f8d}.groups-empty{color:var(--ink-soft);text-align:center;flex-direction:column;align-items:center;gap:5px;padding:42px 20px;display:flex}.groups-empty strong{color:var(--ink);font-size:1.2rem}.role-label{border-radius:999px;justify-content:center;width:max-content;padding:7px 13px;font-weight:700;display:inline-flex}.role-label--superadmin{color:#2e6331;background:#e6f2e4}.role-label--admin{color:#235d9b;background:#e9f3ff}.malaysia-time-badge{color:#235f8d;white-space:nowrap;background:#eef8ff;border:1px solid #bfddfa;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-weight:800;display:inline-flex}.weekly-explainer{background:#fff9e9;border:1px solid #eed898;border-radius:16px;align-items:flex-start;gap:16px;margin-bottom:24px;padding:20px;display:flex}.weekly-explainer__icon{color:#805b00;background:#ffedb6;border-radius:12px;flex:0 0 52px;justify-content:center;align-items:center;height:52px;display:flex}.weekly-explainer strong{margin-bottom:5px;font-size:1.12rem;display:block}.weekly-explainer p{color:#4f4a3f;margin:0}.weekly-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:22px;display:grid}.settings-card,.run-history{border:1px solid #d8dee3;border-radius:17px;padding:24px}.settings-card>header{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.settings-card>header>span{color:var(--coral-dark);background:#ffe9ed;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;height:40px;font-weight:900;display:flex}.settings-card h2,.run-history h2{margin:0 0 5px;font-size:1.45rem}.settings-card header p,.run-history header p{color:var(--ink-soft);margin:0}.schedule-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.schedule-preview{color:#274963;background:#eef8ff;border:1px solid #c7e0f3;border-radius:11px;align-items:center;gap:10px;margin:18px 0;padding:13px 14px;display:flex}.settings-card>.primary-button{justify-content:center;width:100%}.logo-settings-card{background:#fff;border:1px solid #e0d5dc;border-radius:20px;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);align-items:center;gap:30px;max-width:820px;padding:28px;display:grid}.logo-preview{background:linear-gradient(145deg,#fff8fb,#f2f8f4);border:1px dashed #cfb7c5;border-radius:17px;justify-content:center;align-items:center;min-height:210px;padding:28px;display:flex}.logo-preview>img{object-fit:contain;max-width:100%;max-height:150px}.logo-upload-copy{flex-direction:column;align-items:flex-start;gap:13px;display:flex}.logo-upload-copy h2,.logo-upload-copy p{margin:0}.logo-upload-copy p,.logo-upload-copy small{color:var(--ink-soft)}.logo-file-button{color:#6f345c;cursor:pointer;background:#f8f1f5;border:1px solid #d8c4d0;border-radius:12px;align-items:center;gap:9px;min-height:46px;padding:10px 16px;font-weight:800;display:inline-flex}.logo-file-button:focus-within{outline-offset:2px;outline:3px solid #8e4d7840}.logo-file-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.logo-upload-copy .primary-button{justify-content:center;min-width:180px;margin-top:5px}@media (width<=720px){.logo-settings-card{grid-template-columns:1fr;padding:20px}.logo-preview{min-height:160px}}.skip-list,.run-list{gap:10px;display:grid}.skip-row,.run-row{border:1px solid #e0e4e7;border-radius:11px;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 12px 10px 15px;display:flex}.skip-row--active{background:#fff3f5;border-color:#f3b9c4}.skip-row>div,.run-row>div{gap:2px;display:grid}.skip-row span,.run-row span{color:#64707b;font-size:.92rem}.skip-button{color:#b92740;white-space:nowrap;background:#fff;border:1.5px solid #d73e58;border-radius:9px;min-height:42px;padding:7px 12px;font-size:.91rem;font-weight:800}.skip-button--undo{color:#245f99;background:#eef8ff;border-color:#4a8ac9}.run-history{margin-top:22px}.run-history>header{margin-bottom:18px}.run-row{padding:14px 16px}.run-status{text-align:center;white-space:nowrap;background:#e9f6e7;border-radius:999px;padding:7px 12px;font-weight:800;color:#2b6730!important}.run-status--skipped{background:#fff1f3;color:#ad2b42!important}.history-empty{color:#5b6670;text-align:center;background:#f7f9fa;border:1px dashed #cbd2d8;border-radius:12px;padding:24px}.option-field{border:1px solid #d6dce1;border-radius:13px;gap:9px;min-width:0;margin:0;padding:15px;display:grid}.option-field legend{color:#171d2a;padding:0 6px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-weight:800}.option-field>small{color:#616b77}.option-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:230px;padding:2px;display:grid;overflow-y:auto}.option-choice{color:#28313c;cursor:pointer;background:#fff;border:1.5px solid #cbd2d8;border-radius:10px;align-items:center;gap:9px;min-height:48px;padding:8px 10px;display:flex}.option-choice:hover{border-color:#7ca6d8}.option-choice--selected{color:#174f87;background:#eef8ff;border-color:#4e8bcf;font-weight:800}.option-choice input{opacity:0;width:1px;height:1px;position:absolute}.option-choice:has(input:focus-visible){outline:2px solid #3478db;box-shadow:0 0 0 4px #3478db29}.option-choice__box{border:2px solid #a9b2bb;border-radius:6px;flex:0 0 26px;justify-content:center;align-items:center;height:26px;font-size:.82rem;font-weight:900;display:flex}.option-choice--selected .option-choice__box{color:#fff;background:#3478db;border-color:#3478db}.option-choice__order{color:#174f87;white-space:nowrap;background:#d9edff;border-radius:999px;margin-left:auto;padding:3px 7px;font-size:.72rem;font-weight:900}.option-field__count{color:#58636e;background:#f6f8fa;border-radius:8px;padding:8px 10px;font-size:.9rem}.option-field__empty{color:#68737e;margin:6px 0}.option-admin-note{color:#5e4b17;background:#fff9e9;border:1px solid #eed898;border-radius:13px;align-items:center;gap:12px;margin-bottom:22px;padding:15px 17px;display:flex}.option-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.option-admin-card{border:1px solid #d8dee3;border-radius:16px;overflow:hidden}.option-admin-card>header{background:var(--cream);border-bottom:1px solid #e4dfd3;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.option-admin-card h2{margin:0;font-size:1.35rem}.option-admin-card>header span{color:#615b50;background:#fff;border:1px solid #ddd5c4;border-radius:999px;padding:6px 10px;font-size:.88rem;font-weight:800}.option-add-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px;display:grid}.option-add-form input,.option-admin-row input{border:1.5px solid #bfc6ce;border-radius:9px;width:100%;min-height:48px;padding:9px 12px}.option-add-form .primary-button{min-height:48px}.option-admin-list{border-top:1px solid #e4e8eb;display:grid}.option-admin-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:9px 14px 9px 18px;display:grid}.option-admin-row:not(:last-child){border-bottom:1px solid #e7eaed}.option-admin-row>span{overflow-wrap:anywhere}.option-row-actions{align-items:center;gap:7px;display:flex}.option-icon-button,.option-confirm-delete{color:#46515c;background:#fff;border:1px solid #cfd5da;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:6px 9px;font-size:.86rem;font-weight:800;display:inline-flex}.option-icon-button--edit{color:#1d66c7;border-color:#78a9df}.option-icon-button--danger,.option-confirm-delete{color:#b6253e;border-color:#e58b9a}.option-confirm-delete{background:#fff0f2}.option-admin-empty{color:#69747e;text-align:center;margin:0;padding:25px}.participant-plans{gap:14px;display:grid}.participant-plans>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.participant-plans h3{margin-bottom:4px;font-size:1.2rem}.participant-plans header p{color:#616b77;margin:0;font-size:.9rem}.plan-add-button{flex:none;min-height:44px;padding:8px 13px}.participant-plans__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.participant-plan-card{background:#f8fbfd;border:1px solid #d6dfe5;border-radius:13px;gap:13px;padding:15px;display:grid}.participant-plan-card__heading{justify-content:space-between;align-items:center;display:flex}.participant-plan-card__heading strong{color:#273642;font-size:1rem}.plan-summary{gap:8px;margin:0;display:grid}.plan-summary>div{background:#fff;border:1px solid #e0e5e9;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.plan-summary dt{color:#59636e;font-size:.88rem}.plan-summary dd{margin:0;font-weight:800}.plan-summary__editable{align-items:flex-start!important}.plan-summary__editable dd{justify-items:end;gap:4px;display:grid}.plan-summary__editable input{text-align:center;background:#fff;border:1.5px solid #4e8bcf;border-radius:8px;max-width:130px;min-height:42px;padding:7px 10px;font-weight:800}.plan-summary__editable .money-input{align-items:center;gap:6px;display:flex}.plan-summary__editable .money-input span{color:#34404a;font-size:.86rem}.plan-summary__editable small{color:#5f6b76;font-size:.72rem}.plan-empty{color:#626d77;background:#fff;border:1px dashed #c4cdd4;border-radius:9px;margin:0;padding:13px;font-size:.9rem}.loan-plan-admin{border:1px solid #d8dee3;border-radius:16px;overflow:hidden}.loan-plan-admin>header{background:var(--cream);border-bottom:1px solid #e4dfd3;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.loan-plan-admin>header h2{margin:0;font-size:1.35rem}.loan-plan-admin>header span{background:#fff;border:1px solid #ddd5c4;border-radius:999px;padding:6px 10px;font-size:.88rem;font-weight:800}.loan-plan-form{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.7fr) minmax(160px,.7fr) auto;align-items:end;gap:14px;padding:20px;display:grid}.loan-plan-list{border-top:1px solid #e4e8eb}.loan-plan-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:72px;padding:13px 18px;display:grid}.loan-plan-row:not(:last-child){border-bottom:1px solid #e7eaed}.loan-plan-row__details{grid-template-columns:minmax(160px,1fr) minmax(100px,.35fr) minmax(120px,.4fr);align-items:center;gap:8px 18px;display:grid}.loan-plan-row__details small{color:#68737e;grid-column:1/-1}.loan-plan-edit-fields{grid-template-columns:minmax(150px,1fr) minmax(120px,.5fr) minmax(120px,.5fr);gap:10px;display:grid}.loan-plan-edit-fields input{border:1.5px solid #bfc6ce;border-radius:9px;width:100%;min-height:46px;padding:8px 11px}@media (width<=1050px){.hero{background-position:60%}.record-toolbar{grid-template-columns:1fr 1fr}.text-size-control{grid-column:1/-1;justify-self:end}.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-bottom:1px solid #dfe4e7;border-right:0;flex-direction:column;gap:12px;padding:10px 20px;overflow:visible}.admin-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));width:100%;display:grid}.admin-sidebar nav button,.logout-button{white-space:normal;justify-content:center;width:100%}.logout-button{border-top:1px solid #dfe4e7;border-left:0}.weekly-grid,.option-admin-grid{grid-template-columns:1fr}}@media (width<=760px){:root{--content:calc(100% - 36px)}body{font-size:18px}.public-header{height:76px;padding:0 18px}.public-header .brand{font-size:1.55rem}.public-header .flower-mark{flex-basis:48px;width:48px;height:48px}.menu-button{display:flex}.public-nav{border-bottom:1px solid var(--border);box-shadow:var(--shadow);background:#fff;height:auto;padding:12px 18px 18px;display:none;position:absolute;top:75px;left:0;right:0}.public-nav--open{display:grid}.public-nav a,.public-nav button{border:0;border-radius:10px;justify-content:flex-start;min-height:52px;padding:10px 12px}.public-nav a:first-child,.public-nav button:first-child{background:#fff0f3}.public-nav .nav-login{height:52px;margin:5px 0 0}.hero{background-image:none;min-height:0;overflow:hidden}.hero__content{padding:48px 0 30px}.hero h1{letter-spacing:-.04em;font-size:clamp(2.75rem,13vw,4rem)}.hero p{font-size:1.25rem}.hero__content .primary-button{display:none}.hero__mobile-art{object-fit:cover;object-position:right center;width:100%;height:210px;display:block}.records-section{border-left:0;border-right:0;border-radius:22px 22px 0 0;width:100%;margin:-18px 0 40px;padding:28px 18px 34px}.mobile-login-button{background:var(--coral);color:#fff;border:0;border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:52px;margin-bottom:20px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-weight:800;display:flex}.record-toolbar,.admin-toolbar{grid-template-columns:1fr;display:grid}.text-size-control{grid-column:auto;justify-content:space-between;justify-self:stretch}.text-size-control>span{margin-right:auto}.records-section .table-shell{display:none}.record-cards{gap:10px;display:grid}.record-card{border:1.5px solid;border-radius:14px;padding:12px;overflow:hidden}.record-card--pink{background:var(--pink);border-color:var(--pink-border)}.record-card--blue{background:var(--blue);border-color:var(--blue-border)}.record-card__heading{align-items:center;gap:9px;margin-bottom:8px;display:flex}.record-card__heading h3{font-size:calc(1.2rem * var(--table-scale,1));margin:0}.record-card__heading p{font-size:calc(1rem * var(--table-scale,1));margin:0}.record-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:0;display:grid}.record-card dl>div{border-top:1px solid #5a6f852e;min-width:0;padding:8px 0 7px;display:block}.record-card dt{font-size:calc(.76rem * var(--table-scale,1));color:#4a5361;align-items:center;gap:5px;margin:0;font-weight:800;line-height:1.2;display:flex}.record-card dt svg{color:var(--coral);flex:0 0 16px;width:16px;height:16px}.record-card dd{font-size:calc(.93rem * var(--table-scale,1));overflow-wrap:anywhere;margin:4px 0 0 21px;line-height:1.3}.record-card .group-flower,.admin-record-card .group-flower{flex-basis:43px;width:43px;height:43px;font-size:.8rem}.record-card .group-flower:before,.admin-record-card .group-flower:before{inset:4px}.record-card .group-flower:after,.admin-record-card .group-flower:after{inset:8px}.record-card--blue dt svg{color:#3e8de6}.public-footer{align-items:flex-start;gap:28px;display:grid}.public-footer p{margin-left:0}.login-page{display:block}.login-art{background-position:100%;min-height:300px;padding:28px 20px}.login-art>div{display:none}.login-panel{padding:76px 22px 42px}.admin-header{height:70px;padding:0 14px}.admin-header .brand{gap:6px;font-size:1.25rem}.admin-header .flower-mark{flex-basis:42px;width:42px;height:42px}.account-button span{font-size:.9rem}.account-button small{font-size:.75rem}.admin-sidebar{padding:10px 12px}.admin-sidebar nav button{text-align:center;flex-direction:column;align-items:center;gap:5px;min-height:72px;padding:8px 4px;font-size:.85rem;line-height:1.15}.logout-button{min-height:48px}.admin-main{padding:28px 16px 50px}.admin-title-row{gap:18px;display:grid}.admin-title-row h1,.summary-view h1{font-size:2.55rem}.admin-title-actions{grid-template-columns:1fr;min-width:0;display:grid}.admin-view .table-shell{display:none}.admin-record-cards{gap:10px;display:grid}.admin-record-card{border:1.5px solid;border-radius:14px;padding:12px;overflow:hidden}.admin-record-card--pink{background:var(--pink);border-color:var(--pink-border)}.admin-record-card--blue{background:var(--blue);border-color:var(--blue-border)}.admin-record-card__heading{align-items:center;gap:9px;margin-bottom:8px;display:flex}.admin-record-card__heading h3{margin:0;font-size:1.15rem}.admin-record-card__heading p{color:#4f5966;margin:2px 0 0;font-size:.88rem}.admin-record-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:0;display:grid}.admin-record-card dl>div{border-top:1px solid #57687a2e;min-width:0;padding:8px 0 7px;display:block}.admin-record-card dt{color:#505a67;font-size:.76rem;font-weight:700;line-height:1.2}.admin-record-card dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:.92rem;line-height:1.3}.admin-record-card__actions{grid-template-columns:1fr;gap:10px;margin-top:7px;display:grid}.admin-record-card .inline-field,.admin-record-card .inline-field__button{max-width:100%}.admin-record-card dd .inline-field,.admin-record-card dd .inline-field__button{width:100%}.admin-record-card__actions .icon-text-button{min-height:40px}.drawer{width:100%;max-width:none}.drawer>header,.drawer__body,.drawer>footer{padding-left:20px;padding-right:20px}.field-row{grid-template-columns:1fr}.groups-list__head,.users-list__head{display:none}.group-row{grid-template-columns:1fr auto;align-items:center;padding:17px}.group-row__name{grid-column:1}.group-row>span{color:#5d6873;grid-column:1;padding-left:64px}.group-row__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;margin-top:8px;display:grid}.group-row__actions .icon-text-button{min-height:48px}.user-row{grid-template-columns:1fr auto;align-items:start;padding:17px}.user-row>span:nth-child(2){color:#5d6873;grid-column:1}.user-row .role-label{grid-area:1/2/span 2}.malaysia-time-badge{justify-self:start}.weekly-explainer{display:grid}.schedule-fields{grid-template-columns:1fr}.settings-card,.run-history{padding:18px}.option-checklist,.option-add-form{grid-template-columns:1fr}.option-add-form .primary-button{justify-content:center}.option-admin-row{grid-template-columns:1fr;align-items:stretch}.loan-plan-form,.loan-plan-edit-fields,.loan-plan-row__details{grid-template-columns:1fr}.loan-plan-row{grid-template-columns:1fr;align-items:stretch}.loan-plan-form .primary-button{width:100%}.option-row-actions{justify-content:flex-end}.skip-row,.run-row{align-items:stretch;display:grid}.skip-button,.run-status{width:100%}}@media (width<=430px){.brand__text{line-height:1.05}.brand__text small{letter-spacing:.045em;margin-top:4px;font-size:.44em}.public-header .brand{font-size:1.35rem}.hero__content{padding-top:38px}.hero h1{font-size:2.7rem}.hero__date{align-items:flex-start}.record-card dl>div{display:block}.record-card dd{padding-left:0}.drawer>footer,.confirm-dialog>div:last-child{grid-template-columns:1fr}}:root{--ink:#2c2230;--ink-soft:#706370;--green:#4b2347;--green-light:#f2e8ee;--coral:#8e4d78;--coral-dark:#6f365f;--pink:#fbf3f7;--pink-border:#ead3df;--blue:#f6f1f7;--blue-border:#ded2e2;--cream:#faf5f8;--border:#e8dce3;--surface:#fff;--shadow:0 22px 55px #4b23471c;background:#fcfafb;font-family:Plus Jakarta Sans,Segoe UI,Arial,sans-serif}body{color:var(--ink);background:#fcfafb}h1,h2,h3,.brand,.primary-button,.secondary-button,.danger-button,.records-table th,.participant-cell strong,.field__label,.public-footer>strong{font-family:Plus Jakarta Sans,Segoe UI,Arial,sans-serif}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#8e4d7847}.brand{color:#4b2347;letter-spacing:-.025em}.public-header,.admin-header{background:#fcfafbf7;border-bottom-color:#eee3e9;height:92px}.public-nav{align-items:center;gap:8px}.public-nav a,.public-nav button{color:#514350;border:0;align-self:center;height:48px;padding:0 18px;font-weight:600}.public-nav a:first-child,.public-nav button:first-child{color:#4b2347;border:0}.public-nav .nav-login{color:#fff;background:#8e4d78;border:1px solid #8e4d78;border-radius:24px;height:48px;padding:0 24px}.public-nav .nav-login:hover{background:#6f365f}.hero{background:linear-gradient(#fcfafb 0%,#f8f0f5 100%);border:0;min-height:385px;overflow:hidden}.hero:before,.hero:after{content:"";border:2px solid #8e4d781a;border-radius:46% 54% 60% 40%;width:330px;height:330px;position:absolute;top:28px;transform:rotate(26deg)}.hero:before{left:-180px}.hero:after{right:-190px;transform:rotate(-32deg)}.hero__content{text-align:center;z-index:1;flex-direction:column;align-items:center;padding:74px 0 86px;display:flex;position:relative}.hero h1{color:#4b2347;letter-spacing:-.055em;font-size:clamp(3rem,4.5vw,4.65rem);font-weight:800}.hero p{color:#706370;font-size:1.25rem}.hero__date svg{color:#8e4d78}.hero__mobile-art{display:none!important}.primary-button{background:#8e4d78;border-color:#8e4d78;border-radius:24px;box-shadow:0 9px 22px #8e4d7838}.primary-button:hover{background:#6f365f;border-color:#6f365f;transform:translateY(-1px)}.secondary-button{color:#6f365f;border-color:#8e4d78}.records-section{border-color:#eee3e9;border-radius:28px;max-width:1360px;margin-top:-55px;padding:26px 34px 38px}.search-control,.select-control,.text-size-control{border-color:#e3d6dd;border-radius:14px}.search-control:focus-within,.select-control:focus-within{border-color:#8e4d78;box-shadow:0 0 0 4px #8e4d781f}.text-size-control button[aria-pressed=true]{background:#8e4d78;border-color:#8e4d78}.table-shell{border-color:#eadde4;border-radius:16px}.records-table th{color:#4b2347;background:#f6eef2;border-bottom-color:#e8dce3}.records-table td{color:#392d3b;padding-top:14px;padding-bottom:14px}.record-row--pink td{background:#fffafd}.record-row--blue td{background:#f8f4f8}.group-flower:before{background:#d9a9bf;border-color:#8e4d78}.group-flower:after{background:#f6e7ee;border-color:#b87398}.group-flower--blue:before{background:#cbb7d0;border-color:#7d5d85}.group-flower--blue:after{background:#f1eaf3;border-color:#92739a}.public-footer{background:#f6eef2;border-top-color:#e8dce3}.login-page{background:#fcfafb}.login-art{color:#4b2347;background:radial-gradient(circle at 20% 20%,#c98aa642,#0000 30%),radial-gradient(circle at 80% 76%,#8e4d7824,#0000 31%),linear-gradient(145deg,#f8eef3,#efe3eb)}.login-art h1{color:#4b2347}.login-art p{color:#706370}.login-panel{background:#fcfafb}.back-link{color:#7b416b}.login-form{box-shadow:var(--shadow);background:#fff;border:1px solid #eee3e9;border-radius:28px;max-width:540px;padding:38px}.field input,.field select,.field textarea,.loan-plan-edit-fields input{border-color:#dfd1d9;border-radius:12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8e4d78;box-shadow:0 0 0 4px #8e4d781f}.admin-page,.admin-main{background:#fcfafb}.admin-header{height:82px}.admin-shell{grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 82px)}.admin-sidebar{background:#f8f1f5;border-right-color:#e8dce3;padding:30px 16px 24px}.admin-sidebar nav button,.logout-button{color:#554552;border-radius:14px}.admin-sidebar nav button.active{color:#fff;background:#8e4d78;box-shadow:0 8px 18px #8e4d782e}.logout-button{color:#8a3654;border-top-color:#e2d4dc}.admin-title-row h1,.summary-view h1{color:#4b2347}.settings-card,.run-history,.summary-card,.option-admin-card,.loan-plan-card,.drawer,.confirm-dialog{border-color:#e8dce3;box-shadow:0 14px 36px #4b234712}.inline-field__button svg{color:#8e4d78}@media (prefers-reduced-motion:no-preference){button,a,input,select,textarea{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}}@media (width<=1050px){.admin-shell{grid-template-columns:1fr}}@media (width<=760px){.public-header{height:76px}.public-nav{background:#fcfafb;align-items:stretch}.public-nav a:first-child,.public-nav button:first-child{background:#f6eef2}.public-nav .nav-login{border-radius:14px}.menu-button{color:#4b2347;border-color:#e3d6dd}.hero{min-height:310px}.hero:before,.hero:after{width:210px;height:210px}.hero__content{padding:52px 0 78px}.hero h1{font-size:clamp(2.55rem,12vw,3.65rem)}.records-section{border:1px solid #eee3e9;border-radius:24px 24px 0 0;margin:-38px 0 36px;padding:20px 16px 28px}.mobile-login-button{background:#8e4d78;border-radius:14px}.record-card{border-radius:16px}.record-card--pink{background:#fffafd;border-color:#ead3df}.record-card--blue{background:#f8f4f8;border-color:#ded2e2}.record-card dt svg{color:#8e4d78}.login-page{grid-template-columns:1fr}.login-art{min-height:280px;padding:28px 22px 46px}.login-panel{padding:70px 18px 32px}.login-form{border-radius:22px;padding:26px 20px}.admin-header{height:76px}.admin-shell{min-height:calc(100vh - 76px)}.admin-sidebar{background:#f8f1f5}}.hero{isolation:isolate;background-color:#f8eee8;background-image:linear-gradient(90deg,#fffaf714,#fffaf700 58%),url(/hero-botanical.png);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:590px}.hero:before{filter:blur(1px);background:linear-gradient(135deg,#8e4d7821,#cea6820f);border:1px solid #a4755b2e;border-radius:48% 52% 60% 40%;width:580px;height:460px;animation:12s ease-in-out infinite alternate hero-ribbon;top:105px;left:-230px}.hero:after{border-color:#b5885e3d;width:260px;height:260px;animation:15s ease-in-out -4s infinite alternate-reverse hero-ribbon;top:-140px;right:35%}.hero__content{text-align:left;align-items:flex-start;margin:0 auto;padding:106px 0 132px}.hero__content>*{max-width:660px}.hero__eyebrow{color:#754364;letter-spacing:.13em;text-transform:uppercase;background:#fffbf8c7;border:1px solid #8e4d782e;border-radius:999px;align-items:center;margin-bottom:22px;padding:9px 16px;font-size:.83rem;font-weight:800;display:inline-flex}.hero h1{color:#4b2347;text-shadow:0 2px 28px #fffaf7b8;max-width:640px;font-size:clamp(3.35rem,5vw,5.35rem);line-height:.98}.hero p{color:#5d4b58;max-width:590px;font-size:1.18rem;line-height:1.7}.hero__date{color:#67545f;justify-content:flex-start}.hero__glow{filter:blur(12px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.hero__glow--one{background:#f5cfb585;width:140px;height:140px;animation:8s ease-in-out infinite glow-float;top:42px;left:8%}.hero__glow--two{background:#ab6f9438;width:190px;height:190px;animation:11s ease-in-out -3s infinite reverse glow-float;bottom:70px;left:42%}.hero__sparkles span{opacity:.62;background:#c7a06e;border-radius:50%;width:7px;height:7px;animation:6s ease-in-out infinite sparkle-float;position:absolute;top:19%;left:7%;box-shadow:0 0 14px #c7a06eb8}.hero__sparkles span:nth-child(2){animation-delay:-1.5s;top:15%;left:43%}.hero__sparkles span:nth-child(3){animation-delay:-3s;top:74%;left:37%}.hero__sparkles span:nth-child(4){animation-delay:-4.5s;top:82%;left:16%}@keyframes hero-ribbon{0%{transform:translate(0,0)rotate(20deg)}to{transform:translate(22px,-12px)rotate(28deg)}}@keyframes glow-float{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(18px,-18px)scale(1.08)}}@keyframes sparkle-float{0%,to{opacity:.25;transform:translateY(0)scale(.7)}50%{opacity:.85;transform:translateY(-18px)scale(1.15)}}@media (width<=900px){.hero{background-position:62%;min-height:650px}.hero:after{right:8%}.hero__content{background:linear-gradient(90deg,#fffaf7ed 0%,#fffaf7c4 62%,#fffaf70f 100%);width:72%;margin:0;padding:90px max(24px,50% - 420px) 145px}}@media (width<=760px){.hero{background-position:67%;min-height:680px}.hero__content{background:linear-gradient(#fffaf7f7 0%,#fffaf7db 56%,#fffaf71f 100%);width:100%;padding:52px 18px 255px}.hero__eyebrow{letter-spacing:.09em;margin-bottom:16px;font-size:.7rem}.hero h1{max-width:520px;font-size:clamp(2.65rem,12vw,3.7rem)}.hero p{max-width:500px;font-size:1.04rem;line-height:1.55}.hero__date{font-size:.92rem}.hero__content .primary-button{display:inline-flex}.records-section{margin-top:-42px}}@media (prefers-reduced-motion:reduce){.hero:before,.hero:after,.hero__glow,.hero__sparkles span{animation:none!important}}.public-page{--ink:#302238;--ink-soft:#68646b;--green:#738c6e;--coral:#7c9476;--coral-dark:#5f765b;--pink:#fffaf8;--pink-border:#edd8d2;--blue:#fffdfb;--blue-border:#e9ded9;--cream:#fff9f5;--border:#e8ded9;--shadow:0 18px 44px #4a36411c;color:#302238;background:#fff9f6}.public-page .public-header{background:#fffdf9fa;border-bottom:1px solid #e8cda8;height:100px;padding-left:max(62px,50% - 660px);padding-right:max(62px,50% - 660px)}.public-page .public-header .brand{color:#39213a;letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,2.6vw,2.75rem);font-weight:500}.public-page .public-header .flower-mark{flex-basis:64px;width:64px;height:72px}.public-page .public-nav{align-items:center;gap:24px}.public-page .public-nav a,.public-page .public-nav button{color:#3f3341;background:0 0;border:0;height:50px;padding:0 18px;font-size:1.05rem;font-weight:500}.public-page .public-nav a svg,.public-page .public-nav>button:not(.nav-login) svg,.public-page .public-nav .nav-login svg{display:none}.public-page .public-nav .nav-login{color:#3f3341;background:0 0;border:1.5px solid #789073;border-radius:9px;margin-left:8px;padding:0 24px}.public-page .public-nav .nav-login:hover{color:#31452f;background:#edf2e9}.public-page .hero{isolation:auto;background:#fffdf9 url(/hero-botanical.png) 100%/cover no-repeat;border:0;min-height:420px;animation:16s ease-in-out infinite alternate botanical-breathe;overflow:hidden}.public-page .hero:before,.public-page .hero:after,.public-page .hero__glow,.public-page .hero__sparkles{display:none!important}.public-page .hero__content{text-align:left;background:0 0;flex-direction:column;align-items:flex-start;width:min(1320px,100% - 120px);margin:0 auto;padding:76px 0 90px;display:flex}.public-page .hero__content>*{max-width:780px}.public-page .hero h1{color:#39213a;letter-spacing:-.045em;max-width:780px;text-shadow:none;margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.65rem,5.4vw,5.35rem);font-weight:400;line-height:1.02}.public-page .hero p{color:#37353d;max-width:650px;margin-bottom:30px;font-size:1.15rem;line-height:1.5}.public-page .hero .primary-button{color:#fff;background:#789073;border:2px solid #789073;border-radius:11px;min-height:68px;padding:14px 28px;box-shadow:0 10px 20px #53704f38}.public-page .hero .primary-button:hover{background:#5f765b;border-color:#5f765b}.public-page .records-section{background:#fffefcfa;border:0;border-radius:24px;width:calc(100% - 120px);max-width:1320px;margin:-26px auto 70px;padding:28px 30px 36px;box-shadow:0 16px 42px #5b3f4a1f}.public-page .record-toolbar{grid-template-columns:minmax(310px,.9fr) minmax(280px,.72fr) 1fr;gap:32px;margin-bottom:24px}.public-page .search-control,.public-page .select-control{border:1.5px solid #d8d3d0;border-radius:10px;min-height:54px}.public-page .search-control:focus-within,.public-page .select-control:focus-within{border-color:#789073;box-shadow:0 0 0 4px #78907321}.public-page .text-size-control{border:1.5px solid #d8d3d0;border-radius:10px;justify-self:end;min-height:54px;padding:5px 8px}.public-page .text-size-control>span{display:none}.public-page .text-size-control button{border:0;border-radius:50%;min-width:42px}.public-page .text-size-control button[aria-pressed=true]{color:#39213a;background:#f5ddda}.public-page .table-shell{border:1px solid #ead8d3;border-radius:13px}.public-page .records-table{min-width:1100px}.public-page .records-table th{color:#39213a;background:#f9e7e4;border-bottom-color:#ead8d3;padding:13px 18px;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:.94em;font-weight:750}.public-page .records-table td{color:#313342;padding:14px 18px;background:#fffdfb!important;border-bottom-color:#eadfda!important}.public-page .records-table th:not(:last-child),.public-page .records-table td:not(:last-child){border-right:1px solid #eadfda}.public-page .records-table th:first-child{width:27%}.public-page .records-table th:nth-child(2){text-align:center;width:10%}.public-page .records-table th:nth-child(3){width:19%}.public-page .records-table th:nth-child(4){text-align:center;width:18%}.public-page .records-table th:nth-child(5){text-align:center;width:12%}.public-page .records-table th:nth-child(6){text-align:center;width:14%}.public-page .records-table td:nth-child(2),.public-page .records-table td:nth-child(4),.public-page .records-table td:nth-child(5),.public-page .records-table td:nth-child(6){text-align:center}.public-page .records-table .participant-cell{min-width:0}.public-page .records-table .group-flower,.public-page .records-table .group-spacer{display:none}.public-page .records-table .participant-cell strong{font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:1em;font-weight:500}.public-page .public-footer{background:#f9eee9;border-top-color:#e6d2c8}.public-page .public-footer .brand,.public-page .public-footer>strong{color:#39213a;font-family:Georgia,Times New Roman,serif;font-weight:500}@media (width<=1050px){.public-page .public-header{padding-left:28px;padding-right:28px}.public-page .hero__content,.public-page .records-section{width:calc(100% - 56px)}.public-page .record-toolbar{grid-template-columns:1fr 1fr}.public-page .text-size-control{grid-column:1/-1}}@media (width<=760px){.public-page .public-header{height:76px;padding:0 18px}.public-page .public-header .brand{font-size:1.55rem}.public-page .public-header .flower-mark{flex-basis:46px;width:46px;height:52px}.public-page .public-nav{background:#fffdf9;align-items:stretch;gap:5px}.public-page .public-nav .nav-login{background:0 0;border-radius:9px}.public-page .hero{background-position:62%;min-height:520px}.public-page .hero__content{background:linear-gradient(90deg,#fffdf9fa 0%,#fffdf9e6 57%,#fffdf914 100%);width:100%;padding:58px 18px 145px}.public-page .hero h1{max-width:560px;font-size:clamp(2.85rem,13vw,4.1rem)}.public-page .hero p{max-width:420px;font-size:1rem}.public-page .hero .primary-button{min-height:58px;padding:12px 20px;display:inline-flex}.public-page .records-section{border:0;border-radius:22px 22px 0 0;width:100%;margin-top:-38px;padding:20px 16px 28px}.public-page .record-toolbar{grid-template-columns:1fr;gap:12px}.public-page .text-size-control{grid-column:auto;justify-self:stretch}.public-page .record-card--pink,.public-page .record-card--blue{background:#fffdfb;border-color:#ead8d3}}@media (prefers-reduced-motion:reduce){.public-page .hero{animation:none}}.admin-page{--ink:#302238;--ink-soft:#6c646c;--green:#738c6e;--green-light:#edf2e9;--coral:#7c9476;--coral-dark:#5f765b;--pink:#fff7f5;--pink-border:#ead3ce;--blue:#f8faf6;--blue-border:#d8e1d4;--cream:#fff9f5;--border:#e7ddd8;--surface:#fffefc;--shadow:0 16px 40px #4a36411a;color:#302238;background:#fffaf7}.admin-page .admin-header{background:#fffdf9fa;border-bottom:1px solid #e8cda8;height:82px;padding:0 24px}.admin-page .admin-header .brand{color:#39213a;letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:500}.admin-page .admin-header .flower-mark{flex-basis:50px;width:50px;height:56px}.admin-page .account-button{color:#3f3341;border-radius:12px;padding:6px 10px}.admin-page .account-button:hover{background:#f8eeeb}.admin-page .account-button svg{color:#5f765b;background:#edf2e9;border-color:#cdd8c9}.admin-page .account-button small{color:#766d74}.admin-page .admin-shell{grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 82px)}.admin-page .admin-sidebar{background:linear-gradient(#faf3eff5,#faf3eff5),url(/hero-botanical.png) 74% bottom/620px no-repeat;border-right:1px solid #e7d8d0;padding:30px 16px 24px}.admin-page .admin-sidebar nav{gap:9px}.admin-page .admin-sidebar nav button,.admin-page .logout-button{color:#514653;border-radius:11px;min-height:52px;font-size:.96rem;font-weight:650}.admin-page .admin-sidebar nav button svg{color:#71816d}.admin-page .admin-sidebar nav button:hover{background:#fffdf9c7}.admin-page .admin-sidebar nav button.active{color:#fff;background:#789073;box-shadow:0 8px 18px #59745533}.admin-page .admin-sidebar nav button.active svg{color:#fff}.admin-page .logout-button{color:#a44455;border-top-color:#dfcec5}.admin-page .admin-main{background:radial-gradient(circle at 100% 0,#f7dcd859,#0000 26rem),#fffaf7;padding:38px clamp(24px,3.5vw,54px) 60px}.admin-page .admin-title-row h1,.admin-page .summary-view h1{color:#39213a;letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:400}.admin-page .admin-title-row p,.admin-page .summary-view p{color:#716870}.admin-page .primary-button{background:#789073;border-color:#789073;border-radius:10px;box-shadow:0 8px 18px #5974552e}.admin-page .primary-button:hover{background:#5f765b;border-color:#5f765b}.admin-page .secondary-button{color:#536b50;background:#fffefc;border-color:#789073;border-radius:10px}.admin-page .secondary-button:hover{background:#edf2e9}.admin-page .search-control,.admin-page .select-control,.admin-page .field input,.admin-page .field select,.admin-page .field textarea,.admin-page .loan-plan-edit-fields input,.admin-page .option-add-form input,.admin-page .option-admin-row input{background:#fffefc;border-color:#d9d0cc;border-radius:10px}.admin-page .search-control:focus-within,.admin-page .select-control:focus-within,.admin-page .field input:focus,.admin-page .field select:focus,.admin-page .field textarea:focus{border-color:#789073;box-shadow:0 0 0 4px #78907321}.admin-page .field__label{color:#443744}.admin-page .summary-view{box-shadow:var(--shadow);background:linear-gradient(90deg,#fffdf9fa,#fffdf9cc),url(/hero-botanical.png) 100%/cover no-repeat;border:1px solid #e6d7cf;border-radius:22px;min-height:400px}.admin-page .table-shell,.admin-page .groups-list,.admin-page .users-list{background:#fffefc;border-color:#ead8d3;border-radius:13px;box-shadow:0 10px 26px #4a36410f}.admin-page .records-table th,.admin-page .groups-list__head,.admin-page .users-list__head{color:#39213a;background:#f9e7e4;border-bottom-color:#ead8d3;font-family:Plus Jakarta Sans,Segoe UI,sans-serif}.admin-page .records-table td{color:#39333d;background:#fffefc!important;border-bottom-color:#eadfda!important}.admin-page .records-table th:not(:last-child),.admin-page .records-table td:not(:last-child){border-right-color:#eadfda}.admin-page .inline-field__button svg{color:#789073}.admin-page .inline-field__button:hover,.admin-page .inline-field__button:focus-visible{background:#f6f8f3;border-color:#9daf98}.admin-page .inline-field__input{border-color:#789073;box-shadow:0 0 0 3px #7890731f}.admin-page .icon-text-button{background:#fffefc;border-radius:9px}.admin-page .icon-text-button--edit{color:#536b50;border-color:#789073}.admin-page .icon-text-button--danger{color:#a44455;border-color:#d9919d}.admin-page .settings-card,.admin-page .run-history,.admin-page .option-admin-card,.admin-page .loan-plan-admin,.admin-page .participant-plan-card{background:#fffefc;border-color:#e6d8d1;box-shadow:0 10px 28px #4a36410f}.admin-page .settings-card>header>span,.admin-page .weekly-explainer__icon{color:#5f765b;background:#edf2e9}.admin-page .weekly-explainer{background:#fff5f1;border-color:#ead4cc}.admin-page .malaysia-time-badge,.admin-page .schedule-preview{color:#536b50;background:#edf2e9;border-color:#ccd9c8}.admin-page .skip-row,.admin-page .run-row,.admin-page .option-admin-row,.admin-page .loan-plan-row,.admin-page .group-row,.admin-page .user-row{border-color:#e9ddd7}.admin-page .skip-row--active{background:#fff3f2;border-color:#e9bfc0}.admin-page .run-status,.admin-page .role-label--superadmin{background:#e8f0e5;color:#496847!important}.admin-page .role-label--admin{color:#874b58;background:#f8e8e7}.admin-page .option-choice{background:#fffefc;border-color:#ddd4d0}.admin-page .option-choice:hover,.admin-page .option-choice--selected{background:#edf2e9;border-color:#8fa48a}.admin-page .option-choice--selected .option-choice__box{background:#789073;border-color:#789073}.admin-page .group-badge--pink,.admin-page .group-flower:before{color:#7e4a57;background:#f7dedc;border-color:#d59c99}.admin-page .group-badge--blue,.admin-page .group-flower--blue:before{color:#536b50;background:#edf2e9;border-color:#aebfa9}.admin-page .drawer-backdrop,.admin-page .dialog-layer{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3727346b}.admin-page .drawer,.admin-page .confirm-dialog{background:#fffdf9;border:1px solid #e7d8d0;box-shadow:-18px 0 48px #39213a29}.admin-page .drawer>header,.admin-page .drawer>footer{background:#fffaf7;border-color:#e7d8d0}.admin-page .drawer>header h2,.admin-page .confirm-dialog h2{color:#39213a;font-family:Georgia,Times New Roman,serif;font-weight:500}.admin-page .close-button{color:#5f765b}.admin-page .close-button:hover{background:#edf2e9}@media (width<=1050px){.admin-page .admin-shell{grid-template-columns:1fr}.admin-page .admin-sidebar{background:#faf3ef;border-bottom-color:#e7d8d0;border-right:0}}@media (width<=760px){.admin-page .admin-header{height:76px;padding:0 14px}.admin-page .admin-header .brand{font-size:1.3rem}.admin-page .admin-main{padding:26px 16px 44px}.admin-page .admin-title-row h1,.admin-page .summary-view h1{font-size:clamp(2.25rem,12vw,3.4rem)}.admin-page .summary-view{background:#fffdf9;min-height:300px}.admin-page .admin-record-card{background:#fffefc;border-color:#ead8d3;box-shadow:0 8px 20px #4a36410f}.admin-page .drawer{width:100%;max-width:none}}
