:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-container{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:1rem;position:relative}:root[data-theme=light] .auth-container{background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}:root[data-theme=light] .auth-container:before{background-image:radial-gradient(circle at 20% 50%,var(--primary-light) 0,#0000 50%),radial-gradient(circle at 80% 80%,var(--accent-light) 0,#0000 50%);bottom:0;content:"";left:0;opacity:.4;pointer-events:none;position:absolute;right:0;top:0}.auth-card{animation:fadeInUp .5s ease-out;background:var(--bg-card);border:1px solid var(--border-light);border-radius:1rem;box-shadow:var(--shadow-xl);max-width:440px;padding:2.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-card:hover{box-shadow:var(--shadow-xl),0 0 0 1px var(--border-color);transform:translateY(-4px)}.auth-card h1{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;background-clip:text;display:flex;font-size:2rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:-.02em;margin-bottom:.5rem;text-align:center}.auth-logo{flex-shrink:0}.auth-card h2{color:var(--text-secondary);font-size:1.125rem;font-weight:400;margin-bottom:2rem;text-align:center}.auth-card form{display:flex;flex-direction:column;gap:1.25rem}.auth-card .btn{font-size:1.0625rem;font-weight:600;margin-top:.5rem;overflow:hidden;padding:.75rem;position:relative;width:100%}.auth-card .btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.auth-card .btn:active:before{height:300px;width:300px}.auth-link{color:var(--text-secondary);font-size:.9375rem;margin-top:1.5rem;text-align:center}.auth-link a{color:var(--primary);font-weight:600;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-link a:after{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.4,0,.2,1);width:0}.auth-link a:hover{color:var(--primary-hover);transform:translateY(-1px)}.auth-link a:hover:after{width:100%}.auth-description{color:var(--text-secondary);font-size:.9375rem;margin-bottom:1.5rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .form-group input:focus{animation:inputFocus .3s ease-out}@keyframes inputFocus{0%{transform:scale(.98)}50%{transform:scale(1.01)}to{transform:scale(1)}}.auth-form .form-group input.error{animation:shake .4s ease-in-out;border-color:var(--danger)}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.auth-form .form-group input.success{animation:successPulse .5s ease-out;border-color:var(--success)}@keyframes successPulse{0%{box-shadow:0 0 0 0 #10b98166}50%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.auth-footer{margin-top:1.5rem;text-align:center}.dev-token-box{background:linear-gradient(135deg,#fef3c7,#fef3c7);border:2px solid #f59e0b;border-radius:.75rem;box-shadow:0 4px 12px #f59e0b26;margin-top:2rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.dev-token-box:hover{box-shadow:0 8px 20px #f59e0b33;transform:translateY(-2px)}.dev-token-box h3{color:#92400e;font-size:1rem;font-weight:600;margin:0 0 1rem}.token-text{background:#fff;border:1px solid #fbbf24;border-radius:.5rem;box-shadow:0 2px 4px #0000000d;color:#1f2937;font-family:Courier New,monospace;font-size:.875rem;margin:0 0 .75rem;padding:.75rem;word-break:break-all}.token-help{color:#92400e;font-size:.875rem;margin:0 0 1rem}.dev-token-box .btn{margin-top:.5rem;width:100%}.auth-card input.input-error,.auth-form input.input-error{background-color:#ef44440d;border-color:var(--danger)}.auth-card input.input-error:focus,.auth-form input.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441a}.field-error{color:var(--danger);display:block;font-size:.8125rem;margin-top:.375rem;padding-left:.25rem}.password-requirements{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;margin-top:.75rem;padding:.875rem}.requirements-title{color:var(--text-secondary);display:block;font-size:.8125rem;font-weight:600;margin-bottom:.5rem}.requirements-list{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}.requirement{align-items:center;display:flex;font-size:.8125rem;gap:.5rem;transition:all .2s ease}.requirement.met{color:var(--success)}.requirement.unmet{color:var(--text-muted)}.requirement-icon{font-size:.75rem;font-weight:600;text-align:center;width:1rem}.requirement.met .requirement-icon{color:var(--success)}.requirement.unmet .requirement-icon{color:var(--text-muted)}.recaptcha-notice{color:var(--text-tertiary);font-size:.75rem;line-height:1.4;margin-top:1rem;text-align:center}.recaptcha-notice a{color:var(--text-secondary);text-decoration:underline;transition:color .2s ease}.recaptcha-notice a:hover{color:var(--primary)}@media (max-width:480px){.auth-card{padding:2rem 1.5rem}.password-requirements{padding:.75rem}.requirement{font-size:.75rem}}.breadcrumb{background:linear-gradient(135deg,var(--bg-card) 0,var(--bg-hover) 100%);border-bottom:1px solid var(--border-color);margin:-2rem -2rem 1.5rem;padding:.75rem 2rem}.breadcrumb-list{flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex;gap:.5rem}.breadcrumb-item{font-size:.875rem}.breadcrumb-link{border-radius:.25rem;color:var(--primary);padding:.25rem .5rem;text-decoration:none;transition:all .2s ease}.breadcrumb-link:hover{background:var(--bg-tertiary);text-decoration:underline}.breadcrumb-separator{color:var(--text-secondary);-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-primary);font-weight:500;padding:.25rem .5rem}@media (max-width:1200px){.breadcrumb{display:none}}.vehicle-manager{margin-top:0}.vehicle-manager .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.vehicle-manager .section-header h2{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0}.vehicle-form{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.vehicle-form h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.vehicle-form h4{border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:1rem;font-weight:600;margin:1.5rem 0 1rem;padding-top:1rem}.vehicle-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem}.vehicle-form .form-group{display:flex;flex-direction:column;gap:.375rem}.vehicle-form .form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.vehicle-form .form-group input,.vehicle-form .form-group select,.vehicle-form .form-group textarea{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.9375rem;padding:.625rem .75rem}.vehicle-form .form-group input:focus,.vehicle-form .form-group select:focus,.vehicle-form .form-group textarea:focus{border-color:var(--primary);outline:none}.vehicle-form .form-group textarea{min-height:80px;resize:vertical}.vehicle-form .checkbox-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1rem 0}.vehicle-form .checkbox-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9375rem;gap:.5rem}.vehicle-form .checkbox-label input[type=checkbox]{cursor:pointer;height:1rem;width:1rem}.vehicle-form .form-actions{border-top:1px solid var(--border-light);display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.vehicle-manager .empty-state{color:var(--text-secondary);padding:3rem 2rem;text-align:center}.vehicle-manager .empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.vehicle-manager .empty-state p{margin:.5rem 0}.vehicle-manager .empty-state .empty-hint{font-size:.875rem;opacity:.8}.vehicle-list{display:flex;flex-direction:column;gap:1rem}.vehicle-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.75rem;padding:1rem 1.25rem;transition:border-color .2s ease}.vehicle-card:hover{border-color:var(--border-color)}.vehicle-card.is-default{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.vehicle-header{align-items:flex-start;display:flex;justify-content:space-between}.vehicle-title{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.vehicle-title h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.default-badge{align-items:center;background:var(--primary);border-radius:.25rem;color:#fff;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.vehicle-actions{gap:.25rem;position:relative}.btn-icon,.vehicle-actions{align-items:center;display:flex}.btn-icon{border:none;height:2rem;justify-content:center;width:2rem}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-backdrop{inset:0;position:fixed;z-index:10}.vehicle-menu{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;box-shadow:var(--shadow-lg);min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:20}.vehicle-menu button{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.625rem 1rem;text-align:left;transition:background-color .15s ease;width:100%}.vehicle-menu button:hover{background:var(--bg-hover)}.vehicle-menu button.danger{color:var(--danger)}.vehicle-menu button.danger:hover{background:#dc35451a}.vehicle-summary{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.vehicle-make-model{color:var(--text-secondary);font-size:.9375rem}.vehicle-color{background:var(--bg-hover);border-radius:.25rem;color:var(--text-muted);font-size:.875rem;padding:.125rem .5rem}.vehicle-specs-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.vehicle-specs-summary span{background:var(--bg-hover);border-radius:.25rem;color:var(--text-secondary);font-size:.8125rem;padding:.25rem .625rem}.vehicle-details{border-top:1px solid var(--border-light);margin-top:1.25rem;padding-top:1.25rem}.specs-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1rem}.spec-item span{font-size:.9375rem}.spec-features{grid-column:1/-1}.feature-tag{border-radius:.25rem;font-size:.8125rem;padding:.25rem .625rem}.vehicle-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin:1rem 0}.equipment-section{border-top:1px solid var(--border-light);margin-top:1.5rem;padding-top:1.25rem}.equipment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.equipment-header h4{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.equipment-form-container{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1rem;padding:1rem}.equipment-form-options{margin-bottom:1rem}.equipment-form .form-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:2fr 1fr 60px;margin-bottom:.75rem}.equipment-form .form-group{display:flex;flex-direction:column;gap:.25rem}.equipment-form .form-group label{color:var(--text-secondary);font-size:.75rem}.equipment-form .form-group input,.equipment-form .form-group select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.875rem;padding:.5rem}.equipment-form .form-group input:focus,.equipment-form .form-group select:focus{border-color:var(--primary);outline:none}.equipment-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.add-choice-panel{background:var(--bg-card);border:1px solid var(--border-light);margin-bottom:1rem;padding:1.25rem}.add-choice-panel h5{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 1rem}.add-choice-buttons .btn{font-size:.875rem;max-width:-webkit-fit-content;max-width:fit-content;padding:.625rem 1rem}.equipment-templates{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1rem;padding:1rem}.equipment-templates .templates-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.equipment-templates .templates-header h5{font-size:1rem;font-weight:600;margin:0}.equipment-templates .templates-description{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem}.equipment-templates .template-category{margin-bottom:1.25rem}.equipment-templates .template-category h6{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.equipment-templates .template-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.equipment-templates .template-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;cursor:pointer;padding:.75rem;transition:all .15s ease}.equipment-templates .template-card:hover{background:var(--bg-hover);border-color:var(--primary)}.equipment-templates .template-name{color:var(--text-primary);font-size:.9375rem;font-weight:500}.equipment-templates .template-quantity{color:var(--text-muted);font-size:.8125rem}.equipment-templates .template-notes{color:var(--text-secondary);font-size:.8125rem;margin-top:.25rem}.equipment-templates .template-card.template-added{background:var(--bg-tertiary);border-color:var(--success);opacity:.7}.equipment-templates .template-card.template-added:hover{opacity:.85}.template-added-badge{background:rgba(var(--success-rgb),.15);color:var(--success)}.template-added-badge,.template-community-badge{border-radius:.25rem;display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.02em;margin-left:.5rem;padding:.125rem .375rem;text-transform:uppercase}.template-community-badge{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.equipment-templates .template-card.template-community{border-style:dashed}.templates-header-actions{align-items:center;display:flex;gap:.5rem}.suggest-btn{border-color:var(--warning);color:var(--warning)}.suggest-btn:hover{background:rgba(var(--warning-rgb),.1)}.suggestion-modal{max-width:480px}.suggestion-intro{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.suggestion-modal .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr}.equipment-list{display:flex;flex-direction:column;gap:1rem}.equipment-category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.equipment-category h5{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin:0}.add-equipment-category-btn{align-items:center;background:#0000;border:1px dashed var(--border-color);border-radius:.25rem;color:var(--text-muted);cursor:pointer;display:flex;font-size:1rem;height:1.5rem;justify-content:center;transition:all .15s ease;width:1.5rem}.add-equipment-category-btn:hover{background:rgba(var(--primary-rgb),.1);border-color:var(--primary);color:var(--primary)}.no-equipment-state{padding:1.5rem 1rem;text-align:center}.no-equipment-state .no-equipment{color:var(--text-secondary);font-style:normal;margin:0 0 .25rem}.no-equipment-hint{color:var(--text-muted);font-size:.8125rem;margin:0}.equipment-item{background:var(--bg-card);border-radius:.375rem;gap:.5rem;padding:.5rem .75rem}.equipment-qty{font-size:.8125rem}.btn-icon-sm{align-items:center;background:#0000;border:none;border-radius:.25rem;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:1.5rem;justify-content:center;transition:all .15s ease;width:1.5rem}.btn-icon-sm:hover{background:#dc35451a;color:var(--danger)}.no-equipment{font-size:.875rem}@media (max-width:1200px){.vehicle-form .form-row{grid-template-columns:1fr}.vehicle-form .checkbox-row{flex-direction:column;gap:.75rem}.equipment-form .form-row{grid-template-columns:1fr}.specs-grid{grid-template-columns:repeat(2,1fr)}.add-choice-buttons{flex-direction:row}.add-choice-buttons .btn{flex:1 1;min-width:0}.equipment-templates .template-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:480px){.vehicle-card{padding:1rem}.vehicle-title{align-items:flex-start;flex-direction:column;gap:.5rem}.specs-grid{grid-template-columns:1fr}}.tier-status-card{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:12px;padding:1.5rem}.tier-status-card.tier-error,.tier-status-card.tier-loading{align-items:center;color:#999;color:var(--text-secondary,#999);display:flex;gap:.5rem}.tier-status-card.tier-error{color:#ef4444}.tier-header{gap:1rem;margin-bottom:1.5rem}.tier-badge,.tier-header{align-items:center;display:flex}.tier-badge{border-radius:12px;color:#fff;flex-shrink:0;font-size:1.5rem;height:56px;justify-content:center;width:56px}.tier-info h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0 0 .25rem}.tier-description{color:#999;color:var(--text-secondary,#999);font-size:.875rem;margin:0}.tier-usage{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.usage-item{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:120px 1fr auto}.usage-label{align-items:center;color:#999;color:var(--text-secondary,#999);display:flex;font-size:.875rem;gap:.5rem}.usage-label svg{color:#6b7280;color:var(--tier-color,#6b7280);width:16px}.usage-bar-container{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-radius:4px;height:8px;overflow:hidden}.usage-bar{border-radius:4px;height:100%;transition:width .3s ease}.usage-text{color:#fff;color:var(--text-primary,#fff);font-size:.875rem;font-weight:500;min-width:100px;text-align:right}.tier-expiry{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;color:#f59e0b}.tier-expiry,.tier-upgrade-hint{font-size:.875rem;margin-bottom:1rem;padding:.75rem}.tier-upgrade-hint{background:#6b72801a;background:rgba(var(--tier-color-rgb,107,114,128),.1);border:1px solid #6b7280;border:1px solid var(--tier-color,#6b7280);border-radius:8px;color:#999;color:var(--text-secondary,#999)}.tier-upgrade-hint strong{color:#fff;color:var(--text-primary,#fff)}.tier-comparison{border-top:1px solid #333;border-top:1px solid var(--border-color,#333);margin-top:1.5rem;padding-top:1.5rem}.tier-comparison h4{color:#999;color:var(--text-secondary,#999);font-size:.875rem;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.tiers-list{display:flex;flex-direction:column;gap:.5rem}.tier-item{align-items:center;background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border:2px solid #0000;border-radius:8px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.tier-item.current{background:#121212;background:var(--bg-primary,#121212)}.tier-item svg{flex-shrink:0;height:20px;width:20px}.tier-name{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-weight:500}.tier-limits{color:#999;color:var(--text-secondary,#999);font-size:.75rem}@media (max-width:600px){.usage-item{gap:.5rem;grid-template-columns:1fr}.usage-label{justify-content:space-between}.usage-text{min-width:auto;text-align:left}.tier-limits{display:none}}.profile-container{margin:0 auto;padding:0}.profile-header{margin-bottom:2rem}.profile-header h1{color:var(--text-primary);font-size:2rem;font-weight:700}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:2rem}.profile-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.section-header{margin-bottom:1.5rem}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item.full-width{grid-column:1/-1}.info-item label{color:var(--text-secondary);font-size:.875rem}.info-item p{font-size:1rem}.password-placeholder{color:var(--text-secondary);font-size:1.5rem;letter-spacing:.2em;margin:0}.profile-subsection{border-top:1px solid var(--border-light);margin-top:1.5rem;padding-top:1.5rem}.profile-subsection:first-of-type{margin-top:1.5rem}.subsection-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.subsection-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.profile-subsection .password-placeholder{font-size:1.25rem}.profile-subsection .info-grid{margin-top:0}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.profile-form .form-group{display:flex;flex-direction:column;gap:.5rem}.profile-form label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.profile-form input,.profile-form textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:border-color .2s ease}.profile-form input:focus,.profile-form textarea:focus{border-color:var(--primary);outline:none}.profile-form textarea{font-family:inherit;resize:vertical}.temperature-unit-selector{display:flex;gap:.5rem;margin-top:.5rem}.unit-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.unit-option:hover:not(:disabled){background:var(--bg-card);border-color:var(--primary)}.unit-option.active{background:var(--primary);border-color:var(--primary);color:#fff}.unit-option:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1200px){.profile-container{padding:1rem}.profile-section{padding:1.5rem}.info-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.temperature-unit-selector{flex-direction:column}}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--bg-tertiary) 0,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;border-radius:.375rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.skeleton-title{height:1.75rem;width:60%}.skeleton-text{height:1rem;width:100%}.skeleton-text.short{width:70%}.skeleton-actions{display:flex;gap:.75rem;margin-top:.5rem}.skeleton-button{height:2.5rem;width:6rem}.skeleton-trip-detail{background:var(--bg-card);border-radius:.5rem;display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.skeleton-header{height:2.5rem;width:50%}.skeleton-subtitle{height:1.5rem;margin-bottom:.75rem;width:40%}.skeleton-sections{display:flex;flex-direction:column;gap:2rem}.skeleton-section{gap:.5rem}.skeleton-section,.skeleton-table{display:flex;flex-direction:column}.skeleton-table{background:var(--bg-card);border-radius:.5rem;gap:.75rem;padding:1.5rem}.skeleton-table-header{height:2rem;margin-bottom:.5rem;width:30%}.skeleton-table-row{border-bottom:1px solid var(--border-color);display:flex;gap:1rem;padding:.75rem 0}.skeleton-table-cell{flex:1 1;height:1.25rem}.skeleton-table-cell.short{flex:0.5 1}.skeleton-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.skeleton-stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.skeleton-stat-value{height:3rem;width:6rem}.skeleton-stat-label{height:1rem;width:8rem}.skeleton-photo-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.skeleton-photo{aspect-ratio:1;border-radius:.5rem}.skeleton-avatar{border-radius:50%}.skeleton-avatar.small{height:32px;width:32px}.skeleton-avatar.medium{height:48px;width:48px}.skeleton-avatar.large{height:64px;width:64px}.skeleton-list-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:1rem;margin-bottom:.5rem;padding:1rem}.skeleton-list-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.skeleton-chat-message{display:flex;gap:.5rem;margin-bottom:.75rem}.skeleton-chat-bubble{border-radius:1rem;max-width:70%;padding:.75rem 1rem}.skeleton-chat-bubble.own{border-radius:1rem 1rem .25rem 1rem;margin-left:auto}.skeleton-chat-bubble.other{border-radius:1rem 1rem 1rem .25rem}.skeleton-trip-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.skeleton-trip-card-header{height:120px}.skeleton-trip-card-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.skeleton-trip-card-footer{border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem 1rem}.skeleton-notification{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:1rem;margin-bottom:.5rem;padding:1rem}.skeleton-notification-icon{border-radius:50%;flex-shrink:0;height:40px;width:40px}.skeleton-notification-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}@media (max-width:1200px){.skeleton-card,.skeleton-table,.skeleton-trip-detail{padding:1rem}.skeleton-stats{grid-template-columns:1fr}.skeleton-photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.trip-list-container{margin:0 auto;padding:0}.trip-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2.5rem}.trip-list-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0}.empty-state{padding:6rem 2rem}.empty-state h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.empty-state p{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem}.trip-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.trip-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;padding:1.5rem;transition:all .15s ease}.trip-card:hover{border-color:var(--text-tertiary)}.trip-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.625rem}.trip-card h3{color:var(--text-primary);flex:1 1;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin:0}.trip-card-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease}.trip-card:hover .trip-card-actions{opacity:1}.copy-link-btn,.delete-trip-btn{background:#0000;border:1px solid #0000;border-radius:4px;color:var(--text-secondary);padding:.35rem}.copy-link-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.delete-trip-btn{color:var(--danger)}.delete-trip-btn:hover{background:var(--danger-light);border-color:var(--danger)}.trip-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.9375rem;line-height:1.5;margin-bottom:1.25rem;overflow:hidden}.trip-details{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-top:1rem}.trip-detail{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.trip-detail svg{color:var(--text-tertiary);width:14px}.duration-badge{background:var(--primary-light);border-radius:4px;color:var(--primary);display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.trip-status{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.phase-planning{background:#6366f126;border:1px solid #6366f14d;color:#6366f1}.phase-preparation{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b}.phase-active{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.phase-completed{background:#6b728026;border:1px solid #6b72804d;color:#6b7280}.phase-archived{background:#9ca3af26;border:1px solid #9ca3af4d;color:#9ca3af}.badge-active-stop{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6}@media (max-width:1200px){.section-header{align-items:stretch;flex-direction:column;gap:1rem}.section-header .btn{width:100%}.trips-grid{gap:1rem;grid-template-columns:1fr}.trip-card{padding:1.25rem}.trip-card h3{font-size:1.125rem}}.trip-create-container{margin:0 auto;max-width:800px;padding:2rem}.trip-create-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;box-shadow:var(--shadow-md);padding:2.5rem}.trip-create-card h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 2rem;text-align:center}.form-section{border-top:1px solid var(--border-light);margin-top:2rem;padding-top:2rem}.form-section h3{color:var(--primary);font-size:1.125rem;font-weight:600;margin:0 0 1rem}.form-actions{border-top:1px solid var(--border-light);display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}@media (max-width:1200px){.trip-create-container{padding:1rem}.trip-create-card{padding:1.5rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.poi-manager{display:flex;flex-direction:column;gap:1.5rem}.poi-filters{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:.5rem;padding:.75rem 1rem}.poi-filters label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.poi-filters select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.5rem .75rem}.poi-filters select:focus{border-color:var(--primary);outline:none}.poi-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.poi-form h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1.25rem}.poi-form .form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.poi-categories{display:flex;flex-direction:column;gap:2rem}.poi-category h3{align-items:center;border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0 0 1rem;padding-bottom:.75rem}.poi-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.poi-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all .15s ease}.poi-card:hover{border-color:var(--text-tertiary)}.poi-card-header{align-items:flex-start;display:flex;gap:.75rem}.poi-type-badge{align-items:center;border-radius:.5rem;color:#fff;display:flex;flex-shrink:0;font-size:1rem;height:2.5rem;justify-content:center;width:2.5rem}.poi-card-title{display:flex;flex:1 1;flex-direction:column;gap:.375rem;min-width:0}.poi-card-title h4{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3;margin:0}.poi-card-title .badge{align-self:flex-start}.poi-rating{color:gold;display:flex;flex-shrink:0;font-size:.875rem;gap:.125rem}.poi-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.poi-location{align-items:center;background:var(--bg-tertiary);border-radius:.375rem;color:var(--text-tertiary);display:flex;font-family:Courier New,monospace;font-size:.8125rem;gap:.5rem;padding:.5rem .75rem}.poi-location svg{color:var(--primary);flex-shrink:0}.poi-notes{background:var(--bg-tertiary);border-left:3px solid var(--primary);border-radius:.375rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;padding:.75rem}.poi-tags{display:flex;flex-wrap:wrap;gap:.375rem}.poi-tag{background:var(--bg-tertiary);border-radius:.25rem;color:var(--text-secondary);font-size:.75rem;font-weight:500;padding:.25rem .625rem}.poi-card-footer{align-items:center;border-top:1px solid var(--border-light);display:flex;gap:.75rem;justify-content:space-between;margin-top:auto;padding-top:.75rem}.poi-meta{color:var(--text-tertiary);font-size:.75rem}.poi-actions{display:flex;flex-wrap:wrap;gap:.5rem}.poi-actions .btn{font-size:.8125rem;padding:.375rem .75rem}.btn-sm{min-height:auto}@media (max-width:1200px){.poi-grid{grid-template-columns:1fr}.poi-card{padding:1rem}.poi-card-footer{align-items:stretch;flex-direction:column;gap:.75rem}.poi-actions{justify-content:flex-end}.poi-filters{align-items:stretch;flex-direction:column;gap:.5rem}.poi-filters select{width:100%}}.modal-overlay{animation:fadeIn .2s ease-in-out;background-color:#0009}.qr-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.qr-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.qr-modal-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.close-btn:hover{background-color:#f3f4f6;color:#1f2937}.qr-modal-body{padding:24px}.loading{flex-direction:column;padding:40px 20px}.spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;height:48px;width:48px}.loading p{color:#6b7280;font-size:.95rem;margin-top:16px}.error{flex-direction:column;padding:40px 20px}.error p{color:#dc2626;font-size:.95rem;margin-bottom:16px}.qr-code-container{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:8px;display:flex;flex-direction:column;margin-bottom:24px;padding:24px 0}.qr-code-image{background:#fff;border:8px solid #fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;height:280px;width:280px}.qr-trip-name{color:#1f2937;font-size:1.1rem;font-weight:600;margin-top:16px;text-align:center}.qr-instructions{margin-bottom:24px;text-align:center}.qr-instructions p{color:#6b7280;font-size:.9rem;line-height:1.5}.qr-url-section{margin-bottom:24px}.qr-url-section label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.url-copy-container{display:flex;gap:8px}.url-input{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;flex:1 1;font-family:Courier New,monospace;font-size:.9rem;padding:10px 12px}.url-input:focus{background-color:#fff;border-color:#3b82f6;outline:none}.qr-actions{display:flex;gap:12px;justify-content:center}.btn{border-radius:8px;display:flex;flex:1 1;font-size:.95rem;gap:8px;padding:12px 24px;transition:all .2s}.btn span{font-size:1.2rem}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-lg),var(--shadow-primary);color:#fff;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.qr-modal .btn-secondary{background-color:#fff;color:#000;min-width:100px}.qr-modal .btn-secondary:hover{background-color:#4b5563;color:#000}.btn-success{background-color:#10b981;min-width:100px}.btn-success:hover{background-color:#059669}@media (max-width:600px){.qr-modal{margin:10px;max-width:95%}.qr-modal-header{padding:16px 20px}.qr-modal-header h2{font-size:1.25rem}.qr-modal-body{padding:20px}.qr-code-image{height:240px;width:240px}.qr-actions{flex-direction:column}.btn{width:100%}.url-copy-container{flex-direction:column}.url-input{width:100%}}.trip-tracker{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.tracker-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.tracker-header>.btn{flex-shrink:0;max-width:180px!important;width:auto!important}.tracker-status{align-items:center;display:flex;gap:1rem}.status-icon{font-size:2rem}.status-icon.status-planned{color:var(--text-tertiary)}.status-icon.status-active{color:#16a34a}.status-icon.status-completed{color:var(--primary)}.tracker-status h3{color:var(--text-secondary);font-size:1rem;font-weight:600;margin:0 0 .5rem}.status-badge{border-radius:.375rem;font-size:.875rem;padding:.375rem .875rem;text-transform:capitalize}.status-badge.status-planned{background:var(--bg-tertiary);color:var(--text-secondary)}.status-badge.status-active{background:#dcfce7;color:#166534}[data-theme=dark] .status-badge.status-active{background:#052e16;color:#86efac}.status-badge.status-completed{background:#4f46e51a;color:var(--primary)}.tracker-actions{display:flex;flex-wrap:wrap;gap:.75rem}.location-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.location-item{align-items:center;display:flex;font-size:.9375rem;justify-content:space-between}.location-item strong{color:var(--text-secondary);font-weight:600}.location-item span{color:var(--text-primary);font-family:Monaco,Menlo,monospace;font-size:.875rem}.location-item.location-address{align-items:flex-start;flex-direction:column;gap:.5rem}.location-item.location-address strong{margin-bottom:.25rem}.address-details{display:flex;flex-direction:column;gap:.25rem;width:100%}.address-text{color:var(--text-primary);font-family:inherit!important;font-size:1rem!important;font-weight:600}.coordinates-text{color:var(--text-muted)!important;font-family:Monaco,Menlo,monospace;font-size:.75rem!important}.address-loading{align-items:center;color:var(--text-muted);display:flex;font-family:inherit!important;font-style:italic;gap:.5rem}.location-error{align-items:center;background:#dc26261a;border:1px solid #dc26264d;border-radius:.5rem;color:#dc2626;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.active-stop-card{background:linear-gradient(135deg,#4f46e50d,#4f46e505);border:2px solid var(--primary);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.stop-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.stop-header h4{color:var(--text-secondary);font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.distance-badge{background:var(--primary);border-radius:1rem;color:#fff;font-size:.8125rem;font-weight:600;padding:.25rem .75rem}.stop-name{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.stop-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.btn-full-width{justify-content:center;width:100%}.stops-progress{margin-top:1.5rem}.stops-progress h4{color:var(--text-secondary);font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.stops-list{gap:.75rem}.stop-item{align-items:center;border-radius:.5rem;gap:1rem;padding:1rem}.stop-item.stop-status-active{background:#4f46e50d;border-color:var(--primary);border-width:2px}.stop-item.stop-status-reached{background:#16a34a0d;border-color:#16a34a;opacity:.7}.stop-index{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-primary);display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:2rem;justify-content:center;width:2rem}.stop-item.stop-status-active .stop-index{background:var(--primary);border-color:var(--primary);color:#fff}.stop-item.stop-status-reached .stop-index{background:#16a34a;border-color:#16a34a;color:#fff}.stop-info{align-items:center;display:flex;gap:1rem;justify-content:space-between}.stop-info .stop-name{font-size:1rem;font-weight:600;margin:0}.stop-status{align-items:center;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;white-space:nowrap}.stop-status.status-pending{color:var(--text-tertiary)}.stop-status.status-active{color:var(--primary)}.stop-status.status-reached{color:#16a34a}@media (max-width:1200px){.trip-tracker{padding:1rem}.tracker-header{align-items:stretch;flex-direction:column}.tracker-header>.btn{width:100%!important}.tracker-status{border-bottom:1px solid var(--border-light);padding-bottom:1rem}.tracker-actions{width:100%}.tracker-actions .btn{flex:1 1}.stop-header{align-items:flex-start;flex-direction:column;gap:.75rem}.stop-name{font-size:1.25rem}.stop-info{align-items:flex-start;flex-direction:column;gap:.5rem}.stop-info .stop-name{font-size:.9375rem}}.weather-forecast{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.weather-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.weather-header h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0}.weather-updated{color:var(--text-tertiary);display:block;font-size:.75rem;margin-top:.25rem}.weather-empty,.weather-loading{color:var(--text-secondary);padding:2rem;text-align:center}.weather-empty ul{margin:1rem auto;max-width:400px;padding-left:1.5rem;text-align:left}.weather-empty li{margin:.5rem 0}.weather-empty-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .5rem}.weather-empty-hint{color:var(--text-tertiary);font-size:.875rem;margin:0}.weather-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.weather-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;text-align:center;transition:all .2s ease}.weather-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.weather-stop-name{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-icon{font-size:3rem;margin:.5rem 0}.weather-temp{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}.temp-current{color:var(--primary);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.temp-range{align-items:center;display:flex;font-size:1rem;font-weight:500;gap:.25rem;justify-content:center}.temp-label{color:var(--text-tertiary);font-size:.75rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.temp-max{color:#dc2626;font-weight:600}.temp-min{color:#2563eb;font-weight:600}.weather-conditions{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem;text-transform:capitalize}.weather-details{display:flex;gap:1rem;justify-content:center;margin-top:.5rem}.weather-detail{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.25rem}.detail-icon{font-size:1rem}.weather-warning{align-items:center;background:#dc26261a;border:1px solid #dc26264d;border-radius:.375rem;color:#dc2626;display:flex;font-size:.75rem;font-weight:600;gap:.375rem;justify-content:center;margin-top:.75rem;padding:.5rem}[data-theme=dark] .weather-warning{background:#f871711a;border-color:#f871714d;color:#f87171}.btn-small{font-size:.8125rem;max-width:-webkit-fit-content;max-width:fit-content}.weather-header .btn-refresh{font-size:.875rem;padding:.5rem 1rem}@media (max-width:1200px){.weather-forecast{padding:1rem}.weather-header{align-items:flex-start;flex-direction:row}.weather-header>div{flex:1 1;min-width:0}.weather-header h3{font-size:1rem}.weather-header .btn-refresh{flex-shrink:0;font-size:.75rem;padding:.375rem .625rem}.weather-list{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.weather-card{padding:.75rem}.weather-icon{font-size:2.5rem}.temp-range{font-size:1.125rem}}.trip-vehicles{padding:1rem 0}.trip-vehicles .vehicles-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.trip-vehicles .vehicles-header h2{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0}.trip-vehicles .vehicle-count{background:var(--bg-secondary);border-radius:1rem;color:var(--text-secondary);font-size:.875rem;padding:.25rem .75rem}.trip-vehicles .no-vehicles{background:var(--bg-card);border:1px dashed var(--border-color);border-radius:.5rem;padding:3rem 1.5rem;text-align:center}.trip-vehicles .no-vehicles-icon{color:var(--text-muted);font-size:3rem;margin-bottom:1rem}.trip-vehicles .no-vehicles p{color:var(--text-secondary);margin:0}.trip-vehicles .no-vehicles-hint{color:var(--text-muted);font-size:.875rem;margin-top:.5rem}.trip-vehicles .vehicles-list{display:flex;flex-direction:column;gap:1rem}.trip-vehicles .vehicle-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;overflow:hidden}.trip-vehicles .vehicle-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:background-color .15s ease}.trip-vehicles .vehicle-card-header:hover{background:var(--bg-hover)}.trip-vehicles .vehicle-main-info{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.trip-vehicles .vehicle-photo{border-radius:.375rem;flex-shrink:0;height:60px;object-fit:cover;width:80px}.trip-vehicles .vehicle-photo-placeholder{align-items:center;background:var(--bg-secondary);border-radius:.375rem;color:var(--text-muted);display:flex;flex-shrink:0;font-size:1.5rem;height:60px;justify-content:center;width:80px}.trip-vehicles .vehicle-details{flex:1 1;min-width:0}.trip-vehicles .vehicle-name{align-items:center;display:flex;font-size:1.0625rem;font-weight:600;gap:.5rem;margin:0 0 .25rem}.trip-vehicles .default-badge{color:var(--warning);font-size:.75rem}.trip-vehicles .vehicle-make-model{color:var(--text-secondary);font-size:.875rem;margin:0 0 .375rem}.trip-vehicles .vehicle-passengers{align-items:center;color:var(--text-muted);display:flex;font-size:.8125rem;gap:.375rem}.trip-vehicles .expand-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;transition:color .15s ease}.trip-vehicles .expand-btn:hover{color:var(--text-primary)}.trip-vehicles .vehicle-card-details{background:var(--bg-secondary);border-top:1px solid var(--border-light);padding:1rem 1.5rem 1.5rem}.trip-vehicles .vehicle-equipment-section,.trip-vehicles .vehicle-notes-section,.trip-vehicles .vehicle-specs-section{margin-bottom:1.25rem}.trip-vehicles .vehicle-equipment-section:last-child,.trip-vehicles .vehicle-notes-section:last-child,.trip-vehicles .vehicle-specs-section:last-child{margin-bottom:0}.trip-vehicles .vehicle-card-details h4{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.trip-vehicles .specs-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.trip-vehicles .spec-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.375rem;padding:.625rem .75rem}.trip-vehicles .spec-label{color:var(--text-muted);display:block;font-size:.75rem;letter-spacing:.02em;margin-bottom:.125rem;text-transform:uppercase}.trip-vehicles .spec-value{color:var(--text-primary);font-size:.875rem;font-weight:500}.trip-vehicles .equipment-by-category{display:flex;flex-direction:column;gap:1rem}.trip-vehicles .equipment-category h5{color:var(--text-secondary);font-size:.8125rem;font-weight:600;margin:0 0 .5rem}.trip-vehicles .equipment-items{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.trip-vehicles .equipment-items li{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.25rem;font-size:.8125rem;padding:.375rem .625rem}.trip-vehicles .equipment-items .qty{color:var(--text-muted)}.trip-vehicles .equipment-items .notes{color:var(--text-secondary);font-style:italic}.trip-vehicles .vehicle-description,.trip-vehicles .vehicle-notes{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.trip-vehicles .vehicle-notes{margin-top:.5rem}.trip-vehicles .common-equipment-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}.trip-vehicles .common-equipment-header{align-items:center;background:#f59e0b0d;border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:background-color .15s ease}.trip-vehicles .common-equipment-header:hover{background:#f59e0b1a}.trip-vehicles .common-equipment-header h3{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.trip-vehicles .common-count{background:#f59e0b33;border-radius:1rem;color:#b45309;font-size:.75rem;font-weight:500;margin-left:.5rem;padding:.125rem .5rem}[data-theme=dark] .trip-vehicles .common-count{background:#f59e0b26;color:#fbbf24}.trip-vehicles .common-equipment-content{padding:1rem}.trip-vehicles .common-equipment-hint{align-items:center;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:.375rem;color:#92400e;display:flex;font-size:.875rem;gap:.5rem;margin:0 0 1rem;padding:.75rem 1rem}[data-theme=dark] .trip-vehicles .common-equipment-hint{background:#f59e0b1a;border-color:#f59e0b33;color:#fcd34d}.trip-vehicles .common-items-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.trip-vehicles .common-item-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.375rem;padding:.75rem}.trip-vehicles .common-item-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.trip-vehicles .common-item-icon{font-size:1.125rem}.trip-vehicles .common-item-name{color:var(--text-primary);flex:1 1;font-size:.9375rem;font-weight:600}.trip-vehicles .common-item-total{background:var(--bg-card);border-radius:.25rem;color:var(--text-secondary);font-size:.75rem;font-weight:500;padding:.125rem .5rem}.trip-vehicles .common-item-vehicles{display:flex;flex-wrap:wrap;gap:.375rem}.trip-vehicles .common-item-vehicle{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.25rem;color:var(--text-secondary);font-size:.75rem;padding:.25rem .5rem}.trip-vehicles .common-item-vehicle .qty{color:var(--text-muted)}@media (max-width:768px){.trip-vehicles .vehicles-header{align-items:flex-start;flex-direction:column;gap:.5rem}.trip-vehicles .vehicle-card-header{padding:.875rem}.trip-vehicles .vehicle-main-info{align-items:flex-start;flex-direction:column;gap:.75rem}.trip-vehicles .vehicle-photo,.trip-vehicles .vehicle-photo-placeholder{height:120px;width:100%}.trip-vehicles .vehicle-card-details{padding:1rem}.trip-vehicles .specs-grid{grid-template-columns:repeat(2,1fr)}.trip-vehicles .common-items-grid{grid-template-columns:1fr}.trip-vehicles .common-equipment-hint{flex-direction:column;text-align:center}}@media (max-width:480px){.trip-vehicles .specs-grid{grid-template-columns:1fr}}.trip-checklist{padding:1rem 0}.trip-checklist .checklist-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.trip-checklist .checklist-header h2{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0}.trip-checklist .checklist-progress{align-items:center;display:flex;gap:.75rem}.trip-checklist .progress-bar{background:var(--bg-secondary);border-radius:4px;height:8px;overflow:hidden;width:120px}.trip-checklist .progress-fill{background:var(--success);border-radius:4px;height:100%;transition:width .3s ease}.trip-checklist .progress-text{color:var(--text-secondary);font-size:.875rem;font-weight:500}.trip-checklist .checklist-summary{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.trip-checklist .summary-stat{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.trip-checklist .summary-stat svg{color:var(--text-muted)}.trip-checklist .no-checklist{background:var(--bg-card);border:1px dashed var(--border-color);border-radius:.5rem;padding:3rem 1.5rem;text-align:center}.trip-checklist .no-checklist-icon{color:var(--text-muted);font-size:3rem;margin-bottom:1rem}.trip-checklist .no-checklist p{color:var(--text-secondary);margin:0}.trip-checklist .no-checklist-hint{color:var(--text-muted);font-size:.875rem;margin-top:.5rem!important}.trip-checklist .participants-checklist{display:flex;flex-direction:column;gap:1rem}.trip-checklist .participant-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;overflow:hidden}.trip-checklist .participant-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:background-color .15s ease}.trip-checklist .participant-card-header:hover{background:var(--bg-hover)}.trip-checklist .participant-info{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.trip-checklist .participant-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.trip-checklist .participant-details{flex:1 1;min-width:0}.trip-checklist .participant-name{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .25rem}.trip-checklist .you-badge{background:#3b82f61a;border-radius:.25rem;color:var(--primary);font-size:.75rem;font-weight:500;padding:.125rem .375rem}.trip-checklist .participant-card.current-user{border-color:var(--primary);box-shadow:0 0 0 1px #3b82f633}.trip-checklist .participant-stats{display:flex;flex-wrap:wrap;gap:.5rem}.trip-checklist .stat-badge{align-items:center;border-radius:1rem;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.125rem .5rem}.trip-checklist .stat-badge.gear{background:#3b82f61a;color:#3b82f6}.trip-checklist .stat-badge.meals{background:#ea580c1a;color:#ea580c}.trip-checklist .stat-badge.vehicle{background:#22c55e1a;color:#22c55e}.trip-checklist .expand-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;transition:color .15s ease}.trip-checklist .expand-btn:hover{color:var(--text-primary)}.trip-checklist .participant-card-details{background:var(--bg-secondary);border-top:1px solid var(--border-light);padding:1rem 1.5rem 1.5rem}.trip-checklist .checklist-section{margin-bottom:1.25rem}.trip-checklist .checklist-section:last-child{margin-bottom:0}.trip-checklist .checklist-section h4{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;margin:0}.trip-checklist .section-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.trip-checklist .edit-vehicle-link{align-items:center;color:var(--primary);display:flex;font-size:.75rem;gap:.375rem;text-decoration:none}.trip-checklist .edit-vehicle-link:hover{text-decoration:underline}.trip-checklist .owner-only-badge{align-items:center;background:var(--bg-secondary);border-radius:.25rem;color:var(--text-muted);display:flex;font-size:.6875rem;gap:.25rem;padding:.25rem .5rem}.trip-checklist .vehicle-info-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.trip-checklist .vehicle-name{color:var(--text-primary);font-weight:600}.trip-checklist .vehicle-desc{color:var(--text-secondary);font-size:.875rem}.trip-checklist .equipment-list{display:flex;flex-wrap:wrap;gap:.5rem}.trip-checklist .equipment-tag{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:.25rem;display:inline-flex;font-size:.8125rem;gap:.25rem;padding:.25rem .625rem}.trip-checklist .equipment-tag .qty{color:var(--text-muted);font-size:.75rem}.trip-checklist .equipment-more{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.8125rem;font-style:italic;padding:.25rem .625rem}.trip-checklist .checklist-items{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.trip-checklist .checklist-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:.375rem;display:flex;gap:.5rem;padding:.625rem .75rem;transition:all .15s ease}.trip-checklist .checklist-item.packed{background:#22c55e0d;border-color:#22c55e4d}.trip-checklist .checklist-item.toggleable{cursor:pointer;position:relative}.trip-checklist .checklist-item.toggleable:hover{background:#3b82f60d;border-color:var(--primary);transform:translateX(2px)}.trip-checklist .checklist-item.toggleable.packed:hover{background:#22c55e1a;border-color:#22c55e80}.trip-checklist .checklist-item.updating{opacity:.7;pointer-events:none}.trip-checklist .toggle-hint{color:var(--text-muted);font-size:.75rem;margin-left:auto;opacity:0;transition:opacity .15s ease,color .15s ease;white-space:nowrap}.trip-checklist .toggle-hint.persistent{color:var(--primary);font-weight:500;opacity:.7}.trip-checklist .checklist-item.toggleable:hover .toggle-hint{color:var(--primary);opacity:1}.trip-checklist .checklist-item.toggleable:hover .toggle-hint.persistent{opacity:1}.trip-checklist .checklist-item.toggleable.packed:hover .toggle-hint{color:#22c55e}.trip-checklist .status-icon.updating{color:var(--primary)}.trip-checklist .status-icon{font-size:.875rem}.trip-checklist .status-icon.packed{color:#22c55e}.trip-checklist .status-icon.assigned{color:#3b82f6}.trip-checklist .status-icon.needed{color:#f59e0b}.trip-checklist .item-category{font-size:1rem}.trip-checklist .item-name{color:var(--text-primary);flex:1 1;font-size:.875rem}.trip-checklist .item-qty{color:var(--text-muted);font-size:.75rem}.trip-checklist .item-status{border-radius:.25rem;font-size:.75rem;padding:.125rem .5rem;text-transform:capitalize}.trip-checklist .item-status.status-packed{background:#22c55e1a;color:#22c55e}.trip-checklist .item-status.status-assigned{background:#3b82f61a;color:#3b82f6}.trip-checklist .item-status.status-needed{background:#f59e0b1a;color:#f59e0b}.trip-checklist .meals-list .meal-item{align-items:flex-start;display:flex;gap:.75rem}.trip-checklist .meal-icon{font-size:1.25rem}.trip-checklist .meal-info{display:flex;flex-direction:column;gap:.125rem}.trip-checklist .meal-name{color:var(--text-primary);font-weight:500}.trip-checklist .meal-details{color:var(--text-secondary);font-size:.8125rem}.trip-checklist .no-assignments{color:var(--text-muted);font-size:.875rem;padding:1.5rem;text-align:center}@media (max-width:768px){.trip-checklist .checklist-header{align-items:flex-start;flex-direction:column}.trip-checklist .checklist-summary{gap:1rem}.trip-checklist .participant-card-header{padding:.875rem}.trip-checklist .participant-card-details{padding:1rem}.trip-checklist .checklist-item{flex-wrap:wrap}.trip-checklist .item-status{margin-left:auto}}@media (max-width:480px){.trip-checklist .progress-bar{width:80px}.trip-checklist .participant-stats{flex-direction:column;gap:.25rem}}.trip-checklist .checklist-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1rem;padding:1rem}.trip-checklist .checklist-section h3{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.trip-checklist .section-header-row.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.trip-checklist .section-header-row.clickable:hover{opacity:.8}.trip-checklist .section-toggle{color:var(--text-muted);margin-left:auto}.trip-checklist .vehicle-info-compact{align-items:center;background:var(--bg-secondary);border-radius:.375rem;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.trip-checklist .vehicle-info-compact svg{color:var(--text-muted)}.trip-checklist .vehicle-info-compact .vehicle-year{color:var(--text-muted);margin-left:.25rem}.trip-checklist .grocery-section{background:#22c55e0d;border-color:#22c55e33}.trip-checklist .grocery-count{background:var(--bg-secondary);border-radius:1rem;color:var(--text-secondary);font-size:.75rem;padding:.125rem .5rem}.trip-checklist .grocery-list{margin-top:.75rem}.trip-checklist .grocery-hint{color:var(--text-secondary);font-size:.8125rem;margin:0 0 .75rem}.trip-checklist .grocery-hint-warning{color:#f59e0b;font-style:italic}.trip-checklist .grocery-items{display:flex;flex-direction:column;gap:.375rem;list-style:none;margin:0;padding:0}.trip-checklist .grocery-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:.375rem;display:flex;font-size:.875rem;gap:.75rem;justify-content:space-between;padding:.5rem .75rem}.trip-checklist .grocery-name{color:var(--text-primary);flex:1 1;font-weight:500;min-width:0}.trip-checklist .grocery-quantity{background:#3b82f61a;border-radius:.25rem;color:var(--primary);font-size:.75rem;padding:.125rem .5rem;white-space:nowrap}.trip-checklist .grocery-meals{color:var(--text-muted);flex-shrink:0;font-size:.75rem;text-align:right}.trip-checklist .grocery-no-qty{color:var(--text-secondary)}.trip-checklist .qty-missing{color:#f59e0b;font-style:italic;margin-left:.25rem}.trip-checklist .unassigned-section{background:#f59e0b0d;border-color:#f59e0b4d}.trip-checklist .section-header-row.warning h3{color:#d97706}.trip-checklist .section-header-row.warning .warning-icon{color:#f59e0b;margin-right:.25rem}.trip-checklist .unassigned-count{background:#f59e0b1a;border-radius:1rem;color:#d97706;font-size:.75rem;padding:.125rem .5rem}.trip-checklist .unassigned-content{margin-top:.75rem}.trip-checklist .unassigned-hint{background:var(--bg-card);border-radius:.375rem;color:var(--text-secondary);font-size:.8125rem;margin:0 0 1rem;padding:.5rem}.trip-checklist .unassigned-subsection{margin-bottom:1rem}.trip-checklist .unassigned-subsection:last-child{margin-bottom:0}.trip-checklist .unassigned-subsection h4{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0 0 .5rem}.trip-checklist .checklist-item.needed{background:#f59e0b0d;border-color:#f59e0b4d}.trip-checklist .checklist-item.needed.toggleable:hover{background:#f59e0b1a;border-color:#f59e0b}.trip-checklist .claim-hint{color:#d97706;font-size:.75rem;margin-left:auto;opacity:0;transition:opacity .15s ease}.trip-checklist .checklist-item.needed.toggleable:hover .claim-hint{opacity:1}.trip-checklist .checklist-item.unassigned .status-icon{margin-right:.25rem}.trip-checklist .assign-link{color:var(--primary);font-size:.75rem;margin-left:auto;text-decoration:none;white-space:nowrap}.trip-checklist .assign-link:hover{text-decoration:underline}.trip-checklist .no-checklist-icon.success{color:#22c55e}@media (max-width:768px){.trip-checklist .grocery-item{align-items:flex-start;flex-direction:column;gap:.25rem}.trip-checklist .grocery-quantity{margin-top:.25rem}.trip-checklist .grocery-meals{text-align:left}.trip-checklist .claim-hint{display:none}}.group-checklist{padding:1rem 0}.group-checklist-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.group-checklist-header h2{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0}.group-checklist .overall-progress{align-items:center;display:flex;gap:.75rem}.group-checklist .progress-bar{background:var(--bg-secondary);border-radius:4px;height:8px;overflow:hidden;width:120px}.group-checklist .progress-fill{background:var(--success);border-radius:4px;height:100%;transition:width .3s ease}.group-checklist .progress-text{color:var(--text-secondary);font-size:.875rem;font-weight:500}.group-checklist-description{color:var(--text-secondary);font-size:.875rem;margin:0 0 1.5rem}.group-checklist .unassigned-warning-section{background:#f59e0b0d;border:1px solid #f59e0b4d;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.group-checklist .section-header-row{align-items:center;cursor:pointer;display:flex;gap:.75rem;-webkit-user-select:none;user-select:none}.group-checklist .section-header-row h3{align-items:center;color:#d97706;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.group-checklist .warning-icon{color:#f59e0b}.group-checklist .unassigned-count{background:#f59e0b1a;border-radius:1rem;color:#d97706;font-size:.75rem;margin-left:auto;padding:.125rem .5rem}.group-checklist .section-toggle{color:var(--text-muted)}.group-checklist .unassigned-items-list{margin-top:1rem}.group-checklist .unassigned-category{margin-bottom:1rem}.group-checklist .unassigned-category:last-child{margin-bottom:0}.group-checklist .unassigned-category h4{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0 0 .5rem}.group-checklist .participants-list{display:flex;flex-direction:column;gap:.75rem}.group-checklist .participant-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;overflow:hidden}.group-checklist .participant-card.current-user{border-color:var(--primary);box-shadow:0 0 0 1px #3b82f633}.group-checklist .participant-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.875rem 1rem;transition:background-color .15s ease}.group-checklist .participant-header:hover{background:var(--bg-hover)}.group-checklist .participant-info{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.group-checklist .participant-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.group-checklist .participant-details{display:flex;flex-direction:column;min-width:0}.group-checklist .participant-name{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:.5rem}.group-checklist .you-badge{background:#3b82f61a;border-radius:.25rem;color:var(--primary);font-size:.6875rem;font-weight:500;padding:.125rem .375rem}.group-checklist .participant-role{color:var(--text-secondary);font-size:.75rem;text-transform:capitalize}.group-checklist .participant-stats{align-items:center;display:flex;gap:.75rem}.group-checklist .mini-progress-bar{background:var(--bg-secondary);border-radius:3px;height:6px;overflow:hidden;width:60px}.group-checklist .mini-progress-bar .progress-fill{background:var(--success);height:100%;transition:width .3s ease}.group-checklist .progress-label{color:var(--text-secondary);font-size:.75rem;min-width:30px}.group-checklist .no-items-label{color:var(--text-muted);font-size:.75rem;font-style:italic}.group-checklist .expand-icon{color:var(--text-muted)}.group-checklist .participant-items{background:var(--bg-secondary);border-top:1px solid var(--border-light);padding:1rem}.group-checklist .vehicle-info{align-items:center;background:var(--bg-card);border-radius:.375rem;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem}.group-checklist .vehicle-info svg{color:var(--text-muted)}.group-checklist .vehicle-details{color:var(--text-muted);margin-left:.25rem}.group-checklist .items-section{margin-bottom:1rem}.group-checklist .items-section:last-child{margin-bottom:0}.group-checklist .items-section h4{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0 0 .5rem}.group-checklist .item-list{display:flex;flex-direction:column;gap:.375rem;list-style:none;margin:0;padding:0}.group-checklist .item-row{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:.375rem;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;position:relative}.group-checklist .item-row.interactive{transition:border-color .15s ease,background-color .15s ease}.group-checklist .item-row.interactive:hover{background:#3b82f60d;border-color:var(--primary)}.group-checklist .item-row.updating{opacity:.7;pointer-events:none}.group-checklist .item-row.packed{background:#22c55e0d;border-color:#22c55e4d}.group-checklist .item-row.packed.interactive:hover{background:#22c55e1a;border-color:#22c55e80}.group-checklist .item-row.unassigned{background:#f59e0b0d;border-color:#f59e0b4d}.group-checklist .item-row.unassigned.interactive:hover{background:#f59e0b1a;border-color:#f59e0b}.group-checklist .status-icon{font-size:.75rem}.group-checklist .status-icon.clickable{cursor:pointer;transition:transform .15s ease}.group-checklist .status-icon.clickable:hover{transform:scale(1.2)}.group-checklist .status-icon.updating{color:var(--primary)}.group-checklist .status-icon.packed{color:#22c55e}.group-checklist .status-icon.pending{color:#3b82f6}.group-checklist .status-icon.warning{color:#f59e0b}.group-checklist .item-category{font-size:1rem}.group-checklist .item-name{color:var(--text-primary);flex:1 1}.group-checklist .item-qty{color:var(--text-muted);font-size:.75rem}.group-checklist .item-status{border-radius:.25rem;font-size:.6875rem;padding:.125rem .375rem;text-transform:capitalize}.group-checklist .item-status.packed{background:#22c55e1a;color:#22c55e}.group-checklist .item-status.pending{background:#3b82f61a;color:#3b82f6}.group-checklist .meal-row{align-items:flex-start}.group-checklist .meal-icon{font-size:1.25rem}.group-checklist .meal-info{display:flex;flex:1 1;flex-direction:column;gap:.125rem}.group-checklist .meal-name{color:var(--text-primary);font-weight:500}.group-checklist .meal-details{color:var(--text-secondary);font-size:.75rem}.group-checklist .meal-date{color:var(--text-muted);font-size:.75rem;margin-left:auto}.group-checklist .no-items-message{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:1rem;text-align:center}.group-checklist .no-participants{background:var(--bg-card);border:1px dashed var(--border-color);border-radius:.5rem;padding:3rem 1.5rem;text-align:center}.group-checklist .no-participants-icon{color:var(--text-muted);font-size:3rem;margin-bottom:1rem}.group-checklist .no-participants p{color:var(--text-secondary);margin:0}.group-checklist .item-actions{align-items:center;display:flex;gap:.375rem;margin-left:auto}.group-checklist .action-btn{align-items:center;border:none;border-radius:.25rem;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;justify-content:center;padding:.25rem .5rem;transition:all .15s ease}.group-checklist .action-btn.small{padding:.25rem .375rem}.group-checklist .action-btn:disabled{cursor:not-allowed;opacity:.5}.group-checklist .action-btn.pack-btn{background:var(--success);color:#fff}.group-checklist .action-btn.pack-btn:hover:not(:disabled){background:#16a34a}.group-checklist .action-btn.assign-btn{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary)}.group-checklist .action-btn.assign-btn.active,.group-checklist .action-btn.assign-btn:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.group-checklist .assign-dropdown{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.375rem;box-shadow:0 4px 12px #00000026;margin-top:.25rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.group-checklist .assign-dropdown-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);color:var(--text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.05em;padding:.5rem .75rem;text-transform:uppercase}.group-checklist .assign-dropdown-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;text-align:left;transition:background-color .15s ease;width:100%}.group-checklist .assign-dropdown-item:hover{background:var(--bg-hover)}.group-checklist .assign-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.6875rem;font-weight:600;height:1.5rem;justify-content:center;width:1.5rem}.group-checklist .assign-dropdown-cancel{background:var(--bg-secondary);border:none;border-top:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;display:block;font-size:.75rem;padding:.5rem .75rem;text-align:center;transition:background-color .15s ease;width:100%}.group-checklist .assign-dropdown-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}@media (max-width:768px){.group-checklist-header{align-items:flex-start;flex-direction:column}.group-checklist .participant-header,.group-checklist .participant-items{padding:.75rem}.group-checklist .item-row{flex-wrap:wrap}.group-checklist .item-status{margin-left:auto}.group-checklist .mini-progress-bar{width:40px}}@media (max-width:480px){.group-checklist .progress-bar{width:80px}.group-checklist .participant-stats{gap:.5rem}}.trip-phase{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.trip-phase .phase-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.25rem}.trip-phase .phase-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.trip-phase .phase-spinner{color:var(--primary)}.trip-phase .phase-progress{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem;overflow-x:auto;padding:.5rem 0}.trip-phase .phase-step{align-items:center;border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;min-width:80px;padding:.75rem;transition:all .2s ease}.trip-phase .phase-step.clickable{cursor:pointer}.trip-phase .phase-step.clickable:hover{background:var(--bg-hover)}.trip-phase .phase-step .phase-icon{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-muted);display:flex;font-size:1.25rem;height:48px;justify-content:center;transition:all .2s ease;width:48px}.trip-phase .phase-step.completed .phase-icon{background:var(--success);border-color:var(--success);color:#fff}.trip-phase .phase-step.active .phase-icon{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px #2563eb33;color:#fff}.trip-phase .phase-step .phase-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500;text-align:center}.trip-phase .phase-step.active .phase-label{color:var(--primary);font-weight:600}.trip-phase .phase-step.completed .phase-label{color:var(--success)}.trip-phase .phase-connector{color:var(--border-color);flex-shrink:0;font-size:.875rem;padding:0 .25rem}.trip-phase .phase-connector.completed{color:var(--success)}.trip-phase .phase-description{background:var(--bg-secondary);border-radius:.5rem;color:var(--text-secondary);font-size:.875rem;padding:.75rem 1rem}.trip-phase .phase-description strong{color:var(--text-primary)}.trip-phase .phase-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.trip-phase .phase-actions .btn-reset{align-items:center;display:flex;gap:.5rem}.trip-phase .phase-step.resettable:hover .phase-icon{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.trip-phase .phase-step.resettable:hover .phase-label{color:#f59e0b}@media (max-width:768px){.trip-phase{padding:1rem}.trip-phase .phase-progress{gap:.25rem}.trip-phase .phase-step{min-width:60px;padding:.5rem}.trip-phase .phase-step .phase-icon{font-size:1rem;height:40px;width:40px}.trip-phase .phase-step .phase-label{font-size:.6875rem}.trip-phase .phase-connector{font-size:.75rem;padding:0}}@media (max-width:480px){.trip-phase .phase-step .phase-label{display:none}.trip-phase .phase-step{min-width:auto}}.trip-phase .trip-readiness-section{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:.5rem;margin-top:1rem;padding:.875rem 1rem}.trip-phase .trip-readiness-section.ready{background:#22c55e1a;border-color:#22c55e4d}.trip-phase .readiness-header{align-items:center;cursor:pointer;display:flex;gap:.625rem}.trip-phase .readiness-warning-icon{color:#f59e0b;font-size:1rem}.trip-phase .readiness-ready-icon{color:#22c55e;font-size:1rem}.trip-phase .readiness-title{color:var(--text-primary);flex:1 1;font-size:.875rem;font-weight:500}.trip-phase .readiness-toggle{color:var(--text-muted);font-size:.75rem}.trip-phase .readiness-details{border-top:1px solid #f59e0b33;display:flex;flex-direction:column;gap:.75rem;margin-top:.875rem;padding-top:.875rem}.trip-phase .readiness-warning-item{background:var(--bg-card);border-radius:.375rem;padding:.75rem}.trip-phase .warning-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.trip-phase .warning-type-icon{color:#f59e0b;font-size:.875rem}.trip-phase .warning-title{color:var(--text-primary);font-size:.8125rem;font-weight:600}.trip-phase .warning-count{color:var(--text-secondary);font-size:.75rem;margin-left:auto}.trip-phase .warning-details-list{color:var(--text-secondary);font-size:.8125rem;margin:0;padding-left:1.5rem}.trip-phase .warning-details-list li{margin-bottom:.25rem}.trip-phase .warning-details-list .warning-more{color:var(--text-muted);font-style:italic}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.modal-close{background:none;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;padding:.25rem .5rem;transition:all .2s ease}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end}.form-group label{font-weight:600}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);font-size:1rem;padding:.75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #3b82f61a}.info-box{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:.5rem;margin-top:1rem;padding:1rem}.info-box p{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.info-box strong{color:var(--text-primary)}[data-theme=dark] .info-box{background:#3b82f626;border-color:#3b82f666}@media (max-width:1200px){.modal-content{border-radius:.5rem;max-width:100%}.modal-body,.modal-footer,.modal-header{padding:1rem}.modal-header h2{font-size:1.25rem}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.trip-chat{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;display:flex;flex-direction:column;height:calc(100vh - 280px);max-height:700px;min-height:400px;position:relative}.chat-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1rem 1.25rem}.chat-header h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.chat-participant-count{color:var(--text-secondary);font-size:.875rem}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-y:auto;padding:1rem}.chat-empty,.chat-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:.75rem;height:100%;justify-content:center}.chat-loading svg{color:var(--primary);font-size:1.5rem}.chat-empty p{font-size:.875rem;margin:0}.chat-beginning{padding:.75rem}.chat-date-divider{margin:1rem 0}.chat-date-divider span{background:var(--bg-card);border:1px solid var(--border-light)}.chat-system-message{padding:.5rem 1rem}.chat-message{max-width:85%}.chat-message-avatar{font-size:.875rem}.chat-message-content{gap:.125rem}.chat-message-header{align-items:center;display:flex;gap:.5rem;padding-left:.25rem}.chat-message-sender{font-size:.8125rem}.chat-message-role{border-radius:.25rem;font-size:.625rem;font-weight:500;padding:.125rem .375rem;text-transform:capitalize}.chat-message-role.owner{background:#eab30826;color:#ca8a04}.chat-message-role.organizer{background:#3b82f626;color:#3b82f6}.chat-message-role.editor{background:#22c55e26;color:#22c55e}.chat-message-role.crewmember{background:#a855f726;color:#a855f7}.chat-message-role.viewer{background:var(--bg-secondary);color:var(--text-muted)}.chat-message-bubble{word-wrap:break-word;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:1rem;overflow-wrap:break-word;padding:.625rem .875rem;position:relative}.chat-message.own .chat-message-bubble{background:var(--primary);border-color:var(--primary);border-top-right-radius:.25rem;color:#fff}.chat-message:not(.own) .chat-message-bubble{border-top-left-radius:.25rem}.chat-message-bubble p{font-size:.9375rem;line-height:1.4;margin:0}.chat-message-time{font-size:.6875rem}.chat-message-delete{align-items:center;background:#ef44441a;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:1.25rem;justify-content:center;opacity:0;position:absolute;right:.25rem;top:.25rem;transition:opacity .15s ease;width:1.25rem}.chat-message-bubble:hover .chat-message-delete{opacity:1}.chat-message-delete:hover{background:#ef444433}.chat-message-delete svg{font-size:.625rem}.chat-message.own .chat-message-delete{background:#fff3;color:#fff}.chat-message.own .chat-message-delete:hover{background:#ffffff4d}.chat-message-bubble-wrapper{display:flex;flex-direction:column;position:relative}.chat-message.own .chat-message-bubble-wrapper{align-items:flex-end}.chat-message-react{align-items:center;background:#ef44441a;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:1.25rem;justify-content:center;opacity:0;position:absolute;right:1.5rem;top:.25rem;transition:opacity .15s ease;width:1.25rem}.chat-message.own .chat-message-react{background:#fff3;color:#fff}.chat-message-bubble:hover .chat-message-react{opacity:1}.chat-message-react:hover{background:var(--bg-hover)}.chat-message.own .chat-message-react:hover{background:#ffffff4d}.chat-message-react svg{font-size:.625rem}.chat-typing-indicator{background:var(--bg-secondary);font-size:.8125rem}.chat-scroll-button{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:50%;bottom:80px;box-shadow:0 2px 8px #00000026;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:1.5rem;transition:all .15s ease;width:36px;z-index:10}.chat-scroll-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-input-container{background:var(--bg-card);border-top:1px solid var(--border-light);overflow:visible;position:relative}.chat-input-form{padding:1rem}.chat-input-form input{font-size:.9375rem;padding:.75rem 1rem;transition:border-color .15s ease}.chat-send-button{align-items:center;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .15s ease;width:44px}.chat-send-button:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.chat-send-button:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.chat-send-button svg{font-size:1rem}.chat-emoji-button{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .15s ease;width:44px}.chat-emoji-button:hover{background:var(--bg-secondary);color:var(--primary)}.chat-emoji-button svg{font-size:1.25rem}.chat-emoji-picker{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;bottom:calc(100% + .5rem);box-shadow:0 4px 24px #00000026;left:1rem;margin-bottom:0;max-width:400px;position:absolute;z-index:100}.emoji-picker-categories{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);display:flex;gap:.25rem;overflow-x:auto;padding:.5rem}.emoji-category-btn{align-items:center;background:#0000;border:none;border-radius:.375rem;cursor:pointer;display:flex;flex-shrink:0;font-size:1.125rem;height:32px;justify-content:center;transition:background .15s ease;width:32px}.emoji-category-btn:hover{background:var(--bg-hover)}.emoji-category-btn.active{background:var(--primary)}.emoji-picker-grid{grid-gap:.125rem;display:grid;gap:.125rem;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));max-height:200px;overflow-y:auto;padding:.5rem}.emoji-picker-item{align-items:center;background:#0000;border:none;border-radius:.375rem;cursor:pointer;display:flex;font-size:1.375rem;height:36px;justify-content:center;transition:all .1s ease;width:36px}.emoji-picker-item:hover{background:var(--bg-hover);transform:scale(1.15)}.chat-message-menu-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:1.25rem;justify-content:center;opacity:0;position:absolute;right:2.75rem;top:.25rem;transition:opacity .15s ease;width:1.25rem}.chat-message.own .chat-message-menu-btn{color:#ffffffb3}.chat-message-bubble:hover .chat-message-menu-btn{opacity:1}.chat-message-menu-btn:hover{background:var(--bg-hover)}.chat-message.own .chat-message-menu-btn:hover{background:#fff3}.chat-message-menu-btn svg{font-size:.625rem}.chat-message-menu{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;box-shadow:0 4px 12px #00000026;left:0;margin-top:.25rem;min-width:120px;overflow:hidden;position:absolute;top:100%;z-index:20}.chat-message-menu.own{left:auto;right:0}.chat-message-menu button{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;padding:.5rem .75rem;text-align:left;width:100%}.chat-message-menu button:hover{background:var(--bg-hover)}.chat-message-menu button.danger{color:#ef4444}.chat-message-menu button.danger:hover{background:#ef44441a}.chat-message-menu button.warning{color:#f59e0b}.chat-message-menu button.warning:hover{background:#f59e0b1a}.chat-message-menu button svg{font-size:.75rem}.chat-message-edit-form{background:var(--bg-secondary);border:1px solid var(--primary);border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.chat-message-edit-form input{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;color:var(--text-primary);flex:1 1;font-size:.875rem;outline:none;padding:.5rem .75rem}.chat-message-edit-form input:focus{border-color:var(--primary)}.chat-message-edit-actions{display:flex;gap:.25rem;justify-content:flex-end}.chat-message-edit-actions button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:1.75rem;justify-content:center;width:1.75rem}.chat-message-edit-actions .edit-save{background:var(--primary);color:#fff}.chat-message-edit-actions .edit-save:hover{background:var(--primary-hover)}.chat-message-edit-actions .edit-cancel{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary)}.chat-message-edit-actions .edit-cancel:hover{background:var(--bg-hover)}.chat-message-edit-actions button svg{font-size:.75rem}.edited-indicator{color:var(--text-muted);font-size:.625rem;font-style:italic}.chat-message.own .edited-indicator{color:#fff9}.chat-report-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.chat-report-modal{background:var(--bg-card);border-radius:.75rem;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:450px;overflow-y:auto;width:90%}.chat-report-modal-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1rem 1.25rem}.chat-report-modal-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.chat-report-modal-header .close-btn{align-items:center;background:var(--bg-secondary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.chat-report-modal-header .close-btn:hover{background:var(--bg-hover)}.chat-report-modal-content{padding:1.25rem}.reported-message-preview{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1rem;padding:.75rem}.reported-message-preview strong{color:var(--text-primary);font-size:.8125rem}.reported-message-preview p{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0 0}.chat-report-modal-content .form-group{margin-bottom:1rem}.chat-report-modal-content .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.chat-report-modal-content .form-group select,.chat-report-modal-content .form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;outline:none;padding:.625rem .75rem;width:100%}.chat-report-modal-content .form-group select:focus,.chat-report-modal-content .form-group textarea:focus{border-color:var(--primary)}.chat-report-modal-content .form-group textarea{min-height:80px;resize:vertical}.chat-report-modal-actions{border-top:1px solid var(--border-light);display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.25rem}.chat-report-modal-actions button{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.chat-report-modal-actions .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary)}.chat-report-modal-actions .btn-secondary:hover{background:var(--bg-hover)}.chat-report-modal-actions .btn-danger{background:#ef4444;color:#fff}.chat-report-modal-actions .btn-danger:hover:not(:disabled){background:#dc2626}.chat-report-modal-actions .btn-danger:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}@media (max-width:768px){.trip-chat{height:calc(100vh - 320px);min-height:350px}.chat-header{padding:.875rem 1rem}.chat-header h2{font-size:1rem}.chat-messages{padding:.75rem}.chat-message{max-width:90%}.chat-message-avatar{font-size:.75rem;height:28px;width:28px}.chat-message-avatar-placeholder{width:28px}.chat-message-bubble{padding:.5rem .75rem}.chat-message-bubble p{font-size:.875rem}.chat-input-form{padding:.75rem}.chat-input-form input{font-size:.875rem;padding:.625rem .875rem}.chat-emoji-button,.chat-send-button{height:40px;width:40px}.chat-emoji-picker{left:.5rem;max-width:none;right:.5rem;width:auto}.emoji-picker-grid{max-height:160px}.emoji-picker-item{font-size:1.25rem;height:32px;width:32px}.chat-scroll-button{bottom:70px;height:32px;right:1rem;width:32px}.chat-message-delete{opacity:.7}}@media (max-width:480px){.trip-chat{height:calc(100vh - 340px)}.chat-message{max-width:95%}}.photo-uploader{width:100%}.dropzone{background:#1f2937;background:var(--bg-tertiary,#1f2937);border:2px dashed #374151;border:2px dashed var(--border-color,#374151);border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.dropzone:hover{background:#111827;background:var(--bg-secondary,#111827)}.dropzone-active,.dropzone:hover{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.dropzone-active{background:#3b82f61a}.dropzone-disabled{cursor:not-allowed;opacity:.6}.dropzone-icon{color:#6b7280;color:var(--text-muted,#6b7280);font-size:3rem;margin-bottom:1rem}.dropzone p{color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:1.1rem;margin:0}.dropzone-hint{font-size:.9rem}.dropzone-formats,.dropzone-hint{color:#6b7280;color:var(--text-muted,#6b7280);display:block;margin-top:.5rem}.dropzone-formats{font-size:.8rem}.upload-preview{background:#111827;background:var(--bg-secondary,#111827);border-radius:8px;margin-top:1.5rem;padding:1rem}.preview-header{align-items:center;border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.preview-header h4{color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:1rem;margin:0}.preview-header h4 svg{color:#3b82f6;color:var(--primary-color,#3b82f6);margin-right:.5rem}.preview-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-bottom:1rem}.preview-item{aspect-ratio:1;background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:6px;overflow:hidden;position:relative}.preview-item img{height:100%;object-fit:cover;width:100%}.preview-remove{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;position:absolute;right:4px;top:4px;transition:background .2s;width:24px}.preview-remove:hover{background:#ef4444;background:var(--error-color,#ef4444)}.preview-name{background:#000000b3;bottom:0;color:#fff;font-size:.7rem;left:0;overflow:hidden;padding:4px 6px;position:absolute;right:0;text-overflow:ellipsis;white-space:nowrap}.upload-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}@media (max-width:600px){.upload-options{grid-template-columns:1fr}}.upload-options .form-group{margin-bottom:0}.upload-options label{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:block;font-size:.85rem;margin-bottom:.5rem}.upload-options input,.upload-options select{background:#1f2937;background:var(--bg-tertiary,#1f2937);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.9rem;padding:.5rem .75rem;width:100%}.upload-options input:focus,.upload-options select:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);outline:none}.upload-progress{background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:4px;height:24px;margin-bottom:1rem;overflow:hidden;position:relative}.progress-bar{background:#3b82f6;background:var(--primary-color,#3b82f6);height:100%;transition:width .3s ease}.progress-text{color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.8rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.upload-actions{display:flex;gap:.75rem;justify-content:flex-end}.upload-actions .btn{padding:.5rem 1rem}.upload-actions .btn svg{margin-right:.5rem}.photo-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media (max-width:600px){.photo-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.photo-grid-item{aspect-ratio:1;background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.photo-grid-item:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.02)}.photo-grid-item img{height:100%;object-fit:cover;transition:opacity .3s;width:100%}.photo-placeholder{animation:pulse 1.5s ease-in-out infinite;background:#1f2937;background:var(--bg-tertiary,#1f2937);height:100%;width:100%}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.3}}.photo-overlay{background:linear-gradient(0deg,#000000b3 0,#0000 40%,#0000 70%,#0006);display:flex;flex-direction:column;inset:0;justify-content:space-between;opacity:0;padding:.5rem;position:absolute;transition:opacity .2s}.photo-grid-item:hover .photo-overlay{opacity:1}.photo-visibility{align-items:center;background:#0009;border-radius:50%;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.7rem;height:24px;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:24px}.photo-stats{color:#fff;font-size:.8rem;margin-top:auto}.photo-stats .stat{align-items:center;display:flex;gap:.25rem}.photo-stats .stat svg{font-size:.7rem}.photo-caption{color:#fff;font-size:.75rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-grid-selectable .photo-grid-item{cursor:pointer}.photo-checkbox{align-items:center;background:#0006;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.9rem;height:24px;justify-content:center;left:.5rem;opacity:0;position:absolute;top:.5rem;transition:opacity .2s,background .2s;width:24px}.photo-checkbox.checked,.photo-grid-selectable .photo-grid-item:hover .photo-checkbox{opacity:1}.photo-checkbox.checked{background:#3b82f6;background:var(--primary-color,#3b82f6);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.photo-selected{outline:3px solid #3b82f6;outline:3px solid var(--primary-color,#3b82f6);outline-offset:-3px}.photo-grid-empty,.photo-grid-loading{align-items:center;color:#6b7280;color:var(--text-muted,#6b7280);display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem}.photo-grid-loading svg{color:#3b82f6;color:var(--primary-color,#3b82f6);font-size:2rem}.photo-grid-loading-more{color:#3b82f6;color:var(--primary-color,#3b82f6);font-size:1.5rem;grid-column:1/-1}.photo-grid-loading-more,.photo-viewer-overlay{display:flex;justify-content:center;padding:1rem}.photo-viewer-overlay{align-items:center;background:#000000e6;inset:0;position:fixed;z-index:1000}.photo-viewer{background:#0f172a;background:var(--bg-primary,#0f172a);border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;position:relative;width:100%}.viewer-close{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background .2s;width:36px;z-index:10}.viewer-close:hover{background:#000c}.viewer-content{display:flex;height:100%;max-height:90vh}.viewer-image-container{align-items:center;background:#000;display:flex;flex:1 1;justify-content:center;min-width:0;padding:1rem;position:relative}.viewer-image-container img{max-height:calc(90vh - 2rem);max-width:100%;object-fit:contain}.nav-btn{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s;width:48px;z-index:5}.nav-btn:hover{background:#000000d9;transform:translateY(-50%) scale(1.1)}.nav-prev{left:1rem}.nav-next{right:1rem}.photo-counter{background:#000000b3;border-radius:20px;bottom:1rem;color:#fff;font-size:.8rem;font-weight:500;left:50%;padding:.35rem .75rem;position:absolute;transform:translateX(-50%)}.viewer-sidebar{background:#111827;background:var(--bg-secondary,#111827);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:350px}.viewer-header{border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);padding:1rem}.photo-owner{color:#f9fafb;color:var(--text-primary,#f9fafb);font-weight:600;margin-bottom:.5rem}.photo-meta{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.85rem;gap:.75rem}.photo-visibility-badge{align-items:center;background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:4px;display:inline-flex;font-size:.75rem;gap:.35rem;padding:.2rem .5rem}.photo-caption{color:#f9fafb;color:var(--text-primary,#f9fafb);line-height:1.5;padding:1rem}.photo-caption,.photo-stats{border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151)}.photo-stats{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.75rem;padding:.75rem 1rem}.photo-stats svg{margin-right:.35rem}.photo-stats .photo-location{align-items:center;display:inline-flex;gap:.35rem}.photo-actions{border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);display:flex;gap:.5rem;padding:.75rem 1rem}.action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.75rem;gap:.25rem;padding:.5rem;transition:all .2s}.action-btn:hover{background:#1f2937;background:var(--bg-tertiary,#1f2937);color:#f9fafb;color:var(--text-primary,#f9fafb)}.action-btn.active{color:#ef4444;color:var(--error-color,#ef4444)}.action-btn.active.dislike{color:#f59e0b;color:var(--warning-color,#f59e0b)}.action-btn.delete:hover{color:#ef4444;color:var(--error-color,#ef4444)}.action-btn svg{font-size:1.25rem}.edit-form{padding:1rem}.edit-form .form-group{margin-bottom:1rem}.edit-form label{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:block;font-size:.85rem;margin-bottom:.5rem}.edit-form select,.edit-form textarea{background:#1f2937;background:var(--bg-tertiary,#1f2937);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.9rem;padding:.5rem;width:100%}.edit-form textarea{min-height:80px;resize:vertical}.edit-form input{background:#1f2937;background:var(--bg-tertiary,#1f2937);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.9rem;padding:.5rem;width:100%}.location-inputs{display:flex;gap:.5rem}.location-inputs input{flex:1 1}.form-hint{color:#6b7280;color:var(--text-muted,#6b7280);display:block;font-size:.75rem;margin-top:.35rem}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end}.share-panel{background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:6px;margin:.5rem 1rem;padding:1rem}.share-panel h4{color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.9rem;margin:0 0 .75rem}.share-panel h4 svg{margin-right:.5rem}.share-link-display{display:flex;gap:.5rem;margin-bottom:.5rem}.share-link-display input{background:#111827;background:var(--bg-secondary,#111827);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;color:#f9fafb;color:var(--text-primary,#f9fafb);flex:1 1;font-size:.8rem;padding:.5rem}.comments-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.comments-section h4{border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.9rem;margin:0;padding:1rem}.comments-section h4 svg{margin-right:.5rem}.comment-form{border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);display:flex;gap:.5rem;padding:.75rem 1rem}.comment-form input{background:#1f2937;background:var(--bg-tertiary,#1f2937);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;color:#f9fafb;color:var(--text-primary,#f9fafb);flex:1 1;font-size:.85rem;padding:.5rem .75rem}.comment-form input:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);outline:none}.comments-list{flex:1 1;overflow-y:auto;padding:.5rem}.comments-loading,.no-comments{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.9rem;padding:2rem;text-align:center}.comment{background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:6px;margin-bottom:.5rem;padding:.75rem}.comment-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.35rem}.comment-author{color:#f9fafb;color:var(--text-primary,#f9fafb);font-size:.85rem;font-weight:600}.comment-date,.comment-delete{color:#6b7280;color:var(--text-muted,#6b7280);font-size:.75rem}.comment-delete{background:#0000;border:none;cursor:pointer;margin-left:auto;padding:.25rem}.comment-delete:hover{color:#ef4444;color:var(--error-color,#ef4444)}.comment-content{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem;line-height:1.4}@media (max-width:900px){.viewer-content{flex-direction:column}.viewer-image-container{max-height:50vh}.viewer-sidebar{max-height:50vh;width:100%}}.trip-photos-section{padding:1rem}.trip-photos-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.trip-photos-header h2{align-items:center;color:#f9fafb;color:var(--text-primary,#f9fafb);display:flex;font-size:1.25rem;gap:.5rem;margin:0}.trip-photos-header .photo-count{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem;font-weight:400}.uploader-wrapper{background:#111827;background:var(--bg-secondary,#111827);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.photos-loading{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem}.photos-loading svg{font-size:2rem}.no-photos{align-items:center;background:#111827;background:var(--bg-secondary,#111827);border:1px dashed #374151;border:1px dashed var(--border-color,#374151);border-radius:8px;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;flex-direction:column;justify-content:center;padding:3rem}.no-photos svg{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-photos p{margin:.25rem 0;text-align:center}.photos-pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding:1rem}.photos-pagination .page-info{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem}@media (max-width:768px){.trip-photos-header{align-items:flex-start;flex-direction:column;gap:1rem}.trip-photos-header button{width:100%}}.trip-detail-container{margin:0 auto;padding:0}.trip-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.trip-header-info{flex:1 1;min-width:0}.trip-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.trip-name-row h1{margin:0}.btn-rename{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;justify-content:center;padding:.375rem .5rem;transition:all .15s ease}.btn-rename:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.trip-name-edit{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.trip-name-input{background:var(--bg-card);border:2px solid var(--primary);border-radius:.375rem;color:var(--text-primary);font-size:1.5rem;font-weight:600;max-width:100%;min-width:200px;padding:.375rem .75rem}.trip-name-input:focus{box-shadow:0 0 0 3px var(--primary-light);outline:none}.btn-sm{font-size:.875rem;padding:.375rem .625rem}.btn-success{border:1px solid var(--success)}.btn-success:hover{background:#059669;border-color:#059669}.trip-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem}.trip-header p{color:var(--text-secondary);font-size:1rem;line-height:1.6}.trip-header .btn{flex-shrink:0}.trip-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.trip-header-actions .btn{align-items:center;display:flex;gap:.5rem;white-space:nowrap}.mobile-actions-container{display:none;position:relative}.mobile-menu-trigger{font-size:1.25rem;padding:.75rem 1rem}.mobile-menu-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.mobile-actions-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}.mobile-action-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:background .15s ease;width:100%}.mobile-action-item:last-child{border-bottom:none}.mobile-action-item:hover{background:var(--bg-hover)}.mobile-action-item svg{color:var(--text-secondary);width:1rem}.mobile-action-danger,.mobile-action-danger svg{color:var(--danger)}.mobile-action-danger:hover{background:var(--danger-light)}.desktop-more-menu{position:relative}.desktop-menu-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.desktop-actions-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}.desktop-action-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:background .15s ease;width:100%}.desktop-action-item:last-child{border-bottom:none}.desktop-action-item:hover{background:var(--bg-hover)}.desktop-action-item svg{color:var(--text-secondary);width:1rem}.desktop-action-danger,.desktop-action-danger svg{color:var(--danger)}.desktop-action-danger:hover{background:var(--danger-light)}.trip-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:0;margin-bottom:2rem;overflow-x:auto;scrollbar-width:thin}.mobile-nav-section{display:none;margin-bottom:1.5rem}.mobile-nav-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.mobile-nav-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1rem .5rem;text-align:center;transition:all .2s ease}.mobile-nav-card.active,.mobile-nav-card:hover{background:var(--bg-primary);border-color:var(--primary-color)}.mobile-nav-card.active{background:var(--primary-light)}.mobile-nav-icon{color:var(--primary-color);font-size:1.25rem;line-height:1}.mobile-nav-text{color:var(--text-primary);font-size:.75rem;font-weight:600;line-height:1.2}.tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:.875rem 1.25rem;transition:all .15s ease;white-space:nowrap}.tab.active,.tab:hover{color:var(--text-primary)}.tab.active{border-bottom-color:var(--text-primary)}.trip-content{background:#0000;padding:0}.overview-tab{grid-gap:1.5rem;display:grid;gap:1.5rem}.info-section h2{color:var(--text-primary);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.875rem}.info-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.gear-list,.meal-planner,.participant-list,.trip-stops{display:flex;flex-direction:column;gap:1.25rem}.gear-form,.meal-form,.stop-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.gear-categories{display:flex;flex-direction:column;gap:2rem}.gear-category h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1rem}.gear-items{display:flex;flex-direction:column;gap:1rem}.gear-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;display:flex;justify-content:space-between;padding:1.125rem;transition:all .15s ease}.gear-item:hover{border-color:var(--text-tertiary)}.gear-info h4{color:var(--text-primary);font-weight:600;margin:0 0 .5rem}.gear-notes{color:var(--text-secondary)}.gear-assigned,.gear-notes{font-size:.9rem;margin:.25rem 0}.gear-assigned{color:var(--primary);font-weight:500}.gear-actions{flex-wrap:wrap;position:relative}.gear-actions,.gear-actions-desktop{align-items:center;display:flex;gap:.5rem}.gear-actions-mobile{display:none;position:relative}.gear-menu-button,.meal-menu-button{flex-shrink:0}.gear-menu-backdrop,.meal-menu-backdrop{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10}.gear-menu-dropdown,.meal-menu-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:11}.gear-menu-item,.meal-menu-item{background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:block;font-size:.9375rem;font-weight:500;padding:.75rem 1rem;text-align:left;transition:all .15s ease;width:100%}.gear-menu-item:last-child,.meal-menu-item:last-child{border-bottom:none}.gear-menu-item:hover,.meal-menu-item:hover{background:var(--bg-hover)}.gear-menu-item-danger,.meal-menu-item-danger{color:var(--danger)}.gear-menu-item-danger:hover,.meal-menu-item-danger:hover{background:var(--danger-light)}.gear-assign-dropdown,.meal-assign-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:12}.gear-assign-header,.meal-assign-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.gear-assign-item,.meal-assign-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.625rem 1rem;text-align:left;transition:background-color .15s ease;width:100%}.gear-assign-item:hover,.meal-assign-item:hover{background:var(--bg-hover)}.gear-assign-avatar,.meal-assign-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:1.75rem;justify-content:center;width:1.75rem}.gear-assign-name,.meal-assign-name{flex:1 1;font-weight:500}.gear-assign-role,.meal-assign-role{color:var(--text-muted);font-size:.6875rem;text-transform:capitalize}.gear-assign-cancel,.meal-assign-cancel{background:var(--bg-secondary);border:none;color:var(--text-muted);cursor:pointer;display:block;font-size:.8125rem;padding:.625rem 1rem;text-align:center;transition:all .15s ease;width:100%}.gear-assign-cancel:hover,.meal-assign-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.status-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.status-select:focus,.status-select:hover{border-color:var(--primary)}.status-select:focus{box-shadow:0 0 0 3px var(--primary-light);outline:none}.status-needed{background-color:var(--warning-light);border-color:var(--warning);color:var(--warning)}.status-assigned{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.status-packed{background-color:var(--success-light);border-color:var(--success);color:var(--success)}.meals-by-date{display:flex;flex-direction:column;gap:2rem}.meal-day h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1rem}.meal-list{grid-gap:.875rem;display:grid;gap:.875rem}.meal-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;padding:1.25rem;transition:all .15s ease}.meal-card:hover{border-color:var(--text-tertiary)}.meal-header{flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.meal-header,.meal-header h4{align-items:center;display:flex}.meal-header h4{color:var(--text-primary);font-weight:600;gap:.75rem;margin:0}.meal-type{background:var(--primary);border-radius:.375rem;color:var(--text-inverse);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.meal-assigned{color:var(--primary);font-size:.9rem;font-weight:500}.meal-details{color:var(--text-secondary);margin-bottom:1rem}.ingredient-list{color:var(--text-secondary);margin:.5rem 0;padding-left:1.5rem}.meal-actions{display:flex;flex-wrap:wrap;gap:.5rem;position:relative}.meal-actions-desktop{align-items:center;display:flex;gap:.5rem}.meal-day-header{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem}.meal-types-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.meal-type-column{display:flex;flex-direction:column;gap:.75rem}.meal-type-header{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:space-between;margin-bottom:.25rem;text-transform:uppercase}.meal-type-icon{font-size:1rem}.meal-type-label{letter-spacing:.03em}.add-meal-button{background:#0000;border:1px dashed var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:1rem;transition:all .15s ease}.add-meal-button:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.add-another-meal-button{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:1.5rem;justify-content:center;transition:all .15s ease;width:1.5rem}.add-another-meal-button:hover{background:var(--primary);border-color:var(--primary);color:#fff}.no-meal-placeholder{color:var(--text-tertiary);font-size:.8125rem;line-height:1.4;padding:1rem;text-align:center}.meal-card-compact{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;position:relative;transition:all .15s ease}.meal-card-compact:hover{border-color:var(--text-tertiary)}.meal-crew-member{color:var(--text-tertiary);font-size:.75rem;letter-spacing:.03em;margin-bottom:.5rem;text-transform:uppercase}.meal-assigned-to{align-items:center;background:#3b82f614;border:1px solid #3b82f626;border-radius:.375rem;display:flex;gap:.5rem;margin-bottom:.625rem;padding:.375rem .625rem}.meal-assigned-to .assigned-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:1.5rem;justify-content:center;width:1.5rem}.meal-assigned-to .assigned-name{color:var(--primary);font-size:.8125rem;font-weight:500}.meal-title-row{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem;position:relative}.meal-name{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3;margin:0}.meal-menu-trigger{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.875rem;justify-content:center;padding:.375rem .5rem;transition:all .15s ease}.meal-menu-trigger:hover{background:var(--bg-hover);border-color:var(--text-tertiary);color:var(--text-primary)}.meal-description{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0 0 .75rem}.meal-meta{color:var(--text-tertiary);font-size:.8125rem;margin-bottom:.75rem}.meal-ingredients-tags{display:flex;flex-wrap:wrap;gap:.375rem}.ingredient-tag{background:var(--bg-tertiary);border-radius:.25rem;color:var(--text-secondary);font-size:.8125rem;font-weight:500;padding:.25rem .625rem}.ingredients-section{margin-top:.5rem}.ingredient-add-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.ingredient-name-input{flex:2 1;min-width:150px}.ingredient-qty-input{flex:1 1;min-width:100px}.btn-add-ingredient{padding:.5rem 1rem;white-space:nowrap}.ingredient-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}.ingredient-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;display:flex;gap:.75rem;padding:.625rem .875rem}.ingredient-item .ingredient-name{color:var(--text-primary);flex:1 1;font-weight:500}.ingredient-item .ingredient-qty{background:var(--bg-tertiary);border-radius:.25rem;color:var(--text-secondary);font-size:.875rem;padding:.25rem .5rem}.btn-remove-ingredient{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;transition:color .15s ease}.btn-remove-ingredient:hover{color:var(--danger)}.no-ingredients-hint{color:var(--text-muted);font-size:.875rem;font-style:italic;margin-top:.5rem}@media (max-width:600px){.ingredient-add-row{align-items:stretch;flex-direction:column}.ingredient-name-input,.ingredient-qty-input{min-width:100%}.btn-add-ingredient{width:100%}}.meal-menu-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.meal-menu-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px #00000026;margin-top:.25rem;min-width:150px;position:absolute;right:0;top:100%;z-index:999}.meal-menu-item{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background .15s ease;width:100%}.meal-menu-item:hover{background:var(--bg-hover)}.meal-menu-item:first-child{border-radius:.5rem .5rem 0 0}.meal-menu-item:last-child{border-radius:0 0 .5rem .5rem}.meal-menu-item-danger{color:var(--danger)}.meal-menu-item-danger:hover{background:var(--danger-light)}.meal-actions-mobile{display:none;position:relative}.meal-templates{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;padding:2rem}.meal-templates h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem}.templates-description{color:var(--text-secondary);font-size:.9375rem;margin-bottom:2rem}.template-category{margin-bottom:2.5rem}.template-category:last-child{margin-bottom:0}.template-category h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1rem;text-transform:capitalize}.template-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.template-card{background:var(--bg-tertiary);border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .15s ease}.template-card:hover{background:var(--bg-hover);border-color:var(--text-primary)}.template-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.template-ingredients{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.template-notes{color:var(--text-tertiary);font-size:.8125rem;font-style:italic}.template-quantity{color:var(--text-tertiary);font-size:.875rem;font-weight:500}.add-choice-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;padding:2rem;text-align:center}.add-choice-panel h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.add-choice-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.add-choice-buttons .btn{flex:0 0 auto;font-size:1rem;max-width:220px;min-width:180px;padding:1rem 1.5rem}.templates-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.templates-header h3{margin:0}.gear-templates{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;padding:2rem}.gear-templates h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.stops-list{display:flex;flex-direction:column;gap:1rem}.stop-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;display:flex;gap:1.125rem;padding:1.125rem;transition:all .15s ease}.stop-item:hover{border-color:var(--text-tertiary)}.stop-item.dragging{border:1px dashed var(--text-tertiary);opacity:.5}.stop-drag-handle{align-items:center;cursor:grab;display:flex;-webkit-user-select:none;user-select:none}.stop-drag-handle:active{cursor:grabbing}.stop-number{align-items:center;align-self:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.stop-info{flex:1 1}.stop-info h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.stop-info p{color:var(--text-secondary);font-size:.9375rem;margin:.25rem 0}.stop-coords{background:var(--bg-secondary);border-radius:.25rem;color:var(--text-tertiary);display:inline-block;font-family:Courier New,monospace;font-size:.875rem;margin-top:.25rem;padding:.25rem .5rem}.stop-actions{align-items:center;display:flex;gap:.5rem}.stop-actions-menu{align-items:center;display:flex;flex-shrink:0;margin-left:auto;position:relative}.stop-actions-menu .btn-icon{background:#0000;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;padding:.5rem .75rem;transition:all .15s ease}.stop-actions-menu .btn-icon:hover{background:var(--bg-hover);border-color:var(--text-tertiary);color:var(--text-primary)}.stop-actions-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);margin-top:.25rem;min-width:140px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.stop-actions-dropdown .dropdown-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.625rem 1rem;text-align:left;transition:background-color .15s ease;width:100%}.stop-actions-dropdown .dropdown-item:hover{background:var(--bg-hover)}.stop-actions-dropdown .dropdown-item-danger{color:#dc2626}.stop-actions-dropdown .dropdown-item-danger:hover{background:#dc26261a}.route-map{margin-bottom:2rem}.route-map-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.route-map-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.route-map-actions{display:flex;flex-wrap:wrap;gap:.5rem}.route-map h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1rem}@media (max-width:1200px){.route-map-header{align-items:flex-start;flex-direction:column}.route-map-actions{flex-direction:column;width:100%}.route-map-actions .btn{width:100%}}.map-container{border:1px solid var(--border-light);border-radius:.75rem;box-shadow:var(--shadow-md);overflow:hidden;position:relative;z-index:1}.route-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;margin-top:1rem;padding:1.25rem}.route-info h3{color:var(--text-primary);font-weight:600;margin:0 0 .75rem}.route-info p{color:var(--text-secondary);margin:.375rem 0}.participants-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.participant-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;padding:1.25rem;transition:all .15s ease}.participant-card:hover{border-color:var(--text-tertiary)}.participant-info h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.participant-info p{color:var(--text-secondary);font-size:.9375rem;margin:.375rem 0}.emergency-contact,.vehicle-info{border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.emergency-contact h5,.vehicle-info h5{color:var(--text-primary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.participant-section{margin-bottom:2rem}.participant-section h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1rem}.participant-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.participant-header-info{flex:1 1;min-width:0}.participant-header-info h4{margin:0 0 .25rem}.participant-actions-desktop{display:inline-flex}.participant-actions-mobile{display:none;position:relative}.participant-menu-trigger{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;flex-shrink:0;padding:.5rem .75rem;transition:all .15s ease}.participant-menu-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.participant-menu-backdrop{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10}.participant-menu-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:11}.participant-menu-item{background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:block;font-size:.9375rem;font-weight:500;padding:.75rem 1rem;text-align:left;transition:all .15s ease;width:100%}.participant-menu-item:last-child{border-bottom:none}.participant-menu-item:hover{background:var(--bg-hover)}.participant-menu-item-danger{color:var(--danger)}.participant-menu-item-danger:hover{background:#ef44441a}.participant-badges-row{flex-wrap:wrap;margin-top:.75rem}.participant-badges-row,.participant-role-display,.participant-role-edit{align-items:center;display:flex;gap:.5rem}.participant-role-edit .status-select{font-size:.875rem}.participant-vehicle-section{border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.participant-vehicle-section h5{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.participant-vehicle-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;padding:.875rem 1rem;transition:all .15s ease}.participant-vehicle-card.clickable{cursor:pointer}.participant-vehicle-card.clickable:hover{background:var(--bg-hover);border-color:var(--primary)}.participant-vehicle-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.25rem}.participant-vehicle-details{color:var(--text-secondary);font-size:.9375rem;margin-bottom:.5rem}.participant-vehicle-specs{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.participant-vehicle-specs span{background:var(--bg-secondary);border-radius:.25rem;color:var(--text-secondary);font-size:.75rem;padding:.1875rem .5rem}.participant-vehicle-view{align-items:center;color:var(--primary);display:flex;font-size:.8125rem;gap:.375rem;margin-top:.5rem}.participant-no-vehicle{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:.5rem 0}.participant-vehicle-selector{margin-top:.75rem}.vehicle-select-form{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.vehicle-select-form select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);flex:1 1;font-size:.875rem;min-width:200px;padding:.5rem}.vehicle-select-form select:focus{border-color:var(--primary);outline:none}.no-vehicles-hint{color:var(--text-muted);font-size:.8125rem;margin:.5rem 0 0}.no-vehicles-hint a{color:var(--primary);text-decoration:none}.no-vehicles-hint a:hover{text-decoration:underline}@media (max-width:1200px){.trip-name-row .btn-rename{display:none}.trip-detail-container{padding:0}.trip-header{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.trip-header-info{flex:1 1;min-width:0}.trip-name-row{align-items:center;display:flex;gap:.5rem}.trip-name-row h1{font-size:1.5rem;margin:0}.trip-header p{margin-top:.25rem}.trip-header .btn{width:auto}.trip-header-actions.desktop-actions{display:none}.mobile-actions-container{align-items:flex-start;display:flex;flex-shrink:0}.trip-name-input{font-size:1.25rem;min-width:150px}.trip-tabs{display:none}.mobile-nav-section{display:block}.quick-links-section{display:none}.tab{font-size:.9375rem;padding:.75rem 1rem}.gear-item,.meal-card,.participant-card,.stop-item,.trip-content{padding:1rem}.meal-types-grid{grid-template-columns:1fr}.meal-day-header{font-size:1rem}.meal-type-column{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:1rem}.meal-type-column:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.meal-card-compact{padding:.875rem}.participants-grid{grid-template-columns:1fr}.participant-actions-desktop{display:none!important}.participant-actions-mobile{display:block}.btn.participant-actions-desktop,button.participant-actions-desktop{display:none!important}.action-buttons{flex-direction:column;gap:.75rem}.action-buttons .btn{width:100%}.section-header{align-items:center;flex-direction:row;gap:.75rem;justify-content:space-between}.section-header h2{font-size:1.125rem;margin:0}.section-header .btn{flex-shrink:0;font-size:.875rem;padding:.5rem .75rem;width:auto}.gear-actions{align-items:center}.gear-actions-desktop{display:none}.gear-actions-mobile{display:block}.gear-actions .status-select{height:44px;min-height:44px}.meal-actions{align-items:center}.meal-actions-desktop{display:none}.meal-actions-mobile{display:block}.stop-info{max-width:55%!important;min-width:0!important}.stop-info,.stop-info h4{overflow:hidden!important}.stop-info h4{text-overflow:ellipsis!important;white-space:nowrap!important}.stop-info .stop-address,.stop-info .stop-coords{display:flex!important;max-width:100%!important;min-width:0!important}.stop-info .stop-address span,.stop-info .stop-coords span{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}}.trip-summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:2rem}.summary-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:1rem;padding:1.25rem;transition:all .2s ease}.summary-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.summary-icon{align-items:center;background:var(--bg-tertiary);border-radius:.5rem;color:var(--primary-color);display:flex;flex-shrink:0;font-size:1.5rem;height:3rem;justify-content:center;line-height:1;width:3rem}.summary-content{flex:1 1;min-width:0}.summary-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.trip-description-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;padding:1.5rem}.trip-description-section h2{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;margin-top:0}.trip-description-text{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0}.schedule-info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.schedule-info-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;padding:1rem}.schedule-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:600;gap:.5rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.schedule-value{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.4}.meeting-point-section{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.meeting-point-section h3{color:var(--text-primary);font-size:1.125rem;margin-bottom:1rem;margin-top:0}.meeting-point-section p{color:var(--text-secondary);line-height:1.6;margin:.5rem 0}.section-icon{color:var(--primary-color);margin-right:.5rem}.inline-icon,.schedule-item-icon{color:var(--primary-color);font-size:.875rem}.inline-icon{margin-right:.5rem}.quick-links-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;display:none;padding:1.5rem}.quick-links-section h2{color:var(--text-primary);font-size:1.25rem;margin-bottom:1.25rem;margin-top:0}.quick-links-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.quick-link-card{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;text-align:center;transition:all .2s ease}.quick-link-card:hover{background:var(--bg-primary);border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.quick-link-icon{color:var(--primary-color);font-size:1.75rem;line-height:1}.quick-link-text{color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.3}@media (max-width:1200px){.trip-summary-grid{grid-template-columns:repeat(2,1fr)}.schedule-info-grid{grid-template-columns:1fr}.quick-links-section{display:block}.quick-links-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.trip-summary-grid{grid-template-columns:1fr}.summary-card{padding:1rem}.summary-value{font-size:1.25rem}.quick-links-grid{grid-template-columns:1fr}}.gear-categories-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gear-category-section{display:flex;flex-direction:column;gap:.75rem}.gear-category-header{align-items:center;border-bottom:1px solid var(--border-light);color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:space-between;margin-bottom:.25rem;padding-bottom:.5rem;text-transform:uppercase}.gear-category-icon{font-size:1.125rem}.gear-category-label{letter-spacing:.03em}.gear-count{color:var(--text-tertiary);font-size:.8125rem;font-weight:500}.add-gear-button{background:#0000;border:1px dashed var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:1rem;text-align:center;transition:all .15s ease}.add-gear-button:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.add-another-gear-button{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:1.5rem;justify-content:center;transition:all .15s ease;width:1.5rem}.add-another-gear-button:hover{background:var(--primary);border-color:var(--primary);color:#fff}.no-gear-placeholder{color:var(--text-tertiary);font-size:.8125rem;line-height:1.4;padding:1rem;text-align:center}.gear-card-compact{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;position:relative;transition:all .15s ease}.gear-card-compact:hover{border-color:var(--text-tertiary)}.gear-status-badge{border-radius:.25rem;display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;padding:.25rem .5rem;text-transform:uppercase}.gear-status-badge[data-status=needed]{background-color:var(--warning-light);color:var(--warning)}.gear-status-badge[data-status=assigned]{background-color:var(--primary-light);color:var(--primary)}.gear-status-badge[data-status=packed]{background-color:var(--success-light);color:var(--success)}.gear-title-row{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem;position:relative}.gear-name{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3;margin:0}.gear-quantity{color:var(--text-secondary);font-weight:500}.gear-menu-trigger{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.875rem;justify-content:center;padding:.375rem .5rem;transition:all .15s ease}.gear-menu-trigger:hover{background:var(--bg-hover);border-color:var(--text-tertiary);color:var(--text-primary)}.gear-description{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0 0 .75rem}.gear-assigned-to{align-items:center;background:#3b82f614;border:1px solid #3b82f626;border-radius:.375rem;display:flex;gap:.5rem;margin-bottom:.625rem;padding:.375rem .625rem}.gear-assigned-to .assigned-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:1.5rem;justify-content:center;width:1.5rem}.gear-assigned-to .assigned-name{color:var(--primary);font-size:.8125rem;font-weight:500}.gear-status-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease;width:100%}.gear-status-select:focus,.gear-status-select:hover{border-color:var(--primary)}.gear-status-select:focus{box-shadow:0 0 0 3px var(--primary-light);outline:none}@media (max-width:1200px){.gear-categories-grid{grid-template-columns:1fr}.gear-category-section{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:1rem}.gear-category-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.gear-card-compact{padding:.875rem}}.trip-join-container{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);bottom:0;display:flex;justify-content:center;left:0;min-height:100vh;overflow-y:auto;padding:20px;position:fixed;right:0;top:0}.trip-join-card{animation:slideUp .5s cubic-bezier(.4,0,.2,1);background:var(--bg-card);border-radius:1.5rem;box-shadow:var(--shadow-xl),0 0 0 1px #0000000d;max-width:800px;overflow:hidden;position:relative;width:100%;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.trip-join-header{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;overflow:hidden;padding:3rem 2rem;position:relative;text-align:center}.trip-join-header:before{background:radial-gradient(circle at 50% 0,#ffffff1a 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.trip-join-header h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem;position:relative;text-shadow:0 2px 10px #0000001a}.trip-join-header .subtitle{font-size:1.125rem;font-weight:400;letter-spacing:-.011em;margin:0;opacity:.95;position:relative}.trip-preview{padding:30px}.trip-info h2{color:var(--text-primary);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0 0 15px}.trip-info .description{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;margin-bottom:30px}.trip-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.detail-item{align-items:flex-start;background:var(--bg-hover);border-left:4px solid var(--primary);border-radius:.75rem;box-shadow:var(--shadow-xs);display:flex;gap:12px;padding:1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.detail-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.detail-item .icon{font-size:1.5rem;line-height:1}.detail-item strong{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:500;margin-bottom:4px}.detail-item p{color:var(--text-primary);font-size:1rem;margin:0}.detail-item p.small{color:var(--text-tertiary);font-size:.85rem;margin-top:2px}.difficulty-easy{color:var(--success);font-weight:600}.difficulty-moderate{color:var(--warning);font-weight:600}.difficulty-difficult{color:var(--danger);font-weight:600}.difficulty-extreme{color:var(--danger-dark);font-weight:700}.trip-features{background:linear-gradient(135deg,var(--primary-light) 0,var(--accent-light) 100%);border-radius:.75rem;box-shadow:var(--shadow-xs);margin-bottom:30px;padding:25px}.trip-features h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0 0 15px}.trip-features ul{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));list-style:none;margin:0;padding:0}.trip-features li{color:var(--text-secondary);font-size:.95rem;padding:8px 0}.trip-join-actions{background:var(--bg-tertiary);border-top:1px solid var(--border-color);padding:30px}.action-card{padding:20px;text-align:center}.action-card h3{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0 0 10px}.action-card p{color:var(--text-secondary);font-size:.95rem;margin:0 0 20px}.divider{margin:25px 0;position:relative;text-align:center}.divider:before{background:var(--border-color);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:var(--bg-tertiary);color:var(--text-tertiary);font-size:.85rem;font-weight:600;padding:0 15px;position:relative}.btn{display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-align:center;text-decoration:none}.btn-large{font-size:1.1rem;padding:1rem 2rem}.trip-join-container .btn-primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);box-shadow:var(--shadow-primary);color:#fff}.trip-join-container .btn-primary:hover{box-shadow:var(--shadow-lg),var(--shadow-primary);transform:translateY(-2px)}.trip-join-container .btn-secondary{background:var(--bg-card);border:2px solid var(--primary);color:var(--primary)}.trip-join-container .btn-secondary:hover{background:var(--primary);box-shadow:var(--shadow-lg),var(--shadow-primary);color:#fff;transform:translateY(-2px)}.trip-join-footer{background:var(--bg-tertiary);border-top:1px solid var(--border-color);padding:20px;text-align:center}.powered-by{color:var(--text-tertiary);font-size:.85rem;margin:0}.loading-spinner{background:var(--bg-card);border-radius:1rem;box-shadow:var(--shadow-xl);padding:60px 20px;text-align:center}.spinner{animation:spin .8s linear infinite;border:5px solid var(--border-light);height:60px;margin:0 auto 20px;width:60px}.loading-spinner p{color:var(--text-secondary);font-size:1rem;margin:0}.error-card{background:var(--bg-card);border-radius:1rem;box-shadow:var(--shadow-xl);padding:60px 40px;text-align:center}.error-card h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 15px}.error-card p{color:var(--text-secondary);font-size:1rem;margin-bottom:15px}.error-card .error-hint{color:var(--text-tertiary);font-size:.9rem;margin-bottom:25px}.error-card .error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}@media (max-width:1200px){.trip-join-header h1{font-size:2rem}.trip-join-header .subtitle{font-size:1rem}.trip-info h2{font-size:1.5rem}.trip-details,.trip-features ul{grid-template-columns:1fr}.btn-large{padding:14px 24px;width:100%}}.template-browser{margin:0 auto;padding:0}.browser-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 2rem}.browser-header h1{color:var(--text-primary);font-size:2rem;margin:0 0 .5rem}.browser-header p{color:var(--text-secondary);font-size:1rem;margin:0}.browser-filters{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;margin:0 2rem 2rem;padding:1.5rem}.search-form{display:flex;gap:1rem;margin-bottom:1.5rem}.search-input-group{flex:1 1;position:relative}.search-icon{color:var(--text-secondary);left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem .75rem 2.75rem;width:100%}.search-input-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem}.category-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.category-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.category-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.template-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:0 2rem}.template-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;padding:1.5rem;transition:all .2s ease}.template-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.template-header{margin-bottom:1rem}.template-header h3{color:var(--text-primary);font-size:1.25rem;margin:0 0 .75rem}.template-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.badge{align-items:center;border-radius:.25rem;display:inline-flex;gap:.25rem;padding:.25rem .5rem}.badge-public{background:#22c55e1a;color:#22c55e}.badge-private{background:#9ca3af1a;color:#9ca3af}.badge-category{background:#3b82f61a;color:var(--primary)}.badge-difficulty{background:#9ca3af1a;color:var(--text-secondary)}.badge-difficulty.badge-easy{background:#22c55e1a;color:#22c55e}.badge-difficulty.badge-moderate{background:#f59e0b1a;color:#f59e0b}.badge-difficulty.badge-difficult{background:#ef44441a;color:#ef4444}.badge-difficulty.badge-extreme{background:#8b5cf61a;color:#8b5cf6}[data-theme=dark] .badge-public{background:#22c55e26;color:#4ade80}[data-theme=dark] .badge-private{background:#9ca3af26;color:#d1d5db}[data-theme=dark] .badge-category{background:#3b82f626;color:#60a5fa}.template-description{color:var(--text-secondary);flex:1 1;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.template-stats{border-top:1px solid var(--border-color);display:flex;gap:1rem;margin-bottom:1rem;padding-top:1rem}.stat{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.stat svg{color:var(--primary)}.template-footer{display:flex;gap:.5rem}.btn-block{flex:1 1}.template-detail-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:90vw}.detail-section{margin-bottom:1.5rem}.detail-section h3{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;gap:.5rem;margin:0 0 .75rem}.detail-section p{color:var(--text-secondary);line-height:1.6}.detail-list{list-style:none;margin:0;padding:0}.detail-list li{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 0}.detail-list li:last-child{border-bottom:none}.detail-list li strong{color:var(--text-primary)}.empty-state{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;color:var(--text-secondary)}.empty-state,.loading{margin:0 2rem;padding:3rem}.loading{text-align:center}@media (max-width:1200px){.browser-header{align-items:stretch;flex-direction:column;padding:0 1rem}.browser-header h1{font-size:1.5rem}.browser-filters{margin:0 1rem 1.5rem;padding:1rem}.search-form{flex-direction:column}.template-grid{gap:1rem;grid-template-columns:1fr;padding:0 1rem}.template-card{padding:1rem}.template-footer{flex-direction:column}.template-detail-modal{max-height:85vh;width:95vw}.empty-state,.loading{margin:0 1rem}}.view-mode-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;margin:0 2rem 1rem;padding-bottom:1rem}.view-tab{align-items:center;background:#0000;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.view-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.view-tab.active{background:var(--primary);color:#fff}.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.difficulty-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.difficulty-select:focus{border-color:var(--primary);outline:none}.template-thumbnail{border-radius:.75rem .75rem 0 0;height:150px;margin:-1.5rem -1.5rem 1rem;overflow:hidden}.template-thumbnail img{height:100%;object-fit:cover;width:100%}.template-region{color:var(--text-secondary);font-size:.8125rem}.template-rating,.template-region{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.template-rating .stars{display:flex;gap:.125rem}.template-rating .star-filled{color:#f59e0b}.template-rating .star-empty{color:var(--border-color)}.template-rating .rating-count{color:var(--text-tertiary);font-size:.75rem}.template-creator{align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;gap:.5rem;margin-bottom:.75rem}.template-owner-actions{display:flex;gap:.5rem;margin-top:.5rem}.template-owner-actions .btn-sm{font-size:.8125rem;padding:.375rem .625rem}.btn-outline{background:#0000}.btn-outline:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-outline.btn-danger:hover{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.share-modal{max-width:450px}.share-modal .modal-body p{color:var(--text-secondary);margin-bottom:1rem}.share-modal .form-group{margin-bottom:1rem}.share-modal .form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.5rem}.share-modal .form-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1rem;padding:.75rem;width:100%}.share-modal .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}@media (max-width:1200px){.view-mode-tabs{margin:0 1rem 1rem;overflow-x:auto;padding-bottom:.75rem}.view-tab{font-size:.875rem;padding:.5rem 1rem;white-space:nowrap}.filter-row{align-items:stretch;flex-direction:column}.difficulty-select{width:100%}.template-thumbnail{height:120px;margin:-1rem -1rem 1rem}.template-owner-actions{flex-wrap:wrap}}.statistics-container{margin:0 auto;padding:0}.statistics-header{margin-bottom:2.5rem}.statistics-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem}.statistics-header p{color:var(--text-secondary);font-size:1rem}.stats-grid{grid-gap:1.25rem;gap:1.25rem;margin-bottom:3rem}.stat-card{border:1px solid var(--border-color);border-radius:.5rem;gap:1.25rem;transition:all .15s ease}.stat-card:hover{border-color:var(--text-tertiary)}.stat-icon{flex-shrink:0;font-size:2.5rem}.stat-content{flex:1 1}.stat-content h3{color:var(--text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:600;letter-spacing:-.02em}.stat-section{margin-bottom:3rem}.stat-section h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0 0 1.5rem}@media (max-width:1200px){.statistics-container{padding:1.5rem 1rem}.statistics-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.list-grid{grid-template-columns:1fr}}.notifications-page{margin:0 auto;padding:2rem}.notifications-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}.notifications-header,.notifications-title-section{align-items:center;display:flex;gap:1rem}.notifications-title-section h1{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin:0}.notifications-title-section h1 svg{color:var(--primary);margin-right:.5rem}.notifications-unread-badge{background:var(--primary);border-radius:9999px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.notifications-actions{display:flex;gap:.75rem}.notifications-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.notifications-empty{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.notifications-empty svg{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.notifications-empty h2{color:var(--text-secondary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.notifications-empty p{font-size:.9375rem;margin:0;max-width:300px}.notification-group{border-bottom:1px solid var(--border-color)}.notification-group:last-child{border-bottom:none}.notification-group-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1.25rem;text-transform:uppercase}.notification-card{border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:background .15s ease}.notification-card:hover{background:var(--bg-hover)}.notification-card:last-child{border-bottom:none}.notification-card.unread{background:var(--primary-light)}.notification-card.unread:hover{background:var(--bg-hover)}.notification-card.notification-urgent{border-left:4px solid var(--danger)}.notification-card.notification-high{border-left:4px solid var(--warning)}.notification-card-icon{align-items:center;background:var(--bg-secondary);border-radius:50%;color:var(--primary);display:flex;flex-shrink:0;font-size:1rem;height:44px;justify-content:center;width:44px}.notification-card.notification-urgent .notification-card-icon{background:#ef44441a;color:var(--danger)}.notification-card.notification-high .notification-card-icon{background:#f59e0b1a;color:var(--warning)}.notification-card-content{flex:1 1;min-width:0}.notification-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.375rem}.notification-card-title{color:var(--text-primary);font-size:.9375rem;font-weight:600}.notification-card-time{color:var(--text-tertiary);flex-shrink:0;font-size:.75rem}.notification-card-message{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 .5rem}.notification-card-trip{background:var(--primary-light);border-radius:.25rem;color:var(--primary);display:inline-block;font-size:.75rem;padding:.25rem .5rem}.notification-card-actions{display:flex;flex-direction:column;gap:.5rem;opacity:0;transition:opacity .15s ease}.notification-card:hover .notification-card-actions{opacity:1}.notification-action-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);display:flex;font-size:.75rem;height:32px;justify-content:center;padding:.5rem;width:32px}.notification-action-btn:hover{background:#22c55e1a;border-color:var(--success);color:var(--success)}.notification-action-btn-danger:hover{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.notifications-load-more{border-top:1px solid var(--border-color);display:flex;justify-content:center;padding:1.5rem}@media (max-width:1200px){.notifications-page{padding:1rem}.notifications-header{align-items:flex-start;flex-direction:column}.notifications-actions{width:100%}.notifications-actions .btn{flex:1 1}.notification-card{padding:1rem}.notification-card-actions{flex-direction:row;opacity:1}.notification-card-header{flex-direction:column;gap:.25rem}}.chats-page{background:var(--bg-primary);min-height:100vh}.chats-main-container{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;display:flex;height:calc(100vh - 120px);margin:1rem 1rem 0;max-width:1400px;overflow:hidden}.chats-list-panel{background:var(--bg-card);border-right:1px solid var(--border-light);display:flex;flex-direction:column;min-width:380px;width:380px}.chats-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);justify-content:space-between;padding:1rem 1.25rem}.chats-header,.chats-header h1{align-items:center;display:flex}.chats-header h1{color:var(--text-primary);font-size:1.25rem;font-weight:600;gap:.75rem;margin:0}.chats-header h1 svg{color:var(--primary)}.total-unread-badge{background:var(--primary);border-radius:1rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .625rem}.chats-loading{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.chats-loading svg{color:var(--primary);font-size:2rem}.chats-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.chats-empty .empty-icon{color:var(--text-muted);font-size:3rem;margin-bottom:1.5rem}.chats-empty h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.chats-empty p{color:var(--text-secondary);font-size:.875rem;margin:0 0 1.5rem}.chats-list{flex:1 1;overflow-y:auto}.chat-item{border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;gap:.875rem;padding:.875rem 1.25rem;transition:all .15s ease}.chat-item:hover{background:var(--bg-hover)}.chat-item.selected{background:#3b82f61a;border-left:3px solid var(--primary);padding-left:calc(1.25rem - 3px)}.chat-item.unread{background:#3b82f60d}.chat-item.unread.selected{background:#3b82f626}.chat-item-avatar{align-items:center;background:var(--bg-secondary);border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;position:relative;width:44px}.chat-item-avatar svg{color:var(--text-secondary);font-size:1.125rem}.chat-item.unread .chat-item-avatar{background:var(--primary)}.chat-item.unread .chat-item-avatar svg{color:#fff}.unread-dot{align-items:center;background:var(--bg-card);border-radius:50%;display:flex;height:14px;justify-content:center;position:absolute;right:-2px;top:-2px;width:14px}.unread-dot svg{color:#ef4444;font-size:10px}.chat-item-content{display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.chat-item-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.chat-item-name{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item.unread .chat-item-name{color:var(--primary)}.chat-item-time{color:var(--text-muted);font-size:.6875rem;white-space:nowrap}.chat-item.unread .chat-item-time{color:var(--primary);font-weight:500}.chat-item-preview{align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-sender{color:var(--text-primary);flex-shrink:0;font-weight:500}.chat-item-message{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.chat-item.unread .chat-item-message{color:var(--text-primary);font-weight:500}.chat-item-no-messages{color:var(--text-muted);font-style:italic}.chat-item-meta{align-items:center;display:flex;gap:.75rem;margin-top:.125rem}.chat-item-date,.chat-item-participants{align-items:center;color:var(--text-muted);display:flex;font-size:.6875rem;gap:.25rem}.chat-item-date svg,.chat-item-participants svg{font-size:.5625rem}.chat-item-unread-badge{background:var(--primary);border-radius:1rem;color:#fff;font-size:.625rem;font-weight:600;margin-left:auto;min-width:18px;padding:.125rem .4375rem;text-align:center}.chat-conversation-panel{background:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;position:relative}.chat-conversation-placeholder{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.chat-conversation-placeholder .placeholder-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.chat-conversation-placeholder h3{color:var(--text-secondary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.chat-conversation-placeholder p{font-size:.875rem;margin:0}.chat-conversation-header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border-light);display:flex;gap:.75rem;padding:.875rem 1.25rem}.chat-back-btn{align-items:center;background:var(--bg-secondary);border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;display:none;height:36px;justify-content:center;width:36px}.chat-back-btn:hover{background:var(--bg-hover)}.chat-conversation-info{flex:1 1;min-width:0}.chat-conversation-info h2{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conversation-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:.375rem;margin-top:.125rem}.chat-conversation-meta svg{font-size:.625rem}.chat-conversation-messages{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-y:auto;padding:1rem}.chat-conversation-empty,.chat-conversation-loading{align-items:center;color:var(--text-muted);display:flex;height:100%;justify-content:center}.chat-conversation-loading svg{color:var(--primary);font-size:1.5rem}.chat-conversation-empty p{font-size:.875rem;margin:0}.chat-loading-more{color:var(--primary);display:flex;justify-content:center;padding:.5rem}.chat-beginning{color:var(--text-muted);font-size:.75rem;padding:.5rem;text-align:center}.chat-date-group{display:flex;flex-direction:column;gap:.25rem}.chat-date-divider{align-items:center;display:flex;justify-content:center;margin:.75rem 0}.chat-date-divider span{background:var(--bg-secondary);border-radius:1rem;color:var(--text-muted);font-size:.75rem;padding:.25rem .75rem}.chat-system-message{color:var(--text-secondary);font-size:.8125rem;font-style:italic;padding:.375rem .75rem;text-align:center}.chat-message{display:flex;gap:.5rem;max-width:70%;padding:.25rem 0}.chat-message.own{align-self:flex-end;flex-direction:row-reverse}.chat-message-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:.8125rem;font-weight:600;height:32px;justify-content:center}.chat-message-avatar,.chat-message-avatar-placeholder{flex-shrink:0;width:32px}.chat-message-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.chat-message-sender{color:var(--text-primary);font-size:.75rem;font-weight:600;padding-left:.375rem}.chat-bubble{word-wrap:break-word;background:var(--bg-card);border:1px solid var(--border-light);border-radius:1rem;overflow-wrap:break-word;padding:.625rem .875rem;position:relative}.chat-message.own .chat-bubble{background:var(--primary);border-color:var(--primary);border-top-right-radius:.25rem;color:#fff}.chat-message:not(.own) .chat-bubble{border-top-left-radius:.25rem}.chat-bubble p{font-size:.875rem;line-height:1.4;margin:0}.chat-message-time{color:var(--text-muted);display:block;font-size:.625rem;margin-top:.25rem;text-align:right}.chat-message.own .chat-message-time{color:#ffffffb3}.chat-delete-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:1.25rem;justify-content:center;opacity:0;position:absolute;right:.25rem;top:.25rem;transition:opacity .15s ease;width:1.25rem}.chat-bubble:hover .chat-delete-btn{opacity:1}.chat-delete-btn svg{font-size:.5625rem}.chat-bubble-wrapper{display:flex;flex-direction:column;position:relative}.chat-message.own .chat-bubble-wrapper{align-items:flex-end}.chat-react-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:1.25rem;justify-content:center;opacity:0;position:absolute;right:1.5rem;top:.25rem;transition:opacity .15s ease;width:1.25rem}.chat-message:not(.own) .chat-react-btn{background:var(--bg-hover);color:var(--text-secondary)}.chat-bubble:hover .chat-react-btn{opacity:1}.chat-react-btn svg{font-size:.5625rem}.chat-reaction-picker{background:var(--bg-card);border:1px solid var(--border-light);border-radius:1.5rem;box-shadow:0 4px 12px #00000026;display:flex;gap:.25rem;left:0;padding:.25rem .5rem;position:absolute;top:-2.75rem;z-index:10}.chat-reaction-picker.own{left:auto;right:0}.chat-reaction-option{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:center;transition:all .15s ease;width:2rem}.chat-reaction-option:hover{background:var(--bg-hover);transform:scale(1.2)}.chat-reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem}.chat-reactions.own{justify-content:flex-end}.chat-reaction{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:1rem;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.125rem .5rem;transition:all .15s ease}.chat-reaction:hover:not(:disabled){background:var(--bg-hover)}.chat-reaction.active{background:#3b82f626;border-color:var(--primary)}.chat-reaction span{color:var(--text-secondary);font-size:.6875rem}.chat-reaction:disabled{cursor:default;opacity:.7}.chat-typing-indicator{border-top:1px solid var(--border-light);font-size:.75rem;font-style:italic;padding:.5rem 1rem}.chat-scroll-btn,.chat-typing-indicator{background:var(--bg-card);color:var(--text-secondary)}.chat-scroll-btn{align-items:center;border:1px solid var(--border-light);border-radius:50%;bottom:80px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:1.5rem;width:36px}.chat-scroll-btn:hover{background:var(--bg-secondary)}.chat-input-form{background:var(--bg-card);border-top:1px solid var(--border-light);display:flex;gap:.5rem;padding:.875rem 1rem}.chat-input-form input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:1.5rem;color:var(--text-primary);flex:1 1;font-size:.875rem;outline:none;padding:.625rem 1rem}.chat-input-form input:focus{border-color:var(--primary)}.chat-input-form input::placeholder{color:var(--text-muted)}.chat-input-form button{align-items:center;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}.chat-input-form button:hover:not(:disabled){background:var(--primary-hover)}.chat-input-form button:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.chat-input-form button svg{font-size:.9375rem}.chat-archived-notice{background:var(--bg-secondary);border-top:1px solid var(--border-light);color:var(--text-muted);font-size:.875rem;font-style:italic;padding:1rem;text-align:center}@media (max-width:900px){.chats-main-container{border-radius:.5rem;height:calc(100vh - 80px);margin:.5rem}.chats-list-panel{bottom:0;left:0;min-width:100%;position:absolute;top:0;transition:transform .3s ease;width:100%;z-index:2}.chats-list-panel.chat-selected{transform:translateX(-100%)}.chat-conversation-panel{bottom:0;left:0;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease}.chat-conversation-panel.active{transform:translateX(0)}.chat-back-btn{display:flex}.chats-main-container{overflow:hidden;position:relative}}@media (max-width:480px){.chats-header{padding:.75rem 1rem}.chats-header h1{font-size:1.125rem}.chat-item{gap:.75rem;padding:.75rem 1rem}.chat-item-avatar{height:40px;width:40px}.chat-item-avatar svg{font-size:1rem}.chat-item-name{font-size:.875rem}.chat-item-preview{font-size:.75rem}.chat-message{max-width:85%}}.admin-dashboard{margin:0 auto;padding:0}.admin-header{margin-bottom:2rem}.admin-header h1{color:var(--text-primary);font-size:2rem;font-weight:700}.admin-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:.5rem;margin-bottom:2rem}.admin-content{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{align-items:center;background:var(--bg-secondary);display:flex;gap:1.5rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{align-items:center;background:var(--primary-light);border-radius:.75rem;display:flex;font-size:3rem;height:4rem;justify-content:center;width:4rem}.stat-info h3{color:var(--text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.stat-number{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0}.table-container{margin-bottom:1.5rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table thead{background:var(--bg-tertiary)}.admin-table th{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:1rem;text-align:left}.admin-table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);padding:1rem}.admin-table tbody tr{transition:background-color .2s ease}.admin-table tbody tr:hover{background-color:var(--bg-hover)}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.user-actions-menu{display:flex;justify-content:flex-end;position:relative}.user-actions-menu .btn-icon{background:#0000;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;padding:.5rem .75rem;transition:all .15s ease}.user-actions-menu .btn-icon:hover{background:var(--bg-hover);border-color:var(--text-tertiary);color:var(--text-primary)}.actions-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-lg);margin-top:.25rem;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.dropdown-item{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.875rem;padding:.625rem 1rem;text-align:left;transition:background-color .15s ease;width:100%}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item-danger{color:#dc2626}.dropdown-item-danger:hover{background:#dc26261a}.stats-details{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.stats-section{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.75rem;padding:1.5rem}.stats-section h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem}.stats-list{display:flex;flex-direction:column;gap:.75rem}.stats-item{align-items:center;background:var(--bg-tertiary);border-radius:.5rem;display:flex;justify-content:space-between;padding:.75rem;transition:background-color .2s ease}.stats-item:hover{background:var(--bg-hover)}.stats-item-name{color:var(--text-primary);font-weight:500;text-transform:capitalize}.stats-item-count{background:var(--primary-light);border-radius:9999px;color:var(--primary);font-size:.875rem;font-weight:600;padding:.25rem .75rem}.settings-section{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.75rem;margin-bottom:2rem;padding:2rem}.settings-section h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.settings-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.setting-item{display:flex;flex-direction:column;gap:.5rem}.setting-item.full-width{grid-column:1/-1}.setting-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-weight:500;gap:.75rem}.setting-label input[type=checkbox]{cursor:pointer;height:1.25rem;width:1.25rem}.setting-label span{font-size:1rem}.setting-description{color:var(--text-secondary);font-size:.875rem;margin:0}.setting-input,.setting-textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.setting-input:focus,.setting-textarea:focus{border-color:var(--primary);outline:none}.setting-textarea{font-family:inherit;resize:vertical}.settings-info{background:var(--bg-tertiary);border-radius:.5rem;color:var(--text-secondary);font-size:.875rem;margin-top:2rem;padding:1rem;text-align:center}.email-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-direction:column;margin-top:1rem;padding-top:1rem}.email-buttons{display:flex;gap:1rem;margin-bottom:.5rem}.email-buttons,.email-buttons .btn{width:-webkit-fit-content;width:fit-content}.unsaved-warning{color:#f59e0b;font-weight:500}.reset-token-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.reset-token-content{background:var(--bg-card);border-radius:.75rem;box-shadow:var(--shadow-xl);max-width:500px;padding:2rem;width:90%}.reset-token-content h3{color:var(--text-primary);margin:0 0 1rem}.reset-token-content p{color:var(--text-secondary);margin:0 0 1rem}.token-box{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;margin:1rem 0;padding:1rem;word-break:break-all}.token-box code{color:var(--text-primary);font-family:Courier New,monospace;font-size:.875rem}@media (max-width:1200px){.admin-dashboard{padding:1rem}.admin-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs .tab{flex-shrink:0;white-space:nowrap}.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}.admin-content{padding:1rem}.admin-table thead{display:none}.admin-table,.admin-table tbody{display:block;width:100%}.admin-table tbody tr{border:1px solid var(--border-color);border-radius:.75rem;display:block;margin-bottom:1rem;padding:1rem}.admin-table tbody tr,.admin-table tbody tr:hover{background:var(--bg-secondary)}.admin-table td{align-items:center;border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;justify-content:space-between;padding:.5rem 0}.admin-table td:last-child{border-bottom:none;margin-top:.5rem;padding-top:.75rem}.admin-table td:before{color:var(--text-secondary);content:attr(data-label);flex-shrink:0;font-size:.8125rem;font-weight:600;letter-spacing:.03em;margin-right:1rem;text-transform:uppercase}.admin-table td.actions-cell{justify-content:flex-end}.admin-table td.actions-cell:before{display:none}.user-actions-menu{justify-content:flex-end;width:100%}.user-actions-menu .btn-icon{padding:.625rem 1rem}.actions-dropdown{right:0}.action-buttons{flex-direction:column}.settings-grid{grid-template-columns:1fr}.settings-section{padding:1.5rem}.list-grid{grid-template-columns:1fr}.pagination{flex-wrap:wrap;gap:.75rem}.pagination .btn{flex:1 1;min-width:100px}.page-info{order:-1;text-align:center;width:100%}}.list-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.list-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:all .15s ease}.list-item:hover{border-color:var(--text-tertiary)}.list-item-name{color:var(--text-primary);font-size:.9375rem;font-weight:500;text-transform:capitalize}.list-item-count{flex-shrink:0}.chart-grid{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;gap:1rem;margin-top:1rem;padding:1.5rem}.chart-bar,.chart-grid{display:flex;flex-direction:column}.chart-bar{gap:.5rem}.chart-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.chart-bar-container{align-items:center;background:var(--bg-tertiary);border-radius:.25rem;display:flex;height:2rem;overflow:hidden;position:relative}.chart-bar-fill{background:var(--primary);border-radius:.25rem;bottom:0;left:0;opacity:.3;position:absolute;top:0;transition:width .3s ease}.chart-value{color:var(--text-primary);font-size:.875rem;font-weight:600;padding-left:.75rem;position:relative;z-index:1}.tab-badge{align-items:center;background:var(--danger);border-radius:1rem;color:#fff;display:inline-flex;font-size:.6875rem;font-weight:700;height:1.25rem;justify-content:center;margin-left:.5rem;min-width:1.25rem;padding:0 .375rem}.equipment-tab{max-width:900px}.equipment-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .15s ease}.filter-btn:hover{background:var(--bg-tertiary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.suggestion-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem 1.25rem}.suggestion-card.status-pending{border-left:3px solid var(--warning)}.suggestion-card.status-approved{border-left:3px solid var(--success)}.suggestion-card.status-rejected{border-left:3px solid var(--danger);opacity:.7}.suggestion-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.suggestion-header h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.status-badge{border-radius:.25rem;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.status-badge.pending{background:rgba(var(--warning-rgb),.15);color:var(--warning)}.status-badge.approved{background:rgba(var(--success-rgb),.15);color:var(--success)}.status-badge.rejected{background:rgba(var(--danger-rgb),.15);color:var(--danger)}.suggestion-details{margin-bottom:1rem}.suggestion-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.suggestion-meta .category{color:var(--text-primary);font-weight:500}.suggestion-meta .quantity,.suggestion-notes{color:var(--text-secondary)}.suggestion-notes{font-size:.875rem;margin:.5rem 0}.suggestion-info{display:flex;flex-wrap:wrap;gap:1rem}.suggestion-info,.suggestion-review{color:var(--text-tertiary);font-size:.8125rem}.suggestion-review{font-style:italic;margin-top:.5rem}.suggestion-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-success{background:var(--success);border-color:var(--success)}.btn-success:hover{background:#16a34a;border-color:#16a34a}.btn-danger{background:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}@media (max-width:640px){.suggestion-header{align-items:flex-start;flex-direction:column;gap:.5rem}.suggestion-actions{width:100%}.suggestion-actions .btn{flex:1 1;justify-content:center}}.security-dashboard{margin:0 auto;padding:0}.security-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-md);margin-bottom:2rem;padding:2rem}.security-header .header-content{align-items:center;display:flex;gap:1.5rem}.security-header .header-icon{color:var(--primary);font-size:3rem}.security-header h1{color:var(--text-primary);font-size:2rem;margin:0 0 .5rem}.security-header p{color:var(--text-secondary);font-size:1rem;margin:0}.security-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.security-stats .stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .15s ease}.security-stats .stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.security-stats .stat-card h3{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.security-stats .stat-value{color:var(--text-primary);font-size:2rem;font-weight:700}.security-stats .stat-card.severity-critical{border-left:4px solid #dc2626}.security-stats .stat-card.severity-critical .stat-value{color:#dc2626}.security-stats .stat-card.severity-high{border-left:4px solid #ea580c}.security-stats .stat-card.severity-high .stat-value{color:#ea580c}.security-stats .stat-card.severity-medium{border-left:4px solid #d97706}.security-stats .stat-card.severity-medium .stat-value{color:#d97706}.security-stats .stat-card.severity-low{border-left:4px solid #16a34a}.security-stats .stat-card.severity-low .stat-value{color:#16a34a}.security-filters{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.filter-group{flex:1 1;gap:.5rem;min-width:200px}.filter-group label{font-size:.875rem;font-weight:600;gap:.5rem}.filter-group select{border:1px solid var(--border-color);font-size:.9375rem;padding:.625rem .875rem;transition:all .15s ease}.filter-group select:focus{box-shadow:0 0 0 3px #4f46e51a}.security-events{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:2rem}.events-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.events-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.events-actions{flex-wrap:wrap;gap:1rem}.events-actions,.user-search{align-items:center;display:flex}.user-search{position:relative}.user-search svg{color:var(--text-tertiary);font-size:.875rem;left:.75rem;position:absolute}.user-search input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;padding:.5rem .75rem .5rem 2.25rem;transition:all .15s ease;width:220px}.user-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.export-buttons{display:flex;gap:.5rem}.btn-sm{font-size:.8125rem;padding:.375rem .75rem}.events-table-wrapper{margin:0 -.5rem;overflow-x:auto;padding:0 .5rem}.events-table{border-collapse:collapse;font-size:.9375rem;width:100%}.events-table th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.5px;padding:.875rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.events-table th.th-sortable{cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.events-table th.th-sortable:hover{background:var(--bg-hover)}.sort-icon{font-size:.75rem;margin-left:.5rem;opacity:.5}.th-sortable:hover .sort-icon{opacity:1}.th-severity{width:120px}.th-actions{text-align:center;width:80px}.events-table td{border-bottom:1px solid var(--border-light);padding:.875rem 1rem;vertical-align:middle}.events-table tbody tr{transition:background .15s ease}.events-table tbody tr:hover{background:var(--bg-hover)}.severity-row-critical{border-left:3px solid #dc2626}.severity-row-high{border-left:3px solid #ea580c}.severity-row-medium{border-left:3px solid #d97706}.severity-row-low{border-left:3px solid #16a34a}.severity-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .625rem;text-transform:capitalize}.severity-badge.severity-critical{background:#dc26261a;color:#dc2626}.severity-badge.severity-high{background:#ea580c1a;color:#ea580c}.severity-badge.severity-medium{background:#d977061a;color:#d97706}.severity-badge.severity-low{background:#16a34a1a;color:#16a34a}.severity-badge svg{font-size:.875rem}.severity-text{display:none}@media (min-width:768px){.severity-text{display:inline}}.td-event-type{color:var(--text-primary);font-weight:500}.td-user .user-info{display:flex;flex-direction:column;gap:.125rem}.td-user .user-name{color:var(--text-primary);font-weight:500}.td-user .user-email{color:var(--text-secondary);font-size:.8125rem}.td-user .no-user{color:var(--text-tertiary)}.td-ip{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem}.td-ip,.td-time{color:var(--text-secondary)}.td-time{font-size:.875rem;white-space:nowrap}.td-actions{text-align:center}.btn-icon{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:.375rem .5rem;transition:all .15s ease}.btn-icon:hover{background:var(--primary);border-color:var(--primary);color:#fff}.event-detail-modal{max-width:600px;width:95vw}.event-detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.detail-row{display:flex;flex-direction:column;gap:.25rem}.detail-row.full-width{grid-column:span 2}.detail-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:var(--text-primary);font-size:.9375rem}.detail-value.user-agent{color:var(--text-secondary);font-size:.8125rem;word-break:break-all}.detail-json{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;overflow-x:auto;padding:1rem}.detail-json pre{color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;margin:0;white-space:pre-wrap;word-break:break-word}.severity-icon{font-size:1rem}.severity-icon.severity-critical{color:#dc2626}.severity-icon.severity-high{color:#ea580c}.severity-icon.severity-medium{color:#d97706}.severity-icon.severity-low{color:#16a34a}.empty-state{color:var(--text-tertiary);padding:3rem 2rem;text-align:center}.empty-state svg{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.125rem;margin:0}.pagination{border-top:1px solid var(--border-light);padding-top:2rem}.page-info{color:var(--text-secondary);font-size:.9375rem;font-weight:500}@media (max-width:1200px){.security-dashboard{padding:1rem}.security-header{padding:1.5rem}.security-header .header-content{flex-direction:column;gap:1rem;text-align:center}.security-header h1{font-size:1.5rem}.security-stats{gap:1rem;grid-template-columns:repeat(2,1fr)}.security-stats .stat-card{padding:1rem}.security-stats .stat-value{font-size:1.5rem}.security-filters{flex-direction:column}.filter-group{min-width:100%}.security-events{padding:1rem}.events-header{align-items:stretch}.events-actions,.events-header{flex-direction:column}.export-buttons,.user-search,.user-search input{width:100%}.export-buttons .btn{flex:1 1}.events-table thead{display:none}.events-table,.events-table tbody{display:block;width:100%}.events-table tbody tr{border:1px solid var(--border-color);border-left-width:4px;border-radius:.75rem;display:block;margin-bottom:1rem;padding:1rem}.events-table tbody tr,.events-table tbody tr:hover{background:var(--bg-secondary)}.events-table td{align-items:center;border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;justify-content:space-between;padding:.5rem 0}.events-table td:last-child{border-bottom:none;margin-top:.5rem;padding-top:.75rem}.events-table td:before{color:var(--text-secondary);content:attr(data-label);flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-right:1rem;text-transform:uppercase}.events-table td.td-severity{border-bottom:none;justify-content:flex-start;margin-bottom:.5rem;padding-bottom:.75rem}.events-table td.td-severity:before{display:none}.events-table td.td-severity .severity-badge{padding:.375rem .75rem}.severity-text{display:inline!important}.events-table td.td-user{align-items:flex-end;flex-direction:column}.events-table td.td-user:before{align-self:flex-start}.events-table td.td-user .user-info{align-items:flex-end;text-align:right}.events-table td.td-actions{border-top:1px solid var(--border-light);justify-content:flex-end;margin-top:.5rem;padding-top:.75rem}.events-table td.td-actions:before{display:none}.events-table td.td-actions .btn-icon{padding:.5rem 1rem}.pagination{flex-wrap:wrap;gap:.75rem}.pagination .btn{flex:1 1;min-width:100px}.page-info{font-size:.875rem;order:-1;text-align:center;width:100%}.event-detail-grid{grid-template-columns:1fr}.detail-row.full-width{grid-column:span 1}}@media (max-width:480px){.security-stats{grid-template-columns:1fr}}.moderation-page{background:var(--bg-primary);margin:0 auto;max-width:75%;min-height:100vh;padding:1.5rem}.moderation-access-denied{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.moderation-access-denied svg{color:#ef4444;font-size:4rem;margin-bottom:1.5rem}.moderation-access-denied h2{color:var(--text-primary);margin:0 0 .5rem}.moderation-access-denied p{margin:0}.moderation-header{margin-bottom:1.5rem}.moderation-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:700;gap:.75rem;margin:0}.moderation-header h1 svg{color:#ef4444}.moderation-header p{color:var(--text-secondary);margin:.25rem 0 0}.moderation-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;padding:1rem 1.25rem;text-align:center}.stat-card .stat-value{color:var(--text-primary);font-size:2rem;font-weight:700}.stat-card .stat-label{color:var(--text-secondary);font-size:.8125rem;margin-top:.25rem}.stat-card.pending{border-left:4px solid #f59e0b}.stat-card.review{border-left:4px solid #3b82f6}.stat-card.resolved{border-left:4px solid #22c55e}.stat-card.urgent{border-left:4px solid #ef4444}.moderation-filters{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-group label{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:500;gap:.375rem}.filter-group select{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;min-width:180px;padding:.5rem .75rem}.filter-group select:focus{border-color:var(--primary);outline:none}.moderation-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 400px}@media (max-width:1100px){.moderation-content{grid-template-columns:1fr}}.moderation-empty,.moderation-loading{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.moderation-empty svg,.moderation-loading svg{font-size:2.5rem;margin-bottom:1rem}.moderation-empty svg{color:#22c55e}.moderation-empty h3{color:var(--text-primary);margin:0 0 .25rem}.moderation-empty p{margin:0}.reports-list{display:flex;flex-direction:column;gap:.75rem}.report-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;cursor:pointer;padding:1rem;transition:all .15s ease}.report-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.report-card.selected{background:#3b82f60d;border-color:var(--primary)}.report-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.report-type{align-items:center;background:var(--bg-secondary);border-radius:.25rem;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.25rem .5rem;text-transform:capitalize}.report-type.message{background:#3b82f61a;color:#3b82f6}.report-type.chat{background:#a855f71a;color:#a855f7}.report-type.user{background:#ef44441a;color:#ef4444}.report-priority{border-radius:1rem;color:#fff;font-size:.6875rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.report-card-content{margin-bottom:.75rem}.report-reason{align-items:center;color:var(--text-primary);display:flex;font-weight:500;gap:.5rem;margin-bottom:.5rem}.report-reason svg{color:#f59e0b}.report-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.8125rem;margin:0 0 .5rem;overflow:hidden}.report-meta{color:var(--text-muted);display:flex;font-size:.75rem;gap:1rem}.report-user{align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;gap:.375rem;margin-top:.5rem}.report-card-actions{align-items:center;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;padding-top:.75rem}.report-status{border-radius:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.report-status.pending{background:#f59e0b1a;color:#f59e0b}.report-status.under_review{background:#3b82f61a;color:#3b82f6}.report-status.resolved{background:#22c55e1a;color:#22c55e}.report-status.dismissed{background:var(--bg-secondary);color:var(--text-muted)}.btn-small{align-items:center;background:var(--primary);border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .625rem}.btn-small:hover{background:var(--primary-hover)}.pagination{padding:1rem}.pagination button{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;color:var(--text-primary);cursor:pointer;height:36px;width:36px}.pagination button:hover:not(:disabled){background:var(--bg-secondary)}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:var(--text-secondary);font-size:.875rem}.report-detail-panel{border:1px solid var(--border-light);border-radius:.75rem;max-height:calc(100vh - 3rem);overflow-y:auto;top:1.5rem}.report-detail-header,.report-detail-panel{background:var(--bg-card);position:-webkit-sticky;position:sticky}.report-detail-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1rem 1.25rem;top:0;z-index:1}.report-detail-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.report-detail-header .close-btn{align-items:center;background:var(--bg-secondary);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.report-detail-header .close-btn:hover{background:var(--bg-hover)}.report-detail-content{padding:1.25rem}.detail-section{margin-bottom:1.25rem}.detail-section label{color:var(--text-muted);display:block;font-size:.75rem;font-weight:500;margin-bottom:.375rem;text-transform:uppercase}.detail-section p{color:var(--text-primary);font-size:.9375rem;margin:0}.report-type-badge{border-radius:.25rem;display:inline-block;font-size:.8125rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.content-preview{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;padding:.75rem}.user-info{align-items:center;display:flex;gap:.5rem}.user-info .username{color:var(--text-primary);font-weight:500}.user-info .warning-badge{background:#ef44441a;border-radius:1rem;color:#ef4444;font-size:.6875rem;font-weight:500;padding:.125rem .5rem}.resolution-section{border-top:1px solid var(--border-light);margin-top:1.5rem;padding-top:1.5rem}.resolution-section h4{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin:0 0 1rem}.resolution-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.resolution-option{align-items:flex-start;border:1px solid var(--border-light);border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .15s ease}.resolution-option:hover{border-color:var(--primary)}.resolution-option.selected{background:#3b82f60d;border-color:var(--primary)}.resolution-option input{margin-top:.125rem}.option-content{display:flex;flex-direction:column;gap:.125rem}.option-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.option-desc{color:var(--text-secondary);font-size:.75rem}.resolution-notes{margin-bottom:1rem}.resolution-notes label{color:var(--text-primary);display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem}.resolution-notes textarea{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;padding:.625rem .75rem;resize:vertical;width:100%}.resolution-notes textarea:focus{border-color:var(--primary);outline:none}.resolution-buttons{display:flex;gap:.5rem}.btn-dismiss,.btn-resolve{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.625rem 1rem}.btn-dismiss{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary)}.btn-dismiss:hover:not(:disabled){background:var(--bg-hover)}.btn-resolve{background:var(--primary);color:#fff}.btn-resolve:hover:not(:disabled){background:var(--primary-hover)}.btn-resolve:disabled{cursor:not-allowed;opacity:.5}.resolved-section{border-top:1px solid var(--border-light);margin-top:1.5rem;padding-top:1.5rem}.resolved-section h4{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin:0 0 .75rem}.resolved-info{background:var(--bg-secondary);border-radius:.5rem;padding:.75rem}.resolved-info p{font-size:.8125rem;margin:0 0 .5rem}.resolved-info p:last-child{margin-bottom:0}.resolved-info strong{color:var(--text-primary)}@media (max-width:768px){.moderation-page{padding:1rem}.moderation-filters{flex-direction:column}.filter-group select{min-width:0;min-width:auto;width:100%}.report-detail-panel{border-radius:0;bottom:0;left:0;max-height:100vh;position:fixed;right:0;top:0;z-index:100}}.vehicle-detail-container{margin:0 auto;padding:0}.btn-back{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.9375rem;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;transition:all .15s ease}.btn-back:hover{background:var(--bg-hover);border-color:var(--text-secondary);color:var(--text-primary)}.vehicle-detail-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:2rem}.vehicle-detail-icon{align-items:center;background:var(--primary);border-radius:1rem;color:#fff;display:flex;flex-shrink:0;font-size:2rem;height:80px;justify-content:center;width:80px}.vehicle-detail-title h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.vehicle-owner{color:var(--text-secondary);font-size:1rem;margin:0}.vehicle-detail-content{display:flex;flex-direction:column;gap:2rem}.vehicle-equipment-section,.vehicle-info-section,.vehicle-specs-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;padding:1.5rem}.vehicle-equipment-section h2,.vehicle-info-section h2,.vehicle-specs-section h2{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 1.25rem}.vehicle-info-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item label{color:var(--text-muted);display:block;font-size:.8125rem;font-weight:500;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.info-item p{color:var(--text-primary);font-size:1.0625rem;margin:0}.vehicle-description{border-top:1px solid var(--border-light);margin-top:1.25rem;padding-top:1.25rem}.vehicle-description label{color:var(--text-muted);display:block;font-size:.8125rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.vehicle-description p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0}.specs-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.spec-item{display:flex;flex-direction:column;gap:.25rem}.spec-item label{color:var(--text-muted);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.spec-item span{color:var(--text-primary);font-size:1rem}.spec-features{border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;padding-top:1.25rem}.feature-tag{background:rgba(var(--primary-rgb),.1);border-radius:.375rem;color:var(--primary);font-size:.875rem;padding:.375rem .75rem}.equipment-categories{display:flex;flex-direction:column;gap:1.5rem}.equipment-category h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .75rem}.equipment-items{display:flex;flex-direction:column;gap:.5rem}.equipment-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.5rem;display:flex;gap:.75rem;padding:.75rem 1rem}.equipment-name{color:var(--text-primary);flex:1 1;font-size:.9375rem}.equipment-qty{color:var(--text-muted);font-size:.875rem}.equipment-notes{color:var(--text-secondary);font-size:.8125rem}.no-equipment{color:var(--text-muted);font-size:.9375rem;font-style:italic;margin:0}@media (max-width:1200px){.vehicle-detail-container{padding:1rem}.vehicle-detail-header{align-items:flex-start;flex-direction:column;gap:1rem}.vehicle-detail-icon{font-size:1.5rem;height:60px;width:60px}.vehicle-detail-title h1{font-size:1.5rem}.vehicle-equipment-section,.vehicle-info-section,.vehicle-specs-section{padding:1.25rem}.vehicle-equipment-section h2,.vehicle-info-section h2,.vehicle-specs-section h2{font-size:1.125rem}.vehicle-info-grid{grid-template-columns:1fr}.specs-grid{grid-template-columns:repeat(2,1fr)}}.sidebar{background-color:var(--bg-card);border-right:1px solid var(--border-color);bottom:0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;position:fixed;top:0;transition:width .3s cubic-bezier(.4,0,.2,1);width:240px;z-index:100}.sidebar.collapsed{width:64px}.sidebar-header{align-items:center;background:linear-gradient(135deg,var(--bg-card) 0,var(--bg-hover) 100%);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.25rem 1rem}.sidebar-close-btn{align-items:center;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:none;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.sidebar-close-btn:hover{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.sidebar-close-btn:active{transform:scale(.95)}.sidebar-brand{align-items:center;border-radius:.75rem;color:var(--text-primary);display:flex;font-size:1.125rem;font-weight:600;gap:.75rem;justify-content:flex-start;letter-spacing:-.02em;padding:.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-brand:hover{background-color:var(--bg-hover);transform:translateX(2px)}.brand-icon{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:.75rem;box-shadow:var(--shadow-primary);color:#fff;display:flex;flex-shrink:0;font-size:1.75rem;height:2.5rem;justify-content:center;width:2.5rem}.brand-text{overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-brand{justify-content:center}.sidebar.collapsed .brand-text{display:none}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-section{margin-bottom:1.5rem;padding:0 .75rem}.nav-section-title{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;padding:.5rem .75rem;text-transform:uppercase}.nav-item{align-items:center;border-radius:.75rem;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;margin-bottom:.25rem;padding:.625rem .75rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item:hover{background-color:var(--bg-hover);box-shadow:var(--shadow-sm);color:var(--text-primary);transform:translateX(4px)}.nav-item.active{background:linear-gradient(135deg,var(--primary-light) 0,var(--primary-light) 100%);box-shadow:0 0 0 1px var(--primary) inset,var(--shadow-primary);color:var(--primary);font-weight:600;transform:translateX(4px)}.nav-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.25rem;justify-content:center}.notification-icon-wrapper{position:relative}.sidebar-notification-badge{align-items:center;background:var(--danger);border-radius:8px;color:#fff;display:flex;font-size:.625rem;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-8px;top:-6px}.sidebar.collapsed .sidebar-notification-badge{right:-4px;top:-4px}.nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-text{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:.625rem}.sidebar-footer{border-top:1px solid var(--border-color);padding:.75rem}.sidebar-footer .nav-item{margin-bottom:.25rem}.nav-button{background:#0000;border:none;cursor:pointer;text-align:left;width:100%}.user-avatar{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:2px solid var(--bg-card);border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:1.75rem;width:1.75rem}.sidebar-toggle,.user-avatar{align-items:center;display:flex;justify-content:center}.sidebar-toggle{background-color:var(--bg-card);border:1.5px solid var(--border-color);border-radius:50%;box-shadow:var(--shadow-md);color:var(--text-secondary);cursor:pointer;font-size:.75rem;height:24px;position:absolute;right:-12px;top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.sidebar-toggle:hover{background-color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-primary);color:#fff;transform:translateY(-50%) scale(1.1)}.sidebar-backdrop{animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}@media (max-width:1200px){.sidebar{box-shadow:var(--shadow-xl);left:-280px;width:280px;z-index:999}.sidebar.mobile-open{animation:slideInFromLeft .3s ease-out;left:0}.sidebar.collapsed{left:-280px;width:280px}.sidebar.collapsed.mobile-open{left:0;width:280px}.sidebar-toggle{display:none}.sidebar .brand-text,.sidebar .nav-section-title,.sidebar .nav-text,.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-text{display:block!important}.sidebar .nav-item,.sidebar.collapsed .nav-item{padding:.75rem 1rem!important}.sidebar .nav-item,.sidebar .sidebar-brand,.sidebar.collapsed .nav-item,.sidebar.collapsed .sidebar-brand{gap:.75rem!important;justify-content:flex-start!important}.sidebar .nav-text,.sidebar.collapsed .nav-text{font-size:1rem!important;font-weight:500!important}}@keyframes slideInFromLeft{0%{left:-280px}to{left:0}}@media (max-width:768px){.sidebar{left:-100%;width:100%}.sidebar.mobile-open{animation:slideInFromLeftFull .3s ease-out;left:0;width:100%}.sidebar.collapsed{left:-100%;width:100%}.sidebar.collapsed.mobile-open{left:0;width:100%}.sidebar-close-btn{display:flex}}@keyframes slideInFromLeftFull{0%{left:-100%}to{left:0}}.photo-gallery-page{margin:0 auto;max-width:1400px;padding:1.5rem}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.header-left{display:flex;flex-direction:column;gap:.5rem}.page-header h1{align-items:center;color:#f9fafb;color:var(--text-primary,#f9fafb);display:flex;font-size:1.75rem;gap:.75rem;margin:0}.page-header h1 svg{color:#3b82f6;color:var(--primary-color,#3b82f6)}.storage-info{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.85rem;gap:.5rem}.storage-info svg{color:#6b7280;color:var(--text-muted,#6b7280)}.storage-bar{background:#1f2937;background:var(--bg-tertiary,#1f2937);border-radius:3px;height:6px;overflow:hidden;width:100px}.storage-fill{background:#3b82f6;background:var(--primary-color,#3b82f6);height:100%;transition:width .3s}.header-actions{align-items:center;display:flex;gap:.75rem}.selection-count{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem;padding:0 .5rem}.uploader-section{border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;padding:1.5rem}.filters-section,.uploader-section{background:#111827;background:var(--bg-secondary,#111827);margin-bottom:1.5rem}.filters-section{align-items:center;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.filter-icon{color:#6b7280;color:var(--text-muted,#6b7280)}.filters-section select{background:#1f2937;background:var(--bg-tertiary,#1f2937);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;color:#f9fafb;color:var(--text-primary,#f9fafb);cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.filters-section select:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);outline:none}.pagination{align-items:center;border-top:1px solid #374151;border-top:1px solid var(--border-color,#374151);display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.page-info{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem}@media (max-width:768px){.photo-gallery-page{padding:1rem}.page-header{align-items:stretch;flex-direction:column}.header-actions{justify-content:flex-end}.storage-info{flex-wrap:wrap}}.maintenance-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-bottom:2px solid #d97706;box-shadow:0 2px 8px #0000001a;color:#78350f;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:999}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.maintenance-content{align-items:center;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;justify-content:center;margin:0 auto;max-width:1200px}.maintenance-icon{font-size:1.25rem}.maintenance-message{text-align:center}@media (max-width:1200px){.maintenance-banner{padding:.75rem 1rem}.maintenance-content{font-size:.875rem}.maintenance-icon{font-size:1.125rem}}.notification-center{position:relative}.notification-trigger{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.5rem;position:relative;transition:color .2s ease}.notification-trigger:hover{color:var(--text-primary)}.notification-badge{align-items:center;background:var(--danger);border-radius:9px;color:#fff;display:flex;font-size:.6875rem;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:0;top:0;transform:translate(25%,-25%)}.notification-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-xl);max-width:calc(100vw - 2rem);overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);width:380px;z-index:1000}.notification-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.25rem}.notification-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.notification-header-actions{display:flex;gap:.5rem}.notification-action-btn{background:#0000;border:none;border-radius:.25rem;color:var(--text-tertiary);cursor:pointer;font-size:.875rem;padding:.375rem;transition:all .15s ease}.notification-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-action-btn.notification-action-danger:hover{background:#ef44441a;color:var(--danger)}.notification-list{max-height:400px;overflow-y:auto}.notification-empty{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;justify-content:center;padding:3rem 1.5rem}.notification-empty svg{font-size:2.5rem;margin-bottom:1rem;opacity:.5}.notification-empty p{font-size:.9375rem;margin:0}.notification-item{border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;transition:background .15s ease}.notification-item:hover{background:var(--bg-hover)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:var(--primary-light)}.notification-item.unread:hover{background:var(--bg-hover)}.notification-item.notification-urgent{border-left:3px solid var(--danger)}.notification-item.notification-high{border-left:3px solid var(--warning)}.notification-icon{align-items:center;background:var(--bg-secondary);border-radius:50%;color:var(--primary);display:flex;flex-shrink:0;font-size:.875rem;height:36px;justify-content:center;width:36px}.notification-item.notification-urgent .notification-icon{background:#ef44441a;color:var(--danger)}.notification-item.notification-high .notification-icon{background:#f59e0b1a;color:var(--warning)}.notification-content{flex:1 1;min-width:0}.notification-title{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.25rem}.notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.8125rem;line-height:1.4;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis}.notification-time{color:var(--text-tertiary);font-size:.75rem}.notification-actions{display:flex;flex-direction:column;gap:.25rem;opacity:0;transition:opacity .15s ease}.notification-item:hover .notification-actions{opacity:1}.notification-delete,.notification-mark-read{background:#0000;border:none;border-radius:.25rem;color:var(--text-tertiary);cursor:pointer;font-size:.75rem;padding:.25rem;transition:all .15s ease}.notification-mark-read:hover{background:#22c55e1a;color:var(--success)}.notification-delete:hover{background:#ef44441a;color:var(--danger)}.notification-load-more{background:#0000;border:none;border-top:1px solid var(--border-light);color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.875rem;transition:background .15s ease;width:100%}.notification-load-more:hover:not(:disabled){background:var(--bg-hover)}.notification-load-more:disabled{color:var(--text-tertiary);cursor:not-allowed}.notification-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:.75rem 1.25rem}.notification-view-all{background:#0000;border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem;transition:all .15s ease;width:100%}.notification-view-all:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}@media (max-width:480px){.notification-dropdown{border-radius:1rem 1rem 0 0;bottom:0;left:0;max-height:80vh;max-width:none;position:fixed;right:0;top:auto;width:100%}.notification-list{max-height:calc(80vh - 120px)}}.chat-modal{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.75rem;bottom:90px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;height:500px;left:auto;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow:hidden;position:fixed;right:24px;top:auto;transform:none;width:380px;z-index:1001}.chat-modal-header{align-items:center;background:var(--primary);color:#fff;display:flex;justify-content:space-between;padding:.75rem 1rem}.chat-modal-header h3{flex:1 1;font-size:.9375rem;font-weight:600;margin:0 .5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-modal-actions{display:flex;gap:.25rem}.chat-modal-action-btn{align-items:center;background:#ffffff26;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .15s ease;width:28px}.chat-modal-action-btn:hover{background:#ffffff40}.chat-modal-action-btn svg{font-size:.75rem}.chat-modal-messages{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-y:auto;padding:.75rem}.chat-modal-empty,.chat-modal-loading{align-items:center;color:var(--text-muted);display:flex;height:100%;justify-content:center}.chat-modal-loading svg{color:var(--primary);font-size:1.25rem}.chat-modal-empty p{font-size:.875rem;margin:0}.chat-modal-loading-more{color:var(--primary);display:flex;justify-content:center;padding:.5rem}.chat-modal-beginning{color:var(--text-muted);font-size:.6875rem;padding:.5rem;text-align:center}.chat-modal-date-group{display:flex;flex-direction:column;gap:.25rem}.chat-modal-date-divider{align-items:center;display:flex;justify-content:center;margin:.5rem 0}.chat-modal-date-divider span{background:var(--bg-secondary);border-radius:.75rem;color:var(--text-muted);font-size:.6875rem;padding:.125rem .5rem}.chat-modal-system-message{color:var(--text-secondary);font-size:.75rem;font-style:italic;padding:.25rem .5rem;text-align:center}.chat-modal-message{display:flex;gap:.375rem;max-width:85%;padding:.125rem 0}.chat-modal-message.own{align-self:flex-end;flex-direction:row-reverse}.chat-modal-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:.6875rem;font-weight:600;height:24px;justify-content:center}.chat-modal-avatar,.chat-modal-avatar-placeholder{flex-shrink:0;width:24px}.chat-modal-message-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.chat-modal-message-sender{color:var(--text-primary);font-size:.6875rem;font-weight:600;padding-left:.25rem}.chat-modal-bubble{word-wrap:break-word;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.75rem;overflow-wrap:break-word;padding:.5rem .625rem;position:relative}.chat-modal-message.own .chat-modal-bubble{background:var(--primary);border-color:var(--primary);border-top-right-radius:.25rem;color:#fff}.chat-modal-message:not(.own) .chat-modal-bubble{border-top-left-radius:.25rem}.chat-modal-bubble p{font-size:.8125rem;line-height:1.35;margin:0}.chat-modal-time{color:var(--text-muted);display:block;font-size:.5625rem;margin-top:.125rem;text-align:right}.chat-modal-message.own .chat-modal-time{color:#ffffffb3}.chat-modal-delete{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:1rem;justify-content:center;opacity:0;position:absolute;right:.125rem;top:.125rem;transition:opacity .15s ease;width:1rem}.chat-modal-bubble:hover .chat-modal-delete{opacity:1}.chat-modal-delete svg{font-size:.5rem}.chat-modal-bubble-wrapper{display:flex;flex-direction:column;position:relative}.chat-modal-message.own .chat-modal-bubble-wrapper{align-items:flex-end}.chat-modal-react-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:1rem;justify-content:center;opacity:0;position:absolute;right:1.25rem;top:.125rem;transition:opacity .15s ease;width:1rem}.chat-modal-message:not(.own) .chat-modal-react-btn{background:var(--bg-hover);color:var(--text-secondary)}.chat-modal-bubble:hover .chat-modal-react-btn{opacity:1}.chat-modal-react-btn svg{font-size:.5rem}.chat-modal-reaction-picker{background:var(--bg-card);border:1px solid var(--border-light);border-radius:1.5rem;box-shadow:0 4px 12px #00000026;display:flex;gap:.125rem;left:0;padding:.25rem .375rem;position:absolute;top:-2.5rem;z-index:10}.chat-modal-reaction-picker.own{left:auto;right:0}.chat-modal-reaction-option{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.875rem;height:1.75rem;justify-content:center;transition:all .15s ease;width:1.75rem}.chat-modal-reaction-option:hover{background:var(--bg-hover);transform:scale(1.2)}.chat-modal-reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.chat-modal-reactions.own{justify-content:flex-end}.chat-modal-reaction{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.75rem;cursor:pointer;display:flex;font-size:.75rem;gap:.125rem;padding:.125rem .375rem;transition:all .15s ease}.chat-modal-reaction:hover:not(:disabled){background:var(--bg-hover)}.chat-modal-reaction.active{background:#3b82f626;border-color:var(--primary)}.chat-modal-reaction span{color:var(--text-secondary);font-size:.625rem}.chat-modal-reaction:disabled{cursor:default;opacity:.7}.chat-modal-typing{background:var(--bg-secondary);border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.6875rem;font-style:italic;padding:.375rem .75rem}.chat-modal-scroll-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:50%;bottom:70px;box-shadow:0 2px 6px #00000026;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:1rem;width:28px}.chat-modal-scroll-btn:hover{background:var(--bg-secondary)}.chat-modal-input-container{background:var(--bg-card);border-top:1px solid var(--border-light);position:relative}.chat-modal-input{background:var(--bg-card);display:flex;gap:.375rem;padding:.625rem}.chat-modal-input input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:1.25rem;color:var(--text-primary);flex:1 1;font-size:.8125rem;outline:none;padding:.5rem .75rem}.chat-modal-input input:focus{border-color:var(--primary)}.chat-modal-input input::placeholder{color:var(--text-muted)}.chat-modal-input button{align-items:center;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.chat-modal-input button:hover:not(:disabled){background:var(--primary-hover)}.chat-modal-input button:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.chat-modal-input button[type=submit] svg{font-size:.875rem}.chat-modal-emoji-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .15s ease;width:36px}.chat-modal-emoji-btn:hover{background:var(--bg-secondary);color:var(--primary)}.chat-modal-emoji-btn svg{font-size:1.125rem}.chat-modal-emoji-picker{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;bottom:100%;box-shadow:0 4px 16px #00000026;left:.5rem;margin-bottom:.25rem;position:absolute;right:.5rem;z-index:100}.chat-modal-emoji-picker .emoji-picker-categories{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);border-radius:.5rem .5rem 0 0;display:flex;gap:.125rem;overflow-x:auto;padding:.375rem}.chat-modal-emoji-picker .emoji-category-btn{background:#0000;border:none;border-radius:.25rem;cursor:pointer;flex-shrink:0;font-size:1rem;padding:.25rem .375rem;transition:background .15s ease}.chat-modal-emoji-picker .emoji-category-btn:hover{background:var(--bg-hover)}.chat-modal-emoji-picker .emoji-category-btn.active{background:var(--primary)}.chat-modal-emoji-picker .emoji-picker-grid{grid-gap:.125rem;display:grid;gap:.125rem;grid-template-columns:repeat(8,1fr);max-height:150px;overflow-y:auto;padding:.375rem}.chat-modal-emoji-picker .emoji-picker-item{align-items:center;background:#0000;border:none;border-radius:.25rem;cursor:pointer;display:flex;font-size:1.125rem;height:32px;justify-content:center;transition:background .15s ease;width:32px}.chat-modal-emoji-picker .emoji-picker-item:hover{background:var(--bg-hover)}.chat-modal-archived-notice{background:var(--bg-secondary);border-top:1px solid var(--border-light);color:var(--text-muted);font-size:.8125rem;font-style:italic;padding:.75rem 1rem;text-align:center}.chat-modal-minimized{align-items:center;background:var(--primary);border-radius:.5rem;bottom:90px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;display:flex;gap:.5rem;height:40px;padding:0 .75rem 0 1rem;position:fixed;right:24px;transition:transform .15s ease;z-index:1001}.chat-modal-minimized:hover{transform:translateY(-2px)}.chat-modal-minimized-title{font-size:.875rem;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-modal-minimized-badge{align-items:center;background:#ef4444;border-radius:9px;display:flex;font-size:.6875rem;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:0 5px}.chat-modal-minimized-close{align-items:center;background:#ffffff26;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;margin-left:.25rem;width:24px}.chat-modal-minimized-close:hover{background:#ffffff40}.chat-modal-minimized-close svg{font-size:.625rem}.chat-modal-mention-picker{background:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;bottom:100%;box-shadow:0 4px 16px #00000026;left:.5rem;margin-bottom:.25rem;overflow:hidden;position:absolute;right:.5rem;z-index:100}.chat-modal-mention-option{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;text-align:left;transition:background .15s ease;width:100%}.chat-modal-mention-option.active,.chat-modal-mention-option:hover{background:var(--bg-secondary)}.chat-modal-mention-option .mention-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:24px;justify-content:center;width:24px}.chat-modal-mention-option .mention-username{color:var(--text-primary);font-size:.875rem;font-weight:500}.chat-mention{background:#3b82f61a;border-radius:.125rem;color:var(--primary);font-weight:600;padding:0 .125rem}.chat-mention.self{background:#3b82f640}.chat-modal-message.own .chat-mention{background:#fff3;color:#fff}.chat-modal-message.own .chat-mention.self{background:#ffffff59}@media (max-width:768px){.chat-modal,.chat-modal-minimized{display:none}}.floating-chat-button{align-items:center;background:var(--primary);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 12px #3b82f666;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:24px;transition:all .2s ease;width:56px;z-index:1000}.floating-chat-button:hover{box-shadow:0 6px 16px #3b82f680;transform:scale(1.1)}.floating-chat-button:active{transform:scale(1.05)}.floating-chat-button svg{font-size:1.5rem}.floating-chat-badge{align-items:center;background:#ef4444;border:2px solid var(--bg-primary);border-radius:11px;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 6px;position:absolute;right:-4px;top:-4px}@media (max-width:768px){.floating-chat-button{display:none}}:root[data-theme=light]{--bg-primary:#f8f9fb;--bg-secondary:#fff;--bg-tertiary:#f1f3f5;--bg-card:#fff;--bg-hover:#f8fafc;--bg-accent-subtle:#f0f7ff;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-color:#e2e8f0;--border-light:#f1f5f9;--border-strong:#cbd5e1;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--primary-dark:#3730a3;--accent:#10b981;--accent-hover:#059669;--accent-light:#d1fae5;--success:#10b981;--success-hover:#059669;--success-light:#d1fae5;--success-dark:#047857;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#fef3c7;--warning-dark:#b45309;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#fee2e2;--danger-dark:#b91c1c;--info:#3b82f6;--info-light:#dbeafe;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #00000014,0 1px 2px -1px #00000014;--shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #00000014;--shadow-md:0 10px 15px -3px #00000014,0 4px 6px -4px #00000014;--shadow-lg:0 20px 25px -5px #00000014,0 8px 10px -6px #00000014;--shadow-xl:0 25px 50px -12px #0000001f;--shadow-primary:0 10px 15px -3px #4f46e526,0 4px 6px -4px #4f46e526;--shadow-success:0 10px 15px -3px #10b98126,0 4px 6px -4px #10b98126}:root[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#1e293b;--bg-card:#1e293b;--bg-hover:#334155;--bg-accent-subtle:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#64748b;--text-inverse:#0f172a;--border-color:#334155;--border-light:#1e293b;--border-strong:#475569;--primary:#6366f1;--primary-hover:#818cf8;--primary-light:#312e81;--primary-dark:#4f46e5;--accent:#34d399;--accent-hover:#6ee7b7;--accent-light:#065f46;--success:#34d399;--success-hover:#6ee7b7;--success-light:#065f46;--success-dark:#10b981;--warning:#fbbf24;--warning-hover:#fcd34d;--warning-light:#78350f;--warning-dark:#f59e0b;--danger:#f87171;--danger-hover:#fca5a5;--danger-light:#7f1d1d;--danger-dark:#ef4444;--info:#60a5fa;--info-light:#1e3a8a;--shadow-xs:0 1px 2px 0 #0009;--shadow-sm:0 1px 3px 0 #000000b3,0 1px 2px -1px #000000b3;--shadow:0 4px 6px -1px #000000b3,0 2px 4px -2px #000000b3;--shadow-md:0 10px 15px -3px #000c,0 4px 6px -4px #000c;--shadow-lg:0 20px 25px -5px #000c,0 8px 10px -6px #000c;--shadow-xl:0 25px 50px -12px #000000e6;--shadow-primary:0 10px 15px -3px #6366f140,0 4px 6px -4px #6366f140;--shadow-success:0 10px 15px -3px #34d39940,0 4px 6px -4px #34d39940}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;letter-spacing:-.011em;line-height:1.6;transition:background-color .2s ease,color .2s ease}.app-content{min-height:100vh;padding:2rem;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.app-content.with-sidebar{margin-left:240px}.app-content.with-sidebar-collapsed{margin-left:64px}.app-content.no-navbar{margin-left:0}.app-content:has(.auth-container),.app-content:has(.trip-join-container){padding:0}@media (max-width:1200px){.app-content.with-sidebar,.app-content.with-sidebar-collapsed{margin-left:0}}.loading{color:var(--text-secondary)}.error,.loading{align-items:center;display:flex;font-size:1.2rem;justify-content:center;min-height:100vh}.error{color:var(--danger)}.btn{align-items:center;border:none;border-radius:.5rem;box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;letter-spacing:-.011em;overflow:hidden;padding:.625rem 1.25rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);box-shadow:var(--shadow-primary);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-primary);transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background-color:var(--bg-card);border:1.5px solid var(--border-color);box-shadow:var(--shadow-xs);color:var(--text-primary);max-width:-webkit-fit-content;max-width:fit-content}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0,var(--danger-dark) 100%);box-shadow:0 4px 12px #ef444433;color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-lg),0 8px 16px #ef444440;transform:translateY(-2px)}.btn-danger:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-success{background:linear-gradient(135deg,var(--success) 0,var(--success-dark) 100%);box-shadow:var(--shadow-success);color:#fff}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-success);transform:translateY(-2px)}.btn-success:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-outline{background-color:initial;border:1px solid var(--border-color);box-shadow:none;color:var(--text-secondary)}.btn-outline:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--text-tertiary);box-shadow:0 1px 2px #0000000d;color:var(--text-primary)}.btn-outline:active:not(:disabled){background-color:var(--bg-tertiary)}.btn-small{font-size:.875rem;padding:.375rem .75rem}.btn-large{font-size:.9375rem;font-weight:500;padding:.625rem 1.5rem}.btn-icon{border-radius:.375rem;padding:.5rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-card);border:1.5px solid var(--border-color);border-radius:.5rem;box-shadow:var(--shadow-xs);color:var(--text-primary);font-family:inherit;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-strong)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light),var(--shadow-sm);outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.25rem .75rem;text-transform:uppercase}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.badge-info{background-color:var(--primary-light);color:var(--primary)}.badge-secondary{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.badge-archived{background-color:#e0e7ff;border:1px solid #a5b4fc;color:#4c51bf}.empty-message{color:var(--text-tertiary);font-size:1rem;font-style:italic;padding:3rem 2rem;text-align:center}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem}.section-header h2{color:var(--text-primary);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin:0}.section-header .btn{flex-shrink:0;max-width:-webkit-fit-content;max-width:fit-content;width:auto}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-light);border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.grecaptcha-badge{visibility:hidden!important}.undo-toast-container{background:#1e293b!important;background:var(--bg-secondary,#1e293b)!important;border:1px solid #374151!important;border:1px solid var(--border-color,#374151)!important}.undo-toast{align-items:center;display:flex;gap:1rem;justify-content:space-between;width:100%}.undo-toast-message{color:#f1f5f9;color:var(--text-primary,#f1f5f9);flex:1 1}.undo-toast-btn{background:#0000;border:none;border-radius:4px;color:#6366f1;color:var(--primary,#6366f1);cursor:pointer;font-weight:600;padding:.25rem .5rem;transition:all .2s;white-space:nowrap}.undo-toast-btn:hover{background:#312e81;background:var(--primary-light,#312e81);color:#818cf8;color:var(--primary-hover,#818cf8)}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mobile-header{display:none}@media (max-width:1200px){.mobile-header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;gap:1rem;height:60px;left:0;padding:0 1rem;position:fixed;right:0;top:0;z-index:98}.mobile-header-hamburger{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:.75rem;box-shadow:var(--shadow-sm),var(--shadow-primary);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:44px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:44px}.mobile-header-hamburger:active{transform:scale(.95)}.mobile-header-brand{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;letter-spacing:-.02em;text-decoration:none}.mobile-header-icon{align-items:center;border-radius:.5rem;box-shadow:var(--shadow-primary);color:#fff;display:flex;font-size:1.5rem;height:2.25rem;justify-content:center;width:2.25rem}.mobile-header-icon,.mobile-header-text{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.mobile-header-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.mobile-header-actions{align-items:center;display:flex;gap:.5rem;margin-left:auto}.app-content,.app-content.with-sidebar,.app-content.with-sidebar-collapsed{padding:76px 1rem 1rem}.form-row{grid-template-columns:1fr}.btn{font-size:1rem;max-width:-webkit-fit-content;max-width:fit-content;min-height:44px;padding:.75rem 1rem;text-align:center;white-space:normal}.btn-small{font-size:.9375rem;min-height:38px;padding:.5rem .875rem}.btn-large{font-size:1.0625rem;min-height:50px;padding:.875rem 1.25rem}.btn-icon{min-height:44px;min-width:44px}}@media (min-width:1200px){.admin-dashboard .admin-content,.admin-dashboard .admin-header,.admin-dashboard .admin-tabs,.notifications-page,.profile-container .profile-content,.profile-container .profile-header,.security-dashboard .security-events,.security-dashboard .security-filters,.security-dashboard .security-header,.security-dashboard .security-stats,.statistics-container,.template-browser>:not(.breadcrumb),.trip-detail-page .trip-detail-container,.trip-list-container,.vehicle-detail-container>:not(.breadcrumb){margin-left:auto;margin-right:auto;max-width:75%}}
/*# sourceMappingURL=main.e25119f1.css.map*/