:root{
  --bg:#f4f7fb;--card:#ffffff;--text:#14213d;--muted:#6b7280;--primary:#0f62fe;--primary-dark:#0b4ed0;--border:#e8ecf3;
}
*{box-sizing:border-box}body{font-family:'Prompt',sans-serif;background:linear-gradient(180deg,#f8fbff 0%,#f3f6fb 100%);color:var(--text);margin:0}
a{text-decoration:none}
.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;background:#0f172a;color:#fff;padding:28px 20px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.brand-mark{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#2dd4bf,#2563eb);display:flex;align-items:center;justify-content:center;font-weight:700}.brand h1{font-size:22px;margin:0}.brand p{margin:0;color:#94a3b8;font-size:13px}
.nav-menu{display:flex;flex-direction:column;gap:8px}.nav-menu a{padding:12px 14px;border-radius:14px;color:#cbd5e1;font-weight:500}.nav-menu a.active,.nav-menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.user-box{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.05)}
.main-content{flex:1;padding:28px 30px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h2{font-size:30px;font-weight:700}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:0 8px 30px rgba(15,23,42,.04)}.stat-card span{display:block;color:var(--muted)}.stat-card strong{font-size:34px;line-height:1.1;margin-top:8px;display:block}
.table-modern thead th{background:#f7f9fc;border-bottom:1px solid var(--border);font-weight:600}.table-modern td,.table-modern th{padding:14px}.section-title{font-size:18px;font-weight:700;margin-bottom:16px}.sticky-card{position:sticky;top:20px}
.form-grid input{min-width:90px}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.photo-item{background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:10px}.photo-item img{width:100%;height:150px;object-fit:cover;border-radius:12px}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at top left,#dbeafe,#eff6ff 40%,#f8fafc)}.login-card{width:min(1080px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:28px;overflow:hidden}.login-left{padding:52px;color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8)}.login-right{padding:52px}.login-left h1{font-size:42px;margin:14px 0 10px}.login-left p{font-size:18px;color:#dbeafe;max-width:520px}.badge-soft{display:inline-block;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px}.demo-box{margin-top:30px;padding:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px}
.report-card{border-radius:24px}.report-head h3{font-size:24px;font-weight:700;margin:8px 0 4px}.report-company{font-size:18px;font-weight:700}.report-project{font-size:16px}.report-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:18px 0}.report-line{margin:8px 0}.report-table th,.report-small-table td{vertical-align:middle}.report-note-box{min-height:70px;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fbfdff}.signature-box{margin-top:18px;padding:14px;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1}.report-photo-grid img{height:220px}
.card{border-radius:24px}.btn{border-radius:14px;padding:10px 16px}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.form-control,.form-select,textarea{border-radius:14px;padding:12px 14px;border:1px solid #d9e1ec}.alert{border-radius:18px}
@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.login-card{grid-template-columns:1fr}.sidebar{width:240px}.report-meta-grid{grid-template-columns:1fr}}
@media (max-width: 768px){.app-shell{display:block}.sidebar{position:relative;height:auto;width:100%}.main-content{padding:20px}.stats-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.topbar h2{font-size:24px}}
