.app-body{
  background:var(--bg-main);
  color:var(--text-main);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.45;
}

.app-container{
  max-width:1240px;
  margin:0 auto;
  padding:0 20px;
}

/* HEADER BAR */
.app-header{
  background:var(--grad-hero);
  color:#fff;
  box-shadow:var(--shadow-nav);
}
.app-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
}
.app-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
}
.app-name{
  font-size:15px;
  font-weight:600;
  line-height:1.2;
}
.app-tag{
  font-size:12px;
  color:#9fb2d8;
  line-height:1.2;
  font-weight:400;
}
.app-userbox{
  display:flex;
  flex-wrap:wrap;
  gap:12px 16px;
  align-items:center;
  font-size:12px;
  color:#d6e0ff;
}
.logout-btn{
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.3);
  border-radius:var(--radius-sm);
  color:#fff;
  font-size:12px;
  padding:8px 10px;
  line-height:1;
  cursor:pointer;
}

/* MAIN LAYOUT */
.app-main{
  padding:24px 0 60px;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
@media(min-width:1100px){
  .app-main{
    grid-template-columns:1fr 1fr;
  }
}

/* CARDS */
.app-card{
  background:#fff;
  border:1px solid var(--border);
  box-shadow:var(--shadow-card-soft);
  border-radius:var(--radius-lg);
  display:flex;
  flex-direction:column;
  min-width:0;
}
.app-card-head{
  background:linear-gradient(#f9fbff,#eef4ff);
  border-bottom:1px solid var(--border);
  border-top-left-radius:var(--radius-lg);
  border-top-right-radius:var(--radius-lg);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 20px;
}
.app-card-title{
  color:var(--navy-700);
  font-size:15px;
  font-weight:600;
  line-height:1.3;
}
.app-card-sub{
  font-size:12px;
  color:var(--text-dim);
  line-height:1.4;
  margin-top:4px;
  max-width:360px;
}
.app-card-body{
  padding:16px 20px;
  font-size:13px;
  color:var(--text-main);
  line-height:1.5;
}
.app-card-foot{
  padding:14px 20px;
  border-top:1px solid var(--border);
  background:#fafcff;
  font-size:12px;
  color:var(--text-dim);
  line-height:1.4;
  border-bottom-left-radius:var(--radius-lg);
  border-bottom-right-radius:var(--radius-lg);
}

.app-small-btn{
  font-size:12px;
  padding:8px 12px;
  line-height:1.2;
  border-radius:var(--radius-md);
  cursor:pointer;
  border:none;
  white-space:nowrap;
}

/* STATS ROW */
.app-stats-row{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  padding:16px 20px 0;
}
.app-stat-box{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card-soft);
  padding:12px 14px;
  min-width:130px;
  flex:1;
}
.app-stat-label{
  color:var(--text-dim);
  font-size:12px;
  margin-bottom:4px;
}
.app-stat-value{
  color:var(--text-main);
  font-weight:600;
  font-size:16px;
  line-height:1.2;
}

/* TABLES */
.app-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.app-table thead th{
  background:#f6f9ff;
  font-size:12px;
  font-weight:600;
  color:var(--navy-700);
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  white-space:nowrap;
}
.app-table tbody td{
  padding:10px 12px;
  border-bottom:1px solid #eef2ff;
  background:#fff;
  font-size:13px;
}
.app-table tbody tr:hover td{
  background:#fdfefe;
}
.app-act-btn{
  background:var(--accent-soft);
  border:1px solid var(--accent);
  color:var(--accent);
  font-size:12px;
  font-weight:600;
  border-radius:var(--radius-sm);
  padding:6px 8px;
  line-height:1.2;
  cursor:pointer;
}
.app-act-btn[disabled]{
  opacity:.5;
  cursor:not-allowed;
}

/* SETTINGS GRID */
.settings-grid{
  padding:16px 20px;
  display:grid;
  gap:16px;
}
@media(min-width:600px){
  .settings-grid{
    grid-template-columns:1fr 1fr;
  }
}
.settings-block{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card-soft);
  padding:14px;
  font-size:13px;
  line-height:1.45;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.settings-label{
  color:var(--text-dim);
  font-size:12px;
  font-weight:500;
}
.settings-value{
  color:var(--text-main);
  font-size:14px;
  font-weight:600;
}
.settings-hint{
  font-size:12px;
  color:var(--text-dim);
  line-height:1.4;
}

/* FOOTER */
.app-footer{
  background:var(--navy-900);
  color:#fff;
  font-size:12px;
  line-height:1.5;
  box-shadow:0 -20px 40px rgba(11,29,57,0.5);
}
.app-footer-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px;
  padding:16px 0;
}
.app-foot-left{
  color:#9fb2d8;
}
.app-foot-right{
  color:#fff;
}
