﻿.simple-calendar table{-webkit-border-horizontal-spacing:0px;-webkit-border-vertical-spacing:0px;background-color:rgba(0,0,0,0);border:1px solid #dddddd;border-collapse:collapse;box-sizing:border-box;max-width:100%;width:100%}.simple-calendar tr{border-collapse:collapse}.simple-calendar th{padding:6px;border-bottom:2px solid #dddddd;border-collapse:collapse;border-left:1px solid #dddddd;border-right:1px solid #dddddd;border-top:0px none #333333;box-sizing:border-box;text-align:left}.simple-calendar td{padding:6px;vertical-align:top;width:14%;border:1px solid #ddd;border-top-color:#dddddd;border-top-style:solid;border-top-width:1px;border-right-color:#dddddd;border-right-style:solid;border-right-width:1px;border-bottom-color:#dddddd;border-bottom-style:solid;border-bottom-width:1px;border-left-color:#dddddd;border-left-style:solid;border-left-width:1px}.simple-calendar .day{height:80px}.simple-calendar .today{background:#FFFFC0}.simple-calendar .prev-month{background:#DDD}.simple-calendar .next-month{background:#DDD}.simple-calendar{border:1px solid #dee2e6;border-radius:0.5rem;overflow:hidden;background-color:white}.simple-calendar .calendar-heading{background:linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);color:white;padding:1rem;text-align:center;font-weight:600;font-size:1.25rem}.simple-calendar .calendar-heading a{color:white;text-decoration:none;padding:0.5rem 1rem;border-radius:0.25rem;transition:background-color 0.2s}.simple-calendar .calendar-heading a:hover{background-color:rgba(255,255,255,0.2)}.simple-calendar table{width:100%;margin:0;border-collapse:collapse}.simple-calendar .day{padding:8px;border:1px solid #e9ecef;height:120px;vertical-align:top;position:relative;background-color:white;font-weight:500}.simple-calendar .day .completed-day{background-color:#d4edda !important;border-radius:8px;border:2px solid #28a745}.calendar-date.completed-day{background-color:#d4edda !important;border-radius:8px;border:2px solid #28a745 !important;box-shadow:0 2px 4px rgba(40,167,69,0.2)}.simple-calendar .day:has(.completed-day){background-color:#d4edda !important}.simple-calendar .day .calendar-date{cursor:pointer;display:block;height:100%;width:100%;padding:4px;border-radius:4px}.no-record-indicator{color:#6c757d;font-style:italic}.simple-calendar .day:hover{background-color:#f8f9fa}.calendar-date:hover{background-color:#e3f2fd !important;border-radius:4px;transition:background-color 0.2s ease}.calendar-date:active{transform:scale(0.98);transition:transform 0.1s ease}.simple-calendar .today{background-color:#e3f2fd !important;border-color:#2196f3}.simple-calendar .today:hover{background-color:#bbdefb !important}.simple-calendar .prev-month,.simple-calendar .next-month{color:#6c757d;background-color:#f8f9fa}.simple-calendar .prev-month:hover,.simple-calendar .next-month:hover{background-color:#e9ecef}.simple-calendar .wday-0,.simple-calendar .wday-6{background-color:#fffaf0}.simple-calendar .wday-0:hover,.simple-calendar .wday-6:hover{background-color:#fdf2e9}.simple-calendar th{background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);color:#495057;font-weight:600;text-align:center;padding:0.75rem 0.5rem;border:1px solid #dee2e6}.calendar-events{max-height:80px;overflow-y:auto;margin-top:4px}.calendar-event{margin-bottom:2px;font-size:0.75rem;line-height:1.2;padding:2px 4px;border-radius:3px;display:flex;align-items:center;justify-content:space-between}.calendar-event.completed{background-color:transparent;color:#155724;border:none}.completion-check{font-size:1.5rem;font-weight:bold;color:#28a745;text-shadow:1px 1px 2px rgba(0,0,0,0.1)}.calendar-event .badge{font-size:0.6rem;padding:1px 4px}@media (max-width: 768px){.simple-calendar .day{height:80px;padding:4px;font-size:0.9rem}.calendar-events{max-height:50px}.calendar-event{font-size:0.7rem;margin-bottom:1px;padding:1px 2px}.simple-calendar th{padding:0.5rem 0.25rem;font-size:0.9rem}.simple-calendar .calendar-heading{padding:0.75rem;font-size:1.1rem}}@media (max-width: 480px){.simple-calendar .day{height:60px;padding:2px;font-size:0.8rem}.calendar-events{max-height:35px}.calendar-event{font-size:0.65rem}.simple-calendar th{padding:0.4rem 0.1rem;font-size:0.8rem}.simple-calendar .calendar-heading{font-size:1rem}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%;margin-bottom:0.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;line-height:1.6;color:#333;background-color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 20px}.container-fluid{width:70% !important;max-width:70% !important;margin-left:auto !important;margin-right:auto !important;padding-left:15px !important;padding-right:15px !important}.card{border-radius:15px !important;overflow:hidden}.card-header{border-radius:15px 15px 0 0 !important}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 0.2rem rgba(0,123,255,0.25)}.btn:hover{transform:translateY(-2px);transition:all 0.3s ease}@media (max-width: 768px){.container-fluid{width:95% !important;max-width:95% !important}.card-body{padding:2rem !important}.card-header{padding:2rem !important}.card-title{font-size:1.5rem !important}.form-control,.form-control-lg{width:100% !important}.mb-3 .btn{width:100%;margin-bottom:0.5rem}}.header{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.1);position:sticky;top:0;z-index:100}.navbar{padding:1rem 0}.navbar .container{display:flex;justify-content:space-between;align-items:center;position:relative}.navbar-brand{text-decoration:none;display:flex;align-items:center}.logo{height:40px;width:auto}.navbar-nav{display:flex;align-items:center;gap:2rem}.navbar-toggler{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;z-index:101}.navbar-toggler-icon{display:block;width:25px;height:2px;background-color:#4B5563;position:relative;transition:background-color 0.3s ease}.navbar-toggler-icon::before,.navbar-toggler-icon::after{content:'';display:block;width:25px;height:2px;background-color:#4B5563;position:absolute;transition:transform 0.3s ease}.navbar-toggler-icon::before{top:-8px}.navbar-toggler-icon::after{top:8px}.navbar-toggler.active .navbar-toggler-icon{background-color:transparent}.navbar-toggler.active .navbar-toggler-icon::before{transform:rotate(45deg);top:0}.navbar-toggler.active .navbar-toggler-icon::after{transform:rotate(-45deg);top:0}.nav-link{text-decoration:none;color:#4B5563;font-weight:500;transition:color 0.3s ease}.nav-link:hover{color:#4F46E5}.btn-signup{background-color:#4F46E5;color:white !important;padding:0.5rem 1rem;border-radius:0.375rem;transition:background-color 0.3s ease}.btn-signup:hover{background-color:#4338CA}.main-content{min-height:calc(100vh - 200px)}.hero-section{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;padding:4rem 0;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3rem;font-weight:bold;margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:0.9}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:0.75rem 2rem;text-decoration:none;border-radius:0.5rem;font-weight:600;transition:all 0.3s ease;cursor:pointer;border:none;font-size:1rem}.btn-primary{background-color:#10B981;color:white}.btn-primary:hover{background-color:#059669;transform:translateY(-2px)}.btn-secondary{background-color:transparent;color:white;border:2px solid white}.btn-secondary:hover{background-color:white;color:#4F46E5}.btn-danger{background-color:#DC2626;color:white}.btn-danger:hover{background-color:#B91C1C;transform:translateY(-2px)}.btn-warning{background-color:#007bff;color:white}.btn-warning:hover{background-color:#007bff;transform:translateY(-2px)}.features-section{padding:4rem 0;background-color:#F9FAFB}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#1F2937}.features-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}.feature-card{background:white;padding:2rem;border-radius:0.75rem;box-shadow:0 4px 6px rgba(0,0,0,0.05);text-align:center;transition:transform 0.3s ease, box-shadow 0.3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,0.1)}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:#4F46E5}.feature-card p{color:#6B7280;line-height:1.6}.footer{background-color:#1F2937;color:white;padding:2rem 0;text-align:center}.footer p{opacity:0.8}.footer-links{margin-top:1rem;display:flex;justify-content:center;gap:2rem}.footer-link{color:white;text-decoration:none;opacity:0.8;transition:opacity 0.2s}.footer-link:hover{opacity:1;text-decoration:underline}@media (max-width: 768px){.navbar-toggler{display:block}.navbar-nav{display:none;position:absolute;top:100%;left:0;right:0;background-color:#fff;flex-direction:column;gap:0;padding:1rem 0;box-shadow:0 4px 6px rgba(0,0,0,0.1);border-top:1px solid #e5e7eb}.navbar-nav.active{display:flex}.navbar-nav .nav-link{padding:0.75rem 1.5rem;width:100%;text-align:left;border-bottom:1px solid #f3f4f6}.navbar-nav .nav-link:last-child{border-bottom:none}.btn-signup{margin:0.5rem 1.5rem;text-align:center;display:block}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center}.btn{width:200px}.section-title{font-size:2rem}.dashboard-title{font-size:2rem}.dashboard-subtitle{font-size:1rem}.container{padding:0 15px}}.dashboard-section{padding:4rem 0;background-color:#F9FAFB;min-height:calc(100vh - 200px)}.dashboard-title{text-align:center;font-size:2.5rem;margin-bottom:1rem;color:#1F2937;font-weight:bold}.dashboard-subtitle{text-align:center;font-size:1.25rem;margin-bottom:3rem;color:#6B7280}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:2rem;margin-top:2rem}.dashboard-card{background:white;border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,0.05);transition:transform 0.3s ease, box-shadow 0.3s ease;overflow:hidden}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.1)}.card-header{background:linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);color:white;padding:1.5rem}.card-title{font-size:1.5rem;font-weight:600;margin:0}.card-content{padding:2rem}.card-content p{color:#6B7280;line-height:1.6;margin-bottom:2rem}.card-actions{display:flex;gap:1rem;flex-wrap:wrap}.card-actions .btn{flex:1;min-width:120px;text-align:center}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}.card-actions .btn{width:100%}.features-grid{grid-template-columns:1fr;gap:1.5rem}.hero-section .container,.features-section .container,.dashboard-section .container{padding:0 15px}}.flash{padding:10px;margin:10px 0;border-radius:5px}.flash.notice{background-color:#e6ffed;color:#065f46}.flash.alert{background-color:#fee2e2;color:#991b1b}.alert{padding:12px 20px;margin:10px 0;border-radius:8px;border:1px solid transparent;position:relative;display:flex;align-items:center;justify-content:space-between;font-weight:500}.alert-success{background-color:#d1f2eb;border-color:#7dda9b;color:#0f5132}.alert-danger{background-color:#f8d7da;border-color:#f5a8b0;color:#721c24}.alert-dismissible{padding-right:50px}.btn-close{position:absolute;top:50%;right:15px;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;opacity:0.6;line-height:1;padding:4px 8px;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center;font-weight:bold}.btn-close:hover{opacity:1}.btn-close:focus{outline:2px solid #007bff;outline-offset:2px}.alert.fade{transition:opacity 0.15s linear}.alert.fade:not(.show){opacity:0}.flash-messages{position:relative;z-index:1050;margin-top:10px;margin-bottom:20px}.flash-messages .alert{font-size:16px;box-shadow:0 4px 6px rgba(0,0,0,0.1);border-left:4px solid;margin-bottom:15px;animation:slideInDown 0.3s ease-out}.flash-messages .alert-success{background-color:#d4edda;border-color:#28a745;color:#155724;border-left-color:#28a745}.flash-messages .alert-danger{background-color:#f8d7da;border-color:#dc3545;color:#721c24;border-left-color:#dc3545}@keyframes slideInDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.search-layout-container{display:flex;flex-direction:column;gap:1rem}@media (min-width: 992px){.search-layout-container{flex-direction:row;align-items:center;gap:2rem}}.search-buttons-group{display:flex;gap:0.5rem;flex-shrink:0}.search-form-wrapper{flex:1;display:flex;justify-content:flex-start}@media (min-width: 992px){.search-form-wrapper{justify-content:flex-end}}.search-form-flex{display:flex;gap:0.5rem;width:100%;max-width:500px}.search-input{flex:1;min-width:0}.search-btn{flex-shrink:0;white-space:nowrap}.habit-dashboard{max-width:70%}.dashboard-habit-card{transition:all 0.3s ease;margin-top:0.3rem;margin-bottom:0.5rem}.dashboard-habit-card:hover{transform:translateY(-2px)}.dashboard-habit-card .card{width:70%;background:linear-gradient(135deg, #fff 0%, #f8f9fb 100%);border:1px solid #e9ecef;position:relative;overflow:hidden}.dashboard-habit-card .card::before{content:'';position:absolute;top:0;left:0;width:5px;height:1%;background:linear-gradient(135deg, #007bff 0%, #0056b3 100%);z-index:1}.dashboard-habit-card .habit-icon{background:linear-gradient(135deg, #007bff, #0056b3);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px rgba(0,123,255,0.3))}.dashboard-habit-card .card-title{background:linear-gradient(135deg, #007bff 0%, #0056b3 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dashboard-habit-card .btn-success{background:linear-gradient(135deg, #28a745 0%, #1e7e34 100%);border:none;box-shadow:0 2px 8px rgba(40,167,69,0.3)}.dashboard-habit-card .btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,167,69,0.4)}@media (max-width: 768px){.habit-dashboard{max-width:100%}.dashboard-habit-card .card{width:100%}.dashboard-habit-card .row{flex-direction:column}.dashboard-habit-card .col-md-4,.dashboard-habit-card .col-md-8{width:100%;max-width:100%}.dashboard-habit-card .col-md-4{margin-top:1rem}.dashboard-habit-card .d-flex.gap-2{flex-direction:column;gap:0.5rem !important}.dashboard-habit-card .btn-sm{width:100%;margin-left:0 !important}.dashboard-habit-card .card-title{font-size:1.2rem !important;margin-left:0 !important}.dashboard-habit-card .card-text{margin-left:0 !important}.dashboard-habit-card .habit-icon{font-size:1.5rem !important}.card-actions{flex-direction:column;gap:0.5rem}.card-actions .btn{width:100%}.card-body{padding:1.5rem !important}.card-header h3{font-size:1.25rem !important}}.trophy-header{text-align:center;margin-bottom:2rem}.trophy-count{font-size:2.5rem;font-weight:bold;color:#4A5568;margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}.trophy-count-icon{font-size:3rem;color:#CBD5E0}.trophy-section-title{font-size:1.5rem;font-weight:600;color:#2D3748;margin-bottom:2rem}.trophy-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:2rem;padding:2rem;background-color:#F7FAFC;border-radius:1rem}.trophy-badge-link{text-decoration:none;color:inherit;display:block;transition:transform 0.3s ease}.trophy-badge-link:hover{transform:translateY(-2px);text-decoration:none;color:inherit}.trophy-badge{display:flex;flex-direction:column;align-items:center;padding:1rem;position:relative;cursor:pointer}.trophy-platform{position:relative;width:80px;height:80px;border-radius:50%;background:linear-gradient(145deg, #E2E8F0, #CBD5E0);box-shadow:0 8px 16px rgba(0,0,0,0.1),inset 0 2px 4px rgba(255,255,255,0.6),inset 0 -2px 4px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:transform 0.3s ease, box-shadow 0.3s ease}.trophy-platform.earned{background:linear-gradient(145deg, #F6FFED, #D9F7BE);box-shadow:0 8px 16px rgba(82,196,26,0.2),inset 0 2px 4px rgba(255,255,255,0.6),inset 0 -2px 4px rgba(82,196,26,0.1)}.trophy-icon{font-size:3rem;transition:transform 0.3s ease}.trophy-badge.earned .trophy-icon{filter:drop-shadow(0 4px 8px rgba(82,196,26,0.3))}.trophy-badge:not(.earned) .trophy-icon{opacity:0.4;filter:grayscale(100%)}.trophy-progress{width:60px;height:6px;background-color:#E2E8F0;border-radius:3px;overflow:hidden;margin-top:0.5rem}.trophy-progress-bar{height:100%;background:linear-gradient(90deg, #52C41A, #73D13D);border-radius:3px;transition:width 0.8s ease-in-out}.trophy-progress-bar.empty{width:0%}.trophy-progress-bar.partial{width:60%}.trophy-progress-bar.full{width:100%}.trophy-badge-link:hover .trophy-platform{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,0.15),inset 0 2px 4px rgba(255,255,255,0.6),inset 0 -2px 4px rgba(0,0,0,0.1)}.trophy-badge-link:hover .trophy-platform.earned{box-shadow:0 12px 24px rgba(82,196,26,0.3),inset 0 2px 4px rgba(255,255,255,0.6),inset 0 -2px 4px rgba(82,196,26,0.1)}.trophy-badge-link:hover .trophy-icon{transform:scale(1.1)}@media (max-width: 1024px){.trophy-grid{grid-template-columns:repeat(3, 1fr);gap:1.5rem}}@media (max-width: 768px){.trophy-grid{grid-template-columns:repeat(2, 1fr);gap:1rem;padding:1rem}.trophy-count{font-size:2rem}.trophy-platform{width:60px;height:60px}.trophy-icon{font-size:2rem}}@media (max-width: 480px){.trophy-grid{grid-template-columns:repeat(2, 1fr);gap:0.5rem}.trophy-platform{width:50px;height:50px}.trophy-icon{font-size:1.5rem}.trophy-progress{width:40px;height:4px}}.like-heart{display:inline-block;transition:all 0.2s ease;cursor:pointer}.like-heart:hover{transform:scale(1.2);text-decoration:none !important}.like-heart.liked{color:#dc3545 !important}.like-heart.liked:hover{color:#c82333 !important;transform:scale(1.3)}.card-header .like-heart{z-index:2;position:relative}@media (max-width: 480px){.hero-title{font-size:1.5rem}.hero-subtitle{font-size:0.9rem}.section-title{font-size:1.5rem}.dashboard-title{font-size:1.5rem}.dashboard-subtitle{font-size:0.9rem}.btn{font-size:0.9rem;padding:0.6rem 1.5rem}.card-title{font-size:1.25rem !important}.card-content p{font-size:0.9rem}.feature-card h3{font-size:1.25rem}.feature-card p{font-size:0.9rem}.navbar .container{padding:0 10px}.logo{height:32px}.search-buttons-group{flex-direction:column;width:100%}.search-buttons-group .btn{width:100%}.d-flex.gap-3{flex-direction:column !important;gap:0.5rem !important}.d-flex.gap-3 .btn{width:100% !important;margin:0.3rem 0 !important}.text-center .btn-lg{width:100% !important;margin:0.5rem 0 !important}.text-center .me-4{margin-right:0 !important}.card-body.p-5{padding:1.5rem !important}.container-fluid.px-4{padding-left:1rem !important;padding-right:1rem !important}.d-flex.justify-content-center.gap-3{flex-direction:column}}@media (max-width: 360px){.hero-title{font-size:1.25rem}.hero-subtitle{font-size:0.85rem}.dashboard-title{font-size:1.25rem}.btn{font-size:0.85rem;padding:0.5rem 1rem}.navbar-brand{font-size:1.25rem}}.how-to-use-section{padding:4rem 0;background-color:#F9FAFB;min-height:calc(100vh - 200px)}.how-to-content{max-width:900px;margin:0 auto}.how-to-step{background:white;border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px rgba(0,0,0,0.05);transition:transform 0.3s ease, box-shadow 0.3s ease}.how-to-step:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,0.1)}.step-title{font-size:1.75rem;color:#4F46E5;margin-bottom:1.5rem;font-weight:600;border-left:4px solid #4F46E5;padding-left:1rem}.step-content p{color:#4B5563;line-height:1.8;margin-bottom:1.5rem;font-size:1.1rem}.step-list{list-style:none;padding-left:0;margin-bottom:1.5rem}.step-list li{padding:0.75rem 0 0.75rem 2rem;color:#6B7280;position:relative;line-height:1.6}.step-list li::before{content:"✓";position:absolute;left:0;color:#10B981;font-weight:bold;font-size:1.2rem}.step-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.step-actions .btn{flex:1;min-width:150px;text-align:center}.how-to-cta{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;border-radius:1rem;padding:3rem 2rem;text-align:center;margin-top:3rem;box-shadow:0 12px 32px rgba(0,0,0,0.1)}.cta-title{font-size:2rem;font-weight:bold;margin-bottom:1rem;color:white}.cta-text{font-size:1.25rem;margin-bottom:2rem;opacity:0.95}.cta-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@media (max-width: 768px){.how-to-use-section{padding:2rem 0}.how-to-step{padding:1.5rem;margin-bottom:1.5rem}.step-title{font-size:1.5rem}.step-content p{font-size:1rem}.step-actions{flex-direction:column}.step-actions .btn{width:100%}.how-to-cta{padding:2rem 1.5rem}.cta-title{font-size:1.5rem}.cta-text{font-size:1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}}@media (max-width: 480px){.how-to-step{padding:1rem}.step-title{font-size:1.25rem}.step-list li{padding-left:1.5rem;font-size:0.9rem}.cta-title{font-size:1.25rem}.cta-text{font-size:0.9rem}}
