:root {
                --sairiki-blue: #0a4baa;
                --sairiki-blue-deep: #063473;
                --sairiki-red: #d50f3f;
                --sairiki-ink: #17213a;
                --sairiki-muted: #64718a;
                --sairiki-soft: #f5f8ff;
                --sairiki-line: #e2e8f2;
            }
            html {
                scrollbar-color: var(--sairiki-blue) var(--sairiki-soft);
                scrollbar-width: thin;
            }
            ::-webkit-scrollbar { width: 10px; }
            ::-webkit-scrollbar-track { background: var(--sairiki-soft); }
            ::-webkit-scrollbar-thumb {
                background: var(--sairiki-blue);
                border: 2px solid var(--sairiki-soft);
                border-radius: 999px;
            }
            .photo-page {
                background: var(--sairiki-soft);
                color: var(--sairiki-ink);
            }
            .photo-shell {
                margin: 0 auto;
                max-width: 1240px;
                padding-left: 20px;
                padding-right: 20px;
                width: 100%;
            }
            .photo-page .member-nav {
                background: #fff;
                border: 0;
                box-shadow: 0 8px 28px rgba(6,63,152,.08);
                margin: 0;
                min-height: 76px;
            }
            .photo-page .member-nav .navbar-brand {
                height: auto;
                padding: 9px 10px;
            }
            .photo-page .member-nav .gt-header-logo { max-height: 58px; }
            .photo-page .member-nav .nav > li > a {
                color: #25324a;
                font-size: 13px;
                font-weight: 700;
                padding: 28px 14px 25px;
            }
            .photo-page .member-nav .nav > li > a:hover,
            .photo-page .member-nav .nav > li > a:focus,
            .photo-page .member-nav .nav > li.active > a {
                background: transparent;
                color: var(--sairiki-red);
            }
            .photo-page .member-nav .account-link {
                background: var(--sairiki-blue) !important;
                border-radius: 5px;
                color: #fff !important;
                margin: 18px 0 0 10px;
                padding: 10px 15px !important;
            }
            .photo-page .member-nav .navbar-toggle {
                background: var(--sairiki-blue);
                margin-top: 20px;
            }
            .photo-page .member-nav .navbar-toggle .icon-bar { background: #fff; }
            .photo-hero {
                background: #fff;
                border-bottom: 1px solid var(--sairiki-line);
                padding: 30px 0;
            }
            .photo-hero-row {
                align-items: center;
                display: flex;
                justify-content: space-between;
            }
            .photo-hero-copy span {
                color: var(--sairiki-red);
                display: block;
                font-size: 11px;
                font-weight: 800;
                margin-bottom: 5px;
                text-transform: uppercase;
            }
            .photo-hero h1 {
                color: var(--sairiki-blue-deep);
                font-family: 'Merriweather', serif;
                font-size: 29px;
                font-weight: 800;
                margin: 0 0 7px;
            }
            .photo-hero p {
                color: var(--sairiki-muted);
                margin: 0;
            }
            .photo-count {
                background: #eef4ff;
                border: 1px solid #d8e5fa;
                border-radius: 6px;
                color: var(--sairiki-blue-deep);
                font-size: 12px;
                font-weight: 800;
                padding: 11px 14px;
            }
            .photo-workspace { padding-bottom: 70px; padding-top: 28px; }
            .photo-section-heading {
                align-items: flex-end;
                display: flex;
                justify-content: space-between;
                margin: 0 0 14px;
            }
            .photo-section-heading h2 {
                color: var(--sairiki-blue-deep);
                font-family: 'Merriweather', serif;
                font-size: 21px;
                font-weight: 800;
                margin: 0;
            }
            .photo-section-heading p {
                color: var(--sairiki-muted);
                font-size: 12px;
                margin: 3px 0 0;
            }
            .profile-photo-card {
                background: #fff;
                border: 1px solid var(--sairiki-line);
                border-radius: 7px;
                box-shadow: 0 10px 28px rgba(6,63,152,.07);
                display: grid;
                gap: 24px;
                grid-template-columns: 280px minmax(0,1fr);
                margin-bottom: 34px;
                overflow: hidden;
                padding: 22px;
            }
            .profile-photo-preview,
            .gallery-photo-preview {
                background: #edf2f9;
                overflow: hidden;
                position: relative;
            }
            .profile-photo-preview {
                aspect-ratio: 4 / 5;
                border-radius: 6px;
            }
            .profile-photo-preview img,
            .gallery-photo-preview img {
                height: 100%;
                object-fit: cover;
                width: 100%;
            }
            .photo-status {
                border-radius: 4px;
                color: #fff;
                font-size: 10px;
                font-weight: 800;
                left: 10px;
                padding: 6px 8px;
                position: absolute;
                text-transform: uppercase;
                top: 10px;
            }
            .photo-status-approved { background: #18864b; }
            .photo-status-pending { background: #b06b00; }
            .photo-status-empty { background: #68758a; }
            .profile-photo-content {
                align-self: center;
                max-width: 620px;
            }
            .profile-photo-content h3 {
                color: var(--sairiki-blue-deep);
                font-size: 22px;
                font-weight: 800;
                margin: 0 0 10px;
            }
            .profile-photo-content p {
                color: var(--sairiki-muted);
                line-height: 1.7;
                margin: 0 0 18px;
            }
            .photo-tips {
                display: grid;
                gap: 10px;
                grid-template-columns: repeat(3,minmax(0,1fr));
                margin-bottom: 22px;
            }
            .photo-tip {
                align-items: center;
                background: #f7f9fd;
                border: 1px solid #e8edf5;
                border-radius: 5px;
                color: #47546b;
                display: flex;
                font-size: 11px;
                gap: 8px;
                padding: 10px;
            }
            .photo-tip i { color: var(--sairiki-blue); }
            .photo-actions {
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
            }
            .photo-action {
                border: 1px solid transparent;
                border-radius: 5px;
                display: inline-flex;
                font-size: 12px;
                font-weight: 800;
                gap: 7px;
                justify-content: center;
                padding: 11px 15px;
            }
            .photo-action:hover,
            .photo-action:focus { text-decoration: none; }
            .photo-action-primary {
                background: var(--sairiki-blue);
                color: #fff;
            }
            .photo-action-primary:hover,
            .photo-action-primary:focus { color: #fff; }
            .photo-action-danger {
                background: #fff;
                border-color: #f0cbd5;
                color: var(--sairiki-red);
            }
            .photo-gallery {
                display: grid;
                gap: 18px;
                grid-template-columns: repeat(5,minmax(0,1fr));
            }
            .gallery-photo-card {
                background: #fff;
                border: 1px solid var(--sairiki-line);
                border-radius: 7px;
                box-shadow: 0 8px 22px rgba(6,63,152,.06);
                overflow: hidden;
            }
            .gallery-photo-preview { aspect-ratio: 4 / 5; }
            .gallery-photo-body { padding: 13px; }
            .gallery-photo-body h3 {
                color: var(--sairiki-blue-deep);
                font-size: 14px;
                font-weight: 800;
                margin: 0 0 10px;
            }
            .gallery-photo-body .photo-actions {
                display: grid;
                grid-template-columns: 1fr;
            }
            .gallery-photo-body .photo-action { padding: 9px 10px; }
            .photo-page .modal-content {
                border: 0;
                border-radius: 7px;
                box-shadow: 0 20px 60px rgba(23,33,58,.22);
                overflow: hidden;
            }
            .photo-page .modal-header {
                background: var(--sairiki-blue);
                border: 0;
                color: #fff;
                padding: 16px 20px;
            }
            .photo-page .modal-header h5 { color: #fff; font-weight: 800; margin: 0; }
            .photo-page .modal-header .close { color: #fff; opacity: 1; }
            .photo-page .editPhotoModal img {
                aspect-ratio: 4 / 5;
                max-height: 360px;
                object-fit: cover;
                width: 100%;
            }
            .photo-page .editPhotoModal input[type="file"] { display: none; }
            .photo-page .editPhotoModal .gt-btn-orange,
            .photo-page .editPhotoModal .gt-btn-green {
                background: var(--sairiki-blue) !important;
                border: 0;
                border-radius: 5px;
                color: #fff !important;
            }
            @media (max-width: 1100px) {
                .photo-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); }
            }
            @media (max-width: 767px) {
                .photo-shell { padding-left: 12px; padding-right: 12px; }
                .photo-page .member-nav { min-height: 68px; }
                .photo-page .member-nav .navbar-brand { padding-left: 0; }
                .photo-page .member-nav .gt-header-logo { max-height: 50px; }
                .photo-page .member-nav .navbar-collapse {
                    background: #fff;
                    border-top: 1px solid var(--sairiki-line);
                }
                .photo-page .member-nav .nav > li > a { padding: 12px 15px; }
                .photo-page .member-nav .account-link {
                    margin: 7px 15px 15px;
                    text-align: center;
                }
                .photo-hero { padding: 24px 0; }
                .photo-hero-row { align-items: flex-start; flex-direction: column; gap: 14px; }
                .photo-hero h1 { font-size: 25px; }
                .profile-photo-card { grid-template-columns: 1fr; padding: 15px; }
                .profile-photo-preview { margin: 0 auto; max-width: 320px; width: 100%; }
                .photo-tips { grid-template-columns: 1fr; }
                .photo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
                .gallery-photo-body { padding: 10px; }
                .photo-action { width: 100%; }
            }
            @media (max-width: 420px) {
                .photo-gallery { grid-template-columns: 1fr; }
            }

.sairiki-body-hidden,
.sairiki-app-bottom-nav { display: none; }

.gallery-empty-slot {
	align-items: center;
	background: #f3f6fb;
	color: var(--sairiki-muted);
	display: flex;
	flex-direction: column;
	gap: 9px;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.gallery-empty-slot i {
	align-items: center;
	background: #fff;
	border: 1px solid #dce5f1;
	border-radius: 50%;
	color: var(--sairiki-blue);
	display: flex;
	font-size: 21px;
	height: 52px;
	justify-content: center;
	width: 52px;
}

.gallery-empty-slot span {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

@media (max-width: 1199px) {
	body.photo-page { overflow-x: hidden; padding-bottom: 88px; }
	.photo-page #main { padding-top: 72px; }
	.photo-page .member-nav {
		align-items: center; display: flex; height: 72px; left: 0; min-height: 72px;
		position: fixed; right: 0; top: 0; z-index: 1050;
	}
	.photo-page .member-nav .photo-shell {
		align-items: center; display: flex; height: 72px; justify-content: center;
	}
	.photo-page .member-nav .navbar-brand { float: none; margin: 0; padding: 7px 10px; }
	.photo-page .member-nav .gt-header-logo { max-height: 54px; max-width: 180px; object-fit: contain; }
	.photo-page .member-nav .navbar-header,
	.photo-page .member-nav .navbar-collapse { display: none !important; }
	body.photo-page footer,
	body.photo-page .footer-before-login,
	body.photo-page .sairiki-footer,
	body.photo-page .sairiki-footer-bottom,
	body.photo-page .fixLangugeBtn,
	body.photo-page .onlineWidget { display: none !important; }
	.sairiki-app-bottom-nav {
		align-items: center; background: rgba(255,255,255,.96); border: 1px solid #dfe6f0;
		border-radius: 18px; bottom: 10px; box-shadow: 0 12px 30px rgba(6,63,152,.18);
		display: grid; gap: 2px; grid-template-columns: repeat(5,minmax(0,1fr));
		left: 10px; padding: 8px 6px; position: fixed; right: 10px; z-index: 1060;
	}
	.sairiki-app-bottom-nav a {
		align-items: center; border-radius: 12px; color: #66738b; display: flex;
		flex-direction: column; font-size: 10px; font-weight: 700; gap: 4px;
		line-height: 1.1; min-height: 48px; min-width: 0; padding: 7px 3px;
		text-align: center; text-decoration: none !important;
	}
	.sairiki-app-bottom-nav a i { color: var(--sairiki-blue); font-size: 17px; }
	.sairiki-app-bottom-nav a.is-primary { background: var(--sairiki-blue); color: #fff; }
	.sairiki-app-bottom-nav a.is-primary i { color: #fff; }
}

@media (min-width: 768px) and (max-width: 1199px) {
	.photo-page #main { padding-top: 82px; }
	.photo-page .member-nav,
	.photo-page .member-nav .photo-shell { height: 82px; min-height: 82px; }
	.photo-page .member-nav .gt-header-logo { max-height: 62px; max-width: 220px; }
	.sairiki-app-bottom-nav {
		bottom: 16px; left: 50%; max-width: 640px; right: auto;
		transform: translateX(-50%); width: calc(100% - 28px);
	}
	.photo-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767px) {
	.photo-shell { padding-left: 10px; padding-right: 10px; }
	.photo-hero { padding: 18px 0; }
	.photo-hero-row { gap: 10px; }
	.photo-hero h1 { font-size: 23px; line-height: 1.3; }
	.photo-count { padding: 9px 11px; }
	.photo-workspace { padding-bottom: 24px; padding-top: 20px; }
	.profile-photo-card { gap: 18px; margin-bottom: 28px; padding: 12px; }
	.profile-photo-preview { max-width: 100%; }
	.profile-photo-content { padding: 0 3px 4px; }
	.profile-photo-content h3 { font-size: 19px; }
	.profile-photo-content p { font-size: 12px; margin-bottom: 14px; }
	.photo-tips { gap: 7px; margin-bottom: 16px; }
	.photo-tip { min-height: 42px; }
	.photo-gallery { gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gallery-photo-body { padding: 9px; }
	.gallery-photo-body h3 { font-size: 12px; }
	.gallery-photo-body .photo-action {
		align-items: center; font-size: 10px; min-height: 38px; padding: 7px 5px;
	}
	.photo-status { font-size: 8px; left: 7px; padding: 5px 6px; top: 7px; }
	.photo-page .modal-dialog { margin: 10px; width: auto; }
	.photo-page .editPhotoModal img { max-height: 340px; }
}

@media (max-width: 420px) {
	.photo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.sairiki-app-bottom-nav a { font-size: 9px; }
}

@media (max-width: 340px) {
	.photo-gallery { grid-template-columns: 1fr; }
}
