.btn{text-align:center;border-radius:var(--radius-sm);white-space:nowrap;vertical-align:middle;box-sizing:border-box;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.2;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-accent-gold);color:var(--color-text-on-accent)}.btn-primary:hover{background-color:var(--color-accent-gold-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-accent-gold-muted);color:var(--color-accent-gold);border:1px solid var(--color-accent-gold)}.btn-secondary:hover{background-color:#c9a96e38}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.btn-danger{background-color:var(--color-status-danger);color:#fff}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{border-bottom:1px solid var(--color-border);padding:1rem}.card-title{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:600}.card-body{padding:1rem}.badge{text-align:center;white-space:nowrap;vertical-align:middle;box-sizing:border-box;border-radius:9999px;justify-content:center;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1.1;display:inline-flex}.badge-success{background-color:var(--color-status-success-bg);color:var(--color-status-success)}.badge-warning{background-color:var(--color-status-warning-bg);color:var(--color-status-warning)}.badge-danger{background-color:var(--color-status-danger-bg);color:var(--color-status-danger)}.badge-info{background-color:var(--color-status-info-bg);color:var(--color-status-info)}.badge-neutral{background-color:var(--color-bg-hover);color:var(--color-text-secondary)}.form-group{margin-bottom:1rem}.form-label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-input{background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);padding:.5rem 1rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--color-accent-gold);box-shadow:0 0 0 2px var(--color-accent-gold-muted);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.theme-toggle{background-color:var(--color-bg-input);border:1px solid var(--color-border);cursor:pointer;border-radius:14px;align-items:center;width:52px;height:28px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:inset 0 2px 4px #0000001a}.theme-toggle:hover{border-color:var(--color-accent-gold);box-shadow:inset 0 2px 4px #0000001a,0 0 0 2px #c8a55b26}.theme-toggle-track{pointer-events:none;justify-content:space-between;width:100%;padding:0 6px;display:flex;position:absolute}.theme-icon{color:var(--color-text-muted);transition:opacity .3s}.theme-toggle.dark .moon-icon,.theme-toggle.light .sun-icon{opacity:0}.theme-toggle-knob{top:1.5px;background-color:var(--color-bg-card);width:23px;height:23px;color:var(--color-accent-gold);z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;inset-inline-start:1.5px;box-shadow:0 2px 5px #0003}.theme-toggle.light .theme-toggle-knob{transform:translate(24px)}body[dir=rtl] .theme-toggle.light .theme-toggle-knob,[dir=rtl] .theme-toggle.light .theme-toggle-knob{transform:translate(-24px)}table{border-collapse:collapse}th{letter-spacing:.02em;font-size:.8rem}@media (width<=768px){.table-responsive{width:100%;display:block}.table-responsive thead{display:none}.table-responsive tbody{width:100%;display:block}.table-responsive tr{border-radius:var(--radius-md);background-color:var(--color-bg-card);flex-direction:column;margin-bottom:1rem;padding:.5rem;display:flex;border:1px solid var(--color-border)!important}.table-responsive td{border-bottom:1px solid var(--color-border-subtle);text-align:right;justify-content:space-between;align-items:center;display:flex;padding:.5rem .75rem!important}.table-responsive td:last-child{border-bottom:none}.table-responsive td:before{content:attr(data-label);color:var(--color-text-secondary);text-transform:uppercase;text-align:left;flex-shrink:0;margin-right:1rem;font-size:.75rem;font-weight:600}[dir=rtl] .table-responsive td{text-align:left}[dir=rtl] .table-responsive td:before{text-align:right;margin-left:1rem;margin-right:0}}.esri-view{font-family:inherit!important}.esri-popup__main-container{background-color:var(--color-bg-card)!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.esri-popup__header{border-bottom:1px solid var(--color-border)!important;color:var(--color-text-primary)!important;background-color:#0000!important}.esri-popup__header-title{color:var(--color-accent-gold)!important;font-weight:700!important}.esri-popup__content{color:var(--color-text-primary)!important;background-color:#0000!important}.esri-popup__pointer-navigator{background-color:var(--color-bg-card)!important}.esri-popup__button{color:var(--color-text-secondary)!important}.esri-popup__button:hover{color:var(--color-text-primary)!important;background-color:var(--color-bg-hover)!important}body[dir=rtl] .esri-ui,body[dir=rtl] .esri-popup__main-container{direction:rtl}.rounded-full.flex,.rounded-full.inline-flex,[class*=rounded-full][class*=flex],[class*=rounded-full][class*=inline-flex]{text-align:center!important;box-sizing:border-box!important;justify-content:center!important;align-items:center!important;line-height:1!important;display:flex!important}.rounded-full>svg,.rounded-full>span>svg,button.rounded-full>svg,.btn.rounded-full>svg,[class*=rounded-full]>svg{flex-shrink:0!important;align-self:center!important;margin:0 auto!important;display:block!important}.btn.rounded-full:not([class*=px-]):not([class*=p-]){padding:0!important}
