.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);white-space:nowrap;text-decoration:none}.btn .material-symbols-rounded{font-size:18px}.btn--primary{background:var(--color-primary-dark);color:var(--text-inverse);border-color:var(--color-primary-dark)}.btn--primary:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.btn--secondary{background:transparent;color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn--secondary:hover{background:var(--color-primary-dark);color:var(--text-inverse)}.btn--accent{background:var(--color-accent);color:var(--color-gray-900);border-color:var(--color-accent)}.btn--accent:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--text-inverse)}.btn--white{background:var(--color-white);color:var(--color-primary-dark);border-color:var(--color-white)}.btn--white:hover{background:var(--color-primary-light);border-color:var(--color-primary-light)}.btn--ghost{background:transparent;color:var(--text-inverse);border-color:rgba(255,255,255,0.3)}.btn--ghost:hover{background:rgba(255,255,255,0.1);border-color:var(--text-inverse);color:var(--text-inverse)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn--lg .material-symbols-rounded{font-size:20px}.btn--full{width:100%}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base) var(--ease-in-out)}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card__image{width:100%;aspect-ratio:16 / 9;object-fit:cover}.card__body{padding:var(--space-6)}.card__label{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--color-primary-dark);margin-bottom:var(--space-2)}.card__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}.card__title a{color:inherit}.card__title a:hover{color:var(--color-primary-dark)}.card__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.card__link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary-dark)}.card__link .material-symbols-rounded{font-size:18px;transition:transform var(--transition-fast) var(--ease-in-out)}.card__link:hover .material-symbols-rounded{transform:translateX(4px)}.icon-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;transition:all var(--transition-base) var(--ease-in-out)}.icon-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.icon-card__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-primary-light);color:var(--color-primary-dark);margin-bottom:var(--space-5)}.icon-card__icon .material-symbols-rounded{font-size:32px}.icon-card__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}.icon-card__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:0}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);line-height:1.5}.badge--primary{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge--accent{background:var(--color-accent-light);color:var(--color-accent-dark)}.badge--success{background:#DCFCE7;color:var(--color-success)}.badge--error{background:#FEE2E2;color:var(--color-error)}.badge--neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.form-label--required::after{content:' *';color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast) var(--ease-in-out)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-textarea{min-height:140px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%2394A3B8'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10)}.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-3)}.form-checkbox input[type="checkbox"]{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary-dark);flex-shrink:0}.form-checkbox label{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.form-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.breadcrumb-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--space-3) 0}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary)}.breadcrumbs a{color:var(--text-tertiary);transition:color var(--transition-fast) var(--ease-in-out)}.breadcrumbs a:hover{color:var(--color-primary-dark)}.breadcrumbs__separator{font-size:var(--text-xs);display:flex;align-items:center}.breadcrumbs__current{color:var(--text-primary);font-weight:var(--font-medium)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-12)}.pagination__link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--transition-fast) var(--ease-in-out)}.pagination__link:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.pagination__link--active{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--text-inverse)}.pagination__link--disabled{opacity:0.5;pointer-events:none}.filter-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-8)}.filter-tab{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.filter-tab:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.filter-tab--active{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--text-inverse)}.filter-tab--active:hover{color:var(--text-inverse)}.tooltip{position:relative}.tooltip__content{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:var(--space-2) var(--space-3);background:var(--bg-darker);color:var(--text-inverse);font-size:var(--text-xs);border-radius:var(--radius-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast) var(--ease-in-out)}.tooltip:hover .tooltip__content{opacity:1;visibility:visible}.divider{border:none;border-top:1px solid var(--border-color);margin:var(--space-8) 0}.avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover}.avatar--sm{width:32px;height:32px}.avatar--lg{width:64px;height:64px}.avatar--xl{width:96px;height:96px}