@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root { --ink:#14322d; --muted:#71807c; --line:rgba(12,71,61,.12); --green:#086b55; --green-dark:#075344; --teal:#1b9682; --gold:#d69c24; --cream:#f8f6ed; --red:#c65450; --white:#fff; --shadow:0 20px 55px rgba(21,66,55,.11); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:#f1f6f3; font:14px/1.55 'DM Sans',Arial,sans-serif; }
body::selection { background:#bde8d9; }
.app-bg { position:fixed; z-index:-2; inset:0; background:radial-gradient(circle at 95% 0,#d7f1e5 0,transparent 30%),radial-gradient(circle at 15% 100%,#fbf0d9 0,transparent 34%),#f3f7f4; }
.app-bg::before { content:''; position:absolute; inset:0; opacity:.3; background-image:radial-gradient(#73a494 1px,transparent 1px); background-size:23px 23px; mask-image:linear-gradient(110deg,transparent,black); }
a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; } button { cursor:pointer; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:10; width:263px; padding:27px 17px 18px; display:flex; flex-direction:column; background:linear-gradient(160deg,rgba(4,76,61,.98),rgba(5,48,43,.98)); color:#e9f8f2; box-shadow:5px 0 30px rgba(4,55,45,.12); }
.brand { padding:1px 12px 33px; display:flex; align-items:center; gap:11px; }.brand img { width:43px;height:43px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.18)); }.brand small { display:block;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#b3d3c7; }.brand strong { display:block;font:700 15px 'Plus Jakarta Sans';color:#fff;letter-spacing:-.4px; }
nav { display:grid;gap:7px; }.nav-link { display:flex;align-items:center;gap:13px;border-radius:13px;padding:12px 13px;color:#b8d7cd;font-weight:600;transition:.18s ease; }.nav-link span { font-size:19px;width:20px;text-align:center;font-family:Arial;opacity:.9; }.nav-link:hover { color:#fff;background:rgba(255,255,255,.08); }.nav-link.selected { color:#fff;background:linear-gradient(100deg,rgba(49,173,139,.35),rgba(68,190,150,.16));box-shadow:inset 2px 0 #93e2bb; }
.sidebar-foot { margin-top:auto;padding:15px 8px 0;border-top:1px solid rgba(255,255,255,.11); }.user-chip { display:flex;gap:10px;align-items:center; }.user-chip>span { display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f1be4f;color:#365342;font-weight:800; }.user-chip strong,.user-chip small { display:block;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.user-chip strong { color:#fff;font-size:12px; }.user-chip small { color:#a7cfc0;font-size:11px; }.logout-link { display:flex;justify-content:space-between;margin-top:17px;color:#b2d1c5;font-size:12px;font-weight:700; }.logout-link:hover { color:#fff; }
.main { margin-left:263px;min-height:100vh; }.topbar { height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(248,252,249,.46);backdrop-filter:blur(10px); }.bread { display:flex;gap:10px;color:#80928b;font-size:12px; }.bread b { color:#b5c0bb; }.bread strong { color:#315b51; }.top-actions { display:flex;align-items:center;gap:16px; }.today { color:#74867e;font-size:12px; }.profile-shortcut { display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.66);font-size:17px; }.mobile-menu { display:none;border:0;background:none;font-size:22px; }
.content { max-width:1420px;margin:auto;padding:38px; }.page-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px; }.page-heading h1 { margin:3px 0 5px;font:800 clamp(25px,3vw,32px) 'Plus Jakarta Sans';letter-spacing:-1.45px; }.page-heading>div>p:last-child { margin:0;color:var(--muted); }.eyebrow { margin:0;color:#16836a;font-size:10px;letter-spacing:1.65px;font-weight:800; }.eyebrow.light { color:#bfe5d7; }.heading-actions { display:flex;gap:10px;white-space:nowrap; }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:0 15px;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:800;transition:.18s; }.btn.primary { color:#fff;background:linear-gradient(115deg,#08725a,#109071);box-shadow:0 8px 16px rgba(8,112,88,.17); }.btn.primary:hover { transform:translateY(-1px);box-shadow:0 11px 20px rgba(8,112,88,.24); }.btn.primary span { font-size:19px;line-height:1; }.btn.muted { color:#24584c;background:rgba(255,255,255,.64);border-color:var(--line); }.btn.muted:hover { background:#fff; }.btn.full { width:100%;min-height:45px; }.glass-card { border:1px solid rgba(255,255,255,.84);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.58));box-shadow:var(--shadow);backdrop-filter:blur(18px); }
.stat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px; }.stat-card { position:relative;overflow:hidden;min-height:145px;padding:21px;border-radius:18px;border:1px solid rgba(255,255,255,.8);box-shadow:0 14px 30px rgba(28,70,56,.08); }.stat-card::after { content:'';position:absolute;width:120px;height:120px;border-radius:50%;right:-44px;bottom:-48px;background:currentColor;opacity:.08; }.stat-card>div { position:relative;z-index:1; }.stat-card span,.stat-card small { display:block;color:#638079; }.stat-card span { font-size:12px;font-weight:700; }.stat-card strong { display:block;margin:5px 0 7px;font:800 31px 'Plus Jakarta Sans';letter-spacing:-1.3px; }.stat-card small { font-size:11px; }.stat-card>b { position:absolute;right:18px;top:17px;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.54);font-size:18px; }.stat-card.green { color:#0a785d;background:linear-gradient(135deg,#e6faf0,#cff3e0); }.stat-card.gold { color:#bd8412;background:linear-gradient(135deg,#fff8e6,#fbe7b8); }.stat-card.teal { color:#137f85;background:linear-gradient(135deg,#e6fbfc,#cceef0); }.stat-card.red { color:#ba5752;background:linear-gradient(135deg,#fff0ec,#f8dbd4); }
.dashboard-grid { display:grid;grid-template-columns:1.38fr 1fr;gap:18px;margin-bottom:18px; }.chart-card,.activity-card,.analytic-card { padding:23px; }.section-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px; }.section-heading h2 { margin:3px 0 0;font:800 17px 'Plus Jakarta Sans';letter-spacing:-.55px; }.section-heading a,.link-button { color:#08725a;border:0;background:transparent;font-size:11px;font-weight:800; }.subtle { padding:4px 8px;border-radius:7px;background:#edf6f1;color:#629085;font-size:10px;font-weight:700; }.bars { display:grid;gap:13px; }.bar-row { display:grid;grid-template-columns:105px 1fr 25px;align-items:center;gap:10px; }.bar-row span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#60756e;font-size:11px;font-weight:700; }.bar-row>div { height:8px;overflow:hidden;border-radius:999px;background:#e7efeb; }.bar-row i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#139275,#50c5a1); }.bar-row b { font-size:11px;color:#245b4d;text-align:right; }.activity-list { display:grid;gap:14px;margin:0;padding:0;list-style:none; }.activity-list li { display:flex;align-items:center;gap:9px; }.activity-list li>div { min-width:0;flex:1; }.activity-list strong,.activity-list small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.activity-list strong { font-size:12px; }.activity-list small { color:var(--muted);font-size:10px; }.activity-list em { padding:3px 7px;border-radius:7px;background:#e6f6eb;color:#218049;font-style:normal;font-size:9px;font-weight:800; }.avatar { display:grid;flex:0 0 auto;place-items:center;width:33px;height:33px;border-radius:11px;color:#fff;font-weight:800;background:#4f9b88; }.avatar.female { background:#cb7d91; }.quick-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.quick-actions a { display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.52);transition:.18s; }.quick-actions a:hover { transform:translateY(-2px);background:#fff;box-shadow:0 10px 20px rgba(33,76,64,.08); }.quick-actions> a>span { display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#e1f2e9;color:#08725a;font-size:18px;font-weight:800; }.quick-actions strong,.quick-actions small { display:block; }.quick-actions strong { font-size:12px; }.quick-actions small { color:var(--muted);font-size:10px; }
.table-card { overflow:hidden; }.filterbar { display:flex;align-items:center;gap:10px;padding:17px;border-bottom:1px solid var(--line); }.filterbar input { flex:1;min-width:170px; }.filterbar select { width:140px; }.filterbar>span { color:#7a8d86;font-size:11px;white-space:nowrap; }.filterbar input,.filterbar select,.field input,.field select,.field textarea { width:100%;border:1px solid #dce8e2;border-radius:10px;background:rgba(255,255,255,.76);outline:none;color:var(--ink);padding:10px 11px;transition:.15s; }.filterbar input:focus,.filterbar select:focus,.field input:focus,.field select:focus,.field textarea:focus { border-color:#43aa8d;box-shadow:0 0 0 3px rgba(39,161,125,.11); }.table-wrap { overflow:auto; } table { width:100%;border-collapse:collapse; } th { color:#6f847c;background:rgba(239,247,242,.53);font-size:10px;letter-spacing:.3px;text-align:left;text-transform:uppercase; } th,td { padding:13px 17px;border-bottom:1px solid rgba(21,84,65,.08);vertical-align:middle; } td { color:#33574d;font-size:12px; } td strong,td small { display:block; } td strong { color:#244c40;font-size:12px; } td small { color:#83948e;font-size:10px;line-height:1.4; }.right { text-align:right;white-space:nowrap; }.person { display:flex;align-items:center;gap:10px;min-width:190px; }.status-badge { display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:7px;font-size:10px;font-weight:800;white-space:nowrap; }.status-badge i { width:5px;height:5px;border-radius:50%;background:currentColor; }.status-badge.active { color:#237c48;background:#e3f5e9; }.status-badge.inactive { color:#af594f;background:#faeae6; }.icon-btn { display:inline-grid;place-items:center;width:29px;height:29px;border:1px solid #dce8e2;border-radius:8px;background:rgba(255,255,255,.72);color:#2a6857;font-size:14px;vertical-align:middle; }.icon-btn:hover { border-color:#64b29d;background:#effaf4; }.icon-btn.danger { color:#b55a50; }.inline { display:inline; }.table-photo,.thumb-photo { width:33px;height:33px;border-radius:11px;object-fit:cover;object-position:top; }.default-portrait { display:grid;align-content:center;justify-items:center;flex:0 0 auto;width:33px;height:33px;border-radius:11px;color:#fff;background:linear-gradient(145deg,#398d78,#85c2a9);overflow:hidden; }.default-portrait.female { background:linear-gradient(145deg,#b96b83,#e8a0b3); }.default-portrait span { font:700 22px/17px Arial; }.default-portrait small { display:none; }.empty-state { padding:38px;text-align:center;color:#7b8c86; }.empty-state.compact { padding:25px 0; }.empty-inline { color:#7b8c86;font-size:12px; }
.form-card { overflow:hidden; }.form-section { padding:24px 27px;border-bottom:1px solid var(--line); }.form-section h2 { margin:0 0 17px;font:800 16px 'Plus Jakarta Sans';letter-spacing:-.4px; }.form-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:15px; }.form-grid.single { grid-template-columns:1fr; }.field { display:grid;gap:6px;color:#496a61;font-size:11px;font-weight:800; }.field b { color:#cf6358; }.field small { color:#7a9189;font-size:9px;font-weight:500; }.field.wide { grid-column:span 2; }.field textarea { resize:vertical;min-height:72px; }.form-actions { display:flex;justify-content:flex-end;gap:10px;padding:20px 27px; }.photo-preview { display:flex;align-items:end; }.thumb-photo { width:74px;height:74px;border-radius:16px; }.photo-preview .default-portrait { width:74px;height:74px;border-radius:16px; }.photo-preview .default-portrait span { font-size:40px;line-height:33px; }
.import-card { max-width:760px;margin:auto;padding:43px;text-align:center; }.import-card h2 { margin:14px 0 5px;font:800 24px 'Plus Jakarta Sans';letter-spacing:-.8px; }.import-card>p { max-width:545px;margin:0 auto 23px;color:var(--muted); }.import-icon { display:grid;place-items:center;width:57px;height:57px;margin:auto;border-radius:19px;background:#e0f4e9;color:#08725a;font-size:28px;font-weight:800; }.drop-zone { display:grid;place-items:center;gap:5px;min-height:154px;margin:18px 0;border:1.5px dashed #8fcbb8;border-radius:15px;background:rgba(232,248,239,.55);color:#2d735f;cursor:pointer; }.drop-zone:hover { background:#e9f8ef; }.drop-zone input { position:absolute;width:1px;height:1px;opacity:0; }.drop-zone strong { font-size:13px; }.drop-zone small { color:#77988e;font-size:10px; }.import-notes { margin-top:28px;padding:18px;text-align:left;border-radius:13px;background:rgba(249,244,225,.72); }.import-notes h3 { margin:0 0 7px;color:#6b561b;font-size:12px; }.import-notes ul { margin:0;padding-left:17px;color:#80703d;font-size:11px;line-height:1.8; }
.report-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px; }.report-summary article { padding:19px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.65);box-shadow:0 12px 25px rgba(25,71,58,.07); }.report-summary span,.report-summary small { display:block;color:#6f827b;font-size:11px; }.report-summary strong { display:block;margin:3px 0;font:800 27px 'Plus Jakarta Sans';color:#097159; }.report-grid { display:grid;grid-template-columns:1.35fr 1fr;gap:18px; }.report-card { padding:23px; }.simple-table th,.simple-table td { padding:10px 7px; }.simple-table th:first-child,.simple-table td:first-child { padding-left:0; }.simple-table th:last-child,.simple-table td:last-child { padding-right:0; }.report-stack { display:grid;gap:9px; }.report-stack div { display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);color:#59756b;font-size:12px; }.report-stack strong { color:#176a55; }
.analytic-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:18px; }.analytic-card.wide { grid-column:span 2; }.donut-wrap { display:flex;align-items:center;justify-content:center;gap:42px;padding:6px 0 10px; }.donut { position:relative;display:grid;place-content:center;width:140px;height:140px;border-radius:50%;background:conic-gradient(#118d70 calc(var(--value)*1%),#e5efea 0); }.donut::before { content:'';position:absolute;inset:19px;border-radius:50%;background:#f8fbf9; }.donut b,.donut small { position:relative;text-align:center; }.donut b { font:800 25px 'Plus Jakarta Sans'; }.donut small { color:#73857f;font-size:10px; }.donut.orange { background:conic-gradient(#dd9d24 calc(var(--value)*1%),#f1eee5 0); }.legend { display:grid;gap:12px;min-width:130px; }.legend div { display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:7px; }.legend span { color:#688079;font-size:11px; }.legend strong { font-size:12px; }.dot { width:8px;height:8px;border-radius:50%;background:#118d70; }.dot.d1 { background:#d7e8e0; }.age-bars { max-width:760px; }
.toast { position:fixed;right:25px;top:90px;z-index:30;max-width:330px;padding:12px 15px;border-radius:12px;box-shadow:0 12px 28px rgba(23,64,53,.17);font-size:12px;font-weight:700;transition:.45s; }.toast.success { color:#116644;background:#e8f9ef;border:1px solid #bae3c7; }.toast.error { color:#963e39;background:#fff0ed;border:1px solid #f0c4bc; }.toast.fade { opacity:0;transform:translateY(-13px);pointer-events:none; }
.login-body { display:grid;min-height:100vh;place-items:center;overflow:hidden;background:linear-gradient(135deg,#063f35,#08745e 58%,#0b9270); }.ambient { position:fixed;border-radius:50%;filter:blur(1px);opacity:.2;background:#c4f7d0; }.ambient-one { width:500px;height:500px;left:-200px;top:-220px; }.ambient-two { width:430px;height:430px;right:-160px;bottom:-160px;background:#f9ce68; }.login-wrap { position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .9fr;align-items:center;width:min(950px,calc(100% - 34px));gap:72px; }.login-intro { color:#fff; }.login-logo { width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 12px 17px rgba(0,0,0,.22)); }.login-intro h1 { margin:6px 0 9px;font:800 42px 'Plus Jakarta Sans';letter-spacing:-2.2px; }.login-intro>p:last-child { max-width:420px;margin:0;color:#cbebe1;font-size:15px; }.login-card { padding:31px;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(245,255,250,.72)); }.card-heading { display:flex;align-items:center;gap:12px;margin-bottom:24px; }.mini-mark { display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e3f4eb;color:#08745d;font:800 12px 'Plus Jakarta Sans'; }.card-heading h2 { margin:1px 0 0;font:800 20px 'Plus Jakarta Sans';letter-spacing:-.7px; }.login-card .toast { position:static;margin-bottom:16px;max-width:none; }.password-field { position:relative; }.password-field input { padding-right:40px; }.eye-toggle { position:absolute;right:0;top:0;width:40px;height:100%;border:0;background:transparent;color:#6e8980; }.login-hint { margin:18px 0 0;padding-top:17px;border-top:1px solid var(--line);color:#71857e;font-size:11px;line-height:1.8; }.login-hint strong { color:#2c6354; }
.login-form { gap:16px; }.login-field { color:#496a61;font-size:12px; }.login-field input { min-height:45px;border-color:#cfe1d8;background:rgba(255,255,255,.82);font-size:13px; }.login-field input::placeholder { color:#9aaba5; }.login-field .password-field input { padding-right:43px; }.login-form .btn { margin-top:3px; }.user-chip { border-radius:11px;transition:.18s; }.user-chip:hover { background:rgba(255,255,255,.08); }
.account-layout { display:grid;grid-template-columns:minmax(220px,.72fr) minmax(380px,1.28fr);align-items:start;gap:18px;max-width:940px; }.account-overview,.account-card { padding:27px; }.account-icon { display:grid;place-items:center;width:44px;height:44px;margin-bottom:23px;border-radius:14px;background:#e0f4e9;color:#08745d;font-size:23px;font-weight:800; }.account-overview h2 { margin:5px 0 3px;font:800 18px 'Plus Jakarta Sans';letter-spacing:-.55px; }.account-overview>p:not(.eyebrow) { margin:0 0 23px;color:#698078;font-size:12px;overflow-wrap:anywhere; }.account-meta { display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:11px; }.account-meta span { color:#7c9089; }.account-meta strong { color:#2a604f; }.account-card-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:15px; }.account-card-heading h2 { margin:3px 0 0;font:800 20px 'Plus Jakarta Sans';letter-spacing:-.7px; }.security-chip { padding:5px 8px;border-radius:8px;background:#e5f6eb;color:#267351;font-size:10px;font-weight:800;white-space:nowrap; }.account-copy { margin:12px 0 23px;color:#71857e;font-size:12px; }.account-form { gap:16px; }.account-form .field { font-size:12px; }.account-form .field input { min-height:44px;background:rgba(255,255,255,.82); }.account-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:7px; }
.profile-body { display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:28px;background:linear-gradient(140deg,#063e34,#075d4e 58%,#0e8065); }.profile-glow { position:fixed;border-radius:50%;opacity:.2;background:#f4cd69;filter:blur(5px); }.profile-glow.one { width:450px;height:450px;top:-240px;left:-140px; }.profile-glow.two { width:360px;height:360px;right:-150px;bottom:-170px;background:#8ae5c0; }.profile-card,.not-found { position:relative;z-index:1;width:min(930px,100%);overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(245,255,250,.78)); }.profile-head { display:flex;align-items:center;gap:10px;padding:18px 26px;border-bottom:1px solid var(--line); }.profile-head img { width:42px;height:42px;object-fit:contain; }.profile-head p,.profile-head strong { display:block;margin:0; }.profile-head p { color:#5b8175;font-size:9px;font-weight:800;letter-spacing:1.2px; }.profile-head strong { color:#124f41;font:800 14px 'Plus Jakarta Sans'; }.verified { margin-left:auto;padding:7px 9px;border-radius:9px;background:#e2f5e9;color:#19734d;font-size:10px;font-weight:800; }.profile-main { display:grid;grid-template-columns:310px 1fr; }.photo-stage { min-height:444px;background:linear-gradient(145deg,#dbeee3,#b8dccb);overflow:hidden; }.profile-photo { width:100%;height:100%;min-height:444px;object-fit:cover;object-position:top;display:block; }.photo-stage .default-portrait { width:100%;height:100%;min-height:444px;border-radius:0;grid-template-rows:auto auto;background:linear-gradient(145deg,#2e8270,#8bd0af); }.photo-stage .default-portrait.female { background:linear-gradient(145deg,#9b5e74,#e49cae); }.photo-stage .default-portrait span { font-size:170px;line-height:.7; }.photo-stage .default-portrait small { display:block;margin-top:35px;color:rgba(255,255,255,.9);font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase; }.profile-info { padding:49px 43px 34px; }.profile-info h1 { margin:8px 0 5px;color:#123e35;font:800 clamp(27px,3.2vw,37px)/1.13 'Plus Jakarta Sans';letter-spacing:-1.6px; }.role-line { margin:0 0 26px;color:#63837a;font-size:14px; }.detail-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:16px 13px;padding-top:21px;border-top:1px solid var(--line); }.detail-grid span,.detail-grid strong { display:block; }.detail-grid span { color:#7e958d;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase; }.detail-grid strong { margin-top:2px;color:#29584c;font-size:12px; }.profile-valid { margin-top:25px;padding:11px 12px;border-radius:9px;background:#e4f7eb;color:#277352;font-size:11px;font-weight:700; }.profile-card footer { padding:14px 26px;border-top:1px solid var(--line);color:#7a9088;text-align:center;font-size:10px; }.not-found { max-width:480px;padding:43px;text-align:center; }.not-found img { width:82px;height:82px;object-fit:contain; }.not-found h1 { margin:8px 0;font:800 28px 'Plus Jakarta Sans'; }.not-found p:last-child { margin:0;color:#71877f; }
.qr-dialog { border:0;border-radius:20px;padding:28px;text-align:center;color:var(--ink);box-shadow:0 25px 70px rgba(6,55,43,.34); }.qr-dialog::backdrop { background:rgba(3,46,37,.6);backdrop-filter:blur(4px); }.qr-dialog h2 { margin:5px 0 15px;font:800 20px 'Plus Jakarta Sans'; }.qr-dialog img { display:block;width:235px;height:235px;margin:auto; }.qr-dialog a { display:block;margin-top:12px;color:#08745d;font-size:11px;font-weight:800;word-break:break-all; }.qr-dialog small { display:block;margin-top:11px;color:#7d928b;font-size:10px; }.dialog-close { position:absolute;top:9px;right:12px;border:0;background:transparent;color:#698078;font-size:24px; }
@media (max-width:1080px) { .stat-grid { grid-template-columns:repeat(2,1fr); }.dashboard-grid,.report-grid { grid-template-columns:1fr; }.sidebar { width:228px; }.main { margin-left:228px; }.content { padding:29px; }.topbar { padding:0 29px; }.account-layout { grid-template-columns:1fr;max-width:680px; } }
@media (max-width:760px) { .sidebar { transform:translateX(-103%);transition:.22s; }.sidebar.open { transform:translateX(0); }.main { margin-left:0; }.mobile-menu { display:block; }.topbar { height:63px;padding:0 19px; }.today { display:none; }.content { padding:23px 16px; }.page-heading { align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:21px; }.heading-actions { width:100%; }.heading-actions .btn { flex:1; }.stat-grid,.quick-actions,.report-summary,.analytic-grid { grid-template-columns:1fr; }.dashboard-grid { grid-template-columns:1fr; }.analytic-card.wide { grid-column:span 1; }.form-grid { grid-template-columns:1fr; }.field.wide { grid-column:span 1; }.form-section { padding:20px 17px; }.form-actions { padding:17px; }.filterbar { flex-wrap:wrap; }.filterbar input { flex-basis:100%; }.filterbar select { flex:1; }.filterbar>span { margin-left:auto; }.table-wrap { margin:0; }.table-wrap table { min-width:700px; }.login-wrap { grid-template-columns:1fr;gap:24px;margin:34px 0; }.login-intro { text-align:center; }.login-intro>p:last-child { margin:auto; }.login-logo { width:76px;height:76px; }.login-intro h1 { font-size:31px; }.login-card { padding:25px; }.account-overview,.account-card { padding:21px; }.account-card-heading { align-items:flex-start; }.security-chip { font-size:9px; }.account-actions .btn { flex:1; }.profile-body { padding:15px; }.profile-head { padding:14px; }.profile-head .verified { display:none; }.profile-main { grid-template-columns:1fr; }.photo-stage,.profile-photo,.photo-stage .default-portrait { min-height:310px;max-height:370px; }.profile-info { padding:29px 22px; }.profile-card footer { padding:12px 18px; }.donut-wrap { gap:19px;justify-content:flex-start; }.donut { width:120px;height:120px; }.bar-row { grid-template-columns:88px 1fr 25px; }.toast { top:74px;left:16px;right:16px;max-width:none; } }
@media print { .sidebar,.topbar,.heading-actions,.toast,.link-button { display:none!important; }.main { margin:0; }.content { padding:0; }.app-bg { display:none; }.glass-card { box-shadow:none;background:#fff;border-color:#ddd; } }
