@charset "utf-8";
/* CSS Document */
 
img {border: none;}
ul{list-style: none; padding: 0; }
li{list-style: none;  }
/* V2.6.63 响应式改造：去掉 min-width:960px 的全局锁死。
   该值是桌面时代的遗留 —— 窄于 960 的设备（手机/平板竖屏）被强制横向滚动。
   移除后由 pm_theme.css 的断点规则与 pm_responsive.js 接管窄屏适配；
   桌面端布局依赖各容器自身宽度，不受影响。 */
body,html{  font-family:Arial; width:100%;   margin: 0; padding: 0; }
body {
	font-size: 12px;
}
table {
	font-size: 12px;
}
p{ margin:5px;}

.dropdown_style{ background:#FFF; color:red; border:1px;}
.text_overflow_180{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:180px;}
.text_overflow_150{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:350px;}
.text_overflow_450{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:450px;}
/* 消息：内嵌操作链接时不截断，保证链接可见可点（ERP 出库确认 / 挪用审批等） */
.pm-msg-rich{ white-space:normal; word-break:break-all; max-width:1000px; line-height:1.8;}
.pm-msg-rich a.pm-msg-act{ display:inline-block; margin-right:8px; padding:1px 9px; border:1px solid #2c6ecb; border-radius:3px; color:#2c6ecb; font-weight:bold; text-decoration:none; background:#fff;}
.pm-msg-rich a.pm-msg-act:hover{ background:#2c6ecb; color:#fff;}
/* cell */
/* ⚠ V2.6.121：必须补 overflow-wrap:anywhere。
   word-wrap / overflow-wrap 的 break-word 只影响「换行时机」，
   **不参与 min-content 计算** —— 于是 .breakwords 一旦挂在 float:left 的
   shrink-to-fit 盒子上（详情页大标题就是 <span class="breakwords float_left"><h2>），
   最小宽度仍按最长不可断片段算。实测任务标题「[项目管理] 0000…（30 个 0）」
   把整页顶到 501px（390 视口下溢出 111px）。anywhere 才真正压低最小宽度。 */
.breakwords{ word-wrap: break-word; overflow-wrap: anywhere;
word-break: normal;}
.fontsize-s{}
.fontbold { font-weight:bold; font-size:12px;}
.width-p100{ width:99%}
.width-p95{ width:95%}
.width-p100-big{ width:95%; height:30px; font-size:24px; margin-top:5px;}
.listbox-big{ height:30px; font-size:24px; margin-top:5px;}
.width-p80{ width:90%}
.margin-y{ margin-bottom:10px;}
.red{ color:#CD0A0A; font-size:12px; }
.red a{  text-decoration:underline;  color:#CD0A0A; }
.red a:hover{ text-decoration:none; color:#CD0A0A; }
.gray{ color:#999;}
.float_right{ float:right;}
.float_left{ float:left;}
.font_big{ font-size:14px;}
.font_big18{ font-size:18px;}
.button{ height:22px;}
.button_sub{ height:22px; font-size:11px;}
.mouse_hover{ cursor:pointer;}
.gray_bg{ background-color:#ccc;}
.mouse_over{ cursor:pointer;}
.addbutton{ margin-right:10px;}
.submitbutton{ width:120px; margin-left:26px;}


.glink a{  text-decoration:none;  color:#0076AE;}
.glink a:hover, a:focus{ text-decoration:underline; color:#0076AE}

.null_style{ background-color: #E6E6E6; width:100%; text-align:center;}

.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
.ui-icon-info { background-position: -16px -144px; }

.search_div{width: 100%; background: #F5F5F5; border: #ddd 1px solid; line-height:35px; margin-top:10px; height:40px; }
.saerch_form{margin:0px 0px 0px 15px;}
/* clearboth */
.clearboth {
	 clear:both;
}

/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }

/* positioning */
.month_pre{background-position: -98px -16px;}
.month_next{background-position: -35px -16px;}

/* admin head */
.logininfo{ float:right; font-weight:normal; padding:4px 10px 0px 0px; white-space:nowrap; line-height:33px;  }
.logininfo a{ color:#395a90; }
.logininfo a:hover{ text-decoration:none;}

.admin_topbar{ background:#CCC  repeat-x; height:40px;  }
.admin_logo{background:url(images/admin_logo.gif) no-repeat; width:102px; height:25px; float:left; margin-top:7px; margin-left:5px; margin-right:20px;}
.nav_normal{  }
.nav_normal a{  width:100px; float:left; text-align:center; margin-top:5px; margin-left:5px; height:34px; line-height:34px; text-decoration:none; color:#000;  }
.nav_normal a:hover{ background:#ccc; border-top:1px solid #999; border-left:1px solid #999; border-right:1px solid #999; height:33px; line-height:33px;}
.nav_select{ background:#7C7C7C!important;  color:#F5F5F5!important; display:block; height:40px!important; line-height:40px!important;}
.nav_select a:hover{ height:40px!important; line-height:40px!important;}

.nav_normal_sub{ margin-top:10px; padding-left:30px; padding-bottom:7px; font-size:12px; border-bottom:1px solid #999; margin-bottom:5px;}
.nav_normal_sub a{ color:#395a90; margin-right:10px;} 
.nav_normal_sub a:hover{ text-decoration:none;}
.nav_select_sub{ font-weight:bold;  font-size:12px; text-decoration:none!important; color:#000!important;}

/* head - 现代化顶部导航（V2.6.69：顶栏高度统一由 --pm-topbar-h 控制，便于全站一处调高；
   同步加大 logo 与导航间距、导航按钮内边距，视觉更大气） */
.topbar{
  --pm-topbar-h:60px;
  background:var(--pm-topbar-bg,#0e335f);
  height:var(--pm-topbar-h);
  line-height:var(--pm-topbar-h);
  box-shadow:0 2px 6px rgba(4,18,40,.35);
  position:relative;
  z-index:100;
}
.logo{
  float:left;
  height:var(--pm-topbar-h);
  line-height:var(--pm-topbar-h);
  margin-left:20px;
  margin-right:30px;
  background:none;
  width:auto;
}
.logo a{
  display:block;
  height:var(--pm-topbar-h);
  text-decoration:none;
  color:#ffffff;
  font-size:17px;
  font-weight:700;
  letter-spacing:.5px;
}
.logo .brand-mark{
  display:inline-block;
  /* 角标文字后台可配置，字数不定 → 宽度随内容自适应（最小 26px 方形） */
  width:auto; min-width:26px; max-width:120px;
  height:28px;line-height:28px;
  padding:0 8px; box-sizing:border-box;
  text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:#3d7eff;
  color:#fff;
  border-radius:6px;
  margin-right:9px;
  font-size:13px;
  vertical-align:middle;
  box-shadow:0 1px 3px rgba(61,126,255,.5);
}
/* V2.6.69：图片 logo（后台上传）替代文字 logo 时的尺寸约束 */
.brand-logo-img{
  display:inline-block;
  height:34px;
  max-height:34px;
  width:auto;
  vertical-align:middle;
  border-radius:6px;
  box-shadow:0 1px 4px rgba(0,0,0,.28);
}
.logourl{ width:auto; height:var(--pm-topbar-h); display:block; }
.nav_normal2{ float:left; height:var(--pm-topbar-h); }
.nav_normal2 a{
  float:left;
  height:var(--pm-topbar-h);
  line-height:var(--pm-topbar-h);
  padding:0 22px;
  text-align:center;
  text-decoration:none;
  color:#c7d6e8;
  font-size:15px;
  border-bottom:3px solid transparent;
  transition:background .15s, color .15s;
}
.nav_normal2 a:hover{
  background:var(--pm-primary-d,#1d4a85);
  color:#ffffff;
}
.nav_select{
  color:#ffffff !important;
  background:var(--pm-primary-d,#1d4a85) !important;
  border-bottom:3px solid #6db3ff !important;
  height:var(--pm-topbar-h) !important;
  line-height:var(--pm-topbar-h) !important;
}
.nav_select a:hover{ height:var(--pm-topbar-h)!important; line-height:var(--pm-topbar-h)!important;}

/* 顶部导航分组下拉（v2.3.4，「项目管理」= 任务/项目/动态/文档）
   触发器复用 .nav_normal2 a 的 50px 高亮风格；下拉面板用深色玻璃质感，
   与顶栏底色 #0e335f 呼应。⚠ .nav_normal2 a 的 float/50px 高会波及菜单项，必须逐项压回。 */
.nav_normal2 .pm-nav-dropdown{ float:left; position:relative; height:var(--pm-topbar-h); }
.nav_normal2 .pm-nav-dropdown > a{ float:none; display:block; }
.nav_normal2 .pm-nav-dropdown > a .caret{ border-top-color:#c7d6e8; margin-left:2px; }
.nav_normal2 .pm-nav-dropdown > a:hover .caret,
.nav_normal2 .pm-nav-dropdown.open > a .caret{ border-top-color:#ffffff; }
.nav_normal2 .pm-nav-dropdown.open > a{ background:var(--pm-primary-d,#1d4a85); color:#ffffff; }
.nav_normal2 .pm-nav-dropdown .dropdown-menu{
  position:absolute; top:var(--pm-topbar-h); left:0; right:auto;
  min-width:132px; margin:0; padding:6px 0;
  background:#24313f; border:1px solid #35455a; border-radius:0 0 8px 8px;
  box-shadow:0 10px 24px rgba(10,20,35,.45);
}
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li > a{
  float:none; display:block; height:auto; line-height:1.7;
  padding:8px 18px; text-align:left;
  color:#c7d6e8; font-size:13px; border-bottom:none;
  background:transparent; transition:background .15s, color .15s;
}
/* v2.6.5 下拉成员图标：等宽对齐 + 弱化色，悬停/选中提亮 */
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li > a .glyphicon{
  display:inline-block; width:20px; margin-right:8px;
  text-align:center; font-size:14px; top:1px;
  color:rgba(199,214,232,.62);
  transition:color .15s;
}
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li > a:hover,
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li > a:focus{
  background:var(--pm-primary-d,#1d4a85); color:#ffffff;
}
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li > a:hover .glyphicon,
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li > a:focus .glyphicon{ color:#ffffff; }
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li.active > a{
  background:rgba(61,126,255,.18); color:#ffffff;
  border-left:3px solid #6db3ff; padding-left:15px;
}
.nav_normal2 .pm-nav-dropdown .dropdown-menu > li.active > a .glyphicon{ color:#6db3ff; }

.logininfo2{
  float:right;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  height:var(--pm-topbar-h);
  font-weight:normal;
  color:#c7d6e8;
  margin:0 16px 0 auto;
  font-size:13px;
}
/* 用户胶囊容器（div.dropdown 默认 block）：内部含 用户胶囊(dropdown-toggle) +
   下拉菜单(absolute) + 消息按钮(pm-msg-btn)。改 flex 横向排列，
   让 用户胶囊 与 消息按钮 同行并排，否则 block 宽度被压缩时按钮会被挤换行看不见。
   position:relative 保留下拉菜单定位基准；absolute 菜单脱离文档流不参与 flex。 */
.logininfo2 .dropdown{ position:relative; display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.logininfo2 a{ color:#c7d6e8; }
.logininfo2 a:hover{ color:#ffffff; text-decoration:none;}
/* 用户区胶囊：姓名 + 角色徽章 + 箭头 收进一个半透明圆角胶囊，
   悬停整体提亮；箭头跟随内容间距规整，不再显得突兀。 */
.logininfo2 .dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  /* V2.6.66：同顶栏 34px 基线，与时钟胶囊 / 消息按钮 / 导航按钮完全同高 */
  height:34px;
  line-height:1.5;
  padding:0 14px;
  color:#ffffff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  transition:background .15s, border-color .15s;
  white-space:nowrap;
}
.logininfo2 .dropdown-toggle:hover,
.logininfo2 .dropdown-toggle:focus{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.30);
  color:#ffffff;
}
.logininfo2 .dropdown-toggle .caret{ margin-left:0; border-top-color:rgba(255,255,255,.75); transition:border-top-color .15s; }
.logininfo2 .dropdown-toggle:hover .caret{ border-top-color:#ffffff; }
/* 角色徽章：半透明浅蓝小药丸，与航空蓝顶栏协调 */
.logininfo2 .label-info{
  background:rgba(109,179,255,.22);
  color:#dcebff;
  padding:2px 8px;
  border-radius:10px;
  font-size:11px;
  line-height:16px;
  font-weight:400;
  text-shadow:none;
  vertical-align:middle;
}
/* 消息信封按钮：与用户胶囊同款高度，独立成圆角方块，不再被 mouse_hover 规则压扁 */
.logininfo2 a.pm-msg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex:0 0 auto;
  height:34px;
  min-width:38px;
  padding:0 10px;
  line-height:1;
  color:#dcebff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  font-size:15px;
  white-space:nowrap;
  transition:background .15s, border-color .15s, color .15s;
}
.logininfo2 a.pm-msg-btn:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.30);
  color:#ffffff;
  text-decoration:none;
}
.logininfo2 a.pm-msg-btn .glyphicon{ top:0; line-height:1; }
.logininfo2 a.pm-msg-btn .label-danger{
  font-size:11px; line-height:15px; padding:0 6px; border-radius:9px;
  position:static; margin-left:2px;
}

/* ===== 用户下拉菜单（v2.3.16）：图标 + 分组 + 优雅排版 =====
   替代 Bootstrap 默认的纯文字列表，行距收敛、左侧对齐、悬停浅蓝高亮。 */
.logininfo2 .dropdown-menu.pm-usermenu{
  min-width:218px;
  padding:6px;
  margin-top:8px;
  background:#ffffff;
  border:1px solid #e2e8f2;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(10,25,50,.16);
}
.logininfo2 .pm-usermenu > li{ margin:0; }
.logininfo2 .pm-usermenu > li > a{
  display:flex; align-items:center; gap:10px;
  padding:9px 12px;
  font-size:13.5px; color:#33405a; line-height:1.4;
  border-radius:7px; white-space:nowrap;
  transition:background .13s, color .13s;
}
/* v2.6.5 用户菜单图标升级：浅色圆角小底块，图标居中，悬停整块提亮 */
.logininfo2 .pm-usermenu > li > a .glyphicon{
  font-size:13px; color:#7c8aa5; flex:0 0 26px;
  width:26px; height:26px; line-height:26px; text-align:center;
  background:#f0f4fa; border-radius:7px;
  transition:color .13s, background .13s;
}
.logininfo2 .pm-usermenu > li > a:hover,
.logininfo2 .pm-usermenu > li > a:focus{
  background:#eef3fb; color:#1f4d9b; text-decoration:none;
}
.logininfo2 .pm-usermenu > li > a:hover .glyphicon,
.logininfo2 .pm-usermenu > li > a:focus .glyphicon{ color:#2c6ecb; background:#e0ebfa; }
/* 分组细分隔线（自定义，比 Bootstrap .divider 更柔和） */
.logininfo2 .pm-usermenu > li.pm-usermenu-divider{
  height:1px; margin:6px 8px; background:#eef1f7; padding:0;
}
.logininfo2 .pm-usermenu > li.divider{ margin:6px 8px; background:#eef1f7; }
/* 退出项：红色调区分危险操作（v2.6.5 图标底块同步红调） */
.logininfo2 .pm-usermenu > li > a.pm-usermenu-logout{ color:#c0453e; }
.logininfo2 .pm-usermenu > li > a.pm-usermenu-logout .glyphicon{ color:#c96a63; background:#fdeeee; }
.logininfo2 .pm-usermenu > li > a.pm-usermenu-logout:hover{
  background:#fdeeee; color:#a8342e;
}
.logininfo2 .pm-usermenu > li > a.pm-usermenu-logout:hover .glyphicon{ color:#a8342e; background:#f9dcdc; }

/* v2.6.6 用户菜单「延期审批」待审计数徽章：红底白字，右浮对齐 */
.logininfo2 .pm-usermenu .pm-ext-badge{
  float:right; margin-left:12px; padding:1px 8px;
  min-width:14px; text-align:center;
  font-size:12px; font-weight:700; line-height:17px;
  color:#ffffff; background:#e03131; border-radius:9px;
}

/* ============================================================
   2026-10-20 顶栏改造：两行布局 + 导航按钮化 + 实时时钟
   ------------------------------------------------------------
   原顶栏是「logo + 导航 + 登录」挤在同一行 50px 高度的 float 布局，
   窄屏下导航被挤到第二行、与登录信息争夺横向空间，手机端极不友好。
   现改为：.topbar 用 flex-wrap，直接子元素按 order 排布——
     logo(order:1) → 时钟(order:2, margin-left:auto 推到右侧) →
     登录(order:3) 组成第一行；导航(order:4, flex-basis:100%) 独占第二行。
   DOM 顺序不变（仍是 logo / nav / login），仅用 order 重排，绝不破坏内部 PHP 循环。
   导航链接改为「高级按钮」：圆角胶囊、描边、悬停/选中态带光晕，移动端可换行排布。
   ============================================================ */
/* ============================================================
   顶栏布局（V2.6.114：flex + order → grid 定槽）
   ------------------------------------------------------------
   为什么改：原实现 `.topbar{display:flex; flex-wrap:wrap}` + order 排位。
   flex 的换行是按**基础宽度**判断的 —— 两个提醒框一出现，第一行放不下，
   浏览器就把 .logininfo2（用户胶囊）折到第二行，顶栏变成三行、整体错位。
   缩窄提醒框治不了这个：换行发生在收缩之前。
   现在用 grid-template-areas 把每个控件钉死在固定槽位：
     第 1 行：logo | 提醒 | 时钟 | 主题 | 用户胶囊
     第 2 行：导航（跨满 5 列）
   第 2 列 minmax(0,1fr) 是**唯一可伸缩**的列 —— 提醒再长也只在自己槽位里变窄
   （文字省略号），结构上不可能把用户胶囊挤下去。
   ⚠ 窄屏（≤991px）退回 flex：那里一行放不下 5 个控件，让提醒独占一行更合理，
     见本文件下方的 @media (max-width:991px)。
   ============================================================ */
.topbar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto auto;
  grid-template-areas:
    "logo alerts clock theme login"
    "nav  nav    nav   nav   nav";
  align-items:center;
  column-gap:14px;
  row-gap:2px;
  height:auto;
  padding:0 16px;
}
.topbar .logo{ grid-area:logo; margin:0; }
.pm-topbar-alerts{ grid-area:alerts; }
.pm-clock{ grid-area:clock; }
.pm-theme-wrap{ grid-area:theme; }
.logininfo2{ grid-area:login; justify-self:end; }
.nav_normal2{ grid-area:nav; }

/* 第一行：logo 在左，时钟 + 登录在右
   v2.4.8：时钟加「玻璃胶囊」背景框，与右侧登录信息拉开间距（原两者贴在一起）。
   v2.4.9：旧 .topbar 遗留的 line-height:50px 会被 .pm-clock 继承（内容行高 50px
   + padding 10 + 边框 2 = 胶囊 62px，比登录胶囊 35.5px 高出一截，视觉不协调）。
   显式设 line-height:1.5 + padding 7px 16px，与 .logininfo2 .dropdown-toggle
   （13px × 1.5 + 7px × 2 + 边框 2 = 35.5px）完全同高。 */
.pm-clock{
  display:inline-flex; align-items:center; gap:7px;
  /* V2.6.114：间距交给 .topbar 的 column-gap，这里不再用 margin 撑
     （旧值 margin-left:auto 在 grid 里会把胶囊在自己的格子里推来推去，反而错位） */
  margin:0;
  /* V2.6.66：顶栏所有控件统一 34px 高（与导航按钮、消息按钮、用户胶囊一致）。
     旧值靠「13px×1.5 + 7px×2 + 边框 2」凑出 35.5px，与导航按钮的 34px 差 1.5px，
     窄屏换行时两条线的控件高低不齐。这里直接定高 + 去掉上下 padding，
     靠 flex 居中，数值不再随字号漂移。 */
  height:34px;
  padding:0 16px;
  line-height:1.5;
  color:#a9c1de; font-size:13px; letter-spacing:.3px; white-space:nowrap;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  border:1px solid rgba(157,208,255,.22);
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 2px 8px rgba(0,0,0,.18);
}
.pm-clock .pm-clock-date{ color:#cdd9ea; }
.pm-clock .pm-clock-week{ color:#9fd0ff; font-weight:600; }
.pm-clock .pm-clock-time{
  color:#ffffff; font-weight:700; letter-spacing:1px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
}
.pm-clock .pm-clock-sep{ color:rgba(255,255,255,.35); }
.logininfo2{ margin-left:0; }

/* ============================================================
   顶栏重要信息提醒（延期任务 / 延期审批待办）
   ------------------------------------------------------------
   v2.6.5 起：当前用户有延期未完成任务时才渲染。
   v2.6.8：加了「延期审批待办」第二条（蓝色调，与琥珀色区分）。
   V2.6.114：
     · 外面多了一层 .pm-topbar-alerts 容器，顶栏 grid 里占 alerts 槽位；
     · 两条以上时由 pm_topbar_rotate.js 轮播（5s 一轮、悬停暂停、右侧 1/2 指示），
       没 JS 时两条同时显示 —— 容器 overflow:hidden + 各自省略号，照样不撑破布局；
     · 配色沿用「琥珀警告」：半透明琥珀渐变底 + 琥珀描边，数字白粗体，hover 提亮。
   ============================================================ */
.pm-topbar-alerts{
  display:flex; align-items:center; gap:8px;
  /* min-width:0 是关键：少了它 flex 子项不会低于内容宽度，长文案仍会撑破 grid 槽位 */
  min-width:0; max-width:100%;
  justify-self:start;              /* 不跟着 1fr 伸长，紧贴 logo 右侧 */
}
.pm-topbar-alert{
  display:inline-flex; align-items:center; gap:8px;
  /* V2.6.66：同顶栏 34px 基线（原为 6px 上下 padding → 33px）
     V2.6.114：margin 归零（间距由容器的 gap 负责），允许收缩 + 省略号 */
  flex:0 1 auto; min-width:0; max-width:100%;
  margin:0; padding:0 14px; height:34px;
  line-height:1.5; font-size:13px; white-space:nowrap;
  color:#f5d9a8;
  background:linear-gradient(135deg,rgba(255,183,77,.16),rgba(255,183,77,.05));
  border:1px solid rgba(255,183,77,.45);
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 2px 8px rgba(0,0,0,.18);
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
/* 文案是 flex 子项，必须自己 overflow:hidden 才会出省略号（只在外层设没用） */
.pm-topbar-alert__t{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pm-topbar-alert__icon{ flex:0 0 auto; }
.pm-topbar-alert:hover,
.pm-topbar-alert:focus{
  color:#ffe9c4;
  background:linear-gradient(135deg,rgba(255,183,77,.28),rgba(255,183,77,.10));
  border-color:rgba(255,183,77,.75);
  text-decoration:none;
}
.pm-topbar-alert .pm-topbar-alert__icon{
  font-size:15px; top:1px; color:#ffb44d;
  text-shadow:0 0 6px rgba(255,180,77,.55);
}
.pm-topbar-alert b{
  color:#ffffff; font-weight:700; font-size:14px; margin:0 1px;
  font-variant-numeric:tabular-nums;
}
/* 轮播：is-rot 由脚本加（PHP 不预先加，保证没 JS 时两条都能看见） */
.pm-topbar-alerts.is-rot .pm-topbar-alert{ display:none; }
.pm-topbar-alerts.is-rot .pm-topbar-alert.is-on{
  display:inline-flex;
  animation:pm-tb-alert-in .45s ease both;
}
@keyframes pm-tb-alert-in{
  from{ opacity:0; transform:translateY(-5px); }
  to  { opacity:1; transform:none; }
}
/* 尊重「减少动效」系统设置：只切内容，不做位移 */
@media (prefers-reduced-motion: reduce){
  .pm-topbar-alerts.is-rot .pm-topbar-alert.is-on{ animation:none; }
}
/* 轮播指示 1/2：让人知道「还有一条」，不会以为漏了 */
.pm-topbar-alerts__idx{
  flex:0 0 auto; font-size:11px; line-height:1;
  color:rgba(255,255,255,.5);
  font-variant-numeric:tabular-nums; white-space:nowrap;
  padding-right:2px;
}
.pm-topbar-alerts__idx b{ color:rgba(255,255,255,.92); font-weight:700; }

/* 中屏（≤1199px，仍是 grid 五槽）：时钟收成「只报时刻」、槽间距收紧，
   把省出来的 ~110px 让给提醒槽位 —— 否则 1024 这类宽度上提醒会被压得只剩图标。
   V2.6.117：插件页（.pm-topbar）品牌区完整显示后 logo 列约 360px（比主站多
   「/ 模块名」后缀），≤1280 时钟整个让位 —— 时钟纯装饰，省出的 ~90-230px
   正好补回提醒槽，保证提醒文案可读。主站不受影响。 */
@media (max-width: 1199px) {
  .topbar{ column-gap:10px; }
  .pm-clock{ padding:0 12px; }
  .pm-clock .pm-clock-date,
  .pm-clock .pm-clock-week,
  .pm-clock .pm-clock-sep{ display:none; }
}
@media (max-width: 1280px) {
  .pm-topbar .pm-clock{ display:none; }
}

/* 窄屏（≤991px）：一行放不下「logo + 时钟 + 主题 + 用户」四组，
   退回 flex 并让提醒独占一整行 —— 它自己占满一行，挤压不到别人。
   ⚠ 这里必须把 order 重新给出来：base 规则已改成 grid，order 在 grid 里无效。 */
@media (max-width: 991px) {
  .topbar{ display:flex; flex-wrap:wrap; align-items:center; column-gap:10px; }
  .topbar .logo{ order:1; }
  .pm-clock{ order:2; margin-left:auto; }
  .pm-theme-wrap{ order:2; }
  .logininfo2{ order:2; }
  .pm-topbar-alerts{ order:3; flex:1 1 100%; margin:6px 0 0; }
  .nav_normal2{ order:4; flex-basis:100%; }
}
/* 手机（≤860px）：logo + 时钟 + 主题 + 用户胶囊在一行里放不下（实测 768px 差 40px，
   会把用户胶囊挤到第二行 → 顶栏变四行）。时钟纯装饰，手机状态栏本来就有 ——
   这里直接隐掉，auto margin 挪给主题按钮，右侧那组仍然靠右。 */
@media (max-width: 860px) {
  .pm-clock{ display:none; }
  .pm-theme-wrap{ margin-left:auto; }
}
/* v2.6.8 延期审批待办提醒 — 蓝色调，与琥珀色延期任务提醒区分 */
.pm-topbar-alert--ext{
  background:linear-gradient(135deg,rgba(61,126,255,.14),rgba(61,126,255,.04));
  border-color:rgba(61,126,255,.48);
  color:#a8cdf9;
}
.pm-topbar-alert--ext:hover,
.pm-topbar-alert--ext:focus{
  background:linear-gradient(135deg,rgba(61,126,255,.26),rgba(61,126,255,.08));
  border-color:rgba(61,126,255,.78);
  color:#cfe0ff;
}
.pm-topbar-alert--ext .pm-topbar-alert__icon{
  color:#3d7eff;
  text-shadow:0 0 6px rgba(61,126,255,.5);
}

/* 第二行：导航按钮化（v2.4.8：放宽间距与留白，按钮内加图标，读起来更舒适） */
.nav_normal2{
  float:none;
  /* V2.6.66 政企 OA 统一：导航按钮「等宽等高」。
     ⚠ 用 grid + auto-fill 而不是 flex-wrap：flex 换行后**每一行各自等分**，
        行与行的按钮宽度仍然不同（8 个一行 vs 4 个一行，宽度差一倍）。
        grid 的 repeat(auto-fill, minmax(104px,1fr)) 先把可用宽度切成固定列数的
        等宽轨道，所有行共用同一套列宽 —— 这才是真正「每个按钮一样长」。
     列数随视口自动变（1440 约 12 列 / 768 约 8 列 / 390 约 4 列），
     每列的 min 值在下面各档媒体查询里收窄。 */
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(104px, 1fr));
  align-items:center;
  gap:8px;
  height:auto;
  padding:9px 0 11px;
}
.nav_normal2 > a,
.nav_normal2 .pm-nav-dropdown > a{
  float:none;
  display:inline-flex;
  align-items:center;
  /* 宽度由 grid 轨道统一给（见 .nav_normal2），这里只负责撑满 + 内容居中 */
  width:100%;
  min-width:0;
  justify-content:center;
  gap:7px;
  height:34px;
  line-height:34px;
  padding:0 14px;
  text-align:center;
  text-decoration:none;
  color:#cdd9ea;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  transition:background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
/* 导航图标：略小于文字、浅蓝降调，不抢文字视觉；悬停/选中随文字提亮 */
.nav_normal2 > a .glyphicon,
.nav_normal2 .pm-nav-dropdown > a .glyphicon{
  font-size:13px;
  color:#86b1e4;
  line-height:inherit;
}
.nav_normal2 > a .caret{ margin-left:2px; }
.nav_normal2 > a:hover .glyphicon,
.nav_normal2 .pm-nav-dropdown > a:hover .glyphicon,
.nav_normal2 .pm-nav-dropdown.open > a .glyphicon{ color:#ffffff; }
.nav_normal2 > a.nav_select .glyphicon,
.nav_normal2 .pm-nav-dropdown > a.nav_select .glyphicon{ color:#ffffff !important; }
.nav_normal2 > a:hover,
.nav_normal2 .pm-nav-dropdown > a:hover{
  background:var(--pm-primary-d,#1d4a85);
  color:#ffffff;
  border-color:rgba(109,179,255,.55);
  box-shadow:0 4px 12px rgba(29,74,133,.45);
}
/* 选中态：覆盖旧 .nav_select 的 50px 高度 / 底部 3px 底线写法（旧规则带 !important，此处以更高
   优先级 + !important 反制），统一成按钮态的高亮胶囊。 */
.nav_normal2 > a.nav_select,
.nav_normal2 .pm-nav-dropdown > a.nav_select,
.nav_normal2 .pm-nav-dropdown.open > a{
  height:34px !important;
  line-height:34px !important;
  color:#ffffff !important;
  background:linear-gradient(180deg,var(--pm-primary-d,#1d4a85),var(--pm-topbar-bg,#163a6e)) !important;
  border:1px solid rgba(109,179,255,.7) !important;
  border-radius:9px !important;
  box-shadow:0 4px 14px rgba(29,74,133,.5), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
/* 分组下拉容器不再是 50px 浮动块；菜单相对于按钮定位到正下方 */
.nav_normal2 .pm-nav-dropdown{
  float:none;
  height:auto;
  width:100%;
  min-width:0;
  display:inline-flex;
}
/* 下拉分组内部按钮撑满轨道，与旁边的普通按钮同宽 */
.nav_normal2 .pm-nav-dropdown > a{
  flex:1 1 auto;
  width:100%;
  min-width:0;
  justify-content:center;
}
.nav_normal2 .pm-nav-dropdown .dropdown-menu{
  top:100%;
  margin-top:6px;
}

/* 窄屏微调：时钟缩字、导航按钮略窄，避免第一行拥挤 */
@media (max-width:991px){
  /* 等宽轨道随视口收窄，否则 104px × N 会把导航栏挤成过多行 */
  .nav_normal2{ grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)); }
}
@media (max-width:640px){
  .topbar{ padding:0 10px; }
  .pm-clock{ font-size:11.5px; gap:4px; padding:0 10px; margin-right:10px; }
  .nav_normal2{ gap:6px; grid-template-columns:repeat(auto-fill, minmax(80px, 1fr)); }
  .nav_normal2 > a,
  .nav_normal2 .pm-nav-dropdown > a{
    height:32px; line-height:32px; padding:0 10px; font-size:13px;
  }
  /* 选中态规则带 !important（要压过旧 .nav_select 的 50px 写法），
     窄屏降高时必须同步用 !important 压回去，否则当前页那个按钮比别人高一截。 */
  .nav_normal2 > a.nav_select,
  .nav_normal2 .pm-nav-dropdown > a.nav_select,
  .nav_normal2 .pm-nav-dropdown.open > a{
    height:32px !important; line-height:32px !important;
  }
}
/* 超窄屏（手机）：轨道进一步收窄，单行多放几个、整体少换几行，降低顶栏高度占用 */
@media (max-width:480px){
  .nav_normal2{ gap:5px; grid-template-columns:repeat(auto-fill, minmax(72px, 1fr)); }
  .nav_normal2 > a,
  .nav_normal2 .pm-nav-dropdown > a{
    height:30px; line-height:30px; padding:0 8px; font-size:12px; gap:5px;
  }
  .nav_normal2 > a.nav_select,
  .nav_normal2 .pm-nav-dropdown > a.nav_select,
  .nav_normal2 .pm-nav-dropdown.open > a{
    height:30px !important; line-height:30px !important;
  }
  .pm-clock{ font-size:10.5px; padding:0 8px; margin-right:8px; }
}

/* 容器宽度 100%（原来是 99%）：
   .table-responsive 的 -15px 负 margin 在 99% 宽度下会顶出容器，
   导致整页多出横向滚动条、页脚被从中间切开（role.php 权限矩阵最明显）。
   box-sizing:border-box + overflow-x:hidden 保证宽表格只在自身容器内滚动。 */
.pagemargin { margin:0px auto 10px auto; width:100%; max-width:none; box-sizing:border-box; overflow-x:hidden;}
.subnav { width:99%; padding-left:15px; margin:15px auto 8px 0px;}
.subnav_item ul{ }
.subnav_item li{ float:left;  }
.subnav_item li a { width:130px; display:block; height:26px; color:#999999; text-decoration:none;}
.subnav_item li a:hover { text-decoration: underline;}
.subonhover a{ color: #333 !important; font-weight:bold; font-size:13px;}


/* foot */
/* 底部版权条：弹性居中 + 上下留白（原来固定 36px 高 + 内部 margin-top:12px，
   导致文字贴到条底边缘） */
.foot{
  background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
  border-top:1px solid #e3e8f0;
  padding:13px 18px 15px;
  margin-top:18px;
  font-size:12px; line-height:1.9; color:#7b8698;
  clear:both;
}
.pm_foot_title {
  max-width:1200px; margin:0 auto; width:auto;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; text-align:center; color:#7b8698;
}
.pm_foot_logo{ display:none; }
.pm_foot_ver{ margin:0; }
.pm_foot_ver a{ color:#5b6b82; text-decoration:none; }
.pm_foot_ver a:hover{ color:#2c6ecb; text-decoration:underline; }

/********login*******/
.login_table{  padding:15px; width:300px; margin:auto auto;}
.login_input{ width:300px; height:30px; font-size:25px; border:solid 1px #ccc;}
.login_title{ font-size:30px; font-weight:bold;}
.ping_logo{ background:url(images/ping_logo.jpg) no-repeat; width:352px; height:160px; margin:auto auto;}

/********Filter Table*******/
.filter_table
{
	width:99%;

	border:#b1b5b9 1px solid;
	background:#FFF;
	margin-left:7px;
	}
.filter_table tbody td{padding:5px; border-bottom:#b1b5b9 1px solid; background-color:#F6F6F6;} 
.filter_table thead, .filter_table tfoot{ background:#e5e6e8; height:30px; text-align:left;}

.filter_table thead th{ border-bottom:#b1b5b9 1px solid; padding-left:10px; height:30px; text-align:left;}
.filter_table tfoot td{ padding-left:10px; height:30px; text-align:left;}
.filter_table a{  text-decoration:underline;  color:#395a90; font-size:12px;}
.filter_table a:hover{ text-decoration:none; color:#395a90}
.hideTr{ display:none;}

/********out of date*******/
.timeout_div{ border-bottom:1px solid #FAE4C0; height:30px; line-height:30px;}
.timeout_color a{ color:#8a6d3b;}
.timeout_talbe{ border-top:1px solid #ccc; }
.rowood td a{ color:#395a90;text-decoration:underline;  padding-right:10px; }
.rowood td a:visited{ color:#395a90;text-decoration:underline; }
.rowood td a:hover{ color:#395a90;text-decoration:none; }
.oodtd{ height:30px; border-bottom: 1px dashed #ccc;}

/********Main Table*******/
.toptable{ width:100%; background:#000;}
.toptable tr th {  white-space:nowrap; text-align:center;}
.trhover_1{ background:#E9E9E9; line-height:26px; height:26px; border-right:1px solid #ccc;  border-bottom:1px solid #ccc;}

.maintable{ width:100%; border-collapse:separate;}
.maintable tr td{  line-height:26px; height:26px; white-space:nowrap; border-right:1px solid #ccc;  border-bottom:1px solid #ccc; text-align:center; }
.maintable a{  text-decoration:none;  color:#0076AE; font-weight:bold; font-size:12px;}
.maintable a:hover{ text-decoration:underline; }
.maintable a:visited{  text-decoration:none;   font-weight: normal;}


.even{ background:#E8ECF0;  } 
.trhover{ color:#000; background:#D6E5F2; }
.trhover div { }
.trhover span {}
.trhover a{ }
.trhover a:visited{ }
.trhover a:hover, .trhover span a:hover, .trhover div a:hover { }

/********list*******/
.rowcon{ width:99%; margin-bottom:20px; }
.rowcon td a{  padding-right:10px; }
.rowcon td a:visited{ }
.rowcon td a:hover{ }

/********input task*******/
.input_task_table
{ width:90%;}
.input_task_table_home
{ width:99%;}
.input_task_title{ font-size:12px; font-weight:bold;   width:99%; margin-top:14px;  overflow:hidden; line-height:150%;}
.input_task_submit{ display:block;  margin-top:5px; margin-right:10px;}
.input_task_submit a{ color:#395a90;text-decoration:underline;  }
.input_task_submit a:visited{ color:#395a90;text-decoration:underline; }
.input_task_submit a:hover{ color:#395a90;text-decoration:none; }
.input_task_right_bg{ background:#F3F3F3;}
.input_task_bottom_bg{ background:#ddd;}

/********view task*******/
.view_task_status {margin-left:5px; width:120px;}
.pat_task_bg { background:#FFFFE0; width:99%; border:1px solid #E6DB55; padding:5px;}
.info_task_bg { background:#F5F5F5; width:100%; border:1px solid #E6E6E6; }
.info_task_bg td{ padding:6px;}
.info_task_title { font-weight:bold; }
/* V2.6.121 窄屏：.info_task_bg 是「标签 | 值 | 标签 | 值」四列的信息表
   （project_view / default_task_edit / user_view / log_view 四个页面共用）。
   四个 td 的 min-content 叠起来能到 850px 以上，390px 屏下整表被推到屏幕外。
   窄屏改为每格一行：标签行紧贴其值行，读起来就是「标签 / 值」成对堆叠。
   width:auto!important 是给 td 上 width="12%" / width="40%" 这类属性兜底。 */
@media (max-width: 767px){
	/* ⚠ 必须把 table / tbody 一起改成 block。只给 tr、td 设 display:block 是没用的 ——
	   tbody 仍是 table-row-group，浏览器会为这些 block 子元素生成匿名表格盒
	   （anonymous table wrappers），宽度又按内容固有宽度算回去，
	   实测整表照样 479px。（V2.6.121 踩过两次：pm-legacy-2col 同理。） */
	.info_task_bg,
	.info_task_bg > tbody,
	.info_task_bg > tbody > tr { display:block; width:100%; max-width:100%; }
	.info_task_bg > tbody > tr > td { display:block; width:auto !important; }
	.info_task_bg > tbody > tr > td.info_task_title { padding-bottom:0; }
	.info_task_bg > tbody > tr > td.info_task_title:empty { display:none; }
}

/********task log*******/
.task_log_div
{ background:#CADCEE; padding:5px; width:100%;}
.log_task_overflow{ overflow-y:auto; overflow-x: hidden; height:225px;}
.task_log_table
{ background:#E8EEF7; width:100%; margin-top:3px;}
.log_week_title{ font-size:14px; font-weight:bold; text-align:center;}
.log_week_table{ width:134px;  background:#FFF;}
.log_week_table_text{ width:133px; height:40px; border:1px #ccc solid;}
.log_week_table_text_n{ width:133px; }
.log_week_table_text1{ width:77px; }
.log_week_table_text2{ width:52px; }
.log_week_title_bg{background:#fff url(images/log_week_title.gif) no-repeat; width:132px; height:20px; text-align:center; color:#FFF; }
.log_weekend_title_bg{background:#fff url(images/log_weekend_title.gif) no-repeat; width:132px; height:20px; text-align:center;  color:#FFF; }

.remark_bg{ background: #F3F3F3; padding:8px;}
.remark_bg a{  text-decoration:underline;  color:#395a90; }
.remark_bg a:hover{ text-decoration:none; color:#395a90}
/********task list*******/
.task_title{text-align:left!important; padding-left:1px!important; }
.task_title5{text-align:left!important; padding-left:5px!important; }
.week_style{ }
.week_style_padtd{}
.weekend_style{ background: #F5F5F5; }
.weekbig_style{   line-height:26px; height:26px; border-right:1px solid #ccc;  border-bottom:1px solid #ccc; }
.weekbig_font_style{ font-size:14px; text-align:center;}
.task_weeklog_div { padding-left:220px;}
.task_weeklog_left{ width:320px; }
.task_weeklog_left a{ font-weight:normal; cursor:pointer;}
.task_weeklog_left a:hover{ text-decoration:underline; }
.task_weeklog_right {  width:3px;}
.task_weeklog_right a{ }
.icon_margen{margin-top:4px;}


/********Main Table Div*******/
.condition{ width:100%; background:#F5F5F5; border-bottom:#ccc 1px solid;}
.condition span{ margin:0px 5px; padding:5px 0px; display:block;}
.taskdiv{ width:99%; border-top:1px #ccc solid; border-left:1px #ccc solid;  margin-left:7px;}
.tasktab{ width:99%; border:1px #ccc solid;  background:#E1E1E1; margin-left:7px; }

.tasktab_height{  height:54px;}

.tasktab_bl{ width:100%; background:#D0D7DF;}
.tasktab_br{ width:1500px; max-width:1500px; }


.tbody_bl{ width:45%;  overflow: hidden;   float:left;}
.tbody_br{width:55%;   overflow-x:auto; overflow-y: hidden; background:#FFF;  *padding-bottom:16px; }

.status_title{  font-size:12px; line-height:20px; height:20px; margin-right:5px;}
.status_view{ width:150px; font-size:12px; line-height:20px; height:20px;}
.tasktab_view{ width:99%; border-top:1px #ccc solid;  border-left:1px #ccc solid;  }

.pagemarginfix{ width:99%; margin-left:7px;}


/********announcement*******/
.anc_div{ margin:0px 0px 0px 0; background:#D9EDF7; padding:5px 5px 5px 20px;  color:#3A87AD; }
.anc_div a{  text-decoration:none;  color:#3A87AD; }
.anc_div a:hover{ text-decoration:underline; color:#395a90}

/********about*******/
.about_div{ padding:6px; }
.about_bg{ background:url(images/about_bg.jpg); width:401px; height:137px;}
.about_bottom{ background: url(images/about_bottom.gif) repeat-x #D4D0C8; width:396px; height:40px; padding:10px; text-align:right;}
.about_text{ height:50px;  width:396px;}
.about_text a{  text-decoration:none;  color:#395a90; }
.about_text a:hover{ text-decoration:underline; color:#395a90}

/********feature*******/
.feature01{ padding:10px 10px 20px 80px; background:url(images/feature01.gif) no-repeat;  width:80%; line-height:200%; }
.feature02{ padding:10px 10px 20px 80px; background:url(images/feature02.gif) no-repeat;  width:80%; line-height:200%; }

/********update*******/
.update_bg { background:#FBFAF3;  border:1px solid #FCEFA1; margin:25px auto; padding: 25px 0px;  text-align:center; width:65%;}

/********comment*******/
.comment_list {  border-bottom:1px dashed #cccccc; padding:5px 0px 10px 0px; }

/********tab*******/
.outline { width:300px;}
.tab ul, .tab ol{  margin:0px 0px 5px 0px; }
.tab_b{ }
/* 现代化下划线指示器 tab（v2.3.15，user_view / project_view 共用）：
   去掉旧的「文件夹三边框」标签，改为 品牌蓝下划线 + 选中文字加粗 的简洁风格。 */
.menu{
  overflow:visible;
  display:flex; align-items:stretch; gap:4px;
  border-bottom:1px solid var(--pm-border,#e6ebf3);
  padding:0 4px;
}
.menu li{
  display:block; float:none; text-align:center;
  width:auto; min-width:0; background-color:transparent;
  line-height:1; border-bottom:none;
  position:relative;
}
.menu li a{
  display:block; outline:none; text-decoration:none;
  padding:12px 18px 13px;
  font-size:14px; color:#68748a; font-weight:500;
  border-bottom:3px solid transparent;
  transition:color .15s, border-color .15s;
  white-space:nowrap;
}
.menu li a:hover{ color:#2c6ecb; }
/* 空白占位 li（原 &nbsp; 填充项）不显示任何内容 */
.menu li:empty, .menu li a:empty{ padding:0; border-bottom:none; pointer-events:none; }
.menu_d{border-bottom:none;background-color:transparent; }
.tab ul li.onhover
{
background: transparent;
border-bottom:none;
border-right:none; border-top:none; border-left:none;
}
.tab ul li.onhover a
{
font-weight:700;
color:#2c6ecb;
text-decoration:none;
border-bottom:3px solid #2c6ecb;
}
.tab ul li.onhover a:hover{ color:#215cb0; }

/********file*******/
.icon_folder{ background:url(images/folder-horizontal.png) no-repeat; padding-left:20px; height:18px; display:block; float:left;}
.icon_file{ background:url(images/document-text.png) no-repeat; padding-left:20px;  display:block; float:left; }
.icon_word{ background:url(images/wordico.gif) no-repeat; padding-left:17px; height:18px;  margin-left:5px;}
.icon_atc{ background:url(images/iconatt.gif) no-repeat; padding-left:17px; height:18px;  margin-left:5px;}
.icon_download{ background:url(images/arrow-270-medium.png) no-repeat; padding-left:17px; height:18px; display:block; float:left; margin-left:10px;}
.file_lastupdate{display:block; float:right;}
.file_create_a{display:block; float:left; margin-right:10px;}
.file_input { width:96%;  height:30px; font-size:24px; margin-top:5px;  }

.file_input_div{ border-bottom: 1px solid #999;}
.file_margin{ margin:5px;}
.file_text_bg{ background:#F3F3F3;}
.file_text_div{ background:#fff; width:940px; border:1px solid #CCCCCC; margin:20px auto 20px auto; padding:55px;}
/* V2.6.121 窄屏：档案详情卡（archive/file_view.php）原来写死 940px + 左右各 55px 内边距，
   在 390px 视口下总宽 1052px，整块被推到屏幕外。桌面保持原样不动，只在窄屏收口：
   width:auto 让宽度跟随容器；必须补 box-sizing:border-box，否则 padding 是加在
   100% **之外**的，仍然会溢出（content-box 的经典坑）。 */
@media (max-width: 900px){
	.file_text_div{ width:auto; max-width:100%; box-sizing:border-box; padding:18px 14px; margin:12px auto; }
	/* 30px 的 h2 在 390px 屏上独占两行、压得正文没气口，收到 20px */
	.file_text_div h2{ font-size:20px; line-height:1.35; }
}
.file_textarea_div{  width:98%;  margin:0px auto 20px auto; }

/********setting*******/
.set_menu_bg{background:#eee;}
.set_menu_hr{ width:100%; border:1px dashed #ccc;}

.set_menu_onfocus a{ text-decoration:none; color:#fff; background: #999999; display:block; padding:3px; width:100%; }
.set_menu_onfocus a:hover{ text-decoration:none;  color:#333; background:#ccc; }

.set_menu_nofocus a{ text-decoration:none; color:#333; display:block; padding:3px; width:100%; }
.set_menu_nofocus a:hover{ text-decoration:none;  color:#333; background:#ccc; }

/********sort*******/
.sort_asc{ background:url(images/arrow_up.gif)  no-repeat right; padding-right:10px;}
.sort_desc{ background:url(images/arrow_down.gif)  no-repeat right; padding-right:10px;}

/********user rank*******/
.rank_talbe{ border:1px #CCCCCC solid; color:#666666; border-collapse:collapse; }
.rank_talbe td{ padding:5px;}
.iconer{ background-image: url(images/info.gif); background-repeat: no-repeat;  background-position: 0 0; height:16px; width:16px;}
.iconok{ background-image: url(images/info.gif); background-repeat: no-repeat;  background-position: 0 -16px; height:16px; width:16px;}

/********user home*******/
.userinfo{ margin-left:10px; width:200px;} 
.iconhome{ background-image: url(images/ui-icons_454545_256x240.png); background-repeat: no-repeat;  background-position: 0 -113px; height:16px; width:16px; margin:3px;}
.taskform {padding:0px; margin:0px;}
.structure { padding-top:5px; }
.newtaskdiv { padding-top:8px; padding-right:10px;}
.pagetitle { padding-top:20px; padding-left:20px;}
.input_user{ width:386px; height:26px;}
.input_user_are{ width:386px; }
.input_td_padding{ padding-top:13px;}
.gray2{ color: #666666; }