:root{--t4t-red:#D21F3C;--t4t-red-hover:#a01828;--t4t-red-light:#fef2f2;--t4t-red-border:#fecaca;--marine-blue:#002D62;--marine-blue-dark:#002244;--t4t-green:#008000;--t4t-green-dark:#15803d;--t4t-green-light:#f0fdf4;--t4t-green-border:#bbf7d0;--gray-50:#f9fafb;--gray-100:#f4f4f4;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7281;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-primary:#f4f4f4;--bg-secondary:white;--bg-success:#f0fdf4;--bg-error:#fef2f2;--bg-warning:#fef3c7;--text-primary:#333;--text-secondary:#4b5563;--text-muted:#6b7281;--border-default:#e5e7eb;--border-focus:#D21F3C;--btn-primary:#008000;--btn-primary-hover:#15803d;--btn-secondary:#002D62;--btn-secondary-hover:#002244;--btn-danger:#D21F3C;--btn-danger-hover:#a01828;--page-spacing:20px;--border-radius:8px;--border-radius-sm:4px;--border-radius-lg:12px}.hidden{display:none}#footer-placeholder:empty,#header-placeholder:empty{display:block}#header-placeholder:empty{min-height:145px;background-color:#fff}#footer-placeholder:empty{min-height:224px;background-color:var(--marine-blue);margin-top:auto}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;overflow-y:scroll}.bg-gray-100{background-color:var(--gray-100)}.bg-marine-blue,.hamburger-menu-btn span{background-color:var(--marine-blue)}header{background-color:#fff;padding:15px 20px;border-bottom:5px solid var(--t4t-red);box-shadow:0 2px 5px rgba(0,0,0,.1);min-height:110px}header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}header .header-text{text-align:center}header .header-text h1{color:var(--marine-blue);margin:0;font-weight:700;font-size:1.8rem}header .header-text h1:hover,header .header-text h2:hover{text-decoration:underline}header .header-text h2{color:var(--t4t-red);margin:5px 0;font-weight:500}header .header-text .sub-header{margin:0;font-size:.9rem;color:#666}header .logo{height:80px;width:auto}header .logo.t4t-logo{height:60px}header .header-right{display:flex;align-items:center;gap:15px}.hamburger-menu-btn{display:flex;flex-direction:column;justify-content:space-around;width:30px;height:24px;background:0 0;border:0;cursor:pointer;padding:0;z-index:1001}.hamburger-menu-btn span{display:block;width:100%;height:3px;border-radius:2px;transition:all .3s ease}.hamburger-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.hamburger-menu-btn.active span:nth-child(2){opacity:0}.hamburger-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.hamburger-menu-btn:hover span{background-color:var(--t4t-red)}.hamburger-menu{position:fixed;top:0;right:0;width:280px;height:100vh;background-color:#fff;box-shadow:-2px 0 10px rgba(0,0,0,.1);transform:translateX(100%);transition:transform .3s ease;z-index:1000;overflow-y:auto}.hamburger-menu.active{transform:translateX(0)}.hamburger-menu .menu-content{padding:80px 0 20px;display:flex;flex-direction:column}.hamburger-menu .menu-user-info{padding:15px 20px;border-bottom:2px solid var(--t4t-red);margin-bottom:10px;font-weight:600;color:var(--marine-blue);font-size:1.1rem}.hamburger-menu .menu-item{display:block;padding:15px 20px;color:var(--dark-text);text-decoration:none;font-size:1rem;transition:background-color .2s ease,color .2s ease;border-left:4px solid transparent}.hamburger-menu .menu-item:hover{background-color:var(--light-gray);border-left-color:var(--t4t-red);color:var(--marine-blue)}.hamburger-menu .menu-item span{display:inline-block}.hamburger-menu.active::before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.3);z-index:-1}.container{display:flex;width:100%;max-width:1200px;margin:var(--page-spacing) auto;gap:20px;padding:0 20px;height:75vh;min-height:500px;flex:1;box-sizing:border-box}.container #location-list-container,.container #map{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.container #map{height:800px!important;flex:4!important;min-width:480px;width:auto!important}.container #location-list-container{flex:1;min-width:250px;height:100%;background:#fff;display:flex;flex-direction:column}.container #location-list-container .list-header{background:var(--marine-blue);color:#fff;padding:15px;border-top-left-radius:8px;border-top-right-radius:8px;text-align:center}.container #location-list-container .list-header h3{margin:0;font-size:1.1rem}.container #location-list-container #location-list{overflow-y:auto;flex-grow:1;min-height:100vh}.form-group button,.location-item{cursor:pointer;transition:background-color .2s}.location-item{padding:15px;border-bottom:1px solid #eee}.location-item:hover{background-color:#eef5ff}.location-item h4{margin:0 0 5px;color:var(--t4t-red)}.location-item p{margin:0;font-size:.9rem;color:#555}.location-item p.contact-info{font-size:.8rem;color:#666;margin-top:4px}footer{text-align:center;padding:20px;background-color:var(--marine-blue);color:#fff;font-size:.9rem;margin-top:auto;min-height:160px}footer .footer-bear{height:100px;width:auto;margin-top:10px;display:block;margin-left:auto;margin-right:auto}.form-container{max-width:600px;margin:0 auto;padding:30px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.form-container h1{font-size:1.5rem;line-height:2rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:#1f2937}.form-wrapper,.page-container,.page-content{flex:1;margin:var(--page-spacing) auto;padding:0 20px;max-width:1200px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.form-group button{width:100%;padding:12px;background-color:var(--t4t-green);color:#fff;border:0;border-radius:4px;font-size:1rem;font-weight:700}.form-group button:hover{background-color:#15803d}.form-group button:disabled{background-color:#ccc;cursor:not-allowed}#box-id-display,.message{border-radius:4px;text-align:center}.message{padding:15px;margin-top:20px;font-weight:500}.message.success{background-color:#d4edda;color:#155724}.message.error{background-color:#f8d7da;color:#721c24}#box-id-display{background-color:#f4f4f4;border:1px solid #ddd;padding:10px 15px;font-family:monospace;font-size:1.2rem;font-weight:700;color:var(--marine-blue)}.collapsible-content{padding:0 1rem}.collapsible-content.open{padding-top:1rem;padding-bottom:1rem}@media (max-width:768px){#header-placeholder:empty{min-height:90px}header{padding:10px 15px;min-height:90px}header .header-content{flex-direction:row;gap:10px}header .header-text{flex:1;text-align:left}header .header-text h1{font-size:1.2rem;line-height:1.2}header .header-text h2{font-size:1rem;margin:2px 0}header .header-text .sub-header{font-size:.75rem;line-height:1.2}header .logo{height:50px}header .logo.t4t-logo{height:40px}header .header-right{gap:10px}header .header-right .mcl-logo{height:50px}.container{flex-direction:column;height:auto;min-height:60vh;width:100%;max-width:100%;padding:0 10px}.container #map{height:50vh;min-height:400px;width:100%!important;min-width:0!important;max-width:100%!important}.container #location-list-container{height:50vh;min-height:300px;width:100%}}#auth-container{padding:40px}#auth-container p{margin-bottom:1rem}#auth-message{color:#374151;margin-bottom:1.5rem}#auth-container button{width:100%;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;border:0;cursor:pointer;transition:background-color .2s}#google-login-btn,#sign-in-btn{background-color:#3b82f6;color:#fff}#google-login-btn:hover,#sign-in-btn:hover{background-color:#2563eb}#show-email-setup-btn{font-size:.875rem;color:#4b5563;margin-top:.75rem;background:0 0;padding:0}#show-email-setup-btn:hover{color:#111827}#show-email-setup-btn span{color:#3b82f6;text-decoration:underline}#or-divider{margin-top:1rem;margin-bottom:1rem;color:#6b7281;font-weight:600}#email-auth-section{margin-top:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#f9fafb;text-align:left}#email-auth-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:#374151;text-align:center}#auth-email,#auth-password{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem;box-sizing:border-box}#password-hint{font-size:.75rem;color:#6b7281;margin-bottom:1rem}#toggle-password{display:block;text-align:right;font-size:.875rem;color:#3b82f6;cursor:pointer;margin-top:-.5rem;margin-bottom:.75rem}#toggle-password:hover{text-decoration:underline}#email-sign-in-btn{background-color:var(--marine-blue);color:#fff}#email-sign-in-btn:hover{background-color:#024}#email-sign-up-btn{background-color:#16a34a;color:#fff}#email-sign-up-btn:hover{background-color:#15803d}#toggle-sign-up-btn{font-size:.875rem;margin-top:.75rem;background:0 0;font-weight:500;padding:0;width:auto}#toggle-sign-up-btn span{color:var(--marine-blue)}#toggle-sign-up-btn:hover span{color:#c00}#gps-btn,#toggle-passcode{display:block;cursor:pointer}#toggle-passcode{text-align:right;font-size:.875rem;color:#3b82f6;margin-top:.25rem;margin-bottom:.75rem}#show-address-btn span,#toggle-passcode:hover,#toggle-sign-up-btn span{text-decoration:underline}.hr-divider{height:1px;background-color:#d1d5db;margin-top:1.5rem;margin-bottom:1.5rem}#gps-btn{width:75%;margin-left:auto;margin-right:auto;padding-top:.5rem;padding-bottom:.5rem;background-color:#ef4444;color:#fff;font-weight:600;border-radius:.375rem;border:0;transition:background-color .2s}#gps-btn:hover{background-color:#dc2626}#gps-btn.searching{background-color:#eab308}#gps-btn.success{background-color:#22c55e}#gps-error-msg{text-align:center;font-size:.875rem;color:#dc2626;margin-top:.5rem}#show-address-btn{text-align:center;margin-top:1rem;margin-bottom:1rem;color:#374151;cursor:pointer}#show-address-btn:hover,#sign-out-btn:hover{color:#111827}#show-address-btn span{font-weight:500}#user-display{font-size:.875rem;color:#6b7281;margin-bottom:.5rem}#sign-out-btn{margin-top:1rem;background:0 0;border:0;cursor:pointer}#auth-container{max-width:28rem;margin:5rem auto;padding:2rem;background-color:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);border-radius:.75rem;text-align:center;flex:1}#auth-container header{background-color:var(--t4t-red);padding:1.5rem;margin:-2rem -2rem 2rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem}#auth-container header h1{font-size:1.875rem;font-weight:800;color:#fff;text-align:center}#google-login-btn{font-size:1.125rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.dashboard-header-container{max-width:42rem;margin:var(--page-spacing) auto;padding:0 1rem;flex:1}.dashboard-header-flex{display:flex;flex-direction:column;justify-content:space-between}.dashboard-header-flex h1{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.dashboard-header-flex .welcome-text{font-size:1.125rem;color:#4b5563;margin-bottom:1rem}#location-display .bg-tots-light .contact-info p strong,.dashboard-header-flex #volunteer-name{font-weight:600}.dashboard-header-controls{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:1rem}.dashboard-header-controls label{display:block;font-size:.875rem;font-weight:500;color:#374151;white-space:nowrap}#sign-out-btn,#view-filter{font-size:.875rem;border-radius:.375rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}#view-filter{display:block;width:100%;border:1px solid #d1d5db;padding:.5rem 2.5rem .5rem .75rem;margin-top:.25rem}#sign-out-btn{padding:.5rem 1rem;background-color:#d1d5db;color:#374151;font-weight:600;white-space:nowrap}#sign-out-btn:hover{background-color:#9ca3af}@media (min-width:640px){.dashboard-header-flex{flex-direction:row;align-items:center}.dashboard-header-flex .welcome-text{margin-bottom:0}.dashboard-header-controls{width:auto}}#boxes-section{margin-top:1.5rem}#boxes-title{font-size:1.5rem;font-weight:700;color:#1f2937;border-bottom:2px solid var(--t4t-red);padding-bottom:.5rem;margin-bottom:1rem}#boxes-container{display:grid;gap:1rem}#loading-message,.box-card{padding:1rem}.box-card{background-color:#fff;border-radius:.5rem;border:1px solid #e5e7eb;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.box-card h3{font-size:1.125rem;font-weight:700}.box-card .address{font-size:.875rem;color:#4b5563}.box-card .box-id{font-size:.75rem;color:#6b7281;margin-top:.25rem}.box-card .status-wrapper{margin-top:1rem}.status-good,.status-problem{padding:.75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem}.status-problem .status-title{font-weight:600;color:var(--t4t-red)}.status-problem .status-desc{font-size:.875rem;color:#4b5563}.status-good{background-color:#f0fdf4;border:1px solid #bbf7d0}.status-good .status-title{font-weight:600;color:var(--t4t-green)}#location-display .bg-tots-light .contact-info p,.status-good .status-desc{font-size:.875rem;color:#4b5563}.clear-status-btn,.view-history-btn{margin-top:.75rem;color:#fff;font-size:.875rem;font-weight:600;border-radius:.375rem}.clear-status-btn{width:60%;margin-left:auto;margin-right:auto;display:block;padding:.5rem .75rem;background-color:var(--t4t-red);border:0;cursor:pointer}.clear-status-btn:hover{background-color:#a01828}.view-history-btn{display:inline-block;text-align:center;padding:.5rem 1rem;background-color:#059669;text-decoration:none}.view-history-btn:hover{background-color:#047857}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#auth-password{margin-bottom:.75rem}#auth-email{margin-bottom:.5rem}.problem-contact-fieldset,.problem-contact-fieldset input{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem}.problem-contact-fieldset legend{font-size:.875rem;font-weight:500;color:#374151;padding:0 .25rem}.problem-contact-fieldset .input-wrapper{margin-top:.5rem}.problem-contact-fieldset input{width:100%;padding:.5rem;font-size:.875rem;box-sizing:border-box}.status-page-container{max-width:28rem;margin:var(--page-spacing) auto;padding:0 20px;flex:1}.status-header,.status-main-content{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.status-header{background-color:var(--t4t-red);padding:1.5rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.status-header h1{font-size:1.875rem;font-weight:800;color:#fff;text-align:center}.status-main-content{padding:1.5rem 1rem;background-color:#fff;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}#location-display{margin-bottom:1.5rem}#location-display .bg-tots-light{background-color:#f0fdf4;padding:1rem;border-radius:.5rem;border:1px solid var(--t4t-green);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05)}#location-display .bg-tots-light h2{font-size:1.25rem;font-weight:700;color:var(--t4t-red)}#location-display .bg-tots-light p{font-size:.875rem;color:#374151;margin-top:.25rem}#location-display .bg-tots-light .box-id{font-size:.875rem;font-weight:600;margin-top:.75rem}#location-display .bg-tots-light .box-id span,.box-card h3{color:var(--t4t-red)}#location-display .bg-tots-light .volunteer{font-size:.875rem;font-weight:600}#location-display .bg-tots-light .contact-info{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(204,0,0,.3)}#history h2,#location-display .bg-tots-light .contact-info h3{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}#history h2{font-size:1.5rem;font-weight:700;border-bottom:2px solid #d1d5db;padding-bottom:.5rem;margin-bottom:1rem}#history-loading,#loading-message{text-align:center;color:#6b7281}#history-container{display:grid;gap:.75rem;list-style:none;padding:0}.report-item{padding:1rem;border-radius:.5rem;border:1px solid #e5e7eb;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);background-color:#fff}.report-item.is-problem{background-color:#fef2f2;border-color:rgba(204,0,0,.5)}.report-item.is-resolved{background-color:#f0fdf4;border-color:rgba(0,128,0,.3)}.report-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.report-title{font-weight:700;color:#1f2937;text-transform:uppercase}.report-status{font-size:.875rem;font-weight:600}.report-status.is-new{color:var(--t4t-red)}.report-status.is-cleared{color:var(--t4t-green)}.report-description{font-size:.875rem;color:#4b5563;margin-bottom:.5rem}.report-timestamp{font-size:.75rem;color:#9ca3af}.report-reporter-info{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb;font-size:.75rem;color:#6b7281}.report-reporter-info p{margin:0}.auth-message-spacing{margin-top:.75rem;margin-bottom:.75rem}.box-page-container{max-width:28rem;margin:var(--page-spacing) auto;padding:0 20px;flex:1}.main-content{padding:2rem 1rem;max-width:800px;margin:0 auto}.content-box{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.page-title{font-size:1.75rem;font-weight:700;color:var(--marine-blue);margin-bottom:1.5rem;text-align:center}.box-action-card{margin-top:0!important;margin-bottom:0!important}.action-box{padding:1.5rem;border-radius:8px;margin:1.5rem 0;text-align:center}.action-button{width:100%;padding:.75rem 1.5rem;background-color:var(--t4t-green);border:2px solid var(--t4t-green);color:#fff;font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.action-button:hover:not(:disabled){background-color:#1a7f37;border-color:#1a7f37}.action-button:disabled{opacity:.6;cursor:not-allowed}.action-description{color:#666;font-size:.875rem;margin:0}.text-link{color:var(--t4t-red);text-decoration:none;font-size:1rem;font-weight:600;transition:color .2s}.text-link:hover{color:#a01828;text-decoration:underline}.text-link:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.info-box{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;border:2px solid var(--t4t-red);box-shadow:0 2px 4px rgba(0,0,0,.1)}.info-title{font-size:1.25rem;font-weight:700;color:var(--t4t-red);margin:0 0 .5rem}.info-detail,.info-text{font-size:.875rem;color:#4b5563;margin:.25rem 0}.info-detail{color:#374151;margin:.5rem 0 0}.confirmation-message{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;text-align:center}.confirmation-message.success{background-color:#d1fae5;color:var(--t4t-green);border:1px solid var(--t4t-green)}.confirmation-message.warning{background-color:#fee2e2;color:var(--t4t-red);border:1px solid var(--t4t-red)}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.form-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.form-input:focus{outline:0;border-color:var(--t4t-red);box-shadow:0 0 0 3px rgba(210,31,60,.1)}.form-fieldset{border:1px solid #e5e7eb;border-radius:6px;padding:1rem;margin-bottom:1rem}.form-fieldset legend,.submit-button{font-size:.875rem;font-weight:600;color:#6b7280;padding:0 .5rem}.submit-button{width:100%;padding:.75rem 1rem;background-color:var(--t4t-red);color:#fff;border:0;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s}.submit-button:hover{background-color:#a01828}.submit-button:disabled{opacity:.6;cursor:not-allowed}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.collapsible-content.open{max-height:1000px}