@keyframes fadeIn{to{opacity:1}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.dashboard-service{background-color:#f8fafc;padding:2.5rem 0 3.5rem}.dashboard-service__container{display:flex;flex-direction:column;gap:2rem}.dashboard-service__toolbar{display:flex;justify-content:flex-start;margin-bottom:.5rem}.dashboard-service__toolbar .btn-soft{align-items:center;background-color:#fff;background-color:rgba(248,250,252,.9);border:1px solid rgba(148,163,184,.2);border-radius:.75rem;color:#0f172a;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:all .15s ease}.dashboard-service__toolbar .btn-soft:focus,.dashboard-service__toolbar .btn-soft:hover{background-color:#fff;border-color:rgba(11,37,66,.08);box-shadow:0 10px 15px rgba(15,23,42,.1);color:#0b2542;text-decoration:none;transform:translateY(-1px)}.dashboard-service__toolbar .btn--simple{align-items:center;color:#475569;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;text-decoration:none;transition:color .15s ease}.dashboard-service__toolbar .btn--simple:focus,.dashboard-service__toolbar .btn--simple:hover{color:#0b2542;text-decoration:none}.dashboard-service__hero-panel .dashboard-hero{align-items:stretch}.dashboard-service__pill-group{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.dashboard-service__pill-group .dashboard-pill{backdrop-filter:blur(6px);background:rgba(248,250,252,.14);border:1px solid rgba(248,250,252,.3);box-shadow:0 12px 24px rgba(7,19,36,.25);color:#f8fafc}.dashboard-service__pill-group .dashboard-pill i{color:rgba(248,250,252,.9)}.dashboard-pill--muted{background-color:rgba(248,250,252,.18);border:1px solid rgba(248,250,252,.35);box-shadow:none;color:#0f172a}.dashboard-service__hero-stats{align-content:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:340px;width:100%}.dashboard-hero__status-indicators{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.dashboard-hero__status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:500;line-height:1.2;padding:.25rem .5rem;transition:all .15s ease;white-space:nowrap}.dashboard-hero__status-pill i{font-size:.72rem;margin-right:.25rem}.dashboard-hero__status-pill--success{background-color:#15803d;border:1px solid #15803d;color:#fff}.dashboard-hero__status-pill--success:hover{background-color:#0e5428;border-color:#0e5428}.dashboard-hero__status-pill--warning{background-color:#f59e0b;border:1px solid #f59e0b;color:#fff}.dashboard-hero__status-pill--warning:hover{background-color:#c57f08;border-color:#c57f08}.dashboard-hero__status-pill--info{background-color:#2563eb;border:1px solid #2563eb;color:#fff}.dashboard-hero__status-pill--info:hover{background-color:#134cca;border-color:#134cca}.dashboard-hero__status-dot{animation:pulse-dot 2s infinite;background-color:#fff;border-radius:50%;display:inline-block;height:6px;margin-left:.25rem;width:6px}@keyframes pulse-dot{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.timeline-component{background-color:#fff;border:1px solid rgba(148,163,184,.2);border-radius:1.1rem;box-shadow:0 18px 35px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:1.75rem;padding:2rem;transition:box-shadow .2s ease}.timeline-component__status{display:flex;flex-direction:column;gap:1rem}.timeline-component__status-item{align-items:flex-start;display:flex;gap:1rem}.timeline-component__status-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.1rem;height:48px;justify-content:center;width:48px}.timeline-component__status-icon--active{background-color:#15803d;color:#fff}.timeline-component__status-icon--expired{background-color:#dc2626;color:#fff}.timeline-component__status-content{flex:1;min-width:0}.timeline-component__status-title{color:#0f172a;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.timeline-component__status-description{color:#475569;font-size:.9rem;line-height:1.6;margin:0}.timeline-component__progress{display:flex;flex-direction:column;gap:1rem}.timeline-component__progress-header{align-items:center;display:flex;justify-content:space-between}.timeline-component__progress-label{align-items:center;color:#475569;display:flex;font-size:.8rem;gap:.5rem}.timeline-component__progress-dot{background-color:#64748b;border-radius:50%;height:8px;width:8px}.timeline-component__progress-dot--start{background-color:#15803d}.timeline-component__progress-dot--end{background-color:#dc2626}.timeline-component__progress-text{font-weight:500}.timeline-component__progress-date{color:#64748b;font-size:.72rem}.timeline-component__progress-bar{background-color:rgba(148,163,184,.12);border-radius:999px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1);height:20px;overflow:hidden;position:relative}.timeline-component__progress-fill{align-items:center;border-radius:999px;display:flex;height:100%;justify-content:center;position:relative;transition:width .2s ease,box-shadow .15s ease}.timeline-component__progress-fill:hover{box-shadow:0 2px 8px rgba(0,0,0,.15)}.timeline-component__progress-fill--success{background-color:#15803d}.timeline-component__progress-fill--warning{background-color:#f59e0b}.timeline-component__progress-fill--danger{background-color:#dc2626}.timeline-component__progress-fill .timeline-component__progress-text{color:#fff;font-size:.8rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap}.timeline-component__notice{align-items:flex-start;background-color:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.2);border-radius:.95rem;display:flex;gap:1rem;padding:1rem}.timeline-component__notice-icon{align-items:center;color:#2563eb;display:flex;flex-shrink:0;font-size:1rem;height:24px;justify-content:center;width:24px}.timeline-component__notice-content{flex:1;min-width:0}.timeline-component__notice-title{color:#2563eb;font-size:.9rem;font-weight:600;margin:0 0 .5rem}.timeline-component__notice-text{color:#475569;font-size:.8rem;line-height:1.6;margin:0 0 .5rem}.timeline-component__notice-link{align-items:center;color:#2563eb;display:inline-flex;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .15s ease}.timeline-component__notice-link:hover{color:#1043b3;text-decoration:none}@media (max-width:767px){.timeline-component{gap:1.5rem;padding:1.5rem}.timeline-component__status-item{gap:.75rem}.timeline-component__status-icon{font-size:1rem;height:40px;width:40px}.timeline-component__progress-header{align-items:flex-start;flex-direction:column;gap:.5rem}.timeline-component__progress-label{font-size:.72rem}}@media (min-width:992px){.dashboard-service__hero-stats{max-width:360px}}.dashboard-service__hero-stat{align-items:center;background-color:rgba(12,27,48,.25);border-radius:1.1rem;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.15);display:flex;gap:1rem;padding:1rem 1.25rem}.dashboard-service__hero-icon{align-items:center;background-color:rgba(248,250,252,.12);border-radius:.95rem;color:#f8fafc;display:inline-flex;font-size:1.1rem;height:42px;justify-content:center;width:42px}.dashboard-service__hero-label{color:rgba(248,250,252,.75);font-size:.8rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.dashboard-service__hero-value{color:#f8fafc;font-size:.9rem;font-weight:600;margin:0}.dashboard-service--concession-inquiry .dashboard-panel{border-radius:1.1rem}.concession-inquiry__overview-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.concession-inquiry__overview-column{display:grid;gap:1rem}.concession-inquiry__timeline-panel{overflow:hidden;position:relative}.concession-inquiry__timeline-panel:before{background:linear-gradient(135deg,rgba(14,116,144,.08),rgba(14,116,144,.18));content:"";inset:0;opacity:.35;pointer-events:none;position:absolute}.concession-inquiry__timeline-body{display:flex;flex-direction:column;gap:1.5rem;position:relative}.concession-inquiry__timeline-progress-wrapper{display:flex;flex-direction:column;gap:.75rem}.concession-inquiry__timeline-legend{align-items:center;color:#64748b;display:flex;font-size:.8rem;justify-content:space-between}.concession-inquiry__timeline-dot{background:linear-gradient(135deg,rgba(56,189,248,.76),rgba(14,116,144,.95));border-radius:50%;box-shadow:0 0 0 3px rgba(56,189,248,.26);display:inline-block;height:10px;margin-right:.35rem;width:10px}.concession-inquiry__timeline-dot--end{background:linear-gradient(135deg,hsla(0,91%,71%,.9),rgba(239,68,68,.9));box-shadow:0 0 0 3px hsla(0,91%,71%,.28)}.concession-inquiry__timeline-progress{background:rgba(11,37,66,.08);border-radius:999px;box-shadow:inset 0 0 0 1px rgba(148,163,184,.12);height:3.1rem;overflow:hidden}.concession-inquiry__timeline-progress .progress-bar{align-items:center;display:flex;font-size:.9rem;font-weight:600;justify-content:center;letter-spacing:.02em}.concession-inquiry__callout{background-color:#fff;background-color:rgba(248,250,252,.72);border:1px solid rgba(148,163,184,.2);border-radius:1.1rem;box-shadow:0 18px 35px rgba(15,23,42,.08);padding:1.5rem;transition:box-shadow .2s ease}.concession-inquiry__callout--warning{background:rgba(245,158,11,.12);border-color:rgba(249,115,22,.35);box-shadow:0 10px 15px rgba(15,23,42,.1)}.concession-inquiry__callout--neutral{background:rgba(11,37,66,.08);border:1px solid rgba(148,163,184,.2)}.concession-inquiry__callout-label{color:rgba(15,23,42,.6);font-size:.72rem;font-weight:700;letter-spacing:.16em;margin-bottom:.75rem;text-transform:uppercase}.concession-inquiry__callout .btn{align-items:center;border-radius:.95rem;box-shadow:0 12px 24px rgba(12,36,66,.08);display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.concession-inquiry__callout .btn:hover{box-shadow:0 18px 34px rgba(12,36,66,.12);transform:translateY(-2px)}.concession-inquiry__letter{background:rgba(11,37,66,.08);border-radius:1rem;box-shadow:inset 0 0 0 1px rgba(148,163,184,.12);padding:1rem 1.25rem}.concession-inquiry__letter p{color:#0f172a;font-size:.9rem;margin-bottom:.75rem}.concession-inquiry__letter ul{margin-bottom:.75rem;padding-left:1rem}.concession-inquiry__map-group{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.concession-inquiry__layer-panel{align-self:stretch}.concession-inquiry__layer-list{display:flex;flex-direction:column;gap:.75rem}.concession-inquiry__layer-toggle{align-items:center;background:rgba(248,250,252,.85);border:1px solid rgba(148,163,184,.35);border-radius:1rem;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.concession-inquiry__layer-toggle strong{color:#0b2542;display:block;font-size:.9rem}.concession-inquiry__layer-toggle small{color:#64748b;display:block;font-size:.72rem}.concession-inquiry__layer-toggle input[type=checkbox]{accent-color:#0b2542;height:22px;width:42px}.concession-inquiry__layer-toggle:focus,.concession-inquiry__layer-toggle:hover{border-color:#0ea5e9;box-shadow:0 10px 15px rgba(15,23,42,.1)}.concession-inquiry__map-panel{display:flex;flex-direction:column;overflow:hidden}.concession-inquiry__map-body{border-radius:1.1rem 1.1rem 0 0;overflow:hidden;position:relative}.concession-inquiry__map{height:clamp(24rem,48vh,34rem);min-height:22rem;width:100%}.concession-inquiry__map-info{background:rgba(248,250,252,.85);border-top:1px solid rgba(148,163,184,.35)}#map-d1.leaflet-container{background:#fff}.concession-inquiry__image-card{background-color:#fff;background:#fff;border:1px solid rgba(148,163,184,.2);border-radius:1.1rem;box-shadow:0 18px 35px rgba(15,23,42,.08);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s ease}.concession-inquiry__image{height:auto;width:100%}.concession-inquiry__image-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1rem 1.25rem}.concession-inquiry__image-body .btn{align-items:center;border-radius:.95rem;box-shadow:0 12px 24px rgba(12,36,66,.08);display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.concession-inquiry__image-body .btn:hover{box-shadow:0 18px 34px rgba(12,36,66,.12);transform:translateY(-2px)}@media (max-width:767px){.dashboard-service__hero-stats{gap:1rem;grid-template-columns:1fr;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);max-width:none;padding-left:1.25rem;padding-right:1.25rem;width:100vw}.concession-inquiry__overview-grid{grid-template-columns:1fr}.concession-inquiry__layer-toggle{align-items:flex-start}.concession-inquiry__map{height:22rem;min-height:20rem}}.demo-notice{align-items:flex-start;background:#fff3cd;border:2px solid #f59e0b;border-radius:.95rem;box-shadow:0 4px 12px rgba(245,158,11,.15);display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.demo-notice:hover{box-shadow:0 6px 20px rgba(245,158,11,.2);transform:translateY(-1px)}.demo-notice__icon{align-items:center;background:#f59e0b;border-radius:50%;box-shadow:0 2px 8px rgba(245,158,11,.3);color:#fff;display:flex;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;width:40px}.demo-notice__content{flex:1}.demo-notice__content h3{color:#92400e;font-size:1.1rem;font-weight:700;letter-spacing:.08em;margin:0 0 .5rem;text-transform:uppercase}.demo-notice__content p{color:#92400e;font-size:.9rem;font-weight:500;line-height:1.6;margin:0}@media (max-width:767px){.demo-notice{flex-direction:column;gap:.75rem;text-align:center}.demo-notice__icon{align-self:center}}.dashboard-empty-state{flex-direction:column;min-height:300px;padding:1.5rem;text-align:center}.dashboard-empty-state,.dashboard-empty-state__icon{align-items:center;display:flex;justify-content:center}.dashboard-empty-state__icon{background:#f8fafc;border:2px solid rgba(148,163,184,.12);border-radius:50%;color:#475569;font-size:2rem;height:80px;margin-bottom:1.5rem;width:80px}.dashboard-empty-state__title{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0 0 .75rem}.dashboard-empty-state__description{color:#475569;font-size:.9rem;line-height:1.6;margin:0 0 1.75rem}.dashboard-empty-state__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:767px){.dashboard-empty-state__actions{align-items:center;flex-direction:column;width:100%}.dashboard-empty-state__actions .btn-soft{max-width:300px;width:100%}}