@font-face{font-family:Vazir;src:url(vazir.ttf)}:root{--green:#0f473b;--green2:#226e5c;--mint:#dceee8;--gold:#e3bd56;--paper:#fffefa;--bg:#f1f4ef;--line:#dce5df;--muted:#71807b;--danger:#b5433d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#183a32;font-family:Vazir,Tahoma,sans-serif;line-height:1.75}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login{min-height:100vh;background:linear-gradient(135deg,#092c25,#1f6957);display:grid;grid-template-columns:1fr 480px;align-items:center;padding:7vw;color:white}.login-brand h1{font-size:64px;margin:18px 0 0}.login-brand p{color:#c8ddd6;font-size:18px}.logo{width:82px;height:82px;border-radius:27px;background:var(--gold);color:var(--green);display:grid;place-items:center;font-size:40px;font-weight:900}.logo.small{width:48px;height:48px;border-radius:15px;font-size:24px}.login-card{background:white;color:#173a31;border-radius:24px;padding:35px;display:grid;gap:16px}.login-card label,.form label{display:grid;gap:6px}.login-card input,.form input,.form select,.form textarea,.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:11px;padding:11px;background:white}.login-card button,.approve,.people-head button,.hero button{border:0;background:var(--green);color:white;border-radius:11px;padding:11px 16px;font-weight:800}.error{color:var(--danger)}.app>aside{position:fixed;right:0;inset-block:0;width:235px;background:var(--green);color:white;padding:25px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center}.brand strong,.brand span{display:block}.brand span{font-size:11px;color:#b8d0c8}.app nav{display:grid;gap:7px;margin-top:35px}.app nav button,.logout{border:0;background:transparent;color:#c9dad5;text-align:right;padding:12px 14px;border-radius:11px}.app nav button.active,.app nav button:hover{background:#ffffff16;color:white}.logout{margin-top:auto;border:1px solid #ffffff30}.shell{margin-right:235px}.shell>header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 36px;position:sticky;top:0;background:#f1f4eff0;backdrop-filter:blur(8px);z-index:5}.shell header span{font-size:11px;color:var(--green2)}h1{margin:0;font-size:24px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f4e8bd;font-weight:900}main{max-width:1250px;margin:auto;padding:28px 36px 100px}.hero,.people-head{background:linear-gradient(135deg,var(--green),var(--green2));color:white;border-radius:23px;padding:27px;display:flex;align-items:center;justify-content:space-between;gap:22px}.hero h2,.people-head h2{margin:4px 0}.hero p,.people-head p{margin:0;color:#d5e6e0}.hero button,.people-head button{background:var(--gold);color:var(--green);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stats article,.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px}.stats span{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:27px;color:var(--green)}.stats .small-number{font-size:17px;margin-top:7px}.two{display:grid;grid-template-columns:1.5fr .75fr;gap:18px}.panel{padding:21px}.panel h2{margin:0;font-size:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head button{border:0;background:transparent;color:var(--green2)}.report-card{display:grid;grid-template-columns:1fr auto;gap:15px;border-bottom:1px solid var(--line);padding:14px 4px;cursor:pointer}.report-card:last-child{border:0}.report-card p{margin:3px 0;color:var(--muted);font-size:13px}.report-card>aside{display:flex;align-items:flex-end;flex-direction:column;justify-content:space-between}.report-card small{color:var(--muted);font-size:10px}.status,.chips span{display:inline-flex;border-radius:20px;padding:3px 8px;font-size:10px;background:#eef1ef}.status.needs_review{background:#f9e4df;color:var(--danger)}.status.approved{background:var(--mint);color:var(--green)}.status.pending_review{background:#fff0c8;color:#765919}.status.rejected{background:#eee;color:#666}.chips{display:flex;gap:5px;flex-wrap:wrap}.connection{display:flex;gap:11px;margin:18px 0}.connection i{width:10px;height:10px;border-radius:50%;background:#2aa676;margin-top:8px}.connection i.warn{background:var(--gold)}.connection p{margin:0;color:var(--muted);font-size:12px}.toolbar{display:flex;gap:10px;margin-bottom:16px}.toolbar input{flex:1}.report-list{padding-inline:22px}.detail-meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.report-detail p{white-space:pre-wrap}.entity-grid{display:flex;gap:8px;flex-wrap:wrap}.entity-grid span{display:grid;background:var(--mint);border-radius:11px;padding:6px 10px}.entity-grid small{font-size:9px;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.actions button{border:0;border-radius:10px;padding:9px 13px}.actions .reject{background:#f7dfdc;color:var(--danger)}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.podium article{background:white;border:1px solid var(--line);border-radius:18px;text-align:center;padding:18px;cursor:pointer;position:relative}.podium article.place-1{background:#fff9e8;border-color:#e1c56f}.podium article>b{position:absolute;right:10px;top:8px;background:var(--gold);border-radius:50%;width:25px;height:25px}.podium h3{margin:7px 0 0}.podium article>strong,.podium article>small{display:block}.podium small{color:var(--muted)}.person-avatar{width:50px;height:50px;border-radius:50%;display:inline-grid;place-items:center;background:var(--mint);font-size:20px;font-weight:900}.person-row{display:grid;grid-template-columns:35px 50px 1fr 90px 110px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:11px;cursor:pointer}.person-row>div{display:grid}.person-row small{color:var(--muted);font-size:10px}.person-summary{display:grid;grid-template-columns:70px 1fr;gap:15px;align-items:center}.person-summary .person-avatar{width:70px;height:70px;font-size:28px}.person-summary>div{display:grid}.person-summary>div>strong{font-size:25px}.progress{height:7px;background:#e8eeeb;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green2),var(--gold))}.badges{margin:15px 0;padding:13px 0;border-block:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:12px}.badges span{background:#fff2c9;color:#735616;border-radius:20px;padding:5px 9px}.history{display:grid;grid-template-columns:55px 1fr;gap:10px;padding:11px;border-bottom:1px solid var(--line)}.history>b{color:var(--green2)}.history>b.negative{color:var(--danger)}.history div{display:grid}.history small{color:var(--muted)}dialog{border:0;border-radius:20px;padding:0;width:min(680px,calc(100vw - 24px));max-height:88vh;color:#183a32}dialog::backdrop{background:#08282099}.modal-head{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:white}.modal-head h2{margin:0}.modal-head button{border:0;background:transparent;font-size:24px}#modalBody{padding:22px;overflow:auto}.form{display:grid;gap:13px}.form textarea{min-height:90px}.check{display:flex!important;gap:8px!important}.app nav.bottom{display:none}.empty{text-align:center;padding:32px;color:var(--muted)}.empty b,.empty span{display:block}.loading{text-align:center;padding:50px;color:var(--muted)}.toast{position:fixed;top:15px;right:50%;transform:translate(50%,-90px);background:var(--green);color:white;padding:10px 17px;border-radius:12px;z-index:99;transition:.2s}.toast.show{transform:translate(50%,0)}.toast.bad{background:var(--danger)}
@media(max-width:760px){.login{grid-template-columns:1fr;padding:24px}.login-brand h1{font-size:38px}.login-card{padding:24px}.app>aside{display:none}.shell{margin:0}.shell>header{height:80px;padding:12px 16px}main{padding:18px 12px 85px}.bottom{display:flex!important;position:fixed;bottom:0;inset-inline:0;background:white;border-top:1px solid var(--line);z-index:9;margin:0!important;justify-content:space-around;padding:6px}.bottom button{display:grid!important;place-items:center;color:var(--muted)!important;padding:3px 12px!important}.bottom button span{font-size:9px}.bottom button.active{color:var(--green)!important}.hero,.people-head{align-items:flex-start;flex-direction:column}.hero button,.people-head button{width:100%}.stats{grid-template-columns:1fr 1fr;gap:8px}.two{grid-template-columns:1fr}.podium{gap:6px}.podium article{padding:14px 5px}.podium h3{font-size:12px}.person-row{grid-template-columns:26px 42px 1fr auto;padding:9px 2px}.person-row .person-avatar{width:42px;height:42px}.person-row>span{display:none}.toolbar{display:grid}.report-card{grid-template-columns:1fr}.report-card>aside{align-items:flex-start;gap:5px}.stats article{padding:13px}.stats strong{font-size:22px}}
.hint{font-size:12px;color:var(--muted);margin:4px 0 12px}.review-notice{background:#fff3d2;border:1px solid #ead49a;padding:12px 15px;border-radius:12px;font-size:13px}.detail-meta{flex-wrap:wrap}.source-copy{margin:18px 0;background:#f1f6f3;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.source-copy p{overflow-wrap:anywhere;font-size:13px}.source-copy h4{margin-bottom:4px}summary{cursor:pointer;font-weight:700}.form fieldset{border:0;margin:0;padding:0;display:grid;gap:14px;min-width:0}.form label{min-width:0}.form input,.form textarea,.form select{width:100%;min-width:0}.form textarea{resize:vertical}.review-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-two input[type=datetime-local]{direction:ltr}.entity-edit-row{display:grid;grid-template-columns:110px 1fr 130px 30px;align-items:end;gap:8px;margin-bottom:10px}.entity-edit-row label{font-size:11px}.entity-edit-row input,.entity-edit-row select{padding:8px}.remove-entity{border:0;background:#f7dfdc;color:var(--danger);border-radius:8px;height:42px;font-size:20px}.review-section{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.review-section h3{margin-top:0}.review-decisions{border-top:1px solid var(--line);padding-top:18px}.actions{align-items:center}.actions [role=status]{font-size:12px;color:var(--muted)}button:disabled{opacity:.45;cursor:not-allowed}fieldset:disabled{opacity:.8}.review-comment,.review-history{border:1px solid var(--line);border-radius:12px;padding:13px;margin:12px 0;background:#fff}.review-comment>div{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.review-comment p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-comment small,.review-history>small{color:var(--muted);font-size:11px}.review-history>small{display:block}.change{display:grid;grid-template-columns:100px 1fr 16px 1fr;gap:8px;margin-top:10px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.change del{color:#8f5b53;background:#fff0eb;text-decoration:none;padding:5px;border-radius:6px}.change ins{color:var(--green);background:#eaf5ee;text-decoration:none;padding:5px;border-radius:6px}.entity-list{display:grid;gap:10px}.entity-card,.linked-report{width:100%;text-align:right;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;background:white;padding:14px;color:inherit}.entity-card:hover,.linked-report:hover{background:#edf6f0;border-color:var(--green2)}.entity-card strong,.entity-card small,.linked-report small{display:block}.entity-card small,.entity-card>span:last-child,.linked-report small{font-size:11px;color:var(--muted)}.linked-report{display:block;margin:8px 0;overflow-wrap:anywhere}dialog{width:min(880px,calc(100vw - 24px))}.modal-head{z-index:2}.review-history p{font-size:12px}
@media(max-width:600px){.review-two{grid-template-columns:1fr}.entity-edit-row{grid-template-columns:100px 1fr 28px;border-bottom:1px solid var(--line);padding-bottom:12px}.entity-edit-row label:nth-child(3){grid-column:1/3;grid-row:2}.entity-edit-row .remove-entity{grid-column:3;grid-row:1}.change{grid-template-columns:1fr 16px 1fr}.change>b{grid-column:1/-1}.entity-card{align-items:flex-start;flex-direction:column}.modal-head{padding:12px 16px}.modal-head h2{font-size:18px}#modalBody{padding:16px}.toast{width:calc(100vw - 24px);text-align:center}}
.date-input{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
