/* retro-system.css
   云隐信息港 / 旧政务门户 / 内网档案系统统一样式
   目标：2005-2009 中文地方门户 + 单位内网 OA + 打印档案报告
*/

:root{
  --blue-950:#002f63;
  --blue-900:#003f7f;
  --blue-850:#004581;
  --blue-800:#00519a;
  --blue-700:#0062b5;
  --blue-100:#e8eef8;
  --blue-050:#f4f7fc;
  --win-bg:#d4d0c8;
  --win-bg-2:#d9d9e2;
  --panel:#f5f5f5;
  --paper:#f7f7e9;
  --paper-2:#ffffcc;
  --line:#777;
  --line-2:#999;
  --line-3:#b8b8b8;
  --danger:#d00000;
  --muted:#666;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
}

body{
  background:var(--win-bg);
  color:#111;
  font-family:SimSun,"宋体",serif;
  font-size:12px;
  line-height:1.55;
}

img{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:#0000cc;
  text-decoration:underline;
}

a:visited{color:#551a8b}

a:hover{
  color:#b00000;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:1px dotted var(--blue-900);
  outline-offset:1px;
}

button,
.old-btn,
input[type="submit"]{
  font-family:SimSun,"宋体",serif;
  font-size:12px;
  padding:3px 10px;
  line-height:1.25;
  min-height:26px;
  border:1px solid #666;
  border-top-color:#fff;
  border-left-color:#fff;
  background:#e9e9e9;
  color:#111;
  border-radius:0;
  cursor:pointer;
}

button:hover,
.old-btn:hover,
input[type="submit"]:hover{
  background:#f3f3f3;
}

input,
select,
textarea{
  font-family:SimSun,"宋体",serif;
  font-size:12px;
  border:1px solid #777;
  padding:3px 5px;
  background:#fff;
  line-height:1.35;
}

code,
pre{
  font-family:"Courier New",monospace;
}

hr{
  border:0;
  border-top:1px solid #999;
  height:0;
}

.red{color:var(--danger)!important}
.blue{color:var(--blue-900)!important}
.gray{color:#777!important}
.mono{font-family:"Courier New",monospace}
.center{text-align:center}
.right{text-align:right}
.bold{font-weight:bold}
.small{font-size:11px}
.hide-modern-radius{border-radius:0!important}

.portal-grid-2 > *,
.portal-grid-3 > *,
.home-grid > *,
.system-body > *,
.content-box,
.forum-main,
.forum-sidebar{
  min-width:0;
}

.old-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.old-table th,
.old-table td{
  border:1px solid #777;
  padding:5px 7px;
  vertical-align:top;
}

.old-table th{
  background:#e8eef7;
  text-align:left;
  font-weight:bold;
}

.old-table .label{
  background:#eef3fb;
  font-weight:bold;
  width:145px;
}

.old-table .danger-row td,
.old-table .danger-row th{
  background:#ff1111!important;
  color:#fff!important;
  font-weight:bold;
}

.old-table .muted-row td{
  color:#666;
  background:#fafafa;
}

.portal-shell{
  background:#eef2f8;
  min-height:100vh;
}

.portal-head{
  background:#004b86;
  color:#fff;
  border-bottom:1px solid #012f5d;
}

.portal-head-inner{
  width:calc(100% - 24px);
  max-width:1100px;
  height:74px;
  margin:0 auto;
  position:relative;
}

.portal-logo{
  position:absolute;
  left:0;
  top:12px;
  font-family:SimSun,"宋体",sans-serif;
  font-size:32px;
  line-height:36px;
  letter-spacing:1px;
  font-weight:bold;
}

.portal-toplinks{
  position:absolute;
  right:0;
  top:9px;
  color:#dfefff;
  font-size:12px;
}

.portal-search{
  position:absolute;
  right:0;
  bottom:12px;
}

.portal-search-form{
  display:flex;
  align-items:center;
  gap:6px;
}

.portal-search-form--home{
  width:100%;
  gap:0;
}

.portal-search-input{
  width:180px;
  height:24px;
  border:1px solid #9fb3cd;
}

.portal-search-form--home .portal-search-input{
  flex:1;
  min-width:0;
  height:30px;
}

.portal-search-button{
  height:24px;
  padding:1px 12px;
  background:#07599a;
  color:#fff;
  border:1px solid #a8c4e0;
}

.portal-search-form--home .portal-search-button{
  width:60px;
  height:30px;
  flex:0 0 60px;
}

.portal-search-button:hover{
  background:#004b86;
  color:#fff;
}

.portal-nav{
  background:#e3e7f0;
  border-top:1px solid #8aa2bc;
  border-bottom:1px solid #8aa2bc;
}

.portal-nav-inner{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:0 auto;
  white-space:nowrap;
}

.portal-nav a{
  display:inline-block;
  min-width:112px;
  text-align:center;
  padding:10px 12px;
  font-family:SimSun,"宋体",sans-serif;
  font-size:15px;
  color:#003f7f;
  text-decoration:none;
  border-left:1px solid #c2cad8;
}

.portal-nav a:last-child{border-right:1px solid #c2cad8}

.portal-nav a:hover{
  background:#f8fafc;
  color:#003f7f;
  text-decoration:none;
}

.portal-nav a.active{
  background:#004b86;
  color:#fff;
}

.portal-alert{
  background:#f5f5fb;
  border-bottom:1px solid #c7c7d0;
  color:#d00000;
  font-weight:bold;
  padding:8px 0;
}

.portal-alert .inner{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:0 auto;
}

.portal-main{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:18px auto 28px;
}

.portal-grid-3{
  display:grid;
  grid-template-columns:180px 1fr 250px;
  gap:14px;
}

.portal-grid-2{
  display:grid;
  grid-template-columns:270px 1fr;
  gap:14px;
}

.panel{
  border:1px solid #9aa8bc;
  background:#f5f7fc;
  margin-bottom:14px;
}

.panel-title{
  background:#004b86;
  color:#fff;
  font-weight:bold;
  font-size:14px;
  padding:7px 10px;
}

.panel-body{
  padding:10px;
}

.panel-body p{
  margin:6px 0 8px;
}

.search-side-form{
  display:grid;
  gap:10px;
}

.search-side-input{
  width:100%;
  min-height:32px;
  font-size:13px;
}

.search-side-button{
  width:100%;
  min-height:38px;
  background:#00519a;
  color:#fff;
  font-size:14px;
  font-weight:bold;
  border:1px solid #003f7f;
}

.search-side-button:hover{
  background:#00447f;
  color:#fff;
}

.search-side-title{
  margin:2px 0 0;
}

.search-side-options label{
  display:block;
  margin:4px 0;
}

.search-side-note{
  padding:0 10px 10px;
}

.left-menu a,
.category-list a{
  display:block;
  padding:4px 0;
  color:#0000cc;
}

.category-list div{
  padding:8px 10px;
  border-bottom:1px solid #c9ced8;
}

.category-list div.active{
  background:#dcdcdc;
  color:#004b86;
  font-weight:bold;
}

.content-box{
  border:1px solid #b6bfcc;
  background:#fff;
}

.content-title{
  background:#00519a;
  color:#fff;
  padding:7px 12px;
  font-weight:bold;
  font-size:14px;
}

.content-title .crumb{
  float:right;
  font-weight:normal;
  font-size:12px;
  color:#dceaff;
}

.search-result{
  padding:16px 10px 14px;
  border-bottom:1px solid #e3e6ee;
}

.search-result.alt{
  background:#f5f5fb;
}

.search-result.archive{
  background:#ede8d5;
  position:relative;
  overflow:hidden;
}

.search-result.archive:after{
  content:"CONFIDENTIAL";
  position:absolute;
  right:22px;
  top:0;
  color:rgba(0,0,0,.08);
  font-family:"Times New Roman",serif;
  font-size:56px;
  transform:rotate(-12deg);
}

.result-tag{
  display:inline-block;
  background:#004b86;
  color:#fff;
  padding:1px 5px;
  margin-right:8px;
  font-weight:bold;
}

.result-title{
  font-family:SimSun,"宋体",sans-serif;
  font-size:17px;
  font-weight:bold;
  color:#222;
  text-decoration:none;
}

.result-meta{
  color:#667;
  text-align:right;
  margin-top:10px;
}

.search-results-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  border-bottom:3px solid #004b86;
  padding-bottom:6px;
}

.search-results-title{
  margin:0;
  color:#004b86;
  font-family:SimSun,"宋体",sans-serif;
  font-size:20px;
}

.search-results-count{
  color:#777;
  font-family:SimSun,"宋体",serif;
  font-size:13px;
  white-space:nowrap;
}

.search-discovered-note{
  margin:0;
  padding:8px 0 4px;
}

.discovered-links{
  display:inline-flex;
  flex-wrap:wrap;
  gap:4px 6px;
  align-items:center;
}

.discovered-links a{
  margin-right:0 !important;
}

.pagination{
  text-align:center;
  padding:16px 0;
}

.pagination a,
.pagination span{
  display:inline-block;
  min-width:26px;
  padding:3px 8px;
  margin:0 2px;
  border:1px solid #b6bfcc;
  background:#fff;
  text-decoration:none;
  color:#000;
}

.pagination .current{
  background:#004b86;
  color:#fff;
  font-weight:bold;
}

.person-card{
  border:1px solid #a7aeba;
  background:#f2f4fb;
  padding:10px;
  min-height:160px;
  position:relative;
}

.person-card.alert{
  background:#fff0f0;
  border-color:#d6b7b7;
}

.person-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:12px;
}

.person-photo{
  width:86px;
  height:110px;
  float:left;
  margin-right:12px;
  border:1px solid #777;
  background:#ddd;
  position:relative;
  overflow:hidden;
}

.person-photo:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 50% 28%, rgba(0,0,0,.72) 0 18%, transparent 19%),
    radial-gradient(ellipse at 50% 58%, rgba(0,0,0,.58) 0 28%, transparent 29%),
    linear-gradient(135deg, #777, #d9d9d9 35%, #aaa 55%, #eee);
  filter:grayscale(1);
  opacity:.8;
}

.person-name{
  font-family:SimSun,"宋体",sans-serif;
  font-size:16px;
  color:#004b86;
  font-weight:bold;
  margin-bottom:6px;
}

.person-card table{
  border-collapse:collapse;
  width:calc(100% - 105px);
  background:#f7f8fc;
}

.person-card td{
  border:1px solid #b8bfcc;
  padding:4px 6px;
}

.person-quote{
  clear:both;
  border-top:1px dashed #b8bfcc;
  margin-top:10px;
  padding-top:8px;
  color:#333;
}

.person-actions{
  text-align:right;
  margin-top:7px;
}

.footer{
  text-align:center;
  color:#666;
  padding:18px 0 28px;
  border-top:1px solid #9099a8;
}

.footer a{
  color:#555;
  text-decoration:none;
  margin:0 14px;
}

.report-toolbar{
  width:calc(100% - 24px);
  max-width:980px;
  margin:18px auto 0;
  border:1px solid #999;
  background:#e7e7e7;
  padding:4px 6px;
}

.report-toolbar .sys-user{
  float:right;
  color:#666;
  padding-top:3px;
}

.report-paper{
  width:calc(100% - 24px);
  max-width:980px;
  margin:8px auto 26px;
  padding:26px 28px 24px;
  background:var(--paper);
  border:1px solid #666;
  box-shadow:3px 3px 0 rgba(0,0,0,.45);
  position:relative;
}

.report-title{
  text-align:center;
  font-family:SimSun,"宋体",sans-serif;
  font-size:24px;
  letter-spacing:6px;
  margin:4px 0 2px;
}

.report-subtitle{
  text-align:center;
  font-family:SimSun,"宋体",sans-serif;
  font-size:17px;
  margin-bottom:22px;
}

.report-meta{
  display:flex;
  justify-content:space-between;
  border-bottom:2px solid #222;
  padding:0 0 10px;
  margin-bottom:12px;
}

.section-title{
  display:inline-block;
  background:#004b86;
  color:#fff;
  font-weight:bold;
  padding:4px 10px;
  margin:12px 0 0;
}

.section-title.danger{
  background:var(--danger);
}

.report-paragraph{
  border:1px solid #777;
  background:#fff;
  padding:14px 16px;
  min-height:84px;
}

.warning-box{
  border:1px solid #ff0000;
  background:#fff6f6;
  padding:10px 14px;
  margin:6px 0 16px;
}

.warning-box.yellow{
  background:#ffffcc;
}

.warning-box p{
  margin:5px 0;
}

.stamp{
  position:absolute;
  right:52px;
  top:42px;
  transform:rotate(-14deg);
  border:2px solid #d33;
  color:#d33;
  padding:8px 20px;
  font-family:"Times New Roman",serif;
  font-size:18px;
  line-height:1.2;
  font-weight:bold;
  letter-spacing:2px;
  text-align:center;
}

.photo-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  margin-top:6px;
}

.photo-table td{
  border:1px solid #777;
  vertical-align:top;
  padding:8px;
}

.archive-photo{
  width:360px;
  height:270px;
  border:1px solid #222;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.08), transparent 45%),
    linear-gradient(90deg, transparent 47%, rgba(0,0,0,.85) 48%, rgba(0,0,0,.85) 51%, transparent 52%),
    linear-gradient(75deg, transparent 47%, rgba(0,0,0,.7) 48%, rgba(0,0,0,.7) 50%, transparent 51%),
    linear-gradient(105deg, transparent 47%, rgba(0,0,0,.65) 48%, rgba(0,0,0,.65) 50%, transparent 51%),
    linear-gradient(0deg, #020202 0 13%, #0d1012 14% 26%, #1d2527 27% 32%, #081014 33% 100%),
    radial-gradient(ellipse at 50% 54%, rgba(255,255,255,.26), transparent 22%),
    linear-gradient(#06080a, #11161b);
  position:relative;
  overflow:hidden;
}

.archive-photo:before{
  content:"";
  position:absolute;
  left:166px;
  bottom:24px;
  width:28px;
  height:220px;
  border-left:3px solid #0a0a0a;
  border-right:3px solid #0a0a0a;
  background:
    repeating-linear-gradient(0deg, transparent 0 18px, rgba(0,0,0,.9) 19px 21px),
    repeating-linear-gradient(45deg, transparent 0 16px, rgba(0,0,0,.9) 17px 18px);
  opacity:.98;
}

.archive-photo:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:24px;
  background:#000;
}

.portal-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
  padding:10px 0;
}

.portal-photo-figure{
  margin:0;
  padding:8px;
  border:1px solid #b6bfcc;
  background:linear-gradient(#fff, #f7fbff);
}

.portal-photo-figure--main{
  width:min(460px, 100%);
  margin:0 auto 10px;
}

.portal-photo-figure--card{
  margin:0 0 8px;
}

.portal-photo-media{
  width:100%;
  aspect-ratio:4 / 3;
  border:1px solid #8fa6c4;
  background:#eef3fb;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.portal-photo-figure--card .portal-photo-media{
  aspect-ratio:5 / 3;
}

.portal-photo-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.portal-photo-figure--main .portal-photo-media img{
  object-fit:contain;
}

.portal-photo-caption{
  margin:7px 0 0;
  color:#4e6175;
  font-size:11px;
  line-height:1.6;
  text-align:center;
}

.portal-photo-figure.photo-upload{
  border-color:#c5d5e6;
  background:linear-gradient(#fff, #f7fbff);
}

.portal-photo-figure.photo-upload .portal-photo-media img{
  filter:sepia(.22) contrast(.9) saturate(.8);
}

.portal-photo-figure.photo-archive{
  border-color:#c7b690;
  background:linear-gradient(#fff, #f7f1df);
}

.portal-photo-figure.photo-archive .portal-photo-media{
  background:#efe6cf;
  border-color:#b19c70;
}

.portal-photo-figure.photo-archive .portal-photo-media img{
  filter:sepia(.45) contrast(.78) saturate(.55) brightness(.92);
}

.portal-photo-figure.photo-newspaper{
  border-color:#999;
  background:#ece9e1;
}

.portal-photo-figure.photo-newspaper .portal-photo-media{
  position:relative;
  background:#ddd8cd;
  border-color:#888;
}

.portal-photo-figure.photo-newspaper .portal-photo-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle, rgba(0,0,0,.06) 1px, transparent 1px);
  background-size:4px 4px;
  opacity:.38;
}

.portal-photo-figure.photo-newspaper .portal-photo-media img{
  filter:contrast(1.3) brightness(.9) saturate(.3) grayscale(.15);
}

.water-report-form{
  padding:12px;
  background:#f5f5f5;
  border:1px solid #777;
}

.water-report-notice{
  margin-top:12px;
  border:1px solid #7f9dbb;
  background:#fffdf3;
}

.water-report-notice[hidden]{
  display:none;
}

.water-report-notice-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 10px;
  background:#dfe9f7;
  border-bottom:1px solid #7f9dbb;
  color:#003f7f;
  font-weight:bold;
}

.water-report-notice-body{
  padding:10px 12px;
}

.water-report-notice-body p{
  margin:0 0 8px;
}

.water-report-table{
  width:100%;
  border-collapse:collapse;
  margin:8px 0 10px;
  background:#fff;
}

.water-report-table td{
  border:1px solid #b6bfcc;
  padding:5px 8px;
}

.water-report-table .label{
  width:88px;
  background:#eef3fb;
  font-weight:bold;
}

.water-report-actions{
  text-align:right;
}

.water-photo{
  width:460px;
  height:360px;
  margin:0 auto;
  border:1px solid #333;
  background:
    linear-gradient(90deg, rgba(0,0,0,.7), transparent 20%, transparent 80%, rgba(0,0,0,.65)),
    linear-gradient(0deg, #111 0 18%, #232b24 19% 44%, #425044 45% 62%, #1d241f 63% 100%);
  position:relative;
  overflow:hidden;
}

.water-photo:before{
  content:"";
  position:absolute;
  left:55px;
  right:55px;
  bottom:112px;
  height:8px;
  background:#7b6448;
  box-shadow:0 24px 0 #57442f, 210px -86px 0 #c6c8b6, 55px -92px 0 #c6c8b6;
}

.water-photo:after{
  content:"";
  position:absolute;
  left:130px;
  top:135px;
  width:90px;
  height:60px;
  border:5px solid #404040;
  background:#17211c;
  box-shadow:
    185px 22px 0 -8px #18201b,
    185px 22px 0 -3px #424242,
    -60px 155px 0 -8px #18201b,
    -60px 155px 0 -3px #555;
}

.terminal-log{
  margin-top:20px;
  padding-top:8px;
  border-top:1px solid #999;
  font-family:"Courier New",monospace;
  font-size:12px;
  color:#333;
}

.terminal-log p{
  margin:1px 0;
}

.system-window{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:22px auto;
  border:1px solid #333;
  background:#e9e4d2;
}

.system-titlebar{
  background:#005bac;
  color:#fff;
  padding:8px 12px;
  font-weight:bold;
  font-family:SimSun,"宋体",sans-serif;
}

.system-titlebar .right-info{
  float:right;
  font-family:"Courier New",monospace;
  font-size:12px;
  font-weight:bold;
  letter-spacing:.5px;
}

.system-body{
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:620px;
}

.system-sidebar{
  background:#f1f1f1;
  border-right:1px solid #777;
  padding:10px;
}

.system-main{
  padding:10px;
}

.system-crumb{
  padding:5px 10px;
  border-bottom:1px solid #999;
  background:#f6f6f6;
}

.system-toolbar{
  background:#eee;
  border-bottom:1px solid #999;
  padding:8px 10px;
}

.tree-box{
  border:1px solid #777;
  background:#fff;
  margin-bottom:12px;
}

.tree-title{
  background:#e6e6ef;
  border-bottom:1px solid #999;
  padding:6px;
  font-weight:bold;
  font-size:14px;
}

.tree{
  padding:8px 6px 12px;
  line-height:1.9;
}

.tree .node{
  padding-left:14px;
}

.tree .selected{
  background:#004b86;
  color:#fff;
  font-weight:bold;
  padding:2px 8px;
}

.file-list th{
  background:#e0e0e8;
  font-size:14px;
}

.file-list td{
  font-family:"Courier New",SimSun,monospace;
  font-size:14px;
}

.secret-badge{
  display:inline-block;
  background:#111;
  color:#fff;
  padding:2px 6px;
  font-weight:bold;
}

.machine-badge{
  display:inline-block;
  color:#d00000;
  border:1px solid #d00000;
  padding:1px 4px;
  font-weight:bold;
}

.statusbar{
  display:grid;
  grid-template-columns:180px 220px 1fr;
  border-top:1px solid #777;
  background:#e8e8ef;
  font-family:"Courier New",monospace;
}

.statusbar div{
  padding:5px 10px;
  border-right:1px solid #777;
}

.statusbar .danger{
  color:red;
  font-weight:bold;
}

.water-layout{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:0 auto 22px;
  display:grid;
  grid-template-columns:170px 1fr;
  gap:10px;
}

.water-head{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:10px auto 0;
  height:36px;
  background:#000080;
  color:#fff;
  line-height:36px;
  padding:0 10px;
  font-family:SimSun,"宋体",sans-serif;
  font-size:18px;
  font-weight:bold;
}

.water-head .search{
  float:right;
  padding-top:5px;
}

.water-head input{
  width:160px;
  height:22px;
}

.water-head button{
  height:22px;
  line-height:16px;
  padding:1px 8px;
}

.water-breadcrumb{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:10px auto;
  color:#333;
}

.water-sidebar{
  border:1px solid #aaa;
  background:#eee;
  padding:8px;
}

.water-sidebar .menu-title{
  font-weight:bold;
  border-bottom:1px solid #999;
  padding-bottom:5px;
  margin-bottom:5px;
}

.water-sidebar a{
  display:block;
  padding:3px 0;
}

.water-content{
  background:#fff;
  border:1px solid #999;
  padding:0 10px 12px;
}

.water-section-title{
  background:#000080;
  color:#fff;
  font-weight:bold;
  padding:6px 8px;
  margin:10px 0 0;
}

.water-footer{
  width:calc(100% - 24px);
  max-width:1100px;
  margin:0 auto;
  text-align:center;
  color:#888;
  border-top:1px solid #999;
  padding:12px 0;
}

@media print{
  body{background:#fff}
  .report-toolbar,
  .portal-head,
  .portal-nav,
  .portal-alert,
  .footer,
  .water-head,
  .water-breadcrumb,
  .water-sidebar,
  button{display:none!important}
  .report-paper{
    box-shadow:none;
    margin:0;
    width:auto;
    border:none;
  }
}


/* ===== index.html 首页专用样式 ===== */
.home-body{
  background:#eef3fa;
}

.home-topbar{
  height:36px;
  background:#004b86;
  color:#fff;
  border-bottom:1px solid #0b315f;
  line-height:36px;
  font-family:SimSun,"宋体",sans-serif;
}

.home-topbar-inner{
  width:calc(100% - 24px);
  max-width:1120px;
  margin:0 auto;
  position:relative;
}

.home-mini-logo{
  font-size:15px;
  font-weight:bold;
  letter-spacing:1px;
}

.home-toplinks{
  position:absolute;
  right:0;
  top:0;
  font-family:SimSun,"宋体",serif;
  font-size:12px;
  color:#e6f1ff;
}

.home-wrap{
  width:calc(100% - 24px);
  max-width:1120px;
  margin:0 auto;
  background:#fff;
  border-left:1px solid #00519a;
  border-right:1px solid #00519a;
  min-height:900px;
  padding:10px 10px 190px;
}

.home-banner{
  height:88px;
  border:1px solid #00519a;
  background:
    linear-gradient(90deg, rgba(30,20,10,.55), rgba(130,98,34,.9), rgba(110,82,31,.85)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 1px, transparent 1px 9px);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-shadow:2px 2px 0 #000;
  font-family:SimSun,"宋体",sans-serif;
  font-size:34px;
  letter-spacing:8px;
  font-weight:bold;
}

.home-nav{
  margin-top:10px;
  border-top:1px solid #7fa3c8;
  border-bottom:2px solid #004b86;
  background:#e6ebf5;
  text-align:center;
}

.home-nav a{
  display:inline-block;
  padding:10px 20px;
  color:#004b86;
  font-family:SimSun,"宋体",sans-serif;
  font-size:15px;
  font-weight:bold;
  text-decoration:none;
  border-right:1px solid #b9c6d6;
}

.home-nav a:first-child{
  border-left:1px solid #b9c6d6;
}

.home-nav a:hover{
  background:#f8fafc;
  color:#003f7f;
  text-decoration:none;
}

.home-grid{
  display:grid;
  grid-template-columns:270px 1fr 295px;
  gap:10px;
  margin-top:24px;
}

.home-box{
  border:1px solid #00519a;
  background:#f7f8fe;
  margin-bottom:14px;
}

.home-box-title{
  height:36px;
  line-height:36px;
  background:#a9c7f4;
  border-bottom:1px solid #00519a;
  color:#004b86;
  font-weight:bold;
  font-size:14px;
  padding:0 10px;
}

.home-box-title .more{
  float:right;
  font-weight:normal;
  color:#004b86;
}

.home-box-body{
  padding:10px 12px;
}

.home-login-row{
  margin:7px 0;
  white-space:nowrap;
}

.home-login-row label{
  display:inline-block;
  width:48px;
  text-align:right;
}

.home-login-row input{
  width:185px;
  height:22px;
}

.home-login-actions{
  text-align:center;
  margin-top:14px;
}

.home-login-actions button{
  margin:0 6px;
  padding:4px 16px;
}

.home-searchline{
  display:flex;
  gap:0;
  margin-bottom:8px;
}

.home-searchline input{
  flex:1;
  height:30px;
}

.home-searchline button{
  width:60px;
  height:30px;
}

.home-hot{
  color:#222;
}

.home-hot a{
  margin-right:4px;
  font-weight:bold;
}

.service-list{
  margin:0;
  padding:0;
  list-style:none;
}

.service-list li{
  padding:5px 0 5px 14px;
  border-bottom:1px dashed #b8bfcc;
  position:relative;
}

.service-list li:before{
  content:"·";
  position:absolute;
  left:0;
  color:#004b86;
}

.service-title-en{
  float:right;
  color:#5f85bd;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:normal;
}

.home-news-main{
  text-align:center;
  padding:14px 20px 8px;
}

.home-news-main h2{
  margin:0 0 8px;
  font-family:SimSun,"宋体",sans-serif;
  color:#e00000;
  font-size:16px;
}

.home-news-main p{
  margin:0;
  color:#555;
}

.home-news-list{
  margin:10px 18px 12px;
  padding:0;
  list-style:none;
}

.home-news-list li{
  line-height:2.05;
  border-bottom:0;
  position:relative;
  padding-left:12px;
}

.home-news-list li:before{
  content:"·";
  color:#d00000;
  position:absolute;
  left:0;
}

.home-news-list time{
  float:right;
  color:#8a8fa0;
}

.gallery-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  padding:14px 24px 8px;
}

.gallery-card{
  text-align:center;
}

.gallery-img{
  height:145px;
  border:1px solid #333;
  background:#111;
  margin-bottom:6px;
  position:relative;
  overflow:hidden;
}

.gallery-img.orb{
  background:
    radial-gradient(circle at 50% 45%, transparent 0 16px, rgba(72,219,255,.9) 17px 19px, transparent 20px 30px, rgba(120,235,255,.55) 31px 34px, transparent 35px 80px),
    radial-gradient(circle at 50% 45%, rgba(65,220,255,.38), transparent 42%),
    linear-gradient(135deg,#05100f,#101b1a 45%,#020404);
}

.gallery-img.beam{
  background:
    radial-gradient(circle at 78% 20%, rgba(255,237,141,.95), transparent 7%),
    radial-gradient(circle at 65% 32%, rgba(210,150,60,.6), transparent 3%),
    radial-gradient(circle at 57% 43%, rgba(210,150,60,.42), transparent 3%),
    linear-gradient(145deg, transparent 0 52%, rgba(200,240,230,.9) 53%, transparent 56%),
    repeating-linear-gradient(145deg, transparent 0 8px, rgba(220,190,80,.28) 9px 10px),
    linear-gradient(135deg,#09130f,#162119 55%,#030605);
}

.gallery-img .upload-mark{
  position:absolute;
  right:8px;
  bottom:8px;
  color:#fff;
  font-size:11px;
  font-weight:bold;
  text-shadow:1px 1px 0 #000;
}

.forum-table{
  width:100%;
  border-collapse:collapse;
}

.forum-table th,
.forum-table td{
  padding:5px 6px;
  border-bottom:1px solid #d4d7df;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.forum-table th{
  background:#d9d9d9;
  color:#444;
  text-align:left;
}

.forum-table .topic{
  max-width:170px;
}

.friend-list{
  margin:0;
  padding:0;
  list-style:none;
}

.friend-list li{
  padding:5px 0 5px 14px;
  position:relative;
}

.friend-list li:before{
  content:"·";
  position:absolute;
  left:0;
}

.home-urgent{
  display:grid;
  grid-template-columns:95px 1fr;
  height:38px;
  border:1px solid #ff0000;
  background:#fff5f5;
  margin-top:14px;
}

.home-urgent-title{
  background:#d00000;
  color:#fff;
  font-weight:bold;
  line-height:36px;
  text-align:center;
}

.home-urgent-text{
  line-height:36px;
  padding-left:12px;
  color:#d00000;
  white-space:nowrap;
  overflow:hidden;
  position:relative;
}
.home-urgent-text-inner{
  display:inline-block;
  padding-left:100%;
  animation: urgent-scroll 20s linear infinite;
}
@keyframes urgent-scroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-100%); }
}

.home-footer{
  width:calc(100% - 24px);
  max-width:1120px;
  margin:12px auto 0;
  background:#dfe2ea;
  border-top:2px solid #004b86;
  text-align:center;
  color:#333;
  padding:22px 0 42px;
}

.home-footer a{
  color:#333;
  text-decoration:none;
  margin:0 14px;
}

.forum-page{
  background:#f0f0f0;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.02) 1px,rgba(0,0,0,.02) 2px);
  color:#191c21;
}


/* ===== 规划建设局 (urban-planning.html) ===== */
.plan-head{
  height:50px;
  background:#556B2F;
  color:#fff;
  line-height:50px;
  font-family:SimSun,"宋体",sans-serif;
  font-size:20px;
  padding:0 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:3px solid #3d4f20;
}
.plan-head .search input{
  width:180px;height:24px;border:1px solid #3d4f20;
}
.plan-head .search button{
  height:24px;padding:1px 12px;background:#3d4f20;color:#fff;border:1px solid #2a3615;cursor:pointer;
}
.plan-layout{
  display:grid;grid-template-columns:180px 1fr;
  max-width:980px;margin:0 auto;gap:10px;padding:10px;
}
.plan-sidebar{
  background:#f5f7f0;border:1px solid #c5ceb5;padding:10px;
}
.plan-sidebar a{
  display:block;padding:4px 8px;color:#3d4f20;text-decoration:none;border-bottom:1px solid #dde4d2;
}
.plan-sidebar a:hover{background:#e8f0da;}
.plan-nav{
  display:flex;gap:0;max-width:980px;margin:0 auto;background:#e8f0da;border:1px solid #c5ceb5;border-top:0;
}
.plan-nav a{
  padding:6px 16px;color:#3d4f20;text-decoration:none;font-size:13px;border-right:1px solid #c5ceb5;
}
.plan-nav a:hover,.plan-nav a.active{background:#556B2F;color:#fff;}
.plan-content{
  background:#fff;border:1px solid #c5ceb5;padding:14px;min-height:400px;
}
.plan-section-title{
  font-family:SimSun,"宋体",sans-serif;font-size:14px;font-weight:bold;color:#3d4f20;
  border-bottom:2px solid #556B2F;padding-bottom:4px;margin:14px 0 8px;
}

/* ===== 广播站资料库 (radio-station.html) ===== */
.radio-head{
  height:50px;
  background:#800000;
  color:#fff;
  line-height:50px;
  font-family:SimSun,"宋体",sans-serif;
  font-size:20px;
  padding:0 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:3px solid #5a0000;
}
.radio-head .search input{
  width:180px;height:24px;border:1px solid #5a0000;
}
.radio-head .search button{
  height:24px;padding:1px 12px;background:#5a0000;color:#fff;border:1px solid #3d0000;cursor:pointer;
}
.radio-layout{
  display:grid;grid-template-columns:180px 1fr;
  max-width:980px;margin:0 auto;gap:10px;padding:10px;
}
.radio-sidebar{
  background:#fdf7f5;border:1px solid #c9b0b0;padding:10px;
}
.radio-sidebar a{
  display:block;padding:4px 8px;color:#5a0000;text-decoration:none;border-bottom:1px solid #e0cccc;
}
.radio-sidebar a:hover{background:#f5e8e8;}
.radio-nav{
  display:flex;gap:0;max-width:980px;margin:0 auto;background:#f5e8e8;border:1px solid #c9b0b0;border-top:0;
}
.radio-nav a{
  padding:6px 16px;color:#5a0000;text-decoration:none;font-size:13px;border-right:1px solid #c9b0b0;
}
.radio-nav a:hover,.radio-nav a.active{background:#800000;color:#fff;}
.radio-content{
  background:#fff;border:1px solid #c9b0b0;padding:14px;min-height:400px;
}
.radio-section-title{
  font-family:SimSun,"宋体",sans-serif;font-size:14px;font-weight:bold;color:#5a0000;
  border-bottom:2px solid #800000;padding-bottom:4px;margin:14px 0 8px;
}

/* ===== 岭西联合大学 (lingxi-university.html) ===== */
.univ-head{
  height:50px;
  background:#003399;
  color:#fff;
  line-height:50px;
  font-family:SimSun,"宋体",sans-serif;
  font-size:20px;
  padding:0 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:3px solid #002266;
}
.univ-head .search input{
  width:180px;height:24px;border:1px solid #002266;
}
.univ-head .search button{
  height:24px;padding:1px 12px;background:#002266;color:#fff;border:1px solid #001144;cursor:pointer;
}
.univ-layout{
  display:grid;grid-template-columns:200px 1fr;
  max-width:980px;margin:0 auto;gap:10px;padding:10px;
}
.univ-section-title{
  font-family:SimSun,"宋体",sans-serif;font-size:14px;font-weight:bold;color:#002266;
  border-bottom:2px solid #003399;padding-bottom:4px;margin:14px 0 8px;
}
.univ-content{
  background:#fff;border:1px solid #b8c4e0;padding:14px;min-height:400px;
}

@media (max-width: 1120px){
  .portal-head-inner{
    height:auto;
    padding:12px 0;
  }

  .portal-logo,
  .portal-toplinks,
  .portal-search{
    position:static;
  }

  .portal-toplinks{
    display:block;
    margin-top:6px;
  }

  .portal-search{
    margin-top:12px;
  }

  .portal-grid-2,
  .portal-grid-3,
  .home-grid,
  .system-body,
  .plan-layout,
  .radio-layout,
  .univ-layout{
    grid-template-columns:1fr;
  }

  .person-grid,
  body[data-page="external"] .ext-photo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .gallery-row{
    grid-template-columns:1fr;
  }

  .report-meta{
    flex-direction:column;
    gap:8px;
  }
}

@media (max-width: 760px){
  .portal-nav-inner,
  .home-nav{
    display:flex;
    flex-wrap:wrap;
    white-space:normal;
  }

  .portal-nav a,
  .home-nav a{
    flex:1 1 140px;
    min-width:0;
  }

  .portal-nav a:last-child{
    border-right:0;
  }

  .portal-logo{
    font-size:28px;
    line-height:1.2;
  }

  .home-topbar{
    height:auto;
    line-height:1.6;
    padding:8px 0;
  }

  .home-toplinks{
    position:static;
    display:block;
    margin-top:4px;
  }

  .home-banner{
    font-size:28px;
    letter-spacing:4px;
  }

  .home-wrap{
    padding:10px 10px 36px;
  }

  .home-urgent{
    height:auto;
    grid-template-columns:86px 1fr;
  }

  .home-urgent-title{
    line-height:1.6;
    padding:8px 6px;
  }

  .home-urgent-text{
    white-space:normal;
    line-height:1.6;
    padding:8px 12px;
  }

  .home-urgent-text-inner{
    padding-left:0;
    animation:none;
  }

  .report-toolbar .sys-user{
    float:none;
    display:block;
    padding-top:6px;
  }

  .report-paper{
    padding:18px 14px;
  }

  .old-table th,
  .old-table td,
  .file-list th,
  .file-list td,
  .forum-table th,
  .forum-table td{
    padding:4px 6px;
    white-space:normal;
    word-break:break-word;
  }

  .forum-table .topic{
    max-width:none;
  }

  .search-results-header{
    flex-direction:column;
    align-items:flex-start;
  }

  .water-layout{
    grid-template-columns:1fr;
  }

  body[data-page="external"] .ext-topbar{
    flex-wrap:wrap;
    gap:8px;
  }
}

@media (max-width: 560px){
  .portal-search-form{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .portal-search-form--home .portal-search-button,
  .portal-search-button,
  .portal-search-input{
    width:100%;
  }

  .home-login-row{
    white-space:normal;
  }

  .home-login-row label{
    display:block;
    width:auto;
    text-align:left;
    margin-bottom:4px;
  }

  .home-login-row input{
    width:100%;
  }

  .report-title{
    font-size:20px;
    letter-spacing:3px;
  }

  .report-subtitle{
    font-size:15px;
  }

  .person-grid,
  body[data-page="external"] .ext-photo-grid{
    grid-template-columns:1fr;
  }
}

/* ===== 数字列等宽 ===== */
.old-table td,
.forum-table td,
.file-table td {
  font-variant-numeric: tabular-nums;
}

/* ===== 标题平衡换行 ===== */
.content-title, .section-title, .portal-title,
.report-title, .search-results-title {
  text-wrap: balance;
}

/* ===== 首页在线申报紧急条目 ===== */
.service-item--urgent a {
  color: #cc0000 !important; font-weight: bold;
}
.urgent-dot {
  display: inline-block; width: 6px; height: 6px;
  background: #cc0000; border-radius: 50%;
  margin-right: 4px; vertical-align: middle;
}

/* ===== 在线申报 / 寻人启事 ===== */
.convenience-wrap { padding: 0; }
.convenience-marquee {
  background: #fff0f0; border: 1px solid #cc0000; border-width: 1px 0;
  padding: 6px 14px; overflow: hidden; margin-bottom: 14px;
}
.convenience-marquee-text {
  color: #cc0000; font-weight: bold; font-size: 12px;
  white-space: nowrap; display: block;
}
.convenience-body { display: flex; gap: 14px; padding: 0 14px 14px; }
.convenience-main { flex: 1; min-width: 0; }
.convenience-sidebar { width: 200px; flex-shrink: 0; display: flex; flex-direction: column; gap: 10px; }

.conv-section { margin-bottom: 0; }
.conv-section-hd {
  color: #fff; font-weight: bold; font-size: 13px;
  padding: 6px 12px; font-family: SimSun, '宋体', serif;
}
.conv-section-bd {
  border: 1px solid #ccc; border-top: 0; background: #fff;
}

.missing-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px;
}
.missing-row {
  display: flex; flex-direction: column; gap: 8px; padding: 10px;
  border: 1px solid #ddd; background: #fff;
}
.missing-row--glitch {
  background: #fff0f0; border-color: #cc0000;
  position: relative;
}
.missing-row--narrative {
  background: #f9f9f9; border-color: #888;
}

.missing-photo {
  width: 100px; flex-shrink: 0; display: flex; flex-direction: column; gap: 4px;
}
.missing-photo-inner {
  width: 100px; height: 130px; border: 1px solid #999;
  background: #eee; display: flex; align-items: center; justify-content: center;
  font-size: 11px; color: #666; text-align: center;
}
.missing-photo--damaged {
  background: #fdd !important; color: #cc0000 !important;
  border-color: #cc0000 !important;
}
.missing-photo-badge {
  font-size: 10px; color: #fff; background: #444;
  text-align: center; padding: 1px 0;
}

.scanline-bg { position: relative; }
.scanline-bg::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(
    0deg, transparent, transparent 2px, rgba(0,0,0,.04) 2px, rgba(0,0,0,.04) 4px
  );
}

.missing-info { flex: 1; min-width: 0; }
.missing-header {
  display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
}
.missing-name { font-size: 14px; color: #003e7f; }
.missing-gender { font-size: 12px; color: #666; }
.missing-badge {
  font-size: 10px; padding: 1px 6px; white-space: nowrap;
}
.missing-badge-red { background: #cc0000; color: #fff; }
.missing-glitch-tag {
  position: absolute; top: 8px; right: 10px;
  background: #cc0000; color: #fff; font-size: 10px;
  padding: 2px 8px;
}

.missing-table { margin: 4px 0 8px; font-size: 12px; }
.missing-table td { padding: 2px 8px 2px 0; vertical-align: top; }
.missing-table td.label { color: #888; white-space: nowrap; width: 70px; }

.missing-quote {
  font-size: 12px; color: #555; font-style: italic;
  margin: 4px 0 8px; padding: 6px 10px;
  background: #f9f9f9; border-left: 3px solid #ddd;
}
.missing-quote--corrupted {
  background: #fff8f8; border-left-color: #cc0000;
  font-family: 'Courier New', monospace; font-style: normal;
  color: #333;
}

.missing-actions { display: flex; gap: 12px; }
.missing-actions a { font-size: 11px; color: #003e7f; }

.conv-pagination {
  display: flex; justify-content: center; align-items: center;
  gap: 8px; padding: 10px; font-size: 12px;
}
.conv-page {
  border: 1px solid #c2c6d4; padding: 2px 8px; background: #f2f3fb;
}
.conv-page.current { background: #003e7f; color: #fff; border-color: #003e7f; }

.conv-side-box {
  border: 1px solid #c2c6d4; background: #f9f9ff;
}
.conv-side-hd {
  background: linear-gradient(180deg, #0055aa, #003e7f);
  color: #fff; font-weight: bold; font-size: 12px;
  padding: 4px 8px; font-family: SimSun, '宋体', serif;
}
.conv-side-list { list-style: none; padding: 8px; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.conv-side-list a { font-size: 12px; color: #003e7f; text-decoration: none; }
.conv-side-list a:hover { text-decoration: underline; }

.conv-side-box--secret {
  background: #e8e2d0; border-color: #999;
  padding: 8px; opacity: 0.6; transition: opacity .2s;
}
.conv-side-box--secret:hover { opacity: 1; border-color: #cc0000; }
