
*{box-sizing:border-box}.planner{max-width:1100px;margin:1.1rem auto 2rem;min-width:0}.planner-shell{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(12px,2.5vw,24px);min-width:0}
.planner-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.stat{background:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;padding:12px 8px;text-align:center;min-width:0}.stat strong{display:block;font-size:1.4rem;color:var(--primary-color)}.stat span{font-size:.84rem;color:var(--text-muted)}
.planner-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:start}.panel{border:1px solid var(--border-color);border-radius:13px;padding:15px;margin-bottom:14px;min-width:0}.panel h2{font-size:1.12rem;margin:0 0 13px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-weight:700}.field input,.field select,.field textarea{font:inherit;color:var(--text-main);background:var(--bg-main);border:1px solid var(--border-color);border-radius:9px;padding:10px;width:100%;min-width:0}.field textarea{min-height:75px;resize:vertical}.full{grid-column:1/-1}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.actions .btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;cursor:pointer}.btn.secondary{background:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}
.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.filter-row button{font:inherit;background:var(--bg-main);color:var(--text-main);border:1px solid var(--border-color);border-radius:9px;padding:8px 12px;cursor:pointer}.filter-row button.active{background:var(--primary-color);color:#fff}
.event-list{display:grid;gap:9px}.event{border:1px solid var(--border-color);border-inline-start:4px solid var(--primary-color);border-radius:11px;padding:12px;min-width:0;background:var(--bg-card)}.event.exam{border-inline-start-color:#c43d4b}.event.assignment{border-inline-start-color:#a86a13}.event.registration{border-inline-start-color:#4379bf}.event-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.event-title{font-weight:800;overflow-wrap:anywhere}.event-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px;font-size:.86rem;color:var(--text-muted)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:20px;background:var(--bg-main);border:1px solid var(--border-color);font-size:.8rem}.event-actions{display:flex;gap:5px;flex-shrink:0}.icon-action{border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-main);border-radius:8px;min-width:34px;height:34px;cursor:pointer}.countdown{font-weight:800;color:var(--primary-color);margin-top:9px}.countdown.urgent{color:#c43d4b}.empty{padding:20px 12px;border:1px dashed var(--border-color);border-radius:11px;color:var(--text-muted);text-align:center}.status{margin:10px 0 0;padding:10px;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-main);color:var(--text-main)}.status:empty{display:none}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.calendar-head button{border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-main);border-radius:8px;width:38px;height:36px;cursor:pointer}.calendar-head strong{font-size:1rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday,.day{min-width:0;text-align:center;padding:7px 2px;border-radius:7px;font-size:.84rem}.weekday{font-weight:800;color:var(--text-muted)}.day{border:1px solid transparent;background:var(--bg-main);color:var(--text-main);min-height:38px;cursor:pointer}.day.muted{opacity:.38}.day.today{border-color:var(--primary-color);font-weight:800}.day.has-event:after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--primary-color);margin:3px auto 0}.day.selected{background:var(--primary-color);color:white}.day.selected:after{background:white}
.plan-item{padding:10px;border:1px solid var(--border-color);border-radius:9px;margin-top:8px}.plan-item strong{display:block}.plan-bar{height:7px;background:var(--border-color);border-radius:20px;overflow:hidden;margin-top:8px}.plan-bar span{height:100%;display:block;background:var(--primary-color)}.hint{font-size:.88rem;color:var(--text-muted);margin:8px 0 0}.notice-item{padding:9px 10px;border-radius:9px;background:var(--bg-main);border:1px solid var(--border-color);margin-top:7px}.notice-item strong{display:block}

@media(max-width:760px){.planner-grid{grid-template-columns:minmax(0,1fr)}.planner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-shell{padding:11px}.panel{padding:11px}.event-top{gap:6px}.event-actions{gap:3px}.icon-action{min-width:32px}.fields{grid-template-columns:1fr}.full{grid-column:auto}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.actions .btn{width:100%;padding-inline:7px}.day{min-height:35px;font-size:.78rem}.weekday{font-size:.75rem;padding-inline:0}}
@media(max-width:380px){.event-top{flex-direction:column}.event-actions{align-self:flex-end}.stat span{font-size:.78rem}}


      .related-tools-section{max-width:980px;margin:1.5rem auto;padding:1rem;box-sizing:border-box;width:calc(100% - 2rem);border:1px solid var(--border-color,#ddd);border-radius:14px;background:var(--bg-card,transparent)}
      .related-tools-section h2{font-size:1.2rem;margin:0 0 .75rem}
      .related-tools-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.75rem}
      .related-tools-list li{min-width:0;border:1px solid var(--border-color,#ddd);border-radius:10px;padding:.8rem}
      .related-tools-list a{font-weight:700;color:var(--primary-color,#16784b);text-decoration:none}
      .related-tools-list a:hover,.related-tools-home:hover{text-decoration:underline}
      .related-tools-list p{margin:.35rem 0 0;font-size:.92rem;line-height:1.6;color:var(--text-muted,var(--text-main,#555))}
      .related-tools-home{display:inline-block;margin-top:.85rem;font-weight:700;color:var(--primary-color,#16784b)}
    
/* Portal theme integration */
.planner{--bg-card:#fff;--border-color:#dce9e0;--radius-lg:18px;--shadow-sm:0 8px 28px #102f1a0a;--bg-main:#f3f8f4;--primary-color:#087443;--text-muted:#617667;--text-main:#20352c;color:var(--text-main)}
.planner{width:min(1100px,calc(100% - 28px));margin:0 auto 42px}
.planner .page-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;color:#617667;font-size:.9rem}
.planner .page-breadcrumb a{color:#087443}
.planner .page-intro{background:linear-gradient(120deg,#064e3b,#087443);color:#fff;border-radius:18px;padding:clamp(20px,4vw,34px);margin:12px 0 18px}
.planner .page-intro h1{color:#fff;font-size:clamp(1.5rem,4vw,2.15rem);line-height:1.4;margin:0 0 8px}
.planner .page-intro p{color:#effcf4;line-height:1.8;margin:0}
.planner .page-intro-icon{display:none}
.planner-ad{width:100%;max-width:970px;min-width:0;box-sizing:border-box;margin:18px auto;padding:10px 12px;text-align:center;border:1px solid #e2ebe4;border-radius:14px;overflow:hidden}
.planner-ad-label{margin:0 0 8px;color:#708176;font-size:.78rem}.planner-ad ins.adsbygoogle{display:block;width:100%;max-width:100%;min-width:0;margin-inline:auto}
.planner .related-tools-section{max-width:980px;margin:1.5rem auto;padding:1rem;box-sizing:border-box;width:calc(100% - 2rem);border:1px solid #dce9e0;border-radius:14px;background:var(--surface-color,#fff)}
.planner .related-tools-home{display:inline-flex;align-items:center;margin-top:10px;padding:10px 13px;background:#e8f3eb;color:#145735;border-radius:10px;text-decoration:none;font-weight:800}
@media(max-width:760px){.planner{width:calc(100% - 20px)}.planner .page-intro{border-radius:16px}}
@media(max-width:520px){.planner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-grid{grid-template-columns:minmax(0,1fr)!important}}
@media print{.header,.footer,.dz-share-slot,.planner-ad{display:none!important}.planner{width:100%;margin:0}.planner .page-intro{background:#fff!important;color:#111!important;border:1px solid #aaa}.planner .page-intro h1,.planner .page-intro p{color:#111!important}.planner-shell,.planner .panel{box-shadow:none;break-inside:avoid}}
