*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f6f3;color:#2f2f2f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-base:#5e6f7a;--background:#f7f6f3;--card-surface:#fafaf8;--primary-text:#2f2f2f;--secondary-text:#7a7a7a;--success:#8faf9a;--warning:#c4a56a;--error:#b86b6b}@media (max-width:428px){.app-container{max-width:100%}}.nav-item{background:none;border:none;padding:0}.onboarding-screen{display:flex;flex-direction:column;min-height:calc(100vh - 70px);padding:60px 32px 40px;text-align:center}.onboarding-screen h2{color:#2f2f2f;font-size:28px;font-weight:600;line-height:1.25;margin-bottom:20px}.onboarding-description{color:#7a7a7a;font-size:16px;line-height:1.6;margin-bottom:auto;padding-bottom:40px}.onboarding-list{margin:12px 0 auto;padding-bottom:24px;text-align:left}.onboarding-list-item{color:#7a7a7a;font-size:16px;line-height:1.5;margin-bottom:10px}.onboarding-list-paragraph{color:#7a7a7a;font-size:16px;line-height:1.6;margin:6px 0}.onboarding-list-heading{color:#2f2f2f;font-size:16px;font-weight:600;margin:8px 0 6px}.onboarding-screen .cta-button.onboarding-cta{display:block;margin-bottom:0;margin-top:8px;max-width:none;padding:14px 20px;width:100%}@media (max-width:428px){.onboarding-screen{padding:48px 24px 24px}.onboarding-screen h2{font-size:26px}}.notification-bell-container{position:relative}.notification-bell-button{align-items:center;background:none;border:none;color:#5e6f7a;cursor:pointer;display:flex;justify-content:center;padding:8px;position:relative;transition:color .2s}.notification-bell-button:hover{color:#4a5a64}.notification-badge{align-items:center;background:#e74c3c;border:2px solid #fff;border-radius:10px;color:#fff;display:flex;font-size:10px;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}.notification-dropdown{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:500px;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:320px;z-index:1000}.notification-dropdown-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:16px}.notification-dropdown-header h3{color:#2f2f2f;font-size:18px;font-weight:600;margin:0}.mark-all-read-btn{background:none;border:none;border-radius:4px;color:#5e6f7a;cursor:pointer;font-size:12px;padding:4px 8px;transition:background .2s}.mark-all-read-btn:hover{background:#f0f0f0}.notification-list{max-height:400px;overflow-y:auto}.notification-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;position:relative;transition:background .2s}.notification-item:hover{background:#fafaf8}.notification-item.unread{background:#f8f9fa}.notification-item.unread:before{background:#5e6f7a;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.notification-content{flex:1 1;min-width:0}.notification-title{color:#2f2f2f;font-size:14px;font-weight:600;margin-bottom:4px}.notification-message{color:#5a5a5a;font-size:13px;line-height:1.4;margin-bottom:6px}.notification-time{color:#7a7a7a;font-size:11px}.notification-delete{background:none;border:none;color:#999;cursor:pointer;flex-shrink:0;margin-left:8px;opacity:0;padding:4px;transition:opacity .2s,color .2s}.notification-item:hover .notification-delete{opacity:1}.notification-delete:hover{color:#e74c3c}.notification-empty{color:#7a7a7a;padding:40px 20px;text-align:center}.notification-footer{border-top:1px solid #e5e5e5;padding:12px 16px;text-align:center}.clear-all-btn,.view-all-btn{background:none;border:none;border-radius:4px;color:#5e6f7a;cursor:pointer;font-size:13px;font-weight:600;padding:8px;transition:background .2s,color .2s;width:100%}.clear-all-btn:hover,.view-all-btn:hover{background:#f0f0f0}.clear-all-btn{color:#e74c3c}.clear-all-btn:hover{background:#ffebee;color:#c62828}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#f0f0f0}.notification-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#999}.timeline-header{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:20px 20px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.timeline-header h2{color:#2f2f2f;font-size:24px;font-weight:600;margin:0}.header-actions{gap:8px}.header-actions,.icon-button{align-items:center;display:flex}.icon-button{background:none;border:none;border-radius:4px;cursor:pointer;justify-content:center;padding:6px;transition:background-color .2s}.icon-button:hover{background-color:#f5f5f5}.icon-button-active{background-color:#edf2f7}.logout-button{margin-left:4px}.logout-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.logout-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:400px;padding:32px 24px 24px;width:90%}.logout-modal-title{color:#2f2f2f;font-size:16px;font-weight:600;margin:0 0 16px;text-align:left}.logout-modal-message{color:#5e6f7a;font-size:15px;line-height:1.5;margin:0 0 32px;text-align:left}.logout-modal-actions{display:flex;gap:12px;justify-content:flex-end}.logout-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;min-width:90px;padding:10px 24px;transition:all .2s ease}.logout-btn-ok{background:linear-gradient(135deg,#1f2a33,#3f4b57);box-shadow:0 2px 8px #1f2a334d;color:#fff}.logout-btn-ok:hover{background:linear-gradient(135deg,#3f4b57,#1f2a33);box-shadow:0 4px 12px #1f2a3366;transform:translateY(-1px)}.logout-btn-ok:active{transform:translateY(0)}.logout-btn-cancel{background:#f5f5f5;border:1px solid #e5e5e5;color:#5e6f7a}.logout-btn-cancel:hover{background:#ebebeb;border-color:#d0d0d0}.logout-btn-cancel:active{background:#e0e0e0}.timeline-content{display:flex;flex-direction:column;min-height:calc(100vh - 180px);padding:16px 20px}.timeline-search-wrap{background:#fff;border-bottom:1px solid #e5e5e5;padding:0 20px 14px}.timeline-search-input{border:1px solid #d5d9dd;border-radius:10px;color:#2f2f2f;font-size:14px;height:42px;outline:none;padding:0 12px;width:100%}.timeline-search-input:focus{border-color:#7a8d99;box-shadow:0 0 0 2px #5e6f7a1f}.entry-card{background:#fafaf8;border-radius:8px;box-shadow:0 1px 3px #0000000d;cursor:pointer;margin-bottom:12px;padding:16px}.entry-card:hover{box-shadow:0 2px 6px #00000014}.entry-header{display:flex;gap:12px;margin-bottom:8px}.entry-icon{align-items:center;background:#5e6f7a;border-radius:8px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.entry-content{flex:1 1}.entry-title-row{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.entry-title-section{display:flex;flex:1 1;flex-direction:column;gap:6px}.entry-title{color:#2f2f2f;font-size:16px;font-weight:600}.entry-child-badge{background:#e8f0ee;border-radius:10px;color:#2f2f2f;display:inline-block;font-size:11px;font-weight:500;margin-top:4px;padding:3px 8px;width:-webkit-fit-content;width:fit-content}.entry-actions{display:flex;flex-shrink:0;gap:6px}.entry-action-btn{align-items:center;background:#fff;border:1px solid #d8d8d8;border-radius:6px;color:#5e6f7a;cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.entry-action-btn:hover{background:#f3f5f6}.entry-action-delete{color:#b86b6b}.entry-action-delete:hover{background:#fff1f1}.entry-action-btn svg{stroke:currentColor}.entry-preview{color:#7a7a7a;font-size:14px;margin-bottom:8px}.entry-meta{font-size:12px;gap:16px}.empty-state,.entry-meta{color:#7a7a7a;display:flex}.empty-state{align-items:center;flex:1 1;flex-direction:column;justify-content:center;margin:auto 0;min-height:calc(100vh - 300px);padding:0;text-align:center}.empty-state h3{color:#2f2f2f;font-size:20px;font-weight:600;margin-bottom:12px}.empty-state p{color:#7a7a7a;font-size:14px;line-height:1.5;margin:0}.entry-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:250}.entry-modal{background:#fff;border-radius:12px;box-shadow:0 12px 24px #00000038;max-width:360px;padding:14px 14px 16px;width:100%}.entry-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.entry-modal-header h3{color:#2f2f2f;font-size:18px;margin:0}.entry-modal-close{background:none;border:none;color:#7a7a7a;cursor:pointer;font-size:24px;line-height:1}.entry-modal-content{color:#2f2f2f}.entry-modal-row{color:#5a5a5a;font-size:14px;margin:6px 0}.entry-modal-notes{color:#2f2f2f;font-size:14px;line-height:1.55;margin:12px 0 0;white-space:pre-wrap}.entry-modal-actions{display:flex;justify-content:flex-end;margin-top:16px}.entry-modal-edit-btn{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.entry-modal-edit-btn:hover{background:#4a5a64}.entry-modal-edit-form{margin-top:8px}.entry-modal-edit-form .form-group{margin-bottom:16px}.entry-modal-edit-form .form-label{color:#2f2f2f;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.entry-modal-edit-form .category-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.entry-modal-edit-form .category-option{background:#fafaf8;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;padding:10px 6px;text-align:center;transition:all .2s}.entry-modal-edit-form .category-option:hover{border-color:#5e6f7a}.entry-modal-edit-form .category-option.selected{background:#5e6f7a;border-color:#5e6f7a;color:#fff}.entry-modal-edit-form .category-icon{font-size:20px;margin-bottom:2px}.entry-modal-edit-form .category-label{font-size:11px}.entry-modal-edit-form .form-input{background:#fafaf8;border:1px solid #e5e5e5;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.entry-modal-edit-form .form-input:focus{border-color:#5e6f7a;outline:none}.entry-modal-edit-form textarea.form-input{min-height:80px;resize:vertical}.entry-modal-edit-form select.form-input{-webkit-appearance:none;appearance:none;background-color:#fafaf8;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%235E6F7A' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.entry-modal-edit-form select.form-input:focus{border-color:#5e6f7a;box-shadow:0 0 0 2px #5e6f7a1f}.entry-modal-edit-form .datetime-input{display:flex;gap:8px}.entry-modal-edit-form .datetime-input input{flex:1 1}.entry-modal-edit-actions{display:flex;gap:10px;margin-top:16px}.entry-modal-cancel-btn{background:#edf2f7;border:none;border-radius:8px;color:#3f4b57;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px}.entry-modal-cancel-btn:hover{background:#e2e8f0}.entry-modal-save-btn{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px}.entry-modal-save-btn:hover{background:#4a5a64}.timeline-filter-overlay{background:#00000047;inset:0;position:absolute;z-index:300}.timeline-filter-sidebar{background:#fff;bottom:0;box-shadow:-8px 0 20px #00000029;overflow-y:auto;padding:18px 16px 22px;position:absolute;right:0;top:0;width:min(86%,340px);z-index:301}.timeline-filter-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.timeline-filter-header h3{color:#2f2f2f;font-size:20px;font-weight:700;margin:0}.timeline-filter-close{background:none;border:none;color:#7a7a7a;cursor:pointer;font-size:28px;line-height:1}.timeline-filter-group{margin-bottom:14px}.timeline-filter-group label{color:#495057;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.timeline-filter-group input,.timeline-filter-group select{background:#fff;border:1px solid #d5d9dd;border-radius:10px;color:#2f2f2f;font-size:14px;height:42px;outline:none;padding:0 12px;width:100%}.timeline-filter-group input:focus,.timeline-filter-group select:focus{border-color:#7a8d99;box-shadow:0 0 0 2px #5e6f7a1f}.timeline-filter-actions{background:#fff;bottom:0;display:flex;gap:10px;margin-top:8px;padding-top:10px;position:-webkit-sticky;position:sticky}.timeline-filter-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;height:42px}.timeline-filter-reset{background:#edf2f7;color:#3f4b57}.timeline-filter-apply{background:#5e6f7a;color:#fff}.timeline-filter-children{display:flex;flex-direction:column;gap:8px}.timeline-filter-child-checkbox{align-items:center;color:#2f2f2f;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:4px 0}.timeline-filter-child-checkbox input[type=checkbox]{accent-color:#5e6f7a;cursor:pointer;height:18px;width:18px}.timeline-filter-child-checkbox span{-webkit-user-select:none;user-select:none}.back-button{background:#0000;border:1px solid #e0e0e0;border-radius:8px;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:16px;outline:none;padding:8px 16px;transition:all .2s ease}.back-button,.back-button span,.back-button:hover{text-decoration:none}.back-button:hover{background:#f5f5f5;border-color:silver;color:#3d4f5a}.back-button:focus{outline:2px solid #8faf9a;outline-offset:2px;text-decoration:none}.back-button:active{text-decoration:none;transform:scale(.98)}.back-button svg{flex-shrink:0;transition:transform .2s ease}.back-button:hover svg{transform:translateX(-2px)}@media (max-width:600px){.back-button{font-size:13px;padding:6px 12px}.back-button svg{height:18px;width:18px}}.add-entry-page{padding:16px 20px}.form-label{font-size:13px;margin-bottom:6px}.category-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.category-option{background:#fafaf8;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;padding:10px 6px;text-align:center;transition:all .2s}.category-option:hover{border-color:#5e6f7a}.category-option.selected{background:#5e6f7a;border-color:#5e6f7a;color:#fff}.category-icon{font-size:20px;margin-bottom:2px}.category-label{font-size:11px}.form-input{padding:10px 12px}select.form-input{-webkit-appearance:none;appearance:none;background-color:#fafaf8;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%235E6F7A' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}select.form-input:focus{border-color:#5e6f7a;box-shadow:0 0 0 2px #5e6f7a1f}textarea.form-input{min-height:80px;resize:vertical}.datetime-input{display:flex;gap:8px}.datetime-input input{flex:1 1}.save-button{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:16px;padding:14px;width:100%}.save-button:hover{background:#4a5a64}.back-button{align-items:center;background:none;border:none;color:#5e6f7a;cursor:pointer;display:flex;font-size:16px;gap:4px;margin:16px 20px;padding:8px 0}.back-button:hover{text-decoration:underline}.reflections-page{padding:20px}.reflections-controls{background:#fafaf8;border:1px solid #ecebe6;border-radius:10px;margin-bottom:14px;padding:12px}.control-item{align-items:center;display:flex;gap:12px;justify-content:space-between}.control-item span{color:#2f2f2f;font-size:14px;font-weight:600}.control-item select{border:1px solid #d5d9dd;border-radius:8px;color:#2f2f2f;font-size:13px;height:34px;padding:0 10px}.notification-toggle{background:#fff;border:1px solid #d5d9dd;border-radius:8px;color:#5e6f7a;cursor:pointer;font-size:14px;font-weight:600;height:38px;margin-top:10px;width:100%}.summary-card{background:#fafaf8;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:16px;padding:16px}.summary-card-clickable{cursor:pointer}.summary-card-expanded{border:1px solid #dfe5e8}.summary-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.summary-header{color:#2f2f2f;font-size:17px;font-weight:600;margin-bottom:6px}.summary-subheader{color:#7a7a7a;font-size:13px;margin-bottom:8px}.summary-expand-indicator{color:#7a8d99;font-size:22px;line-height:1}.summary-stat{color:#7a7a7a;font-size:14px;margin-bottom:12px}.section-label{color:#2f2f2f;font-size:13px;font-weight:600;margin:10px 0 8px}.stat-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.stat-badge{background:#fff;border:1px solid #e5e8ea;border-radius:16px;color:#5e6f7a;font-size:12px;padding:6px 12px}.days-indicator{display:flex;gap:4px;justify-content:space-between;margin:10px 0 8px}.day-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px}.day-col span{color:#7a7a7a;font-size:11px}.day-dot{background:#e5e5e5;border-radius:50%;height:11px;width:11px}.day-dot.filled{background:#8faf9a}.summary-divider{background:#e5e5e5;height:1px;margin:12px 0}.highlight-line{color:#6a6a6a;font-size:14px;line-height:1.4;margin-bottom:6px}.summary-note{color:#7a7a7a;font-size:14px;font-style:italic;margin-top:8px}.summary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.link-button{background:#fff;border:1px solid #d0d9de;border-radius:8px;color:#5e6f7a;cursor:pointer;font-size:14px;font-weight:600;height:36px;padding:0 12px;text-decoration:none}.link-button:hover{background:#f4f7f8}.monthly-toggle{background:#fff;border:1px dashed #ccd3d7;border-radius:8px;color:#4f6270;cursor:pointer;font-size:14px;font-weight:600;height:40px;width:100%}.monthly-row{background:#fff;border:1px solid #e8ecef;border-radius:8px;margin-top:12px;padding:12px}.monthly-title{color:#2f2f2f;font-size:15px;font-weight:600}.monthly-subtitle{color:#7a7a7a;font-size:13px;margin-top:4px}.settings-page{padding:20px}.settings-section{margin-bottom:32px}.daily-reminder-settings{min-height:calc(100vh - 180px);padding:20px}.loading-state{color:#5a5a5a;padding:40px 20px;text-align:center}.settings-form{max-width:100%}.form-group{margin-bottom:24px}.toggle-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.toggle-label{color:#2f2f2f;font-size:16px;font-weight:600}.toggle-switch{cursor:pointer;height:28px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:28px;bottom:0;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;position:absolute;transition:.3s;width:20px}.toggle-slider.active{background-color:#5e6f7a}.toggle-slider.active:before{transform:translateX(22px)}.form-help-text{color:#7a7a7a;font-size:13px;line-height:1.4;margin-top:6px}.form-input:disabled{background-color:#f0f0f0;cursor:not-allowed;opacity:.6}.export-timeline-page{min-height:calc(100vh - 180px);padding:20px}.export-form{max-width:100%}.form-section{margin-bottom:32px}.form-label{font-weight:600}.required-asterisk{color:#e74c3c;margin-left:2px}.form-input:focus{box-shadow:0 0 0 2px #5e6f7a1f}select.form-input,select.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fafaf8;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%235E6F7A' d='m4 6 4 4 4-4z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;color:#2f2f2f;cursor:pointer;padding-right:40px}select.form-input:focus,select.form-select:focus{background-color:#fff;border-color:#5e6f7a;box-shadow:0 0 0 3px #5e6f7a1f}select.form-input option,select.form-select option{background:#fff;color:#2f2f2f;padding:10px}select.form-input option[value=""],select.form-select option[value=""]{color:#9ca3af}.child-filter-list{display:flex;flex-direction:column;gap:12px}.child-filter-checkbox{align-items:center;border-radius:6px;color:#2f2f2f;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px;transition:background .2s}.child-filter-checkbox:hover{background:#f5f5f5}.child-filter-checkbox input[type=checkbox]{accent-color:#5e6f7a;cursor:pointer;height:18px;width:18px}.child-filter-checkbox span{-webkit-user-select:none;user-select:none}.export-info{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px}.info-text{color:#2f2f2f;font-size:14px;font-weight:600;margin-bottom:12px}.info-list{font-size:13px}.info-list li{margin-bottom:4px}.form-actions{border-top:1px solid #e5e5e5;display:flex;gap:12px;margin-top:32px;padding-top:24px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px;transition:all .2s}.btn-primary:disabled{background:#ccc}.btn-secondary{background:#f0f0f0;color:#2f2f2f}.btn-secondary:hover:not(:disabled){background:#e5e5e5}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.delete-account-page{min-height:calc(100vh - 180px);padding:20px}.delete-account-content{max-width:100%}.warning-section{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;margin-bottom:32px;padding:24px;text-align:center}.warning-icon{font-size:48px;margin-bottom:12px}.warning-title{color:#856404;font-size:24px;font-weight:600;margin-bottom:12px}.warning-text{color:#856404;font-size:14px;line-height:1.6}.info-section{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:32px;padding:20px}.info-title{color:#2f2f2f;font-size:16px;font-weight:600;margin-bottom:16px}.info-list{color:#5a5a5a;font-size:14px;line-height:1.8;margin:0;padding-left:20px}.info-list li{margin-bottom:8px}.confirmation-section{background:#fafaf8;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:32px;padding:20px}.confirmation-label{color:#2f2f2f;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.confirmation-label strong{color:#e74c3c}.confirmation-input{border:2px solid #e5e5e5;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px;text-transform:uppercase;width:100%}.confirmation-input:focus{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c1f;outline:none}.confirmation-input:disabled{background-color:#f0f0f0;cursor:not-allowed;opacity:.6}.action-section{border-top:1px solid #e5e5e5;display:flex;gap:12px;margin-top:32px;padding-top:24px}.btn-cancel,.btn-delete{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px;transition:all .2s}.btn-cancel{background:#f0f0f0;color:#2f2f2f}.btn-cancel:hover:not(:disabled){background:#e5e5e5}.btn-cancel:disabled{cursor:not-allowed;opacity:.6}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover:not(:disabled){background:#c0392b}.btn-delete:disabled{background:#ccc;cursor:not-allowed}.info-page{padding:20px}.info-page h2{font-size:24px;margin-bottom:16px}.info-page h2,.info-page h3{color:#2f2f2f;font-weight:600}.info-page h3{font-size:18px;margin:24px 0 12px}.info-page p{color:#7a7a7a;font-size:16px;line-height:1.6;margin-bottom:16px}.info-page ul{list-style:none;padding-left:0}.info-page li{color:#7a7a7a;font-size:16px;margin-bottom:8px;padding-left:20px;position:relative}.info-page li:before{color:#5e6f7a;content:"•";left:0;position:absolute}.subscription-page{padding:20px}.plan-card{background:#fafaf8;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;margin-bottom:16px;padding:24px}.plan-card.current{background:#f8faf9;border-color:#8faf9a}.plan-card.selected{background:#f5f6f7;border-color:#5e6f7a}.plan-card.disabled{cursor:not-allowed;opacity:.6;position:relative}.plan-card.disabled:after{background:#b86b6b;border-radius:6px;color:#fff;content:"Not Available";font-size:11px;font-weight:600;padding:4px 8px;position:absolute;right:12px;top:12px}.plan-badge{background:#8faf9a;border-radius:12px;color:#fff;display:inline-block;font-size:12px;padding:4px 12px}.plan-badge,.plan-name{font-weight:600;margin-bottom:8px}.plan-name{color:#2f2f2f;font-size:20px}.plan-price{color:#5e6f7a;font-size:28px;font-weight:600;margin-bottom:16px}.plan-price span{color:#7a7a7a;font-size:16px;font-weight:400}.plan-features{list-style:none;padding:0}.plan-features li{color:#7a7a7a;font-size:14px;margin-bottom:8px;padding-left:24px;position:relative}.plan-features li:before{color:#8faf9a;content:"✓";font-weight:700;left:0;position:absolute}.subscription-page .cta-button{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin:24px auto 0;max-width:400px;padding:16px;transition:all .2s ease;width:100%}.subscription-page .cta-button:hover{background:#4a5a64;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.subscription-page .cta-button:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.subscription-page .cta-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.subscription-history-page{min-height:calc(100vh - 180px);padding:20px}.history-tabs{background:#f5f5f5;border-radius:8px;display:flex;gap:8px;margin-bottom:24px;padding:4px}.history-tab{background:#0000;border:none;border-radius:6px;color:#7a7a7a;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.history-tab.active{background:#fff;box-shadow:0 2px 4px #00000014;color:#2f2f2f}.history-tab:hover:not(.active){color:#5e6f7a}.history-loading{color:#7a7a7a;padding:40px 20px;text-align:center}.history-empty{padding:60px 20px;text-align:center}.history-empty .empty-icon{font-size:64px;margin-bottom:20px}.history-empty h3{color:#2f2f2f;font-size:20px;font-weight:600;margin-bottom:10px}.history-empty p{color:#7a7a7a;font-size:14px;margin-bottom:30px}.btn-primary-small{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .2s}.btn-primary-small:hover{background:#4a5a64}.history-content{margin-top:16px}.history-list{display:flex;flex-direction:column;gap:16px}.history-card{background:#fafaf8;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 6px #00000014;padding:18px;transition:all .3s ease}.history-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{align-items:flex-start;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.card-header-left{display:flex;flex:1 1;flex-direction:column;gap:10px}.card-header-left h4{color:#2f2f2f;font-size:17px;font-weight:700;line-height:1.3;margin:0}.card-header-right{align-items:flex-end;display:flex;flex-direction:column;gap:2px;margin-left:12px}.amount{color:#2f2f2f;font-size:20px;font-weight:800;line-height:1}.billing-period{color:#7a7a7a;font-size:12px;font-weight:500}.status-badge{align-items:center;border-radius:10px;box-shadow:0 1px 3px #0000001a;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.2px;padding:3px 8px;text-transform:uppercase}.status-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #b8dabd;color:#155724}.status-pending{background:linear-gradient(135deg,#fff3cd,#ffe9a6);border:1px solid #ffe49a;color:#856404}.status-error{background:linear-gradient(135deg,#f8d7da,#f5c2c7);border:1px solid #f1b0b7;color:#721c24}.status-default{background:linear-gradient(135deg,#e2e3e5,#d6d8db);border:1px solid #cbced1;color:#383d41}.card-body{display:flex;flex-direction:column;gap:10px}.card-detail{align-items:flex-start;display:flex;font-size:13px;gap:12px;justify-content:space-between}.detail-label{color:#7a7a7a;flex-shrink:0;font-weight:600}.detail-value{color:#2f2f2f;text-align:right;word-break:break-word}.card-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:12px;line-height:1.5;margin-top:8px;padding:10px 12px}.payment-card{border-left:4px solid #5e6f7a}.subscription-card{border-left:4px solid #8faf9a}@media (max-width:360px){.subscription-history-page{padding:16px}.history-card{padding:14px}.card-header-left h4{font-size:15px}.amount{font-size:16px}.card-detail{font-size:12px}}.settings-info-page{padding:20px}.settings-info-page h3{color:#2f2f2f;font-size:18px;font-weight:600;margin:24px 0 12px}.settings-info-page h3:first-child{margin-top:0}.settings-info-page p{color:#7a7a7a;font-size:16px;line-height:1.6;margin-bottom:14px}.settings-info-page ul{list-style:none;margin:0 0 14px;padding:0}.settings-info-page li{color:#7a7a7a;font-size:16px;line-height:1.5;margin-bottom:8px;padding-left:18px;position:relative}.settings-info-page li:before{color:#5e6f7a;content:"•";left:0;position:absolute}.child-profiles-page{min-height:calc(100vh - 140px);padding:20px}.child-profiles-empty{padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px}.child-profiles-empty h3{color:#1f2a33;font-size:20px;font-weight:600;margin-bottom:10px}.child-profiles-empty p{color:#7a7a7a;font-size:14px;margin-bottom:30px}.add-child-btn{background:#1f2a33;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:14px;width:100%}.child-profiles-list{display:flex;flex-direction:column;gap:16px}.child-profile-card{background:#fafaf8;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-bottom:12px;padding:16px}.child-profile-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.child-profile-name-section{flex:1 1}.child-profile-header h3{color:#2f2f2f;font-size:16px;font-weight:600;margin:0 0 4px}.child-nickname{color:#7a7a7a;font-size:14px;margin:0}.primary-badge{background:#8faf9a;border-radius:12px;color:#fff;flex-shrink:0;font-size:11px;font-weight:600;margin-left:12px;padding:4px 10px}.child-profile-details{color:#5e6f7a;font-size:14px;line-height:1.6;margin-bottom:12px}.child-detail-item{margin-bottom:6px}.child-profile-details strong{color:#2f2f2f;font-weight:600;margin-right:8px}.child-notes{color:#7a7a7a;font-size:13px;font-style:italic;margin-top:12px}.child-notes,.child-profile-actions{border-top:1px solid #e5e5e5;padding-top:12px}.child-profile-actions{display:flex;gap:6px;justify-content:flex-end}.child-action-btn{align-items:center;background:#fff;border:1px solid #d8d8d8;border-radius:6px;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.child-action-btn:hover{background:#f3f5f6}.child-action-edit{color:#5e6f7a}.child-action-edit:hover{background:#f0f4f7;border-color:#5e6f7a}.child-action-delete{color:#b86b6b}.child-action-delete:hover{background:#fff1f1;border-color:#b86b6b}.child-action-btn svg{stroke:currentColor}.child-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:250}.child-modal-content{background:#fff;border-radius:12px;box-shadow:0 12px 24px #00000038;max-height:90vh;max-width:360px;overflow-y:auto;padding:14px 14px 16px;width:100%}.child-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.child-modal-header h3{color:#2f2f2f;font-size:18px;font-weight:600;margin:0}.child-modal-close{align-items:center;background:none;border:none;color:#7a7a7a;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.child-modal-close:hover{color:#2f2f2f}.child-modal-form{margin-top:8px}.child-modal-form .form-group{margin-bottom:16px}.child-modal-form .form-label{color:#2f2f2f;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.child-modal-form .form-input{background:#fafaf8;border:1px solid #e5e5e5;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:10px 12px;width:100%}.child-modal-form .form-input:focus{border-color:#5e6f7a;box-shadow:0 0 0 2px #5e6f7a1f;outline:none}.child-modal-form .form-select,.child-modal-form select.form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fafaf8;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%235E6F7A' d='m4 6 4 4 4-4z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;color:#2f2f2f;cursor:pointer;padding-right:40px}.child-modal-form .form-select:focus,.child-modal-form select.form-input:focus{background-color:#fff;border-color:#5e6f7a;box-shadow:0 0 0 3px #5e6f7a1f}.child-modal-form select.form-input option{background:#fff;color:#2f2f2f;padding:10px}.child-modal-form select.form-input option[value=""]{color:#9ca3af}.child-modal-form textarea.form-input{min-height:80px;resize:vertical}.child-modal-form input[type=date].form-input{position:relative}.child-modal-form input[type=date].form-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.child-modal-form input[type=date].form-input::-webkit-calendar-picker-indicator:hover{opacity:1}.child-modal-actions{display:flex;gap:10px;margin-top:16px}.child-modal-cancel-btn{background:#edf2f7;border:none;border-radius:8px;color:#3f4b57;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:background .2s}.child-modal-cancel-btn:hover{background:#e2e8f0}.child-modal-save-btn{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:background .2s}.child-modal-save-btn:hover{background:#4a5a64}.child-modal-save-btn:disabled{background:#ccc;cursor:not-allowed}.account-details-page{padding:20px}.account-details-section{margin-bottom:32px}.section-title{color:#2f2f2f;font-size:18px;font-weight:600;margin-bottom:16px}.account-info-card{background:#fafaf8;border-radius:8px;padding:20px}.account-info-item{border-bottom:1px solid #e5e5e5;margin-bottom:20px;padding-bottom:20px;position:relative}.account-info-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.account-info-label{color:#7a7a7a;font-size:12px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.account-info-value{color:#2f2f2f;font-size:16px;font-weight:500}.account-info-subtext{color:#7a7a7a;font-size:12px;margin-top:4px}.account-info-badge{background:#e8f0ee;border-radius:4px;color:#5e6f7a;font-size:11px;font-weight:600;padding:4px 8px;position:absolute;right:0;text-transform:uppercase;top:0}.settings-item{align-items:center;background:#fafaf8;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px;padding:16px}.settings-item:hover{background:#f0f0ed}.settings-label{color:#2f2f2f;font-size:16px}.settings-value{color:#7a7a7a;font-size:14px}.password-form-container{background:#fafaf8;border-radius:8px;border-top:1px solid #e5e5e5;margin-top:8px;padding:20px}.form-group{margin-bottom:16px}.form-label{color:#2f2f2f}.form-input{border:1px solid #e5e5e5;box-sizing:border-box;font-family:inherit;font-size:14px}.form-input:focus{border-color:#5e6f7a}.password-form-actions{display:flex;gap:12px;margin-top:20px}.btn-primary{background:#5e6f7a;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:background .2s}.btn-primary:hover:not(:disabled){background:#4a5a64}.btn-primary:disabled{opacity:.6}.btn-secondary{background:#f5f5f5;border:none;border-radius:8px;color:#5e6f7a;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background .2s}.btn-secondary:hover{background:#e5e5e5}.admin-login-page{align-items:center;background:linear-gradient(135deg,#1f2a33,#2f3f4f);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login-container{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:420px;padding:40px;width:100%}.admin-login-header{margin-bottom:32px;text-align:center}.admin-login-header h1{color:#1f2a33;font-size:32px;font-weight:700;margin:0 0 8px}.admin-login-header h2{color:#5e6f7a;font-size:20px;font-weight:600;margin:0 0 8px}.admin-login-header p{color:#7a7a7a;font-size:14px;margin:0}.admin-login-form{margin-bottom:24px}.admin-form-group label{color:#2f2f2f;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.admin-form-group input{background:#fff;border:1px solid #d0d9de;border-radius:8px;color:#2f2f2f;font-size:14px;height:44px;outline:none;padding:0 14px;transition:border-color .2s;width:100%}.admin-form-group input:focus{border-color:#5e6f7a;box-shadow:0 0 0 3px #5e6f7a1a}.admin-form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.admin-login-btn{background:#1f2a33;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;height:44px;margin-top:8px;transition:background .2s;width:100%}.admin-login-btn:hover:not(:disabled){background:#2f3f4f}.admin-login-btn:disabled{cursor:not-allowed;opacity:.6}.admin-login-footer{border-top:1px solid #e5e5e5;padding-top:20px;text-align:center}.admin-back-link{background:none;border:none;color:#5e6f7a;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.admin-back-link:hover{color:#1f2a33}.admin-sidebar{display:flex;flex-direction:column}.admin-sidebar nav{flex:1 1}.admin-nav-item{align-items:center;display:flex;transition:all .2s}.admin-nav-item:hover{transform:translateX(2px)}.admin-nav-item.active{background:linear-gradient(135deg,#324553,#2a3843);box-shadow:0 2px 8px #00000026}.admin-sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:20px}.admin-logout-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;padding:10px 12px;transition:all .2s;width:100%}.admin-logout-btn:hover{background:#ffffff26;transform:translateY(-1px)}.admin-topbar-actions button{align-items:center;display:flex;gap:8px;padding:0 16px;transition:all .2s}.admin-topbar-actions button:hover{background:#f5f5f5;border-color:#b0bcc5;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.admin-content{overflow-y:auto}@media (max-width:960px){.admin-page{grid-template-columns:1fr}.admin-sidebar{border-bottom:1px solid #ffffff14;border-right:none}.admin-topbar{align-items:flex-start;flex-direction:column}}.admin-page{background:#f3f5f7;display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:#1f2a33;border-right:1px solid #ffffff14;color:#fff;padding:20px 14px}.admin-brand{font-size:18px;font-weight:700;margin-bottom:20px}.admin-nav-item{background:#0000;border:1px solid #0000;border-radius:8px;color:#dce3e8;cursor:pointer;font-size:14px;margin-bottom:8px;padding:10px 12px;text-align:left;width:100%}.admin-nav-item:hover{background:#ffffff14}.admin-nav-item.active{background:#324553;border-color:#ffffff2e;color:#fff}.admin-main{display:flex;flex-direction:column;min-width:0}.admin-topbar{align-items:center;background:#fff;border-bottom:1px solid #e3e8ec;display:flex;gap:12px;justify-content:space-between;padding:16px 22px}.admin-topbar h1{color:#1f2f3a;font-size:24px;margin:0}.admin-topbar p{color:#6b7a85;font-size:13px;margin:4px 0 0}.admin-topbar-actions button{background:#fff;border:1px solid #d0d9de;border-radius:8px;color:#334754;cursor:pointer;font-weight:600;height:38px;padding:0 12px}.admin-content{padding:20px}.admin-stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.admin-stat-card{background:#fff;border:1px solid #e1e7ea;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:20px;transition:all .3s ease}.admin-stat-card:hover{border-color:#d0d9de;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.admin-stat-label{color:#6b7a85;font-size:13px}.admin-stat-value{color:#223340;font-size:28px;font-weight:700;margin-top:8px}.admin-panel-card{background:#fff;border:1px solid #e1e7ea;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:24px;transition:all .3s ease}.admin-panel-card:hover{border-color:#d0d9de;box-shadow:0 4px 16px #00000014}.admin-panel-card h3{color:#223340;font-size:18px;margin:0 0 12px}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-actions button{background:#fff;border:none;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#334754;cursor:pointer;font-weight:600;height:40px;padding:0 16px;transition:all .2s}.admin-actions button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.admin-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.admin-filters{display:flex;gap:10px}.admin-filters input,.admin-filters select{border:1px solid #d0d9de;border-radius:8px;font-size:14px;height:36px;padding:0 10px}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #edf1f3;color:#334754;font-size:14px;padding:10px 8px;text-align:left;vertical-align:middle}.admin-table th{color:#5d6e79;font-size:13px;font-weight:700}.mini-btn{background:#fff;border:1px solid #d0d9de;border-radius:7px;color:#334754;cursor:pointer;font-size:12px;font-weight:600;height:30px;margin-right:6px;padding:0 12px;transition:all .2s}.mini-btn:hover:not(:disabled){background:#f5f5f5;border-color:#b0bcc5;transform:translateY(-1px)}.mini-btn:disabled{cursor:not-allowed;opacity:.5}.mini-btn.danger{border-color:#e5c4c4;color:#9f4e4e}.status-pill{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:3px 8px;text-transform:capitalize}.status-pill.active{background:#e7f4ea;color:#287a43}.status-pill.inactive{background:#f3ecec;color:#8f4b4b}.status-pill.comp{background:#fef3c7;color:#d97706}.status-pill.banned{background:#fee2e2;color:#dc2626}.admin-settings-grid{grid-gap:10px;display:grid;gap:10px}.admin-setting-item{align-items:center;border:1px solid #e7ecef;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.admin-setting-item span{color:#334754}.admin-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.admin-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:500px;padding:24px;width:100%}.admin-modal-content{background:#fff;border-radius:16px;box-shadow:0 12px 40px #00000040;max-height:90vh;max-width:540px;overflow-y:auto;padding:28px;width:100%}.admin-modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.admin-modal-header h3{color:#1f2a33;font-size:22px;font-weight:700;margin:0}.admin-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#7a7a7a;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:36px}.admin-modal-close:hover{background:#f5f5f5;color:#1f2a33}.admin-modal-form{gap:16px}.admin-form,.admin-modal-form{display:flex;flex-direction:column}.admin-form{gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-label{color:#1f2a33;font-size:14px;margin-bottom:4px}.admin-form-input{background:#fafafa;border:2px solid #e5e7eb;border-radius:10px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.admin-form-input:focus{background:#fff;border-color:#1f2a33;box-shadow:0 0 0 3px #1f2a331a;outline:none}.admin-form-select{-webkit-appearance:none;appearance:none;background:#fafafa;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%231f2a33' d='m4 6 4 4 4-4z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;font-family:inherit;font-size:15px;padding:12px 40px 12px 16px;transition:all .2s;width:100%}.admin-form-select:focus{background-color:#fff;border-color:#1f2a33;box-shadow:0 0 0 3px #1f2a331a;outline:none}.admin-form-help{line-height:1.5;margin-top:4px}.admin-form-info{align-items:flex-start;background:#eff6ff;border:2px solid #dbeafe;border-radius:10px;display:flex;gap:10px;margin-top:8px;padding:12px 14px}.admin-form-info svg{color:#3b82f6;flex-shrink:0;margin-top:2px}.admin-form-info span{color:#1e40af;font-size:13px;line-height:1.5}.admin-modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px}.admin-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.admin-btn-primary{background:#1f2a33;color:#fff}.admin-btn-primary:hover{background:#16202a;box-shadow:0 4px 12px #1f2a334d;transform:translateY(-1px)}.admin-btn-secondary{background:#f3f4f6;color:#4b5563}.admin-btn-secondary:hover{background:#e5e7eb}.admin-permissions-modal{max-width:700px}.permissions-current-display{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;color:#495057;font-family:Courier New,monospace;font-size:13px;line-height:1.6;padding:14px 16px}.permissions-description{color:#6b7280;font-size:13px;margin-bottom:16px;margin-top:0}.permissions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}@media (max-width:768px){.permissions-grid{grid-template-columns:1fr}}.permission-category{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:20px;transition:all .3s ease}.permission-category:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.permission-category-title{align-items:center;border-bottom:2px solid #f3f4f6;color:#1f2937;display:flex;font-size:15px;font-weight:700;gap:8px;margin:0 0 16px;padding-bottom:12px}.permission-category-title:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:20px;width:4px}.permission-checkbox-label{align-items:center;background:#fafafa;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px 14px;position:relative;transition:all .2s ease}.permission-checkbox-label:hover{background:#f0f9ff;border-color:#bae6fd;transform:translateX(4px)}.permission-checkbox-label:last-child{margin-bottom:0}.permission-checkbox{opacity:0;pointer-events:none;position:absolute}.permission-checkbox-custom{background:#fff;border:2.5px solid #cbd5e1;border-radius:7px;box-shadow:0 1px 3px #0000001a;flex-shrink:0;height:22px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);width:22px}.permission-checkbox:checked+.permission-checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 2px 8px #667eea66;transform:scale(1.05)}.permission-checkbox:checked+.permission-checkbox-custom:after{border:solid #fff;border-width:0 2.5px 2.5px 0;content:"";height:11px;left:7px;position:absolute;top:3px;transform:rotate(45deg);width:6px}.permission-checkbox:disabled+.permission-checkbox-custom{background:#f3f4f6;border-color:#e5e7eb;cursor:not-allowed;opacity:.5}.permission-checkbox-label:has(.permission-checkbox:disabled){background:#f9fafb;cursor:not-allowed;opacity:.6}.permission-checkbox-label:has(.permission-checkbox:disabled):hover{border-color:#0000;transform:none}.permission-name{color:#374151;flex:1 1;font-size:14px;font-weight:600;-webkit-user-select:none;user-select:none}.permission-all-container{border-top:3px solid #e5e7eb;margin-top:20px;padding-top:20px}.permission-all-label{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:3px solid #f59e0b;border-radius:14px;box-shadow:0 4px 12px #f59e0b40;margin-bottom:0;padding:18px 20px;transition:all .3s ease}.permission-all-label:hover{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#d97706;box-shadow:0 6px 16px #f59e0b59;transform:translateY(-2px)}.permission-checkbox-all{background:#ffffff40;border-color:#fffc;border-width:2.5px;box-shadow:0 2px 4px #00000026;height:24px;width:24px}.permission-checkbox:checked+.permission-checkbox-all{background:#fff;border-color:#fff;box-shadow:0 3px 8px #0003}.permission-checkbox:checked+.permission-checkbox-all:after{border-color:#f59e0b;border-width:0 3px 3px 0;height:11px;left:8px;top:4px;width:6px}.permission-all-name{color:#fff;flex:1 1;text-shadow:0 1px 2px #0000001a}.permission-all-name strong{display:block;font-size:16px;font-weight:800;letter-spacing:.3px;margin-bottom:6px}.permission-all-name small{display:block;font-size:13px;font-weight:500;opacity:.95}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.action-btn svg{flex-shrink:0}.action-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #667eea33;color:#fff}.action-btn-primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.action-btn-primary:active{transform:translateY(0)}.action-btn-edit{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px #10b98133;color:#fff}.action-btn-edit:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-2px)}.action-btn-edit:active{transform:translateY(0)}.action-btn-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 2px 4px #f5576c33;color:#fff}.action-btn-secondary:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 4px 8px #f5576c4d;transform:translateY(-2px)}.action-btn-secondary:active{transform:translateY(0)}.action-btn-danger{background:linear-gradient(135deg,#f093fb,#f5576c);background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 4px #dc262633;color:#fff}.action-btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px #dc26264d;transform:translateY(-2px)}.action-btn-danger:active{transform:translateY(0)}.protected-label{align-items:center;background:#f3f4f6;border-radius:8px;color:#6b7280;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.protected-label svg{flex-shrink:0}.api-config-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;overflow:hidden;transition:all .3s ease}.api-config-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000000d}.api-config-header{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;justify-content:space-between;padding:20px 24px}.api-config-header,.api-icon{align-items:center;display:flex}.api-icon{border-radius:12px;box-shadow:0 4px 12px #00000026;flex-shrink:0;height:48px;justify-content:center;width:48px}.api-config-title{color:#1f2937;font-size:18px;font-weight:700;margin:0 0 4px}.api-config-description{color:#6b7280;font-size:13px;margin:0}.api-config-body{padding:24px}.admin-form-group{margin-bottom:20px}.admin-form-group:last-of-type{margin-bottom:24px}.admin-form-label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.admin-form-input,.admin-form-select{background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px 14px;transition:all .2s ease;width:100%}.admin-form-input:focus,.admin-form-select:focus{border-color:#9333ea;box-shadow:0 0 0 3px #9333ea1a;outline:none}.admin-form-input::placeholder{color:#9ca3af}.admin-form-input.input-error,.admin-form-select.input-error{background:#fef2f2;border-color:#ef4444}.admin-form-input.input-error:focus,.admin-form-select.input-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #ef44441a}.admin-form-error{color:#ef4444;font-weight:500}.admin-form-error,.admin-form-help{display:block;font-size:12px;margin-top:6px}.admin-form-help{color:#6b7280}.admin-form-checkbox-label{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.admin-form-checkbox-label:hover{background:#f3f4f6;border-color:#d1d5db}.admin-form-checkbox-label input[type=checkbox]{accent-color:#1f2a33;cursor:pointer;flex-shrink:0;height:20px;width:20px}.admin-form-checkbox-label span{flex:1 1}.api-save-button{align-items:center;background:linear-gradient(135deg,#1f2a33,#3f4b57);border:none;border-radius:12px;box-shadow:0 4px 12px #1f2a334d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;transition:all .3s ease;width:100%}.api-save-button:hover{background:linear-gradient(135deg,#3f4b57,#1f2a33);box-shadow:0 6px 16px #1f2a3366;transform:translateY(-2px)}.api-save-button:active{transform:translateY(0)}.api-last-updated{border-top:1px solid #f3f4f6;color:#9ca3af;font-size:11px;margin-top:12px;padding-top:12px;text-align:center}@media (max-width:1200px){.admin-panel-card>div[style*=gridTemplateColumns]{grid-template-columns:1fr!important}}.admin-role-badge{border-radius:12px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.admin-role-badge.super-admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.admin-role-badge.admin{background:#e7f4ea;color:#287a43}@media (max-width:960px){.admin-page{grid-template-columns:1fr}.admin-sidebar{border-bottom:1px solid #ffffff14;border-right:none}.admin-topbar{align-items:flex-start;flex-direction:column}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card-header{align-items:flex-start;flex-direction:column}.admin-filters{flex-direction:column;width:100%}.admin-filters input,.admin-filters select{width:100%}}.confirmation-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirmation-modal{animation:slideUp .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:400px;padding:24px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirmation-modal-header{margin-bottom:16px}.confirmation-modal-header h3{color:#1f2a33;font-size:20px;font-weight:600;margin:0}.confirmation-modal-body{margin-bottom:24px}.confirmation-modal-body p{color:#334754;font-size:14px;line-height:1.5;margin:0}.confirmation-modal-actions{display:flex;gap:10px;justify-content:flex-end}.confirmation-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:10px 20px;transition:all .2s}.confirmation-modal-btn-cancel{background:#f3f4f6;border:1px solid #e5e7eb;color:#334754}.confirmation-modal-btn-cancel:hover{background:#e5e7eb;border-color:#d1d5db}.confirmation-modal-btn-primary{background:#1f2a33;color:#fff}.confirmation-modal-btn-primary:hover{background:#324553}.confirmation-modal-btn-danger{background:#dc2626;color:#fff}.confirmation-modal-btn-danger:hover{background:#b91c1c}.confirmation-modal-btn-success{background:#10b981;color:#fff}.confirmation-modal-btn-success:hover{background:#059669}.App{background-color:var(--background);min-height:100vh}.app-container{background:#fff;box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:428px;min-height:100vh;padding-bottom:70px;position:relative}.header{align-items:center;background:#5e6f7a;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.logo{color:#fff;font-size:20px;font-weight:600;text-decoration:none}.logo-container{align-items:center;display:flex;gap:12px}.logo-text{color:#fff;font-size:22px;font-weight:600;letter-spacing:.3px}.landing-header{align-items:center;background:linear-gradient(135deg,#5e6f7a,#4a5a64);display:flex;justify-content:center;padding:20px}.landing-page{padding:48px 24px 40px;text-align:center}.landing-visual{margin-bottom:24px}.landing-icon{align-items:center;background:#5e6f7a1a;border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto;width:100px}.landing-page h1{color:#5e6f7a;font-size:32px;font-weight:600;margin-bottom:16px}.tagline{color:#7a7a7a;font-size:16px;line-height:1.5;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:340px}.landing-actions{align-items:center;display:flex;flex-direction:column;gap:16px}.btn{padding:12px 24px;transition:all .3s ease}.btn,.btn-primary,.cta-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;width:100%}.btn-primary,.cta-button{background:#5e6f7a;color:#fff;padding:16px 32px}.btn-primary{max-width:none}.cta-button{max-width:300px}.btn-primary:hover,.cta-button:hover{background:#4a5a64}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:initial;border:2px solid var(--primary-base);color:var(--primary-base)}.btn-secondary:hover{background-color:var(--primary-base);color:#fff}.secondary-link{color:#5e6f7a;font-size:14px;text-decoration:none}.secondary-link:hover{text-decoration:underline}.form-container{margin:0 auto;max-width:428px;padding:40px 20px}.form-card{background-color:var(--card-surface);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:40px 24px}.form-group{margin-bottom:20px}.form-label{color:var(--primary-text);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-input{background:#fafaf8;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:var(--primary-base);outline:none}.password-input-wrapper{position:relative}.password-toggle-btn{align-items:center;background:none;border:none;color:#7a7a7a;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s}.password-toggle-btn:hover{color:var(--primary-base)}.password-toggle-btn:focus{outline:none}.form-error{margin-top:5px}.form-error,.form-error-centered{color:var(--error);font-size:14px}.form-error-centered{background:#fff5f5;border:1px solid #fecaca;border-radius:6px;display:block;font-weight:500;margin:16px auto;max-width:100%;padding:12px;text-align:center}.form-success{color:var(--success);font-size:14px;margin-top:5px}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:var(--primary-base);font-size:32px;margin-bottom:10px}.auth-header p{font-size:16px}.auth-header p,.auth-link{color:var(--secondary-text)}.auth-link{font-size:14px;margin-top:20px;text-align:center}.auth-link a{color:var(--primary-base);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.otp-container{display:flex;gap:10px;justify-content:center;margin:20px 0}.otp-input{border:2px solid #e0e0e0;border-radius:8px;font-size:24px;font-weight:600;height:50px;text-align:center;width:50px}.otp-input:focus{border-color:var(--primary-base);outline:none}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top:3px solid var(--primary-base);display:inline-block;height:20px;margin-right:10px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.bottom-nav{background:#5e6f7a;border-top:1px solid #4a5a64;bottom:0;display:flex;justify-content:space-around;left:0;margin:0 auto;max-width:428px;padding:12px 0;position:fixed;right:0;width:100%;z-index:100}.nav-item{align-items:center;color:#fff9;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;text-decoration:none;transition:color .2s}.nav-item.active{color:#fff}.nav-item svg{stroke:currentColor;fill:none;stroke-width:2;height:24px;width:24px}.nav-label{font-size:11px}.success-banner{animation:slideDown .3s ease;background:#8faf9a;color:#fff;font-size:14px;left:50%;max-width:428px;padding:12px 20px;position:fixed;text-align:center;top:0;transform:translateX(-50%);width:100%;z-index:200}@keyframes slideDown{0%{transform:translateX(-50%) translateY(-100%)}to{transform:translateX(-50%) translateY(0)}}.toast-container{display:flex;flex-direction:column;gap:8px;left:0;margin:0 auto;max-width:428px;padding:0 12px;pointer-events:none;position:fixed;right:0;top:12px;z-index:500}.toast{animation:toastSlideIn .2s ease;border-radius:10px;box-shadow:0 6px 16px #0000002e;color:#fff;font-size:14px;font-weight:500;padding:12px 14px;pointer-events:auto}.toast-success{background:#2f855a}.toast-error{background:#c53030}.toast-info{background:#2b6cb0}.toast-warning{background:#b7791f}.toast-confirm{background:#1f2937}.toast-confirm-message{line-height:1.4;margin-bottom:10px}.toast-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.toast-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:7px 10px}.toast-btn-cancel{background:#ffffff2e;color:#fff}.toast-btn-delete{background:#c53030;color:#fff}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:428px){.app-container,.bottom-nav,.success-banner{max-width:100%}}
/*# sourceMappingURL=main.db858561.css.map*/