/* AIDSPRING Secure Document System — Main Stylesheet */
:root {
  --red:      #CC0000;
  --red-dark: #990000;
  --blue:     #1565C0;
  --green:    #2E7D32;
  --bg:       #F5F5F5;
  --white:    #FFFFFF;
  --text:     #1A1A1A;
  --muted:    #666666;
  --border:   #DDDDDD;
  --radius:   8px;
  --shadow:   0 2px 8px rgba(0,0,0,0.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;font-size:15px}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}

/* Top bar */
.top-bar{display:flex;align-items:center;justify-content:space-between;
  background:var(--red);color:#fff;padding:12px 24px;box-shadow:0 2px 6px rgba(0,0,0,0.15)}
.brand{font-size:20px;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;gap:8px}
.brand-sub{font-size:11px;font-weight:400;letter-spacing:.1em;opacity:.8}
.brand-icon{font-size:22px}
nav{display:flex;gap:8px}

/* Hero */
.hero{background:linear-gradient(135deg,#CC0000 0%,#8B0000 100%);color:#fff;
  padding:60px 24px;text-align:center}
.hero h1{font-size:clamp(26px,5vw,44px);font-weight:800;line-height:1.2;margin-bottom:16px}
.hero .accent{color:#FFAAAA}
.hero-sub{font-size:18px;opacity:.9;max-width:620px;margin:0 auto 32px}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Features */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;padding:48px 24px;max-width:1100px;margin:0 auto}
.feature-card{background:var(--white);border-radius:var(--radius);padding:24px;
  box-shadow:var(--shadow);text-align:center}
.ficon{font-size:36px;margin-bottom:12px}
.feature-card h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--red)}
.feature-card p{font-size:14px;color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;border:none;border-radius:6px;
  padding:9px 20px;font-size:14px;font-weight:600;cursor:pointer;
  transition:background .15s,transform .1s;text-decoration:none;line-height:1}
.btn:hover{background:var(--red-dark);color:#fff;text-decoration:none}
.btn:active{transform:scale(.97)}
.btn.secondary{background:var(--blue)}
.btn.secondary:hover{background:#0D47A1}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.sm{padding:5px 12px;font-size:12px}
.btn.lg{padding:13px 28px;font-size:16px}
.btn.full{width:100%;justify-content:center}
.btn.active{background:var(--red-dark)}

/* Cards */
.card{background:var(--white);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card h2{font-size:20px;margin-bottom:16px;color:var(--text)}

/* Wrap + Grid */
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}

/* Forms */
label{display:block;font-size:13px;font-weight:600;color:var(--muted);
  margin-bottom:4px;margin-top:14px}
input,textarea,select{width:100%;padding:10px 12px;border:1.5px solid var(--border);
  border-radius:6px;font-size:14px;transition:border-color .15s;font-family:inherit}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--red)}
textarea{min-height:80px;resize:vertical}

/* Notices */
.notice{padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:14px}
.notice.error{background:#FFF0F0;border:1px solid #FFAAAA;color:#990000}
.notice.ok,.notice.success{background:#F0FFF4;border:1px solid #86EFAC;color:#14532D}
.notice.info{background:#EFF6FF;border:1px solid #93C5FD;color:#1E40AF}

/* Tables */
.table{width:100%;border-collapse:collapse;font-size:14px;background:var(--white);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.table th{background:#F8F8F8;text-align:left;padding:10px 14px;
  font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.05em;
  border-bottom:1px solid var(--border)}
.table td{padding:10px 14px;border-bottom:1px solid #F0F0F0;vertical-align:middle}
.table tr:last-child td{border-bottom:none}
.table tr:hover td{background:#FAFAFA}

/* Badges */
.badge{display:inline-flex;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.02em}
.badge.red{background:#FFF0F0;color:var(--red)}
.badge.green{background:#F0FFF4;color:var(--green)}
.badge.blue{background:#EFF6FF;color:var(--blue)}
.badge.grey{background:#F0F0F0;color:#666}

/* Steps */
.steps{padding-left:20px}
.steps li{margin-bottom:10px;font-size:14px}
.steps li b{color:var(--red)}

/* Stat grid (admin) */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px}
.stat-card{background:var(--white);border-radius:var(--radius);padding:20px;
  text-align:center;box-shadow:var(--shadow)}
.stat-card.highlight{border:2px solid var(--red)}
.stat-num{font-size:36px;font-weight:800;color:var(--red)}
.stat-label{font-size:12px;color:var(--muted);margin-top:4px;font-weight:600;letter-spacing:.05em}

/* Admin layout */
.admin-layout body,.admin-layout{display:flex;min-height:100vh}
.admin-nav{width:220px;min-height:100vh;background:#1A1A1A;color:#fff;
  display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;bottom:0;left:0}
.nav-brand{font-size:18px;font-weight:800;padding:20px 16px;
  color:#fff;border-bottom:1px solid #333;display:flex;align-items:center;gap:8px}
.admin-nav ul{list-style:none;padding:8px 0;flex:1}
.admin-nav ul li a{display:flex;align-items:center;gap:10px;padding:11px 18px;
  color:#CCC;font-size:14px;transition:background .15s,color .15s;text-decoration:none}
.admin-nav ul li a:hover,.admin-nav ul li.active a{background:rgba(204,0,0,.15);color:#fff}
.admin-nav ul li.active a{border-left:3px solid var(--red)}
.nav-footer{padding:16px;border-top:1px solid #333;font-size:12px;color:#999}
.nav-footer a{color:#CCC}
.admin-content{margin-left:220px;padding:32px;min-height:100vh;flex:1}
.admin-content h1{font-size:26px;font-weight:800;margin-bottom:24px;color:var(--text)}
.admin-content h2{font-size:18px;font-weight:700;margin:24px 0 12px;color:var(--text)}

/* Admin login */
.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1A1A1A 0%,#2D2D2D 100%)}
.admin-login-box{background:var(--white);border-radius:12px;padding:40px;
  width:100%;max-width:400px;box-shadow:0 8px 40px rgba(0,0,0,0.3)}
.admin-brand{text-align:center;margin-bottom:28px}
.admin-logo{font-size:48px;margin-bottom:8px}
.admin-brand h1{font-size:24px;font-weight:800;color:var(--text)}
.admin-brand p{color:var(--muted);font-size:14px}

/* Quick actions */
.quick-actions{display:flex;gap:10px;flex-wrap:wrap}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.tc{text-align:center}
.grey{color:var(--muted)}
.small{font-size:12px;color:var(--muted)}
code{background:#F0F0F0;padding:2px 6px;border-radius:4px;font-size:13px}

/* Pagination */
.pagination{display:flex;gap:6px;margin-top:20px;flex-wrap:wrap}

/* Footer */
.footer{text-align:center;padding:24px;color:var(--muted);font-size:13px;
  border-top:1px solid var(--border);margin-top:40px}
.footer a{color:var(--muted)}

@media(max-width:640px){
  .admin-nav{display:none}
  .admin-content{margin-left:0}
  .hero{padding:36px 16px}
  .features{padding:24px 16px}
  .wrap{padding:0 16px}
}
