.splash-container{position:relative;width:100vw;height:100vh;overflow:hidden;font-family:Segoe UI,sans-serif;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffe6b3,#fff5e6,#fef9f4);background-size:400% 400%;animation:backgroundShift 20s ease infinite}.splash-container.debug-mode{background:linear-gradient(135deg,#b3ffd1,#e6fff2,#d9fff0);background-size:400% 400%;animation:backgroundShift 20s ease infinite}.splash-container.debug-mode:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);animation:driftLight 30s linear infinite;mix-blend-mode:screen;pointer-events:none;z-index:0;transform:translate(-50%,-50%);filter:blur(60px)}@keyframes driftLight{0%{transform:translate(-30%,-30%)}50%{transform:translate(0)}to{transform:translate(-30%,-30%)}}.splash-container.debug-mode .splash-subtext:after{content:" [DEBUG MODE ACTIVE]";color:#006400;font-weight:700;margin-left:10px}@keyframes backgroundShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.splash-magic-background{position:absolute;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,255,255,.25) 0%,transparent 70%);animation:pulse 6s infinite ease-in-out;z-index:1}@keyframes pulse{0%,to{opacity:.2}50%{opacity:.4}}.splash-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;z-index:3}.splash-logo-static{width:160px;height:auto;margin-bottom:20px;object-fit:contain}.splash-title{font-size:2rem;font-weight:700;margin-bottom:10px}.splash-subtext{font-size:1.1rem;color:#555;margin-bottom:24px}.fade-out{animation:fadeOut 1.2s forwards}@keyframes fadeOut{to{opacity:0}}.step-button{background-color:#eb5a2e;color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-primary);padding:10px 24px;border:none;border-radius:12px;cursor:pointer;position:relative;z-index:1;overflow:visible}.step-button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:12px;z-index:-1;pointer-events:none;box-shadow:0 0 rgba(255,90,46,00.6s);animation:pulse-glow 2.5s infinite ease-in-out}@keyframes pulse-glow{0%{box-shadow:0 0 #eb5a2e66}70%{box-shadow:0 0 12px 12px #eb5a2e00}to{box-shadow:0 0 #eb5a2e00}}.step-button:disabled{background-color:#ddd!important;color:#888!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;opacity:.6}.step-button:hover{background-color:#cf4219}.step-button:disabled{background-color:#ddd!important;color:#888!important;cursor:not-allowed!important;opacity:.6}.step-button:disabled:after{animation:none!important;box-shadow:none!important}.other-button{background-color:#ff9f1c;color:#fff;border:none;padding:10px 16px;border-radius:20px;font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.other-button:hover{background-color:#ffa733;transform:scale(1.05)}.map-title{position:fixed;left:36px;width:168px;text-align:left;font-family:var(--font-primary);color:#495057;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:var(--leading-normal);z-index:9998}.map-title-line{font-size:var(--text-xl);margin-bottom:12px;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;font-weight:var(--font-normal);color:#6c757d}.map-title-question{font-size:var(--text-xl);font-style:italic;font-weight:var(--font-medium);overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;color:#495057}.map-canvas{width:100vw;height:100vh;display:block;background-color:#f9f9f9}.rim-container{width:100vw;height:100vh;display:flex;flex-direction:row;background-color:#fdfdfd;overflow:hidden;position:relative}.rim-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100vh;background-color:#fff;text-align:center}.rim-logo{width:120px;margin-bottom:20px}.rim-title{font-size:28px;font-weight:700;margin-bottom:10px}.rim-form{display:flex;flex-direction:column;gap:12px;align-items:center}.rim-input{padding:10px;font-size:16px;width:220px;border:1px solid #ccc;border-radius:4px}.rim-map{flex-grow:1;background-color:#f9f9f9}.edit-ring{stroke:orange;stroke-width:4;fill:none;stroke-dasharray:8,8;stroke-linecap:round;stroke-dashoffset:0;animation:rotate-dash 2s linear infinite;transform-origin:center}@keyframes rotate-dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-12}}.map-fade-out{opacity:0;transition:opacity .8s ease-in-out;pointer-events:none}.field-group{margin-bottom:24px;display:flex;flex-direction:column}.label-row{display:flex;align-items:center;margin-bottom:8px;gap:8px}.field-label{font-weight:600;color:#1f2d3d;font-size:14px}.tooltip-container{position:relative;display:flex;align-items:center;justify-content:center}.tip-logo{width:24px;height:24px;transition:transform .3s ease;cursor:pointer}.tip-logo:hover{transform:scale(1.15)}.tooltip-container:hover .tooltip-box{display:flex}.tooltip-box{display:none;position:absolute;top:36px;left:0;z-index:10;background-color:#fbe5dc;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #0000001f;width:240px;font-size:13px;line-height:1.4;flex-direction:row;gap:12px}.tooltip-line{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-top:2px}.lightbulb-icon{color:#cc4b00;width:18px;height:18px;margin-bottom:4px}.vertical-line{width:2px;height:100%;background-color:#e86a33}.tooltip-text{color:#333;font-size:13px;max-width:180px}.date-picker-row{display:flex;align-items:center;gap:1rem;margin-top:.25rem}.date-label{font-size:.95rem;color:#333;min-width:220px}.calendar-icon-input{padding:4px 8px;font-size:1rem;border:1px solid #ccc;border-radius:4px}.genie-icon{cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:filter .2s ease-in-out}.genie-icon:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.horizontal-menu-bar{position:fixed;top:20px;left:20px;width:200px;z-index:9999;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:16px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;gap:16px}.weather-button{background:#ffffffe6;border:1px solid #e0e0e0;border-radius:20px;padding:8px 16px;font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.menu-bar{display:flex;gap:0;border-bottom:1px solid #e9ecef;padding-bottom:12px;flex-wrap:wrap}.menu-item{position:relative}.menu-button{background:none;border:none;padding:6px 12px;font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-primary);color:#495057;cursor:pointer;border-radius:6px;transition:all .2s ease}.menu-button:hover{background:#f8f9fa;color:#212529}.menu-button.active{background:#e9ecef;color:#212529;font-weight:600}.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:180px;z-index:10000;margin-top:4px}.dropdown-item{width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:14px;color:#495057;cursor:pointer;transition:background-color .2s ease;border-radius:0}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.dropdown-item:hover:not(:disabled){background:#f8f9fa;color:#212529}.dropdown-item:disabled{color:#adb5bd;cursor:not-allowed}.dropdown-submenu{position:relative}.submenu-trigger{display:flex;justify-content:space-between;align-items:center}.submenu-trigger:after{content:"▶";font-size:10px;margin-left:8px;transition:transform .2s ease}.submenu{position:absolute;left:100%;top:0;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:160px;z-index:10001;margin-left:4px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;transition:background-color .2s ease;border-radius:0}.checkbox-item:first-child{border-radius:8px 8px 0 0}.checkbox-item:last-child{border-radius:0 0 8px 8px}.checkbox-item:hover{background:#f8f9fa}.checkbox-item input[type=checkbox]{margin:0;cursor:pointer}.checkbox-item span{font-size:14px;color:#495057;cursor:pointer}.control-panel{display:flex;flex-direction:column;gap:8px;align-items:stretch}.control-button{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:600;font-size:13px;text-align:center;width:100%}.control-button.primary{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;box-shadow:0 2px 8px #eb5a2e4d;position:relative;overflow:visible}.control-button.primary:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px;z-index:-1;pointer-events:none;box-shadow:0 0 #eb5a2e66;animation:pulse-glow 2.5s infinite ease-in-out}@keyframes pulse-glow{0%{box-shadow:0 0 #eb5a2e66}70%{box-shadow:0 0 8px 8px #eb5a2e00}to{box-shadow:0 0 #eb5a2e00}}.control-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#cf4219,#b8370f);transform:translateY(-1px);box-shadow:0 4px 12px #eb5a2e66}.control-button.secondary{background:linear-gradient(135deg,#ff9f1c,#ff8c00);color:#fff;box-shadow:0 2px 8px #ff9f1c4d;margin-top:8px}.control-button.secondary:hover:not(:disabled){background:linear-gradient(135deg,#ff8c00,#e67e00);transform:translateY(-1px);box-shadow:0 4px 12px #ff9f1c66}.control-button:disabled{background:#dee2e6!important;color:#6c757d!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;opacity:.6}.control-button:disabled:after{animation:none!important;box-shadow:none!important}.control-button.disabled{background:#dee2e6!important;color:#6c757d!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;opacity:.6}.map-dashboard{border-top:1px solid #e9ecef;padding-top:12px}.dashboard-header h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#495057}.current-map-label{font-size:12px;color:#6c757d;font-style:italic;margin-bottom:8px;padding:4px 8px;background:#f8f9fa;border-radius:4px;border-left:3px solid #ff9f1c}.map-list{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow-y:auto}.map-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;min-height:auto}.map-item:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.map-item.active{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border-color:#ff6b35;box-shadow:0 2px 8px #ff6b354d}.map-item.add-new-self{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-color:#28a745;font-weight:600}.map-item.add-new-self:hover{background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.maps-list .map-item .map-title{font-weight:600;font-size:14px;color:#213547;margin:0;line-height:1.2;width:100%;word-wrap:break-word;overflow-wrap:break-word;position:static!important;left:auto!important;top:auto!important;z-index:auto!important;pointer-events:auto!important}.map-item .map-description{font-size:12px;color:#6c757d;margin:0;line-height:1.3;opacity:.8}.map-item .map-date{font-size:11px;color:#adb5bd;margin:4px 0 0;align-self:flex-end}.map-icon{font-size:16px;flex-shrink:0}.map-info{flex:1;min-width:0}.map-name{font-weight:600;font-size:12px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-date{font-size:10px;color:inherit;opacity:.8}.map-status{font-size:16px;flex-shrink:0}@media (max-width: 768px){.horizontal-menu-bar{left:10px;width:180px;padding:12px}.menu-bar{flex-wrap:wrap;gap:4px}.menu-button{padding:6px 12px;font-size:13px}.dropdown-menu{min-width:160px}}.edit-drawer{position:fixed;top:0;right:0;height:100%;width:460px;background:transparent;box-shadow:-4px 0 10px #0000001a;transform:translate(100%);transition:transform .6s ease;z-index:999;overflow-y:auto;padding:16px}.edit-drawer:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fafaff,#f0f5fa);animation:softPulse 6s ease-in-out infinite;z-index:-1}@keyframes softPulse{0%{filter:brightness(1)}50%{filter:brightness(1.05)}to{filter:brightness(1)}}.edit-drawer.open{transform:translate(0)}.edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.edit-header h2{font-size:20px;font-weight:700;margin:0;color:#333}.edit-close{font-size:20px;cursor:pointer;color:#666;transition:color .3s ease}.edit-close:hover{color:#000}.field-group{margin-bottom:16px}.days-from-now{text-align:center;font-size:14px;color:#999;margin-bottom:.5rem;font-style:italic}.horizontal-pair{display:flex;gap:20px;justify-content:space-between}.horizontal-pair .field-group{flex:1;margin-bottom:0}.banner-footer{margin-top:2rem;display:flex;justify-content:center;align-items:flex-end}.identity-banner{max-width:100%;height:auto;opacity:.7}.vertical-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;writing-mode:vertical-lr;width:8px;height:150px;background:#ddd;border-radius:4px;margin:20px auto;display:block;cursor:pointer}.vertical-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:coral;border-radius:50%;cursor:pointer;border:2px solid #555}.vertical-slider::-moz-range-thumb{width:16px;height:16px;background:coral;border-radius:50%;cursor:pointer;border:2px solid #555}.slider-container{display:flex;flex-direction:column;align-items:center;margin-top:8px;margin-bottom:16px}.slider-container span{font-size:12px;color:#666}.rating-display{font-size:14px;color:#444;margin-top:4px}.relationship-types{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px}.relationship-types-row{display:flex;justify-content:center;gap:20px}.positivity-layout{display:flex;justify-content:center;align-items:flex-start;gap:16px}.drawer-buttons{display:flex;justify-content:center;gap:24px;margin-top:2rem}.coaching-tip-panel{display:flex;align-items:flex-start;background:#fffaf5;border-left:4px solid #ff8c42;padding:12px 16px;margin-top:24px;border-radius:6px;box-shadow:0 1px 3px #0000000f;gap:12px}.tip-icon-column{flex-shrink:0}.tip-logo{width:21.6px;height:21.6px;vertical-align:middle}.tip-text-column{flex:1}.tip-text-column p{margin:0 0 6px;font-size:13px;color:#333;line-height:1.4}.coaching-tip-fade-container{position:relative}.fade-base{opacity:0;transition:opacity 2s ease-in-out}.fade-in{opacity:1}.label-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.label-row .tip-logo{width:21.6px;height:21.6px;vertical-align:middle}.relational-preview{font-style:italic;font-size:14px;line-height:1.4;color:#777;margin-bottom:8px}.standard-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#ff660026!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;animation:modalFadeIn .3s ease-out forwards}.standard-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out forwards}.standard-modal-header{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;padding:24px;border-radius:16px 16px 0 0;text-align:center;position:relative}.standard-modal-header h2{margin:0;font-size:24px;font-weight:600}.standard-close-button{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.standard-close-button:hover{background:#fff3}.standard-modal-body{padding:24px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 600px){.standard-modal-content{width:95vw;margin:10px}.standard-modal-header,.standard-modal-body{padding:20px}}.my-list-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:800px;width:90vw;height:80vh;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #ff6b35;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff}.header-left{display:flex;align-items:center;gap:16px}.back-button{background:none;border:none;color:#fff;font-size:var(--text-2xl);font-family:var(--font-primary);cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.back-button:hover{background-color:#fff3}.modal-header h2{margin:0;font-size:var(--text-2xl);font-weight:var(--font-semibold);font-family:var(--font-primary)}.close-button{background:none;border:none;color:#fff;font-size:var(--text-3xl);font-family:var(--font-primary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-button:hover{background-color:#fff3}.modal-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;box-sizing:border-box;min-height:0;scroll-behavior:smooth}.tab-toggle{display:flex;margin-bottom:20px;border-bottom:2px solid #e1e5e9;flex-shrink:0}.tab-button{background:none;border:none;padding:12px 24px;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-primary);color:#6c757d;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease}.tab-button:hover{color:#ff6b35}.tab-button.active{color:#ff6b35;border-bottom-color:#ff6b35}.list-item{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;border:none;border-bottom:1px solid #e1e5e9;border-radius:0;margin-bottom:0;background:#fafbfc;transition:all .6s ease;opacity:1;transform:translate(0)}.list-item:last-child{border-bottom:none}.completed-item{background:#f8f9fa;opacity:.8}.completed-item .item-text.completed{text-decoration:line-through;color:#6c757d;cursor:default}.completed-item .item-text.completed:hover{background-color:transparent}.delete-button{background:#dc3545;color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.delete-button:hover{background:#c82333;transform:scale(1.05)}.category-display{display:flex;gap:8px;flex-shrink:0}.category-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;flex-shrink:0}.category-badge.urgent{background:#dc3545}.category-badge.important{background:#007bff}.category-badge.anxiety{background:#fd7e14}.category-badge.joyful{background:#28a745}.category-badge.helpful{background:#6f42c1}.list-item.completing{opacity:0;transform:translate(-20px);pointer-events:none}.list-item:hover{border-color:#ff6b35;box-shadow:0 2px 8px #ff6b351a}.complete-button{background:transparent;color:#28a745;border:2px solid #28a745;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:all .3s ease;flex-shrink:0;box-sizing:border-box}.complete-button:hover{background:#28a745;color:#fff;transform:scale(1.05)}.complete-button.completed{background:#28a745;color:#fff;transform:scale(1.1)}.item-content{flex:1;min-width:0}.item-text{cursor:pointer;padding:8px 0;border-radius:4px;transition:background-color .2s}.item-text:hover{background-color:#ff6b350d}.item-date{display:block;font-size:12px;color:#6c757d;margin-top:4px;font-style:italic}.edit-mode{width:100%}.edit-textarea{width:calc(100% - 32px);min-height:80px;padding:12px;border:2px solid #ff6b35;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical;margin-bottom:8px;box-sizing:border-box}.edit-actions{display:flex;gap:8px}.save-btn,.cancel-btn{padding:6px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.save-btn{background:#28a745;color:#fff}.save-btn:hover{background:#218838}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268}.category-checkboxes{display:flex;gap:8px;flex-shrink:0}.category-checkbox{display:flex;flex-direction:column;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.category-checkbox input[type=checkbox]{display:none}.category-checkbox span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:#fff;border:2px solid #333;transition:all .3s ease;flex-shrink:0;min-width:32px;min-height:32px}.category-checkbox.urgent span{color:#dc3545;border-color:#dc3545}.category-checkbox.important span{color:#007bff;border-color:#007bff}.category-checkbox.anxiety span{color:#fd7e14;border-color:#fd7e14}.category-checkbox.joyful span{color:#28a745;border-color:#28a745}.category-checkbox.helpful span{color:#6f42c1;border-color:#6f42c1}.category-checkbox input[type=checkbox]:checked+span{color:#fff;transform:scale(1.05);box-shadow:0 2px 8px #0003}.category-checkbox.urgent input[type=checkbox]:checked+span{background:#dc3545;border-color:#dc3545}.category-checkbox.important input[type=checkbox]:checked+span{background:#007bff;border-color:#007bff}.category-checkbox.anxiety input[type=checkbox]:checked+span{background:#fd7e14;border-color:#fd7e14}.category-checkbox.joyful input[type=checkbox]:checked+span{background:#28a745;border-color:#28a745}.category-checkbox.helpful input[type=checkbox]:checked+span{background:#6f42c1;border-color:#6f42c1}.add-item-section{margin-bottom:24px;padding:20px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6;flex-shrink:0}.input-group{width:100%}.new-item-input{width:calc(100% - 32px);min-height:100px;padding:16px;border:2px solid #e1e5e9;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;margin-bottom:12px;transition:border-color .2s;box-sizing:border-box}.new-item-input:focus{outline:none;border-color:#ff6b35}.input-footer{display:flex;justify-content:space-between;align-items:center}.char-count{font-size:12px;color:#6c757d}.add-button{background:#ff6b35;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.add-button:hover:not(:disabled){background:#e55a2b;transform:translateY(-1px)}.add-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.category-legend{background:#f8f9fa;padding:20px;border-radius:8px;border-left:4px solid #ff6b35;flex-shrink:0}.legend-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;color:#495057}.legend-item:last-child{margin-bottom:0}.legend-color{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;flex-shrink:0}.legend-color.urgent{background:#dc3545}.legend-color.important{background:#007bff}.legend-color.anxiety{background:#fd7e14}.legend-color.joyful{background:#28a745}.legend-color.helpful{background:#6f42c1}@media (max-width: 768px){.my-list-modal{width:95vw;max-height:90vh}.modal-content{padding:16px}.list-item{flex-direction:column;gap:8px}.category-checkboxes{justify-content:center}.legend-item{flex-direction:column;align-items:flex-start;gap:8px}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;position:relative;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-button:hover{background-color:#f3f4f6;color:#374151}.loading{padding:60px 24px;text-align:center;color:#6b7280;font-size:1.1rem}.no-lists{padding:40px 24px;text-align:center}.no-lists p{color:#6b7280;margin-bottom:24px;font-size:1.1rem}.create-first-list-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d}.create-first-list-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.lists-container{padding:16px 24px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;transition:all .2s ease;background:#fff}.list-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.list-info{flex:1;cursor:pointer;padding-right:16px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.list-name{margin:0;color:#1f2937;font-size:1.1rem;font-weight:600}.item-count{background:#f3f4f6;color:#6b7280;padding:4px 8px;border-radius:12px;font-size:.875rem;font-weight:500}.list-description{margin:0 0 12px;color:#6b7280;font-size:.9rem;line-height:1.4}.list-meta{display:flex;gap:16px;font-size:.8rem;color:#9ca3af}.list-actions{display:flex;gap:8px}.edit-button,.delete-button{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:1.1rem}.edit-button:hover{background-color:#f0f9ff;color:#0369a1}.delete-button:hover{background-color:#fef2f2;color:#dc2626}.create-new-section{padding:16px 24px 24px;border-top:1px solid #e5e7eb}.create-new-list-button{width:100%;background:#f8fafc;color:#374151;border:2px dashed #d1d5db;padding:16px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.create-new-list-button:hover{background:#f1f5f9;border-color:#9ca3af;color:#1f2937}.create-list-form{padding:24px}.create-list-form h3{margin:0 0 20px;color:#1f2937;font-size:1.25rem;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button,.create-button{padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.cancel-button{background:#f3f4f6;color:#374151}.cancel-button:hover{background:#e5e7eb}.create-button{background:#667eea;color:#fff}.create-button:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px)}.create-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}@media (max-width: 640px){.modal-content{width:95%;margin:20px}.modal-header{padding:20px 20px 16px}.lists-container{padding:16px 20px}.create-new-section{padding:16px 20px 24px}.create-list-form{padding:20px}.list-meta{flex-direction:column;gap:4px}}.analysis-choice-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:600px;width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;position:relative}.weather-widget{position:absolute;top:20px;right:20px;z-index:1000}.weather-button{background:#ffffffe6;border:1px solid #e0e0e0;border-radius:20px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.weather-button:hover{background:#fff;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.modal-header{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;padding:24px;text-align:center;position:relative}.modal-header h2{margin:0;font-size:24px;font-weight:600}.close-button{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease}.close-button:hover{background:#fff3}.modal-content{padding:24px;flex:1;overflow-y:auto}.modal-description{text-align:center;color:#666;margin-bottom:24px;font-size:16px;line-height:1.5}.analysis-options{display:grid;gap:16px;margin-bottom:24px}.analysis-option{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.analysis-option:hover{border-color:#eb5a2e;background:#fff5f2;transform:translateY(-2px);box-shadow:0 8px 20px #eb5a2e26}.analysis-option:active{transform:translateY(0)}.option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.option-header h3{margin:0;color:#333;font-size:18px;font-weight:600}.option-icon{font-size:24px;background:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.option-description{margin:0;color:#666;font-size:14px;line-height:1.5}.modal-footer{text-align:center;padding-top:16px;border-top:1px solid #e9ecef}.cancel-button{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:background-color .2s ease}.cancel-button:hover{background:#5a6268}@media (max-width: 768px){.analysis-choice-modal{width:95vw;max-height:90vh}.modal-header,.modal-content{padding:20px}.option-header h3{font-size:16px}.option-description{font-size:13px}}.chip-genie-content{animation:genieAppear .4s ease-out}@keyframes genieAppear{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.genie-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 40px #0000004d;color:#fff;position:relative;overflow:hidden}.genie-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:sparkle 3s ease-in-out infinite}@keyframes sparkle{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.genie-message h3{margin:0 0 16px;font-size:var(--text-2xl);font-weight:var(--font-semibold);font-family:var(--font-primary);text-align:center}.genie-message p{margin:0 0 24px;font-size:var(--text-lg);line-height:var(--leading-normal);font-family:var(--font-primary);text-align:center}.coaching-suggestions{background:#ffffff26;border-radius:12px;padding:20px;margin-bottom:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.coaching-suggestions h4{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:#f0f8ff}.coaching-suggestions ul{margin:0;padding-left:20px;list-style:none}.coaching-suggestions li{margin-bottom:8px;padding-left:20px;position:relative;font-size:1rem;line-height:1.4}.coaching-suggestions li:before{content:"💡";position:absolute;left:0;top:0}.genie-actions{display:flex;flex-direction:column;gap:12px}.action-button{padding:14px 24px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.action-button.primary{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 4px 15px #ff6b3566}.action-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3599}.action-button.secondary{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3)}.action-button.secondary:hover{background:#ffffff4d;border-color:#ffffff80}.action-button.close{background:#ffffff1a;color:#fffc;font-size:.9rem;padding:10px 20px}.action-button.close:hover{background:#fff3;color:#fff}@media (max-width: 640px){.genie-content{padding:24px;margin:20px}.genie-message h3{font-size:1.3rem}.genie-message p{font-size:1rem}.coaching-suggestions{padding:16px}.action-button{padding:12px 20px;font-size:.9rem}}.coming-soon-modal{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.coming-soon-header{position:relative;padding:24px 24px 16px;text-align:center;border-bottom:1px solid #e9ecef}.coming-soon-icon{font-size:48px;margin-bottom:16px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.coming-soon-header h3{margin:0;font-size:28px;font-weight:700;color:#2c3e50;background:linear-gradient(135deg,#eb5a2e,#cf4219);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#6c757d;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background-color:#f8f9fa;color:#495057;transform:scale(1.1)}.coming-soon-content{padding:24px}.coming-soon-message{font-size:18px;line-height:1.6;color:#495057;margin-bottom:24px;text-align:center}.coming-soon-features{margin-bottom:24px}.coming-soon-features h4{color:#2c3e50;font-size:20px;font-weight:600;margin-bottom:16px;text-align:center}.coming-soon-features ul{list-style:none;padding:0;margin:0}.coming-soon-features li{padding:8px 0;color:#495057;font-size:16px;display:flex;align-items:center;gap:12px}.coming-soon-features li:before{content:"✨";font-size:18px}.coming-soon-note{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffeaa7;border-radius:12px;padding:20px;text-align:center}.coming-soon-note p{margin:0;color:#856404;font-size:16px;line-height:1.5}.coming-soon-actions{padding:24px;text-align:center;border-top:1px solid #e9ecef}.coming-soon-actions .control-button{min-width:120px;padding:12px 24px;font-size:16px;font-weight:600}@media (max-width: 600px){.coming-soon-modal{width:95%;margin:20px}.coming-soon-header,.coming-soon-content,.coming-soon-actions{padding:20px}.coming-soon-header h3{font-size:24px}.coming-soon-message{font-size:16px}}.registration-form-container{display:flex;justify-content:center;align-items:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.registration-form{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000040,0 0 0 1px #ffffff1a;padding:32px}.form-subtitle{margin:0 0 32px;color:#7f8c8d;font-size:16px;text-align:center;line-height:1.5}.message{padding:16px 20px;border-radius:12px;margin-bottom:24px;font-weight:500}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1;margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:14px}.form-group input{width:100%;padding:16px;border:2px solid #e9ecef;border-radius:12px;font-size:16px;transition:all .3s ease;box-sizing:border-box;background:#f8f9fa}.form-group input.error{border-color:#dc3545;background:#fff5f5}.form-help{display:block;margin-top:6px;font-size:12px;color:#7f8c8d;font-style:italic}.phone-input-container{position:relative}.phone-examples{margin-top:8px;padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #eb5a2e}.phone-examples .form-help{margin:0;line-height:1.4;color:#495057;font-style:normal}.phone-examples strong{color:#2c3e50;font-weight:600}.terms-hint{color:#e74c3c;font-size:12px;font-style:italic;margin-left:8px}.checkbox-input:disabled{opacity:.6;cursor:not-allowed}.checkbox-input:disabled+.checkmark{opacity:.6;cursor:not-allowed}.control-button.disabled{background-color:#bdc3c7!important;color:#7f8c8d!important;cursor:not-allowed!important;opacity:.6;border:1px solid #bdc3c7!important;transform:none!important;box-shadow:none!important}.control-button.disabled:hover{background-color:#bdc3c7!important;transform:none!important;box-shadow:none!important}.error-text{display:block;margin-top:6px;font-size:14px;color:#dc3545;font-weight:500}.checkbox-group{margin-bottom:32px}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;line-height:1.5;color:#2c3e50}.checkbox-label input[type=checkbox]{width:auto;margin:2px 0 0;flex-shrink:0}.link-button{background:none;border:none;color:#eb5a2e;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;margin:0}.link-button:hover{color:#cf4219}.form-actions{display:flex;gap:16px;margin-bottom:24px}.btn-primary,.btn-secondary{flex:1;padding:16px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #eb5a2e4d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.form-footer{text-align:center;padding-top:24px;border-top:1px solid #e9ecef}.form-footer p{margin:0;color:#7f8c8d;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.disclaimer-modal{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.disclaimer-header{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;padding:24px 32px;border-radius:20px 20px 0 0;text-align:center}.disclaimer-header h3{margin:0;font-size:24px;font-weight:700}.disclaimer-content{padding:32px}.disclaimer-content>p{margin:0 0 24px;font-size:16px;color:#2c3e50}.disclaimer-section{margin-bottom:24px}.disclaimer-section h4{margin:0 0 12px;color:#eb5a2e;font-size:18px;font-weight:600}.disclaimer-section p{margin:0 0 8px;color:#2c3e50;font-size:14px;line-height:1.5}.disclaimer-section ul{margin:8px 0 0 20px;padding:0}.disclaimer-section li{color:#2c3e50;font-size:14px;line-height:1.5;margin-bottom:4px}.disclaimer-actions{padding:0 32px 32px;display:flex;gap:16px}.disclaimer-actions .btn-primary,.disclaimer-actions .btn-secondary{flex:1;padding:14px 24px;font-size:16px}.terms-modal{background:#fff;border-radius:20px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.terms-header{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;padding:24px 32px;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.terms-header h3{margin:0;font-size:24px;font-weight:700}.close-btn{background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn:hover{background:#ffffff1a}.terms-content{padding:32px}.terms-section{margin-bottom:32px}.terms-section h4{margin:0 0 16px;color:#eb5a2e;font-size:20px;font-weight:600}.terms-section h5{margin:24px 0 8px;color:#2c3e50;font-size:16px;font-weight:600}.terms-section p{margin:0 0 16px;color:#2c3e50;font-size:14px;line-height:1.6}.terms-actions{padding:0 32px 32px;text-align:center}.terms-actions .btn-primary{padding:14px 32px;font-size:16px}.review-notification{background:#fff;border-radius:20px;max-width:500px;width:100%;box-shadow:0 20px 40px #0000004d}.review-header{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:32px;border-radius:20px 20px 0 0;text-align:center}.review-icon{font-size:48px;margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.review-header h3{margin:0;font-size:24px;font-weight:700}.review-content{padding:32px}.review-content>p{margin:0 0 24px;font-size:16px;color:#2c3e50;line-height:1.5}.review-steps{margin-bottom:24px}.review-steps h4{margin:0 0 16px;color:#eb5a2e;font-size:18px;font-weight:600}.review-steps ol{margin:0 0 0 20px;padding:0}.review-steps li{color:#2c3e50;font-size:14px;line-height:1.6;margin-bottom:12px}.review-info{background:#f8f9fa;padding:20px;border-radius:12px;border-left:4px solid #eb5a2e}.review-info h4{margin:0 0 8px;color:#2c3e50;font-size:16px;font-weight:600}.review-info p{margin:0;color:#7f8c8d;font-size:14px;line-height:1.5}.review-actions{padding:0 32px 32px;text-align:center}.review-actions .btn-primary{padding:14px 32px;font-size:16px}@media (max-width: 768px){.registration-form{padding:24px;margin:10px}.disclaimer-modal,.terms-modal,.review-notification{margin:10px}.disclaimer-actions,.terms-actions,.review-actions,.form-actions{flex-direction:column}}.login-form-container{display:flex;justify-content:center;align-items:center;padding:20px}.login-form{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;padding:40px;max-width:450px;width:100%;font-family:var(--font-primary)}.form-subtitle{font-size:var(--text-base);color:#666;text-align:center;margin:0 0 32px;line-height:var(--leading-normal)}.message{padding:16px;border-radius:8px;margin-bottom:24px;font-size:var(--text-sm);font-weight:var(--font-medium)}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:#333;margin-bottom:8px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:var(--text-base);font-family:var(--font-primary);transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:#dc3545}.error-text{display:block;color:#dc3545;font-size:var(--text-sm);margin-top:8px;font-weight:var(--font-medium)}.form-actions{display:flex;gap:16px;margin-top:32px}.btn-primary,.btn-secondary{flex:1;padding:14px 24px;border:none;border-radius:8px;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#f8f9fa;color:#495057;border:2px solid #e9ecef}.btn-secondary:hover:not(:disabled){background:#e9ecef;border-color:#dee2e6}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid #e9ecef}.form-footer p{font-size:var(--text-sm);color:#666;margin:0}.link-button{background:none;border:none;color:#667eea;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;text-decoration:underline;padding:0;margin:0;font-family:var(--font-primary)}.link-button:hover{color:#5a6fd8}@media (max-width: 600px){.login-form{padding:24px;margin:20px}.form-actions{flex-direction:column}.login-form h2{font-size:var(--text-2xl)}}.admin-dashboard{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#eb5a2e,#cf4219);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.admin-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #00000040,0 0 0 1px #ffffff1a;display:flex;flex-direction:column}.admin-header{background:linear-gradient(135deg,#cf4219,#b8370f);color:#fff;padding:0;border-radius:24px 24px 0 0}.header-content{display:flex;justify-content:space-between;align-items:center;padding:24px 32px}.header-left,.header-right{display:flex;align-items:center;gap:16px}.notification-badge{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:8px 12px;border-radius:20px;font-size:14px;font-weight:600;animation:pulse 2s infinite;box-shadow:0 4px 12px #e74c3c4d}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.admin-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.header-text h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.5px}.header-text p{margin:4px 0 0;font-size:14px;opacity:.8;font-weight:400}.close-btn{background:#ffffff1a;border:none;color:#fff;padding:12px;border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#fff3;transform:scale(1.05)}.close-btn svg{width:20px;height:20px}.message{margin:0 32px;padding:16px 20px;border-radius:12px;font-weight:500;animation:slideInDown .3s ease}.message.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border-left:4px solid #28a745}.message.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border-left:4px solid #dc3545}.message-content{display:flex;align-items:center;gap:12px}.message-icon{font-size:18px}.message-text{flex:1}.admin-main{flex:1;overflow-y:auto;padding:32px}.admin-login-container{display:flex;justify-content:center;align-items:center;min-height:400px}.login-card{background:#fff;padding:48px;border-radius:20px;box-shadow:0 10px 30px #0000001a;width:100%;max-width:480px;text-align:center}.login-header{margin-bottom:40px}.login-icon{font-size:48px;margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.login-header h2{margin:0 0 12px;font-size:28px;font-weight:700;color:#2c3e50}.login-header p{margin:0;color:#7f8c8d;font-size:16px}.admin-login-form{text-align:left}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;font-size:18px;color:#7f8c8d;z-index:1}.form-group input{width:100%;padding:16px 16px 16px 48px;border:2px solid #e9ecef;border-radius:12px;font-size:16px;transition:all .3s ease;box-sizing:border-box;background:#f8f9fa}.form-group input:focus{outline:none;border-color:#eb5a2e;background:#fff;box-shadow:0 0 0 3px #eb5a2e1a}.admin-login-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}.admin-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #eb5a2e4d}.admin-login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.large{width:32px;height:32px;border-width:3px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-content{animation:fadeIn .5s ease}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;padding:24px;border-radius:16px;text-align:center;box-shadow:0 8px 25px #eb5a2e33;transition:transform .3s ease}.stat-card:hover{transform:translateY(-4px)}.stat-card.clickable{cursor:pointer;position:relative;transition:all .3s ease}.stat-card.clickable:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 30px #eb5a2e4d}.stat-card.clickable.active{background:linear-gradient(135deg,#cf4219,#eb5a2e);transform:translateY(-4px);box-shadow:0 12px 30px #cf421966}.stat-indicator{position:absolute;top:16px;right:16px;font-size:16px;color:#fffc;transition:all .3s ease}.stat-card.clickable:hover .stat-indicator{color:#fff;transform:scale(1.1)}.stat-icon{font-size:32px;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.stat-content h3{margin:0 0 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.stat-number{margin:0;font-size:32px;font-weight:700}.all-users-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;animation:slideInDown .4s ease}.section-actions{display:flex;align-items:center;gap:16px}.user-count{color:#7f8c8d;font-size:14px;font-weight:500}.refresh-btn.small{padding:8px 16px;font-size:14px}.user-management{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.section-header h2{margin:0;font-size:24px;font-weight:700;color:#2c3e50}.refresh-btn{padding:12px 20px;background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px}.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #eb5a2e4d}.refresh-icon{font-size:16px}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d}.loading-state p{margin:16px 0 0;font-size:16px}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#2c3e50}.empty-state p{margin:0;font-size:16px}.users-list{display:flex;flex-direction:column;gap:16px}.users-list.all-users .user-card{background:#f8f9fa;border-left:4px solid #e9ecef}.users-list.all-users .user-card:hover{background:#fff;border-left-color:#eb5a2e}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.approved{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.status-badge.rejected{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.meta-item.status{font-weight:600;text-transform:capitalize}.meta-item.status.pending{color:#f39c12}.meta-item.status.approved{color:#27ae60}.meta-item.status.rejected{color:#e74c3c}.user-card{display:flex;align-items:center;gap:20px;padding:24px;background:#f8f9fa;border-radius:16px;border:1px solid #e9ecef;transition:all .3s ease}.user-card:hover{background:#fff;box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.user-avatar{width:56px;height:56px;background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.user-details{flex:1}.user-details h4{margin:0 0 12px;font-size:18px;font-weight:600;color:#2c3e50}.user-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#7f8c8d}.meta-icon{font-size:16px}.user-actions{display:flex;gap:12px;flex-shrink:0}.action-btn{padding:10px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;display:flex;align-items:center;gap:6px}.approve-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.approve-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a7454d}.reject-btn{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff}.reject-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc35454d}.btn-icon{font-size:16px}.admin-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:20px 32px}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-text{color:#7f8c8d;font-size:14px;font-weight:500}.logout-btn{padding:10px 20px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;display:flex;align-items:center;gap:6px}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e74c3c4d}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.admin-dashboard{padding:10px}.admin-container{border-radius:16px}.header-content{padding:20px 24px}.header-text h1{font-size:24px}.admin-main{padding:24px}.login-card{padding:32px 24px}.dashboard-stats{grid-template-columns:1fr;gap:16px}.user-card{flex-direction:column;align-items:flex-start;gap:16px}.user-actions{width:100%;justify-content:stretch}.action-btn{flex:1;justify-content:center}.section-header{flex-direction:column;gap:16px;align-items:flex-start}.footer-content{flex-direction:column;gap:12px;text-align:center}}.email-testing-section{background:#fff;border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 4px 12px #0000001a;border:1px solid #e9ecef}.email-testing-section .section-header{margin-bottom:20px}.email-testing-section .section-header h2{margin:0 0 8px;color:#2c3e50;font-size:20px;font-weight:600}.email-testing-section .section-header p{margin:0;color:#7f8c8d;font-size:14px}.test-email-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.test-email-input{flex:1;min-width:250px;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .2s ease}.test-email-input:focus{outline:none;border-color:#eb5a2e;box-shadow:0 0 0 3px #eb5a2e1a}.test-email-btn{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.test-email-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #eb5a2e4d}.test-email-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.test-email-controls{flex-direction:column;align-items:stretch}.test-email-input{min-width:auto}.test-email-btn{width:100%}}.email-management-section{background:#fff;border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 4px 12px #0000001a;border:1px solid #e9ecef}.email-management-section .section-header{margin-bottom:24px}.email-management-section .section-header h2{margin:0 0 8px;color:#2c3e50;font-size:20px;font-weight:600}.email-management-section .section-header p{margin:0;color:#7f8c8d;font-size:14px}.checkin-email-section{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid #e9ecef}.checkin-email-section h3{margin:0 0 16px;color:#2c3e50;font-size:16px;font-weight:600}.checkin-controls{display:flex;flex-direction:column;gap:16px}.user-select{padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s ease}.user-select:focus{outline:none;border-color:#eb5a2e;box-shadow:0 0 0 3px #eb5a2e1a}.checkin-message{padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease}.checkin-message:focus{outline:none;border-color:#eb5a2e;box-shadow:0 0 0 3px #eb5a2e1a}.checkin-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.checkin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #28a7454d}.checkin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.broadcast-email-section{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e9ecef}.broadcast-email-section h3{margin:0 0 16px;color:#2c3e50;font-size:16px;font-weight:600}.broadcast-controls{display:flex;flex-direction:column;gap:16px}.broadcast-type{display:flex;align-items:center;gap:12px}.broadcast-type label{font-weight:600;color:#2c3e50;min-width:50px}.type-select{padding:8px 12px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s ease;flex:1}.type-select:focus{outline:none;border-color:#eb5a2e;box-shadow:0 0 0 3px #eb5a2e1a}.broadcast-subject{padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .2s ease}.broadcast-subject:focus{outline:none;border-color:#eb5a2e;box-shadow:0 0 0 3px #eb5a2e1a}.broadcast-message{padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s ease}.broadcast-message:focus{outline:none;border-color:#eb5a2e;box-shadow:0 0 0 3px #eb5a2e1a}.broadcast-btn{background:linear-gradient(135deg,#6f42c1,#e83e8c);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.broadcast-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #6f42c14d}.broadcast-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.email-btn{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.email-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #17a2b84d}.email-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.checkin-controls,.broadcast-controls{gap:12px}.broadcast-type{flex-direction:column;align-items:stretch;gap:8px}.broadcast-type label{min-width:auto}.checkin-btn,.broadcast-btn{width:100%;align-self:stretch}}body{margin:0;padding:0;font-family:var(--font-primary);background-color:#fafafa}input,select{font-size:var(--text-sm);font-family:var(--font-primary)}.auth-overlay{position:relative;width:100vw;height:100vh}.auth-form-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.auth-form-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out forwards}.auth-form-header{background:linear-gradient(135deg,#eb5a2e,#cf4219);color:#fff;padding:24px;border-radius:16px 16px 0 0;text-align:center;position:relative}.auth-form-header h2{margin:0;font-size:24px;font-weight:600}.auth-form-body{padding:24px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Monaco", "Cascadia Code", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;font-family:var(--font-primary);line-height:var(--leading-normal);font-weight:var(--font-normal);color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:var(--font-medium);font-family:var(--font-primary);color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:var(--text-3xl);line-height:var(--leading-tight);font-family:var(--font-primary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-primary);background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
