@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#172554;--blue:#3157c8;--pale:#f4f7ff;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--white:#fff;--green:#15803d;--red:#b91c1c}
*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}
a{color:var(--blue);text-decoration:none}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--navy);color:#fff;padding:24px 16px;flex-shrink:0}
.brand{font:800 22px Manrope,sans-serif;letter-spacing:-.7px;padding:0 12px 25px}.brand span{color:#93c5fd}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#94a3b8;padding:10px 12px}
.nav-link{display:block;color:#dbeafe;padding:11px 12px;border-radius:10px;margin:3px 0}.nav-link:hover,.nav-link.active{background:#29417c;color:#fff}.main{flex:1;min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar strong{font:700 15px Manrope}.content{padding:28px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.page-head h1{font:800 25px Manrope;margin:0 0 6px;letter-spacing:-.7px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 5px 18px rgba(15,23,42,.025);margin-bottom:18px}.stat-label{color:var(--muted);font-size:13px}.stat-value{font:800 30px Manrope;margin:10px 0 4px}.stat-icon{float:right;background:#eef2ff;color:var(--blue);padding:10px;border-radius:12px}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:9px;background:var(--blue);color:white;font-weight:700;font-size:13px;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn.secondary{background:#e8eefc;color:#1e40af}.btn.danger{background:#fee2e2;color:#991b1b}.btn.success{background:#dcfce7;color:#166534}.btn.small{padding:7px 10px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #edf0f5;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:#fafbff}tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:700;background:#e2e8f0;color:#334155}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea,.filters input,.filters select{width:100%;padding:11px 12px;border:1px solid #dbe2ee;border-radius:9px;background:white;font:inherit;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #c7d2fe;border-color:#818cf8}.form-actions{display:flex;gap:9px;margin-top:20px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.filters input,.filters select{width:auto;min-width:160px}.alert{padding:12px 15px;border-radius:10px;margin-bottom:18px;background:#e0f2fe;color:#075985}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.empty{text-align:center;padding:35px;color:var(--muted)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#f5f7fb}.login-art{background:linear-gradient(145deg,#172554,#3157c8);color:white;padding:8vw;display:flex;flex-direction:column;justify-content:center}.login-art h1{font:800 clamp(35px,4vw,56px) Manrope;line-height:1.1;margin:20px 0}.login-art p{font-size:16px;line-height:1.8;color:#dbeafe;max-width:480px}.login-box{display:flex;align-items:center;justify-content:center;padding:25px}.login-card{width:100%;max-width:410px;background:white;padding:34px;border-radius:20px;box-shadow:0 15px 55px #0f172a12}.login-card h2{font:800 25px Manrope;margin:0 0 8px}.login-card .field{margin:18px 0}.login-card .btn{width:100%;padding:13px}.small-note{font-size:12px;color:#64748b;line-height:1.7;margin-top:18px}.actions{display:flex;gap:6px;flex-wrap:wrap}.report-title{display:none}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:215px}.content{padding:20px}}
@media(max-width:700px){.layout{display:block}.sidebar{width:100%;padding:13px}.brand{padding:5px 10px 12px}.nav-label{display:none}.nav-link{display:inline-block;padding:8px 10px;font-size:12px}.topbar{height:55px;padding:0 16px}.content{padding:16px}.grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:14px}.stat-value{font-size:24px}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-box{min-height:100vh}.filters input,.filters select{width:100%}}
@media print{.sidebar,.topbar,.no-print,.btn,.filters{display:none!important}.layout{display:block}.content{padding:0;max-width:none}.card{border:0;box-shadow:none;padding:0}.report-title{display:block}body{background:white}table{min-width:0}th,td{padding:7px;border:1px solid #ddd}}

/* InternTrack — soft girly theme (tanpa mengubah fungsi aplikasi) */
:root{
  --navy:#fff0f6; --blue:#c75b88; --pale:#fff7fb; --ink:#392b3b; --muted:#8b788b;
  --line:#f2dce8; --white:#fff; --green:#16866b; --red:#c44768;
}
body{background:linear-gradient(135deg,#fff9fc 0%,#f8f7ff 58%,#f4fbfa 100%);color:var(--ink)}
a{color:#b94d7d}
.sidebar{background:linear-gradient(180deg,#fff0f6 0%,#fff7fb 58%,#f8f3ff 100%);color:#61455b;border-right:1px solid #f1dce8;box-shadow:5px 0 24px rgba(167,92,132,.045)}
.brand{color:#c45c88;font-size:23px;letter-spacing:-.8px}.brand span{color:#6e5a7d}
.nav-label{color:#b18ca3}
.nav-link{color:#765c72;border-radius:12px;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav-link:hover,.nav-link.active{background:linear-gradient(100deg,#fbd9e8,#f2e7ff);color:#a83e70;box-shadow:inset 3px 0 #d875a0}
.topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid #f1dce8}
.topbar strong{color:#543b52}
.content{max-width:1600px}
.page-head h1{color:#49324a}
.card{background:rgba(255,255,255,.94);border:1px solid #f1deea;border-radius:17px;box-shadow:0 7px 24px rgba(176,103,145,.055)}
.stat-icon{background:#fde4ef;color:#c45a89;border:1px solid #f9d4e5}
.grid .card:nth-child(4n+1) .stat-icon{background:#e8efff;color:#6589d8;border-color:#dce6ff}
.grid .card:nth-child(4n+2) .stat-icon{background:#fde4ef;color:#c45a89;border-color:#f9d4e5}
.grid .card:nth-child(4n+3) .stat-icon{background:#eee5ff;color:#9272d0;border-color:#e5d8ff}
.grid .card:nth-child(4n) .stat-icon{background:#def7ee;color:#32a184;border-color:#d0f0e4}
.stat-value{color:#382b45}
.btn{background:linear-gradient(135deg,#d66f9b,#bd5486);border-radius:10px;box-shadow:0 4px 10px rgba(190,80,130,.12)}
.btn.secondary{background:#f5e7fb;color:#80539a;box-shadow:none}
.btn.danger{background:#ffe5ec;color:#b83c60;box-shadow:none}
.btn.success{background:#ddf7ed;color:#18795f;box-shadow:none}
th{background:#fff4f9;color:#8c637c}
td{border-bottom-color:#f5e8ef}
tr:hover td{background:#fffafd}
.badge{background:#f4eaf2;color:#735b70}
.badge.success{background:#dcf7ed;color:#16785f}
.badge.warning{background:#fff0d7;color:#95651e}
.badge.danger{background:#ffe4eb;color:#a83255}
.field input,.field select,.field textarea,.filters input,.filters select{border-color:#ead7e3;border-radius:10px;background:#fffdfd}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #fbe0ed;border-color:#d875a0}
.alert{background:#eaf2ff;color:#425e9a;border:1px solid #dce8ff}
.alert.success{background:#e0f8ef;color:#18775e;border:1px solid #c9efdf}
.alert.danger{background:#ffedf1;color:#a83255;border:1px solid #f8d5df}
.login-page{background:linear-gradient(135deg,#fff2f7 0%,#faf5ff 58%,#f0fbf8 100%)}
.login-art{background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.36),transparent 28%),linear-gradient(145deg,#c65b89,#d982a8 56%,#9a83c7);position:relative;overflow:hidden}
.login-art:after{content:'♡';position:absolute;right:9%;bottom:5%;font-size:170px;color:rgba(255,255,255,.16);font-family:serif;line-height:1}
.login-art p{color:#fff0f7}
.login-card{border:1px solid #f3dce8;box-shadow:0 18px 55px rgba(160,85,127,.13);border-radius:23px}
.login-card h2{color:#52374c}
.small-note{color:#987f93}
@media(max-width:700px){.sidebar{background:linear-gradient(100deg,#fff0f6,#f8f3ff);border-right:0;border-bottom:1px solid #f1dce8}.nav-link:hover,.nav-link.active{box-shadow:none}}
