@@ -349,4 +349,133 @@ html, body {
349349.bg-primary { background-color : var (--primary-color ); }
350350.bg-secondary { background-color : var (--secondary-color ); }
351351.bg-surface { background-color : var (--surface-color ); }
352- .bg-surface-variant { background-color : var (--surface-variant ); }
352+ .bg-surface-variant { background-color : var (--surface-variant ); }
353+
354+ /* Subscription page styles */
355+ .pricing-table {
356+ display : flex;
357+ flex-wrap : wrap;
358+ gap : var (--spacing-lg );
359+ justify-content : center;
360+ margin : var (--spacing-xl ) 0 ;
361+ }
362+
363+ .pricing-plan {
364+ flex : 1 ;
365+ min-width : 280px ;
366+ max-width : 350px ;
367+ background-color : var (--card-background );
368+ border-radius : var (--border-radius-lg );
369+ box-shadow : var (--shadow-md );
370+ padding : var (--spacing-lg );
371+ text-align : center;
372+ transition : transform var (--transition-normal ), box-shadow var (--transition-normal );
373+ border : 1px solid var (--border-color );
374+ }
375+
376+ .pricing-plan : hover {
377+ transform : translateY (-5px );
378+ box-shadow : var (--shadow-lg );
379+ }
380+
381+ .pricing-plan .popular {
382+ border : 2px solid var (--primary-color );
383+ position : relative;
384+ z-index : 1 ;
385+ }
386+
387+ .pricing-plan .popular ::before {
388+ content : "Best Value" ;
389+ position : absolute;
390+ top : -12px ;
391+ left : 50% ;
392+ transform : translateX (-50% );
393+ background-color : var (--primary-color );
394+ color : var (--text-on-primary );
395+ padding : 4px 12px ;
396+ border-radius : var (--border-radius-full );
397+ font-size : var (--font-size-xs );
398+ font-weight : var (--font-weight-bold );
399+ }
400+
401+ .plan-name {
402+ font-size : var (--font-size-xl );
403+ font-weight : var (--font-weight-bold );
404+ color : var (--text-primary );
405+ margin-bottom : var (--spacing-sm );
406+ }
407+
408+ .plan-price {
409+ font-size : var (--font-size-3xl );
410+ font-weight : var (--font-weight-bold );
411+ color : var (--primary-color );
412+ margin-bottom : var (--spacing-lg );
413+ }
414+
415+ .plan-price small {
416+ font-size : var (--font-size-sm );
417+ font-weight : var (--font-weight-normal );
418+ color : var (--text-secondary );
419+ }
420+
421+ .plan-features {
422+ list-style-type : none;
423+ padding : 0 ;
424+ margin : 0 0 var (--spacing-lg ) 0 ;
425+ text-align : left;
426+ }
427+
428+ .plan-features li {
429+ padding : var (--spacing-sm ) 0 ;
430+ border-bottom : 1px solid var (--border-color );
431+ color : var (--text-secondary );
432+ position : relative;
433+ padding-left : 25px ;
434+ }
435+
436+ .plan-features li ::before {
437+ content : "✓" ;
438+ color : var (--success-color );
439+ position : absolute;
440+ left : 0 ;
441+ font-weight : var (--font-weight-bold );
442+ }
443+
444+ .payment-methods {
445+ text-align : center;
446+ margin : var (--spacing-xl ) 0 ;
447+ }
448+
449+ .payment-methods p {
450+ margin-bottom : var (--spacing-md );
451+ color : var (--text-secondary );
452+ }
453+
454+ .back-link {
455+ display : inline-block;
456+ margin-top : var (--spacing-xl );
457+ color : var (--primary-color );
458+ text-decoration : none;
459+ font-weight : var (--font-weight-medium );
460+ }
461+
462+ .back-link : hover {
463+ text-decoration : underline;
464+ }
465+
466+ .offline-notification {
467+ background-color : var (--warning-color );
468+ color : white;
469+ text-align : center;
470+ padding : var (--spacing-sm );
471+ position : fixed;
472+ bottom : 0 ;
473+ left : 0 ;
474+ right : 0 ;
475+ transform : translateY (100% );
476+ transition : transform var (--transition-normal );
477+ }
478+
479+ .offline-notification .visible {
480+ transform : translateY (0 );
481+ }
0 commit comments