*,body{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.analysis-page,.billing-page,.collection-request-page,.dashboard-page,.history-page,.profile-page{background:#21004d!important;background-color:#21004d!important;min-height:100vh}#root,.analysis-grid,.app,.billing-grid,.collection-request-grid,.dashboard-grid,.history-grid,.main-content,.profile-grid,body.analysis-page,body.billing-page,body.collection-request-page,body.dashboard-page,body.history-page,body.profile-page,body[class*=analysis],body[class*=billing],body[class*=collection],body[class*=dashboard],body[class*=history],body[class*=profile],html.analysis-page,html.billing-page,html.collection-request-page,html.dashboard-page,html.history-page,html.profile-page,html[class*=analysis],html[class*=billing],html[class*=collection],html[class*=dashboard],html[class*=history],html[class*=profile],main{background:#21004d!important;background-color:#21004d!important}.dashboard-header,.notifications-section,.quick-actions-section,.recent-collections-section,.recurring-schedules-section,.stats-section,.upcoming-collections-section{background:linear-gradient(135deg,#2a0061,#4a1d96)!important;background-color:linear-gradient(135deg,#2a0061,#4a1d96)!important}.action-card,.collection-item,.schedule-item,.stat-card{background:#ffffff1a!important;background-color:#ffffff1a!important}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-ring{display:inline-block;height:80px;position:relative;width:80px}.loading-ring.small{height:40px;width:40px}.loading-ring.medium{height:60px;width:60px}.loading-ring.large{height:80px;width:80px}.loading-ring .ring{animation:loading-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:3px solid #0000;border-radius:50%;box-sizing:border-box;display:block;height:100%;position:absolute;width:100%}.loading-ring.primary .ring{border-top-color:var(--blue-500)}.loading-ring.secondary .ring{border-top-color:var(--gray-500)}.loading-ring.white .ring{border-top-color:#fff}.loading-ring .ring:first-child{animation-delay:-.45s}.loading-ring .ring:nth-child(2){animation-delay:-.3s}.loading-ring .ring:nth-child(3){animation-delay:-.15s}@keyframes loading-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container{padding:2rem}.loading-container.fullscreen{min-height:100vh}.loading-container .loading-ring{margin-bottom:1rem}@media (max-width:768px){.loading-ring.small{height:32px;width:32px}.loading-ring.medium{height:48px;width:48px}.loading-ring.large{height:64px;width:64px}.loading-ring .ring{border-width:2px}}@media (max-width:480px){.loading-ring.small{height:28px;width:28px}.loading-ring.medium{height:40px;width:40px}.loading-ring.large{height:56px;width:56px}}.navigation{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#21004d;border-bottom:1px solid #ffffff1a;position:sticky;top:0;z-index:50}.nav-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--spacing-4)}.nav-brand{flex-shrink:0}.brand-link{align-items:center;color:#fff;display:flex;font-size:1.125rem;font-weight:600;gap:var(--spacing-2);text-decoration:none}.brand-icon{font-size:1.5rem}.brand-text{letter-spacing:-.025em}.desktop-menu{flex:1 1;gap:var(--spacing-1);justify-content:center;margin:0 var(--spacing-8);max-width:600px}.desktop-menu,.nav-link{align-items:center;display:flex}.nav-link{border-radius:var(--radius);color:#ffffffe6;font-size:.875rem;font-weight:500;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);text-decoration:none;transition:all .15s ease-in-out;white-space:nowrap}.nav-link:hover{background-color:#ffffff1a;color:#ebb800}.nav-link.active{background-color:#ebb8001a;color:#ebb800;font-weight:600}.nav-icon{font-size:1rem}.nav-label{font-size:.875rem}.nav-user{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-3)}.user-info{align-items:center!important;border-radius:var(--radius);display:flex!important;flex-direction:row!important;min-width:120px;padding:var(--spacing-1) var(--spacing-2)}.user-avatar{flex-shrink:0;font-size:1.25rem;order:1}.user-details{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-1);min-width:0;order:2;text-align:center}.user-name{color:#fff;font-size:.875rem;font-weight:600}.user-name,.user-role{line-height:1.2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.user-role{color:#fffc}.logout-button{background-color:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);color:#fff;font-size:.875rem;font-weight:500;padding:var(--spacing-2) var(--spacing-3)}.logout-button:hover{background-color:#fff3;border-color:#ffffff4d}.mobile-menu-toggle{background:none;border:none;border-radius:var(--radius);cursor:pointer;display:none;padding:var(--spacing-2)}.mobile-menu-toggle:hover{background-color:#ffffff1a}.hamburger-line{background:#fff;border-radius:1px;display:block;height:2px;margin:3px 0;transition:.3s;width:20px}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:first-child{transform:rotate(-45deg) translate(-4px,4px)}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(3){transform:rotate(45deg) translate(-4px,-4px)}.mobile-menu{background:#21004d;border-top:1px solid #ffffff1a;display:none;left:0;max-height:calc(100vh - 64px);overflow-y:auto;position:absolute;right:0;top:100%}.mobile-menu.open{display:block}.mobile-menu .nav-link{align-items:center;border-bottom:1px solid #ffffff1a;border-radius:0;color:#ffffffe6;display:flex;font-size:1rem;gap:var(--spacing-3);margin:0;padding:var(--spacing-4)}.mobile-menu .nav-link:last-child{border-bottom:none}.mobile-menu .nav-link .nav-icon{font-size:1.25rem}.mobile-user-section{background-color:#ffffff0d;border-top:1px solid #ffffff1a;padding:var(--spacing-4)}.mobile-user-info{background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding:var(--spacing-3)}.mobile-user-info .user-name{color:#fff;font-size:1rem;font-weight:600;line-height:1.2;word-break:keep-all}.mobile-user-info .user-role{color:#fffc;font-size:.875rem;line-height:1.2;word-break:keep-all}.mobile-logout-button{background-color:var(--red-500);border:none;border-radius:var(--radius);color:#fff;font-weight:500;padding:var(--spacing-3);width:100%}.mobile-logout-button:hover{background-color:#dc2626}.mobile-menu-overlay{background:#00000040;bottom:0;left:0;position:fixed;right:0;top:0;z-index:40}.mobile-menu-overlay.open{display:block}@media (max-width:1024px){.nav-container{padding:0 var(--spacing-3)}.desktop-menu{margin:0 var(--spacing-4)}.nav-link{font-size:.8125rem;padding:var(--spacing-2)}.user-info{min-width:100px}.user-name,.user-role{max-width:60px}}@media (max-width:768px){.desktop-menu,.logout-button,.nav-user .user-info{display:none}.mobile-menu-toggle{display:block}.nav-container{height:56px}.brand-link{font-size:1rem}.brand-icon{font-size:1.25rem}.mobile-menu{padding:var(--spacing-4)}.mobile-menu .nav-link{border-radius:var(--radius);font-size:1rem;margin-bottom:var(--spacing-2);padding:var(--spacing-4) var(--spacing-3)}.mobile-user-section{margin-top:var(--spacing-4);padding:var(--spacing-4)}.mobile-user-info{margin-bottom:var(--spacing-3);padding:var(--spacing-3)}.mobile-logout-button{font-size:1rem;padding:var(--spacing-3);width:100%}}@media (max-width:480px){.nav-container{padding:0 var(--spacing-2)}.brand-text{font-size:1.25rem}.brand-icon{font-size:1rem}.mobile-menu-toggle{padding:var(--spacing-1)}.hamburger-line{height:2px;width:18px}}.logout-button:focus,.mobile-logout-button:focus,.mobile-menu-toggle:focus,.nav-link:focus{outline:2px solid #ebb800;outline-offset:2px}.navigation.scrolled{background:#21004d}.layout{background-color:var(--gray-50);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;padding:var(--spacing-6);width:100%}.page-header{margin-bottom:var(--spacing-8)}.page-title{color:var(--gray-900);font-size:1.875rem;font-weight:700;line-height:1.25;margin-bottom:var(--spacing-2)}.page-subtitle{color:var(--gray-600);font-size:1rem;line-height:1.5}.content-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6)}.section-header{border-bottom:1px solid var(--gray-200);padding:var(--spacing-6)}.section-title{color:var(--gray-900);margin:0}.section-content{padding:var(--spacing-6)}.content-grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:1fr}.content-grid-2{grid-template-columns:repeat(2,1fr)}.content-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.main-content{padding:var(--spacing-4)}.content-grid-2,.content-grid-3{grid-template-columns:1fr}.page-title{font-size:1.5rem}.section-content,.section-header{padding:var(--spacing-4)}}@media (max-width:480px){.main-content{padding:var(--spacing-3)}.content-section{margin-bottom:var(--spacing-4)}}@media (max-width:768px){.auth-page{padding:var(--spacing-3)}.auth-container{max-width:100%;padding:var(--spacing-4)}.auth-header h1{font-size:1.75rem}.auth-header p{font-size:.9rem}.auth-tabs{flex-direction:column;gap:var(--spacing-2)}.tab-btn{width:100%}.form-group input,.submit-btn,.tab-btn{font-size:1rem;padding:var(--spacing-3)}}@media (max-width:480px){.auth-page{padding:var(--spacing-2)}.auth-container{padding:var(--spacing-3)}.auth-header h1{font-size:1.5rem}.auth-header p{font-size:.8rem}.form-group input,.submit-btn,.tab-btn{font-size:.9rem;padding:var(--spacing-2)}}.notifications-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.notifications-container.compact{border-radius:8px;box-shadow:none}.notifications-header{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.header-title{align-items:center;display:flex;gap:.5rem}.header-title h2{color:#2d3748;font-size:1.3rem;font-weight:700;margin:0}.unread-badge{background:#e53e3e;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;line-height:1;min-width:18px;padding:.2rem .5rem;text-align:center}.header-actions{gap:.5rem}.mark-all-read-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.mark-all-read-btn:hover{background:#5a6fd8;transform:translateY(-1px)}.notifications-filters{background:#f7fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;overflow-x:auto;padding:1rem 1.5rem}.filter-btn{background:#fff;border:1px solid #cbd5e0;border-radius:20px;color:#4a5568;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.filter-btn:hover{background:#edf2f7;border-color:#a0aec0}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.loading-container{padding:3rem}.loading-spinner{border:3px solid #e2e8f0;height:32px;width:32px}.notifications-list{max-height:500px;overflow-y:auto}.notifications-container.compact .notifications-list{max-height:300px}.notification-item{border-bottom:1px solid #e2e8f0;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .3s ease}.notification-item.compact{gap:.75rem;padding:1rem}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#f7fafc}.notification-item.unread{background:linear-gradient(135deg,#f0fff4,#fff);border-left:4px solid #38a169}.notification-item.unread:hover{background:linear-gradient(135deg,#e6ffed,#f7fafc)}.notification-item.read{opacity:.8}.notification-item.success{border-left-color:#38a169}.notification-item.info{border-left-color:#3182ce}.notification-item.warning{border-left-color:#d69e2e}.notification-item.error{border-left-color:#e53e3e}.notification-item.success.unread{background:linear-gradient(135deg,#f0fff4,#fff)}.notification-item.info.unread{background:linear-gradient(135deg,#ebf8ff,#fff)}.notification-item.warning.unread{background:linear-gradient(135deg,#fffbeb,#fff)}.notification-item.error.unread{background:linear-gradient(135deg,#fff5f5,#fff)}.notification-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.notification-item.compact .notification-icon{font-size:1.2rem;height:32px;width:32px}.notification-content{flex:1 1;min-width:0}.notification-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.notification-title{color:#2d3748;font-size:1rem;font-weight:600;line-height:1.3;margin:0}.notification-item.compact .notification-title{font-size:.9rem}.notification-time{color:#718096;flex-shrink:0;font-size:.8rem;font-weight:500;margin-left:1rem}.notification-message{color:#4a5568;font-size:.9rem;line-height:1.4;margin:0 0 .75rem}.notification-item.compact .notification-message{font-size:.8rem;margin-bottom:.5rem}.notification-actions{display:flex;gap:.5rem}.notification-action-btn{background:#667eea;border-radius:4px;color:#fff;font-size:.8rem;font-weight:600;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.notification-action-btn:hover{background:#5a6fd8;transform:translateY(-1px)}.notification-controls{align-self:flex-start;display:flex;flex-direction:column;gap:.25rem;opacity:0;transition:opacity .3s ease}.notification-item:hover .notification-controls{opacity:1}.delete-btn,.mark-read-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.7rem;font-weight:700;height:24px;justify-content:center;transition:all .3s ease;width:24px}.mark-read-btn{background:#38a169;color:#fff}.mark-read-btn:hover{background:#2f855a;transform:scale(1.1)}.delete-btn{background:#e53e3e;color:#fff}.delete-btn:hover{background:#c53030;transform:scale(1.1)}.no-notifications{color:#718096;padding:3rem;text-align:center}.no-notifications-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-notifications p{font-size:1rem;margin:0}.view-more{background:#f7fafc;border-top:1px solid #e2e8f0;padding:1rem 1.5rem;text-align:center}.view-more-link{color:#667eea;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .3s ease}.view-more-link:hover{color:#5a6fd8}@media (max-width:768px){.notifications-container{max-width:100%}.notifications-header{padding:var(--spacing-3)}.notifications-header h3{font-size:1.125rem}.notifications-list{max-height:400px}.notification-item{gap:var(--spacing-2);padding:var(--spacing-3)}.notification-icon{font-size:1rem;height:32px;width:32px}.notification-content h4{font-size:.9rem}.notification-content p{font-size:.8rem}.notification-time{font-size:.75rem}}@media (max-width:480px){.notifications-container,.notifications-header{padding:var(--spacing-2)}.notifications-header h3{font-size:1rem}.notification-item{gap:var(--spacing-2);padding:var(--spacing-2)}.notification-icon{font-size:.875rem;height:28px;width:28px}.notification-content h4{font-size:.875rem}.notification-content p{font-size:.75rem}.notification-time{font-size:.7rem}}.delete-btn:focus,.filter-btn:focus,.mark-all-read-btn:focus,.mark-read-btn:focus,.notification-action-btn:focus{outline:2px solid #667eea;outline-offset:2px}.notification-item:focus{outline:2px solid #667eea;outline-offset:-2px}.notification-item{animation:fadeInUp .4s ease-out}@media print{.notification-controls,.notifications-filters,.notifications-header,.view-more{display:none}.notification-item{border:1px solid #e2e8f0;break-inside:avoid;margin-bottom:.5rem;page-break-inside:avoid}}@media (prefers-reduced-motion:reduce){.delete-btn:hover,.mark-all-read-btn:hover,.mark-read-btn:hover,.notification-action-btn:hover,.notification-item{animation:none;transform:none}}.dashboard-page{color:#fff;margin:0;padding:0}.dashboard-grid{background:#21004d!important;background-color:#21004d!important;padding:var(--spacing-6)}.dashboard-page{min-height:100vh;width:100vw}.dashboard-page,body.dashboard-page,html.dashboard-page{background:#21004d!important;background-color:#21004d!important;box-sizing:border-box}.dashboard-header{align-items:flex-start;background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;box-shadow:none;box-sizing:border-box;color:#fff;margin-bottom:var(--spacing-6);margin-left:auto;margin-right:auto;max-width:1200px;width:100%}.welcome-section h1{color:#fff!important;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.875rem;font-weight:700;line-height:1.25;margin:0 0 var(--spacing-1) 0}.welcome-section p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1rem;line-height:1.5;margin:0}.admin-badge,.header-actions{align-items:center}.admin-badge{background-color:#ebb800;border:1px solid #eb6200;border-radius:var(--radius);color:#000;display:inline-flex;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;font-weight:600;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3)}.badge-icon{font-size:1rem}.dashboard-grid{grid-gap:var(--spacing-6);box-sizing:border-box;display:grid;gap:var(--spacing-6);grid-template-columns:1fr;margin:0 auto;max-width:1200px;overflow-x:hidden;width:100%}.section-title{color:#fff}.stats-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:none;color:#fff;grid-column:1/-1;margin:0;max-width:none;padding:var(--spacing-6)}.stat-card,.stats-grid,.stats-section{box-sizing:border-box;width:100%}.stat-card{max-width:none;min-height:80px}.stat-card div,.stat-card h3,.stat-card p,.stat-card span{color:#fff!important}.stat-card:hover{box-shadow:none}.stat-icon{background-color:initial!important;border:none!important;box-shadow:none!important}.stat-content h3{color:#ffffffb3;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.stat-number{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif}.stat-label{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.quick-actions-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:none;box-sizing:border-box;color:#fff;grid-column:1/-1;margin:0;max-width:none;padding:var(--spacing-6);width:100%}.quick-actions-grid{grid-gap:var(--spacing-4);box-sizing:border-box;display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.action-card{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);box-sizing:border-box;color:#fff;display:flex;flex-direction:column;max-width:none;min-height:120px;padding:var(--spacing-6);text-align:center;text-decoration:none;transition:all .15s ease-in-out;width:100%}.action-card *{color:#fff!important}.action-card .action-icon{border:none!important;box-shadow:none!important}.action-card *,.action-card .action-icon,.action-card div,.action-card h3,.action-card p,.action-card span,.action-icon,.collection-icon,.collection-item *,.schedule-icon,.schedule-item *,.stat-card *,.stat-icon,.upcoming-item *{background:#0000!important;background-color:initial!important}.action-icon,.collection-icon,.schedule-icon,.stat-icon{border:none!important;box-shadow:none!important}.action-card h3{color:#fff!important}.action-card:hover{background:#fff3;border-color:#ebb800;box-shadow:none;transform:translateY(-2px)}.action-icon{color:#ebb800;font-size:2rem;margin-bottom:var(--spacing-3)}.action-card h3{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1rem;font-weight:600;margin:0 0 var(--spacing-1) 0}.action-card p{color:#fffc!important;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;line-height:1.4;margin:0}.recent-collections-section,.upcoming-collections-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:none;box-sizing:border-box;color:#fff;grid-column:1/-1;margin:0;max-width:none;padding:var(--spacing-6);width:100%}.collections-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.collection-item{grid-gap:var(--spacing-4);align-items:center;display:grid;gap:var(--spacing-4);grid-template-columns:auto 1fr auto auto auto;position:relative}.collection-item:hover{box-shadow:none}.collection-date{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.875rem;font-weight:600}.collection-time{color:#fffc}.collection-time,.collection-type{font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem}.collection-type{color:#ffffffe6}.collection-volume{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;text-align:right}.collection-status{background:#0000!important;background-color:initial!important;border:none!important;border-radius:var(--radius);box-shadow:none!important;min-width:60px}.status-assigned,.status-completed,.status-confirmed,.status-in-progress,.status-pending{background:#0000!important;background-color:initial!important;border:1px solid #ebb800;color:#ebb800}.status-cancelled{background:#0000!important;background-color:initial!important;border:1px solid #eb6200;color:#eb6200}.next-collection-info{align-items:center;background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--radius);color:var(--blue-700);display:flex;font-size:.875rem;font-weight:500;gap:var(--spacing-2);grid-column:1/-1;margin-top:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3)}.next-collection-info:before{content:"🔄";font-size:1rem}.upcoming-list{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.upcoming-item{grid-gap:var(--spacing-4);align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);color:#fff;display:grid;gap:var(--spacing-4);grid-template-columns:auto auto 1fr auto auto;padding:var(--spacing-4);transition:all .15s ease-in-out}.upcoming-item:hover{background:#fff3;border-color:#ebb800;box-shadow:none;transform:translateY(-1px)}.upcoming-date{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.875rem;font-weight:600;min-width:80px}.upcoming-time{min-width:60px}.upcoming-time,.upcoming-type{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem}.upcoming-type{font-weight:500}.upcoming-volume{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;min-width:80px;text-align:center}.upcoming-status{font-size:.75rem;text-align:center;white-space:nowrap}.upcoming-status,.view-receipt-link{background:#0000!important;background-color:initial!important;border:1px solid #ebb800;border-radius:var(--radius-sm);color:#ebb800;font-weight:500;padding:var(--spacing-1) var(--spacing-2)}.view-receipt-link{font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;text-decoration:none;transition:all .15s ease-in-out}.view-receipt-link:hover{background:#ebb8001a!important;border-color:#eb6200;color:#eb6200}.empty-state,.empty-state p{color:#ffffffb3}.empty-state p{font-size:1rem;margin-bottom:var(--spacing-3)}.empty-state a,.empty-state p{font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.empty-state a{color:#ebb800;font-weight:500;text-decoration:none}.empty-state a:hover{color:#eb6200;text-decoration:underline}.new-request-link,.view-all-link{align-items:center;color:#ebb800;display:inline-flex;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s ease-in-out}.new-request-link:hover,.view-all-link:hover{color:#eb6200;text-decoration:underline}.notifications-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:none;color:#fff;display:none!important;grid-column:1/-1;padding:var(--spacing-6)}.notifications-section *{color:#fff!important}.notifications-section a,.notifications-section button{color:#ebb800!important}.admin-section{grid-column:1/-1}.admin-actions-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-action-card{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);color:#fff;display:flex;flex-direction:column;padding:var(--spacing-6);text-align:center;text-decoration:none;transition:all .15s ease-in-out}.admin-action-card:hover{background:#fff3;border-color:#ebb800;box-shadow:none;transform:translateY(-1px)}.admin-action-card .action-icon{color:#ebb800;font-size:2rem;margin-bottom:var(--spacing-3)}.admin-action-card h3{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1rem;font-weight:600;margin:0 0 var(--spacing-1) 0}.admin-action-card p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;line-height:1.4;margin:0}@media (max-width:1024px){.dashboard-grid{gap:var(--spacing-4);grid-template-columns:1fr;margin:0 auto;padding:var(--spacing-4)}.dashboard-grid,.dashboard-header{max-width:100%;overflow-x:hidden;width:100%}.dashboard-header{margin-left:auto;margin-right:auto}.quick-actions-section,.recent-collections-section,.stats-section,.upcoming-collections-section{margin-left:0;margin-right:0;max-width:none;overflow-x:hidden;width:100%}.quick-actions-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-page{overflow-x:hidden;padding:var(--spacing-4)}.dashboard-grid{margin:0 auto;padding:var(--spacing-3)}.dashboard-grid,.dashboard-header{max-width:100%;overflow-x:hidden;width:100%}.dashboard-header{flex-direction:column;gap:var(--spacing-4);margin-left:auto;margin-right:auto;text-align:center}.welcome-section h1{font-size:1.75rem}.quick-actions-section,.recent-collections-section,.stats-section,.upcoming-collections-section{margin-left:0;margin-right:0;max-width:none;overflow-x:hidden;width:100%}.quick-actions-grid,.stats-grid{gap:var(--spacing-3);grid-template-columns:1fr}.collections-list{gap:var(--spacing-3)}.collection-item{flex-direction:column;gap:var(--spacing-2);text-align:center}.collection-metrics{flex-wrap:wrap;justify-content:center}.upcoming-collections{gap:var(--spacing-3)}.schedule-item{flex-direction:column;gap:var(--spacing-2);text-align:center}}@media (max-width:480px){.dashboard-page{overflow-x:hidden;padding:var(--spacing-3)}.dashboard-grid{margin:0 auto;padding:var(--spacing-2)}.dashboard-grid,.dashboard-header{max-width:100%;overflow-x:hidden;width:100%}.dashboard-header{margin-left:auto;margin-right:auto;padding:var(--spacing-3)}.welcome-section h1{font-size:1.5rem}.welcome-section p{font-size:.9rem}.section-title{font-size:1.25rem}.quick-actions-section,.recent-collections-section,.stats-section,.upcoming-collections-section{margin-left:0;margin-right:0;max-width:none;overflow-x:hidden;width:100%}.action-card,.stat-card{max-width:none;width:100%}.action-card,.collection-item,.schedule-item,.stat-card{padding:var(--spacing-3)}}.action-card:focus,.admin-action-card:focus,.stat-card:focus{outline:2px solid var(--blue-500);outline-offset:2px}.recurring-schedules-section{border-top:1px solid var(--gray-200);margin-top:var(--spacing-6);padding-top:var(--spacing-6)}.subsection-title{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-2);margin:0 0 var(--spacing-4) 0}.recurring-schedules-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.schedule-item{align-items:center;background:#ffffff1a;border-radius:var(--radius);display:flex;justify-content:space-between;padding:var(--spacing-4);transition:all .15s ease-in-out}.schedule-item *{color:#fff!important}.schedule-item:hover{background:#fff;border-color:var(--gray-200);box-shadow:none}.schedule-info{flex:1 1}.schedule-description{color:#fff;font-weight:600;margin-bottom:var(--spacing-1)}.schedule-time{color:#fffc;font-size:.875rem;margin-bottom:var(--spacing-1)}.schedule-frequency{color:#ffffffb3}.schedule-frequency,.schedule-status{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.schedule-status{border-radius:var(--radius-sm);font-weight:500;padding:var(--spacing-1) var(--spacing-2)}.schedule-status.active{background:var(--green-100);color:var(--green-700)}.schedule-status.inactive{background:var(--gray-100);color:var(--gray-600)}.admin-page{background:#21004d;color:#fff;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.admin-header{border-bottom:2px solid #fff3;margin-bottom:32px;padding-bottom:16px}.admin-header h1{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:2.5rem;font-weight:700;margin:0 0 8px}.admin-header p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1.125rem;margin:0}.admin-content{display:flex;flex-direction:column;gap:32px}.admin-stats h2{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.5rem;font-weight:600;margin:0 0 16px}.stats-grid{grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{border:1px solid #ffffff1a;box-shadow:0 4px 6px -1px #0000004d;transition:transform .2s ease-in-out}.stat-card h3{font-size:.875rem;margin:0 0 8px;opacity:.9}.stat-number{font-size:2rem}.admin-nav{border-bottom:1px solid #e2e8f0;margin-bottom:24px}.nav-buttons{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px}.nav-button{background:#0000;border:none;border-radius:6px 6px 0 0;color:#ffffffb3;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;font-weight:500;padding:12px 20px;position:relative;transition:all .2s ease-in-out;white-space:nowrap}.nav-button:hover{background-color:#f8fafc;color:#1a202c}.nav-button.active{background-color:#ffffff1a;border-bottom:2px solid #ebb800;color:#ebb800}.nav-button.active:after{background-color:#ebb800;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.admin-actions h2{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.5rem;font-weight:600;margin:0 0 16px}.actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.admin-action-button{background:linear-gradient(135deg,#2a0061,#4a1d96);border:2px solid #fff3;border-radius:12px;box-shadow:0 4px 6px -1px #0000004d;color:#fff;cursor:pointer;padding:24px;text-align:left;transition:all .2s ease-in-out}.admin-action-button:hover{border-color:#ebb800;box-shadow:0 6px 12px -2px #0006;transform:translateY(-2px)}.admin-action-button h3{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.125rem;font-weight:600;margin:0 0 8px}.admin-action-button p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;line-height:1.5;margin:0}.management-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 6px -1px #0000004d;color:#fff;padding:24px}.management-section h2{border-bottom:1px solid #fff3;color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.375rem;font-weight:600;margin:0 0 20px;padding-bottom:12px}.section-content{display:flex;flex-direction:column;gap:16px}.user-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.filter-input,.filter-select{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;padding:8px 12px}.filter-input:focus,.filter-select:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.users-table{border-collapse:collapse;margin-top:12px;width:100%}.users-table td,.users-table th{border-bottom:1px solid #fff3;padding:12px;text-align:left}.users-table th{background-color:#ffffff1a;color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.875rem;font-weight:600}.users-table td{color:#ffffffe6;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem}.user-role{border-radius:4px;font-size:.75rem;font-weight:500;padding:4px 8px}.role-admin{background-color:#fef3c7;color:#92400e}.role-user{background-color:#dbeafe;color:#1e40af}.role-collector{background-color:#d1fae5;color:#065f46}.user-actions{display:flex;gap:8px}.action-btn{border:none;border-radius:4px;padding:4px 8px;transition:background-color .2s}.btn-edit{background-color:#3b82f6;color:#fff}.btn-edit:hover{background-color:#2563eb}.btn-delete{background-color:#ef4444}.btn-delete:hover{background-color:#dc2626}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:flex-start;background-color:#f9fafb;border-left:4px solid #667eea;border-radius:0 6px 6px 0;display:flex;gap:16px;justify-content:space-between;padding:12px 16px}.activity-time{color:#6b7280;font-size:.75rem;font-weight:500;min-width:80px;white-space:nowrap}.activity-desc{color:#374151;flex:1 1;font-size:.875rem}.activity-type{border-radius:3px;font-size:.625rem;font-weight:500;padding:2px 6px;text-transform:uppercase}.type-user{background-color:#dbeafe;color:#1e40af}.type-system{background-color:#f3e8ff;color:#7c3aed}.type-security{background-color:#fecaca;color:#dc2626}.analytics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.chart-container{background:#fff;border:1px solid #e2e8f0;min-height:300px}.chart-title{color:#1a202c;font-size:1.125rem;font-weight:600;margin-bottom:16px}.chart-placeholder{align-items:center;background-color:#f7fafc;border:2px dashed #cbd5e0;border-radius:6px;color:#718096;display:flex;font-style:italic;height:200px;justify-content:center}@media (max-width:1024px){.admin-page{padding:var(--spacing-4)}.actions-grid,.stats-grid{gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}.analytics-grid{gap:var(--spacing-3);grid-template-columns:1fr}}@media (max-width:768px){.admin-page{padding:var(--spacing-4)}.admin-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.admin-header h1{font-size:1.75rem}.actions-grid,.stats-grid{gap:var(--spacing-3);grid-template-columns:1fr}.user-filters{flex-direction:column;gap:var(--spacing-3)}.users-table{font-size:.75rem}.users-table td,.users-table th{padding:var(--spacing-2) var(--spacing-1)}.activity-item{flex-direction:column;gap:var(--spacing-2)}.activity-time{min-width:auto}.analytics-grid,.collections-grid{gap:var(--spacing-3);grid-template-columns:1fr}.collection-card{padding:var(--spacing-3)}}@media (max-width:480px){.admin-header,.admin-page{padding:var(--spacing-3)}.admin-header h1{font-size:1.5rem}.action-card,.stat-card{padding:var(--spacing-3)}.users-table{font-size:.7rem}.users-table td,.users-table th{padding:var(--spacing-1)}.collection-card{padding:var(--spacing-3)}}.loading-spinner{border:3px solid #f3f3f3;border-top-color:#667eea;display:inline-block}.loading-row{color:#6b7280;padding:20px}.loading-row,.text-center{text-align:center}.text-success{color:#059669}.text-warning{color:#d97706}.text-danger{color:#dc2626}.mb-4{margin-bottom:16px}.mt-4{margin-top:16px}.collections-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.collection-card{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:8px;box-shadow:0 4px 6px -1px #0000004d;color:#fff;padding:20px;transition:all .2s ease-in-out}.collection-card:hover{border-color:#ebb800;box-shadow:0 6px 12px -2px #0006;transform:translateY(-2px)}.collection-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.collection-id{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.125rem;font-weight:600}.collection-content>div{color:#ffffffe6;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;line-height:1.5;margin-bottom:8px}.collection-content strong{color:#fff;font-weight:600}.user-info{color:#ebb800}.address{color:#eb6200}.description{background:#ffffff1a;border:1px solid #fff3;color:#ffffffe6}.collection-actions{border-top:1px solid #fff3;display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:12px}.assign-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;padding:6px 12px;transition:background-color .2s}.assign-btn{background-color:#ebb800;color:#000;font-weight:600}.assign-btn:hover,.confirm-btn{background-color:#eb6200;color:#fff}.confirm-btn{font-weight:600}.confirm-btn:hover{background-color:#dc2626}.review-btn{background-color:#2a0061;border:1px solid #ebb800;color:#fff}.review-btn:hover{background-color:#7c3aed}.no-requests{color:#6b7280}.modal{border-radius:8px;box-shadow:0 20px 25px -5px #00000080}.close-btn{color:#ffffffb3}.close-btn:hover{color:#ebb800}.request-summary{background:#f9fafb;border-radius:6px;margin-bottom:20px;padding:16px}.request-summary h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px}.request-summary p{color:#6b7280;font-size:.875rem;margin:4px 0}.available-collectors h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 16px}.collectors-list{display:flex;flex-direction:column;gap:12px}.collector-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px}.collector-info{flex:1 1}.collector-name{color:#1f2937;font-size:.875rem;font-weight:500;margin-bottom:4px}.collector-status{color:#6b7280;font-size:.75rem}.assign-collector-btn{background-color:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:background-color .2s}.assign-collector-btn:hover:not(:disabled){background-color:#5a67d8}.assign-collector-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.no-collectors{color:#6b7280;font-style:italic;padding:20px;text-align:center}.review-modal{max-height:90vh;max-width:800px}.completion-photos{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin:20px 0;padding:16px}.completion-photos h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 16px}.photos-grid{grid-gap:16px;gap:16px}.photo-container{align-items:center;display:flex;flex-direction:column}.completion-photo{border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;height:150px;object-fit:cover;transition:border-color .2s;width:150px}.completion-photo:hover{border-color:#667eea}.photo-label{color:#6b7280;font-size:.75rem;margin-top:8px;text-align:center}.review-form .form-group{margin-bottom:16px}.review-form label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.review-form input,.review-form textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;padding:8px 12px;width:100%}.review-form input:focus,.review-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-help{color:#6b7280;font-size:.75rem;margin-top:4px}.recurring-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.btn-primary{background:#ebb800;border:none;border-radius:6px;color:#000;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:600;padding:12px 20px;transition:all .2s ease-in-out}.btn-primary:hover{background:#eb6200;color:#fff;transform:translateY(-1px)}.btn-secondary{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:500;padding:12px 20px;transition:all .2s ease-in-out}.btn-secondary:hover{background:#fff3;border-color:#ebb800;color:#ebb800}.recurring-sections{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:8px;color:#fff;padding:20px}.section h3{border-bottom:1px solid #fff3;color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.125rem;font-weight:600;margin:0 0 16px;padding-bottom:8px}.today-collections{display:flex;flex-direction:column;gap:12px}.collection-item{background:linear-gradient(135deg,#2a0061,#4a1d96);border-radius:6px;padding:16px;transition:all .2s ease-in-out}.collection-item:hover{box-shadow:0 4px 8px #0000004d}.collection-info{display:flex;flex-direction:column;gap:8px}.user-info{flex-direction:column;gap:4px}.user-info strong{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.875rem}.user-info .email{color:#ffffffb3;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.75rem}.collection-details{display:flex;flex-wrap:wrap;gap:12px}.collection-details span{background:#ffffff1a;border-radius:4px;color:#ebb800!important;font-size:.75rem;font-weight:500;padding:4px 8px}.status-info{margin-top:8px}.status-created{color:#22c55e!important}.status-created,.status-pending{font-size:.75rem;font-weight:500}.status-pending{color:#ef4444!important}.schedules-list{display:flex;flex-direction:column;gap:12px}.schedule-item{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:6px;color:#fff;padding:16px;transition:box-shadow .2s ease-in-out}.schedule-item:hover{box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}.schedule-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.schedule-header{align-items:center;display:flex;justify-content:space-between}.schedule-header strong{color:#ebb800!important;font-size:.875rem;font-weight:600}.status{border-radius:4px;font-size:.75rem;font-weight:500;padding:4px 8px}.status.active{background:#22c55e33;color:#22c55e!important}.status.inactive{background:#ef444433;color:#ef4444!important}.schedule-details{display:flex;flex-wrap:wrap;gap:12px}.schedule-details span{background:#ffffff1a;border-radius:4px;color:#ebb800!important;font-size:.75rem;font-weight:500;padding:4px 8px}.schedule-stats{display:flex;flex-wrap:wrap;gap:12px}.schedule-stats span{color:#fffc!important;font-size:.75rem;font-weight:500}.schedule-actions{display:flex;gap:8px}.btn-toggle{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:background-color .2s ease-in-out}.btn-toggle:hover{background:#d97706}.btn-delete{background:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:background-color .2s ease-in-out}.btn-delete:hover{background:#b91c1c}.no-data{color:#fff9!important;font-style:italic;padding:32px;text-align:center}.user-selector{position:relative}.user-selector input{border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;padding:8px 12px;width:100%}.selected-user{align-items:center;background:#f1f5f9;border-radius:4px;display:flex;gap:8px;margin-top:8px;padding:8px 12px}.selected-user span{color:#1a202c;font-size:.875rem}.selected-user button{align-items:center;background:#dc2626;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:20px;justify-content:center;width:20px}.form-row{grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr 1fr}.form-group{margin-bottom:16px}.form-group label{color:#1a202c;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;padding:8px 12px;transition:border-color .2s ease-in-out}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea}.cancel-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;color:#1a202c;transition:all .2s ease-in-out}.cancel-btn:hover{background:#e2e8f0}.submit-btn{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:8px 16px;transition:background-color .2s ease-in-out}.submit-btn:hover{background:#5a67d8}.days-checkboxes{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.day-checkbox{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;gap:6px;padding:8px 12px;transition:all .2s ease-in-out}.day-checkbox:hover{background:#f8fafc;border-color:#667eea}.day-checkbox input[type=checkbox]{accent-color:#667eea;height:16px;margin:0;width:16px}.day-checkbox input[type=checkbox]:checked+span{color:#667eea;font-weight:500}.day-checkbox.selected{background:#667eea;border-color:#667eea;color:#fff}.day-checkbox.selected span{color:#fff}@media (max-width:768px){.form-row,.recurring-sections{grid-template-columns:1fr}.days-checkboxes,.recurring-controls,.schedule-details,.schedule-stats{flex-direction:column}.day-checkbox{justify-content:flex-start;width:100%}}.collection-page{background:#21004d!important;background-color:#21004d!important;box-sizing:border-box;color:#fff;margin:0;min-height:100vh;padding:0;width:100vw}.collection-container{margin:0 auto;overflow-x:hidden;padding:var(--spacing-6)}.collection-container,.collection-header{box-sizing:border-box;max-width:1200px;width:100%}.collection-header{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000001a;color:#fff;margin-bottom:3rem;margin-left:auto;margin-right:auto;padding:2rem;text-align:center}.collection-header h1{color:#fff!important;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:2.5rem;font-weight:700;margin:0 0 1rem}.collection-header p{color:#ffffffe6;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1.1rem;line-height:1.6;margin:0}.collection-content{display:block;margin:0 auto;max-width:800px}.collection-form{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000001a;color:#fff;padding:2rem;width:100%}.form-section{border-bottom:1px solid #fff3;margin-bottom:2.5rem;padding-bottom:2rem}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{align-items:center;color:#fff;display:flex;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.3rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem}.address-display,.current-address{margin-bottom:1rem}.current-address{align-items:flex-start;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:12px;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.address-text{color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;line-height:1.6}.address-text strong{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.1rem}.zip-code{color:#fffc;font-size:.9rem}.add-address-button,.edit-address-button,.zip-code{font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.add-address-button,.edit-address-button{background:#ebb800;border:none;border-radius:6px;color:#000;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.add-address-button:hover,.edit-address-button:hover{background:#eb6200;color:#fff;transform:translateY(-1px)}.address-edit-form{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;margin-top:1rem;padding:1.5rem}.address-buttons{display:flex;gap:.5rem;margin-top:1rem}.save-address-button{background:#ebb800;border:none;border-radius:6px;color:#000;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:600;padding:.5rem 1rem}.save-address-button:hover{background:#eb6200;color:#fff}.cancel-address-button{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:600;padding:.5rem 1rem}.cancel-address-button:hover{background:#fff3}.no-address{background:#dc35451a;border:2px dashed #dc35454d;border-radius:12px;color:#ff6b6b;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;padding:2rem;text-align:center}.no-address p{font-weight:600;margin-bottom:1rem}.food-waste-info{margin-bottom:1.5rem}.waste-type-display{align-items:center;background:linear-gradient(135deg,#68d391,#38a169);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 15px #68d3914d;color:#fff;display:flex;gap:1rem;padding:1.5rem}.waste-icon{font-size:3rem}.waste-label{font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.3rem;font-weight:700;letter-spacing:.5px}.form-row{grid-gap:1.5rem;gap:1.5rem}.form-group label,.form-section label,label,label[for=collectionDate],label[for=collectionTime],label[for=specialInstructions]{color:#fff!important}.form-input,.form-select,.form-textarea{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1rem;padding:.75rem;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#fff9}.form-select option{background:#21004d;color:#fff}.form-textarea{font-family:inherit;min-height:100px;resize:vertical}.form-actions{align-items:center;flex-direction:column;gap:1rem;margin-top:2rem}.submit-message{border-radius:8px;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:600;padding:1rem;text-align:center;width:100%}.submit-message.success{background:#28a74533;border:1px solid #28a745;color:#28a745}.submit-message.error{background:#dc354533;border:1px solid #dc35454d;color:#ff6b6b}.submit-button{align-items:center;background:#ebb800;border:none;border-radius:8px;color:#000;cursor:pointer;display:flex;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:200px;padding:1rem 2rem;transition:all .3s ease}.submit-button:hover:not(:disabled){background:#eb6200;box-shadow:0 4px 15px #ebb8004d;color:#fff;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:20px;width:20px}@media (max-width:1024px){.collection-container{padding:var(--spacing-4)}.collection-header{margin-left:auto;margin-right:auto;max-width:100%;width:100%}.collection-content{max-width:100%;padding:0 var(--spacing-4)}.form-row{gap:var(--spacing-4);grid-template-columns:1fr}}@media (max-width:768px){.collection-page{padding:var(--spacing-4)}.collection-container{padding:var(--spacing-3)}.collection-header{margin-left:auto;margin-right:auto;max-width:100%;padding:var(--spacing-4);width:100%}.collection-header h1{font-size:1.75rem}.collection-form{padding:var(--spacing-4)}.form-row{gap:var(--spacing-3);grid-template-columns:1fr}.waste-type-grid{gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}.waste-type-card{padding:var(--spacing-3)}.waste-type-icon{font-size:1.5rem}.waste-type-label{font-size:.8rem}.submit-button{padding:var(--spacing-3) var(--spacing-4);width:100%}}@media (max-width:480px){.collection-page{padding:var(--spacing-3)}.collection-container{padding:var(--spacing-2)}.collection-header{margin-left:auto;margin-right:auto;max-width:100%;padding:var(--spacing-3);width:100%}.collection-header h1{font-size:1.5rem}.collection-form{padding:var(--spacing-3)}.waste-type-grid{grid-template-columns:1fr}.waste-type-card{padding:var(--spacing-2)}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:var(--spacing-2)}}.waste-type-card:focus-within{outline:2px solid #ebb800;outline-offset:2px}.form-input:invalid,.form-select:invalid,.form-textarea:invalid{border-color:#ff6b6b}.form-input:invalid:focus,.form-select:invalid:focus,.form-textarea:invalid:focus{box-shadow:0 0 0 3px #ff6b6b33}@media (prefers-contrast:high){.waste-type-card{border-width:3px}.waste-type-card.selected{background:#000;color:#fff}.form-input,.form-select,.form-textarea{border-width:3px}}@media (prefers-reduced-motion:reduce){.form-input,.form-select,.form-textarea,.submit-button,.waste-type-card{transition:none}.submit-button:hover,.waste-type-card:hover{transform:none}.loading-spinner{animation:none}}@media print{.collection-content{max-width:100%}.submit-button{display:none}}.history-page{box-sizing:border-box;color:#fff;margin:0;min-height:100vh;padding:0;width:100vw}.history-page,body.history-page,html.history-page{background:#21004d!important;background-color:#21004d!important}.history-container{margin:0 auto;max-width:1200px;padding:var(--spacing-6)}.history-header{align-items:flex-start;background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;display:flex;justify-content:space-between;margin-bottom:var(--spacing-6);padding:var(--spacing-6)}.header-content h1{color:#fff!important;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.875rem;font-weight:700;line-height:1.25;margin:0 0 var(--spacing-1) 0}.header-content p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1rem;line-height:1.5;margin:0}.header-actions{display:flex;gap:var(--spacing-3)}.export-button{align-items:center;background-color:#ebb800;border:none;border-radius:var(--radius);color:#000;cursor:pointer;display:inline-flex;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;font-weight:600;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:all .15s ease-in-out}.export-button:hover{background-color:#eb6200;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.history-controls{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;margin-bottom:var(--spacing-6);padding:var(--spacing-6)}.section-title{align-items:center;color:#fff!important;display:flex;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.125rem;font-weight:600;gap:var(--spacing-2);margin:0 0 var(--spacing-4) 0}.filters-container{display:flex;flex-direction:column;gap:var(--spacing-4);width:100%}.filters-row{grid-gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters-row,.search-row{align-items:end;display:grid;gap:var(--spacing-4);width:100%}.search-row{grid-gap:var(--spacing-4);grid-template-columns:1fr auto}.filter-group{min-width:0;width:100%}.filter-group label{font-size:.875rem;margin-bottom:var(--spacing-1);overflow:hidden;text-overflow:ellipsis}.filter-select,.search-input{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--radius);box-sizing:border-box;color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.875rem;min-width:0;padding:var(--spacing-2) var(--spacing-3);transition:all .15s ease-in-out;width:100%}.filter-select:focus,.search-input:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.search-group{width:100%}.filter-actions{align-items:end;display:flex;justify-content:flex-end;min-width:0}.reset-button{border:1px solid #ffffff4d;border-radius:var(--radius);box-sizing:border-box;font-size:.875rem;font-weight:500;min-width:fit-content;padding:var(--spacing-2) var(--spacing-4);transition:all .15s ease-in-out}.summary-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;margin-bottom:var(--spacing-6);padding:var(--spacing-6)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{align-items:center;background:#ffffff1a;border-radius:var(--radius);display:flex;gap:var(--spacing-4);padding:var(--spacing-5);transition:all .15s ease-in-out}.stat-card:hover{background:#fff3;border-color:#ebb800;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-card *{color:#fff!important}.stat-icon{align-items:center;background:#0000!important;border-radius:var(--radius);color:#ebb800!important;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.stat-content h3{color:#fffc!important;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin:0 0 var(--spacing-1) 0;text-transform:uppercase}.stat-number{color:#fff!important;font-size:1.5rem;margin:0}.stat-label{color:#fffc!important;font-size:.875rem;margin-top:var(--spacing-1)}.collections-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;padding:var(--spacing-6)}.history-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.collection-item{background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);color:#fff;padding:var(--spacing-4);transition:all .15s ease-in-out}.collection-item:hover{background:#fff3;border-color:#ebb800;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.collection-item *{color:#fff!important}.collection-item a,.collection-item button{color:#ebb800!important}.item-header{grid-gap:var(--spacing-4);align-items:center;border-bottom:1px solid #fff3;display:grid;gap:var(--spacing-4);grid-template-columns:auto 1fr auto auto;margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3)}.item-id{background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--radius-sm);font-size:.75rem;padding:var(--spacing-1) var(--spacing-2)}.item-date,.item-id{color:#fff!important;font-weight:600}.item-date,.item-time{font-size:.875rem}.item-time{color:#fffc!important}.collection-status{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-weight:500;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);text-align:center}.status-completed{background-color:#22c55e33;border:1px solid #22c55e4d;color:#22c55e!important}.status-pending{background-color:#eab30833;border:1px solid #eab3084d;color:#eab308!important}.status-in-progress{background-color:#3b82f633;border:1px solid #3b82f64d;color:#3b82f6!important}.status-cancelled{background-color:#ef444433;border:1px solid #ef44444d;color:#ef4444!important}.item-content{margin-bottom:var(--spacing-4)}.collection-address{color:#fff!important;font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-3)}.collection-metrics{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-3)}.collection-volume{background:#3b82f633;border:1px solid #3b82f64d;border-radius:var(--radius-sm);color:#3b82f6!important}.collection-cost,.collection-volume{font-size:.875rem;font-weight:500;padding:var(--spacing-1) var(--spacing-2)}.collection-cost{background:#22c55e33;border:1px solid #22c55e4d;border-radius:var(--radius-sm);color:#22c55e!important}.additional-notes{border-top:1px solid #fff3;padding-top:var(--spacing-3)}.note-item{font-size:.875rem;margin-bottom:var(--spacing-2)}.note-item:last-child{margin-bottom:0}.note-label{color:#fffc!important;font-weight:500}.note-text{color:#fff!important;margin-left:var(--spacing-1)}.item-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end}.action-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;justify-content:center;padding:var(--spacing-1) var(--spacing-3);text-decoration:none;transition:all .15s ease-in-out}.edit-btn{background:#3b82f633;border-color:#3b82f64d;color:#3b82f6!important}.edit-btn:hover{background:#3b82f64d;color:#3b82f6!important}.cancel-btn{background:#ef444433;border-color:#ef44444d;color:#ef4444!important}.cancel-btn:hover{background:#ef44444d;color:#ef4444!important}.receipt-btn{background:#22c55e33;border-color:#22c55e4d;color:#22c55e!important}.receipt-btn:hover{background:#22c55e4d;color:#22c55e!important;text-decoration:none}.empty-state{color:#fffc!important;padding:var(--spacing-8);text-align:center}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-4);opacity:.5}.empty-state h3{color:#fff!important;font-size:1.125rem;margin:0 0 var(--spacing-2) 0}.empty-state p{color:#fffc!important;margin:0 0 var(--spacing-4) 0}.reset-filters-button{background:#ebb800;border:none;border-radius:var(--radius);color:#000;cursor:pointer;font-weight:500;padding:var(--spacing-2) var(--spacing-4);transition:all .15s ease-in-out}.reset-filters-button:hover{background:#eb6200;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.loading-container{border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-8)}.error-container{border:1px solid #ef44444d;border-radius:var(--radius-lg);margin-bottom:var(--spacing-6);padding:var(--spacing-6)}.error-message{margin:0 0 var(--spacing-4) 0}.error-container button{border-radius:var(--radius);padding:var(--spacing-2) var(--spacing-4);transition:all .15s ease-in-out}@media (max-width:1024px){.history-container{padding:var(--spacing-4)}.filters-row{gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}.search-row{gap:var(--spacing-3);grid-template-columns:1fr}.filter-actions{justify-content:flex-start}}@media (max-width:768px){.history-container{padding:var(--spacing-4)}.history-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.header-content h1{font-size:1.75rem}.filters-row,.search-row{gap:var(--spacing-3);grid-template-columns:1fr}.filter-actions{justify-content:center}.stats-grid{gap:var(--spacing-3)}.item-header,.stats-grid{grid-template-columns:1fr}.item-header{gap:var(--spacing-2);text-align:center}.collection-metrics{flex-wrap:wrap}.collection-metrics,.item-actions{justify-content:center}.collection-item{padding:var(--spacing-3)}.collection-date{font-size:.9rem}.collection-status{font-size:.8rem}}@media (max-width:480px){.history-container,.history-header{padding:var(--spacing-3)}.header-content h1{font-size:1.5rem}.collection-item{padding:var(--spacing-3)}.collection-metrics{flex-direction:column;gap:var(--spacing-2)}.metric-item{text-align:center}.item-actions{flex-direction:column;gap:var(--spacing-2)}.action-btn{font-size:.9rem;padding:var(--spacing-2);width:100%}}.collection-item{animation:fadeInUp .3s ease-out}.action-btn:focus,.export-button:focus,.filter-select:focus,.reset-button:focus,.reset-filters-button:focus,.search-input:focus{outline:2px solid #ebb800;outline-offset:2px}@media (prefers-reduced-motion:reduce){.collection-item,.export-button:hover,.reset-filters-button:hover{animation:none;transform:none}}.billing-page{box-sizing:border-box;color:#fff;margin:0;min-height:100vh;padding:0;width:100vw}.billing-page,body.billing-page,html.billing-page{background:#21004d!important;background-color:#21004d!important}.billing-container{margin:0 auto;max-width:1200px;padding:var(--spacing-6)}.billing-header{color:#fff;margin-bottom:3rem;text-align:center}.billing-header h1{color:#fff!important;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.billing-header p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px;opacity:.9}.billing-controls{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:#fff;margin-bottom:2rem;padding:1.5rem}.controls-row{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr) auto}.filter-group{flex-direction:column}.filter-group label{color:#fff!important;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.filter-select{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.9rem;padding:.75rem;transition:border-color .2s}.filter-select:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.filter-select option{background:#21004d;color:#fff}.reset-button{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.reset-button:hover{background:#fff3;border-color:#ebb800;color:#ebb800}.summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.summary-card{box-shadow:0 4px 20px #0000004d;flex-direction:column;justify-content:space-between;min-height:140px;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{border-color:#ebb800;box-shadow:0 8px 30px #00000080}.summary-card *,.summary-card.total{color:#fff!important}.summary-card.total{background:linear-gradient(135deg,#667eea,#764ba2)}.summary-card.completed{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff!important}.summary-card.pending{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff!important}.summary-card.overdue{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff!important}.summary-icon{color:#ebb800!important;font-size:2rem;margin-bottom:.5rem}.summary-label{color:#fffc!important;flex-grow:1;font-size:.9rem;font-weight:600;margin-bottom:.5rem;opacity:.9}.summary-amount{color:#fff!important;font-size:1.8rem;font-weight:700;margin-top:auto}.billing-records{display:flex;flex-direction:column;gap:1.5rem}.billing-record{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}.billing-record:hover{border-color:#ebb800;box-shadow:0 8px 30px #00000080;transform:translateY(-2px)}.billing-record *{color:#fff!important}.record-header{align-items:flex-start;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:1.5rem}.record-info{flex:1 1}.record-id{color:#fff!important;font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.record-date{color:#fffc!important;font-size:.9rem}.status-badge{font-size:.8rem;letter-spacing:.5px;padding:.5rem 1rem}.status-badge.paid{background:#22c55e33;border:1px solid #22c55e4d;color:#22c55e!important}.status-badge.pending{background:#eab30833;border:1px solid #eab3084d;color:#eab308!important}.status-badge.overdue{background:#ef444433;border:1px solid #ef44444d;color:#ef4444!important}.status-badge.cancelled{background:#9ca3af33;border:1px solid #9ca3af4d;color:#9ca3af!important}.record-content{padding:1.5rem}.service-description{align-items:center;color:#fff!important;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;margin-bottom:1rem}.service-icon{color:#ebb800!important;font-size:1.5rem}.service-address{align-items:center;border-left:3px solid #ebb800;color:#fffc!important;display:flex;font-size:.95rem;gap:.5rem;margin-bottom:1.5rem;padding:.75rem}.billing-breakdown,.service-address{background:#ffffff1a;border-radius:8px}.billing-breakdown{margin-top:1rem;padding:1rem}.breakdown-row{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:.5rem 0}.breakdown-row:last-child{border-bottom:none;color:#fff!important;font-size:1.1rem;font-weight:700}.breakdown-label{color:#fffc!important;font-weight:500}.breakdown-amount{color:#fff!important;font-weight:600}.payment-details{background:#ffffff1a;border-radius:8px;color:#fffc!important;font-size:.9rem;margin-top:1rem;padding:1rem}.record-actions{border-top:1px solid #fff3;display:flex;justify-content:flex-end;padding:1.5rem}.receipt-button{align-items:center;background:#ebb800;border:none;border-radius:8px;color:#000!important;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.receipt-button:hover{background:#eb6200;box-shadow:0 4px 12px #ebb8004d;color:#fff!important;transform:translateY(-1px)}.loading-container{background:#ffffff1a;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:#fff;padding:4rem}.loading-spinner{border:4px solid #fff3}.error-container{align-items:center;background:#ef44441a;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:4rem;text-align:center}.error-message{color:#ef4444!important;font-size:1.1rem;font-weight:600;margin-bottom:1.5rem}.error-container button{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background .2s}.error-container button:hover{background:#dc2626}.no-records{background:#ffffff1a;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:#fffc!important;font-size:1.1rem;padding:4rem;text-align:center}@media (max-width:1024px){.billing-container{padding:var(--spacing-4)}.controls-row{gap:var(--spacing-3)}.controls-row,.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.billing-container{padding:var(--spacing-4)}.billing-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.billing-header h1{font-size:1.75rem}.controls-row,.summary-grid{gap:var(--spacing-3);grid-template-columns:1fr}.record-header{flex-direction:column;gap:var(--spacing-2);text-align:center}.record-actions{justify-content:center}}@media (max-width:480px){.billing-container{padding:var(--spacing-3)}.billing-header h1{font-size:1.5rem}.summary-grid{grid-template-columns:1fr}.billing-breakdown{padding:.75rem}.breakdown-row{flex-direction:column;gap:.25rem;text-align:center}}.analysis-page{background:#21004d!important;box-sizing:border-box;color:#fff;margin:0;padding:0;width:100vw}.analysis-container{margin:0 auto;max-width:1200px;padding:var(--spacing-6)}.analysis-header{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;margin-bottom:2rem;padding:2rem;text-align:center}.analysis-header h1{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:2.2rem;font-weight:700;margin:0 0 1rem}.analysis-header p{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1.1rem;line-height:1.6;margin:0}.error-icon{color:#fff;font-size:4rem;margin-bottom:1rem;opacity:.5}.analysis-controls{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;padding:2rem}.control-group{display:flex;flex-direction:column;min-width:150px}.control-group label{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.chart-select,.period-select{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1rem;padding:.75rem;transition:all .3s ease}.chart-select:focus,.period-select:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.analysis-summary{margin-bottom:2rem}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-card{align-items:center;background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;display:flex;gap:1.5rem;padding:2rem;transition:all .3s ease}.summary-card:hover{box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}.summary-card.environmental{background:linear-gradient(135deg,#2a0061,#4a1d96);border-left:4px solid #ebb800}.card-icon{align-items:center;background:#ffffff1a;border-radius:50%;color:#ebb800;display:flex;flex-shrink:0;font-size:3rem;height:80px;justify-content:center;width:80px}.card-content{flex:1 1}.card-content h3{color:#fff;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.card-value{color:#fff;font-size:2.2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.card-trend{color:#fffc;font-size:.85rem}.chart-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;margin-bottom:2rem;padding:2rem}.chart-header{align-items:center;border-bottom:2px solid #fff3;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.chart-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.chart-legend{display:flex;gap:1rem}.legend-item{align-items:center;color:#fffc;display:flex;font-size:.9rem;gap:.5rem}.legend-color{border-radius:4px;height:16px;width:16px}.legend-color.primary{background:linear-gradient(135deg,#ebb800,#d69e2e)}.chart-container{border-radius:8px;height:300px;position:relative}.chart-bars{align-items:end;display:flex;height:100%;justify-content:space-around;padding:2rem 0}.bar-group{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:80px}.chart-bar{align-items:end;background:linear-gradient(135deg,#ebb800,#d69e2e);border-radius:4px 4px 0 0;cursor:pointer;display:flex;justify-content:center;min-height:10px;padding-bottom:.5rem;position:relative;transition:all .3s ease;width:100%}.chart-bar:hover{background:linear-gradient(135deg,#d69e2e,#b7791f);transform:scale(1.05)}.bar-value{font-size:.7rem;text-shadow:0 1px 2px #0000004d}.bar-label,.bar-value{color:#fff;font-weight:600}.bar-label{font-size:.8rem;margin-top:.5rem;text-align:center}.trends-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;margin-bottom:2rem;padding:2rem}.trends-section h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 2rem;text-align:center}.weekly-trends{display:flex;flex-direction:column;gap:1rem}.weekly-item{align-items:center;background:#ffffff1a;border-left:4px solid #ebb800;border-radius:8px;color:#fff;display:flex;gap:1rem;padding:1rem}.week-label{color:#fff;font-size:.9rem;font-weight:600;min-width:80px}.week-bar-container{align-items:center;background:#fff3;border-radius:4px;display:flex;flex:1 1;gap:1rem;height:24px;position:relative}.week-bar{background:linear-gradient(90deg,#ebb800,#d69e2e);border-radius:4px;height:100%;transition:all .6s ease}.week-value{color:#fff;font-size:.8rem;font-weight:600;position:absolute;right:8px}.cost-analysis{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;margin-bottom:2rem;padding:2rem}.cost-analysis h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 2rem;text-align:center}.cost-breakdown{display:flex;flex-direction:column;gap:1rem}.cost-item{align-items:center;background:#ffffff1a;border-radius:8px;color:#fff;display:flex;gap:1rem;padding:1rem}.cost-label{color:#fff;font-size:.9rem;font-weight:600;min-width:100px}.cost-bar-container{align-items:center;background:#fff3;border-radius:4px;display:flex;flex:1 1;gap:1rem;height:24px;position:relative}.cost-bar{border-radius:4px;height:100%;transition:all .6s ease}.cost-bar.base{background:linear-gradient(90deg,#ebb800,#d69e2e)}.cost-bar.additional{background:linear-gradient(90deg,#d69e2e,#b7791f)}.cost-bar.discount{background:linear-gradient(90deg,#38a169,#2f855a)}.cost-value{color:#fff;font-size:.8rem;font-weight:600;position:absolute;right:8px}.environmental-impact{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;margin-bottom:2rem;padding:2rem}.environmental-impact h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 2rem;text-align:center}.impact-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.impact-card{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;color:#fff;padding:2rem;text-align:center;transition:all .3s ease}.impact-card:hover{box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}.impact-icon{color:#ebb800;font-size:3rem;margin-bottom:1rem}.impact-card h3{color:#fff;font-size:1.2rem;font-weight:700;margin:0 0 1rem}.impact-value{color:#fff;font-size:2rem;font-weight:700;line-height:1;margin-bottom:1rem}.impact-card p{color:#fffc;font-size:.9rem;line-height:1.5;margin:0}.recommendations{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;padding:2rem}.recommendations h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 2rem;text-align:center}.recommendation-list{display:flex;flex-direction:column;gap:1.5rem}.recommendation-item{background:#ffffff1a;border-left:4px solid #ebb800;border-radius:12px;color:#fff;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.recommendation-item:hover{box-shadow:0 4px 15px #0000004d;transform:translateX(4px)}.rec-icon{align-items:center;background:#ffffff1a;border-radius:50%;box-shadow:0 2px 10px #0000004d;color:#ebb800;display:flex;flex-shrink:0;font-size:2rem;height:60px;justify-content:center;width:60px}.rec-content{flex:1 1}.rec-content h4{color:#fff;font-size:1.1rem;font-weight:700;margin:0 0 .5rem}.rec-content p{color:#fffc;line-height:1.5;margin:0}.analysis-page *{color:#fff!important}.chart-select,.chart-select option,.period-select,.period-select option{background:#fff!important;color:#000!important}@media (max-width:1024px){.analysis-container{padding:var(--spacing-4)}.analysis-controls{flex-direction:column;gap:var(--spacing-3)}.control-group{min-width:auto}.summary-grid{gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.analysis-container,.analysis-header{padding:var(--spacing-4)}.analysis-header h1{font-size:1.75rem}.analysis-controls{flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4)}.control-group{min-width:auto}.chart-select,.period-select{font-size:.9rem;padding:var(--spacing-2)}.summary-grid{gap:var(--spacing-3);grid-template-columns:1fr}.summary-card{padding:var(--spacing-4)}.summary-amount,.summary-icon{font-size:1.5rem}.monthly-analysis{gap:var(--spacing-3)}.monthly-item{padding:var(--spacing-3)}.monthly-header{flex-direction:column;gap:var(--spacing-2);text-align:center}.monthly-metrics{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.analysis-container,.analysis-header{padding:var(--spacing-3)}.analysis-header h1{font-size:1.5rem}.analysis-controls,.summary-card{padding:var(--spacing-3)}.summary-amount,.summary-icon{font-size:1.25rem}.monthly-item{padding:var(--spacing-3)}.monthly-metrics{flex-direction:column;gap:var(--spacing-2)}.metric-item{text-align:center}}.chart-select:focus,.period-select:focus{outline:2px solid #ebb800;outline-offset:2px}.chart-bar,.cost-item,.impact-card,.recommendation-item,.summary-card,.weekly-item{animation:fadeInUp .6s ease-out}@media print{.analysis-controls{display:none}.analysis-page{background:#fff}.chart-section,.cost-analysis,.environmental-impact,.recommendations,.trends-section{break-inside:avoid;margin-bottom:1rem;page-break-inside:avoid}}@media (prefers-reduced-motion:reduce){.chart-bar,.cost-bar,.cost-item,.impact-card,.recommendation-item,.summary-card,.week-bar,.weekly-item{animation:none;transform:none;transition:none}}.custom-tooltip{background:#2a0061f2;border:1px solid #fff3;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:.9rem;padding:12px}.tooltip-label{color:#fff;font-weight:600;margin-bottom:8px}.tooltip-volume{color:#ebb800;margin:4px 0}.tooltip-collections{color:#38a169;margin:4px 0}.tooltip-cost{color:#f59e0b;margin:4px 0}.chart-container{background:#ffffff0d;border-radius:12px;box-shadow:0 2px 8px #0000004d;padding:20px}.analysis-controls .control-group{margin-right:20px}.metric-select{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem;transition:all .3s ease}.metric-select:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.period-stats-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;margin:2rem 0;padding:2rem}.stats-header{margin-bottom:2rem;text-align:center}.stats-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.stats-header p{color:#fffc;font-size:1rem;margin:0}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;color:#fff;overflow:hidden;position:relative;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.stat-card.best{border-left-color:#38a169}.stat-card.best,.stat-card.worst{background:linear-gradient(135deg,#2a0061,#4a1d96)}.stat-card.worst{border-left-color:#ed8936}.stat-card.growth-positive{background:linear-gradient(135deg,#2a0061,#4a1d96);border-left-color:#3182ce}.stat-card.growth-negative{background:linear-gradient(135deg,#2a0061,#4a1d96);border-left-color:#e53e3e}.stat-icon{color:#ebb800;display:block;font-size:2.5rem;margin-bottom:1rem}.stat-content h3{color:#fff;font-size:1rem;font-weight:600;margin:0 0 .5rem}.stat-value{color:#fff;font-size:2rem;line-height:1;margin-bottom:.5rem}.stat-description{color:#fffc;font-size:.9rem;margin:0}.period-table{margin-top:2rem}.period-table h3{color:#fff;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.table-container{border-radius:8px;box-shadow:0 1px 3px #0000004d;overflow-x:auto}.stats-table{border-collapse:collapse;font-size:.9rem;width:100%}.stats-table,.stats-table th{background:#ffffff1a;color:#fff}.stats-table th{border-bottom:2px solid #fff3;font-weight:600;padding:1rem;text-align:left}.stats-table td{border-bottom:1px solid #fff3;color:#fff;padding:.875rem 1rem}.stats-table tbody tr:hover{background:#ffffff1a}.stats-table .volume-cell{color:#ebb800;font-weight:600}.stats-table .collections-cell{color:#38a169}.stats-table .cost-cell{color:#f59e0b;font-weight:600}.stats-table .average-cell{color:#6b46c1;font-size:.85rem}.stats-table .highlight-best{background:#38a16933!important;border-left:3px solid #38a169}.stats-table .highlight-worst{background:#ed893633!important;border-left:3px solid #ed8936}@media (max-width:768px){.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.table-container{font-size:.8rem}.stats-table td,.stats-table th{padding:.75rem .5rem}}.profile-page{background:#21004d!important;box-sizing:border-box;color:#fff;margin:0;padding:0;width:100vw}.profile-container{margin:0 auto;max-width:1200px;padding:var(--spacing-6)}.error-container,.loading-container{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;padding:4rem}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#ebb800;height:40px;width:40px}.error-container h3{color:#fff;font-size:1.3rem;margin:0 0 1rem}.error-container p{color:#fffc;margin:0}.profile-header{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;justify-content:space-between;margin-bottom:2rem;padding:2rem}.profile-header,.profile-info{align-items:center;display:flex}.profile-info{gap:1.5rem}.profile-avatar{align-items:center;background:linear-gradient(135deg,#ebb800,#d69e2e);border-radius:50%;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.avatar-text,.profile-details h1{color:#fff;font-size:2rem;font-weight:700}.profile-details h1{font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;margin:0 0 .5rem}.profile-email{color:#fffc;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:1.1rem;margin:0 0 1rem}.subscription-badge .badge{border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.badge.basic{background:#38a16933;border:1px solid #38a169;color:#38a169}.badge.premium{background:#ed893633;border:1px solid #ed8936;color:#ed8936}.badge.enterprise{background:#667eea33;border:1px solid #667eea;color:#667eea}.profile-actions{display:flex;gap:.5rem}.cancel-btn,.edit-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.edit-btn{background:#ebb800;color:#000}.edit-btn:hover{background:#d69e2e;transform:translateY(-1px)}.save-btn{background:#38a169;color:#fff}.save-btn:hover:not(:disabled){background:#2f855a;transform:translateY(-1px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.edit-actions{display:flex;gap:.5rem}.save-message{border-radius:8px;font-weight:600;margin-bottom:2rem;padding:1rem 1.5rem;text-align:center}.save-message.success{background:#38a16933;border:1px solid #38a169;color:#38a169}.profile-tabs{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;display:flex;gap:.25rem;margin-bottom:2rem;overflow-x:auto;padding:.5rem}.tab-btn{background:#0000;border:none;border-radius:8px;color:#fffc;cursor:pointer;flex-shrink:0;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:.9rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:#ebb800;color:#000}.profile-content{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 10px #0000004d;color:#fff;overflow:hidden}.tab-content{color:#fff;padding:2rem}.tab-content h2{border-bottom:2px solid #fff3;color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:1.5rem;font-weight:700;margin:0 0 2rem;padding-bottom:1rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{display:flex;flex-direction:column}.form-group label{font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:.9rem;font-weight:600}.form-input,.form-select{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem;transition:all .3s ease}.form-input:focus,.form-select:focus{border-color:#ebb800;box-shadow:0 0 0 3px #ebb80033;outline:none}.form-input:disabled,.form-select:disabled{background:#ffffff0d;color:#ffffff80;cursor:not-allowed}.address-section{display:flex;flex-direction:column;gap:1.5rem}.address-search-btn{align-self:flex-start;background:#ebb800;border:none;border-radius:8px;color:#000;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.address-search-btn:hover{background:#d69e2e;transform:translateY(-1px)}.notifications-section{display:flex;flex-direction:column;gap:2rem}.notification-group h3{color:#fff;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.notification-options{display:flex;flex-direction:column;gap:1rem}.checkbox-label{align-items:center;background:#ffffff1a;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:1rem;padding:1rem;position:relative;transition:all .3s ease}.checkbox-label:hover{background:#fff3}.checkbox-label input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.checkmark{background-color:#fff3;border-radius:4px;flex-shrink:0;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-label input[type=checkbox]:checked~.checkmark{background-color:#ebb800}.checkmark:after{border:solid #fff;border-width:0 3px 3px 0;content:"";display:none;height:10px;left:7px;position:absolute;top:3px;transform:rotate(45deg);width:5px}.checkbox-label input[type=checkbox]:checked~.checkmark:after{display:block}.checkbox-label input[type=checkbox]:disabled~.checkmark{background-color:#ffffff1a;cursor:not-allowed}.preferences-section{display:flex;flex-direction:column;gap:2rem}.preference-options{display:flex;flex-direction:column;gap:1rem}.subscription-section{display:flex;flex-direction:column;gap:2rem}.current-plan{align-items:center;background:#ffffff1a;border-left:4px solid #ebb800;border-radius:12px;color:#fff;display:flex;justify-content:space-between;padding:2rem}.plan-info h3{color:#fff;font-size:1.3rem;font-weight:700;margin:0 0 1rem}.plan-details{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.plan-badge{border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.plan-badge.basic{background:#38a16933;border:1px solid #38a169;color:#38a169}.plan-badge.premium{background:#ed893633;border:1px solid #ed8936;color:#ed8936}.plan-badge.enterprise{background:#667eea33;border:1px solid #667eea;color:#667eea}.status-badge{border-radius:15px;font-size:.7rem;font-weight:600;padding:.25rem .75rem}.status-badge.active{background:#38a16933;border:1px solid #38a169;color:#38a169}.status-badge.inactive{background:#ed893633;border:1px solid #ed8936;color:#ed8936}.upgrade-btn{background:#ebb800;border:none;border-radius:8px;color:#000;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.upgrade-btn:hover{box-shadow:0 4px 15px #ebb8004d;transform:translateY(-1px)}.plan-comparison h3{color:#fff;font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.plans-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.plan-card{background:linear-gradient(135deg,#2a0061,#4a1d96);border:2px solid #fff3;border-radius:12px;color:#fff;padding:2rem;transition:all .3s ease}.plan-card:hover{box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}.plan-card.basic{border-color:#38a169}.plan-card.premium{border-color:#ed8936;position:relative}.plan-card.premium:before{background:#e53e3e;border-radius:10px;color:#fff;content:"인기";font-size:.7rem;font-weight:700;padding:.25rem .75rem;position:absolute;right:20px;top:-10px}.plan-card.enterprise{border-color:#667eea}.plan-card h4{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.plan-price{color:#ebb800;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.plan-features{list-style:none;margin:0;padding:0}.plan-features li{color:#fffc;padding:.5rem 0 .5rem 1.5rem;position:relative}.plan-features li:before{color:#ebb800;content:"✓";font-weight:700;left:0;position:absolute}.security-section{display:flex;flex-direction:column;gap:1.5rem}.security-item{align-items:center;background:#ffffff1a;border-left:4px solid #ebb800;border-radius:12px;color:#fff;display:flex;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.security-item:hover{background:#fff3}.security-item.danger{background:#e53e3e1a;border-left-color:#e53e3e}.security-info h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.security-info p{color:#fffc;font-size:.9rem;margin:0}.security-btn{background:#ebb800;border:none;border-radius:8px;color:#000;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.security-btn:hover{background:#d69e2e;transform:translateY(-1px)}.security-btn.danger{background:#e53e3e;color:#fff}.security-btn.danger:hover{background:#c53030}.profile-page *{color:#fff!important}.form-input,.form-input option,.form-select,.form-select option{background:#fff!important;color:#000!important}@media (max-width:1024px){.profile-container{padding:var(--spacing-4)}.profile-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.profile-actions{justify-content:center}}@media (max-width:768px){.profile-container,.profile-header{padding:var(--spacing-4)}.profile-header{flex-direction:column;gap:var(--spacing-4);text-align:center}.profile-info{flex-direction:column;gap:var(--spacing-3)}.profile-avatar{height:60px;width:60px}.avatar-text{font-size:1.5rem}.profile-details h1{font-size:1.75rem}.profile-actions{flex-wrap:wrap;justify-content:center}.cancel-btn,.edit-btn,.save-btn{font-size:.9rem;padding:var(--spacing-2) var(--spacing-3)}.profile-sections{gap:var(--spacing-3)}.profile-section{padding:var(--spacing-4)}.profile-section h2{font-size:1.25rem}.form-row{gap:var(--spacing-3);grid-template-columns:1fr}.danger-zone{padding:var(--spacing-4)}.danger-zone h3{font-size:1.25rem}}@media (max-width:480px){.profile-container,.profile-header{padding:var(--spacing-3)}.profile-details h1{font-size:1.5rem}.profile-avatar{height:50px;width:50px}.avatar-text{font-size:1.25rem}.profile-section{padding:var(--spacing-3)}.profile-section h2{font-size:1.125rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:var(--spacing-2)}.danger-zone{padding:var(--spacing-3)}.danger-zone h3{font-size:1.125rem}}.address-search-btn:focus,.cancel-btn:focus,.checkbox-label:focus-within,.edit-btn:focus,.form-input:focus,.form-select:focus,.save-btn:focus,.security-btn:focus,.tab-btn:focus,.upgrade-btn:focus{outline:2px solid #ebb800;outline-offset:2px}.tab-content{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media print{.profile-actions,.profile-tabs,.security-section{display:none}.profile-page{background:#fff}.tab-content{break-inside:avoid;page-break-inside:avoid}}@media (prefers-reduced-motion:reduce){.cancel-btn:hover,.edit-btn:hover,.plan-card:hover,.save-btn:hover,.security-btn:hover,.tab-content,.upgrade-btn:hover{animation:none;transform:none}}.collector-dashboard{background-color:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.collector-dashboard.error,.collector-dashboard.loading{align-items:center;color:#666;display:flex;font-size:18px;height:50vh;justify-content:center}.collector-dashboard.error{color:#dc3545}.dashboard-header{border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.dashboard-header h1{color:#2c3e50;font-size:28px;margin:0 0 16px}.collector-info h2{color:#34495e;font-size:20px;margin:0 0 12px}.status-info{align-items:center;display:flex;gap:12px}.status-badge{border-radius:20px;font-size:14px;font-weight:500;padding:6px 12px;text-transform:uppercase}.status-badge.active{background-color:#28a745;color:#fff}.status-badge.inactive{background-color:#6c757d;color:#fff}.status-badge.on_duty{background-color:#007bff;color:#fff}.status-badge.off_duty{background-color:#ffc107;color:#212529}.status-badge.unavailable{background-color:#dc3545;color:#fff}.status-badge.pending{background-color:#ffc107;color:#212529}.status-badge.confirmed{background-color:#17a2b8;color:#fff}.status-badge.in_progress{background-color:#007bff;color:#fff}.status-badge.completed{background-color:#28a745;color:#fff}.status-badge.cancelled{background-color:#dc3545;color:#fff}.availability.available{color:#28a745;font-weight:500}.availability.unavailable{color:#dc3545;font-weight:500}.dashboard-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.stat-card{border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;text-align:center}.stat-card h3{color:#6c757d;font-size:14px;letter-spacing:.5px;margin:0 0 12px}.stat-value{color:#2c3e50;font-size:36px;margin-bottom:4px}.stat-label{color:#6c757d;font-size:14px}.dashboard-actions{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.location-controls,.status-controls{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.location-controls h3,.status-controls h3{color:#2c3e50;font-size:18px;margin:0 0 16px}.status-buttons{display:flex;flex-wrap:wrap;gap:12px}.status-buttons button{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s ease}.status-buttons button:hover{border-color:#007bff;color:#007bff}.status-buttons button.active{background:#007bff;border-color:#007bff;color:#fff}.status-buttons button:disabled{cursor:not-allowed;opacity:.6}.location-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 20px;transition:background-color .2s ease}.location-btn:hover{background:#218838}.last-update{color:#6c757d;font-size:14px;margin-top:12px}.assigned-requests{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.assigned-requests h3{color:#2c3e50;font-size:20px;margin:0 0 20px}.no-requests{color:#6c757d;padding:40px 0}.requests-list{grid-gap:16px;display:grid;gap:16px}.request-card{background:#f8f9fa;border:1px solid #e9ecef}.request-id{color:#495057}.request-details{margin-bottom:16px}.request-details>div{color:#495057;margin-bottom:8px}.address{color:#2c3e50}.description{color:#6c757d}.date,.instructions,.weight{font-size:14px}.request-actions{gap:12px}.complete-btn,.start-btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.start-btn{background:#007bff}.start-btn:hover{background:#0056b3}.complete-btn{background:#28a745}.complete-btn:hover{background:#1e7e34}.collector-profile{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.collector-profile h3{color:#2c3e50;font-size:20px;margin:0 0 20px}.profile-info{grid-gap:12px;display:grid;gap:12px}.info-row{align-items:center;border-bottom:1px solid #e9ecef;padding:8px 0}.label{color:#6c757d}.value{color:#2c3e50;font-weight:500}.error-message{background:#f8d7da;border:1px solid #f5c6cb}@media (max-width:768px){.collector-dashboard{padding:12px}.dashboard-actions,.dashboard-stats{grid-template-columns:1fr}.status-buttons{flex-direction:column}.status-buttons button{width:100%}.request-actions{flex-direction:column}.complete-btn,.start-btn{width:100%}.info-row{align-items:flex-start;flex-direction:column;gap:4px}}.view-all-tasks{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px;text-align:center}.view-all-btn{background-color:#667eea;border-radius:6px;color:#fff;display:inline-block;font-size:.875rem;font-weight:500;padding:8px 16px;text-decoration:none;transition:background-color .2s}.view-all-btn:hover{background-color:#5a67d8}.collection-request-page{color:#fff;margin:0;min-height:100vh;padding:0;width:100vw}#root,.app,.collection-request-page,.main-content,body,body.collection-request-page,html,html.collection-request-page,main{background:#21004d!important;background-color:#21004d!important;box-sizing:border-box}.collection-request-page.loading{align-items:center;color:#fffc;display:flex;font-size:18px;height:50vh;justify-content:center}.collection-request-container{margin:0 auto;overflow-x:hidden}.collection-request-container,.page-header{box-sizing:border-box;max-width:1200px;padding:var(--spacing-6);width:100%}.page-header{align-items:center;background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;margin-bottom:24px;margin-left:auto;margin-right:auto}.page-header h1{color:#fff!important;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:28px}.create-btn{background:#ebb800;border:none;border-radius:8px;color:#000;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:600;padding:12px 24px;transition:all .2s ease}.create-btn:hover{background:#eb6200;color:#fff;transform:translateY(-1px)}.error-message{background:#dc35451a;border:1px solid #dc35454d;color:#ff6b6b;margin-bottom:20px}.close-error{align-items:center;color:#ff6b6b;display:flex;font-size:18px;height:20px;justify-content:center;width:20px}.modal-overlay{background:#00000080;padding:20px}.modal{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;box-shadow:0 10px 25px #00000080;color:#fff;width:100%}.modal-header{border-bottom:1px solid #fff3}.modal-header h2{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:20px}.close-btn{align-items:center;color:#fffc;display:flex;font-size:24px;height:30px;justify-content:center;width:30px}.close-btn:hover{color:#fff}.create-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:6px}.form-group input,.form-group label,.form-group select,.form-group textarea{color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.form-group input,.form-group select,.form-group textarea{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ebb800;box-shadow:0 0 0 2px #ebb80033;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff9}.form-group select option{background:#21004d;color:#fff}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-group{margin-bottom:20px}.checkbox-group label{align-items:center;color:#fff;cursor:pointer;display:flex;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:500;gap:8px}.checkbox-group input[type=checkbox]{margin:0;width:auto}.form-actions{border-top:1px solid #fff3;padding-top:16px}.cancel-btn,.submit-btn{border:none;border-radius:6px;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.cancel-btn{background:#ffffff1a;border:1px solid #ffffff4d;color:#fff}.cancel-btn:hover{background:#fff3}.submit-btn{background:#ebb800;color:#000}.submit-btn:hover{background:#eb6200;color:#fff}.filters{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;box-shadow:0 2px 4px #0000001a;color:#fff;flex-wrap:wrap;gap:24px;padding:20px}.filter-group label,.filter-group select{color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.filter-group select{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;min-width:120px;padding:6px 12px}.filter-group select option{background:#21004d;color:#fff}.requests-section{background:linear-gradient(135deg,#2a0061,#4a1d96);border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;overflow:hidden}.requests-header{border-bottom:1px solid #fff3;padding:20px 24px}.requests-header h2{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:18px;margin:0}.no-requests{color:#ffffffb3;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-style:italic;padding:40px;text-align:center}.requests-grid{grid-gap:16px;display:grid;gap:16px;padding:20px}.request-card{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;padding:20px;transition:box-shadow .2s ease}.request-card:hover{border-color:#ebb800;box-shadow:0 2px 8px #0000004d;transform:translateY(-1px)}.request-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.request-id{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-size:16px;font-weight:600}.status-badge,.urgency-badge{border-radius:20px;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:12px;padding:4px 12px}.status-badge.pending{background-color:#ffc10733;border:1px solid #ffc107;color:#ffc107}.status-badge.confirmed{background-color:#17a2b833;border:1px solid #17a2b8;color:#17a2b8}.status-badge.in_progress{background-color:#007bff33;border:1px solid #007bff;color:#007bff}.status-badge.completed{background-color:#28a74533;border:1px solid #28a745;color:#28a745}.status-badge.cancelled{background-color:#dc354533;border:1px solid #dc3545;color:#dc3545}.urgency-badge.low{background-color:#ffffff1a;border:1px solid #ffffff4d;color:#fffc}.urgency-badge.medium{background-color:#ffc10733;border:1px solid #ffc107;color:#ffc107}.urgency-badge.high{background-color:#dc354533;border:1px solid #dc3545;color:#dc3545}.urgency-badge.urgent{background-color:#dc35454d;border:1px solid #dc3545;color:#fff}.request-content{margin-bottom:16px}.request-content>div{color:#fff;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;margin-bottom:8px}.address{color:#fff;font-family:HGAlmond\ 80g,HGAlmond\ 80g Placeholder,sans-serif;font-weight:500}.description{color:#fffc;font-style:italic}.collection-date,.created-date,.description{font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif}.collection-date,.created-date{color:#ffffffb3;font-size:14px}.request-actions{display:flex;gap:8px}.cancel-btn-small{background:#dc354533;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;font-size:12px;padding:6px 12px;transition:background-color .2s ease}.cancel-btn-small:hover{background:#dc35454d}.pagination{border-top:1px solid #fff3;display:flex;gap:8px;justify-content:center;padding:20px}.page-btn{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-family:Pretendard Regular,Pretendard Regular Placeholder,sans-serif;min-width:40px;padding:8px 12px;transition:all .2s ease}.page-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff80}.page-btn.active{background:#ebb800;border-color:#ebb800;color:#000}.page-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.collection-request-container{padding:var(--spacing-4)}.page-header{margin-left:auto;margin-right:auto;max-width:100%;width:100%}}@media (max-width:768px){.collection-request-page{padding:12px}.collection-request-container{padding:var(--spacing-3)}.page-header{align-items:stretch;flex-direction:column;gap:16px;margin-left:auto;margin-right:auto;max-width:100%;width:100%}.modal{margin:10px;max-height:calc(100vh - 20px)}.form-row{grid-template-columns:1fr}.filters{flex-direction:column;gap:16px}.filter-group{align-items:stretch;flex-direction:column}.filter-group select{min-width:auto}.request-header{align-items:stretch;flex-direction:column;gap:12px}.pagination{flex-wrap:wrap}}@media (max-width:480px){.collection-request-container,.collection-request-page{padding:var(--spacing-2)}.page-header{margin-left:auto;margin-right:auto;max-width:100%;padding:var(--spacing-3);width:100%}.page-header h1{font-size:24px}}.collector-tasks-page{margin:0 auto;max-width:1200px;padding:24px}.page-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:16px}.page-header h1{color:#1a202c;font-size:2rem;font-weight:700;margin:0}.stats-summary{display:flex;gap:24px}.stat-item{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-direction:column;min-width:80px;padding:12px 16px}.stat-label{font-size:.75rem;margin-bottom:4px;opacity:.9}.stat-value{font-size:1.25rem;font-weight:700}.error-message{align-items:center;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.close-error{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.5rem;margin-left:16px;padding:0}.filters{background:#f8fafc;border-radius:8px;gap:16px;margin-bottom:24px;padding:16px}.filter-group,.filters{align-items:center;display:flex}.filter-group{gap:8px}.filter-group label{color:#374151;font-weight:500;white-space:nowrap}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:8px 12px}.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.loading{font-size:1.125rem;padding:48px}.loading,.no-tasks{color:#6b7280;text-align:center}.no-tasks{padding:64px 24px}.no-tasks-icon{font-size:4rem;margin-bottom:16px}.no-tasks h3{color:#374151;font-size:1.5rem;margin:0 0 8px}.no-tasks p{font-size:1rem;margin:0}.tasks-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.task-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:24px;transition:all .2s ease-in-out}.task-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.task-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.task-id{color:#1f2937;font-size:1.125rem;font-weight:600}.task-badges{display:flex;gap:8px}.status-badge,.urgency-badge{border-radius:4px;color:#fff;font-size:.75rem;font-weight:500;padding:4px 8px;text-transform:uppercase}.task-content{margin-bottom:20px}.task-content>div{font-size:.875rem;line-height:1.5;margin-bottom:8px}.task-content strong{color:#374151;font-weight:600}.address{color:#059669}.description{background:#f9fafb;border-radius:6px;color:#374151;padding:8px 12px}.task-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.complete-btn,.details-btn,.start-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.start-btn{background-color:#3b82f6;color:#fff}.start-btn:hover{background-color:#2563eb}.complete-btn{background-color:#10b981;color:#fff}.complete-btn:hover{background-color:#059669}.details-btn{background-color:#6b7280;color:#fff}.details-btn:hover{background-color:#4b5563}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:4px}.close-btn:hover{color:#374151}.modal-content{padding:24px}.task-summary{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.task-summary h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px}.task-summary p{color:#6b7280;font-size:.875rem;margin:4px 0}.completion-form .form-group{margin-bottom:16px}.completion-form label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.completion-form input,.completion-form textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;padding:8px 12px;width:100%}.completion-form input:focus,.completion-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.photo-input{margin-bottom:8px;padding:8px 0}.photo-help{color:#6b7280;font-size:.75rem;margin-bottom:16px}.photo-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:16px;padding:16px}.photo-preview h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 12px}.photo-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;padding:8px;position:relative}.photo-thumbnail{border-radius:4px;height:80px;margin-bottom:8px;object-fit:cover;width:80px}.remove-photo-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;width:20px}.remove-photo-btn:hover{background:#dc2626}.photo-name{color:#6b7280;font-size:.625rem;max-width:100px;text-align:center;word-break:break-all}.complete-btn:disabled{cursor:not-allowed}.complete-btn:disabled,.complete-btn:disabled:hover{background-color:#9ca3af}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:8px 16px}.cancel-btn:hover{background-color:#f9fafb}@media (max-width:768px){.collector-tasks-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.stats-summary{justify-content:space-between;width:100%}.tasks-grid{grid-template-columns:1fr}.task-actions{justify-content:center}.filters{align-items:flex-start;flex-direction:column;gap:12px}.filter-group{width:100%}.filter-group select{flex:1 1}}.receipt-page{background:#f5f5f5;min-height:100vh;padding:2rem}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh}.loading-spinner{border:4px solid #e0e0e0;border-top-color:#4caf50;height:48px;width:48px}.receipt-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:800px;padding:2rem}.receipt-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:2rem}.receipt-logo h1{color:#4caf50;font-size:2rem;margin:0}.receipt-logo p{color:#666;font-size:.875rem;margin:.25rem 0 0}.receipt-title h2{font-size:1.5rem;margin:0;text-align:right}.receipt-number{color:#666;font-size:.875rem;margin:.25rem 0 0;text-align:right}.info-section,.receipt-info{margin-bottom:2rem}.info-section h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.125rem;margin-bottom:1rem;padding-bottom:.5rem}.info-row{border-bottom:1px dotted #e0e0e0;display:flex;justify-content:space-between;padding:.5rem 0}.info-row:last-child{border-bottom:none}.label{color:#666;font-weight:500}.value{color:#333;text-align:right}.value.important{color:#4caf50;font-size:1.125rem;font-weight:600}.pricing-section{background:#f9f9f9;border-radius:4px;margin-top:2rem;padding:1rem}.pricing-row{display:flex;justify-content:space-between;padding:.5rem 0}.pricing-row.total{border-top:2px solid #333;font-size:1.125rem;font-weight:600;margin-top:.5rem;padding-top:1rem}.photos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:1rem}.receipt-photo{background:#f5f5f5;border-radius:4px;overflow:hidden;padding-bottom:100%;position:relative}.receipt-photo img{cursor:pointer;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .2s;width:100%}.receipt-photo img:hover{transform:scale(1.05)}.receipt-footer{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:2rem;text-align:center}.issue-date{color:#666;font-size:.875rem;margin-bottom:.5rem}.footer-text{color:#999;font-size:.875rem;margin:0}.receipt-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.back-btn,.print-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.print-btn{background:#4caf50;color:#fff}.print-btn:hover{background:#45a049}.back-btn{background:#e0e0e0;color:#333}.back-btn:hover{background:#d0d0d0}.back-link{color:#4caf50;text-decoration:none}.back-link:hover{text-decoration:underline}@media print{.receipt-page{background:#fff;padding:0}.receipt-container{box-shadow:none;padding:0}.no-print{display:none}.receipt-photo img{cursor:default}}@media (max-width:1024px){.receipt-container,.receipt-page{padding:var(--spacing-4)}}@media (max-width:768px){.receipt-container,.receipt-page{padding:var(--spacing-3)}.receipt-header{flex-direction:column;gap:var(--spacing-3);text-align:center}.receipt-logo h1{font-size:1.75rem}.receipt-title h2{font-size:1.25rem}.info-row{flex-direction:column;gap:var(--spacing-1);text-align:left}.label{color:var(--gray-700);font-weight:600}.value{text-align:left}.pricing-section{padding:var(--spacing-3)}.pricing-row{flex-direction:column;gap:var(--spacing-1);text-align:left}.receipt-actions{flex-direction:column;gap:var(--spacing-3)}.back-btn,.print-btn{padding:var(--spacing-3);width:100%}}@media (max-width:480px){.receipt-page{padding:var(--spacing-2)}.receipt-container{padding:var(--spacing-3)}.receipt-logo h1{font-size:1.5rem}.receipt-title h2{font-size:1.125rem}.info-section h3{font-size:1rem}.info-row{padding:var(--spacing-2) 0}.pricing-section{padding:var(--spacing-2)}.pricing-row{padding:var(--spacing-1) 0}.back-btn,.print-btn{font-size:.9rem;padding:var(--spacing-2) var(--spacing-3)}}:root{--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--green-500:#10b981;--green-600:#059669;--green-700:#047857;--yellow-500:#f59e0b;--yellow-600:#d97706;--yellow-700:#b45309;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition:all 0.15s ease-in-out;--transition-fast:all 0.1s ease-in-out;--transition-slow:all 0.3s ease-in-out}.App{background-color:#f9fafb;background-color:var(--gray-50);min-height:100vh}.form-group{margin-bottom:var(--spacing-4)}.form-group label{color:#374151;color:var(--gray-700);font-size:.875rem;margin-bottom:var(--spacing-2)}.form-group input{background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:.375rem;border-radius:var(--radius);color:#111827;color:var(--gray-900);display:block;line-height:1.5;padding:.75rem 1rem;padding:var(--spacing-3) var(--spacing-4);transition:border-color .15s ease-in-out}.form-group input:focus{border-color:#3b82f6;border-color:var(--blue-500)}button{border:none;border-radius:.375rem;border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;transition:all .15s ease-in-out}button:disabled{cursor:not-allowed;opacity:.6}.login-form button[type=submit],.register-form button[type=submit]{background-color:#3b82f6;background-color:var(--blue-500);border:none;color:#fff;font-weight:600;padding:.75rem 1rem;padding:var(--spacing-3) var(--spacing-4);width:100%}.login-form button[type=submit]:hover:not(:disabled),.register-form button[type=submit]:hover:not(:disabled){background-color:#2563eb;background-color:var(--blue-600)}.login-form button[type=submit]:disabled,.register-form button[type=submit]:disabled{background-color:#d1d5db;background-color:var(--gray-300);color:#6b7280;color:var(--gray-500)}.link-button{color:#3b82f6;color:var(--blue-500);padding:0}.link-button:hover{color:#2563eb;color:var(--blue-600)}.auth-page{background-color:#f9fafb;background-color:var(--gray-50);padding:var(--spacing-4)}.auth-container{border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--radius-xl)}.login-form,.register-form{padding:2rem;padding:var(--spacing-8)}.login-form h2,.register-form h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;margin-bottom:var(--spacing-6);text-align:center}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;border-radius:var(--radius);color:#ef4444;color:var(--red-500);font-size:.875rem;margin:1rem 0;margin:var(--spacing-4) 0;padding:var(--spacing-3)}.form-footer{background-color:#f9fafb;background-color:var(--gray-50);border-radius:0 0 1rem 1rem;border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);padding:1.5rem;padding:var(--spacing-6)}.form-footer p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.dashboard{margin:0 auto;max-width:1200px}.dashboard,.dashboard-header{padding:1.5rem;padding:var(--spacing-6)}.dashboard-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:2rem;margin-bottom:var(--spacing-8)}.dashboard-header h1{color:#111827;color:var(--gray-900);margin:0}.user-info{align-items:center;display:flex;gap:.75rem;gap:var(--spacing-3)}.logout-button{background-color:#f3f4f6;background-color:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);color:#374151;color:var(--gray-700);padding:.5rem 1rem;padding:var(--spacing-2) var(--spacing-4)}.logout-button:hover{background-color:#e5e7eb;background-color:var(--gray-200)}.dashboard-content{grid-gap:1.5rem;grid-gap:var(--spacing-6);display:grid;gap:1.5rem;gap:var(--spacing-6);grid-template-columns:1fr}@media (min-width:768px){.dashboard-content{grid-template-columns:repeat(2,1fr)}}.admin-panel,.quick-actions,.user-profile{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--spacing-6)}.admin-panel h2,.quick-actions h2,.user-profile h2{color:#111827;color:var(--gray-900);font-size:1.125rem;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.profile-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem;margin-bottom:var(--spacing-2)}.action-buttons,.admin-actions{display:flex;flex-wrap:wrap;gap:.75rem;gap:var(--spacing-3);margin-top:1rem;margin-top:var(--spacing-4)}.action-button,.admin-button{align-items:center;background-color:#3b82f6;background-color:var(--blue-500);border:none;border-radius:.375rem;border-radius:var(--radius);color:#fff;display:inline-flex;font-size:.875rem;padding:.5rem 1rem;padding:var(--spacing-2) var(--spacing-4);text-decoration:none}.action-button:hover,.admin-button:hover{background-color:#2563eb;background-color:var(--blue-600);color:#fff}.stats-grid{grid-gap:1rem;grid-gap:var(--spacing-4);display:grid;gap:1rem;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem;margin-bottom:var(--spacing-6)}.stat-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--spacing-6)}.stat-card h3{color:#6b7280;color:var(--gray-500);font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;margin-bottom:var(--spacing-2);text-transform:uppercase}.stat-number{color:#111827;color:var(--gray-900);font-size:1.875rem;font-weight:700;line-height:1}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border:2px solid var(--gray-200);border-radius:50%;border-top-color:var(--blue-500);height:24px;margin-bottom:1rem;margin-bottom:var(--spacing-4);width:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#6b7280;color:var(--gray-500);font-size:.875rem}.forbidden-container,.not-found,.unauthorized-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:2rem;text-align:center}.forbidden-container h2,.not-found h2,.unauthorized-container h2{color:#dc3545;margin-bottom:1rem}.forbidden-container p,.not-found p,.unauthorized-container p{color:#6c757d;margin-bottom:1.5rem}.forbidden-container button,.unauthorized-container button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.forbidden-container button:hover,.unauthorized-container button:hover{background-color:#0056b3}.auth-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-container{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{color:#333;font-size:2rem;margin-bottom:.5rem}.auth-header p{color:#666;font-size:.9rem}.login-form{width:100%}.login-form h2{color:#333;margin-bottom:1.5rem;text-align:center}.redirect-notice{background-color:#e7f3ff;border-radius:4px;color:#0366d6;font-size:.9rem;padding:.75rem;text-align:center}.form-group,.redirect-notice{margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.75rem;text-align:center}.login-form button[type=submit]{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:background-color .2s;width:100%}.login-form button[type=submit]:hover:not(:disabled){background-color:#0056b3}.login-form button[type=submit]:disabled{background-color:#6c757d;cursor:not-allowed}.form-footer{text-align:center}.form-footer p{color:#666;margin-bottom:0}.link-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:inherit;text-decoration:underline}.link-button:hover:not(:disabled){color:#0056b3}.link-button:disabled{color:#6c757d;cursor:not-allowed;text-decoration:none}.not-found a{color:#007bff;font-weight:500;text-decoration:none}.not-found a:hover{text-decoration:underline}@media (max-width:768px){.dashboard{padding:1rem;padding:var(--spacing-4)}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem;gap:var(--spacing-4)}.user-info{justify-content:space-between;width:100%}.action-buttons,.admin-actions{flex-direction:column}.stats-grid{gap:.75rem;gap:var(--spacing-3);grid-template-columns:1fr 1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.auth-page{padding:.75rem;padding:var(--spacing-3)}.login-form,.register-form{padding:1.5rem;padding:var(--spacing-6)}}.action-button:focus,.admin-button:focus,.link-button:focus{outline:2px solid #3b82f6;outline:2px solid var(--blue-500);outline-offset:2px}
/*# sourceMappingURL=main.ae2105ee.css.map*/