
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');
:root {
  --bg:#07111f; --panel:#0d1a2b; --panel2:#101f33; --text:#edf5ff; --muted:#8ea3bd;
  --line:rgba(255,255,255,.08); --accent:#55d6be; --accent2:#6ea8fe; --warn:#ffca6a;
  --danger:#ff7188; --shadow:0 20px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
body{margin:0;font-family:Vazirmatn,Arial,sans-serif;background:
radial-gradient(circle at 80% 0%, rgba(85,214,190,.13), transparent 30%),
radial-gradient(circle at 10% 20%, rgba(110,168,254,.12), transparent 25%),var(--bg);color:var(--text)}
button,input,select{font:inherit}
.app{max-width:1500px;margin:auto;padding:28px}
.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}
.brand h1{margin:0;font-size:28px;letter-spacing:-.5px}
.brand p{margin:7px 0 0;color:var(--muted);font-size:13px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer}
.btn:hover{background:rgba(255,255,255,.1)}
.btn.primary{background:linear-gradient(135deg,var(--accent),#3ba8cf);color:#04121b;border:0;font-weight:800}
.hero{padding:24px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(16,31,51,.92),rgba(10,25,40,.86));border-radius:24px;box-shadow:var(--shadow);margin-bottom:20px}
.search{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:16px;padding:5px 8px 5px 14px}
.search span{font-size:20px}
.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);padding:12px;font-size:15px}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-top:12px}
select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px;outline:none}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
.kpi{background:rgba(13,26,43,.88);border:1px solid var(--line);border-radius:20px;padding:18px;position:relative;overflow:hidden}
.kpi:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;left:-25px;bottom:-45px;background:rgba(85,214,190,.08)}
.kpi .label{color:var(--muted);font-size:12px}
.kpi .value{font-size:30px;font-weight:800;margin-top:7px}
.kpi .sub{font-size:11px;color:#9db0c5;margin-top:4px}
.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}
.card{background:rgba(13,26,43,.9);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.card h2{font-size:15px;margin:0 0 14px}
.chartbox{height:310px;position:relative}
.table-card{padding:0;overflow:hidden}
.table-head{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.badge{background:rgba(85,214,190,.12);color:var(--accent);padding:5px 9px;border-radius:999px;font-size:11px}
.table-wrap{overflow:auto;max-height:620px}
table{width:100%;border-collapse:collapse;min-width:950px}
th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}
th{position:sticky;top:0;background:#0c1929;color:#9fb3c9;font-size:12px;z-index:2}
td{font-size:13px}
tr:hover td{background:rgba(255,255,255,.025)}
.person{font-weight:700}
.muted{color:var(--muted);font-size:11px}
.course-list{display:flex;flex-wrap:wrap;gap:5px;max-width:500px}
.course{background:rgba(110,168,254,.1);border:1px solid rgba(110,168,254,.15);color:#b8d1ff;border-radius:999px;padding:4px 8px;font-size:10px}
.empty{padding:45px;text-align:center;color:var(--muted)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}
.modal.show{display:flex}
.modal-box{width:min(760px,100%);max-height:90vh;overflow:auto;background:#0b1727;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px}
.modal-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.close{border:0;background:rgba(255,255,255,.07);color:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}
.detail{background:rgba(255,255,255,.035);border:1px solid var(--line);padding:13px;border-radius:14px}
.detail small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}
.detail b{font-size:13px}
.privacy{color:var(--warn);font-size:11px;margin-top:8px}
.progress{height:8px;background:#15283d;border-radius:999px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}
.footer{text-align:center;color:#6f839b;font-size:11px;padding:24px}
@media(max-width:1000px){.filters{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}
@media(max-width:620px){.app{padding:15px}.topbar{align-items:flex-start;flex-direction:column}.filters{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.kpi .value{font-size:23px}.detail-grid{grid-template-columns:1fr}}

body, .card, .kpi, .hero, .modal-box, select, th, .search, .btn, .detail {
  transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
body.light {
  --bg:#f3f6fb; --panel:#ffffff; --panel2:#f7f9fc; --text:#152235; --muted:#68778b;
  --line:rgba(20,40,65,.11); --accent:#159f8b; --accent2:#3478d6; --warn:#a56a00;
  --danger:#c83f58; --shadow:0 18px 45px rgba(34,55,80,.12);
  background:radial-gradient(circle at 80% 0%, rgba(21,159,139,.10), transparent 30%),
             radial-gradient(circle at 10% 20%, rgba(52,120,214,.08), transparent 25%),var(--bg);
}
body.light .hero,
body.light .card,
body.light .kpi { background:rgba(255,255,255,.92); }
body.light th { background:#f7f9fc; }
body.light .btn { background:rgba(20,40,65,.045); color:var(--text); }
body.light .btn:hover { background:rgba(20,40,65,.08); }
body.light .search { background:rgba(255,255,255,.82); }
body.light select { background:#fff; color:var(--text); }
body.light .modal { background:rgba(20,30,45,.45); }


/* --- Flat Bandar / B Nazanin premium layer --- */
body, body *, button, input, select { font-family:'B Nazanin','B-Nazanin','BNazanin','Nazanin',Tahoma,Arial,sans-serif !important; }
body { letter-spacing:.1px; }
.brand { display:flex; align-items:center; gap:14px; }
.brand-mark { width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-weight:900;font-size:18px;color:#06121b;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 14px 35px rgba(85,214,190,.18); }
.company-name { display:block;color:var(--accent);font-size:14px;font-weight:800;margin-bottom:1px; }
.brand h1 { margin:0; }
.company-line { display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--muted);font-size:11px; }
.company-line i { width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(85,214,190,.08); }
.person-cell { display:flex;align-items:center;gap:10px;min-width:250px; }
.person-avatar { width:46px;height:46px;min-width:46px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:14px;overflow:hidden;box-shadow:0 9px 22px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.14); }
.person-avatar img { width:100%;height:100%;object-fit:cover;display:block; }
.person-meta { display:flex;flex-direction:column;gap:2px; }
.person-meta .person { font-weight:800; }
.row-action { display:flex;gap:6px;align-items:center; }
.personnel-add-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:15px;padding:10px 16px;font:inherit;font-weight:850;cursor:pointer;color:#fff;background:linear-gradient(135deg,#0a84ff,#39a9ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 25px rgba(10,132,255,.18);transition:.2s}
.personnel-add-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.personnel-add-btn svg,.personnel-profile-delete svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.personnel-profile-delete{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.20);background:rgba(140,18,30,.34);color:#fff;padding:8px 11px;border-radius:11px;cursor:pointer;font:inherit;font-weight:800}
.personnel-profile-delete:hover{background:rgba(170,22,35,.48)}

.profile-hero { position:relative; overflow:hidden; margin:-24px -24px 20px; padding:24px; background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.22),transparent 23%),linear-gradient(135deg,rgba(85,214,190,.96),rgba(52,120,214,.96)); }
.profile-hero:before,.profile-hero:after { content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08); }
.profile-hero:before { width:220px;height:220px;right:-80px;bottom:-140px; }
.profile-hero:after { width:110px;height:110px;left:18%;top:-65px; }
.profile-top { display:flex;align-items:center;gap:16px;position:relative;z-index:1; }
.profile-photo { width:92px;height:92px;border-radius:28px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,rgba(9,24,35,.78),rgba(9,24,35,.34));border:2px solid rgba(255,255,255,.42);box-shadow:0 16px 32px rgba(0,0,0,.2);color:#fff;font-weight:900;font-size:28px; }
.profile-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.profile-title small { display:block;color:rgba(255,255,255,.72);font-size:11px; }
.profile-title h2 { margin:4px 0;font-size:26px;color:#fff; }
.profile-title .role { color:rgba(255,255,255,.92);font-weight:700;font-size:13px; }
.profile-actions { margin-top:12px;display:flex;gap:8px;flex-wrap:wrap; }
.profile-actions .mini-btn { border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;padding:8px 11px;border-radius:11px;cursor:pointer; }
.profile-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px;position:relative;z-index:1; }
.profile-stat { background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:10px 12px;border-radius:15px;color:#fff; }
.profile-stat small { display:block;color:rgba(255,255,255,.68);font-size:10px; }
.profile-stat b { display:block;margin-top:2px;font-size:17px; }
.section-title { display:flex;justify-content:space-between;align-items:center;margin:13px 0 9px; }
.section-title b { font-size:14px; }
.section-title span { color:var(--muted);font-size:10px; }
.course-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:7px; }
.course.course-big { padding:8px 10px;border-radius:13px;line-height:1.45; }
.course-summary { padding:10px 12px;border-radius:14px;background:rgba(85,214,190,.08);border:1px solid rgba(85,214,190,.16);color:var(--accent);font-weight:800;margin-bottom:10px; }
.photo-note { color:var(--muted);font-size:10px;margin-top:7px; }
@media(max-width:700px){ .profile-stats{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.profile-top{align-items:flex-start}.profile-title h2{font-size:22px}.person-cell{min-width:210px} }
@media print{ .actions,.hero,.row-action,.modal{display:none!important}.brand-mark{print-color-adjust:exact;-webkit-print-color-adjust:exact} }


/* Typography readability update */
body.light{
  color:#111827;
}
body.light .brand h1,
body.light .card h2,
body.light .table-head h2,
body.light td,
body.light th,
body.light .person,
body.light .person-meta .person,
body.light .detail b,
body.light .detail-section-title b,
body.light .profile-title h2,
body.light .profile-stat b,
body.light .search input,
body.light select{
  color:#111827 !important;
}
body.light .brand p,
body.light .muted,
body.light .kpi .label,
body.light .kpi .sub,
body.light .detail small,
body.light .detail-section-title span,
body.light .footer{
  color:#4b5563 !important;
}
body.light td, body.light th{font-size:15px;}
body.light .person{font-size:16px;}
body.light .person-meta .muted{font-size:13px;}
body.light .kpi .label{font-size:14px;}
body.light .kpi .sub{font-size:13px;}
body.light .kpi .value{font-size:32px;}
body.light .card h2{font-size:18px;}
body.light .table-head h2{font-size:19px;}
body.light .search input{font-size:16px;}
body.light select{font-size:15px;}
body.light .course{font-size:12px;color:#1f4f8f !important;background:rgba(52,120,214,.10);}
body.light .brand h1{font-size:30px;}
body.light .company-name{font-size:14px;}
body.light .brand p{font-size:14px;}


/* === Premium glass / foreign SaaS style === */
html{scroll-behavior:smooth}
body{position:relative;overflow-x:hidden}
body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(55px);opacity:.34;pointer-events:none}
body:before{width:330px;height:330px;right:-80px;top:70px;background:rgba(85,214,190,.20)}
body:after{width:300px;height:300px;left:-90px;bottom:60px;background:rgba(110,168,254,.18)}
.hero,.card,.kpi,.table-card,.modal-box{
  background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.045)) !important;
  backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.hero:before,.card:before,.kpi:before,.table-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 34%,transparent 70%,rgba(255,255,255,.035));opacity:.7
}
.hero,.card,.kpi,.table-card{position:relative;overflow:hidden}
.search{background:rgba(255,255,255,.10) !important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.18) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 30px rgba(0,0,0,.08)}
.search:focus-within{border-color:rgba(85,214,190,.55)!important;box-shadow:0 0 0 4px rgba(85,214,190,.10),inset 0 1px 0 rgba(255,255,255,.12)}
select{background:rgba(255,255,255,.08)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.btn{background:rgba(255,255,255,.09)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 7px 18px rgba(0,0,0,.07);border-color:rgba(255,255,255,.16)!important}
.btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 11px 22px rgba(0,0,0,.10)}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2))!important;box-shadow:0 12px 26px rgba(52,120,214,.20),inset 0 1px 0 rgba(255,255,255,.35)}
.kpi{transform:translateZ(0);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.kpi:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.10)!important}
.kpi .label{font-size:14px;font-weight:700}
.kpi .sub{font-size:12px}
.card h2,.table-head h2,.section-title b{font-weight:900}
.section-title b{font-size:17px}
.section-title span{font-size:12px}
.detail{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.detail small{font-size:12px;font-weight:700}
.detail b{font-size:15px}
.course{font-size:12px!important}
.badge{font-size:12px}
th{font-size:14px!important}
td{font-size:15px!important}
.person{font-size:17px!important}
.muted{font-size:13px!important}
.empty{font-size:15px}

body.light{
  --bg:#eef3f8;--panel:#ffffff;--panel2:#ffffff;--text:#111827;--muted:#455468;
  --line:rgba(15,23,42,.12);--accent:#087f6c;--accent2:#2f69c9;--warn:#8a5a00;
  background:
    radial-gradient(circle at 85% 0%,rgba(8,127,108,.13),transparent 28%),
    radial-gradient(circle at 8% 28%,rgba(47,105,201,.11),transparent 25%),
    linear-gradient(145deg,#f7fafc,#e9eff5);
}
body.light:before{background:rgba(8,127,108,.12)}
body.light:after{background:rgba(47,105,201,.10)}
body.light .hero,body.light .card,body.light .kpi,body.light .table-card,body.light .modal-box{
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.64)) !important;
  border-color:rgba(15,23,42,.10)!important;
  box-shadow:0 20px 55px rgba(27,47,72,.10),inset 0 1px 0 rgba(255,255,255,.85)!important;
}
body.light .search,body.light select,body.light .btn{background:rgba(255,255,255,.70)!important;border-color:rgba(15,23,42,.11)!important;color:#111827!important}
body.light .search input{color:#111827!important}
body.light .search input::placeholder{color:#5a6879!important}
body.light .detail{background:rgba(248,250,252,.78)!important;border-color:rgba(15,23,42,.10)!important}
body.light .section-title b,body.light .detail b,body.light .detail small,body.light .detail-section-title b{color:#000!important}
body.light .section-title span{color:#36465a!important}
body.light .photo-note,body.light .privacy{color:#4a596a!important}
body.light th{background:rgba(241,245,249,.92)!important;color:#111827!important}
body.light td{color:#111827!important}
body.light .course{color:#174d98!important;background:rgba(47,105,201,.09)!important;border-color:rgba(47,105,201,.16)!important}
body.light .badge{background:rgba(8,127,108,.10);color:#076b5b}

.icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;vertical-align:-4px;margin-left:6px;opacity:.95}
.icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.kpi .label .icon,.card h2 .icon{width:22px;height:22px}
.kpi .label .icon svg,.card h2 .icon svg{width:22px;height:22px;stroke-width:2}
.section-title .left-title{display:flex;align-items:center;gap:6px}.icon-lux{margin-left:6px;color:var(--accent2)}.icon-detail{width:18px;height:18px;margin-left:5px;color:var(--accent2);vertical-align:-4px}.icon-detail svg{width:18px;height:18px;stroke-width:1.8}
@media(max-width:620px){.kpi .label{font-size:13px}.kpi .value{font-size:28px}.detail b{font-size:14px}}


/* Luxury executive profile refinements */
.profile-photo{
  width:108px;height:108px;border-radius:32px;position:relative;
  background:linear-gradient(145deg,#0b1b2e,#163454)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 18px 42px rgba(5,19,35,.28), inset 0 1px 0 rgba(255,255,255,.18);
  color:#fff; font-size:0;
}
.profile-photo:after{
  content:""; position:absolute; inset:8px; border-radius:25px;
  border:1px solid rgba(255,255,255,.12); pointer-events:none;
}
.profile-photo .profile-fallback{width:62px;height:62px;display:grid;place-items:center;border-radius:22px;
  background:linear-gradient(145deg,rgba(115,218,198,.25),rgba(90,140,235,.25));
  border:1px solid rgba(255,255,255,.12); color:#fff; font-size:24px; font-weight:900;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.profile-photo .profile-fallback svg{width:42px;height:42px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.profile-photo img{position:relative;z-index:2}
.profile-title h2{font-size:28px!important;letter-spacing:-.2px}
.profile-title .role{font-size:15px!important}
.profile-actions .mini-btn{font-size:13px;font-weight:800}
.profile-actions .icon{margin-left:5px}
.section-title{margin:18px 0 11px!important}
.section-title b{font-size:20px!important;font-weight:900!important;color:var(--text)}
.section-title span{font-size:13px!important;font-weight:700}
.course-summary{font-size:15px!important;padding:12px 14px!important;font-weight:900!important}
.course-grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:10px!important}
.course.course-big{font-size:15px!important;font-weight:800!important;padding:11px 13px!important;line-height:1.7!important;
  border-radius:15px!important;background:linear-gradient(135deg,rgba(52,120,214,.10),rgba(85,214,190,.08))!important;
  border:1px solid rgba(52,120,214,.17)!important; color:var(--text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 8px 18px rgba(20,50,90,.05)
}
.course.course-big:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:8px;vertical-align:1px;background:linear-gradient(135deg,var(--accent2),var(--accent))}
.detail{padding:15px!important;border-radius:16px!important}
.detail small{font-size:13px!important}
.detail b{font-size:17px!important;font-weight:900!important}
.detail-grid{gap:12px!important}
.profile-stat small{font-size:11px!important}.profile-stat b{font-size:19px!important}
body.light .section-title b,body.light .detail-section-title b{color:#05070a!important}
body.light .section-title span{color:#273447!important}
body.light .course.course-big{color:#07111f!important;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(238,245,253,.82))!important}
body.light .course-summary{color:#045c50!important}
@media(max-width:700px){.profile-photo{width:88px;height:88px}.profile-title h2{font-size:23px!important}.course-grid{grid-template-columns:1fr}.section-title b{font-size:18px!important}}


/* Luxury executive profile avatars */
.person-avatar{
  position:relative;width:48px!important;height:48px!important;min-width:48px!important;
  border-radius:16px!important;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,240,248,.78))!important;
  color:#142337!important;border:1px solid rgba(38,73,112,.18)!important;
  box-shadow:0 10px 24px rgba(30,56,90,.14), inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.person-avatar .executive-avatar-icon{width:29px;height:29px;color:#24466e;}
.person-avatar .executive-avatar-icon path{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.person-avatar:after{
  content:"";position:absolute;right:5px;bottom:5px;width:7px;height:7px;border-radius:50%;
  background:#20b58c;box-shadow:0 0 0 3px rgba(255,255,255,.82),0 4px 9px rgba(32,181,140,.28);
}
.profile-photo{
  background:linear-gradient(145deg,#eef5fb,#d9e7f3)!important;
  border:2px solid rgba(255,255,255,.78)!important;
}
.profile-photo .profile-fallback{
  width:68px!important;height:68px!important;border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(201,222,242,.42))!important;
  border:1px solid rgba(36,70,110,.16)!important;color:#24466e!important;
  box-shadow:0 12px 28px rgba(21,58,94,.12), inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.profile-photo .profile-fallback svg{width:46px!important;height:46px!important;stroke-width:1.35!important}
.profile-photo .profile-fallback svg circle{fill:rgba(36,70,110,.08);}
body.light .person-avatar{background:linear-gradient(145deg,#ffffff,#edf3f8)!important;color:#163251!important;border-color:rgba(22,50,81,.13)!important;}
body.light .person-avatar .executive-avatar-icon{color:#173f6a!important;}
body.light .profile-photo{background:linear-gradient(145deg,#ffffff,#e6eff7)!important;}
.profile-action-btn{display:inline-flex;align-items:center;gap:7px;}
.profile-action-btn .icon{display:inline-flex;align-items:center}


.excel-upload-card{
  margin:0 0 20px;padding:18px 20px;border-radius:22px;
  border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(145%);
}
.upload-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}
.upload-title{display:flex;gap:12px;align-items:center}
.upload-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;
 background:linear-gradient(135deg,rgba(25,159,139,.18),rgba(52,120,214,.18));border:1px solid var(--line);color:var(--accent)}
.upload-title h2{margin:0;font-size:17px;font-weight:900}
.upload-title p{margin:3px 0 0;color:var(--muted);font-size:11px}
.upload-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px dashed rgba(110,168,254,.38);border-radius:17px;background:rgba(110,168,254,.045);transition:.2s}
.upload-zone.dragover{transform:translateY(-1px);border-color:var(--accent);background:rgba(85,214,190,.08)}
.upload-file{display:flex;align-items:center;gap:10px;min-width:0}
.file-badge{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(85,214,190,.12);color:var(--accent);font-weight:900}
.file-name{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-status{font-size:10px;color:var(--muted);margin-top:2px}
.upload-actions{display:flex;gap:8px;flex-wrap:wrap}
.upload-label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.upload-label input{display:none}
.upload-note{margin-top:8px;color:var(--muted);font-size:10px}
body.light .excel-upload-card{background:rgba(255,255,255,.82);border-color:rgba(20,50,85,.08)}
body.light .upload-zone{background:rgba(248,251,255,.9);border-color:rgba(32,96,176,.25)}
body.light .file-badge{background:rgba(21,159,139,.10)}
@media(max-width:700px){.upload-zone{flex-direction:column;align-items:stretch}.upload-actions{width:100%}.upload-actions .btn{flex:1}}


/* --- 2026 Flat Bandar executive dashboard refresh --- */
:root{--brand-cyan:#19d5dd;--brand-blue:#1769d2;--brand-deep:#071426}
body{min-height:100vh;background:radial-gradient(circle at 82% -8%,rgba(25,213,221,.16),transparent 30%),radial-gradient(circle at 0% 35%,rgba(23,105,210,.15),transparent 28%),linear-gradient(160deg,#07111f 0%,#0a1728 48%,#081321 100%);background-attachment:fixed}
.app{max-width:1540px;padding:24px 32px 38px}
.topbar{position:relative;overflow:hidden;padding:18px 20px;margin-bottom:18px;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(135deg,rgba(11,28,47,.94),rgba(9,24,42,.82));box-shadow:0 24px 70px rgba(0,0,0,.25);backdrop-filter:blur(18px)}
.topbar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 10%,rgba(25,213,221,.12),transparent 28%);pointer-events:none}
.brand-premium{position:relative;z-index:1;gap:17px;min-width:0}
.brand-logo-wrap{width:94px;height:78px;flex:0 0 94px;border-radius:20px;background:#fff;padding:6px;display:grid;place-items:center;box-shadow:0 14px 38px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.12)}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:14px}
.brand-copy{min-width:0}.brand-eyebrow{display:block;color:#79eaf0;font-size:11px;font-weight:800;letter-spacing:.25px;margin-bottom:2px}
.brand h1{font-size:30px;line-height:1.15;font-weight:900;background:linear-gradient(90deg,#fff,#bceef3);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-title{font-size:15px;font-weight:800;color:#dbeafa;margin-top:4px}
.actions{position:relative;z-index:1}.actions .btn{backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.hero{padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,rgba(14,32,53,.88),rgba(10,26,45,.78));box-shadow:0 16px 48px rgba(0,0,0,.16)}
.search{border-color:rgba(25,213,221,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.search:focus-within{border-color:rgba(25,213,221,.55);box-shadow:0 0 0 4px rgba(25,213,221,.07)}
.kpi{min-height:126px;padding:20px;border-radius:22px;background:linear-gradient(145deg,rgba(15,32,53,.93),rgba(9,25,43,.88));box-shadow:0 16px 45px rgba(0,0,0,.15)}
.kpi .value{font-size:34px;background:linear-gradient(135deg,#fff,#72e8ee);-webkit-background-clip:text;background-clip:text;color:transparent}.kpi .label{font-size:13px;font-weight:800}
.card,.table-card{border-radius:22px;background:linear-gradient(145deg,rgba(14,30,50,.92),rgba(9,24,41,.88));box-shadow:0 18px 55px rgba(0,0,0,.16)}
.table-head{padding:20px 22px}.table-head h2{font-size:18px!important}.badge{font-weight:800;letter-spacing:.35px}
th{background:rgba(8,22,38,.96);backdrop-filter:blur(10px)}
tr:hover td{background:rgba(25,213,221,.035)}
.footer{opacity:.85}
body.light{background:radial-gradient(circle at 82% -8%,rgba(25,213,221,.12),transparent 30%),radial-gradient(circle at 0% 35%,rgba(23,105,210,.08),transparent 28%),#f3f7fb}
body.light .topbar{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,251,255,.94));border-color:rgba(19,68,105,.09)}
body.light .brand h1{background:linear-gradient(90deg,#0d365f,#178fae);-webkit-background-clip:text;background-clip:text;color:transparent}
body.light .brand-title{color:#35536f}body.light .brand-eyebrow{color:#128d99}
body.light .kpi,body.light .card,body.light .table-card,body.light .hero{background:rgba(255,255,255,.92)}
body.light .kpi .value{background:linear-gradient(135deg,#163a62,#159f8b);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:800px){.app{padding:14px}.topbar{padding:16px;align-items:stretch}.brand-logo-wrap{width:78px;height:68px;flex-basis:78px}.brand h1{font-size:24px}.brand-title{font-size:13px}.actions{width:100%}.actions .btn{flex:1}.company-line{display:none}}
@media(max-width:520px){.brand-premium{align-items:center}.brand-logo-wrap{width:66px;height:60px;flex-basis:66px;border-radius:16px}.brand h1{font-size:21px}.brand-eyebrow{font-size:9px}.brand-title{font-size:12px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{min-height:112px;padding:15px}.kpi .value{font-size:28px}}


/* Personnel editor additions */
.editor-box{margin:14px 0;padding:14px;border:1px solid rgba(94,234,212,.18);border-radius:18px;background:rgba(8,27,45,.48)}
.editor-row{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:center}.editor-row.one{grid-template-columns:1fr auto}
.editor-input{width:100%;min-width:0;border:1px solid rgba(148,163,184,.22);background:rgba(4,18,31,.72);color:#eef8ff;border-radius:12px;padding:11px 12px;font-family:inherit;outline:none}.editor-input:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px rgba(45,212,191,.1)}
.editor-btn{border:0;border-radius:12px;padding:11px 15px;font-family:inherit;font-weight:800;cursor:pointer;background:linear-gradient(135deg,#22d3ee,#14b8a6);color:#05202a}.editor-btn.secondary{background:rgba(255,255,255,.08);color:#dbeafe;border:1px solid rgba(255,255,255,.12)}
.custom-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.custom-field{padding:12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.custom-field small{display:block;color:#8fa9c2;margin-bottom:5px}.custom-field b{word-break:break-word}
.course-chip-wrap{display:inline-flex;align-items:center;gap:6px}.course-remove{border:0;background:rgba(239,68,68,.15);color:#fecaca;border-radius:50%;width:22px;height:22px;cursor:pointer;font-weight:900}
body.light .editor-box{background:#f7fbff}body.light .editor-input{background:#fff;color:#17324d;border-color:#d9e4ee}body.light .custom-field{background:#f8fbfd;border-color:#e3edf4}
@media(max-width:650px){.editor-row{grid-template-columns:1fr}.editor-row.one{grid-template-columns:1fr}.custom-fields{grid-template-columns:1fr}}


.cloud-sync{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08)}
.cloud-sync.ok{color:#b8f7d2}.cloud-sync.busy{color:#ffe4a8}.cloud-sync.err{color:#ffb5b5}

/* --- iOS Liquid Glass visual upgrade --- */
:root{--glass:rgba(255,255,255,.075);--glass-strong:rgba(255,255,255,.12);--glass-line:rgba(255,255,255,.17);--ios-blue:#0a84ff;--ios-cyan:#64d2ff;--ios-green:#30d158;--ios-red:#ff453a}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 4%,rgba(10,132,255,.16),transparent 27%),radial-gradient(circle at 18% 28%,rgba(100,210,255,.10),transparent 22%);z-index:-1}
.topbar{min-height:142px;padding:25px 28px;border-radius:34px;border:1px solid var(--glass-line);background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(255,255,255,.035),0 30px 80px rgba(0,0,0,.30);backdrop-filter:blur(32px) saturate(165%);-webkit-backdrop-filter:blur(32px) saturate(165%)}
.topbar:after{content:"";position:absolute;width:360px;height:360px;left:-100px;top:-250px;border-radius:50%;background:rgba(100,210,255,.13);filter:blur(2px);pointer-events:none}
.brand-premium{gap:22px}.brand-logo-wrap{width:110px;height:94px;flex-basis:110px;border-radius:27px;padding:9px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 55px rgba(0,0,0,.24),0 0 45px rgba(100,210,255,.12);transform:translateZ(0)}
.brand-logo{border-radius:19px}.brand-eyebrow{font-size:11px;letter-spacing:.7px;color:#8ee7ff}.brand h1{font-size:38px!important;letter-spacing:-1.2px;background:linear-gradient(115deg,#fff 5%,#e7f9ff 40%,#74d9ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 8px 35px rgba(73,190,255,.10)}
.brand-title{font-size:16px;margin-top:7px;color:rgba(235,247,255,.80);font-weight:700}.actions .btn,.btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 10px 28px rgba(0,0,0,.12);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);transition:.22s ease}.actions .btn:hover,.btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.23)}
.hero,.card,.kpi,.table-card,.modal-box,.editor-box{border:1px solid rgba(255,255,255,.12)!important;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 22px 65px rgba(0,0,0,.18)!important;backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%)}
.modal{background:rgba(2,8,16,.60);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%)}.modal-box{border-radius:32px!important;padding:25px!important}
.profile-hero{border-radius:26px;margin:-10px -10px 20px!important;background:radial-gradient(circle at 85% 0%,rgba(255,255,255,.26),transparent 24%),linear-gradient(135deg,rgba(10,132,255,.94),rgba(50,173,230,.84),rgba(48,209,88,.58))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 18px 45px rgba(0,70,140,.22)}
.editor-box{padding:17px!important;border-radius:22px!important}.editor-input{border-radius:15px!important;padding:13px 14px!important;background:rgba(255,255,255,.065)!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:.2s}.editor-input:focus{border-color:rgba(100,210,255,.75)!important;box-shadow:0 0 0 4px rgba(10,132,255,.12),inset 0 1px 0 rgba(255,255,255,.08)!important}
.editor-btn{position:relative;overflow:hidden;border-radius:15px!important;padding:12px 18px!important;color:#fff!important;background:linear-gradient(135deg,#0a84ff,#32ade6)!important;border:1px solid rgba(255,255,255,.20)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 28px rgba(10,132,255,.24);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.editor-btn:hover{transform:translateY(-2px) scale(1.015);filter:brightness(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 34px rgba(10,132,255,.30)}.editor-btn:active{transform:scale(.97)}
.course-chip-wrap{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:4px;padding:5px 6px 5px 10px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(12px)}.course-chip-wrap .course{background:transparent!important;border:0!important;padding:4px 7px!important}
.course-remove{width:29px!important;height:29px!important;display:grid;place-items:center;border-radius:50%!important;color:#fff!important;background:linear-gradient(145deg,rgba(255,69,58,.92),rgba(215,35,45,.90))!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 7px 18px rgba(255,69,58,.18);font-size:17px;line-height:1;transition:.18s}.course-remove:hover{transform:scale(1.10) rotate(5deg);box-shadow:0 9px 23px rgba(255,69,58,.28)}.course-remove:active{transform:scale(.9)}
.custom-field{border-radius:18px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.cloud-sync{background:rgba(48,209,88,.10)!important;border-color:rgba(48,209,88,.18)!important;backdrop-filter:blur(14px)}
body.light .topbar,body.light .hero,body.light .card,body.light .kpi,body.light .table-card,body.light .modal-box,body.light .editor-box{background:rgba(255,255,255,.66)!important;border-color:rgba(255,255,255,.78)!important;box-shadow:inset 0 1px 0 #fff,0 22px 65px rgba(49,83,120,.12)!important}body.light .editor-input{background:rgba(255,255,255,.72)!important;border-color:rgba(90,120,150,.14)!important}body.light .course-chip-wrap{background:rgba(255,255,255,.72);border-color:rgba(80,110,140,.12)}
@media(max-width:800px){.topbar{min-height:auto;border-radius:27px;padding:20px}.brand-logo-wrap{width:84px;height:74px;flex-basis:84px}.brand h1{font-size:29px!important}.modal-box{border-radius:27px!important}}
@media(max-width:520px){.brand-premium{gap:13px}.brand-logo-wrap{width:68px;height:62px;flex-basis:68px;padding:6px;border-radius:19px}.brand h1{font-size:23px!important}.brand-title{font-size:12px}.brand-eyebrow{letter-spacing:0}.course-chip-wrap{max-width:100%}.course-chip-wrap .course{white-space:normal}}


/* ===== V7 Premium personnel + certificate vault ===== */
body:not(.light){--text:#f7fbff!important;--muted:#b8cadb!important;--line:rgba(196,226,255,.16)!important}
body:not(.light) .detail{background:linear-gradient(145deg,rgba(19,42,66,.76),rgba(8,24,42,.66))!important;border:1px solid rgba(126,211,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.15)!important}
body:not(.light) .detail small{color:#9fdcff!important}body:not(.light) .detail b{color:#fff!important;text-shadow:0 1px 14px rgba(0,0,0,.16)}
body:not(.light) .section-title b{color:#f8fcff!important}body:not(.light) .section-title span{color:#a9c6da!important}
body:not(.light) .editor-box{background:linear-gradient(145deg,rgba(16,38,61,.72),rgba(8,23,40,.58))!important;border-color:rgba(124,210,255,.16)!important}
body:not(.light) .editor-input{color:#f7fbff!important;background:rgba(255,255,255,.07)!important;border-color:rgba(180,225,255,.15)!important}body:not(.light) .editor-input::placeholder{color:#91a9bc!important}
.detail{position:relative;overflow:hidden!important;transition:.22s ease!important}.detail:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.07),transparent 70%);transform:translateX(120%);transition:.45s;pointer-events:none}.detail:hover:after{transform:translateX(-120%)}
.course-record{cursor:pointer!important;grid-template-columns:46px minmax(0,1fr) auto!important;position:relative!important;overflow:hidden!important}.course-record:hover{transform:translateY(-2px)!important;border-color:rgba(76,190,255,.28)!important}.course-record-main strong{font-size:19px!important}.course-cert{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid rgba(94,207,255,.19);background:rgba(63,180,255,.09);color:#9ee5ff;border-radius:14px;padding:8px 11px;font:800 14px 'B Nazanin','BNazanin',Tahoma,sans-serif;cursor:pointer;transition:.2s}.course-cert:hover{background:rgba(55,190,255,.16);transform:scale(1.02)}.course-cert.has{color:#baf7cd;background:rgba(48,209,88,.10);border-color:rgba(48,209,88,.2)}body.light .course-cert{color:#076c9c;background:rgba(14,138,203,.07);border-color:rgba(14,138,203,.13)}body.light .course-cert.has{color:#08763f;background:rgba(48,209,88,.08)}
.course-cert-hint{font-size:12px;color:#8faabd;margin-top:2px}.course-delete-mode .course-record{grid-template-columns:44px minmax(0,1fr) auto 40px!important}
.cert-viewer{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(2,10,20,.72);backdrop-filter:blur(24px) saturate(150%)}.cert-viewer.show{display:flex}.cert-panel{width:min(1050px,96vw);height:min(800px,92vh);display:flex;flex-direction:column;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,rgba(18,39,61,.96),rgba(7,19,34,.94));border:1px solid rgba(181,225,255,.19);box-shadow:0 35px 100px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.11)}body.light .cert-panel{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(232,245,252,.94));border-color:rgba(20,95,145,.13)}.cert-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid rgba(180,220,255,.12)}.cert-title b{display:block;font-size:21px;color:#f8fcff}.cert-title span{font-size:13px;color:#a9c6da}body.light .cert-title b{color:#12364e}body.light .cert-title span{color:#66849a}.cert-actions{display:flex;gap:8px;flex-wrap:wrap}.cert-action{border:1px solid rgba(120,205,255,.18);background:rgba(255,255,255,.07);color:#eaf8ff;border-radius:14px;padding:9px 13px;font:800 14px 'B Nazanin','BNazanin',Tahoma,sans-serif;cursor:pointer}body.light .cert-action{color:#17435e;background:rgba(255,255,255,.72)}.cert-action.primary{background:linear-gradient(145deg,#168cff,#086ad9);color:#fff}.cert-action.danger{color:#ffb4b4;background:rgba(255,69,58,.09);border-color:rgba(255,69,58,.16)}.cert-body{flex:1;min-height:0;padding:16px;display:flex;align-items:center;justify-content:center}.cert-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.28)}.cert-body iframe{width:100%;height:100%;border:0;border-radius:18px;background:#fff}.cert-empty{text-align:center;padding:35px}.cert-empty-icon{width:82px;height:82px;margin:0 auto 14px;border-radius:26px;display:grid;place-items:center;font-size:35px;background:linear-gradient(145deg,rgba(10,132,255,.18),rgba(100,210,255,.08));border:1px solid rgba(100,210,255,.18)}.cert-empty b{display:block;font-size:22px;color:#f7fbff}.cert-empty span{display:block;margin:6px auto 18px;max-width:440px;color:#9eb8ca;font-size:15px}body.light .cert-empty b{color:#153b54}body.light .cert-empty span{color:#66849a}
@media(max-width:620px){.course-record{grid-template-columns:40px minmax(0,1fr)!important}.course-cert{grid-column:2;justify-self:start;margin-top:5px}.course-delete-mode .course-record{grid-template-columns:40px minmax(0,1fr) 38px!important}.course-delete-mode .course-cert{grid-column:2}.cert-viewer{padding:8px}.cert-panel{height:95vh;border-radius:24px}.cert-head{align-items:flex-start;flex-direction:column}.cert-actions{width:100%}.cert-action{flex:1}.cert-body{padding:9px}}


/* V30 viewer/admin — default mode is strictly read-only */
body.viewer-mode .edit-btn,
body.viewer-mode .delete-btn,
body.viewer-mode .add-btn,
body.viewer-mode .editor-box,
body.viewer-mode .course-tools,
body.viewer-mode .course-remove,
body.viewer-mode #uploadPhotoBtn,
body.viewer-mode #removePhotoBtn,
body.viewer-mode #certUploadBtn,
body.viewer-mode #certDeleteBtn,
body.viewer-mode .admin-only,
body.viewer-mode [onclick*="edit"],
body.viewer-mode [onclick*="delete"],
body.viewer-mode [onclick*="upload"],
body.viewer-mode [onclick*="FileInput"],
body.viewer-mode .danger{display:none!important}.admin-mode-pill{position:fixed;left:18px;bottom:18px;z-index:9997;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:var(--shadow);font:inherit;cursor:pointer}.admin-lock{position:fixed;inset:0;z-index:10050;background:rgba(2,12,27,.48);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;padding:20px}.admin-lock.show{display:flex}.admin-card{width:min(390px,100%);padding:24px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:right}.admin-card input{width:100%;box-sizing:border-box;padding:13px;border-radius:14px;border:1px solid var(--line);background:var(--glass);color:inherit;font:inherit}.admin-actions{display:flex;gap:8px;margin-top:14px}.admin-actions button{flex:1;padding:11px;border-radius:13px;border:1px solid var(--line);font:inherit}.admin-login{background:#1479ff;color:#fff}.admin-error{min-height:20px;color:#e23d3d;margin-top:9px;font-size:13px}

.driver-license-box{margin-top:16px;padding:17px;border-radius:22px;background:linear-gradient(145deg,rgba(16,38,61,.72),rgba(8,23,40,.58));border:1px solid rgba(124,210,255,.16)}
body.light .driver-license-box{background:rgba(255,255,255,.66);border-color:rgba(90,120,150,.14)}
.driver-license-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.driver-license-head b{font-size:18px}
.driver-license-actions{display:flex;gap:8px;flex-wrap:wrap}
.driver-license-preview{margin-top:12px;min-height:78px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(126,211,255,.22);border-radius:18px;padding:12px;color:var(--muted)}
.driver-license-preview img{max-width:100%;max-height:420px;object-fit:contain;border-radius:14px}

#portalHome{position:fixed;inset:0;z-index:9000;overflow:auto;background:var(--bg);padding:32px 18px 70px}.portal-hidden{display:none!important}.portal-shell{width:min(1050px,100%);margin:auto}.portal-hero{text-align:center;padding:45px 10px 28px}.portal-hero h1{font-size:clamp(30px,5vw,48px);margin:0 0 8px;font-weight:900}.portal-hero p{margin:0;opacity:.68}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.portal-tile{min-height:220px;border:1px solid var(--line);border-radius:30px;background:var(--card);backdrop-filter:blur(24px);box-shadow:var(--shadow);padding:28px;text-align:right;cursor:pointer;transition:.25s;position:relative;overflow:hidden;color:inherit;font:inherit}.portal-tile:hover{transform:translateY(-5px)}.portal-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:rgba(32,145,255,.13);font-size:31px;margin-bottom:28px}.portal-tile h2{margin:0 0 8px;font-size:25px}.portal-tile p{margin:0;opacity:.68;line-height:1.9}.portal-arrow{position:absolute;left:24px;bottom:24px;font-size:26px}.portal-back{position:fixed;right:18px;bottom:18px;z-index:8999;border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:var(--glass);box-shadow:var(--shadow);color:inherit;font:inherit;cursor:pointer}#reportsPage{position:fixed;inset:0;z-index:9050;background:var(--bg);overflow:auto;padding:28px 18px;display:none}#reportsPage.show{display:block}.reports-shell{width:min(1280px,100%);margin:18px auto 70px}
.reports-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.reports-heading{text-align:right}.reports-heading h2{font-size:clamp(28px,4vw,40px);margin:0 0 7px}.reports-heading p{margin:0;opacity:.64}
.reports-back,.report-detail-back{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:10px 14px;background:var(--glass);color:inherit;font:inherit;font-weight:850;cursor:pointer;transition:.2s}
.reports-back:hover,.report-detail-back:hover{transform:translateY(-1px)}
.report-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}

.report-tile .report-tile-icon{transition:.28s cubic-bezier(.2,.8,.2,1)}
.report-tile:hover .report-tile-icon{
  transform:translateY(-4px) scale(1.08) rotate(-3deg);
  box-shadow:0 12px 28px rgba(20,121,255,.18);
}
.report-tile:hover .report-tile-icon svg{transform:scale(1.08)}
.report-tile-icon svg{transition:.28s cubic-bezier(.2,.8,.2,1)}
.report-tile:hover .report-tile-arrow{transform:translateX(-5px)}
.report-tile-arrow{transition:.25s ease}

.report-tile{position:relative;min-height:225px;border:1px solid var(--line);border-radius:28px;padding:25px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;cursor:pointer;color:inherit;text-align:right;font:inherit;transition:.25s}
.report-tile:hover{transform:translateY(-5px)}
.report-tile::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;left:-55px;bottom:-70px;background:radial-gradient(circle,rgba(38,151,255,.18),transparent 68%);pointer-events:none}
.report-tile-icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:rgba(32,145,255,.13);margin-bottom:25px}
.report-tile-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.report-tile h3{font-size:24px;margin:0 0 8px}.report-tile p{opacity:.64;line-height:1.9;margin:0;max-width:88%}
.report-tile-arrow{position:absolute;left:22px;bottom:20px;font-size:26px;opacity:.72}
.report-detail{display:none}.report-detail.show{display:block}
.report-detail-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px;flex-wrap:wrap}
.report-detail-title{display:flex;align-items:center;gap:13px}.report-detail-title .report-tile-icon{margin:0;width:54px;height:54px;border-radius:17px}.report-detail-title h3{margin:0 0 4px;font-size:25px}.report-detail-title p{margin:0;opacity:.6;font-size:13px}
.report-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.report-add-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 14px;background:linear-gradient(135deg,#0a84ff,#39a9ff);color:white;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(10,132,255,.18)}
.report-add-btn svg,.report-delete-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.report-yearbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin:12px 0 15px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--card)
}
.report-yearbar-title{display:flex;align-items:center;gap:8px;font-weight:900}
.report-yearbar-title svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.report-years{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.report-year-btn{
  min-width:72px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--glass);
  color:inherit;font:inherit;font-weight:900;cursor:pointer;transition:.2s
}
.report-year-btn:hover{transform:translateY(-1px)}
.report-year-btn.active{background:#1479ff;color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(20,121,255,.18)}

.report-year-tools{display:inline-flex;gap:5px;align-items:center}
.report-year-icon{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);
  background:var(--glass);color:inherit;cursor:pointer;transition:.2s
}
.report-year-icon:hover{transform:translateY(-1px)}
.report-year-icon.danger{color:#ff928b;border-color:rgba(255,75,75,.22);background:rgba(255,70,70,.08)}
.report-year-icon svg,.report-title-edit svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.report-subtab-wrap{display:inline-flex;align-items:center;gap:5px}
.report-title-edit{
  display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;border:1px solid var(--line);
  background:var(--glass);color:inherit;cursor:pointer
}
.report-empty-year{
  margin:16px 0;padding:46px 18px;text-align:center;border:1px dashed var(--line);border-radius:20px;background:var(--glass)
}
.report-empty-year .ico{font-size:40px;margin-bottom:8px}
.report-empty-year b{display:block;font-size:20px;margin-bottom:6px}
.report-empty-year p{margin:0 0 14px;opacity:.62}
.report-empty-year .report-add-btn{display:inline-flex}
body.light .report-year-icon,body.light .report-title-edit{
  background:#f7fbfe!important;color:#173d56!important;border-color:rgba(31,86,120,.14)!important
}

.report-year-add{
  width:38px;height:38px;border:1px solid rgba(20,121,255,.24);border-radius:12px;background:rgba(20,121,255,.10);
  color:inherit;font-size:22px;line-height:1;cursor:pointer
}
.report-year-empty{padding:52px 18px;text-align:center;border:1px dashed var(--line);border-radius:18px;background:var(--glass)}
.report-year-empty b{display:block;font-size:20px;margin-bottom:6px}.report-year-empty span{opacity:.62}
body.light .report-yearbar{background:rgba(255,255,255,.9)!important;color:#14364e!important}
body.light .report-year-btn{background:#f5fbff!important;color:#173d56!important;border-color:rgba(31,86,120,.14)!important}
body.light .report-year-btn.active{background:#1479ff!important;color:#fff!important}

.report-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.report-subtab{border:1px solid var(--line);background:var(--glass);color:inherit;border-radius:13px;padding:9px 13px;font:inherit;font-weight:850;cursor:pointer}.report-subtab.active{background:#1479ff;color:#fff;border-color:transparent}
.report-subpanel{display:none}.report-subpanel.active{display:block}
.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.report-kpi{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:18px;box-shadow:var(--shadow);text-align:right}.report-kpi small{display:block;opacity:.62;font-weight:750;margin-bottom:6px}.report-kpi b{font-size:27px}
.report-card{border:1px solid var(--line);background:var(--card);border-radius:24px;padding:16px;box-shadow:var(--shadow)}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.report-toolbar h3{margin:0;font-size:20px}
.report-search{min-width:min(330px,100%);border:1px solid var(--line);border-radius:13px;background:var(--glass);color:inherit;padding:10px 13px;font:inherit;outline:none}
.report-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px}.report-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1080px;text-align:center}.report-table th{position:sticky;top:0;z-index:2;background:rgba(14,34,61,.96);color:#fff;padding:12px 10px;font-size:13px;white-space:nowrap}.report-table td{padding:11px 9px;border-top:1px solid var(--line);font-size:13px;white-space:nowrap}.report-table tbody tr{transition:.18s}.report-table tbody tr:hover{background:rgba(32,145,255,.07)}.report-table .part-name{font-weight:850;text-align:right}
.report-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;border:1px solid var(--line)}.report-status.done{background:rgba(52,199,89,.10);color:#7de59a;border-color:rgba(52,199,89,.22)}.report-status.pending{background:rgba(255,159,10,.10);color:#ffc46b;border-color:rgba(255,159,10,.22)}



.parts-report-hero{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 16px;
  padding:16px 18px;border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(135deg,rgba(20,121,255,.09),rgba(87,56,190,.07)),var(--card);
  overflow:hidden;position:relative
}
.parts-report-hero::after{
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;left:-55px;bottom:-85px;
  background:radial-gradient(circle,rgba(20,121,255,.18),transparent 70%)
}
.parts-hero-main{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
.parts-hero-icon{
  width:58px;height:58px;display:grid;place-items:center;border-radius:18px;
  background:rgba(20,121,255,.13);color:inherit;border:1px solid rgba(20,121,255,.16)
}
.parts-hero-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.parts-hero-main b{display:block;font-size:19px;margin-bottom:4px}.parts-hero-main span{font-size:12px;opacity:.62}
.parts-hero-mini{display:flex;gap:8px;position:relative;z-index:1}
.parts-hero-chip{
  width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--glass)
}
.parts-hero-chip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.report-search-live-count{font-size:12px;font-weight:800;opacity:.58}
body.light .parts-report-hero{background:linear-gradient(135deg,rgba(20,121,255,.08),rgba(150,120,255,.05)),rgba(255,255,255,.92)!important;color:#14364e!important}
body.light .parts-hero-icon,body.light .parts-hero-chip{background:#f5fbff!important;border-color:rgba(31,86,120,.12)!important}

.report-print-btn{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:13px;padding:9px 12px;
  background:var(--glass);color:inherit;font:inherit;font-weight:850;cursor:pointer;transition:.18s
}
.report-print-btn:hover{transform:translateY(-1px)}
.report-print-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.report-drag-handle{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);
  background:var(--glass);color:inherit;cursor:grab;user-select:none;touch-action:none
}
.report-drag-handle:active{cursor:grabbing}
.report-drag-handle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.report-table tr.report-dragging{
  opacity:.45;transform:scale(.995);background:rgba(20,121,255,.10)!important
}
.report-table tr.report-drag-over td{
  box-shadow:inset 0 3px 0 #1479ff;
  background:rgba(20,121,255,.08)!important
}
.report-drag-ghost{
  position:fixed;z-index:20000;pointer-events:none;display:none;min-width:280px;max-width:520px;
  border:1px solid rgba(20,121,255,.35);border-radius:14px;padding:11px 14px;background:var(--card);
  box-shadow:0 18px 45px rgba(0,0,0,.24);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.report-drag-ghost.show{display:block}
body.light .report-print-btn,body.light .report-drag-handle{background:#f8fcff!important;color:#173d56!important;border-color:rgba(31,86,120,.14)!important}

@media print{
  body *{visibility:hidden!important}
  #reportDetails,#reportDetails *{visibility:visible!important}
  #reportDetails{position:absolute!important;inset:0!important;width:100%!important;background:#fff!important;color:#000!important}
  .report-detail-head,.report-yearbar,.report-subtabs,.report-kpis,.report-toolbar .report-actions,.report-note,.report-linked-note,.admin-only{display:none!important}
  
  .report-ai-card{
    visibility:visible!important;display:block!important;box-shadow:none!important;
    border:1px solid #999!important;background:#fff!important;color:#000!important;
    margin:0 0 12px!important;padding:12px!important
  }
  .report-ai-card *{visibility:visible!important;color:#000!important}
  .report-ai-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}
  .report-ai-stat,.report-ai-summary,.report-ai-mini{background:#fff!important;border:1px solid #bbb!important}
  .report-ai-list{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .report-ai-head{margin-bottom:8px!important}
  .report-ai-badge{display:none!important}

  .report-card{box-shadow:none!important;border:0!important;background:#fff!important;padding:0!important}
  .report-toolbar{display:block!important;margin:0 0 12px!important}
  .report-toolbar h3{color:#000!important;font-size:18px!important}
  .report-search{display:none!important}
  .report-table-wrap{overflow:visible!important;border:0!important}
  .report-table{min-width:0!important;width:100%!important;font-size:10px!important}
  .report-table th,.report-table td{
    color:#000!important;background:#fff!important;border:1px solid #999!important;
    padding:5px 4px!important;white-space:normal!important;font-size:10px!important
  }
  .report-status{color:#000!important;background:#fff!important;border:0!important;padding:0!important;min-width:0!important}
  @page{size:A4 landscape;margin:10mm}
}




.fuel-extra-hero{display:flex;align-items:center;gap:12px;margin:10px 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--glass)}
.fuel-extra-hero .ico{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(20,121,255,.11)}
.fuel-extra-hero .ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fuel-extra-hero b{display:block;font-size:18px;margin-bottom:3px}.fuel-extra-hero span{font-size:12px;opacity:.62}
.fuel-extra-ai{margin:14px 0 16px;border:1px solid rgba(70,180,255,.16);border-radius:22px;padding:16px;background:linear-gradient(135deg,rgba(20,110,200,.07),rgba(40,190,145,.04)),var(--card)}
.fuel-extra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.fuel-extra-stat{border:1px solid var(--line);border-radius:15px;background:var(--glass);padding:12px}
.fuel-extra-stat small{display:block;opacity:.6;margin-bottom:4px}.fuel-extra-stat b{font-size:15px;line-height:1.7}
.fuel-extra-summary{margin-top:10px;border:1px solid var(--line);border-radius:15px;background:var(--glass);padding:12px;line-height:2}.fuel-extra-summary b{display:block;margin-bottom:3px}
@media(max-width:850px){.fuel-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.fuel-extra-hero{display:none!important}.fuel-extra-ai{visibility:visible!important;display:block!important;background:#fff!important;color:#000!important;border:1px solid #999!important}.fuel-extra-ai *{visibility:visible!important;color:#000!important}}

.fuel-report-hero{display:flex;align-items:center;gap:14px;margin:8px 0 16px;padding:16px 18px;border:1px solid rgba(70,190,255,.18);border-radius:20px;background:linear-gradient(135deg,rgba(20,130,255,.08),rgba(20,210,160,.05)),var(--card)}
.fuel-hero-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(20,145,255,.11);border:1px solid rgba(60,175,255,.15)}
.fuel-hero-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fuel-monthbar{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.fuel-month-btn{border:1px solid var(--line);background:var(--glass);color:inherit;border-radius:12px;padding:8px 11px;font:inherit;font-weight:850;cursor:pointer}.fuel-month-btn.active{background:#1479ff;color:#fff;border-color:transparent}
.fuel-ai-card{margin:15px 0 18px;border:1px solid rgba(60,180,255,.18);border-radius:24px;padding:18px;background:linear-gradient(135deg,rgba(20,110,200,.08),rgba(30,180,130,.05)),var(--card);box-shadow:var(--shadow)}
.fuel-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fuel-ai-stat{border:1px solid var(--line);background:var(--glass);border-radius:17px;padding:14px}.fuel-ai-stat small{display:block;opacity:.6;margin-bottom:5px}.fuel-ai-stat b{font-size:16px;line-height:1.7}
.fuel-ai-summary{margin-top:12px;border:1px solid var(--line);border-radius:17px;background:var(--glass);padding:14px;line-height:2}.fuel-ai-summary b{display:block}
.fuel-balance{font-weight:900}.fuel-balance.low{color:#ff9f43}.fuel-balance.negative{color:#ff6b6b}
@media(max-width:850px){.fuel-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.fuel-report-hero,.fuel-monthbar{display:none!important}.fuel-ai-card{visibility:visible!important;display:block!important;background:#fff!important;color:#000!important;border:1px solid #999!important;box-shadow:none!important}.fuel-ai-card *{visibility:visible!important;color:#000!important}}

.damage-report-hero{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 16px;
  padding:16px 18px;border:1px solid rgba(255,120,90,.18);border-radius:20px;
  background:linear-gradient(135deg,rgba(255,100,70,.08),rgba(255,180,50,.05)),var(--card);
  position:relative;overflow:hidden
}
.damage-report-hero::after{
  content:"";position:absolute;width:170px;height:170px;border-radius:50%;left:-55px;bottom:-85px;
  background:radial-gradient(circle,rgba(255,120,70,.15),transparent 70%)
}
.damage-hero-main{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
.damage-hero-icon{
  width:58px;height:58px;display:grid;place-items:center;border-radius:18px;
  background:rgba(255,115,75,.11);border:1px solid rgba(255,120,90,.16)
}
.damage-hero-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.damage-hero-main b{display:block;font-size:19px;margin-bottom:4px}.damage-hero-main span{font-size:12px;opacity:.64}
.damage-ai-card{
  margin:16px 0 18px;border:1px solid rgba(255,145,85,.18);border-radius:24px;
  padding:18px;background:linear-gradient(135deg,rgba(180,65,30,.08),rgba(255,160,45,.05)),var(--card);
  box-shadow:var(--shadow)
}
.damage-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.damage-ai-stat{border:1px solid var(--line);background:var(--glass);border-radius:17px;padding:14px}
.damage-ai-stat small{display:block;opacity:.6;margin-bottom:5px}.damage-ai-stat b{display:block;font-size:16px;line-height:1.7}
.damage-ai-summary{margin-top:12px;border:1px solid var(--line);border-radius:17px;background:var(--glass);padding:14px;line-height:2}
.damage-ai-summary b{display:block;margin-bottom:4px}
.damage-money{font-weight:900;direction:ltr;display:inline-block}
.damage-report-row.report-dragging{opacity:.45}
body.light .damage-report-hero,body.light .damage-ai-card{background:#fff!important;color:#14364e!important}
@media(max-width:850px){.damage-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  .damage-ai-card{visibility:visible!important;display:block!important;box-shadow:none!important;border:1px solid #999!important;background:#fff!important;color:#000!important;margin:0 0 12px!important}
  .damage-ai-card *{visibility:visible!important;color:#000!important}
  .damage-report-hero{display:none!important}
}

.report-row-actions{display:flex;align-items:center;justify-content:center;gap:5px}
.report-row-btn{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);
  background:var(--glass);color:inherit;cursor:pointer;transition:.18s
}
.report-row-btn:hover{transform:translateY(-1px);background:rgba(20,121,255,.12)}
.report-row-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.report-row-btn.edit{color:#63b9ff;border-color:rgba(70,160,255,.24)}
.report-row-btn.move{color:#9bc9e8}
.report-sort-btn{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:13px;padding:9px 12px;
  background:var(--glass);color:inherit;font:inherit;font-weight:850;cursor:pointer
}
.report-sort-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.light .report-row-btn,body.light .report-sort-btn{background:#f8fcff!important;color:#173d56!important;border-color:rgba(31,86,120,.14)!important}
.report-linked-note{
  margin:10px 0 0;padding:10px 12px;border-radius:13px;background:rgba(52,199,89,.08);
  border:1px solid rgba(52,199,89,.18);font-size:12px;font-weight:800
}
body.light .report-linked-note{color:#176b43!important;background:rgba(52,199,89,.09)!important}

.report-delete-btn{width:35px;height:35px;display:inline-grid;place-items:center;border-radius:11px;border:1px solid rgba(255,82,82,.22);background:rgba(255,59,48,.10);color:#ff9d98;cursor:pointer}
.report-delete-btn:hover{background:rgba(255,59,48,.18)}
.report-summary-table{min-width:980px}.report-total-row td{font-weight:900;background:rgba(20,121,255,.08)}
.report-note{margin-top:10px;font-size:12px;opacity:.55;text-align:right}
.report-empty-state{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:20px;background:var(--glass)}.report-empty-state .ico{font-size:42px;margin-bottom:10px}.report-empty-state b{display:block;font-size:20px;margin-bottom:6px}.report-empty-state span{opacity:.6}
.report-form-modal{position:fixed;inset:0;z-index:13000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,12,27,.58);backdrop-filter:blur(10px)}.report-form-modal.show{display:flex}.report-form-card{width:min(720px,96vw);max-height:88vh;overflow:auto;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:26px;padding:22px}.report-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.report-form-head h3{margin:0}.report-form-close{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--glass);color:inherit;font:inherit;font-size:22px;cursor:pointer}.report-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.report-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;opacity:.9}.report-form-grid input,.report-form-grid select{border:1px solid var(--line);border-radius:13px;background:var(--glass);color:inherit;padding:11px 12px;font:inherit;outline:none}.report-form-actions{display:flex;gap:9px;margin-top:16px}.report-form-actions button{flex:1;border:1px solid var(--line);border-radius:13px;padding:11px 13px;background:var(--glass);color:inherit;font:inherit;font-weight:850;cursor:pointer}.report-form-actions .primary{background:#1479ff;color:#fff;border-color:transparent}

.report-ai-card{
  margin:16px 0 18px;border:1px solid rgba(93,180,255,.22);border-radius:24px;
  padding:18px;background:linear-gradient(135deg,rgba(15,96,180,.10),rgba(76,35,150,.08)),var(--card);
  box-shadow:var(--shadow)
}
.report-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:13px}
.report-ai-title{display:flex;align-items:center;gap:11px}.report-ai-title .ico{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(20,121,255,.13)}
.report-ai-title svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.report-ai-title h4{margin:0 0 3px;font-size:20px}.report-ai-title p{margin:0;opacity:.6;font-size:12px}
.report-ai-badge{border:1px solid rgba(20,121,255,.24);background:rgba(20,121,255,.09);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:850}
.report-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.report-ai-stat{border:1px solid var(--line);background:var(--glass);border-radius:17px;padding:14px}
.report-ai-stat small{display:block;opacity:.58;margin-bottom:5px}.report-ai-stat b{display:block;font-size:16px;line-height:1.7}
.report-ai-summary{margin-top:12px;border:1px solid var(--line);border-radius:17px;background:var(--glass);padding:14px;line-height:2}
.report-ai-summary b{display:block;margin-bottom:4px}.report-ai-summary span{opacity:.8}
.report-ai-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.report-ai-mini{border:1px solid var(--line);background:var(--glass);border-radius:16px;padding:13px}
.report-ai-mini strong{display:block;margin-bottom:7px}.report-ai-mini ol{margin:0;padding-right:20px;line-height:1.9}

.report-theme-btn{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:14px;
  padding:10px 14px;background:var(--glass);color:inherit;font:inherit;font-weight:850;cursor:pointer;transition:.2s
}
.report-theme-btn:hover{transform:translateY(-1px)}
body.light .report-theme-btn{background:rgba(255,255,255,.86)!important;color:#14364e!important;border-color:rgba(31,86,120,.15)!important}

body.light .reports-heading h2,
body.light .report-detail-title h3,
body.light .report-toolbar h3,
body.light .report-ai-title h4{color:#0f3048!important}
body.light .reports-heading p,
body.light .report-detail-title p,
body.light .report-note{color:#526f83!important;opacity:1!important}
body.light .report-tile{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(235,247,252,.88))!important;color:#14364e!important;border-color:rgba(31,86,120,.12)!important}
body.light .report-tile h3{color:#11364e!important}
body.light .report-tile p{color:#4f6f84!important;opacity:1!important}
body.light .report-tile-icon{background:rgba(10,132,255,.10)!important;color:#0b6fae!important}
body.light .report-detail-back,
body.light .reports-back,
body.light .report-subtab{background:rgba(255,255,255,.86)!important;color:#14364e!important;border-color:rgba(31,86,120,.14)!important}
body.light .report-subtab.active{background:#1479ff!important;color:#fff!important}
body.light .report-card,
body.light .report-kpi,
body.light .report-ai-card,
body.light .report-ai-stat,
body.light .report-ai-summary,
body.light .report-ai-mini{background:rgba(255,255,255,.90)!important;color:#14364e!important;border-color:rgba(31,86,120,.12)!important}
body.light .report-kpi small,
body.light .report-ai-stat small{color:#58778b!important;opacity:1!important}
body.light .report-kpi b,
body.light .report-ai-stat b{color:#10354e!important}

body.light .report-ai-card{
  background:linear-gradient(135deg,rgba(20,121,255,.05),rgba(120,80,210,.04)),#ffffff!important
}
body.light .report-ai-title h4,
body.light .report-ai-mini strong{color:#11344c!important}
body:not(.light) .report-ai-card{
  background:linear-gradient(135deg,rgba(30,95,150,.14),rgba(70,50,120,.09)),rgba(9,24,40,.80)!important;
  border-color:rgba(140,195,230,.14)!important
}
body:not(.light) .report-ai-stat,
body:not(.light) .report-ai-summary,
body:not(.light) .report-ai-mini{
  background:rgba(18,38,58,.72)!important;border-color:rgba(150,205,235,.10)!important
}
body:not(.light) .report-ai-title h4,
body:not(.light) .report-ai-mini strong,
body:not(.light) .report-ai-stat b{color:#e8f5fc!important}
body:not(.light) .report-ai-summary span,
body:not(.light) .report-ai-mini li{color:#c8deeb!important;opacity:1!important}

body.light .report-ai-summary span,
body.light .report-ai-mini li{color:#355b72!important;opacity:1!important}
body.light .report-table th{background:#dfeaf2!important;color:#12364e!important;font-weight:900!important}
body.light .report-table td{color:#183c54!important;background:rgba(255,255,255,.74)!important}
body.light .report-table tbody tr:hover td{background:#edf7fc!important}
body.light .report-search{background:#fff!important;color:#14364e!important;border-color:rgba(31,86,120,.14)!important}
body.light .report-search::placeholder{color:#738da0!important}
body.light .report-status.done{
  color:#0b6f3d!important;background:rgba(32,170,90,.12)!important;border-color:rgba(32,170,90,.24)!important;
  font-size:13px!important;font-weight:900!important
}
body.light .report-status.pending{
  color:#8a5700!important;background:rgba(245,166,35,.16)!important;border-color:rgba(199,128,15,.24)!important;
  font-size:13px!important;font-weight:900!important
}
.report-status{min-width:78px;justify-content:center}

.report-summary-table{font-family:"B Nazanin","BNazanin","Nazanin","Tahoma",sans-serif}
.report-summary-table td,.report-summary-table th{letter-spacing:0!important;line-height:1.9!important}
body.light .report-summary-table,
body.light .report-summary-table td,
body.light .report-summary-table th{
  font-family:"B Nazanin","BNazanin","Nazanin","Tahoma",sans-serif!important
}
body.light .report-summary-table td{
  color:#0d2f47!important;background:#fbfdff!important;font-size:17px!important;font-weight:700!important
}
body.light .report-summary-table th{
  color:#0d2d45!important;background:#dceaf4!important;font-size:16px!important;font-weight:800!important
}
body.light .report-summary-table tbody td:nth-child(n+4),
body.light .report-summary-table tfoot td:nth-child(n+4){
  font-size:20px!important;font-weight:900!important
}
body:not(.light) .report-summary-table td{
  color:#d8e9f4!important;background:rgba(10,25,42,.68)!important;
  border-color:rgba(160,205,235,.10)!important;font-size:16px!important
}
body:not(.light) .report-summary-table th{
  color:#eff8ff!important;background:#19334b!important;
  border-color:rgba(160,205,235,.12)!important;font-size:15px!important
}
body:not(.light) .report-summary-table tbody tr:hover td{background:rgba(31,95,135,.22)!important}
body:not(.light) .report-summary-table tbody td:nth-child(n+4),
body:not(.light) .report-summary-table tfoot td:nth-child(n+4){
  color:#f3fbff!important;font-size:19px!important;font-weight:900!important
}
body:not(.light) .report-total-row td{
  background:rgba(40,110,155,.20)!important;color:#f6fbff!important
}

.report-summary-table td{font-size:15px!important;font-weight:800!important}
.report-summary-table th{font-size:14px!important}
.report-summary-table tbody td:nth-child(n+4),
.report-summary-table tfoot td:nth-child(n+4){font-size:18px!important;font-weight:900!important}
.report-total-row td{font-size:18px!important}
body.light .report-total-row td{background:#e7f3fa!important;color:#0f3550!important}

@media(max-width:850px){.report-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-ai-list{grid-template-columns:1fr}}

@media(max-width:850px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-top{align-items:flex-start;flex-direction:column}.report-tiles{grid-template-columns:1fr}}
@media(max-width:620px){.report-form-grid{grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr 1fr}.report-tile{min-height:200px}.report-kpi{padding:14px}.report-kpi b{font-size:23px}}
@media(max-width:700px){.portal-grid{grid-template-columns:1fr}.portal-tile{min-height:190px}}
/* V24 — Ultra portal */
#portalHome{
  background:
    radial-gradient(circle at 12% 12%,rgba(0,153,255,.18),transparent 32%),
    radial-gradient(circle at 88% 82%,rgba(69,97,255,.16),transparent 34%),
    var(--bg);
  transition:opacity .55s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .55s ease;
}
#portalHome.portal-leaving{opacity:0;transform:scale(1.035);filter:blur(14px);pointer-events:none}
.portal-shell{perspective:1200px}
.portal-hero{position:relative}
.portal-brand{display:inline-flex;align-items:center;gap:13px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(24px);box-shadow:0 12px 50px rgba(0,0,0,.08);margin-bottom:24px}
.portal-brand-mark{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(0,174,255,.22),rgba(76,93,255,.13));box-shadow:inset 0 1px rgba(255,255,255,.45)}
.portal-brand-name{font-weight:900;font-size:16px}
.portal-hero h1{letter-spacing:-1px;background:linear-gradient(120deg,currentColor 15%,#178cff 60%,currentColor 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:portalShine 6s linear infinite}
@keyframes portalShine{to{background-position:200% center}}
.portal-theme{position:absolute;top:8px;left:8px;width:48px;height:48px;border-radius:17px;border:1px solid var(--line);background:var(--glass);color:inherit;font-size:21px;cursor:pointer;backdrop-filter:blur(20px);box-shadow:var(--shadow);transition:.35s}
.portal-theme:hover{transform:rotate(14deg) scale(1.08)}
.portal-grid{gap:24px}
.portal-tile{
  isolation:isolate;transform-style:preserve-3d;
  background:linear-gradient(145deg,var(--card),rgba(255,255,255,.035));
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s;
}
.portal-tile:before{content:"";position:absolute;inset:-2px;z-index:-2;border-radius:31px;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(33,150,255,.28),transparent 45%);opacity:0;transition:.35s}
.portal-tile:after{content:"";position:absolute;inset:1px;z-index:-1;border-radius:29px;background:var(--card);opacity:.94}
.portal-tile:hover{transform:translateY(-9px) rotateX(2deg) rotateY(-2deg);box-shadow:0 30px 70px rgba(0,91,190,.17);border-color:rgba(46,151,255,.38)}
.portal-tile:hover:before{opacity:1}
.portal-icon{position:relative;transition:.5s cubic-bezier(.2,.8,.2,1);box-shadow:inset 0 1px rgba(255,255,255,.45),0 12px 35px rgba(24,130,255,.12)}
.portal-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-tile:hover .portal-icon{transform:translateY(-5px) scale(1.12) rotate(-4deg);box-shadow:0 18px 42px rgba(24,130,255,.28)}
.portal-tile:hover .portal-arrow{transform:translateX(-7px)}
.portal-arrow{transition:.35s}
.portal-orb{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.55;animation:floatOrb 10s ease-in-out infinite}
.portal-orb.o1{width:180px;height:180px;right:-70px;top:12%;background:rgba(0,153,255,.11)}
.portal-orb.o2{width:240px;height:240px;left:-100px;bottom:5%;background:rgba(91,76,255,.09);animation-delay:-4s}
@keyframes floatOrb{50%{transform:translateY(-25px) translateX(15px) scale(1.08)}}
.portal-enter{animation:portalPageIn .65s cubic-bezier(.2,.8,.2,1)}
@keyframes portalPageIn{from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(9px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:700px){.portal-theme{position:relative;top:auto;left:auto;margin-top:20px}.portal-brand{margin-bottom:16px}}

/* V27 — V24+, same structure with richer motion */
.portal-hero:before{
 content:"";position:absolute;width:360px;height:180px;left:50%;top:48%;
 transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(31,145,255,.16),transparent 68%);
 filter:blur(18px);pointer-events:none;animation:v27pulse 5s ease-in-out infinite
}
@keyframes v27pulse{50%{transform:translate(-50%,-50%) scale(1.16);opacity:.7}}
.portal-brand{position:relative;overflow:hidden}
.portal-brand:after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%);transform:translateX(-70%);animation:v27glass 6s ease-in-out infinite}
@keyframes v27glass{50%,100%{transform:translateX(70%)}}
.portal-tile{will-change:transform}
.portal-tile .portal-icon{backdrop-filter:blur(14px)}
.portal-tile:hover h2{transform:translateX(-3px)}
.portal-tile h2{transition:transform .3s ease}
.portal-tile:hover .portal-arrow{opacity:1;filter:drop-shadow(0 0 8px rgba(28,145,255,.5))}
.portal-theme{z-index:5}
.portal-theme:active{transform:scale(.9)}
.portal-grid{animation:v27cards .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes v27cards{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.portal-tile:nth-child(2){animation-delay:.08s}
/* V28 */.portal-hero h1{font-family:"B Titr","BTitr","B Titr Bold",Tahoma,sans-serif!important;font-weight:700!important}body.viewer-mode .edit-btn,body.viewer-mode .delete-btn,body.viewer-mode .add-btn,body.viewer-mode [onclick*="edit"],body.viewer-mode [onclick*="delete"],body.viewer-mode [onclick*="upload"],body.viewer-mode [onclick*="FileInput"],body.viewer-mode #certDeleteBtn,body.viewer-mode .danger{display:none!important}
.compliance-hero{display:flex;align-items:center;gap:13px;margin:10px 0 16px;padding:16px 18px;border:1px solid rgba(80,170,255,.18);border-radius:20px;background:linear-gradient(135deg,rgba(25,115,210,.08),rgba(70,180,150,.05)),var(--card)}
.compliance-hero-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(20,121,255,.11);border:1px solid rgba(20,121,255,.15)}
.compliance-hero-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.compliance-hero b{display:block;font-size:19px;margin-bottom:4px}.compliance-hero span{font-size:12px;opacity:.64}
.compliance-ai-card{margin:14px 0 18px;padding:18px;border:1px solid rgba(70,170,255,.17);border-radius:24px;background:linear-gradient(135deg,rgba(20,110,200,.07),rgba(35,180,140,.04)),var(--card);box-shadow:var(--shadow)}
.compliance-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.compliance-ai-stat{border:1px solid var(--line);background:var(--glass);border-radius:17px;padding:14px}
.compliance-ai-stat small{display:block;opacity:.6;margin-bottom:5px}.compliance-ai-stat b{font-size:18px}
.compliance-ai-summary{margin-top:11px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--glass);line-height:2}
.report-status.danger-status{color:#ff9c96;background:rgba(255,70,70,.11);border-color:rgba(255,70,70,.22)}
body.light .report-status.danger-status{color:#9e231e!important;background:rgba(220,55,45,.10)!important}
.compliance-table{min-width:1850px}
@media(max-width:850px){.compliance-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


.eq-doc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--glass);color:inherit;border-radius:11px;padding:7px 10px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap}
.eq-doc-btn:hover{transform:translateY(-1px);background:rgba(20,121,255,.10)}.eq-doc-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.equipment-docs-modal{position:fixed;inset:0;z-index:18000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,10,20,.72);backdrop-filter:blur(6px)}.equipment-docs-modal.show{display:flex}
.equipment-docs-panel{width:min(780px,96vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 30px 80px rgba(0,0,0,.35);padding:20px}
.equipment-docs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.equipment-docs-head h3{margin:0;font-size:20px}.equipment-docs-head p{margin:4px 0 0;font-size:12px;opacity:.62}
.eq-doc-close{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--glass);color:inherit;font-size:22px;cursor:pointer}
.eq-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 16px}.eq-info-cell{border:1px solid var(--line);background:var(--glass);border-radius:14px;padding:10px}.eq-info-cell small{display:block;opacity:.58;margin-bottom:3px}.eq-info-cell b{font-size:13px;overflow-wrap:anywhere}
.eq-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eq-doc-card{border:1px solid var(--line);border-radius:18px;background:var(--glass);padding:15px}
.eq-doc-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.eq-doc-card-head b{font-size:16px}
.eq-doc-status{font-size:11px;font-weight:900;border-radius:999px;padding:5px 9px;background:rgba(120,130,140,.12)}.eq-doc-status.exists{background:rgba(52,199,89,.12);color:#4fd087}.eq-doc-status.missing{background:rgba(255,159,67,.12);color:#ffb15f}
.eq-doc-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.eq-doc-actions button,.eq-doc-actions label{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:var(--card);color:inherit;font:inherit;font-size:12px;font-weight:850;padding:8px 10px;cursor:pointer}.eq-doc-actions .danger{color:#ff7676}.eq-doc-file{display:none}
body.light .equipment-docs-panel{background:#fff;color:#15384f}body.light .eq-doc-card,body.light .eq-info-cell{background:#f7fbfe}
@media(max-width:700px){.eq-doc-grid{grid-template-columns:1fr}.eq-info-grid{grid-template-columns:1fr 1fr}}@media print{.equipment-docs-modal{display:none!important}.eq-doc-btn{display:none!important}}


/* V66 — Equipment document viewer uses the same premium vault look as personnel certificates */
.eq-cert-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:12px;opacity:.68}
.eq-cert-meta span{display:inline-flex;align-items:center;gap:5px}
.eq-cert-preview{display:flex;align-items:center;justify-content:center;min-height:320px}
.eq-cert-preview img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.20)}
.eq-cert-preview iframe{width:100%;height:72vh;border:0;border-radius:18px;background:#fff}
.eq-viewer-tag{font-size:11px;font-weight:900;border:1px solid rgba(95,190,255,.18);background:rgba(40,160,255,.08);padding:5px 9px;border-radius:999px}


/* V68 — equipment document viewer + compact equipment table */
#equipmentDocViewer{z-index:18150!important}
#equipmentDocViewer .cert-panel{height:min(800px,92vh)}
#equipmentDocViewer .cert-body{overflow:auto}

/* Compact only the "کل تجهیزات و ماشین‌آلات" report */
.equipment-inventory-card{padding:10px!important;border-radius:18px!important}
.equipment-inventory-card .report-toolbar{margin-bottom:7px!important;gap:8px!important}
.equipment-inventory-card .report-toolbar h3{font-size:17px!important}
.equipment-inventory-card .report-search{padding:7px 10px!important;min-width:min(300px,100%)!important}
.equipment-inventory-wrap{max-height:62vh!important;overflow:auto!important;border-radius:13px!important}
.equipment-inventory-table{min-width:900px!important}
.equipment-inventory-table th{padding:7px 7px!important;font-size:11.5px!important;line-height:1.25!important}
.equipment-inventory-table td{padding:5px 7px!important;font-size:11.5px!important;line-height:1.25!important}
.equipment-inventory-table .eq-doc-btn{padding:5px 7px!important;font-size:11px!important;border-radius:9px!important}
.equipment-inventory-table .report-row-btn,
.equipment-inventory-table .report-delete-btn{width:28px!important;height:28px!important;min-width:28px!important;padding:3px!important}
.equipment-inventory-hero{margin:6px 0 8px!important;padding:9px 12px!important;border-radius:15px!important}
.equipment-inventory-hero .compliance-hero-icon{width:42px!important;height:42px!important;border-radius:13px!important}
.equipment-inventory-hero .compliance-hero-icon svg{width:23px!important;height:23px!important}
.equipment-inventory-hero b{font-size:16px!important;margin-bottom:2px!important}
.equipment-inventory-hero span{font-size:11px!important}
.equipment-inventory-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:7px 0 9px!important}
.equipment-inventory-kpis .report-kpi{padding:9px 11px!important;border-radius:14px!important}
.equipment-inventory-kpis .report-kpi small{margin-bottom:2px!important;font-size:11px!important}
.equipment-inventory-kpis .report-kpi b{font-size:18px!important}
@media(max-width:700px){
  .equipment-inventory-wrap{max-height:66vh!important}
  .equipment-inventory-table th,.equipment-inventory-table td{padding:5px 6px!important;font-size:11px!important}
}


/* V69 — B Nazanin typography and denser equipment/compliance tables */
.equipment-inventory-card,
.equipment-inventory-card *,
.equipment-inventory-hero,
.equipment-inventory-hero *,
.equipment-inventory-kpis,
.equipment-inventory-kpis *{
  font-family:"B Nazanin","Nazanin","Tahoma",sans-serif!important;
}
.equipment-inventory-hero b{
  font-size:21px!important;
  line-height:1.45!important;
}
.equipment-inventory-hero span{
  font-size:14px!important;
  line-height:1.55!important;
}
.equipment-inventory-card .report-toolbar h3{
  font-size:20px!important;
}
.equipment-inventory-card .report-search{
  font-size:15px!important;
}
.equipment-inventory-table th{
  font-size:14px!important;
  padding:6px 7px!important;
  line-height:1.35!important;
}
.equipment-inventory-table td{
  font-size:14px!important;
  padding:5px 7px!important;
  line-height:1.4!important;
}
.equipment-inventory-table .eq-doc-btn{
  font-size:13px!important;
  padding:5px 8px!important;
}
.equipment-inventory-kpis .report-kpi small{
  font-size:13px!important;
}
.equipment-inventory-kpis .report-kpi b{
  font-size:20px!important;
}

/* مجوزها و گواهی تجهیزات — فشرده‌تر، ولی خوانا */
.compliance-table,
.compliance-table *{
  font-family:"B Nazanin","Nazanin","Tahoma",sans-serif!important;
}
.compliance-table th{
  padding:7px 7px!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.compliance-table td{
  padding:6px 7px!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.compliance-table .report-row-btn,
.compliance-table .report-delete-btn{
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  padding:3px!important;
}
.compliance-table .eq-doc-btn{
  font-size:13px!important;
  padding:5px 8px!important;
}
.compliance-table-wrap,
.report-table-wrap:has(.compliance-table){
  max-height:66vh;
}
@media(max-width:700px){
  .equipment-inventory-table th,
  .equipment-inventory-table td,
  .compliance-table th,
  .compliance-table td{
    font-size:13px!important;
    padding:5px 6px!important;
  }
  .equipment-inventory-hero b{font-size:19px!important}
  .equipment-inventory-hero span{font-size:13px!important}
}

