:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.auth-page{box-sizing:border-box;background:#f7f7f8;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.auth-container{width:100%;max-width:420px}.auth-brand{text-align:center;margin-bottom:24px}.auth-logo{border-radius:12px;width:64px;height:64px;margin:0 auto 14px;display:block}.auth-brand h1{color:#202020;margin:0;font-size:28px;line-height:1.2}.auth-brand p{color:#777;margin:8px 0 0;font-size:14px}.auth-card{background:#fff;border:1px solid #e7e7e7;border-radius:16px;padding:24px;box-shadow:0 8px 30px #0000000d}.auth-tabs{border-bottom:1px solid #e6e6e6;grid-template-columns:1fr 1fr;margin-bottom:24px;display:grid}.auth-tab{color:#888;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 8px;font-size:14px;font-weight:600}.auth-tab:hover{color:#333}.auth-tab-active{color:#222;border-bottom-color:#222}.auth-tab:disabled{cursor:default}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{flex-direction:column;gap:7px;display:flex}.auth-field label{color:#333;font-size:13px;font-weight:600}.auth-field input{box-sizing:border-box;background:#fff;border:1px solid #d8d8d8;border-radius:9px;width:100%;padding:11px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#aaa}.auth-field input:focus{border-color:#777;outline:none;box-shadow:0 0 0 3px #0000000a}.auth-field input:disabled{cursor:default;background:#f7f7f7}.auth-password-wrapper{position:relative}.auth-password-wrapper input{padding-right:62px}.auth-password-toggle{color:#666;cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px;font-weight:600;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-password-toggle:hover{color:#222}.auth-password-toggle:disabled{cursor:default}.auth-submit-button{color:#fff;cursor:pointer;background:#222;border:0;border-radius:9px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.auth-submit-button:hover{background:#111}.auth-submit-button:disabled{opacity:.65;cursor:default}.auth-message{border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.4}.auth-message-error{color:#b42318;background:#fff1f0;border:1px solid #ffd3cf}.auth-message-success{color:#18773b;background:#effaf3;border:1px solid #ccebd8}.auth-switch-text{text-align:center;color:#777;margin-top:20px;font-size:13px}.auth-switch-text button{color:#222;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.auth-switch-text button:hover{text-decoration:underline}@media (width<=520px){.auth-page{align-items:flex-start;padding-top:48px}.auth-card{padding:20px}.auth-brand h1{font-size:25px}}.payment-form-page{background:#f6f7f9;min-height:100vh;padding:32px 16px}.payment-form-shell{width:100%;max-width:620px;margin:0 auto}.form-back-button{cursor:pointer;color:#4b5563;background:0 0;border:0;margin-bottom:24px;padding:8px 0;font-weight:600}.payment-form-heading{margin-bottom:24px}.payment-form-heading h1{margin:0 0 6px;font-size:28px}.payment-form-heading p{color:#6b7280;margin:0;font-size:14px;line-height:1.5}.payment-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px}.payment-form-field{margin-bottom:20px}.payment-form-field label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.payment-form-field input,.payment-form-field select{background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;padding:12px 13px}.payment-form-field input:focus,.payment-form-field select:focus{border-color:#6b7280}.payment-form-help{color:#9ca3af;margin-top:6px;font-size:12px;display:block}.payment-amount-input{border:1px solid #d1d5db;border-radius:10px;align-items:center;display:flex;overflow:hidden}.payment-amount-input:focus-within{border-color:#6b7280}.payment-amount-input span{color:#6b7280;padding-left:13px}.payment-amount-input input{border:0;border-radius:0;padding-left:7px}.reminder-input{align-items:center;gap:10px;display:flex}.reminder-input input{width:100px}.reminder-input span{color:#6b7280;font-size:14px}.payment-active-row{justify-content:space-between;align-items:center;gap:20px;padding:4px 0;display:flex}.payment-active-row h3{margin:0 0 4px;font-size:14px}.payment-active-row p{color:#6b7280;margin:0;font-size:12px}.payment-active-row input{width:20px;height:20px}.payment-form-divider{background:#e5e7eb;height:1px;margin:22px 0}.payment-form-primary{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:12px;width:100%;padding:13px 18px;font-weight:600}.payment-form-primary:disabled{opacity:.6;cursor:not-allowed}.payment-form-cancel{color:#6b7280;cursor:pointer;background:0 0;border:0;width:100%;margin-top:8px;padding:12px}.payment-form-error{color:#b91c1c;margin:0 0 14px;font-size:13px}@media (width<=600px){.payment-form-page{padding:20px 14px}.payment-form-card{padding:17px}.payment-form-heading h1{font-size:25px}}.payment-detail-page{background:#f6f7f9;min-height:100vh;padding:32px 16px}.payment-detail-shell{width:100%;max-width:620px;margin:0 auto}.detail-back-button{cursor:pointer;color:#4b5563;background:0 0;border:0;margin-bottom:24px;padding:8px 0;font-weight:600}.detail-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.detail-heading h1{margin:0 0 5px;font-size:30px;line-height:1.2}.detail-heading p{color:#6b7280;margin:0}.detail-status{border-radius:999px;align-items:center;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.detail-status.pending{color:#4338ca;background:#eef2ff}.detail-status.paid{color:#047857;background:#ecfdf5}.detail-card,.edit-payment-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px}.detail-row{justify-content:space-between;gap:20px;padding:10px 0;display:flex}.detail-row span{color:#6b7280}.detail-row strong{text-align:right}.detail-divider{background:#e5e7eb;height:1px;margin:10px 0}.paid-amount{font-size:20px}.actual-amount-section{margin-top:24px}.actual-amount-section label,.form-field label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.amount-input-wrapper{background:#fff;border:1px solid #d1d5db;border-radius:12px;align-items:center;width:100%;display:flex;overflow:hidden}.amount-input-wrapper:focus-within{border-color:#6b7280}.amount-input-wrapper span{color:#6b7280;padding-left:14px}.amount-input-wrapper input{background:0 0;border:0;outline:none;flex:1;width:100%;padding:13px 14px 13px 7px}.primary-action{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:12px;width:100%;margin-top:14px;padding:13px 18px;font-weight:600}.primary-action:disabled{opacity:.6;cursor:not-allowed}.detail-secondary-actions{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:10px}.detail-secondary-actions button{text-align:left;color:#4b5563;cursor:pointer;background:0 0;border:0;width:100%;padding:12px 0;font-weight:600;display:block}.detail-secondary-actions button:hover{color:#111827}.edit-heading{margin-bottom:24px}.edit-heading h2{margin:0 0 5px;font-size:20px}.edit-heading p{color:#6b7280;margin:0;font-size:14px}.form-field{margin-bottom:18px}.form-field>input,.form-field select{background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;padding:12px 13px}.form-field>input:focus,.form-field select:focus{border-color:#6b7280}.edit-actions{margin-top:8px}.cancel-action{color:#6b7280;cursor:pointer;background:0 0;border:0;width:100%;margin-top:8px;padding:12px}.detail-error{color:#b91c1c;margin:10px 0 0;font-size:13px}@media (width<=600px){.payment-detail-page{padding:20px 14px}.detail-heading h1{font-size:25px}.detail-card,.edit-payment-card{padding:17px}}*{box-sizing:border-box}body{color:#202124;background:#f6f7f9;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.payments-page{min-height:100vh;padding:32px 16px}.payments-shell{width:100%;max-width:720px;margin:0 auto}.month-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.month-header h1{text-align:center;margin:0;font-size:28px}.month-summary{color:#6b7280;text-align:center;margin:6px 0 0;font-size:14px}.month-nav{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:50%;width:42px;height:42px;font-size:28px}.add-payment-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:12px;width:100%;margin-bottom:28px;padding:14px 18px;font-weight:600}.payment-section{margin-bottom:30px}.section-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-header h2{margin:0;font-size:18px}.section-count{color:#4b5563;background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;display:inline-flex}.payment-list{flex-direction:column;gap:10px;display:flex}.payment-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;width:100%;padding:16px;display:flex}.payment-card:hover{border-color:#c9ccd1}.payment-main{align-items:center;gap:12px;display:flex}.payment-icon{background:#f1f3f5;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:flex}.payment-info h3{margin:0 0 4px;font-size:16px}.payment-info p{color:#6b7280;margin:0;font-size:13px}.payment-meta{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.payment-meta strong{font-size:16px}.status-pill{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}.status-pill.pending{color:#4338ca;background:#eef2ff}.status-pill.overdue{color:#be123c;background:#fff1f2}.status-pill.paid{color:#047857;background:#ecfdf5}.empty-state{text-align:center;color:#6b7280;padding:40px 16px}.empty-state h3{color:#202124;margin-bottom:8px}@media (width<=600px){.payments-page{padding:20px 12px}.month-header h1{font-size:22px}.payment-card{padding:14px}.payment-meta strong{font-size:15px}.reminder-label{color:#92400e;margin-top:5px;font-size:12px;font-weight:600;display:block}}.reminder-settings{margin-top:18px;margin-bottom:18px}.reminder-summary{justify-content:flex-start;align-items:center;gap:10px;display:flex}.reminder-title{color:#222;font-size:15px;font-weight:600}.reminder-enabled-text{color:#22a447;font-size:13px;font-weight:600}.reminder-disabled-text{color:#777;font-size:13px;font-weight:500}.switch{cursor:pointer;background:#d3d3d3;border:0;border-radius:999px;flex-shrink:0;width:48px;height:27px;padding:3px;transition:background .2s,opacity .2s;position:relative}.switch-on{background:#22a447}.switch-knob{background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .2s;display:block;box-shadow:0 1px 4px #0003}.switch-on .switch-knob{transform:translate(21px)}.switch:disabled{opacity:.6;cursor:default}.reminder-inline-editor{background:#f8f8f8;border:1px solid #eee;border-radius:10px;max-width:360px;margin-top:14px;padding:14px}.reminder-number-label{color:#333;margin-bottom:7px;font-size:13px;font-weight:600;display:block}.reminder-number-input{box-sizing:border-box;background:#fff;border:1px solid #d8d8d8;border-radius:8px;width:100%;padding:10px 11px;font-size:14px}.reminder-number-input:focus{border-color:#999;outline:none}.reminder-help{color:#888;margin-top:5px;font-size:12px}.reminder-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.reminder-cancel-button,.reminder-enable-button{cursor:pointer;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:500}.reminder-cancel-button{color:#333;background:#fff;border:1px solid #d8d8d8}.reminder-cancel-button:hover{background:#f3f3f3}.reminder-enable-button{color:#fff;background:#22a447;border:0}.reminder-enable-button:hover{background:#1d913e}.reminder-cancel-button:disabled,.reminder-enable-button:disabled{opacity:.6;cursor:default}.reminder-error{color:#b42318;margin-top:9px;font-size:12px}.reminder-loading{color:#777;font-size:13px}@media (width<=600px){.reminder-summary{gap:8px}.reminder-title{font-size:14px}.reminder-inline-editor{max-width:none}.reminder-actions{justify-content:flex-start}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.app-header{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;padding:20px 24px 0;display:flex}.app-header strong{font-size:18px}.logout-button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 14px;font-size:14px}.logout-button:hover{background:#f5f5f5}
