/* Native citizen screens and seamless same-origin legacy form bridge. */
.portal-page-heading{margin-bottom:12px}
.citizen-portal-shell{position:relative;overflow:visible;background:transparent}
.portal-frame{display:block;width:100%;height:420px;min-height:420px;border:0;background:transparent;overflow:hidden}
.portal-loading{position:absolute;inset:0 auto auto 0;z-index:2;display:flex;width:100%;min-height:180px;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--muted);font-weight:600;box-shadow:var(--shadow)}
.portal-loading[hidden]{display:none}
.portal-loading>span{width:22px;height:22px;border:3px solid #cfe7da;border-top-color:var(--green);border-radius:50%;animation:portal-spin .8s linear infinite}
.compact-list{margin-top:4px}

.native-notice-list{display:grid;gap:12px}
.native-notice-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 9px 25px rgba(20,65,43,.06)}
.notice-card-icon,.notice-detail-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:#fff3d8;color:#a86b00;font-weight:800}
.notice-card-copy{display:grid;min-width:0;gap:2px}
.notice-card-copy small,.notice-date{color:var(--green);font-size:.75rem;font-weight:700}
.notice-card-copy strong{font-size:1rem;line-height:1.35}
.notice-card-copy>span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.native-notice-card>b{color:#9aaba2;font-size:1.5rem}
.native-notice-detail{padding:22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.native-notice-detail .notice-detail-icon{margin-bottom:15px}
.native-notice-detail h1{margin:5px 0 17px;font-size:1.45rem;line-height:1.35}
.native-notice-detail .notice-date{margin:0}
.notice-body{overflow-wrap:anywhere;color:#33453b;line-height:1.75}
.notice-body img{max-width:100%;height:auto;border-radius:14px}
.notice-body table{display:block;max-width:100%;overflow-x:auto}
.notice-download{display:inline-flex;margin-top:14px;padding:10px 16px;border-radius:12px;background:var(--green-soft);color:var(--green);font-weight:700}
.notice-back-button{margin-top:13px}
@keyframes portal-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){.citizen-portal-shell{margin-right:-2px;margin-left:-2px}.portal-frame{min-height:360px}.native-notice-detail{padding:18px}}
