/* Review archive, dated field records and working account sign-in. */
.portal-page{background:#fff;color:#111;font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;min-height:60vh}
.portal-banner{height:256px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.portal-banner>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.portal-banner:after{position:absolute;inset:0;z-index:-1;content:"";background:#0008}
.portal-banner>div{padding:20px;max-width:1300px}
.portal-banner h1{margin:0 0 16px;font-size:48px;line-height:70px;font-weight:700;letter-spacing:0}
.portal-banner p{font-size:24px;line-height:1.8;font-weight:500}
.portal-content{width:min(1400px,calc(100% - 80px));margin-inline:auto;padding-block:48px}
.portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.portal-search{display:flex;align-items:center;position:relative;width:min(460px,100%)}
.portal-search input{display:block;width:100%;height:48px;padding:10px 80px 10px 16px;border:1px solid #d1d5db;border-radius:5px;background:white;color:#111;font:400 16px/1.5 "Noto Sans KR",sans-serif;min-width:0}
.portal-search>button{position:absolute;right:10px;top:11px;padding:3px 6px;border:0;background:transparent;color:#4b5563;font-size:13px;line-height:20px}
.portal-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:5px;background:#60a5fa;color:#fff;font-size:16px;font-weight:500;line-height:24px;text-decoration:none;white-space:nowrap}
.portal-action:hover{background:#3b82f6}
.portal-result-count{margin-bottom:20px;color:#57534e;font-size:14px;line-height:24px}
.portal-review-results .licensed-review-grid,.portal-review-results .review-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.portal-review-results .licensed-review-card{display:flex;flex-direction:column;border:0;border-radius:20px;background:#e5e5e5;box-shadow:0 8px 12px #0002}
.portal-review-results .licensed-review-card>header{order:2;padding:16px;background:#f5f5f4}
.portal-review-results .licensed-review-card h3{font-size:18px;font-weight:500;line-height:1.6;min-height:0}
.portal-review-results .licensed-review-card-content{display:contents}
.portal-review-results .licensed-review-related-mini{order:1;display:block;width:100%;max-width:none;margin:0;position:relative}
.portal-review-results .licensed-review-related-mini img{display:block;width:100%;height:auto;aspect-ratio:1;max-width:none;object-fit:cover;border-radius:20px 20px 0 0}
.portal-review-results .licensed-review-related-mini>span{position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px);margin:0;padding:3px 8px;border-radius:4px;background:#111b;color:#fff;font-size:11px;line-height:17px}
.portal-review-results .licensed-review-card-content>p{order:3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;margin:0;padding:14px 16px;background:#f5f5f4;color:#111;font-size:15px;line-height:1.8;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
.portal-review-results .licensed-review-card>footer{order:4;background:#f5f5f4;padding-top:5px}
.portal-review-results .licensed-review-card [hidden],.portal-review-results .licensed-review-card[hidden],.portal-review-results .review-card[hidden]{display:none!important}
.portal-search-empty{padding:35px 20px;text-align:center;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:16px;line-height:1.8}
.portal-reviews .customer-opinion-section{margin-top:70px;padding-top:36px;border-top:1px solid #e5e7eb}
.portal-reviews .customer-opinion-section>h2{font-size:28px;line-height:1.5;letter-spacing:0}
.portal-reviews .customer-opinion-section>p{margin-top:14px;color:#6b7280;font-size:15px;line-height:1.8}
.portal-reviews .review-digest-grid{margin-top:24px}
.portal-reviews .review-pagination{margin-top:35px}
.portal-list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.portal-list-heading h2{font-size:26px;line-height:1.5;letter-spacing:0}
.portal-list-heading>span{color:#57534e;font-size:16px;font-weight:500;line-height:1.6}
.portal-list-heading>span strong{color:#dc2626;font-weight:700}
.portal-live-section{padding-bottom:40px;border-bottom:1px solid #e5e7eb;margin-bottom:40px}
.portal-live-section .empty-state.compact{padding:22px 25px;min-height:0;background:#f5f5f4;text-align:left;border:1px solid #e5e7eb}
.portal-live-section .empty-state h3{font-size:20px;line-height:1.5;letter-spacing:0}
.portal-live-section .empty-state p{font-size:14px;line-height:1.8;margin-top:9px}
.portal-live-section:has(.empty-state.compact){display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding:15px 20px;border:1px solid #e5e7eb;border-radius:6px;background:#f5f5f4}
.portal-live-section:has(.empty-state.compact) .portal-list-heading{margin:0;gap:14px}
.portal-live-section:has(.empty-state.compact) .portal-list-heading h2{font-size:16px}
.portal-live-section:has(.empty-state.compact) .portal-list-heading>span{font-size:14px}
.portal-live-section .empty-state.compact{padding:0;border:0;background:transparent}
.portal-live-section .empty-state.compact h3{font-size:14px;line-height:1.6}
.portal-live-section .empty-state.compact p,.portal-live-section .empty-state.compact .status-chip{display:none}
.portal-history-note{margin-bottom:26px;color:#6b7280;font-size:14px;line-height:1.85}
.portal-rt .home-history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.portal-rt .home-history-card{position:relative;display:block;aspect-ratio:1;overflow:hidden;border:10px solid var(--poster-border);border-radius:20px;box-shadow:0 8px 12px #0002;background:#333;color:#fff;isolation:isolate;container-type:inline-size;text-decoration:none}
.portal-rt .home-history-badge{position:absolute;left:0;top:0;z-index:1;padding:2px 6px;border-bottom-right-radius:14px;background:#facc15;color:#111;font-size:13px;line-height:20px;font-weight:700}
.portal-rt .home-history-card .poster-card-text{font-size:15.45cqw}
.portal-rt .home-history-card>time{position:absolute;left:4px;right:5px;bottom:4px;font-size:6.2cqw;line-height:1.4;font-weight:700;text-align:right;white-space:normal;text-shadow:0 1px 3px #000}
.portal-time-label{font-size:.7em;font-weight:500}
.portal-login .portal-content{padding-block:48px 70px}
.portal-login-card{width:min(768px,100%);margin:auto;overflow:hidden;border-radius:16px;background:#f5f5f4;box-shadow:0 10px 18px #0002}
.portal-auth-tabs{display:grid;grid-template-columns:1fr 1fr;height:64px}
.portal-auth-tabs>a{display:flex;align-items:center;justify-content:center;color:#78716c;background:#e5e7eb;font-size:20px;font-weight:500;line-height:1.8;text-decoration:none}
.portal-auth-tabs>a[aria-current]{background:#60a5fa;color:#fff}
.portal-login-card>h1{margin:0;padding:32px 20px;font-size:24px;font-weight:700;line-height:48px;text-align:center;letter-spacing:0}
.portal-login-form{padding:0 32px 0;width:100%;margin:0}
.portal-login-form>label{display:block;color:#57534e;font-size:14px;font-weight:500;line-height:1.6;margin:0 0 8px}
.portal-login-form>input,.portal-password-field>input{display:block;width:100%;height:48px;padding:10px 16px;border:1px solid #d1d5db;border-radius:5px;background:white;color:#111;font:400 18px/1.5 "Noto Sans KR",sans-serif;min-width:0}
.portal-login-form>input{margin-bottom:22px}
.portal-password-field{display:flex;position:relative;margin-bottom:26px}
.portal-password-field>input{padding-right:74px}
.portal-password-field>button{position:absolute;right:0;top:0;height:48px;min-width:64px;padding:8px 15px;border:0;border-radius:0 5px 5px 0;background:#78716c;color:#fff;font:500 14px/1.5 "Noto Sans KR",sans-serif}
.portal-login-note{padding:16px;margin-bottom:28px;border-radius:10px;background:#e5e7eb;color:#78716c;font-size:16px;line-height:1.8}
.portal-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.portal-login-actions>a,.portal-login-actions>button{display:flex;align-items:center;justify-content:center;height:48px;padding:8px;border:0;border-radius:5px;background:#e5e7eb;color:#78716c;font:500 18px/1.5 "Noto Sans KR",sans-serif;text-decoration:none}
.portal-login-actions>button{background:#60a5fa;color:#fff}
.portal-login-actions>button:disabled{opacity:.6;cursor:wait}
.portal-login-form .form-status{font-size:14px;line-height:1.8;margin-top:16px!important}
.portal-login-guest{padding:18px 32px 30px;text-align:center;color:#78716c;font-size:13px;line-height:1.8}
.portal-login-guest>a{color:#2563eb}
.portal-login-card>noscript>p{padding:0 32px 32px;color:#57534e;font-size:14px}
@media(max-width:999px){.portal-content{width:calc(100% - 48px);padding-block:36px}.portal-banner{height:208px}.portal-banner h1{font-size:36px;line-height:52px}.portal-banner p{font-size:20px}.portal-review-results .licensed-review-grid,.portal-review-results .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-rt .home-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-login .portal-content{padding-block:36px 55px}.portal-list-heading h2{font-size:23px}}
@media(max-width:600px){.portal-content{width:calc(100% - 40px);padding-block:28px}.portal-banner{height:180px}.portal-banner h1{font-size:30px;line-height:42px;margin-bottom:10px}.portal-banner p{font-size:16px;line-height:1.8}.portal-toolbar{flex-direction:column-reverse;align-items:stretch;gap:18px;margin-bottom:18px}.portal-toolbar .portal-action{align-self:flex-end;font-size:14px;min-height:42px}.portal-search{width:100%}.portal-review-results .licensed-review-grid,.portal-review-results .review-grid{grid-template-columns:1fr}.portal-review-results .licensed-review-card h3{font-size:18px}.portal-rt .home-history-grid{grid-template-columns:1fr;gap:24px}.portal-list-heading{gap:10px;margin-bottom:15px}.portal-list-heading h2{font-size:22px}.portal-list-heading>span{font-size:14px}.portal-live-section .empty-state.compact{padding:22px 18px}.portal-live-section .empty-state h3{font-size:18px}.portal-reviews .customer-opinion-section{margin-top:45px;padding-top:28px}.portal-reviews .customer-opinion-section>h2{font-size:24px}.portal-login .portal-content{width:calc(100% - 32px);padding-block:28px 45px}.portal-auth-tabs{height:56px}.portal-auth-tabs>a{font-size:18px}.portal-login-card>h1{padding:22px 20px;font-size:24px;line-height:40px}.portal-login-form{padding-inline:20px}.portal-login-form>input,.portal-password-field>input{font-size:16px}.portal-login-note{font-size:14px;padding:14px}.portal-login-actions{gap:10px}.portal-login-actions>a,.portal-login-actions>button{font-size:16px}.portal-login-guest{padding:16px 20px 24px;font-size:12px}}
