:root{--primary-color: #f35e34;--primary-dark: #d94a2a;--secondary-color: #2c3e50;--text-color: #333;--text-light: #666;--text-muted: #888;--light-gray: #f8f9fa;--border-color: #e9ecef;--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545;--white: #fff;--black: #000;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-heading: "Montserrat", sans-serif;--font-family-body: "Rubik", sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-full: 50%;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .2);--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--container-max-width: 1200px;--header-height: 70px;--border-width: 2px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 10000}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family-base);line-height:1.6;color:var(--text-color);background-color:var(--white);overflow-x:hidden}.text-primary{color:var(--primary-color)!important}.text-secondary{color:var(--secondary-color)!important}.text-success{color:var(--success-color)!important}.text-warning{color:var(--warning-color)!important}.text-error{color:var(--error-color)!important}.text-light{color:var(--text-light)!important}.text-muted{color:var(--text-muted)!important}.text-white{color:var(--white)!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.font-bold{font-weight:700!important}.font-semibold{font-weight:600!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-base{font-size:1rem!important}.text-lg{font-size:1.125rem!important}.text-xl{font-size:1.25rem!important}.text-2xl{font-size:1.5rem!important}.text-3xl{font-size:1.875rem!important}.text-4xl{font-size:2.25rem!important}.m-0{margin:0!important}.m-1{margin:var(--spacing-xs)!important}.m-2{margin:var(--spacing-sm)!important}.m-3{margin:var(--spacing-md)!important}.m-4{margin:var(--spacing-lg)!important}.m-5{margin:var(--spacing-xl)!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--spacing-xs)!important}.mt-2{margin-top:var(--spacing-sm)!important}.mt-3{margin-top:var(--spacing-md)!important}.mt-4{margin-top:var(--spacing-lg)!important}.mt-5{margin-top:var(--spacing-xl)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--spacing-xs)!important}.mb-2{margin-bottom:var(--spacing-sm)!important}.mb-3{margin-bottom:var(--spacing-md)!important}.mb-4{margin-bottom:var(--spacing-lg)!important}.mb-5{margin-bottom:var(--spacing-xl)!important}.p-0{padding:0!important}.p-1{padding:var(--spacing-xs)!important}.p-2{padding:var(--spacing-sm)!important}.p-3{padding:var(--spacing-md)!important}.p-4{padding:var(--spacing-lg)!important}.p-5{padding:var(--spacing-xl)!important}.pt-0{padding-top:0!important}.pt-1{padding-top:var(--spacing-xs)!important}.pt-2{padding-top:var(--spacing-sm)!important}.pt-3{padding-top:var(--spacing-md)!important}.pt-4{padding-top:var(--spacing-lg)!important}.pt-5{padding-top:var(--spacing-xl)!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:var(--spacing-xs)!important}.pb-2{padding-bottom:var(--spacing-sm)!important}.pb-3{padding-bottom:var(--spacing-md)!important}.pb-4{padding-bottom:var(--spacing-lg)!important}.pb-5{padding-bottom:var(--spacing-xl)!important}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}.container-fluid{width:100%;padding:0 var(--spacing-md)}.d-flex{display:flex!important}.d-grid{display:grid!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-none{display:none!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-stretch{align-items:stretch!important}.w-100{width:100%!important}.h-100{height:100%!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-base);min-height:40px;gap:var(--spacing-sm)}.btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary{background:var(--primary-color);color:var(--white)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:var(--light-gray);color:var(--text-color)}.btn-secondary:hover{background:var(--border-color);transform:translateY(-1px)}.btn-success{background:var(--success-color);color:var(--white)}.btn-success:hover{background:#218838;transform:translateY(-1px)}.btn-warning{background:var(--warning-color);color:var(--text-color)}.btn-warning:hover{background:#e0a800;transform:translateY(-1px)}.btn-error{background:var(--error-color);color:var(--white)}.btn-error:hover{background:#c82333;transform:translateY(-1px)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;min-height:32px}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;min-height:48px}.btn-block{width:100%}.card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-image{width:100%;height:200px;background:var(--light-gray);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--primary-color);position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--transition-base)}.card:hover .card-image img{transform:scale(1.05)}.card-content{padding:var(--spacing-lg);flex:1;display:flex;flex-direction:column}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--secondary-color);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}.card-summary{color:var(--text-light);line-height:1.6;margin-bottom:var(--spacing-md);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.6em * 3)}.card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);font-size:.875rem;color:var(--text-muted);flex-wrap:wrap;gap:var(--spacing-sm)}.card-actions{display:flex;gap:var(--spacing-sm);margin-top:auto}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-label{font-weight:500;color:var(--secondary-color);font-size:.875rem}.form-input,.form-select{padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);font-size:.875rem;transition:border-color var(--transition-base);background:var(--white)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color)}.form-input::placeholder{color:var(--text-muted)}.rounded{border-radius:var(--border-radius-md)!important}.rounded-sm{border-radius:var(--border-radius-sm)!important}.rounded-lg{border-radius:var(--border-radius-lg)!important}.rounded-full{border-radius:var(--border-radius-full)!important}.shadow{box-shadow:var(--shadow-md)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.shadow-xl{box-shadow:var(--shadow-xl)!important}.border{border:1px solid var(--border-color)!important}.border-0{border:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.user-select-none{user-select:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:-100px;background:var(--primary-color);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;border-radius:var(--border-radius-sm);z-index:var(--z-toast);transition:top var(--transition-base)}.skip-link:focus{top:20px;left:20px}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width: 480px){.container{padding:0 var(--spacing-sm)}.card-content{padding:var(--spacing-md)}.card-title{font-size:1.125rem}.btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;min-height:36px}}@media (max-width: 768px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}.flex-md-column{flex-direction:column!important}.justify-md-center{justify-content:center!important}.align-md-center{align-items:center!important}}@media (min-width: 769px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}.flex-lg-row{flex-direction:row!important}.justify-lg-between{justify-content:space-between!important}.align-lg-center{align-items:center!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-in-up{animation:slideInUp var(--transition-base)}@media print{.no-print{display:none!important}body{background:var(--white)!important;color:var(--black)!important}.card{box-shadow:none!important;border:1px solid var(--border-color)!important}}
