*{margin:0;padding:0;box-sizing:border-box}:root{--primary-dark-teal: #00363A;--primary-green: #3BB273;--lighter-green: #77DD77;--darker-teal: #00545A;--background-grey: #F0F0F0;--card-background: #FFFFFF;--medium-grey: #888888;--error-red: #FF0000;--text-on-dark: #FFFFFF;--text-on-light: #00363A}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background-grey);color:var(--text-on-light)}.app-bar{display:flex;align-items:center;background:var(--card-background);padding:0 24px;height:64px;box-shadow:0 1px 3px #0000001f;position:relative;z-index:1000}.app-bar-logo{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}.app-bar-logo img{height:36px}.app-bar-logo span{font-size:22px;font-weight:700;color:var(--primary-green)}.app-bar-nav{display:flex;gap:16px}.app-bar-spacer{flex:1}.nav-btn{display:flex;flex-direction:column;align-items:center;padding:4px 24px;border:none;background:none;cursor:pointer;border-radius:8px;gap:4px;transition:background .15s}.nav-btn:hover{background:#0000000a}.nav-btn svg{width:28px;height:28px}.nav-btn span{font-size:14px}.nav-btn.active svg,.nav-btn.active span{color:var(--primary-green);fill:var(--primary-green);font-weight:700}.nav-btn:not(.active) svg,.nav-btn:not(.active) span{color:#616161;fill:#616161}.app-layout{display:flex;flex-direction:column;height:100%}.app-content{flex:1;overflow:hidden;position:relative}.screen{position:absolute;inset:0;overflow:auto}.screen.hidden{visibility:hidden;pointer-events:none}.card{background:var(--card-background);border-radius:12px;border:.5px solid #d0d0d0;box-shadow:0 1px 3px #00000014}.point-card{display:flex;align-items:center;padding:12px 20px;cursor:pointer;transition:box-shadow .15s}.point-card:hover{box-shadow:0 2px 8px #00000026}.point-card-icon{width:30px;height:30px;flex-shrink:0}.point-card-info{flex:1;margin-left:16px;min-width:0}.point-card-info h3{font-size:15px;font-weight:700;margin:0}.point-card-info p{font-size:13px;color:var(--medium-grey);margin:4px 0 0}.point-card-not-usable{color:#e65100;font-weight:700;font-size:13px;padding:0 8px;flex-shrink:0}.point-card-distance{color:#616161;font-size:13px;flex-shrink:0;margin-left:auto;padding-left:12px}.waste-selector{display:flex;align-items:center;padding:12px;background:var(--card-background);border-radius:8px;border:1px solid #bdbdbd;cursor:pointer;transition:border-color .15s}.waste-selector:hover{border-color:var(--primary-green)}.waste-selector-text{flex:1;font-size:15px}.waste-selector-text.placeholder{color:var(--medium-grey)}.waste-selector-clear{background:none;border:none;cursor:pointer;padding:0 4px;color:var(--medium-grey);font-size:18px;line-height:1}.waste-selector-arrow{color:var(--darker-teal);font-size:20px;margin-left:4px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--card-background);border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--medium-grey);padding:4px 8px}.modal-body{overflow-y:auto;padding:8px 0}.waste-category-label{padding:16px 16px 8px;font-size:14px;font-weight:700;color:#00363a99}.waste-type-item{padding:12px 32px;cursor:pointer;font-size:15px;transition:background .1s}.waste-type-item:hover{background:#f5f5f5}.waste-category-divider{height:1px;background:#e0e0e0;margin:0}.btn-primary{background:var(--primary-green);color:var(--text-on-dark);border:none;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-dark{background:var(--text-on-light);color:var(--text-on-dark);border:none;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:70px;justify-content:center;flex:1;transition:opacity .15s}.btn-dark:hover{opacity:.9}.btn-green{background:var(--primary-green);color:var(--text-on-dark);border:none;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:70px;justify-content:center;flex:1;transition:opacity .15s}.btn-green:hover{opacity:.9}.btn-text{background:none;border:none;color:var(--primary-green);font-weight:600;cursor:pointer;font-size:15px;padding:8px}.detail-page{display:flex;flex-direction:column;height:100%}.detail-map-container{flex:2;position:relative;min-height:200px}.detail-map-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 60%);pointer-events:none;z-index:400}.detail-info-container{flex:3;overflow-y:auto;padding:24px}.detail-info-inner{max-width:800px;margin:0 auto}.detail-card{margin-bottom:8px}.detail-card .list-tile{display:flex;align-items:flex-start;padding:16px;gap:16px}.detail-card .list-tile-icon{color:var(--darker-teal);flex-shrink:0;width:24px;height:24px}.detail-card .list-tile-content h4{font-size:15px;font-weight:500;margin:0}.detail-card .list-tile-content p{font-size:14px;color:var(--medium-grey);margin:4px 0 0}.detail-actions{display:flex;gap:8px;margin-top:24px}.sub-page-header{background:var(--primary-dark-teal);color:var(--text-on-dark);padding:0 16px;height:56px;display:flex;align-items:center;gap:12px;z-index:1000}.sub-page-header button{background:none;border:none;color:var(--text-on-dark);cursor:pointer;font-size:24px;padding:4px}.sub-page-header h1{font-size:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-form{max-width:600px;margin:0 auto;padding:16px}.report-form label{display:block;font-size:15px;font-weight:500;margin-bottom:8px}.report-form select,.report-form textarea{width:100%;padding:10px 12px;border:1px solid #bdbdbd;border-radius:8px;font-size:15px;font-family:inherit;background:var(--card-background)}.report-form select:focus,.report-form textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 1.5px var(--primary-green)}.report-form textarea{resize:vertical;min-height:100px}.error-text{color:var(--error-red);text-align:center;font-size:14px;margin-bottom:16px}.permission-overlay{display:flex;align-items:center;justify-content:center;height:100%;padding:20px}.permission-card{max-width:400px;padding:32px;text-align:center}.permission-card svg{width:60px;height:60px;color:var(--primary-green);fill:var(--primary-green);margin-bottom:24px}.permission-card h2{font-size:18px;font-weight:700;margin-bottom:12px}.permission-card p{font-size:15px;margin-bottom:24px;line-height:1.5}.choose-location{display:flex;flex-direction:column;height:100%}.choose-location-map{flex:1;position:relative}.choose-location-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);z-index:1000;font-size:48px;color:#2196f3;pointer-events:none}.choose-location-footer{padding:16px}.choose-location-footer .btn-primary{width:100%;min-height:50px}.spinner{display:flex;align-items:center;justify-content:center;gap:8px}.spinner-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-green);animation:bounce 1.4s ease-in-out infinite both}.spinner-dot:nth-child(1){animation-delay:-.32s}.spinner-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.map-container{width:100%;height:100%}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#323232;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:3000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.leaflet-container{width:100%;height:100%;z-index:0}
