@@ -438,61 +438,179 @@ form .warning input[type='checkbox']+label {
438438 // Same size as login box and dashboard panels
439439 width : 320px ;
440440 box-sizing : border-box ;
441+ padding : calc (4 * var (--default-grid-baseline ));
442+ }
443+
444+ .two-factor-providers {
445+ display : flex ;
446+ flex-direction : column ;
447+ gap : calc (2 * var (--default-grid-baseline ));
448+ margin-top : calc (4 * var (--default-grid-baseline ));
441449}
442450
443451.two-factor-provider {
444452 display : flex ;
445- border-radius : 3px ; /* --border-radius */
446- margin : 12px 0 ;
447- border : 1px solid transparent ;
448- text-align : start ;
449453 align-items : center ;
454+ box-sizing : border-box ;
455+ width : 100% ;
456+ gap : calc (2.5 * var (--default-grid-baseline ));
457+ padding : calc (3 * var (--default-grid-baseline )) calc (2 * var (--default-grid-baseline ));
458+ border-radius : var (--border-radius-large );
459+ text-align : start ;
450460 text-decoration : none !important ;
451461
452462 & :hover ,
453- & :focus ,
454- & :active {
455- border : 1px solid #fff ;
463+ & :focus-visible {
464+ background-color : var (--color-background-hover );
456465 }
457- img {
458- width : 64px ;
459- height : 64px ;
460- padding : 0 12px ;
466+
467+ & :focus-visible {
468+ outline : 2px solid var (--color-main-text );
469+ outline-offset : -2px ;
470+ }
471+
472+ & ::after {
473+ content : ' ' ;
474+ flex : none ;
475+ width : 12px ;
476+ height : 12px ;
477+ background : url (' ../img/actions/arrow-right.svg' ) no-repeat center / 12px ;
478+ filter : var (--background-invert-if-dark );
479+ opacity : .6 ;
480+ }
481+
482+ & :dir (rtl )::after {
483+ transform : scaleX (-1 );
461484 }
485+
462486 div {
463- margin : 12px 0 ;
487+ flex : 1 ;
488+ min-width : 0 ;
464489 }
490+
465491 h3 {
466492 margin : 0 ;
467493 }
494+
468495 p {
496+ margin : var (--default-grid-baseline ) 0 0 ;
469497 font-weight : normal ;
498+ font-size : var (--font-size-small , 13px );
499+ line-height : 1.35 ;
500+ color : var (--color-text-maxcontrast );
501+ }
502+ }
503+
504+ .two-factor-provider-icon {
505+ display : grid ;
506+ flex : none ;
507+ place-items : center ;
508+ width : 40px ;
509+ height : 40px ;
510+ border-radius : 50% ;
511+ background-color : var (--color-primary-element-light );
512+
513+ img {
514+ width : 24px ;
515+ height : 24px ;
516+ filter : var (--background-invert-if-bright );
470517 }
471518}
472519
473520.two-factor-icon {
474- width : 100px ;
475521 display : block ;
476- margin : 0 auto ;
522+ width : 48px ;
523+ margin : 0 auto calc (3 * var (--default-grid-baseline ));
524+ filter : var (--background-invert-if-bright );
525+ }
526+
527+ .two-factor-code-input {
528+ width : 100% !important ;
529+ height : 52px !important ;
530+ margin : 0 0 calc (3 * var (--default-grid-baseline )) !important ;
531+ font-size : 20px !important ;
532+ text-align : center ;
533+
534+ & ::placeholder {
535+ font-size : inherit ;
536+ }
537+ }
538+
539+ .two-factor-code-digits {
540+ padding-inline-start : .5em !important ;
541+ font-family : ui-monospace , ' SFMono-Regular' , Menlo, Consolas, monospace ;
542+ font-size : 26px !important ;
543+ font-weight : bold ;
544+ letter-spacing : .5em ;
545+
546+ & ::placeholder {
547+ color : var (--color-text-maxcontrast );
548+ }
477549}
478550
479- .two-factor-submit {
551+ .two-factor .two-factor -submit {
480552 width : 100% ;
481- padding : 10px ;
482- margin : 0 0 5px 0 ;
483- border-radius : 100px ; /* --border-radius-pill */
484- font-size : 20px ;
553+ min-height : 48px ;
554+ margin : 0 ;
555+ border-radius : var (--border-radius-element );
556+ font-size : 16px ;
557+ font-weight : bold ;
485558}
486559
487560.two-factor-primary {
488- /* Fix for 'Use backup codes' button not taking correct styles */
489- padding : 14 px !important ;
490- width : 226 px ;
561+ display : block !important ;
562+ width : 100 % ;
563+ margin-top : calc ( 3 * var ( --default-grid-baseline )) ;
491564}
492565
493- .two-factor-secondary {
494- display : inline-block ;
495- padding : 12px ;
566+ .two-factor-actions {
567+ display : flex ;
568+ flex-direction : column ;
569+ gap : calc (2 * var (--default-grid-baseline ));
570+ margin-top : calc (6 * var (--default-grid-baseline ));
571+ padding-top : calc (5 * var (--default-grid-baseline ));
572+ border-top : 1px solid var (--color-border-dark );
573+
574+ a {
575+ display : flex ;
576+ align-items : center ;
577+ justify-content : center ;
578+ gap : calc (2 * var (--default-grid-baseline ));
579+ min-height : var (--default-clickable-area );
580+ border-radius : var (--border-radius-element );
581+ font-weight : bold ;
582+
583+ & :hover ,
584+ & :focus-visible {
585+ background-color : var (--color-background-hover );
586+ }
587+
588+ & :focus-visible {
589+ outline : 2px solid var (--color-main-text );
590+ outline-offset : -2px ;
591+ }
592+ }
593+
594+ .two-factor-action-switch ::before ,
595+ .two-factor-action-backup ::before {
596+ content : ' ' ;
597+ width : 16px ;
598+ height : 16px ;
599+ background : no-repeat center / 16px ;
600+ filter : var (--background-invert-if-dark );
601+ }
602+
603+ .two-factor-action-switch ::before {
604+ background-image : url (' ../img/actions/change.svg' );
605+ }
606+
607+ .two-factor-action-backup ::before {
608+ background-image : url (' ../img/actions/password.svg' );
609+ }
610+
611+ #cancel-login {
612+ color : var (--color-text-error );
613+ }
496614}
497615
498616
0 commit comments