:root{--color-brand: #FF6B35;--color-brand-hover: #e55e2d;--color-brand-light: #FFF4EF;--color-secondary: #FF8C69;--color-danger: #EF4444;--color-danger-light: #FEE2E2;--color-success: #22C55E;--color-success-light: #DCFCE7;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-info: #3B82F6;--color-info-light: #DBEAFE;--color-bg: #F9FAFB;--color-surface: #FFFFFF;--color-border: #E5E7EB;--color-text: #111827;--color-text-secondary: #6B7280;--color-text-muted: #9CA3AF;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font);cursor:pointer}input,textarea,select{font-family:var(--font);font-size:14px}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-logo{padding:24px 20px;border-bottom:1px solid var(--color-border)}.sidebar-logo h1{font-size:20px;font-weight:800;color:var(--color-brand);letter-spacing:-.5px}.sidebar-logo span{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:all .15s}.sidebar-nav a:hover{background:var(--color-brand-light);color:var(--color-brand);text-decoration:none}.sidebar-nav a.active{background:var(--color-brand-light);color:var(--color-brand);font-weight:600}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--color-border)}.sidebar-footer button{width:100%;padding:8px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:13px;font-weight:500}.sidebar-footer button:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.main-content{flex:1;margin-left:260px;padding:32px;max-width:1200px}.page-header{margin-bottom:24px}.page-header h2{font-size:24px;font-weight:800;letter-spacing:-.5px}.page-header p{color:var(--color-text-secondary);font-size:14px;margin-top:4px}.page-header-actions{display:flex;justify-content:space-between;align-items:center}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.stat-card .stat-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:8px}.stat-card .stat-value{font-size:28px;font-weight:800;color:var(--color-text)}.stat-card .stat-value.brand{color:var(--color-brand)}.stat-card .stat-value.success{color:var(--color-success)}.stat-card .stat-value.warning{color:var(--color-warning)}.stat-card .stat-value.info{color:var(--color-info)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;border:none;transition:all .15s}.btn-primary{background:var(--color-brand);color:#fff}.btn-primary:hover{background:var(--color-brand-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#16a34a}.btn-sm{padding:6px 14px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.form-control{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;transition:border-color .15s;background:var(--color-surface)}.form-control:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #ff6b351a}.form-control::placeholder{color:var(--color-text-muted)}textarea.form-control{resize:vertical;min-height:80px}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-error{color:var(--color-danger);font-size:12px;margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--color-border);vertical-align:middle}tr:hover td{background:var(--color-bg)}.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.badge-draft{background:var(--color-border);color:var(--color-text-secondary)}.badge-published{background:var(--color-success-light);color:#166534}.badge-pending{background:var(--color-warning-light);color:#92400e}.badge-rejected{background:var(--color-danger-light);color:#991b1b}.badge-approved{background:var(--color-success-light);color:#166534}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-muted)}.empty-state h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--color-text-secondary)}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--color-text-muted)}.error-message{background:var(--color-danger-light);color:#991b1b;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:32px;max-width:560px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal h3{font-size:20px;font-weight:700;margin-bottom:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;position:sticky;bottom:-32px;background:var(--color-surface);padding:16px 0 0;z-index:1}.tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:24px}.tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.exercise-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:all .15s}.exercise-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md)}.exercise-card h4{font-size:15px;font-weight:600;margin-bottom:4px}.exercise-card p{font-size:13px;color:var(--color-text-secondary)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;padding:2px 8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:12px;color:var(--color-text-secondary)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b35,#ef4444)}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl, 24px);padding:40px;width:100%;max-width:440px;box-shadow:0 20px 60px #0003}.auth-card h1{font-size:28px;font-weight:800;color:var(--color-brand);margin-bottom:4px}.auth-card .subtitle{color:var(--color-text-secondary);margin-bottom:32px;font-size:14px}.stepper{display:flex;align-items:center;gap:8px;margin-bottom:32px}.stepper-step{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid var(--color-border);color:var(--color-text-muted)}.stepper-step.active{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.stepper-step.completed{border-color:var(--color-success);background:var(--color-success);color:#fff}.stepper-line{flex:1;height:2px;background:var(--color-border)}.stepper-line.completed{background:var(--color-success)}.action-group{display:flex;gap:8px}.search-bar{margin-bottom:16px}.search-bar input{width:100%;max-width:360px}.approval-item{padding:16px 0;border-bottom:1px solid var(--color-border)}.approval-item:last-child{border-bottom:none}.approval-item h4{font-size:15px;font-weight:600}.approval-item p{font-size:13px;color:var(--color-text-secondary);margin:4px 0 8px}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:32px;text-align:center;cursor:pointer;transition:all .15s}.upload-area:hover,.upload-area.dragging{border-color:var(--color-brand);background:var(--color-brand-light)}.upload-progress{margin-top:12px}.progress-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-brand);border-radius:3px;transition:width .3s}@media (max-width: 768px){.sidebar{display:none}.main-content{margin-left:0}.form-row{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}}
