.planner-container{padding:100px 20px 40px;min-height:100vh;background-color:#f8f9fa}.planner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;max-width:1200px;margin-left:auto;margin-right:auto}.planner-title{font-size:2.5rem;font-weight:800;color:#2c3e50;font-family:Outfit,sans-serif}.create-trip-btn{background:linear-gradient(135deg,#00bcd4,#2ecc71);color:white;border:none;padding:12px 24px;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px rgba(0,188,212,.3);transition:transform .2s,box-shadow .2s;display:flex;align-items:center;gap:8px}.create-trip-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,188,212,.4)}.trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;max-width:1200px;margin:0 auto}.trip-card{background:white;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.05);transition:all .3s ease;border:1px solid rgba(0,0,0,.05);position:relative;cursor:pointer;display:flex;flex-direction:column}.trip-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.1)}.trip-cover{height:180px;background-color:#e0e0e0;background-size:cover;background-position:50%;position:relative}.trip-date-badge{position:absolute;top:15px;left:15px;background:rgba(0,0,0,.6);backdrop-filter:blur(5px);color:white;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.trip-card-content{padding:20px}.trip-card-title{font-size:1.4rem;font-weight:700;margin-bottom:10px;color:#2c3e50}.trip-card-meta{font-size:.9rem;color:#7f8c8d;display:flex;align-items:center;gap:15px}.delete-trip-btn{position:absolute;top:15px;right:15px;background:white;color:#e74c3c;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.1);opacity:0;transition:opacity .2s,transform .2s}.trip-card:hover .delete-trip-btn{opacity:1}.delete-trip-btn:hover{background:#e74c3c;color:white;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(5px)}.modal-content{background:white;padding:30px;border-radius:20px;width:90%;max-width:500px;box-shadow:0 20px 60px rgba(0,0,0,.2);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:1.5rem;font-weight:700;color:#2c3e50}.form-group,.modal-title{margin-bottom:20px}.form-row{display:flex;gap:15px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#34495e}.form-input{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:border-color .2s}.form-input:focus{border-color:#00bcd4;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.btn-secondary{background:#f1f2f6;color:#7f8c8d}.btn-primary,.btn-secondary{border:none;padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:600}.btn-primary{background:#00bcd4;color:white}.empty-state{text-align:center;padding:60px;color:#95a5a6}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.itinerary-header{background:white;padding:30px 0;margin-bottom:30px;box-shadow:0 4px 20px rgba(0,0,0,.05)}.itinerary-cover{height:300px;position:relative;border-radius:20px;overflow:hidden;margin-bottom:30px;box-shadow:0 10px 30px rgba(0,0,0,.1)}.itinerary-cover img{width:100%;height:100%;object-fit:cover}.itinerary-title-section{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);padding:40px 30px 30px;color:white}.days-tabs{display:flex;overflow-x:auto;gap:15px;padding-bottom:20px;margin-bottom:20px;scrollbar-width:none}.day-tab{min-width:100px;padding:15px;background:white;border-radius:12px;text-align:center;cursor:pointer;border:2px solid transparent;transition:all .2s;box-shadow:0 4px 10px rgba(0,0,0,.05)}.day-tab.active{border-color:#00bcd4;background:#e0f7fa;color:#00838f;transform:translateY(-2px)}.day-tab-num{font-size:1.2rem;font-weight:700;display:block;margin-bottom:5px}.day-tab-date{font-size:.8rem;color:#7f8c8d}.timeline{position:relative;padding-left:30px;border-left:3px solid #e0e0e0;margin-left:20px}.timeline-item{position:relative;margin-bottom:30px;background:white;border-radius:16px;padding:20px;box-shadow:0 5px 15px rgba(0,0,0,.05);transition:transform .2s}.timeline-item:hover{transform:translateX(5px)}.timeline-dot{position:absolute;left:-41px;top:25px;width:20px;height:20px;background:#00bcd4;border-radius:50%;border:4px solid #f8f9fa;box-shadow:0 0 0 2px #00bcd4}.activity-time{color:#00bcd4;font-weight:700;font-size:.9rem;margin-bottom:5px;display:flex;align-items:center;gap:8px}.activity-title{font-size:1.2rem;font-weight:700;color:#2c3e50;margin-bottom:8px}.activity-notes{color:#7f8c8d;font-size:.95rem;line-height:1.5;background:#f8f9fa;padding:10px;border-radius:8px}.add-activity-box{background:white;padding:25px;border-radius:16px;border:2px dashed #bdc3c7;text-align:center;cursor:pointer;transition:all .2s;color:#7f8c8d;margin-top:20px}.floating-planner-btn{position:fixed;bottom:100px;right:25px;width:55px;height:55px;background:white;color:#00bcd4;border-radius:30px;display:flex;align-items:center;z-index:9998;box-shadow:0 5px 20px rgba(0,0,0,.15);text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;white-space:nowrap}.floating-planner-btn svg{min-width:24px;width:24px;height:24px;margin-left:15px;margin-right:5px;transition:transform .3s;flex-shrink:0}.floating-planner-btn:hover{width:170px;background:linear-gradient(135deg,#00bcd4,#1abc9c);color:white;box-shadow:0 8px 25px rgba(0,188,212,.4)}.floating-planner-btn:hover svg{transform:rotate(1turn)}.planner-btn-text{opacity:0;transform:translateX(20px);transition:all .3s ease;font-weight:600;font-size:1rem;font-family:Outfit,sans-serif}.floating-planner-btn:hover .planner-btn-text{opacity:1;transform:translateX(0)}.floating-map-btn{position:fixed;bottom:160px;right:25px;width:55px;height:55px;background:white;color:#00bcd4;border-radius:30px;display:flex;align-items:center;z-index:9998;box-shadow:0 5px 20px rgba(0,0,0,.15);text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;white-space:nowrap}.floating-map-btn svg{min-width:24px;width:24px;height:24px;margin-left:15px;margin-right:5px;transition:transform .3s;flex-shrink:0}.floating-map-btn:hover{width:150px;background:linear-gradient(135deg,#00bcd4,#1abc9c);color:white;box-shadow:0 8px 25px rgba(0,188,212,.4)}.floating-map-btn:hover svg{transform:rotate(1turn)}.map-btn-text{opacity:0;transform:translateX(20px);transition:all .3s ease;font-weight:600;font-size:1rem;font-family:Outfit,sans-serif}.floating-map-btn:hover .map-btn-text{opacity:1;transform:translateX(0)}.notification-wrapper{position:relative;cursor:pointer;margin-right:15px;display:flex;align-items:center}.notification-icon{position:relative;color:#00bcd4!important;transition:color .3s}.notification-icon:hover{color:#2980b9!important}.notification-icon .badge{position:absolute;top:-5px;right:-5px;background:#e74c3c;color:white;font-size:.7rem;width:18px;height:18px;border-radius:50%;display:flex;justify-content:center;align-items:center;border:2px solid white}.notification-dropdown{position:absolute;top:40px;right:-10px;width:320px;background:white;box-shadow:0 10px 30px rgba(0,0,0,.15);border-radius:12px;padding:15px 0;z-index:1000;border:1px solid #eee;animation:fadeIn .2s ease-out}.notification-dropdown h3{padding:0 20px 10px;margin:0;border-bottom:1px solid #eee;font-size:1rem;color:#2c3e50}.notification-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid #f9f9f9;text-decoration:none;color:inherit;transition:background .2s}.notification-item:hover{background:#f8f9fa}.notification-item.unread{background:#f0f7ff}.notification-item img{width:40px;height:40px;border-radius:50%;margin-right:15px;object-fit:cover}.notif-content p{margin:0;font-size:.9rem;line-height:1.4;color:#34495e}.notif-content span{font-size:.75rem;color:#95a5a6}.dot{width:8px;height:8px;background:#3498db;border-radius:50%;margin-left:auto}.no-notif{text-align:center;padding:20px;color:#95a5a6;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}