
:root{--cyan:#00a9e8;--cyan-dark:#0695cd;--ink:#263238;--muted:#8a949b;--line:#e7ecef;--panel:#fff;--soft:#f7f9fa;--holiday:#ef6a63;--weekend:#f5f8fa}
*{box-sizing:border-box}
html{background:#fff}
body.calendar-page{margin:0;background:#fff;color:var(--ink);font-family:Vazirmatn,Tahoma,Arial,sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none}
.time-header{background:#fff;border-bottom:1px solid #edf1f3;position:sticky;top:0;z-index:5}
.time-header-inner{max-width:1120px;height:58px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.time-brand{display:flex;align-items:center;gap:9px;font-weight:800;color:#1f2d34}.time-brand img{width:27px;height:27px}.time-brand span{font-size:1rem}
.time-header nav{display:flex;align-items:center;gap:6px}.time-header nav a{padding:8px 18px;color:#63727a;font-size:.9rem;border-radius:8px}.time-header nav a.active{color:var(--cyan);font-weight:700;background:#eefaff}
.time-main{max-width:1120px;margin:0 auto;padding:20px 18px 42px}
.today-panel{min-height:150px;display:flex;align-items:center;justify-content:center;gap:34px;border-bottom:1px solid var(--line);text-align:right}
.today-clock{font-size:clamp(2.1rem,5vw,4rem);font-weight:700;letter-spacing:.06em;direction:ltr;color:#36434a;min-width:210px;text-align:center}
.today-info{min-width:300px}.today-info h1{font-size:1.65rem;margin:0 0 9px;font-weight:700}.today-line{font-size:.98rem}.today-line.muted{color:var(--muted);font-size:.86rem}
.calendar-panel{background:#fff;margin-top:18px}
.calendar-toolbar{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;min-height:64px;border-bottom:1px solid var(--line)}
.month-arrow{width:42px;height:42px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:#7d8a90;font-size:2rem;line-height:1;transition:.15s}.month-arrow:hover{border-color:var(--cyan);color:var(--cyan)}
.month-center{display:grid;grid-template-columns:1fr auto auto auto 1fr;align-items:end;gap:14px;max-width:650px;margin:auto;width:100%}.month-center>*{text-align:center}.month-before,.month-after{font-size:.82rem;color:var(--muted);padding-bottom:7px}.month-current{font-size:1.25rem;font-weight:800;padding-bottom:0}.year-box{border:1px solid var(--line);border-radius:7px;padding:2px 14px 4px;min-width:88px}.year-box span{display:block;color:var(--muted);font-size:.7rem;line-height:1.2}.year-box strong{font-size:1rem}
.year-form{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 18px;color:#6e7b82;font-size:.78rem}.year-form div{display:flex}.year-form input{width:92px;height:34px;border:1px solid #dfe6e9;border-left:0;border-radius:0 6px 6px 0;text-align:center;font:inherit;outline:none}.year-form button{height:34px;border:0;background:var(--cyan);color:#fff;padding:0 16px;border-radius:6px 0 0 6px;font:inherit;cursor:pointer}
.calendar-grid-wrap{border:1px solid var(--line);border-radius:6px;overflow:hidden}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#fff}.cal-dow{min-height:38px;display:flex;align-items:center;justify-content:center;background:#fbfcfd;color:#6d7a81;font-size:.78rem;font-weight:700;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-cell{min-height:122px;padding:8px 7px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:#fff}.cal-cell:nth-child(7n){border-left:0}.cal-cell.empty{background:#fcfdfd}.cal-cell.weekend{background:var(--weekend)}.cal-cell.holiday{background:#fff9f9}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--cyan);z-index:1}.daynum{display:block;font-size:1.05rem;font-weight:800;color:#45545c}.gdate{display:block;margin-top:-2px;color:#9aa5aa;font-size:.68rem}.events{display:grid;gap:2px;margin-top:6px}.event{font-size:.66rem;line-height:1.55;color:#5c696f}.event.h{color:var(--holiday);font-weight:700}.weekend .daynum,.holiday .daynum{color:var(--holiday)}
.calendar-today{display:flex;justify-content:center;padding:14px 0}.calendar-today button{border:1px solid var(--cyan);background:#fff;color:var(--cyan);border-radius:6px;padding:6px 16px;font:inherit;cursor:pointer}
.events-panel{border-top:1px solid var(--line);padding-top:20px}.events-panel h2{margin:0 0 12px;font-size:1.05rem;font-weight:700}.event-list{margin:0;padding:0;list-style:none;display:grid;gap:5px}.event-list li{padding:7px 9px;border-bottom:1px solid #eff2f3;font-size:.8rem}.event-list li.holiday{color:var(--holiday);font-weight:600}.event-list small{color:#a0a9ae;font-size:.7rem}.calendar-footer{display:flex;justify-content:center;padding:24px 0 0;color:#97a2a8;font-size:.74rem}
@media(max-width:760px){.today-panel{flex-direction:column;gap:5px;padding:22px 0;text-align:center}.today-info{min-width:0}.today-clock{min-width:0}.month-center{grid-template-columns:1fr auto 1fr;gap:8px}.month-before{display:none}.month-after{font-size:.75rem}.year-box{display:none}.cal-cell{min-height:100px;padding:6px}.event{font-size:.6rem}.cal-dow{font-size:.7rem}.time-header-inner{padding:0 12px}.time-main{padding:12px 10px 32px}}
@media(max-width:480px){.today-info h1{font-size:1.3rem}.today-clock{font-size:2rem}.month-current{font-size:1.08rem}.calendar-toolbar{grid-template-columns:44px 1fr 44px}.month-arrow{width:36px;height:36px}.cal-cell{min-height:88px}.gdate{font-size:.57rem}.event{font-size:.54rem;line-height:1.45}.daynum{font-size:.92rem}}
@media print{.time-header,.year-form,.month-arrow,.calendar-today,.calendar-footer{display:none!important}.time-main{max-width:none;padding:0}.today-panel{border:0}.calendar-grid-wrap{border:1px solid #ccc}.cal-cell{min-height:105px}}
