@font-face{font-family:'IRANSans';src:url('fonts/IRANSans.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}
:root{--bg:#f5f6f7;--card:#fff;--text:#17181b;--muted:#70737b;--muted-2:#9a9da5;--line:#e6e7ea;--line-soft:#f0f1f2;--primary:#1c1d20;--primary-hover:#0d0e10;--soft:#f3f4f5;--focus:#b7bbc4;--danger:#bf3636;--danger-bg:#fff4f4;--success:#247a52;--success-bg:#f1faf5;--warning:#9a6817;--warning-bg:#fff8e9;--radius:14px;--radius-sm:10px}
html{font-family:'IRANSans',Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font-synthesis-weight:auto}
body{margin:0;background:var(--bg);color:var(--text);font-size:14px}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
input,select,textarea{appearance:none;-webkit-appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%238b8e95' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:10px 50%;background-size:12px 12px;background-repeat:no-repeat;padding-left:28px!important}
textarea{resize:vertical}
::selection{background:#dedfe3}
.ui-icon{width:17px;height:17px;display:block;flex:0 0 auto}.icon-btn .ui-icon{width:16px;height:16px}.mobile-nav .ui-icon{width:18px;height:18px}.mobile-nav .new .ui-icon{width:20px;height:20px}
.app-shell{min-height:100vh;display:flex}
.sidebar{width:202px;position:fixed;right:0;top:0;bottom:0;background:#fbfbfc;border-left:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:9px;padding:4px 7px 14px;font-size:17px;font-weight:800;letter-spacing:-.2px}
.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:23px;font-weight:900;line-height:1}
.brand-mark.small{width:28px;height:28px;border-radius:9px;font-size:15px}
.sidebar nav,.sidebar-bottom{display:grid;gap:3px}
.sidebar nav a,.sidebar-bottom a{min-height:39px;padding:8px 10px;border-radius:10px;display:flex;gap:9px;align-items:center;color:#62656d;font-size:12.5px;transition:.15s ease}
.sidebar nav a:hover,.sidebar-bottom a:hover{background:#f0f1f2;color:var(--text)}
.sidebar nav a.active{background:#eceeef;color:var(--text);font-weight:700}
.sidebar-bottom{margin-top:auto}
.main{width:calc(100% - 202px);margin-right:202px;min-width:0}
.topbar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;background:rgba(245,246,247,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:20;border-bottom:1px solid rgba(230,231,234,.9)}
.topbar h1{font-size:15px;margin:0;font-weight:800}
.top-actions{display:flex;align-items:center;gap:7px}
.org-switch{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;min-width:150px;height:36px;outline:none;color:#3b3d42;font-size:11px}
.org-switch:focus{border-color:var(--focus)}
.icon-btn,.avatar{width:35px;height:35px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;position:relative}
.icon-btn{font-size:15px}
.icon-btn i{position:absolute;top:-5px;left:-5px;background:var(--primary);color:#fff;border:2px solid var(--bg);min-width:17px;height:17px;border-radius:9px;font-size:9px;font-style:normal;display:grid;place-items:center;padding:0 3px}
.avatar{background:#eef0f2;font-weight:800;font-size:12px}
.avatar.mini{width:29px;height:29px;border-radius:9px;border:0}
.avatar.large{width:45px;height:45px;border-radius:13px;border:0;font-size:15px}
.content{max-width:980px;margin:0 auto;padding:18px 20px 84px}
.hello{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.hello h2{margin:0 0 2px;font-size:19px;letter-spacing:-.3px}
.hello p{margin:0;color:var(--muted);font-size:11px}
.btn{border:1px solid var(--line);background:#fff;color:#2a2c30;padding:8px 12px;border-radius:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;line-height:1.4;transition:.15s ease}
.btn:hover{border-color:#d6d8dc;background:#fafafa}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.btn.ghost{background:transparent}
.btn.full{width:100%}
.btn.small{padding:6px 9px;min-height:31px;font-size:11px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.stats a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;min-height:57px}
.stats a:hover{border-color:#d8d9dd}
.stats b{font-size:20px;line-height:1}
.stats span{color:var(--muted);font-size:10.5px}
.panel{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:10px;overflow:hidden}
.panel-head{min-height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--line-soft);gap:10px}
.panel-head h3{margin:0;font-size:12.5px}
.panel-head a{font-size:10.5px;color:var(--muted)}
.task-list{display:grid}
.task-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-soft);min-height:52px;transition:.12s ease}
.task-row:last-child{border-bottom:0}
.task-row:hover{background:#fafafb}
.prio{width:7px;height:7px;border-radius:50%;background:#b6b9bf;flex:0 0 auto}
.prio.high{background:#d88b2d}.prio.urgent{background:#d34c4c}.prio.low{background:#979aa2}
.task-main{display:grid;gap:2px;min-width:0;flex:1}
.task-main b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-main small,.member-row small,.project-card small{font-size:10px;color:var(--muted)}
.chev{font-size:20px;color:#afb1b7}
.badge{font-size:9px;padding:3px 6px;border-radius:6px;background:#f0f1f2;color:#666a72;white-space:nowrap}
.badge.high{background:#fff5e8;color:#91601e}.badge.urgent{background:#fff0f0;color:#b72f2f}.badge.low{background:#f2f3f4;color:#757880}
.empty{padding:22px 16px;display:grid;place-items:center;text-align:center;gap:4px;color:var(--muted);font-size:11px}
.empty b{color:#34363b;font-size:12px}.empty.slim{padding:13px}
.toolbar-scroll{display:flex;gap:6px;overflow:auto;padding:0 0 9px;scrollbar-width:none}.toolbar-scroll::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:10.5px;color:#62656d}
.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.task-form{max-width:720px;margin:auto}
.form-panel{padding:14px}
.modern-form{overflow:visible}
.form-context{display:flex;align-items:center;gap:7px;margin:-2px 0 12px;font-size:10px;color:var(--muted)}
.form-context b{font-size:10.5px;color:#4b4e55;background:var(--soft);border-radius:7px;padding:4px 7px}
.task-form label,.stack label,.modal-form label{display:grid;gap:5px;font-size:10.5px;color:#61646b}
.big-label{font-weight:700;color:var(--text)!important}
.title-input{font-size:14px!important;font-weight:800!important}
.task-form input,.task-form select,.task-form textarea,.stack input,.stack select,.stack textarea,.modal-form input,.modal-form select,.modal-form textarea,.inline-form input,.test-row input{width:100%;border:1px solid #dddfe3;background:#fff;border-radius:9px;padding:8px 10px;min-height:37px;outline:none;color:var(--text);transition:.15s ease}
.task-form textarea,.stack textarea,.modal-form textarea{line-height:1.8;min-height:auto}
.task-form input:focus,.task-form select:focus,.task-form textarea:focus,.stack input:focus,.stack select:focus,.stack textarea:focus,.modal-form input:focus,.modal-form textarea:focus,.inline-form input:focus,.test-row input:focus{border-color:#afb2ba;box-shadow:0 0 0 3px rgba(175,178,186,.12)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.compact-grid{gap:8px}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.field-action{border:0;background:transparent;color:#4d5564;padding:0;font-size:9.5px;font-weight:800}
.field-help{font-size:9px!important;color:var(--muted-2)!important}
.label-title{display:block;font-size:10.5px;color:#61646b;margin:10px 0 6px}.inline-title{margin:0 0 6px}
.people-pills{display:flex;gap:6px;flex-wrap:wrap}.people-pills label input{display:none}.people-pills label span{display:block;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#fff;color:#5d6068;cursor:pointer;font-size:10px}.people-pills label input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}
.more-options{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px}
.task-form summary{cursor:pointer;font-size:10.5px;color:#60636a;list-style:none;display:flex;align-items:center;gap:6px}.task-form summary::-webkit-details-marker{display:none}.task-form summary:before{content:'＋';font-size:13px}.task-form details[open] summary:before{content:'−'}
.details-body{padding-top:10px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:10px}.checks label{display:flex;align-items:center;gap:5px}.checks input,.switch-row input{width:auto!important;min-height:auto!important;appearance:auto;-webkit-appearance:auto}
.switch-row{display:flex!important;align-items:center;gap:7px!important;margin:8px 0;color:#55585f!important}
.form-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:13px}.sticky-actions{padding-top:2px}
.task-detail{padding:14px}.meta-line{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:9.5px;flex-wrap:wrap}.task-title-row h2{font-size:18px;margin:7px 0}.task-title-row p{margin:0;color:#555960;line-height:1.85;font-size:11.5px}.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:14px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.info-strip div{display:grid;gap:2px;padding:9px 8px;border-left:1px solid var(--line-soft)}.info-strip div:last-child{border-left:0}.info-strip small{color:var(--muted);font-size:8.5px}.info-strip b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checklist{padding-top:11px}.checklist h3{font-size:11.5px;margin:0 0 6px}.checklist h3 small{color:var(--muted);font-weight:400}.check-item{display:flex;align-items:center;gap:6px;padding:5px 0}.check-item button{width:23px;height:23px;border-radius:7px;border:1px solid var(--line);background:#fff;padding:0}.check-item span{font-size:11.5px}.check-item.done span{text-decoration:line-through;color:#999ca3}
.status-actions{margin-top:12px;display:flex;justify-content:flex-end}.status-actions form{display:flex;gap:6px}.status-actions select{border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:#fff;min-height:36px}
.comment-form{padding:10px;display:flex;gap:7px}.comment-form textarea{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px;resize:vertical;min-height:62px}.comment-actions{display:flex;gap:6px;align-items:flex-end}.comment-actions .btn{white-space:nowrap}
.timeline{padding:0 12px 9px}.timeline article{display:flex;gap:8px;padding:10px 0;border-top:1px solid var(--line-soft)}.timeline article>div:last-child{display:grid;gap:1px}.timeline article b{font-size:10.5px}.timeline article small{font-size:8.5px;color:var(--muted)}.timeline article p{font-size:11.5px;margin:4px 0 0;line-height:1.8}
.member-list{display:grid}.member-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line-soft)}.member-row:last-child{border-bottom:0}.member-row b{font-size:11.5px}.member-row>span{font-size:9.5px;color:var(--muted);direction:ltr}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.project-card{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;justify-content:space-between;gap:8px;background:#fff}.project-card div{display:grid;gap:3px}.project-card b{font-size:11.5px}.project-card>span{font-size:9.5px;color:var(--muted);white-space:nowrap}
.calendar-list{padding:5px 12px}.day-group{display:grid;grid-template-columns:54px 1fr;border-bottom:1px solid var(--line-soft);padding:7px 0}.day-label{display:grid;align-content:start;justify-items:center;border-left:1px solid var(--line-soft)}.day-label b{font-size:18px}.day-label span{font-size:8.5px;color:var(--muted)}.day-group>div:last-child{padding-right:10px;display:grid}.day-group a{padding:7px 0;display:grid;gap:1px;border-bottom:1px solid var(--line-soft)}.day-group a:last-child{border-bottom:0}.day-group a b{font-size:11.5px}.day-group a small{font-size:8.5px;color:var(--muted)}
.notif-list{display:grid}.notif-list a{display:grid;gap:2px;padding:10px 12px;border-bottom:1px solid var(--line-soft)}.notif-list b{font-size:11.5px}.notif-list span{font-size:10.5px;color:#555960}.notif-list small{font-size:8.5px;color:var(--muted)}
.settings-grid{display:grid;gap:0}.settings-body{padding:11px 13px}.panel p.muted{padding:0 13px}.muted{color:var(--muted);font-size:10.5px;line-height:1.8}.muted.no-pad{padding:0!important;margin:0 0 9px}
.inline-form{display:grid;grid-template-columns:2fr 1.2fr 58px auto;gap:7px;padding:11px 13px}.compact-inline{padding:0}.stack{display:grid;gap:9px}.stack.compact{padding:11px 13px}.stack.no-side-pad{padding:0}
.profile-row{display:flex;align-items:center;gap:9px;padding:11px 13px}.profile-row div:last-child{display:grid;gap:2px}.profile-row b{font-size:11.5px}.profile-row span{font-size:9.5px;color:var(--muted)}
.setting-group{padding:2px 0 11px;margin-bottom:9px;border-bottom:1px solid var(--line-soft)}.setting-group-head{display:grid;gap:1px;margin-bottom:8px}.setting-group-head b{font-size:11.5px}.setting-group-head small{font-size:9px;color:var(--muted)}
.status-dot{font-size:8.5px;border-radius:999px;padding:4px 7px;background:var(--soft);color:var(--muted)}.status-dot.ok{background:var(--success-bg);color:var(--success)}.status-dot.warn{background:var(--warning-bg);color:var(--warning)}
.upload-row,.test-row{display:flex;gap:7px;align-items:center}.file-input{flex:1!important}.file-input input{position:absolute;opacity:0;pointer-events:none}.file-input span{display:flex;align-items:center;min-height:36px;border:1px dashed #cfd1d6;border-radius:9px;padding:7px 10px;color:#64676e;background:#fafafb;cursor:pointer;font-size:10.5px}.test-row{padding-top:9px;border-top:1px solid var(--line-soft)}.test-row input{max-width:210px;direction:ltr;text-align:left}
dialog{border:1px solid var(--line);border-radius:14px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.12);width:min(410px,calc(100% - 24px))}dialog::backdrop{background:rgba(18,19,21,.24);backdrop-filter:blur(2px)}.modal-form{padding:15px;display:grid;gap:9px;position:relative}.modal-form h3{margin:0 0 2px;font-size:13px}.modal-form p{margin:0}.close{position:absolute;left:10px;top:10px;border:0;background:#f1f2f3;width:28px;height:28px;border-radius:8px;font-size:18px;line-height:1}
.alert{padding:9px 11px;border-radius:10px;margin-bottom:9px;font-size:10.5px;line-height:1.7}.alert.danger{background:var(--danger-bg);color:#a52d2d;border:1px solid #f4d6d6}.alert.success{background:var(--success-bg);color:var(--success);border:1px solid #d8eee2}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:16px;background:#f5f6f7}.auth-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.auth-card .brand-mark{margin:auto}.auth-card h1{text-align:center;margin:10px 0 2px;font-size:18px}.auth-card>p{text-align:center;margin:0 0 12px}.auth-modern{padding:22px 20px}.auth-logo{display:grid;place-items:center}.auth-form{padding:8px 0!important}.auth-form label{font-size:10.5px}.auth-form input{height:42px}.otp-input{font-size:19px!important;text-align:center;direction:ltr;letter-spacing:9px;font-weight:800}.otp-hint{text-align:center;color:var(--muted);font-size:9.5px;margin-top:-2px}.resend-form{display:flex;justify-content:center;gap:15px;margin-top:8px}.link-btn{border:0;background:transparent;color:#5f6470;font-size:9.5px;padding:4px}.password-login{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px}.password-login summary{font-size:9.5px;color:var(--muted);cursor:pointer;text-align:center;list-style:none}.password-login summary::-webkit-details-marker{display:none}
.fab{display:none}.mobile-nav{display:none}
.version-chip{font-size:8.5px;color:var(--muted);background:var(--soft);padding:4px 7px;border-radius:999px}.install-details{margin-top:7px}.install-details summary{cursor:pointer;font-weight:700}.install-details code{display:block;margin-top:5px;direction:ltr;text-align:left;white-space:pre-wrap;word-break:break-word;font-size:9px;color:#7f2424}.update-body{align-items:start;padding-top:36px}.update-card{width:min(520px,100%)}.update-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.update-head h1{text-align:right;margin:0 0 3px}.update-head p{text-align:right;margin:0}.update-note{border:1px solid var(--line);background:#fafafb;border-radius:10px;padding:10px 11px;display:grid;gap:3px;margin-bottom:10px}.update-note b{font-size:11.5px}.update-note span{font-size:9.5px;color:var(--muted);line-height:1.8}.file-drop{border:1px dashed #cfd1d6!important;background:#fafafb;border-radius:10px;padding:11px!important;display:grid!important;gap:6px!important}.file-drop input{padding:7px!important;background:#fff!important}.file-drop small{font-size:8.5px;color:var(--muted)}.update-line{margin-top:4px;font-size:9.5px}.update-security{line-height:1.8;margin:10px 1px 0!important;text-align:right!important}.update-security code{direction:ltr;display:inline-block;background:var(--soft);padding:1px 4px;border-radius:4px}.panel>.btn{margin:0 13px 13px}
@media(max-width:760px){
  .sidebar{display:none}.main{width:100%;margin:0}.topbar{height:54px;padding:0 11px}.topbar h1{font-size:13.5px}.org-switch{min-width:0;max-width:142px;height:34px;padding:6px 8px;font-size:9.5px}.icon-btn{width:34px;height:34px}.content{padding:11px 9px calc(72px + env(safe-area-inset-bottom))}.hello{margin-bottom:9px}.hello h2{font-size:17px}.hello p{font-size:9.5px}.hello .btn{display:none}.stats{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.stats a{padding:9px 10px;min-height:51px;border-radius:11px}.stats b{font-size:18px}.panel{border-radius:11px;margin-bottom:8px}.panel-head{min-height:42px;padding:0 11px}.task-row{padding:9px 10px;min-height:49px}.task-main b{font-size:11.5px}.grid2{grid-template-columns:1fr 1fr;gap:7px}.form-panel{padding:11px}.title-input{font-size:13.5px!important}.info-strip{grid-template-columns:1fr 1fr}.info-strip div{border-left:0;border-bottom:1px solid var(--line-soft);padding:7px}.comment-form{display:grid}.comment-actions{justify-content:flex-end;align-items:center}.project-grid{grid-template-columns:1fr;padding:8px}.inline-form{grid-template-columns:1fr 1fr}.inline-form button{grid-column:1/-1}.member-row{grid-template-columns:32px 1fr}.member-row>span{display:none}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;bottom:0;left:0;right:0;min-height:58px;background:rgba(255,255,255,.98);border-top:1px solid var(--line);z-index:40;padding:5px max(7px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-nav a{display:grid;place-items:center;gap:0;font-size:16px;color:#777a82;min-height:42px}.mobile-nav a span{font-size:8px}.mobile-nav .new{width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;margin:auto;font-size:21px;align-self:center}.checks{grid-template-columns:1fr 1fr}.task-detail{padding:11px}.task-title-row h2{font-size:16px}.top-actions .avatar{display:none}.settings-body{padding:10px 11px}.upload-row,.test-row{align-items:stretch}.test-row input{max-width:none;flex:1}.update-body{padding:12px 9px;align-items:start}.update-card{padding:14px}.update-head{align-items:center}.update-head h1{font-size:16px}.update-head .btn{flex:0 0 auto}
}
@media(max-width:430px){.grid2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.auth-card{padding:17px}.org-switch{max-width:120px}.inline-form{grid-template-columns:1fr}.upload-row,.test-row{display:grid}.checks{grid-template-columns:1fr 1fr}.status-actions form{width:100%}.status-actions select{flex:1}.status-actions .btn{flex:0 0 auto}.form-actions .btn{flex:1}}
/* v1.3.0 — Jalali calendar + Bale connection */
.jalali-datetime-field{display:grid;gap:5px}.jalali-datetime-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:7px}.jalali-trigger{min-height:37px;border:1px solid #dddfe3;background:#fff;border-radius:9px;padding:7px 10px;display:flex;align-items:center;gap:7px;color:#73767d;text-align:right}.jalali-trigger.has-value{color:var(--text)}.jalali-trigger-icon{width:22px;height:22px;border-radius:7px;background:var(--soft);display:grid;place-items:center;color:#555960;font-size:12px}.time-input{min-width:0!important;text-align:center;direction:ltr;padding:0 7px!important}.jalali-picker-dialog{width:min(360px,calc(100% - 20px));padding:0;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 60px rgba(0,0,0,.14)}.jalali-picker-dialog::backdrop{background:rgba(18,19,21,.25);backdrop-filter:blur(2px)}.jalali-picker-box{padding:12px}.jp-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin-bottom:8px}.jp-head>div{text-align:center;display:grid;gap:1px}.jp-head b{font-size:13px}.jp-head span{font-size:8.5px;color:var(--muted)}.jp-head button{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:19px;color:#555960}.jp-week,.jp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.jp-week{margin-bottom:3px}.jp-week span{text-align:center;font-size:9px;color:var(--muted);padding:4px 0}.jp-day{height:36px;border:0;border-radius:9px;background:transparent;color:#34363b;font-size:10.5px;display:grid;place-items:center}.jp-day:not(.blank):hover{background:var(--soft)}.jp-day.today{border:1px solid #cfd1d6}.jp-day.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.jp-day.blank{pointer-events:none}.jp-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-soft);padding-top:9px;margin-top:8px}
.jalali-calendar-panel{padding:10px}.calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:9px}.calendar-head>div{text-align:center;display:grid;gap:1px}.calendar-head b{font-size:13px}.calendar-head span{font-size:8.5px;color:var(--muted)}.calendar-nav-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;font-size:20px;color:#555960}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{margin-bottom:3px}.calendar-weekdays span{text-align:center;padding:4px 0;font-size:9px;color:var(--muted)}.calendar-cell{height:47px;border:1px solid transparent;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;color:#3d4046}.calendar-cell:not(.blank):hover{background:#fafafb}.calendar-cell.today{border-color:#d6d8dc}.calendar-cell.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.calendar-day{font-size:10.5px;font-weight:700}.task-dot{width:5px;height:5px;border-radius:50%;background:#7d818a;display:block}.calendar-cell.selected .task-dot{background:#fff}.calendar-cell.blank{pointer-events:none}.calendar-day-tasks .panel-head{border-bottom:1px solid var(--line-soft)}
.settings-shortcut{display:grid}.no-border{border-top:0!important;padding-top:0!important}.top-gap{margin-top:9px!important}.bale-member-list{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.bale-member-row{display:grid;grid-template-columns:minmax(120px,1fr) 170px auto;gap:7px;align-items:center;padding:8px 9px;border-bottom:1px solid var(--line-soft)}.bale-member-row:last-child{border-bottom:0}.bale-member-row>div{display:grid;gap:1px;min-width:0}.bale-member-row b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bale-member-row small{font-size:8.5px;color:var(--muted)}.bale-member-row input{width:100%;min-width:0;border:1px solid #dddfe3;border-radius:8px;padding:7px 8px;font:inherit;font-size:9.5px;background:#fff}.bale-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.wide-field{grid-column:1/-1}.connection-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 8px;align-items:center;margin-top:8px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:9px;background:#fafafb}.connection-summary span{font-size:8.5px;color:var(--muted)}.connection-summary b{font-size:9.5px;font-weight:700}.bale-connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.bale-connection-grid>div{border:1px solid var(--line-soft);border-radius:9px;padding:8px 9px;display:grid;gap:2px}.bale-connection-grid .wide{grid-column:1/-1}.bale-connection-grid small{font-size:8.5px;color:var(--muted)}.bale-connection-grid b{font-size:10.5px}.bale-connection-grid code{font-size:8px;direction:ltr;text-align:left;word-break:break-all;color:#555960}.button-row{display:flex;align-items:center;gap:6px}.button-row.wrap{flex-wrap:wrap}.button-row form{margin:0}
@media(max-width:760px){.jalali-datetime-row{grid-template-columns:1fr 92px}.calendar-cell{height:43px}.jalali-calendar-panel{padding:8px}.bale-member-row{grid-template-columns:1fr 120px auto}.settings-shortcut{display:grid!important}.connection-summary{grid-template-columns:auto 1fr}.bale-connection-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.jalali-datetime-row{grid-template-columns:1fr}.time-input{height:37px}.bale-member-row{grid-template-columns:1fr auto}.bale-member-row input{grid-column:1/2}.connection-summary,.bale-connection-grid{grid-template-columns:1fr}.bale-connection-grid .wide{grid-column:auto}.calendar-cell{height:40px;border-radius:8px}.calendar-grid,.calendar-weekdays{gap:2px}.button-row .btn{flex:1}.button-row form{flex:1}.button-row form .btn{width:100%}}

/* PWA / Brand v1.4.1 */
.brand-logo{display:block;object-fit:contain;background:#fff;border-radius:12px}.brand-logo.small{width:34px;height:34px;border:1px solid var(--line);border-radius:10px}.auth-brand-logo{width:86px;height:86px;margin:0 auto;border-radius:20px;border:1px solid var(--line)}
.pwa-toast{position:fixed;z-index:1000;right:14px;bottom:14px;width:min(390px,calc(100% - 28px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 14px 36px rgba(20,30,45,.12);display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;direction:rtl;animation:pwaIn .18s ease-out}.pwa-toast.is-hidden{display:none}.pwa-toast-logo{width:42px;height:42px;border-radius:11px;object-fit:cover;border:1px solid var(--line)}.pwa-toast-body{min-width:0}.pwa-toast-title{font-size:12px;font-weight:800;margin:0 0 3px;color:var(--text)}.pwa-toast-text{font-size:9.5px;line-height:1.75;color:var(--muted);margin:0}.pwa-toast-actions{grid-column:1/-1;display:flex;gap:7px;justify-content:flex-end}.pwa-toast .btn{min-height:34px;padding:7px 12px;border-radius:10px;font-size:10px}.pwa-toast .btn.ghost{background:#fff;border:1px solid var(--line);color:var(--text)}.pwa-ios-steps{grid-column:1/-1;font-size:9.5px;line-height:1.9;color:var(--muted);background:var(--soft);border-radius:10px;padding:8px 10px}.pwa-update-dot{width:7px;height:7px;border-radius:999px;background:#1677ff;display:inline-block;margin-left:5px;vertical-align:middle}.pwa-installed-toast{position:fixed;z-index:1001;left:50%;bottom:18px;transform:translateX(-50%);background:#15171a;color:#fff;padding:8px 13px;border-radius:999px;font-size:10px;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.16)}
@keyframes pwaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){.pwa-toast{right:9px;bottom:calc(70px + env(safe-area-inset-bottom));width:calc(100% - 18px);border-radius:14px;padding:10px}.auth-brand-logo{width:76px;height:76px;border-radius:18px}}

/* v1.4.1 — clearer task state, priority filters, edit flow, aligned task form */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.task-form .form-field{min-width:0;align-content:start}.task-form .grid2.compact-grid{align-items:start}.task-form input,.task-form select,.task-form .jalali-trigger,.task-form .time-wrap{height:40px;min-height:40px}.task-form textarea{min-height:72px}.task-form select{padding-top:0!important;padding-bottom:0!important}.jalali-datetime-field .label-title,.task-form label.form-field{margin:0}.jalali-datetime-field{align-self:start}.jalali-datetime-row{grid-template-columns:minmax(0,1fr) 104px;align-items:stretch}.jalali-trigger{height:40px;min-height:40px}.time-field{display:block!important;min-width:0}.time-wrap{display:flex;width:100%;min-width:0;border:1px solid #dddfe3;background:#fff;border-radius:9px;padding:0 9px;align-items:center}.time-wrap:focus-within{border-color:#afb2ba;box-shadow:0 0 0 3px rgba(175,178,186,.12)}.time-input{display:block!important;width:100%!important;height:38px!important;min-height:0!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;font-size:11px!important;line-height:38px!important;text-align:center!important}.time-input:focus{border:0!important;box-shadow:none!important;outline:none}.filter-separator{width:1px;align-self:stretch;min-height:25px;background:var(--line);margin:0 1px;flex:0 0 auto}.priority-chip{position:relative;padding-right:19px}.priority-chip:before{content:'';position:absolute;right:8px;top:50%;width:6px;height:6px;border-radius:50%;transform:translateY(-50%);background:#b6b9bf}.priority-chip.high:before{background:#d88b2d}.priority-chip.urgent:before{background:#d34c4c}.priority-chip.normal:before{background:#9da0a6}.priority-chip.active:before{background:#fff}.task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-title-row>div{min-width:0}.task-edit-btn{flex:0 0 auto}.current-status{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:7px;background:#f1f2f3;color:#5f6269;font-weight:700}.current-status.status-doing{background:#eef5ff;color:#2d5f9b}.current-status.status-waiting{background:#fff7e8;color:#8b621f}.current-status.status-review{background:#f7f2ff;color:#70489a}.current-status.status-done{background:var(--success-bg);color:var(--success)}.current-status.status-cancelled{background:#f4f4f5;color:#777a81}.status-section{margin-top:12px;padding-top:11px;border-top:1px solid var(--line-soft)}.status-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.status-section-head>div{display:grid;gap:1px}.status-section-head b{font-size:11.5px}.status-section-head small{font-size:8.5px;color:var(--muted)}.status-quick-actions{display:flex;gap:6px;flex-wrap:wrap}.status-quick-actions form{margin:0}.status-btn{min-height:35px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;color:#61646b;font:inherit;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.status-btn:hover{background:#fafafb;border-color:#d4d6da}.status-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.status-btn.status-done.active{background:var(--success);border-color:var(--success)}.status-btn.status-cancelled.active{background:#686b72;border-color:#686b72}.status-check{font-size:11px}.change-strip{margin:0 10px 4px;padding:9px 10px;background:#fafafb;border:1px solid var(--line-soft);border-radius:10px;display:grid;gap:6px}.change-strip>b{font-size:10.5px}.change-items{display:flex;gap:6px;overflow:auto;scrollbar-width:none}.change-items::-webkit-scrollbar{display:none}.change-items>span{display:grid;gap:1px;min-width:max-content;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}.change-items strong{font-size:9.5px}.change-items small{font-size:8px;color:var(--muted)}
@media(max-width:760px){.task-form .grid2.compact-grid{grid-template-columns:1fr 1fr}.jalali-datetime-row{grid-template-columns:minmax(0,1fr) 96px}.status-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.status-quick-actions form,.status-btn{width:100%}.task-title-row{gap:8px}}
@media(max-width:430px){.task-form .grid2.compact-grid{grid-template-columns:1fr}.jalali-datetime-row{grid-template-columns:minmax(0,1fr) 92px}.task-form input,.task-form select,.task-form .jalali-trigger,.task-form .time-wrap{height:39px;min-height:39px}.time-input{height:37px!important;line-height:37px!important}.status-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-separator{display:block}.task-edit-btn{min-height:31px;padding:5px 8px}}

/* v1.5.1 profile & sessions */
.profile-layout{display:grid;gap:10px}.profile-panel{padding:14px}.profile-hero{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line-soft)}.profile-hero h2{margin:0 0 2px;font-size:16px}.profile-hero span{font-size:11px;color:var(--muted)}.profile-avatar{width:46px;height:46px;font-size:18px}.profile-form{display:grid;gap:10px}.profile-actions{display:flex;gap:8px;justify-content:flex-start;align-items:center}.danger-soft{background:#fff6f6!important;color:#b42318!important;border-color:#f0c8c5!important}.session-list{display:grid}.session-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 12px;border-top:1px solid var(--line-soft)}.session-row:first-child{border-top:0}.session-icon{width:34px;height:34px;border-radius:10px;background:#f4f5f7;display:grid;place-items:center;color:#555}.session-icon .ui-icon{width:16px;height:16px}.session-main{min-width:0;display:grid;gap:3px}.session-main b{font-size:11.5px;font-weight:600;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.session-main small{font-size:9.5px;color:var(--muted);white-space:normal}.current-session{display:inline-flex;padding:2px 6px;border-radius:999px;background:#edf8f1;color:#237a45;font-size:8.5px;font-weight:600}.profile-shortcut{display:flex}
@media(max-width:720px){.profile-panel{padding:11px}.profile-actions{display:grid;grid-template-columns:1fr 1fr}.session-row{grid-template-columns:32px minmax(0,1fr) auto;padding:9px 10px}.session-icon{width:32px;height:32px}.session-main small{font-size:8.8px}.profile-shortcut{display:grid!important}.top-actions .avatar{display:none}}

/* v1.5.1 profile consistency + iOS input zoom fix */
.profile-settings-grid{max-width:none}
.profile-summary-panel .settings-body{padding-top:10px;padding-bottom:10px}
.profile-summary-row{padding:0;border:0}
.profile-summary-row>div:last-child{display:grid;gap:2px;min-width:0}
.profile-summary-row b{font-size:12px}
.profile-summary-row span,.profile-summary-row small{font-size:9.5px;color:var(--muted)}
.profile-fields{align-items:start}
.profile-form{padding:0!important}
.profile-actions{padding-top:10px;margin-top:2px;border-top:1px solid var(--line-soft);display:flex;gap:7px;align-items:center}
.profile-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.profile-actions .ui-icon{width:14px;height:14px}
.profile-settings-grid .session-list{border-top:0}
.profile-settings-grid .session-row:first-child{border-top:0}
@media(max-width:720px){
  /* Safari iOS auto-zooms focused form controls below 16px. Keep controls at 16px while preserving compact containers. */
  input,select,textarea,.bale-member-row input,.time-input{font-size:16px!important}
  input,select{min-height:40px}
  textarea{line-height:1.7}
  .profile-settings-grid{gap:8px}
  .profile-summary-panel .settings-body{padding:9px 10px}
  .profile-fields{grid-template-columns:1fr!important;gap:8px}
  .profile-actions{grid-template-columns:1fr 1fr;display:grid;width:100%}
  .profile-actions .btn{width:100%;min-height:40px}
  .session-row{padding:9px 10px}
}
