@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-Thin.woff") format("woff");font-style:normal;font-weight:100;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-Light.woff") format("woff");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-Medium.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-SemiBold.woff") format("woff");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-Bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-Black.woff") format("woff");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"RaviFaNum";src:url("assets/font/RaviFaNum-ExtraBlack.woff") format("woff");font-style:normal;font-weight:900;font-display:swap}

:root{
 --ink:#0b1930;--muted:#65778b;--navy:#0c376d;--navy2:#1266a8;--cyan:#74ceef;
 --glass:rgba(255,255,255,.55);--glass2:rgba(255,255,255,.76);--line:rgba(17,72,123,.12);
 --shadow:0 24px 70px rgba(22,60,102,.13),inset 0 1px 0 rgba(255,255,255,.82);
 --font-ui:"RaviFaNum",Tahoma,"Segoe UI",sans-serif;
 --side:330px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:1.75;text-rendering:optimizeLegibility;
 background:radial-gradient(circle at 8% 8%,rgba(102,205,242,.27),transparent 27%),
 radial-gradient(circle at 90% 18%,rgba(96,130,255,.16),transparent 28%),
 linear-gradient(145deg,#f9fcff,#edf6ff 52%,#fbfdff);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-4;
 background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);
 background-size:40px 40px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.28),transparent 82%)}
.aurora{position:fixed;border-radius:50%;filter:blur(22px);pointer-events:none;z-index:-3}
.a1{width:430px;height:430px;background:rgba(91,204,243,.2);right:-110px;top:17%}
.a2{width:360px;height:360px;background:rgba(124,109,255,.11);left:4%;top:35%}
.a3{width:520px;height:520px;background:rgba(74,176,234,.12);right:30%;bottom:-260px}
.glass{background:linear-gradient(145deg,rgba(255,255,255,.69),rgba(255,255,255,.43));border:1px solid rgba(255,255,255,.84);
 box-shadow:var(--shadow);backdrop-filter:saturate(175%) blur(28px);-webkit-backdrop-filter:saturate(175%) blur(28px)}
.hidden{display:none!important}.kicker{font-size:11px;letter-spacing:.14em;font-weight:700;color:#2479b4;direction:ltr;display:inline-block}
.btn{border:0;border-radius:15px;padding:11px 17px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.2s}
.btn.primary{background:linear-gradient(135deg,#0b3c75,#1672bc);color:#fff;box-shadow:0 12px 25px rgba(14,73,132,.22)}
.btn.primary:hover{transform:translateY(-1px)}.btn.primary:disabled{opacity:.55;transform:none;cursor:not-allowed}
.btn.ghost{background:rgba(255,255,255,.5);border:1px solid var(--line);color:var(--navy)}.full{width:100%}

.login-screen{min-height:100vh;display:grid;place-items:center;padding:22px}
.login-card{width:min(460px,100%);border-radius:34px;padding:37px;text-align:center;position:relative;overflow:hidden}
.login-card:after,.card:after,.top:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent)}
.login-logo{width:116px;height:130px;object-fit:contain}.login-card h1{font-size:25px;font-weight:900;line-height:1.55;margin:8px 0 3px}.client-name{font-size:15px;color:var(--navy2);font-weight:700;margin:0 0 25px}
.login-card form{text-align:right;display:grid;gap:14px}.login-card label{font-size:13px;font-weight:600;color:#334a63}
input,textarea,select{width:100%;border:1px solid rgba(25,80,131,.14);background:rgba(255,255,255,.68);border-radius:15px;padding:12px 13px;
 font:inherit;font-weight:500;color:var(--ink);outline:none;transition:.18s}
input:focus,textarea:focus,select:focus{border-color:rgba(37,130,203,.5);box-shadow:0 0 0 4px rgba(92,191,239,.11);background:rgba(255,255,255,.88)}
textarea{min-height:94px;resize:vertical}.login-card label>input,.password-field{margin-top:7px}
.password-field{position:relative}.password-field input{padding-left:48px}.password-field button{position:absolute;left:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;color:var(--navy);cursor:pointer}
.error{min-height:18px;color:#bd2c2c;font-size:12px;font-weight:500}.login-foot{display:block;margin-top:20px;color:#8595a5;direction:ltr;font-size:11px;font-weight:400}

.sidebar{position:fixed;right:16px;top:16px;bottom:16px;width:var(--side);border-radius:30px;padding:18px;z-index:60;display:flex;flex-direction:column;overflow:hidden}
.brand{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.brand img{width:58px;height:65px;object-fit:contain}
.brand b{display:block;font-size:18px;font-weight:800}.brand span{display:block;font-size:11px;font-weight:400;color:#718296;direction:ltr;text-align:right;margin-top:3px}
.progress-box{margin:13px 0;padding:13px;border-radius:18px;background:rgba(255,255,255,.47);border:1px solid rgba(255,255,255,.72)}
.progress-box>div{display:flex;justify-content:space-between;font-size:12px;font-weight:500}.progress-box i{display:block;height:7px;margin:9px 0;border-radius:99px;background:rgba(20,77,130,.09);overflow:hidden}
.progress-box em{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#77d4f2,#0e61a6);transition:.3s}.progress-box small{font-size:10px;font-weight:400;color:#8998a6}
#nav{overflow:auto;flex:1;padding:0 2px 10px;scrollbar-width:thin}.nav-group{border-bottom:1px solid rgba(19,72,119,.07);padding:4px 0}.nav-group summary{list-style:none;cursor:pointer;padding:8px 7px;font-size:11px;color:#728195;font-weight:700;display:flex;justify-content:space-between}
.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"⌄";font-size:14px}.nav-group[open] summary:after{transform:rotate(180deg)}
.nav-item{width:100%;border:0;background:transparent;border-radius:13px;display:flex;gap:9px;align-items:center;padding:8px 9px;text-align:right;font:inherit;font-size:12.5px;font-weight:400;color:#3b526a;cursor:pointer}
.nav-item:hover{background:rgba(255,255,255,.58)}.nav-item.active{background:linear-gradient(135deg,rgba(20,93,158,.13),rgba(91,203,239,.13));color:#0b4a82;font-weight:700}
.nav-num{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:rgba(13,76,133,.07);font-size:10.5px;font-weight:500;flex:none}.nav-item.done .nav-num{background:#e3f8ee;color:#16824b}
.side-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--line)}.side-footer span{font-size:10px;font-weight:400;color:#9ba7b3;direction:ltr}

main{margin-right:calc(var(--side) + 48px);padding:16px 22px 30px;min-height:100vh}
.top{position:sticky;top:16px;z-index:40;min-height:78px;border-radius:25px;padding:13px 19px;display:flex;gap:13px;align-items:center;overflow:hidden}.top h2{margin:2px 0 0;font-size:18px;font-weight:800}
.menu{display:none;width:41px;height:41px;border-radius:13px;border:0;background:rgba(255,255,255,.58);font-size:19px;color:var(--navy);cursor:pointer}.autosave{margin-right:auto;font-size:11px;color:#1b7a51;background:rgba(39,178,105,.08);padding:8px 10px;border-radius:99px;font-weight:600}

#content{max-width:1140px;margin:21px auto 0}.hero{border-radius:30px;padding:27px;margin-bottom:15px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;left:-80px;top:-90px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(90,201,240,.25),transparent 68%)}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:end}.hero h1{font-size:28px;font-weight:900;margin:5px 0 9px;line-height:1.6}.hero p{font-size:13px;font-weight:400;line-height:2;color:#5d7287;margin:0}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:13px;background:rgba(255,255,255,.53);border:1px solid rgba(255,255,255,.75);border-radius:17px;text-align:center}.stat b{display:block;font-size:22px;font-weight:800;color:#0c4f8a}.stat span{font-size:11px;font-weight:400;color:#75879a}

.card{border-radius:30px;padding:25px 27px;position:relative;overflow:visible}.head{display:flex;gap:13px;align-items:flex-start;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:17px}
.head-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#0a3970,#1875bd);color:white;font-size:17px;font-weight:800;box-shadow:0 10px 23px rgba(14,73,132,.19);flex:none}
.head h2{font-size:21px;font-weight:800;line-height:1.6;margin:0}.head .en{direction:ltr;text-align:right;color:#3480b5;font-size:11px;font-weight:500;margin-top:3px}.purpose{font-size:12.5px;font-weight:400;color:#687d91;line-height:1.9;margin-top:6px}
.note{padding:14px 16px;border-radius:19px;background:rgba(219,244,255,.45);border:1px solid rgba(37,132,197,.11);color:#45657e;font-size:12.5px;font-weight:400;line-height:2;margin-bottom:15px}
.questions{display:grid;gap:12px}.q{background:rgba(255,255,255,.47);border:1px solid rgba(255,255,255,.78);border-radius:20px;padding:15px;transition:.18s}.q:focus-within{border-color:rgba(42,133,200,.26);box-shadow:0 10px 25px rgba(20,75,128,.07)}
.q-title{font-size:13.5px;font-weight:700;line-height:1.9;display:flex;gap:7px;align-items:flex-start;margin-bottom:9px}.q-no{color:#8999aa;min-width:20px;font-weight:500}.info{width:22px;height:22px;border-radius:50%;border:1px solid rgba(13,88,151,.17);background:rgba(226,247,255,.8);color:#0c5b9d;font:700 12px Georgia;cursor:pointer;flex:none}
.choice-row{display:flex;gap:7px;flex-wrap:wrap}.choice{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:13px;border:1px solid rgba(16,76,129,.1);background:rgba(255,255,255,.61);font-size:12.5px;font-weight:500;cursor:pointer}
.choice input{width:14px;height:14px;margin:0;accent-color:#0e65ad}.choice:has(input:checked){background:rgba(214,243,255,.83);border-color:rgba(34,133,199,.27);color:#0b4e86}
.term{color:#0b68a9;text-decoration:none;border-bottom:1px dashed rgba(11,104,169,.35);font-weight:600;direction:ltr;unicode-bidi:isolate}.term:hover{color:#0a80ce}

.docs{margin-top:17px;padding:15px;border-radius:20px;background:linear-gradient(135deg,rgba(218,244,255,.43),rgba(255,255,255,.38));border:1px solid rgba(24,107,172,.1)}.docs h3{font-size:13px;font-weight:700;color:#296392;margin:0 0 9px}.docs .choice-row{gap:6px}
.matrix-wrap{overflow:auto;border-radius:19px;border:1px solid rgba(18,77,129,.1);background:rgba(255,255,255,.47)}table.matrix{width:100%;border-collapse:collapse;min-width:760px;font-size:11.5px;font-weight:400}table.matrix th,table.matrix td{padding:9px;border-bottom:1px solid rgba(19,78,129,.08);text-align:center}
table.matrix th{background:rgba(222,244,255,.92);color:#285e8c;font-weight:700;position:sticky;top:0}table.matrix th:first-child,table.matrix td:first-child{text-align:right;min-width:185px}table.matrix td:first-child{font-weight:500}table.matrix tr:last-child td{border-bottom:0}
table.matrix input,table.matrix select{padding:7px 8px;border-radius:10px;font-size:11.5px;font-weight:400;min-width:95px}.mini-checks{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.mini-checks label{font-size:10.5px;font-weight:500;display:flex;align-items:center;gap:3px}.mini-checks input{width:13px;height:13px;margin:0;accent-color:#0d66ad}

.section-nav{display:flex;justify-content:space-between;margin-top:19px;gap:8px}.navbtn{border:1px solid rgba(13,76,132,.1);background:rgba(255,255,255,.55);border-radius:13px;padding:9px 14px;color:#315a7a;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.submit{margin-top:18px;padding:22px;border-radius:25px;background:linear-gradient(135deg,rgba(8,50,99,.95),rgba(18,105,173,.91));color:white;box-shadow:0 22px 50px rgba(13,71,130,.2)}.submit h3{font-size:19px;font-weight:800;margin:0 0 6px}.submit p{font-size:12px;font-weight:400;color:rgba(255,255,255,.76);line-height:1.9;margin:0 0 14px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tags span{font-size:10.5px;font-weight:400;padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.12)}.submit .primary{background:#fff;color:#0d4f86;box-shadow:none}

.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.doc-check{display:flex;gap:7px;align-items:flex-start;padding:10px;border-radius:14px;background:rgba(255,255,255,.5);font-size:11.5px;font-weight:500}.doc-check input{width:14px;height:14px;margin:2px 0 0;accent-color:#0d65ad;flex:none}
.glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.gitem{scroll-margin-top:120px;padding:13px;border-radius:17px;background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.78)}.gitem:target{outline:3px solid rgba(44,154,221,.16);background:rgba(222,246,255,.78)}
.gitem b{display:block;direction:ltr;text-align:right;color:#0c558f;font-size:12.5px;font-weight:700}.gitem p{font-size:11.5px;font-weight:400;color:#64798d;line-height:1.9;margin:5px 0 0}

.bubble{position:fixed;z-index:120;width:min(370px,calc(100vw - 30px));padding:16px 40px 16px 16px;border-radius:19px;font-size:12px;font-weight:400;line-height:2;color:#38556e;opacity:0;visibility:hidden;transform:translateY(-5px);transition:.16s}.bubble.show{opacity:1;visibility:visible;transform:none}.bubble button{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#71849a;font-size:18px;cursor:pointer}
.toast{position:fixed;left:22px;bottom:22px;z-index:130;padding:11px 16px;border-radius:15px;font-size:12px;font-weight:500;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;visibility:visible;transform:none}.toast.err{border-color:rgba(200,47,47,.24)}
.send-dialog{width:min(470px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.84);border-radius:25px;padding:24px;color:var(--ink)}.send-dialog::backdrop{background:rgba(9,31,54,.26);backdrop-filter:blur(6px)}.dialog-mark{width:47px;height:47px;border-radius:15px;background:#e0f8ed;color:#17804d;display:grid;place-items:center;font-size:23px;font-weight:800}.send-dialog h3{font-size:18px;font-weight:800;margin:12px 0 6px}.send-dialog p{font-size:12px;font-weight:400;color:#65788c;line-height:1.9}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}
footer{max-width:1140px;margin:22px auto 0;padding:0 4px;display:flex;justify-content:space-between;color:#8b9baa;font-size:10px;font-weight:400;direction:ltr}footer span:last-child{direction:rtl}

@media(max-width:1020px){:root{--side:290px}main{margin-right:calc(var(--side) + 42px);padding-left:14px}.hero-grid{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar{right:10px;top:10px;bottom:10px;width:min(320px,calc(100vw - 34px));transform:translateX(calc(100% + 35px));transition:.25s}.sidebar.open{transform:none}
 main{margin-right:0;padding:10px}.top{top:10px;border-radius:21px;padding:10px 12px}.menu{display:block}.autosave{display:none}#content{margin-top:13px}.hero,.card{border-radius:24px;padding:19px 16px}.hero h1{font-size:23px}
 .glossary-grid,.doc-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:4px;text-align:center}}
@media(max-width:520px){.login-card{padding:27px 19px}.login-logo{width:96px;height:108px}.q{padding:13px}.choice{width:100%}.section-nav{flex-direction:column-reverse}.section-nav button{width:100%}.bubble{left:15px!important;right:15px!important;bottom:15px!important;top:auto!important;width:auto}.stats{grid-template-columns:repeat(2,1fr)}}


/* Revision 02 — Jalali datepicker, glossary highlight, uploads, print controls */
input[data-jalali]{cursor:pointer;background-image:linear-gradient(90deg,transparent,rgba(112,206,239,.09));padding-left:42px;position:relative}
input[data-jalali]::placeholder{color:#8ea0b2}

.jdp{position:fixed;z-index:200;border-radius:22px;padding:14px;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transition:.16s}
.jdp.show{opacity:1;visibility:visible;transform:none}
.jdp-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:5px;margin-bottom:10px}
.jdp-head strong{text-align:center;color:#0c4d86;font-size:14px;font-weight:700}
.jdp-head button,.jdp-foot button{border:0;background:rgba(255,255,255,.62);color:#0d5d9f;border-radius:11px;min-height:34px;font:inherit;font-weight:600;cursor:pointer}
.jdp-week,.jdp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.jdp-week span{text-align:center;font-size:10.5px;font-weight:500;color:#7c8fa2;padding:4px}
.jdp-days button,.jdp-days .empty{aspect-ratio:1;border:0;border-radius:10px;background:transparent;font:inherit;font-size:11.5px;font-weight:500;color:#294760;display:grid;place-items:center}
.jdp-days button{cursor:pointer}
.jdp-days button:hover{background:rgba(104,203,239,.16)}
.jdp-days button.today{outline:1px solid rgba(32,132,199,.32)}
.jdp-days button.selected{background:linear-gradient(135deg,#0b477f,#1678bd);color:white;box-shadow:0 7px 17px rgba(16,91,151,.18)}
.jdp-foot{display:flex;gap:7px;justify-content:flex-end;border-top:1px solid rgba(15,76,130,.08);margin-top:10px;padding-top:10px}
.jdp-foot button{padding:7px 12px;font-size:11.5px}

.gitem.flash-highlight{
  animation:glossaryFlash 5s ease both;
  outline:3px solid rgba(23,126,194,.34);
}
@keyframes glossaryFlash{
  0%,12%{background:rgba(130,221,251,.72);box-shadow:0 0 0 7px rgba(86,192,235,.13),0 18px 35px rgba(24,109,171,.14);transform:scale(1.015)}
  30%,100%{background:rgba(255,255,255,.52);box-shadow:none;transform:none}
}

.row-label{display:inline-block;vertical-align:middle}
table.matrix td:first-child .info{margin-right:7px;vertical-align:middle}
.file-slot{display:none;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}
.file-slot.show{display:flex}
.upload-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#e3f6ff,#f4fbff);border:1px solid rgba(22,112,175,.16);padding:7px 10px;color:#0a5b98;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}
.upload-btn input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.file-name{font-size:10.5px;font-weight:400;color:#718497;word-break:break-all}
.doc-note{margin-top:3px}
.upload-note{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(255,247,225,.65);border:1px solid rgba(181,132,29,.13);color:#806321;font-size:11px;font-weight:400;line-height:1.8}

.doc-check-wrap{display:flex;gap:6px;align-items:center;background:rgba(255,255,255,.5);border-radius:15px;padding:0 8px 0 0}
.doc-check-wrap .doc-check{background:transparent;flex:1;padding-right:3px}
.doc-check-wrap .info{margin-left:4px;flex:none}

.final-tools{display:flex;align-items:center;gap:12px;margin-top:17px;padding:14px 15px;border-radius:18px;background:rgba(224,245,255,.48);border:1px solid rgba(25,112,176,.12)}
.final-tools span{font-size:11px;font-weight:400;color:#64798e}
.print-btn{background:linear-gradient(135deg,#ffffff,#e9f7ff);color:#0c568f;border:1px solid rgba(18,98,159,.14);box-shadow:0 8px 20px rgba(14,77,133,.08);white-space:nowrap}

@media(max-width:520px){
 .jdp{left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important}
 .final-tools{align-items:flex-start;flex-direction:column}.print-btn{width:100%}
 .doc-check-wrap{padding:0 7px}
}
