
:root{--primary:#1f5b4f;--primary2:#2f7d6d;--accent:#b68a25;--bg:#f4f7f6;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#d9e2df;--danger:#b42318;--success:#137333;--warning:#9a6700;--nav:#17324d}*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);direction:rtl}a{text-decoration:none;color:inherit}.container{width:min(1180px,94%);margin:auto}.topbar{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:13px 0}.brand{display:flex;align-items:center;gap:14px}.brand-logo{height:62px;max-width:220px;background:#fff;border-radius:12px;padding:6px}.brand h1{font-size:22px;margin:0}.brand p{margin:4px 0 0;opacity:.9;font-size:13px}.page{padding:24px 0 44px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 5px 18px rgba(30,70,60,.06)}.card h2{margin:0 0 15px;color:var(--primary);font-size:20px}.notice{background:#fff8e6;border:1px solid #f1d58c;border-radius:12px;padding:13px 15px;margin-bottom:16px;color:#6d5211}.ok{background:#e9f7ed;border-color:#a8d8b2;color:#126329}.bad{background:#fdeceb;border-color:#efb7b4;color:#8b1f18}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px}label{font-weight:700;font-size:14px}input,textarea,select{width:100%;border:1px solid #cbd5d1;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}textarea{min-height:100px;resize:vertical}.btn{border:0;border-radius:10px;padding:10px 17px;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:#e8efed;color:var(--primary)}.btn-danger{background:#fde8e7;color:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap}.small{font-size:13px;color:var(--muted)}.footer{text-align:center;color:var(--muted);font-size:13px;padding:14px 0 30px}.sidebar-layout{display:grid;grid-template-columns:250px 1fr;gap:18px}.sidebar{background:#fff;border:1px solid var(--border);border-radius:15px;padding:12px;height:max-content}.navlink{display:block;padding:11px 12px;border-radius:10px;margin:4px 0}.navlink:hover{background:#eaf2f0;color:var(--primary)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px}.stat .num{font-size:28px;font-weight:800;color:var(--primary)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:880px}th,td{padding:11px 9px;border-bottom:1px solid #e5ebe9;text-align:right;font-size:13px}th{background:#edf4f2;color:var(--primary)}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.green{background:#e5f4e8;color:var(--success)}.yellow{background:#fff3cd;color:var(--warning)}.red{background:#fde8e7;color:var(--danger)}.rating-card{border:1px solid #e1d6bd;background:#fffdf9;border-radius:13px;padding:15px;margin-bottom:14px}.rating-title{font-weight:800;margin-bottom:9px}.rating-scale{display:flex;gap:8px;flex-wrap:wrap}.rating-scale input{display:none}.rating-scale span{display:flex;width:40px;height:35px;align-items:center;justify-content:center;border:1px solid #d7cbb3;border-radius:9px;background:#fff;font-weight:700;cursor:pointer}.rating-scale input:checked+span{background:var(--nav);color:#fff}.scorebar{display:flex;align-items:center;gap:12px}.scorebar-track{height:8px;background:#eee3c9;border-radius:99px;flex:1;overflow:hidden}.scorebar-fill{height:100%;width:0;background:var(--accent)}.preview-row{padding:12px 0;border-bottom:1px dashed #d8e1de}.preview-label{font-weight:700;color:var(--primary);margin-bottom:5px}@media(max-width:850px){.grid,.stats{grid-template-columns:1fr}.sidebar-layout{grid-template-columns:1fr}}@media print{.topbar,.sidebar,.actions,.footer{display:none!important}.sidebar-layout{display:block}}

.container{width:min(1450px,96%)}
.login-shell{min-height:calc(100vh - 90px);display:grid;place-items:center;padding:30px 0}.login-card{width:min(980px,95%);display:grid;grid-template-columns:1.1fr .9fr;padding:0;overflow:hidden}.login-side{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center}.login-form{padding:44px}.help{font-size:12px;color:var(--muted);margin-top:5px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:15px}.toolbar .field{min-width:200px}.btn-sm{padding:7px 10px;font-size:12px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail{border:1px solid var(--border);border-radius:11px;padding:12px;background:#fbfdfc}.detail b{display:block;color:var(--primary);margin-bottom:5px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;align-items:center;justify-content:center;padding:18px}.modal.open{display:flex}.modal-box{background:#fff;border-radius:16px;width:min(1050px,97%);max-height:92vh;overflow:auto;padding:24px}.copy-row{display:flex;gap:8px}.copy-row input{flex:1}.qr-area{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.qr-area img{width:175px;height:175px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff}.theme-list{display:flex;gap:12px;flex-wrap:wrap}.theme{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer}.theme-dot{width:28px;height:28px;border-radius:50%}.sort{font-weight:700;color:var(--primary)}
@media(max-width:900px){.login-card{grid-template-columns:1fr}.login-side{display:none}.details-grid{grid-template-columns:1fr}.container{width:94%}}
@media print{.topbar,.sidebar,.actions,.footer,.no-print{display:none!important}.sidebar-layout{display:block}.page{padding:0}.card{box-shadow:none}}

/* ===== V3: Login, footer, logo, modals and dark mode ===== */
html,body{min-height:100%}
body{display:flex;flex-direction:column}
main{flex:1}
.brand{position:relative}
.brand-logo{height:72px;max-width:245px;width:auto;object-fit:contain;background:#fff;border-radius:10px;padding:7px}
.brand-copy{flex:1}
.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);color:#fff;font-size:22px;cursor:pointer}
.footer{margin-top:auto;background:#edf3f1;border-top:1px solid var(--border);padding:13px 12px 16px;line-height:1.8;position:relative;z-index:2}
.login-shell{min-height:auto;flex:1;padding:34px 0}
.login-card{min-height:610px}
.login-side{gap:24px;align-items:flex-start}
.login-university-logo{width:min(310px,100%);height:auto;background:#fff;border-radius:14px;padding:12px;object-fit:contain}
.login-side h1{font-size:36px;line-height:1.35;margin:0 0 14px}
.login-side p{font-size:17px;line-height:1.9;margin:0;opacity:.95}
.login-credit{margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;gap:5px;font-size:14px}
.login-credit strong{font-size:18px}
.login-theme-btn{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:9px;padding:9px 13px;cursor:pointer}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:16px;position:sticky;top:-24px;background:var(--card);z-index:4}
.modal-head h2{margin:0}
.modal-close{width:40px;height:40px;border:0;border-radius:50%;background:#f1f3f4;color:#444;font-size:27px;line-height:1;cursor:pointer}
.modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.modal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tab-btn{border:1px solid var(--border);background:#f6f8f7;color:var(--text);padding:10px 14px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}
.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.reviewer-tab{display:none}.reviewer-tab.active{display:block}
.btn-outline{background:#fff;color:var(--primary);border:1px solid var(--primary)}
.dark-mode{--bg:#111827;--card:#1f2937;--text:#f3f4f6;--muted:#c4c8cf;--border:#3f4b5a}
.dark-mode body{background:var(--bg);color:var(--text)}
.dark-mode .card,.dark-mode .sidebar,.dark-mode .modal-box,.dark-mode .modal-head{background:var(--card)}
.dark-mode input,.dark-mode textarea,.dark-mode select{background:#111827;color:#f3f4f6;border-color:#4b5563}
.dark-mode th{background:#263545;color:#eaf5f2}
.dark-mode .detail,.dark-mode .rating-card{background:#17202d}
.dark-mode .footer{background:#151f2c}
.dark-mode .modal-close{background:#374151;color:#fff}
.dark-mode .tab-btn{background:#263545;color:#fff}
.dark-mode .btn-outline{background:transparent;color:#d5eee7}
@media(max-width:900px){
 .brand-logo{height:58px;max-width:180px}
 .theme-toggle{margin-right:auto}
 .login-card{min-height:0}
 .login-side{display:flex;padding:30px}
 .login-side h1{font-size:27px}
 .login-university-logo{width:230px}
}

/* ===== V4: committees and reports ===== */
.committee-note{background:#eef7f4;border:1px solid #c7ddd6;border-radius:12px;padding:13px;margin-bottom:15px}
.report-total{font-size:34px;font-weight:800;color:var(--primary)}
.person-type{font-weight:700}
@media print{.sidebar,.toolbar,.theme-toggle{display:none!important}}

/* ===== V5 ===== */
.login-side-compact{min-height:440px;text-align:center;align-items:center;justify-content:center;padding:34px}
.login-side-compact>div{width:100%}.login-side-compact .login-credit{margin-top:26px;width:75%}.login-side-compact .login-theme-btn{margin-top:14px}
.dual-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0}.link-card{border:2px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.link-card img{width:170px;height:170px;background:#fff;padding:8px;border-radius:12px}.link-internal{border-color:#2f7d6d;background:rgba(47,125,109,.06)}.link-external{border-color:#c98218;background:rgba(201,130,24,.07)}
.welcome-letter{font-size:16px;line-height:2}.welcome-letter p{margin:5px 0}.btn:disabled{opacity:.5;cursor:not-allowed}
#person_select{min-height:44px}.modal-box{max-width:1100px}.details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){.dual-links{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.login-side-compact{min-height:360px}}

/* ===== V6: Professional login composition ===== */
.login-shell{
  min-height:calc(100vh - 118px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 18px;
}
.login-card{
  width:min(1060px,96%);
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  padding:0;
  margin:0;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 20px 55px rgba(31,91,79,.14);
}
.login-side,
.login-side-compact{
  min-height:520px;
  padding:48px 54px;
  text-align:center;
  align-items:center;
  justify-content:center;
  gap:0;
  position:relative;
  background:
    radial-gradient(circle at 88% 14%,rgba(255,255,255,.14),transparent 28%),
    radial-gradient(circle at 12% 90%,rgba(255,255,255,.09),transparent 30%),
    linear-gradient(145deg,var(--primary),var(--primary2));
}
.login-side-compact>div:first-child{
  width:min(430px,100%);
}
.login-side h1,
.login-side-compact h1{
  margin:0;
  font-size:38px;
  line-height:1.45;
  letter-spacing:.1px;
}
.login-side p,
.login-side-compact p{
  max-width:440px;
  margin:18px auto 0;
  font-size:16px;
  line-height:2;
  opacity:.95;
}
.login-credit,
.login-side-compact .login-credit{
  width:min(360px,82%);
  margin:34px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.38);
  align-items:center;
  gap:6px;
}
.login-credit strong{font-size:20px}
.login-theme-btn{
  margin-top:26px;
  padding:10px 18px;
  border-radius:10px;
}
.login-form{
  min-height:520px;
  padding:56px 62px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(rgba(255,255,255,.97),rgba(255,255,255,.97)),
    radial-gradient(circle at 15% 20%,rgba(31,91,79,.06),transparent 30%);
}
.login-form h2{
  margin:0 0 30px;
  text-align:center;
  font-size:29px;
  color:var(--primary);
}
.login-form form{width:100%}
.login-form .field{gap:9px}
.login-form label{font-size:15px}
.login-form input{
  min-height:48px;
  border-radius:12px;
  background:#fbfdfc;
}
.login-form .help{
  margin-top:2px;
  line-height:1.7;
}
.login-form .btn-primary{
  min-height:48px;
  border-radius:12px;
  font-size:16px;
  box-shadow:0 8px 18px rgba(31,91,79,.17);
}
.dark-mode .login-form{
  background:linear-gradient(rgba(31,41,55,.98),rgba(31,41,55,.98));
}
.dark-mode .login-form input{background:#111827}
@media(max-width:900px){
  .login-shell{padding:18px 12px;align-items:flex-start}
  .login-card{grid-template-columns:1fr;width:min(620px,100%)}
  .login-side,.login-side-compact{min-height:auto;padding:34px 26px}
  .login-side h1,.login-side-compact h1{font-size:28px}
  .login-side p,.login-side-compact p{font-size:14px;line-height:1.8;margin-top:12px}
  .login-credit,.login-side-compact .login-credit{margin-top:22px;padding-top:18px;width:88%}
  .login-theme-btn{margin-top:18px}
  .login-form{min-height:auto;padding:36px 28px 40px}
  .login-form h2{margin-bottom:24px;font-size:25px}
}

/* ===== V7: Compact one-screen login layout ===== */
.login-shell{
  min-height:auto;
  flex:1;
  align-items:flex-start;
  padding:16px 18px 10px;
}
.login-card{
  width:min(880px,94%);
  max-height:none;
  margin:0 auto;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-radius:18px;
}
.login-side,
.login-side-compact{
  min-height:455px;
  padding:34px 38px;
}
.login-side h1,
.login-side-compact h1{
  font-size:29px;
  line-height:1.45;
}
.login-side p,
.login-side-compact p{
  margin-top:14px;
  font-size:14px;
  line-height:1.85;
}
.login-credit,
.login-side-compact .login-credit{
  width:min(320px,88%);
  margin-top:25px;
  padding-top:18px;
}
.login-credit strong{
  font-size:17px;
}
.login-theme-btn{
  margin-top:18px;
  padding:9px 15px;
}
.login-form{
  min-height:455px;
  padding:38px 44px;
}
.login-form h2{
  font-size:29px;
  margin-bottom:24px;
}
.footer{
  padding:8px 12px 10px;
  line-height:1.55;
  font-size:12px;
}
@media(max-height:760px) and (min-width:901px){
  .login-shell{padding-top:10px;padding-bottom:6px}
  .login-card{width:min(840px,92%)}
  .login-side,.login-side-compact,.login-form{min-height:420px}
  .login-side,.login-side-compact{padding:28px 34px}
  .login-form{padding:30px 40px}
  .login-credit,.login-side-compact .login-credit{margin-top:20px;padding-top:14px}
  .login-theme-btn{margin-top:14px}
}
@media(max-width:900px){
  .login-card{width:min(600px,100%)}
  .login-side,.login-side-compact{min-height:auto}
  .login-form{min-height:auto}
}
