@layer utilities{.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4)}.container-sm{max-width:var(--container-sm);margin:0 auto;padding:0 var(--space-4)}.container-md{max-width:var(--container-md);margin:0 auto;padding:0 var(--space-4)}.container-lg{max-width:var(--container-lg);margin:0 auto;padding:0 var(--space-4)}.container-2xl{max-width:var(--container-2xl);margin:0 auto;padding:0 var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-base);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;user-select:none}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-neutral-100);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover{background-color:var(--color-neutral-200);border-color:var(--color-border-dark)}.btn-tertiary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-tertiary:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-ghost{background-color:transparent;color:var(--color-text-primary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-neutral-100)}.btn-sm{padding:var(--space-1)var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3)var(--space-6);font-size:var(--text-base)}.btn-xl{padding:var(--space-4)var(--space-8);font-size:var(--text-lg)}.card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden}.card-padded{padding:var(--space-6)}.card-header{font-weight:var(--font-weight-semibold);font-size:var(--text-lg);color:var(--color-primary);padding:var(--space-4)var(--space-6);border-bottom:2px solid var(--color-border);background-color:var(--color-bg-tertiary)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4)var(--space-6);border-top:1px solid var(--color-border-light);background-color:var(--color-bg-secondary)}.card-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-2)0;border-bottom:1px solid var(--color-border-light);gap:var(--space-4)}.card-row:last-child{border-bottom:none}.card-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--text-sm);flex-shrink:0}.card-value{color:var(--color-text-primary);font-size:var(--text-base);text-align:right;flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2)var(--space-4);text-decoration:none;z-index:var(--z-tooltip)}.skip-to-content:focus{top:0}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-border-dark)var(--color-neutral-100)}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-base)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-base)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto;-webkit-overflow-scrolling:touch}.text-heading{font-family:var(--font-heading)}.text-body{font-family:var(--font-body)}.text-mono{font-family:var(--font-mono)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-brand{color:var(--color-primary)}.mt-0{margin-top:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.border{border:1px solid var(--color-border)}.border-top{border-top:1px solid var(--color-border)}.border-bottom{border-bottom:1px solid var(--color-border)}.border-left{border-left:1px solid var(--color-border)}.border-right{border-right:1px solid var(--color-border)}.rounded{border-radius:var(--radius-base)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}}