alexdatamed commited on
Commit
73d1b4d
·
verified ·
1 Parent(s): a449d24

Upload style.css

Browse files
Files changed (1) hide show
  1. style.css +339 -293
style.css CHANGED
@@ -654,465 +654,511 @@ select.form-control {
654
  format('woff2');
655
  }
656
 
657
- /* Додаткові стилі для навчального дашборду */
658
-
659
- .app-container {
660
- min-height: 100vh;
661
- display: flex;
662
- flex-direction: column;
663
- }
664
-
665
- /* Заголовок */
666
  .header {
667
- background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
668
  color: var(--color-btn-primary-text);
669
- padding: var(--space-20) 0;
670
- box-shadow: var(--shadow-md);
671
  }
672
 
673
- .header h1 {
674
- margin: 0;
675
  font-size: var(--font-size-3xl);
676
- text-align: center;
677
  font-weight: var(--font-weight-bold);
 
678
  }
679
 
680
- /* Основний контент */
681
- .main-content {
682
- flex: 1;
683
- padding: var(--space-24) var(--space-16);
684
  }
685
 
686
- .workflow-container {
687
- gap: var(--space-32);
688
- align-items: flex-start;
689
  }
690
 
691
- /* Бічна панель */
692
- .sidebar {
693
- width: 280px;
694
- flex-shrink: 0;
 
695
  }
696
 
697
- .sidebar-content {
 
 
 
 
 
698
  position: sticky;
699
  top: var(--space-24);
 
700
  }
701
 
702
- .sidebar h3 {
703
- margin-bottom: var(--space-16);
704
- color: var(--color-text);
 
 
 
 
 
 
705
  font-size: var(--font-size-lg);
706
- border-bottom: 2px solid var(--color-primary);
707
- padding-bottom: var(--space-8);
 
708
  }
709
 
710
- .steps-list {
711
- list-style: none;
712
- padding: 0;
713
- margin: 0 0 var(--space-24) 0;
714
  }
715
 
716
- .steps-list li {
717
- margin-bottom: var(--space-8);
 
 
718
  }
719
 
720
- .step-link {
721
  display: flex;
 
722
  align-items: center;
723
- padding: var(--space-12);
724
- text-decoration: none;
725
- color: var(--color-text);
726
- border-radius: var(--radius-base);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
727
  transition: all var(--duration-normal) var(--ease-standard);
728
- border: 1px solid transparent;
729
- gap: var(--space-12);
730
  }
731
 
732
- .step-link:hover {
733
- background: var(--color-secondary);
734
- border-color: var(--color-border);
735
  }
736
 
737
- .step-link.active {
738
- background: var(--color-primary);
739
- color: var(--color-btn-primary-text);
740
- border-color: var(--color-primary);
741
  }
742
 
743
- .step-number {
 
 
 
 
 
 
 
 
 
 
 
 
744
  display: flex;
745
  align-items: center;
746
  justify-content: center;
747
- width: 24px;
748
- height: 24px;
749
- border-radius: 50%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
750
  background: var(--color-secondary);
751
- font-size: var(--font-size-sm);
752
- font-weight: var(--font-weight-semibold);
753
- flex-shrink: 0;
754
  }
755
 
756
- .step-link.active .step-number {
757
- background: var(--color-btn-primary-text);
758
- color: var(--color-primary);
759
  }
760
 
761
- .step-link.visited .step-number {
762
- background: var(--color-success);
763
- color: var(--color-btn-primary-text);
764
  }
765
 
766
- /* Прогрес */
767
- .progress-container {
768
  background: var(--color-surface);
769
- padding: var(--space-16);
770
  border-radius: var(--radius-lg);
771
- border: 1px solid var(--color-border);
 
 
 
772
  }
773
 
774
- .progress-container h4 {
775
- margin-bottom: var(--space-12);
776
- font-size: var(--font-size-md);
777
  }
778
 
779
- .progress-bar {
780
- width: 100%;
781
- height: 8px;
782
- background: var(--color-secondary);
783
- border-radius: var(--radius-full);
784
- overflow: hidden;
785
  margin-bottom: var(--space-8);
 
786
  }
787
 
788
- .progress-fill {
789
- height: 100%;
790
- background: linear-gradient(90deg, var(--color-primary), var(--color-success));
 
 
 
 
 
 
 
791
  border-radius: var(--radius-full);
792
- transition: width var(--duration-normal) var(--ease-standard);
793
- width: 0%;
 
 
794
  }
795
 
796
- #progressText {
797
- font-size: var(--font-size-sm);
798
- color: var(--color-text-secondary);
799
- margin-bottom: var(--space-12);
800
  }
801
 
802
- /* Основна панель */
803
- .main-panel {
804
- flex: 1;
805
- min-width: 0;
806
  }
807
 
808
- /* Вступ */
809
- .introduction {
810
- margin-bottom: var(--space-32);
 
 
 
 
 
 
 
 
 
 
811
  }
812
 
813
- .introduction h2 {
 
 
 
 
 
814
  margin-bottom: var(--space-16);
815
- color: var(--color-primary);
816
  }
817
 
818
- /* Візуалізація робочого процесу */
819
- .workflow-visualization {
820
  margin-bottom: var(--space-32);
821
  }
822
 
823
- .workflow-diagram {
824
  display: grid;
825
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
826
- gap: var(--space-20);
827
- padding: var(--space-24);
828
- background: var(--color-surface);
829
- border-radius: var(--radius-lg);
830
- border: 1px solid var(--color-border);
831
  }
832
 
833
- .workflow-step {
834
- display: flex;
835
- flex-direction: column;
836
- align-items: center;
837
  text-align: center;
838
  padding: var(--space-20);
839
- background: var(--color-background);
840
  border-radius: var(--radius-md);
841
- border: 2px solid var(--color-border);
842
- cursor: pointer;
843
- transition: all var(--duration-normal) var(--ease-standard);
844
- position: relative;
845
  }
846
 
847
- .workflow-step:hover {
848
- transform: translateY(-4px);
849
- box-shadow: var(--shadow-lg);
850
- border-color: var(--color-primary);
 
851
  }
852
 
853
- .workflow-step.active {
854
- background: var(--color-primary);
855
- color: var(--color-btn-primary-text);
856
- border-color: var(--color-primary);
857
- transform: translateY(-4px);
858
- box-shadow: var(--shadow-lg);
859
  }
860
 
861
- .workflow-step.visited {
862
- border-color: var(--color-success);
 
863
  }
864
 
865
- .workflow-step.visited::after {
866
- content: "✓";
867
- position: absolute;
868
- top: var(--space-8);
869
- right: var(--space-8);
870
- background: var(--color-success);
871
- color: white;
872
- border-radius: 50%;
873
- width: 20px;
874
- height: 20px;
875
- display: flex;
876
- align-items: center;
877
- justify-content: center;
878
- font-size: var(--font-size-xs);
879
- font-weight: bold;
880
  }
881
 
882
- .step-icon {
883
- width: 48px;
884
- height: 48px;
885
- background: var(--color-secondary);
886
- border-radius: 50%;
887
  display: flex;
888
  align-items: center;
889
- justify-content: center;
890
- margin-bottom: var(--space-12);
891
- font-size: var(--font-size-xl);
892
- font-weight: var(--font-weight-bold);
893
- color: var(--color-primary);
894
  }
895
 
896
- .workflow-step.active .step-icon {
897
- background: var(--color-btn-primary-text);
898
- color: var(--color-primary);
899
  }
900
 
901
- .workflow-step h3 {
 
902
  margin: 0;
903
- font-size: var(--font-size-lg);
904
- font-weight: var(--font-weight-semibold);
905
- }
906
-
907
- /* Деталі етапу */
908
- .step-details {
909
- display: none;
910
- }
911
-
912
- .step-details.active {
913
- display: block;
914
  }
915
 
916
- .step-navigation {
917
- display: flex;
918
- gap: var(--space-12);
919
  }
920
 
921
- .step-content {
922
  display: grid;
923
  gap: var(--space-24);
924
  }
925
 
926
- .step-description {
927
- font-size: var(--font-size-lg);
928
- line-height: var(--line-height-normal);
929
- }
930
-
931
- .step-key-points, .step-tips {
932
  background: var(--color-background);
933
  padding: var(--space-20);
934
  border-radius: var(--radius-md);
935
- border-left: 4px solid var(--color-primary);
936
  }
937
 
938
- .step-key-points h3, .step-tips h3 {
939
- margin-top: 0;
940
- margin-bottom: var(--space-16);
941
- color: var(--color-primary);
942
  }
943
 
944
- .step-key-points ul, .step-tips ul {
 
 
945
  margin: 0;
946
- padding-left: var(--space-20);
947
  }
948
 
949
- .step-key-points li, .step-tips li {
950
- margin-bottom: var(--space-8);
951
- line-height: var(--line-height-normal);
 
952
  }
953
 
954
- .example-box {
955
- background: var(--color-secondary);
956
- padding: var(--space-20);
957
- border-radius: var(--radius-md);
958
- border-left: 4px solid var(--color-warning);
959
- font-style: italic;
960
- line-height: var(--line-height-normal);
961
  }
962
 
963
- .step-example h3 {
964
- margin-bottom: var(--space-16);
965
- color: var(--color-warning);
 
966
  }
967
 
968
- /* Вікторина */
969
- .step-quiz {
970
- background: var(--color-surface);
971
- padding: var(--space-24);
972
- border-radius: var(--radius-lg);
973
- border: 1px solid var(--color-border);
974
  }
975
 
976
- .step-quiz h3 {
977
- margin-top: 0;
978
- margin-bottom: var(--space-20);
979
- color: var(--color-primary);
980
  }
981
 
982
- .quiz-question {
983
- font-size: var(--font-size-lg);
984
- font-weight: var(--font-weight-medium);
985
- margin-bottom: var(--space-16);
986
  }
987
 
988
- .quiz-options {
989
  display: grid;
990
- gap: var(--space-8);
991
- margin-bottom: var(--space-16);
992
  }
993
 
994
- .quiz-option {
 
 
 
995
  padding: var(--space-12);
996
- background: var(--color-background);
997
- border: 1px solid var(--color-border);
998
- border-radius: var(--radius-base);
999
- cursor: pointer;
1000
- transition: all var(--duration-fast) var(--ease-standard);
1001
  }
1002
 
1003
- .quiz-option:hover {
1004
- background: var(--color-secondary);
1005
- border-color: var(--color-primary);
1006
  }
1007
 
1008
- .quiz-option.selected {
1009
- background: var(--color-primary);
1010
- color: var(--color-btn-primary-text);
1011
- border-color: var(--color-primary);
1012
  }
1013
 
1014
- .quiz-option.correct {
1015
- background: var(--color-success);
1016
- color: var(--color-btn-primary-text);
1017
- border-color: var(--color-success);
1018
  }
1019
 
1020
- .quiz-option.incorrect {
1021
- background: var(--color-error);
1022
- color: var(--color-btn-primary-text);
1023
- border-color: var(--color-error);
 
1024
  }
1025
 
1026
- .quiz-result {
1027
- padding: var(--space-12);
1028
- border-radius: var(--radius-base);
1029
- margin-bottom: var(--space-16);
1030
- display: none;
 
 
1031
  }
1032
 
1033
- .quiz-result.show {
1034
- display: block;
 
1035
  }
1036
 
1037
- .quiz-result.correct {
 
1038
  background: rgba(var(--color-success-rgb), 0.1);
1039
- border: 1px solid var(--color-success);
1040
- color: var(--color-success);
1041
  }
1042
 
1043
- .quiz-result.incorrect {
1044
- background: rgba(var(--color-error-rgb), 0.1);
1045
- border: 1px solid var(--color-error);
1046
- color: var(--color-error);
 
1047
  }
1048
 
1049
- /* Футер */
1050
- .footer {
1051
- background: var(--color-surface);
1052
- border-top: 1px solid var(--color-border);
1053
- padding: var(--space-20) 0;
1054
- margin-top: var(--space-32);
1055
  }
1056
 
1057
- .footer p {
1058
- margin: 0;
1059
- text-align: center;
1060
- color: var(--color-text-secondary);
1061
- font-size: var(--font-size-sm);
1062
  }
1063
 
1064
- /* Responsive design */
1065
- @media (max-width: 768px) {
1066
- .workflow-container {
1067
- flex-direction: column;
 
 
 
 
 
 
1068
  gap: var(--space-24);
1069
  }
1070
 
1071
- .sidebar {
1072
- width: 100%;
1073
- order: 2;
1074
  }
1075
 
1076
- .main-panel {
1077
  order: 1;
1078
  }
1079
 
1080
- .workflow-diagram {
1081
- grid-template-columns: 1fr;
1082
- gap: var(--space-16);
1083
- padding: var(--space-16);
1084
- }
1085
-
1086
- .step-navigation {
1087
- flex-direction: column;
1088
- }
1089
-
1090
- .step-navigation .btn {
1091
- width: 100%;
1092
- justify-content: center;
1093
  }
1094
 
1095
- .header h1 {
1096
- font-size: var(--font-size-2xl);
1097
  }
1098
  }
1099
 
1100
- @media (max-width: 480px) {
1101
- .main-content {
1102
- padding: var(--space-16) var(--space-12);
1103
  }
1104
 
1105
- .workflow-step {
1106
- padding: var(--space-16);
 
 
1107
  }
1108
 
1109
- .step-icon {
1110
- width: 40px;
1111
- height: 40px;
1112
- font-size: var(--font-size-lg);
1113
  }
1114
 
1115
- .step-content {
1116
- gap: var(--space-20);
 
1117
  }
1118
  }
 
654
  format('woff2');
655
  }
656
 
657
+ /* Header */
 
 
 
 
 
 
 
 
658
  .header {
659
+ background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
660
  color: var(--color-btn-primary-text);
661
+ padding: var(--space-24) 0;
662
+ margin-bottom: var(--space-32);
663
  }
664
 
665
+ .header__title {
 
666
  font-size: var(--font-size-3xl);
 
667
  font-weight: var(--font-weight-bold);
668
+ margin-bottom: var(--space-8);
669
  }
670
 
671
+ .header__subtitle {
672
+ font-size: var(--font-size-lg);
673
+ opacity: 0.9;
674
+ margin: 0;
675
  }
676
 
677
+ /* Main Layout */
678
+ .main {
679
+ min-height: calc(100vh - 200px);
680
  }
681
 
682
+ .container {
683
+ display: grid;
684
+ grid-template-columns: 280px 1fr 1fr;
685
+ gap: var(--space-32);
686
+ align-items: start;
687
  }
688
 
689
+ /* Filters Sidebar */
690
+ .filters {
691
+ background: var(--color-surface);
692
+ border: 1px solid var(--color-card-border);
693
+ border-radius: var(--radius-lg);
694
+ padding: var(--space-24);
695
  position: sticky;
696
  top: var(--space-24);
697
+ box-shadow: var(--shadow-sm);
698
  }
699
 
700
+ .filters__section {
701
+ margin-bottom: var(--space-24);
702
+ }
703
+
704
+ .filters__section:last-child {
705
+ margin-bottom: 0;
706
+ }
707
+
708
+ .filters__title {
709
  font-size: var(--font-size-lg);
710
+ font-weight: var(--font-weight-semibold);
711
+ margin-bottom: var(--space-12);
712
+ color: var(--color-text);
713
  }
714
 
715
+ .filters .form-control {
716
+ margin-bottom: var(--space-16);
 
 
717
  }
718
 
719
+ .progress-summary {
720
+ display: flex;
721
+ flex-direction: column;
722
+ gap: var(--space-8);
723
  }
724
 
725
+ .progress-item {
726
  display: flex;
727
+ justify-content: space-between;
728
  align-items: center;
729
+ padding: var(--space-8);
730
+ background: var(--color-secondary);
731
+ border-radius: var(--radius-sm);
732
+ }
733
+
734
+ .progress-label {
735
+ font-size: var(--font-size-sm);
736
+ color: var(--color-text-secondary);
737
+ }
738
+
739
+ .progress-value {
740
+ font-weight: var(--font-weight-bold);
741
+ color: var(--color-primary);
742
+ }
743
+
744
+ /* Timeline */
745
+ .timeline-container {
746
+ position: relative;
747
+ }
748
+
749
+ .timeline {
750
+ position: relative;
751
+ padding: var(--space-24) 0;
752
+ }
753
+
754
+ .timeline__line {
755
+ position: absolute;
756
+ left: 50%;
757
+ top: 0;
758
+ bottom: 0;
759
+ width: 4px;
760
+ background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-border) 60%, var(--color-border) 100%);
761
+ border-radius: var(--radius-full);
762
+ transform: translateX(-50%);
763
+ }
764
+
765
+ .timeline__stages {
766
+ display: flex;
767
+ flex-direction: column;
768
+ gap: var(--space-24);
769
+ }
770
+
771
+ .timeline-stage {
772
+ position: relative;
773
+ display: flex;
774
+ align-items: center;
775
+ cursor: pointer;
776
  transition: all var(--duration-normal) var(--ease-standard);
 
 
777
  }
778
 
779
+ .timeline-stage:hover {
780
+ transform: translateY(-2px);
 
781
  }
782
 
783
+ .timeline-stage--left {
784
+ justify-content: flex-end;
785
+ padding-right: calc(50% + var(--space-32));
 
786
  }
787
 
788
+ .timeline-stage--right {
789
+ justify-content: flex-start;
790
+ padding-left: calc(50% + var(--space-32));
791
+ }
792
+
793
+ .timeline-stage__node {
794
+ position: absolute;
795
+ left: 50%;
796
+ top: 50%;
797
+ transform: translate(-50%, -50%);
798
+ width: 60px;
799
+ height: 60px;
800
+ border-radius: 50%;
801
  display: flex;
802
  align-items: center;
803
  justify-content: center;
804
+ font-size: var(--font-size-2xl);
805
+ border: 4px solid var(--color-surface);
806
+ box-shadow: var(--shadow-md);
807
+ transition: all var(--duration-normal) var(--ease-standard);
808
+ z-index: 2;
809
+ }
810
+
811
+ .timeline-stage--completed .timeline-stage__node {
812
+ background: var(--color-success);
813
+ color: white;
814
+ }
815
+
816
+ .timeline-stage--in-progress .timeline-stage__node {
817
+ background: var(--color-warning);
818
+ color: white;
819
+ animation: pulse 2s infinite;
820
+ }
821
+
822
+ .timeline-stage--pending .timeline-stage__node {
823
  background: var(--color-secondary);
824
+ color: var(--color-text-secondary);
 
 
825
  }
826
 
827
+ .timeline-stage--active .timeline-stage__node {
828
+ transform: translate(-50%, -50%) scale(1.1);
829
+ box-shadow: var(--shadow-lg), var(--focus-ring);
830
  }
831
 
832
+ @keyframes pulse {
833
+ 0%, 100% { opacity: 1; }
834
+ 50% { opacity: 0.7; }
835
  }
836
 
837
+ .timeline-stage__card {
 
838
  background: var(--color-surface);
839
+ border: 1px solid var(--color-card-border);
840
  border-radius: var(--radius-lg);
841
+ padding: var(--space-20);
842
+ max-width: 300px;
843
+ box-shadow: var(--shadow-sm);
844
+ transition: all var(--duration-normal) var(--ease-standard);
845
  }
846
 
847
+ .timeline-stage:hover .timeline-stage__card {
848
+ box-shadow: var(--shadow-md);
849
+ border-color: var(--color-primary);
850
  }
851
 
852
+ .timeline-stage__title {
853
+ font-size: var(--font-size-lg);
854
+ font-weight: var(--font-weight-semibold);
 
 
 
855
  margin-bottom: var(--space-8);
856
+ color: var(--color-text);
857
  }
858
 
859
+ .timeline-stage__description {
860
+ font-size: var(--font-size-sm);
861
+ color: var(--color-text-secondary);
862
+ margin: 0;
863
+ }
864
+
865
+ .timeline-stage__status {
866
+ display: inline-block;
867
+ margin-top: var(--space-8);
868
+ padding: var(--space-4) var(--space-8);
869
  border-radius: var(--radius-full);
870
+ font-size: var(--font-size-xs);
871
+ font-weight: var(--font-weight-medium);
872
+ text-transform: uppercase;
873
+ letter-spacing: 0.5px;
874
  }
875
 
876
+ .status--completed {
877
+ background: rgba(var(--color-success-rgb), 0.15);
878
+ color: var(--color-success);
879
+ border: 1px solid rgba(var(--color-success-rgb), 0.25);
880
  }
881
 
882
+ .status--in-progress {
883
+ background: rgba(var(--color-warning-rgb), 0.15);
884
+ color: var(--color-warning);
885
+ border: 1px solid rgba(var(--color-warning-rgb), 0.25);
886
  }
887
 
888
+ .status--pending {
889
+ background: rgba(var(--color-info-rgb), 0.15);
890
+ color: var(--color-info);
891
+ border: 1px solid rgba(var(--color-info-rgb), 0.25);
892
+ }
893
+
894
+ /* Content Area */
895
+ .content-area {
896
+ background: var(--color-surface);
897
+ border: 1px solid var(--color-card-border);
898
+ border-radius: var(--radius-lg);
899
+ box-shadow: var(--shadow-sm);
900
+ min-height: 600px;
901
  }
902
 
903
+ .stage-detail {
904
+ padding: var(--space-32);
905
+ }
906
+
907
+ .welcome-message h2 {
908
+ color: var(--color-text);
909
  margin-bottom: var(--space-16);
 
910
  }
911
 
912
+ .welcome-message p {
913
+ color: var(--color-text-secondary);
914
  margin-bottom: var(--space-32);
915
  }
916
 
917
+ .overview-stats {
918
  display: grid;
919
+ grid-template-columns: repeat(3, 1fr);
920
+ gap: var(--space-16);
 
 
 
 
921
  }
922
 
923
+ .stat-card {
 
 
 
924
  text-align: center;
925
  padding: var(--space-20);
926
+ background: var(--color-secondary);
927
  border-radius: var(--radius-md);
928
+ border: 1px solid var(--color-card-border);
 
 
 
929
  }
930
 
931
+ .stat-card h3 {
932
+ font-size: var(--font-size-sm);
933
+ color: var(--color-text-secondary);
934
+ margin-bottom: var(--space-8);
935
+ font-weight: var(--font-weight-medium);
936
  }
937
 
938
+ .stat-value {
939
+ font-size: var(--font-size-3xl);
940
+ font-weight: var(--font-weight-bold);
941
+ color: var(--color-primary);
 
 
942
  }
943
 
944
+ /* Stage Detail Content */
945
+ .stage-content {
946
+ animation: fadeIn 0.3s ease-in-out;
947
  }
948
 
949
+ @keyframes fadeIn {
950
+ from { opacity: 0; transform: translateY(10px); }
951
+ to { opacity: 1; transform: translateY(0); }
 
 
 
 
 
 
 
 
 
 
 
 
952
  }
953
 
954
+ .stage-header {
 
 
 
 
955
  display: flex;
956
  align-items: center;
957
+ gap: var(--space-16);
958
+ margin-bottom: var(--space-24);
959
+ padding-bottom: var(--space-16);
960
+ border-bottom: 1px solid var(--color-border);
 
961
  }
962
 
963
+ .stage-icon {
964
+ font-size: var(--font-size-4xl);
 
965
  }
966
 
967
+ .stage-title {
968
+ font-size: var(--font-size-3xl);
969
  margin: 0;
 
 
 
 
 
 
 
 
 
 
 
970
  }
971
 
972
+ .stage-description {
973
+ color: var(--color-text-secondary);
974
+ margin: var(--space-8) 0 0 0;
975
  }
976
 
977
+ .stage-sections {
978
  display: grid;
979
  gap: var(--space-24);
980
  }
981
 
982
+ .stage-section {
 
 
 
 
 
983
  background: var(--color-background);
984
  padding: var(--space-20);
985
  border-radius: var(--radius-md);
986
+ border: 1px solid var(--color-card-border-inner);
987
  }
988
 
989
+ .stage-section h4 {
990
+ margin-bottom: var(--space-12);
991
+ color: var(--color-text);
992
+ font-size: var(--font-size-lg);
993
  }
994
 
995
+ .key-points {
996
+ list-style: none;
997
+ padding: 0;
998
  margin: 0;
 
999
  }
1000
 
1001
+ .key-points li {
1002
+ padding: var(--space-8) 0;
1003
+ padding-left: var(--space-20);
1004
+ position: relative;
1005
  }
1006
 
1007
+ .key-points li:before {
1008
+ content: "✓";
1009
+ position: absolute;
1010
+ left: 0;
1011
+ color: var(--color-success);
1012
+ font-weight: var(--font-weight-bold);
 
1013
  }
1014
 
1015
+ .compliance-badges {
1016
+ display: flex;
1017
+ gap: var(--space-8);
1018
+ flex-wrap: wrap;
1019
  }
1020
 
1021
+ .compliance-badge {
1022
+ padding: var(--space-6) var(--space-12);
1023
+ border-radius: var(--radius-full);
1024
+ font-size: var(--font-size-sm);
1025
+ font-weight: var(--font-weight-medium);
 
1026
  }
1027
 
1028
+ .compliance-badge--active {
1029
+ background: var(--color-success);
1030
+ color: var(--color-btn-primary-text);
 
1031
  }
1032
 
1033
+ .compliance-badge--inactive {
1034
+ background: var(--color-secondary);
1035
+ color: var(--color-text-secondary);
 
1036
  }
1037
 
1038
+ .metrics-grid {
1039
  display: grid;
1040
+ grid-template-columns: repeat(2, 1fr);
1041
+ gap: var(--space-16);
1042
  }
1043
 
1044
+ .metric-item {
1045
+ display: flex;
1046
+ justify-content: space-between;
1047
+ align-items: center;
1048
  padding: var(--space-12);
1049
+ background: var(--color-surface);
1050
+ border-radius: var(--radius-sm);
1051
+ border: 1px solid var(--color-card-border-inner);
 
 
1052
  }
1053
 
1054
+ .metric-label {
1055
+ font-weight: var(--font-weight-medium);
1056
+ color: var(--color-text);
1057
  }
1058
 
1059
+ .metric-value {
1060
+ font-weight: var(--font-weight-bold);
1061
+ color: var(--color-primary);
 
1062
  }
1063
 
1064
+ .chart-container {
1065
+ height: 300px;
1066
+ margin-top: var(--space-16);
 
1067
  }
1068
 
1069
+ .model-selector {
1070
+ display: grid;
1071
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1072
+ gap: var(--space-12);
1073
+ margin-bottom: var(--space-20);
1074
  }
1075
 
1076
+ .model-option {
1077
+ padding: var(--space-16);
1078
+ border: 2px solid var(--color-border);
1079
+ border-radius: var(--radius-md);
1080
+ cursor: pointer;
1081
+ transition: all var(--duration-normal) var(--ease-standard);
1082
+ text-align: center;
1083
  }
1084
 
1085
+ .model-option:hover {
1086
+ border-color: var(--color-primary);
1087
+ background: var(--color-secondary);
1088
  }
1089
 
1090
+ .model-option--selected {
1091
+ border-color: var(--color-primary);
1092
  background: rgba(var(--color-success-rgb), 0.1);
 
 
1093
  }
1094
 
1095
+ .alert {
1096
+ padding: var(--space-16);
1097
+ border-radius: var(--radius-md);
1098
+ margin: var(--space-12) 0;
1099
+ border-left: 4px solid;
1100
  }
1101
 
1102
+ .alert--warning {
1103
+ background: rgba(var(--color-warning-rgb), 0.1);
1104
+ border-left-color: var(--color-warning);
1105
+ color: var(--color-warning);
 
 
1106
  }
1107
 
1108
+ .alert--success {
1109
+ background: rgba(var(--color-success-rgb), 0.1);
1110
+ border-left-color: var(--color-success);
1111
+ color: var(--color-success);
 
1112
  }
1113
 
1114
+ .alert--info {
1115
+ background: rgba(var(--color-info-rgb), 0.1);
1116
+ border-left-color: var(--color-info);
1117
+ color: var(--color-info);
1118
+ }
1119
+
1120
+ /* Responsive Design */
1121
+ @media (max-width: 1024px) {
1122
+ .container {
1123
+ grid-template-columns: 1fr;
1124
  gap: var(--space-24);
1125
  }
1126
 
1127
+ .filters {
1128
+ position: static;
1129
+ order: -1;
1130
  }
1131
 
1132
+ .timeline-container {
1133
  order: 1;
1134
  }
1135
 
1136
+ .content-area {
1137
+ order: 2;
 
 
 
 
 
 
 
 
 
 
 
1138
  }
1139
 
1140
+ .overview-stats {
1141
+ grid-template-columns: 1fr;
1142
  }
1143
  }
1144
 
1145
+ @media (max-width: 768px) {
1146
+ .header__title {
1147
+ font-size: var(--font-size-2xl);
1148
  }
1149
 
1150
+ .timeline-stage--left,
1151
+ .timeline-stage--right {
1152
+ justify-content: center;
1153
+ padding: 0 var(--space-16);
1154
  }
1155
 
1156
+ .timeline-stage__card {
1157
+ max-width: 100%;
 
 
1158
  }
1159
 
1160
+ .stage-header {
1161
+ flex-direction: column;
1162
+ text-align: center;
1163
  }
1164
  }