/* ============================================================
   彩虹外链网盘 · iOS 企业白拟态主题 (iOS Enterprise White Neumorphism)
   ============================================================ */

/* ---------- 设计变量（CSS 自定义属性） ---------- */
:root{
  --neo-bg:          #eef0f4;   /* 页面浅灰白背景 */
  --neo-card:        #ffffff;   /* 卡片白 */
  --neo-shadow-dark:  rgba(160,175,198,.42);
  --neo-shadow-light: rgba(255,255,255,.95);
  --neo-blue:        #007aff;   /* iOS 系统蓝 */
  --neo-blue-dark:   #0056d6;
  --neo-green:       #34c759;   /* iOS 绿 */
  --neo-red:         #ff3b30;   /* iOS 红 */
  --neo-orange:      #ff9500;
  --neo-teal:        #5ac8fa;
  --neo-text:        #1d1d1f;
  --neo-text-sub:    #6e6e73;
  --neo-line:        #e5e5ea;
  --neo-radius:      16px;
  --neo-radius-sm:   10px;
  --neo-font: -apple-system,BlinkMacSystemFont,"SF Pro SC","SF Pro Text","PingFang SC","Helvetica Neue","Segoe UI","Microsoft YaHei",sans-serif;
}

/* 拟态工具：凸起卡片 / 凹陷内嵌 / 轻凸 */
.neo-card{
  background:var(--neo-card);
  border-radius:var(--neo-radius);
  box-shadow:8px 8px 18px var(--neo-shadow-dark), -8px -8px 18px var(--neo-shadow-light);
}
.neo-inset{
  background:var(--neo-card);
  border-radius:var(--neo-radius-sm);
  box-shadow:inset 4px 4px 9px var(--neo-shadow-dark), inset -4px -4px 9px var(--neo-shadow-light);
}
.neo-soft{
  background:var(--neo-card);
  border-radius:var(--neo-radius-sm);
  box-shadow:4px 4px 10px var(--neo-shadow-dark), -4px -4px 10px var(--neo-shadow-light);
}

/* ---------- 全局 ---------- */
html,body{
  height:100%;
}
body{
  font-family:var(--neo-font);
  background:var(--neo-bg);
  color:var(--neo-text);
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{
  color:var(--neo-blue);
  transition:color .2s ease;
}
a:hover,a:focus{
  color:var(--neo-blue-dark);
  text-decoration:none;
}
.text-muted{color:var(--neo-text-sub) !important;}
h1,h2,h3,h4,h5,h6{
  font-family:var(--neo-font);
  font-weight:600;
  color:var(--neo-text);
}

/* ---------- 顶部毛玻璃导航栏 ---------- */
.navbar{
  border:none;
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  box-shadow:0 1px 0 rgba(0,0,0,.04), 0 6px 18px rgba(160,175,198,.12);
  min-height:56px;
  border-radius:0;
  margin-bottom:24px;
}
.navbar-default .navbar-brand{
  font-family:var(--neo-font);
  font-weight:700;
  font-size:19px;
  color:var(--neo-text);
  letter-spacing:.2px;
  line-height:32px;
}
.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{
  color:var(--neo-blue);
}
.navbar-default .navbar-nav>li>a{
  color:var(--neo-text-sub);
  font-size:15px;
  line-height:32px;
  padding:12px 16px;
  transition:color .2s ease;
}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{
  color:var(--neo-text);
  background:rgba(0,0,0,.03);
  border-radius:10px;
}
.navbar-default .navbar-nav>li.active>a,
.navbar-default .navbar-nav>li.active>a:hover,
.navbar-default .navbar-nav>li.active>a:focus{
  color:var(--neo-blue);
  background:rgba(0,122,255,.08);
  border-radius:10px;
}
.navbar .nav>li>a{
  text-shadow:none;
}
.navbar-default .navbar-toggle{
  border:none;
  background:transparent;
}
.navbar-default .navbar-toggle .icon-bar{
  background:var(--neo-text);
}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{
  background:rgba(0,0,0,.04);
}
.navbar-default .navbar-collapse{
  border-color:transparent;
}
/* 下拉菜单 */
.dropdown-menu{
  border:none;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 30px rgba(160,175,198,.35), 0 2px 8px rgba(160,175,198,.18);
  padding:6px;
  margin-top:8px;
}
.dropdown-menu>li>a{
  color:var(--neo-text);
  border-radius:9px;
  padding:8px 14px;
  transition:background .15s ease;
}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{
  background:rgba(0,122,255,.08);
  color:var(--neo-blue);
}
.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{
  background:rgba(0,0,0,.03);
  border-color:transparent;
}

/* ---------- 卡片 / 面板 / well ---------- */
.well{
  background:var(--neo-card);
  border:none;
  border-radius:var(--neo-radius);
  box-shadow:8px 8px 18px var(--neo-shadow-dark), -8px -8px 18px var(--neo-shadow-light);
  min-height:40px;
  padding:24px;
  margin-bottom:24px;
}
.well h2{
  margin-top:6px;
  margin-bottom:18px;
  font-size:22px;
  font-weight:600;
}
.panel{
  background:var(--neo-card);
  border:none;
  border-radius:var(--neo-radius);
  box-shadow:8px 8px 18px var(--neo-shadow-dark), -8px -8px 18px var(--neo-shadow-light);
  margin-bottom:22px;
}
.panel-heading{
  border:none;
  border-radius:var(--neo-radius) var(--neo-radius) 0 0;
  background:transparent;
  padding:16px 20px 4px;
}
.panel-title{
  font-size:16px;
  font-weight:600;
  color:var(--neo-text);
}
.panel-body{
  padding:20px;
  border-top:none;
}
.panel-footer{
  background:transparent;
  border-top:1px solid var(--neo-line);
  border-radius:0 0 var(--neo-radius) var(--neo-radius);
  padding:12px 20px;
  color:var(--neo-text-sub);
}
.panel-footer a{
  color:var(--neo-blue);
}
/* 彩色面板头 —— 拟态彩色 */
.panel-primary>.panel-heading,.panel-info>.panel-heading,
.panel-success>.panel-heading,.panel-warning>.panel-heading,
.panel-danger>.panel-heading,.panel-green>.panel-heading,
.panel-yellow>.panel-heading,.panel-red>.panel-heading{
  color:var(--neo-text);
  background:transparent;
  border-bottom:1px solid var(--neo-line);
}
/* ---------- 后台统计大卡片（panel-green/red/yellow） ---------- */
.panel-green,.panel-red,.panel-yellow,.panel-primary,.panel-info{
  border-color:transparent !important;
}
.panel-green .panel-heading,.panel-red .panel-heading,.panel-yellow .panel-heading{
  border-color:transparent;
  color:var(--neo-text);
  background:transparent;
}
.panel-green a,.panel-red a,.panel-yellow a{
  color:var(--neo-blue);
}
.panel-green a:hover,.panel-red a:hover,.panel-yellow a:hover{
  color:var(--neo-blue-dark);
}

/* ---------- 按钮（iOS 圆角胶囊 + 拟态） ---------- */
.btn{
  font-family:var(--neo-font);
  font-size:15px;
  font-weight:500;
  border:none;
  border-radius:999px;
  padding:8px 20px;
  line-height:1.6;
  transition:all .2s ease;
  text-shadow:none;
  box-shadow:4px 4px 10px var(--neo-shadow-dark), -4px -4px 10px var(--neo-shadow-light);
}
.btn:active,.btn.active{
  box-shadow:inset 4px 4px 9px var(--neo-shadow-dark), inset -4px -4px 9px var(--neo-shadow-light);
  outline:none;
}
.btn-lg{
  padding:12px 28px;
  font-size:17px;
  border-radius:999px;
}
.btn-sm{
  padding:5px 14px;
  font-size:13px;
  border-radius:999px;
}
.btn-primary{
  background:var(--neo-blue);
  color:#fff;
}
.btn-primary:hover,.btn-primary:focus{
  background:var(--neo-blue-dark);
  color:#fff;
}
.btn-info{
  background:var(--neo-teal);
  color:#fff;
}
.btn-info:hover,.btn-info:focus{
  background:#0a84ff;
  color:#fff;
}
.btn-success{
  background:var(--neo-green);
  color:#fff;
}
.btn-success:hover,.btn-success:focus{
  background:#2aa049;
  color:#fff;
}
.btn-danger{
  background:var(--neo-red);
  color:#fff;
}
.btn-danger:hover,.btn-danger:focus{
  background:#d70015;
  color:#fff;
}
.btn-warning{
  background:var(--neo-orange);
  color:#fff;
}
.btn-default{
  background:#fff;
  color:var(--neo-text);
  box-shadow:4px 4px 10px var(--neo-shadow-dark), -4px -4px 10px var(--neo-shadow-light);
}
.btn-default:hover,.btn-default:focus{
  background:var(--neo-bg);
  color:var(--neo-text);
}
.btn-default:active,.btn-default.active{
  background:var(--neo-bg);
}
/* 圆形图标按钮 */
.btn-fab{
  border-radius:50%;
  width:64px;
  height:64px;
  line-height:64px;
  padding:0;
  font-size:28px;
  box-shadow:6px 6px 14px var(--neo-shadow-dark), -6px -6px 14px var(--neo-shadow-light);
  margin:0 10px;
}
.btn-fab i{
  line-height:64px;
}
.loginbtn i{padding-top:0;}
/* 波纹容器（material 遗留，隐藏占位） */
.ripple-container{display:none;}

/* ---------- 输入框（凹陷拟态） ---------- */
.form-control{
  font-family:var(--neo-font);
  font-size:15px;
  color:var(--neo-text);
  background:var(--neo-bg);
  border:none;
  border-radius:12px;
  height:44px;
  padding:10px 16px;
  box-shadow:inset 3px 3px 7px var(--neo-shadow-dark), inset -3px -3px 7px rgba(255,255,255,.9);
  transition:box-shadow .2s ease;
}
.form-control:focus{
  border:none;
  outline:none;
  box-shadow:inset 3px 3px 7px var(--neo-shadow-dark), inset -3px -3px 7px rgba(255,255,255,.9), 0 0 0 3px rgba(0,122,255,.18);
}
.form-control::-webkit-input-placeholder{color:#a6a6ad;}
.form-control::-moz-placeholder{color:#a6a6ad;}
.form-group label.control-label{font-size:15px;color:var(--neo-text);font-weight:500;}
.help-block{color:var(--neo-text-sub);font-size:13px;}

/* ---------- 表格（圆角白卡） ---------- */
.table{
  background:transparent;
  margin-bottom:0;
}
.table>thead>tr>th{
  font-family:var(--neo-font);
  font-weight:600;
  font-size:13px;
  letter-spacing:.4px;
  color:var(--neo-text-sub);
  text-transform:uppercase;
  border-bottom:1px solid var(--neo-line);
  padding:12px 12px;
  background:transparent;
}
.table>tbody>tr>td{
  border-top:1px solid var(--neo-line);
  padding:12px;
  vertical-align:middle;
  color:var(--neo-text);
  font-size:14px;
}
.table-striped>tbody>tr:nth-of-type(odd){
  background:rgba(0,0,0,.018);
}
.table-hover>tbody>tr:hover{
  background:rgba(0,122,255,.05);
}
.table-bordered,.table-bordered>thead>tr>th,.table-bordered>tbody>tr>td{
  border:1px solid var(--neo-line);
}
.filelist>tbody>tr>td{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fileinfo-table{max-width:80%;}
@media (max-width:767px){.fileinfo-table{max-width:100%}}
.table-responsive{
  border:none;
}

/* ---------- 分页（胶囊） ---------- */
.pagination{
  margin:14px 0 0;
}
.pagination>li>a,.pagination>li>span{
  font-family:var(--neo-font);
  font-size:14px;
  color:var(--neo-text);
  background:#fff;
  border:none;
  margin:0 4px;
  border-radius:999px !important;
  min-width:34px;
  text-align:center;
  box-shadow:3px 3px 7px var(--neo-shadow-dark), -3px -3px 7px rgba(255,255,255,.9);
  transition:all .2s ease;
}
.pagination>li>a:hover,.pagination>li>span:hover{
  background:var(--neo-bg);
  color:var(--neo-text);
}
.pagination>li.active>a,.pagination>li.active>a:hover,.pagination>li.active>span,.pagination>li.active>span:hover{
  background:var(--neo-blue);
  color:#fff;
  border-color:transparent;
  box-shadow:3px 3px 7px rgba(0,122,255,.35), -3px -3px 7px rgba(255,255,255,.9);
}
.pagination>li.disabled>a,.pagination>li.disabled>a:hover,.pagination>li.disabled>span{
  color:#c7c7cc;
  background:#fafafa;
  box-shadow:none;
}

/* ---------- Tab（iOS 分段控件） ---------- */
.nav-tabs{
  background:var(--neo-bg);
  border:none;
  border-radius:12px;
  padding:4px;
  display:inline-flex;
  box-shadow:inset 3px 3px 7px var(--neo-shadow-dark), inset -3px -3px 7px rgba(255,255,255,.9);
  margin-bottom:18px !important;
}
.nav-tabs>li{
  float:none;
  margin-bottom:0;
}
.nav-tabs>li>a{
  color:var(--neo-text-sub);
  border:none;
  margin:0;
  border-radius:9px;
  padding:8px 18px;
  font-weight:500;
  font-size:14px;
  transition:all .2s ease;
}
.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{
  background-color:transparent;
  border:0;
  color:var(--neo-text) !important;
}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{
  background:#fff;
  color:var(--neo-blue) !important;
  border:none;
  font-weight:600;
  box-shadow:3px 3px 8px var(--neo-shadow-dark), -3px -3px 8px rgba(255,255,255,.9);
}
.nav-tabs>li.disabled>a,.nav-tabs>li.disabled>a:hover{
  color:#c7c7cc;
}
.tab-content{
  background:var(--neo-card);
  border-radius:0 0 var(--neo-radius) var(--neo-radius);
}

/* ---------- 进度条（iOS 圆角） ---------- */
.progress{
  height:10px;
  border-radius:999px;
  background:var(--neo-bg);
  box-shadow:inset 2px 2px 5px var(--neo-shadow-dark), inset -2px -2px 5px rgba(255,255,255,.9);
  margin-bottom:10px;
  overflow:hidden;
}
.progress-bar{
  background:var(--neo-blue);
  border-radius:999px;
  box-shadow:none;
  transition:width .3s ease;
}
.progress-striped .progress-bar{
  background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
}

/* ---------- iOS 开关（checkbox） ---------- */
.checkbox{
  padding-left:0;
  margin:10px 0;
}
.checkbox label{
  font-family:var(--neo-font);
  font-size:15px;
  color:var(--neo-text);
  padding-left:0;
  position:relative;
  cursor:pointer;
  font-weight:400;
  line-height:31px;
}
.checkbox input[type="checkbox"]{
  position:absolute;
  opacity:0;
  left:-9999px;
}
.checkbox label::before{
  content:'';
  display:inline-block;
  width:51px;
  height:31px;
  border-radius:31px;
  background:#e9e9eb;
  box-shadow:inset 2px 2px 5px var(--neo-shadow-dark), inset -2px -2px 5px rgba(255,255,255,.9);
  vertical-align:middle;
  margin-right:10px;
  transition:background .25s ease;
}
.checkbox label::after{
  content:'';
  position:absolute;
  left:2px;
  top:50%;
  width:27px;
  height:27px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.22);
  transform:translateY(-50%);
  transition:left .25s ease;
}
.checkbox input[type="checkbox"]:checked+label::before{
  background:var(--neo-green);
}
.checkbox input[type="checkbox"]:checked+label::after{
  left:22px;
}

/* ---------- 提示 / 列表 ---------- */
.alert{
  border:none;
  border-radius:var(--neo-radius-sm);
  box-shadow:4px 4px 10px var(--neo-shadow-dark), -4px -4px 10px rgba(255,255,255,.9);
}
.list-group{
  border-radius:var(--neo-radius-sm);
}
.list-group-item{
  border:1px solid var(--neo-line);
  background:#fff;
  color:var(--neo-text);
  padding:12px 16px;
  border-radius:0 !important;
}
.list-group-item:first-child{border-radius:var(--neo-radius-sm) var(--neo-radius-sm) 0 0 !important;}
.list-group-item:last-child{border-radius:0 0 var(--neo-radius-sm) var(--neo-radius-sm) !important;}

/* ---------- 搜索框 ---------- */
.searchbox{margin-top:-10px;}
.searchbox button{margin-top:8px;}
@media (min-width:767px){.searchbox{float:right;}}

/* ---------- 预览 / 播放 ---------- */
.view{padding-top:70px;padding-bottom:80px;}
.elseview{height:150px;}
.elsetext{top:0;color:var(--neo-text-sub);font-size:20px;}
.tubiao{background-color:transparent;font-size:100px;color:var(--neo-text-sub);width:100px;height:100px;}
.video_view{width:100%;max-height:450px;min-height:300px;}
.image_view{max-width:100%;max-height:450px;min-height:300px;}
.image{max-width:100%;max-height:450px;}
.filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.videoplayer{width:100%;height:530px;border-radius:var(--neo-radius);overflow:hidden;}
@media (max-width:1999px){.videoplayer{height:500px;}}
@media (max-width:991px){.videoplayer{height:450px;}}
@media (max-width:767px){.videoplayer{height:400px;}}

/* APlayer 配色微调 */
.aplayer{background:#fff;border-radius:var(--neo-radius);box-shadow:6px 6px 14px var(--neo-shadow-dark), -6px -6px 14px rgba(255,255,255,.9) !important;}
.aplayer .aplayer-pic{height:100px;width:100px;border-radius:12px 0 0 12px;}
.aplayer .aplayer-info .aplayer-music .aplayer-title{font-size:18px;}
.aplayer .aplayer-info{margin-left:100px;padding:25px 7px 0 10px;height:66px;box-sizing:border-box;}
.aplayer .aplayer-list ol li:hover{background:rgba(0,122,255,.05);}

/* 内联表单 */
.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle;}
.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle;}

/* 输入框组 */
.input-group .form-control{border-radius:12px 0 0 12px;}
.input-group-btn:last-child>.btn{border-radius:0 12px 12px 0;margin-left:0;}
.input-group .input-group-btn .btn{height:44px;padding-top:8px;padding-bottom:8px;}

/* ---------- 上传页 ---------- */
.infobox{
  min-height:320px;
  border-radius:var(--neo-radius);
}
#uploadTitle{
  font-size:30px;
  color:var(--neo-text-sub) !important;
  font-weight:600;
  letter-spacing:.5px;
}
#uploadFile.btn{
  min-width:180px;
}

/* ---------- 加载遮罩（保留原功能，配色拟态化） ---------- */
@-webkit-keyframes stretchdelay{0%,100%,40%{-webkit-transform:scaleY(.4)}20%{-webkit-transform:scaleY(1)}}@keyframes stretchdelay{0%,100%,40%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}
.colorful_loading_frame{position:fixed;top:0;left:0;z-index:99999;width:100%;height:100%;background:rgba(29,29,31,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;text-align:center;font-size:2em}
.colorful_loading{margin:25% auto;width:50px;height:60px;text-align:center;font-size:10px}
.colorful_loading>i{display:inline-block;margin-right:3px;width:6px;height:100%;background-color:var(--neo-blue);border-radius:6px;-webkit-animation:stretchdelay 1.2s infinite ease-in-out;animation:stretchdelay 1.2s infinite ease-in-out}
.colorful_loading .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}
.colorful_loading .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}
.colorful_loading .rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}
.colorful_loading .rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}

/* ---------- 页脚 ---------- */
.footer{
  padding:26px 0 18px;
  color:var(--neo-text-sub);
  font-size:14px;
}
.footer a{color:var(--neo-text-sub);}
.footer a:hover{color:var(--neo-blue);}

/* ---------- 后台（管理端）通用 ---------- */
body.admin-body{
  padding-top:0;
}
/* 后台导航 fixed-top 微调 */
.navbar-fixed-top{
  top:0;
  position:fixed;
  right:0;
  left:0;
  z-index:1030;
}

/* ---------- 响应式微调 ---------- */
@media (max-width:767px){
  .well{padding:16px;}
  .panel-body{padding:14px;}
  .navbar-default .navbar-nav>li>a{line-height:28px;}
}
