
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
      background: #f4f6fb;
      color: #444455;
      min-height: 100vh;
    }

    .page-shell { max-width: 1100px; margin: 0 auto; padding: 36px 24px 64px; }

    .welcome-banner {
      background: linear-gradient(90deg, #FF8200 0%, #002855 45%, #002855 100%);
      border-radius: 20px;
      padding: 30px 34px;
      display: flex; align-items: center; justify-content: space-between;
      margin-bottom: 28px;
      overflow: hidden; position: relative;
      box-shadow: 0 14px 36px rgba(0,40,85,0.22);
    }
    .welcome-text h1 {
      font-size: 24px; font-weight: 800;
      color: #fff; line-height: 1.2;
      position: relative; z-index: 1;
    }
    .welcome-text h1 span { color: #fff7e6; }

    .welcome-chips {
      display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
      flex-shrink: 0; margin-left: 20px; position: relative; z-index: 1;
    }
    .welcome-chip {
      display: inline-flex; align-items: center; gap: 4px;
      background: rgba(255,255,255,0.22); color: #fff; font-size: 12px; font-weight: 700;
      padding: 5px 13px; border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.35);
      backdrop-filter: blur(3px);
      white-space: nowrap;
    }
    .welcome-actions { display: flex; gap: 12px; z-index: 1; }
    .btn-cta {
      display: inline-flex; align-items: center; gap: 7px;
      padding: 10px 20px; border-radius: 7px;
      font-size: 14px; font-weight: 600;
      text-decoration: none; border: none; cursor: pointer;
      transition: all 0.18s;
    }
    .btn-orange { background: #FF8200; color: #fff; }
    .btn-orange:hover { background: #e57200; transform: translateY(-1px); }
    .btn-outline-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.4); }
    .btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,0.08); }

    .stats-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px; margin-bottom: 22px;
    }
    .stat-card {
      background: #fff; border-radius: 10px;
      border: 1px solid #dde3f0;
      border-top: 3px solid #FF8200;
      padding: 12px 14px;
    }
    .stat-value { font-size: 24px; font-weight: 800; color: #002855; }
    .stat-label { font-size: 11px; color: #6b7a99; margin-top: 2px; text-transform: uppercase; letter-spacing: .05em; }
    .stat-card.navy-top { border-top-color: #002855; }
    .stat-card.stat-warn .stat-value { color: #b45309; }

    .dash-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-bottom: 24px;
    }
    .card {
      background: #fff; border-radius: 10px;
      border: 1px solid #dde3f0;
      box-shadow: 0 1px 4px rgba(0,40,85,0.06);
    }
    .card-header {
      padding: 18px 22px 14px;
      border-bottom: 1px solid #eef0f6;
      display: flex; align-items: center; justify-content: space-between;
    }
    .card-title {
      font-size: 15px; font-weight: 700; color: #002855;
      display: flex; align-items: center; gap: 8px;
    }
    .card-body { padding: 18px 22px; }

    .quick-actions { display: flex; flex-direction: column; gap: 10px; }
    .action-btn {
      display: flex; align-items: center; gap: 14px;
      padding: 14px 16px;
      background: #f8f9ff; border: 1px solid #eef0f6;
      border-radius: 8px; text-decoration: none;
      transition: all 0.15s; cursor: pointer;
    }
    .action-btn:hover { background: #edf0ff; border-color: #002855; transform: translateX(3px); }
    .action-icon {
      width: 38px; height: 38px; border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      font-size: 18px; flex-shrink: 0;
    }
    .icon-orange { background: #fff3e6; }
    .icon-navy   { background: #e8edf5; }
    .icon-green  { background: #f0fdf4; }
    .action-text strong { display: block; font-size: 14px; color: #002855; }
    .action-text span { font-size: 12px; color: #6b7a99; }

    .doc-list { display: flex; flex-direction: column; gap: 8px; }
    .doc-item {
      display: flex; align-items: center; gap: 12px;
      padding: 10px 12px; border-radius: 8px;
      background: #f8f9ff; border: 1px solid #eef0f6;
      border-left: 4px solid transparent;
    }
    .doc-icon {
      font-size: 16px; flex-shrink: 0;
      width: 28px; height: 28px; border-radius: 7px;
      display: flex; align-items: center; justify-content: center;
    }
    .doc-name { font-size: 13px; font-weight: 600; color: #002855; }
    .doc-meta { font-size: 11px; color: #6b7a99; margin-top: 1px; }
    .doc-empty { font-size: 14px; color: #6b7a99; text-align: center; padding: 20px 0; }

    .deadline-list { display: flex; flex-direction: column; gap: 8px; }
    .deadline-item {
      display: flex; align-items: center; gap: 12px;
      padding: 10px 12px; border-radius: 8px;
      background: #fff3e6; border: 1px solid #ffe0b8;
    }
    .deadline-date {
      flex-shrink: 0; width: 46px; text-align: center;
      background: #FF8200; color: #fff; border-radius: 6px;
      padding: 5px 0; font-size: 11px; font-weight: 700; line-height: 1.2;
    }
    .deadline-name { font-size: 13px; font-weight: 600; color: #002855; }
    .deadline-meta { font-size: 11px; color: #6b7a99; margin-top: 1px; }
    .deadline-empty { font-size: 14px; color: #6b7a99; text-align: center; padding: 20px 0; }

    .deadline-item.completed { opacity: 0.6; background: #f4f6fb; border-color: #dde3f0; }
    .deadline-item.completed .deadline-name { text-decoration: line-through; }
    .deadline-item.completed .deadline-date { background: #9ca3af; }

    .profile-card { border-top: 3px solid #FF8200; overflow: hidden; }
    .profile-card .card-header { background: linear-gradient(90deg, #f5f8ff 0%, #ffffff 65%); padding: 12px 20px 10px; }
    .profile-card .card-body { padding: 6px 20px 4px; }
    .profile-card-title { display: flex; align-items: center; gap: 10px; }
    .profile-avatar {
      display: inline-flex; align-items: center; justify-content: center;
      width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
      background: linear-gradient(135deg, #002855 0%, #FF8200 130%);
      color: #fff; font-size: 12px; font-weight: 800;
      letter-spacing: -0.02em;
    }
    .profile-edit-btn {
      font-size: 12px; font-weight: 700; color: #FF8200;
      background: #fff3e6; border: 1px solid rgba(255,130,0,0.3);
      border-radius: 999px; padding: 4px 13px; cursor: pointer;
      transition: all 0.15s;
    }
    .profile-edit-btn:hover { background: #FF8200; color: #fff; border-color: #FF8200; }
    .profile-row {
      display: flex; align-items: center; gap: 10px;
      padding: 8px 4px; border-bottom: 1px solid #eef0f6;
      border-radius: 8px; margin: 0 -4px; transition: background 0.15s;
    }
    .profile-row:hover { background: #f8f9ff; }
    .profile-row:last-child { border-bottom: none; padding-bottom: 4px; }
    .profile-label { font-size: 12px; color: #6b7a99; text-transform: uppercase; letter-spacing: .04em; flex: 0 0 100px; }
    .profile-value { font-size: 14px; font-weight: 600; color: #002855; }
    .profile-input {
      font-size: 13px; font-weight: 600; color: #002855;
      border: 1.5px solid #dde3f0; border-radius: 6px;
      padding: 5px 9px; width: 100%; max-width: 160px;
      font-family: inherit; background: #fff;
    }
    .profile-input:focus { outline: none; border-color: #FF8200; box-shadow: 0 0 0 3px rgba(255,130,0,0.12); }

    .uni-edit-row { display: flex; gap: 6px; max-width: 260px; }
    .uni-search-input, .uni-select {
      flex: 1 1 0; min-width: 0; max-width: none;
      padding: 5px 8px; font-size: 12.5px;
    }
    .uni-search-input { border-color: #ffd9ad; background: #fffaf3; }
    .uni-search-input:focus { border-color: #FF8200; box-shadow: 0 0 0 3px rgba(255,130,0,0.12); }
    .uni-select { border-color: #cfe0ff; background: #f5f9ff; }
    .uni-select:focus { border-color: #002855; box-shadow: 0 0 0 3px rgba(0,40,85,0.12); }
    .badge {
      display: inline-block; font-size: 11px; font-weight: 600;
      padding: 3px 10px; border-radius: 999px;
      background: #fff3e6; color: #FF8200;
    }

    @media (max-width: 900px) {
      .stats-row { grid-template-columns: repeat(2, 1fr); }
      .dash-grid { grid-template-columns: 1fr; }
      .welcome-actions { flex-direction: column; }
    }

    .wink-toast {
      position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
      background: #002855; color: #fff; padding: 12px 22px; border-radius: 9px;
      font-size: 14px; font-weight: 600; box-shadow: 0 8px 28px rgba(0,0,0,0.25);
      z-index: 9999; opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
      max-width: 90vw; text-align: center;
    }
    .wink-toast.show { opacity: 1; pointer-events: auto; }
    .wink-toast.error { background: #b91c1c; }
    .wink-modal-overlay {
      display: none; position: fixed; inset: 0; background: rgba(0,20,50,0.45);
      z-index: 9000; align-items: center; justify-content: center; padding: 20px;
    }
    .wink-modal-overlay.open { display: flex; }
    .wink-modal-card { background: #fff; border-radius: 14px; max-width: 440px; width: 100%; padding: 26px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
    .wink-modal-card h3 { font-size: 17px; color: #002855; margin-bottom: 10px; }
    .wink-modal-card p { font-size: 14px; color: #444; margin-bottom: 18px; line-height: 1.5; }
    .wink-modal-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
    .wink-modal-btn { padding: 9px 18px; border-radius: 7px; font-size: 13px; font-weight: 700; cursor: pointer; border: none; }
    .wink-modal-btn.primary { background: #FF8200; color: #fff; }
    .wink-modal-btn.secondary { background: #eef0f6; color: #002855; }
    .wink-modal-btn.danger { background: #b91c1c; color: #fff; }

.progress-summary-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;
  background:linear-gradient(135deg,#002240 0%,#0a3a63 72%,#0d4373 100%);
  border-radius:12px;padding:20px 22px;margin:0 0 20px;color:#fff;
  border-left:6px solid #FF8200;box-shadow:0 5px 18px rgba(0,40,85,.15);
  transition:transform .15s ease,box-shadow .15s ease;
  align-self:start;height:fit-content;
}
.progress-summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,40,85,.2)}
.progress-summary-top{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;}
.progress-summary-icon{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:18px}
.progress-summary-kicker{font-size:15px;letter-spacing:.13em;font-weight:900;color:#ffad55}
.progress-summary-title{font-size:19px;font-weight:800;line-height:1.25;margin-bottom:8px;}
.progress-summary-tracking{font-size:13.5px;color:rgba(255,255,255,.85);line-height:1.55;margin-bottom:10px;}
.progress-summary-meta{font-size:12.5px;color:rgba(255,255,255,.7);margin-bottom:10px;}
.progress-summary-motivation{font-size:13.5px;font-weight:700;color:#ffe3b0;margin-bottom:14px;}
.progress-summary-link{color:#fff;font-size:16px;font-weight:800;white-space:nowrap;margin-top:auto;}
@media(max-width:700px){.progress-summary-card{align-items:center}}
