@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin); html, body, #app { height: 100%; margin: 0; } body { -webkit-font-smoothing: antialiased; -moz-osx-smoothing: grayscale; font-family: 'PingFang SC', 'Helvetica Neue', Arial, 'Microsoft YaHei', sans-serif; overflow-y: scroll; padding-top: 56px; /* Adjust based on navbar height */ scrollbar-width: none; background-color: #f8f9fa; /* Light gray background */ display: flex; flex-direction: column; } body::-webkit-scrollbar { display: none; } .main-content { padding: 4px; } .small-icon .icon { font-size: 1em !important; } .custom-footer { font-size: 1.1em; } @media only screen and (max-width: 600px) { .hide-on-mobile { display: none !important; } } @media screen and (max-width: 768px) { .ui.container { padding: 0 10px !important; width: 100% !important; } .ui.card, .ui.cards, .ui.container, .ui.segment { margin-left: 0 !important; margin-right: 0 !important; } .ui.table { padding-left: 0 !important; padding-right: 0 !important; } } @media screen and (min-width: 769px) and (max-width: 1366px) { .ui.container { margin-left: auto !important; margin-right: auto !important; max-width: 100% !important; padding: 0 24px !important; width: auto !important; } .ui.table { font-size: .9em; } .ui.cards { margin-left: -.5em !important; margin-right: -.5em !important; } .ui.cards>.card { margin: .5em !important; width: calc(50% - 1em) !important; } } @media screen and (min-width: 1367px) { .ui.container { margin-left: auto !important; margin-right: auto !important; padding: 0 !important; width: 1200px !important; } } @media screen and (max-width: 1366px) { .charts-grid { margin: 0 -.5em !important; } .charts-grid .column { padding: .5em !important; } .chart-card { margin: 0 !important; } .ui.header { font-size: 1.1em !important; } .stat-value { font-size: .9em !important; } } /* Custom styles for SP Website */ .user-avatar { width: 32px; height: 32px; object-fit: cover; } /* Login page specific styles */ .auth-container { min-height: calc(100vh - 56px - 60px); /* Full height minus navbar and footer */ padding-top: 50px; padding-bottom: 50px; } .login-card { max-width: 400px; border: none; border-radius: 10px; background-color: #fff; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); } .login-card .card-title { font-weight: bold; color: #333; } .input-group-text { background-color: #e9ecef; border-right: none; border-color: #ced4da; } .form-control { border-left: none; } .form-control:focus { box-shadow: none; border-color: #80bdff; } .btn-primary { background-color: #007bff; border-color: #007bff; } .btn-primary:hover { background-color: #0056b3; border-color: #0056b3; } .divider { position: relative; text-align: center; margin-top: 1.5rem; margin-bottom: 1.5rem; } .divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid #e0e0e0; z-index: 1; } .divider-text { background-color: #fff; padding: 0 10px; position: relative; z-index: 2; color: #6c757d; font-size: 0.9rem; } .social-login-icons .btn { width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; font-size: 1.2rem; color: #6c757d; border-color: #ced4da; } .social-login-icons .btn:hover { color: #007bff; border-color: #007bff; } .navbar { background-color: #ffffff !important; border-bottom: none; /* Remove border-bottom as per image */ box-shadow: 0 0px 2px 12px rgba(0, 0, 0, 0.04); /* Adjusted box-shadow as per image */ } .navbar-brand { color: #333 !important; font-weight: 600; padding-left: 20px; /* Add left padding for brand */ } .navbar-brand .fw-bold { color: #333 !important; } .navbar-nav .nav-item .nav-link { color: #666 !important; /* Adjust nav-link color */ font-weight: 500; padding: 0.5rem 1rem; /* Adjust padding */ } .navbar-nav .nav-item .nav-link:hover { color: #007bff !important; /* Hover effect */ } .container-fluid { padding-left: 20px; /* Adjust container padding for left/right */ padding-right: 20px; } /* Login page specific styles adjustments */ .auth-container { min-height: calc(100vh - 56px - 60px); /* Full height minus navbar and footer */ padding-top: 50px; padding-bottom: 50px; background-color: #f8f9fa; /* Match body background */ } .login-card { max-width: 550px; /* Increased width by 100px from previous 450px */ border: none; border-radius: 10px; background-color: #fff; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); padding: 2.5rem !important; /* Increased padding */ } .login-card .card-title { font-weight: bold; color: #333; font-size: 1.8rem; /* Larger title */ /* margin-bottom: 2rem !important; */ /* Removed as it's now horizontal with logo */ } .input-group-text { background-color: #f8f9fa; /* Light gray background for input icon */ border-right: none; border-color: #ced4da; color: #6c757d; /* Icon color */ } .form-control { border-left: none; border-color: #ced4da; } .form-control:focus { box-shadow: none; border-color: #007bff; /* Focus border color */ } .btn-primary { background-color: #007bff; border-color: #007bff; font-size: 1.1rem; padding: 0.75rem 1.5rem; border-radius: 0.3rem; } .btn-primary:hover { background-color: #0056b3; border-color: #0056b3; } .text-muted { color: #6c757d !important; /* Ensure muted text color */ } .divider { position: relative; text-align: center; margin-top: 2rem !important; margin-bottom: 2rem !important; } .divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid #e0e0e0; z-index: 1; } .divider-text { background-color: #fff; padding: 0 10px; position: relative; z-index: 2; color: #6c757d; font-size: 0.9rem; } .social-login-icons .btn { width: 45px; /* Slightly larger icons */ height: 45px; display: flex; justify-content: center; align-items: center; font-size: 1.4rem; /* Larger icon size */ /* Remove border and border-radius */ border: none; background-color: transparent; } .social-login-icons .btn:hover { background-color: rgba(0, 0, 0, 0.05); /* Subtle hover effect */ } .social-login-icons .github-icon { color: #24292e; /* GitHub brand color */ } .social-login-icons .wechat-icon { color: #07c160; /* WeChat brand color */ } .footer { background-color: #f8f9fa; border-top: 1px solid #e9ecef; color: #6c757d; font-size: 0.85rem; padding: 15px 0; width: 100%; } .footer .text-muted { color: #6c757d !important; } .hero-section { flex-grow: 1; background-color: #ffffff; padding: 80px 20px; /* Increased padding for top/bottom */ margin-top: -56px; /* Compensate for fixed navbar */ display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 56px - 60px); /* Full height minus navbar and footer */ } .hero-title { font-size: 3.5rem; /* Larger font size */ color: #333; line-height: 1.2; margin-bottom: 1.5rem !important; } .hero-description { font-size: 1.3rem; /* Slightly larger lead text */ color: #666; line-height: 1.6; max-width: 700px; margin-left: auto; margin-right: auto; margin-bottom: 2.5rem !important; } .btn-primary { background-color: #007bff; border-color: #007bff; font-size: 1.1rem; padding: 0.75rem 1.5rem; border-radius: 0.3rem; } .btn-primary:hover { background-color: #0056b3; border-color: #0056b3; } .btn-outline-secondary { color: #6c757d; background-color: #e9ecef; /* Light gray background */ border-color: #e9ecef; /* Light gray border */ font-size: 1.1rem; padding: 0.75rem 1.5rem; border-radius: 0.3rem; } .btn-outline-secondary:hover { color: #fff; background-color: #6c757d; border-color: #6c757d; } .btn-outline-secondary:disabled { color: #6c757d; background-color: #e9ecef; border-color: #e9ecef; opacity: 0.65; } .footer { background-color: #f8f9fa; border-top: 1px solid #e9ecef; color: #6c757d; font-size: 0.85rem; padding: 15px 0; width: 100%; } .footer .text-muted { color: #6c757d !important; } /* Remove dashboard specific styles as they are no longer needed for the unauthenticated homepage */ /* User Dropdown specific styles */ .navbar-nav .nav-item.dropdown .nav-link { padding-right: 1rem !important; /* Ensure space for dropdown arrow */ } .navbar-nav .nav-item.dropdown .dropdown-menu { right: 0; left: auto; min-width: 10rem; } @media (max-width: 991.98px) { .navbar-nav .nav-item.dropdown .dropdown-menu { position: static; float: none; width: 100%; margin-top: 0; background-color: transparent; border: none; box-shadow: none; } .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item { padding-left: calc(1rem + 1.5rem); /* Indent dropdown items */ color: #666 !important; } .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item:hover { color: #007bff !important; background-color: transparent; } .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-divider { display: none; /* Hide divider in mobile view */ } } /* Image management specific styles */ .image-card .img-container { position: relative; width: 100%; padding-top: 100%; /* 1:1 Aspect Ratio */ overflow: hidden; background-color: #f8f9fa; /* Light background for padding */ display: flex; justify-content: center; align-items: center; border-bottom: 1px solid #e9ecef; /* Separator from card body */ } .image-card .img-thumbnail-square { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: calc(100% - 20px); /* 10px padding on each side */ max-height: calc(100% - 20px); /* 10px padding on each side */ object-fit: contain; /* Ensure image fits within the square, with padding */ border: none; /* Remove default thumbnail border */ padding: 0; /* Remove default thumbnail padding */ } .image-card .card-body { padding: 1rem; /* Standard Bootstrap card body padding */ }