:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:#1f2937;background:#f5f8fb;
  --brand:#125f79;--brand-dark:#0b455b;--brand-soft:#e3f1f5;--accent:#d8eee5;
  --border:#cbdbe2;--muted:#596975;--danger:#9f3030;
}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f7fbfc 0,#f5f8fb 260px)}
.topbar{background:#fff;border-bottom:1px solid var(--border);padding:12px max(16px,calc((100% - 1220px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20;box-shadow:0 2px 14px #2037440a}
.brand{text-decoration:none;color:var(--brand-dark);display:flex;flex-direction:column;line-height:1.05}.brand span{font-size:23px;font-weight:850;letter-spacing:-.4px}.brand small{font-size:10.5px;color:#71808b;font-weight:600;margin-top:3px;white-space:nowrap}
.main-nav{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.main-nav a{text-decoration:none;color:#334155;font-size:13.5px;padding:8px 9px;border-radius:8px}.main-nav a:hover{background:var(--brand-soft);color:var(--brand-dark)}
.container{max-width:1220px;margin:auto;padding:24px 16px 60px}.card,.module-card,.activity-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 3px 14px #2747590b}.narrow{max-width:530px;margin:40px auto}.hero{padding:65px 0;text-align:center}.hero h1{font-size:46px;color:var(--brand-dark);margin-bottom:8px}.hero .tagline{font-size:19px;color:#5c6d78;margin-top:0}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{display:inline-block;border:1px solid #bfced6;background:#fff;color:#1f2937;padding:10px 14px;border-radius:10px;text-decoration:none;cursor:pointer;font:inherit;font-weight:650}.btn:hover{background:#f7fafb}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:hover{background:var(--brand-dark)}.btn.danger{background:#fff5f5;border-color:#efbcbc;color:#8f2f2f}.btn.small{padding:7px 10px;font-size:13px}.btn.wide{width:100%;text-align:center}.btn[disabled]{opacity:.45;cursor:not-allowed}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;background:#e5e7eb}.badge.ok{background:#ddf4e9;color:#216445}.badge.warn{background:#fff1ce;color:#8a5c00}.badge.off{background:#e9edf0;color:#68747d}.badge.info{background:var(--brand-soft);color:var(--brand-dark)}
.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px}.flash.ok{background:#ddf4e9}.flash.error{background:#fee2e2}.flash.info{background:var(--brand-soft)}
.student-head,.section-title,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.student-head{background:#fff;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:14px;padding:16px 18px}.student-head h1,.section-title h1{margin:0 0 5px}.student-head p,.section-title p,.muted{color:var(--muted);margin:0}
.module-grid,.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{min-height:185px;display:flex;flex-direction:column}.module-card h2,.activity-card h3{margin-top:0;color:#233944}.module-card .btn{margin-top:auto}.module-card.disabled{opacity:.64;background:#f7f9fa}.module-card .status-note{font-weight:800;color:#71808b;margin-top:auto}
.two-col{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-weight:650;margin:12px 0}input,select,textarea{width:100%;padding:10px;border:1px solid #c5d2d9;border-radius:9px;margin-top:5px;font:inherit;background:white}input:focus,select:focus,textarea:focus{outline:2px solid #b7dce8;border-color:var(--brand)}input[type=checkbox],input[type=radio]{width:auto;margin-right:6px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:11px 12px;border-bottom:1px solid #edf2f4;text-align:left;font-size:14px}th{background:#f6fafb;color:#465966}.hidden{display:none!important}.list-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid #edf2f4}.list-item small{display:block;color:var(--muted);margin-top:4px}
.summary-box{background:#f5fafb;border:1px solid #dfecef;border-radius:12px;padding:14px;margin:14px 0;font-weight:700}.danger-zone{border:1px solid #efc5c5;background:#fff8f8;border-radius:12px;padding:14px;margin-top:18px}.pillbar{display:flex;gap:8px;flex-wrap:wrap}.pillbar a{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #dbe2ea;text-decoration:none;color:#334155}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}.stat b{font-size:22px;display:block;margin-top:4px;color:var(--brand-dark)}
.calendar-shell{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(500px,1.5fr);gap:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{text-align:center;font-size:12px;color:var(--muted);padding:5px}.cal-day{background:#fff;border:1px solid #dbe5ea;border-radius:10px;min-height:88px;padding:7px;font-size:13px;position:relative}.cal-day.button{cursor:pointer;text-align:left;font:inherit;color:inherit}.cal-day.button:hover{border-color:#8fc5d5;background:#f2fafc}.cal-day.selected{background:#dff2f6;border-color:#68aec3;box-shadow:inset 0 0 0 1px #68aec3}.cal-day.has-entry{border-bottom:4px solid #d1a65b}.cal-day.blocking{border-bottom-color:#b85f5f}.cal-day .day-number{font-weight:800}.cal-tags{margin-top:7px;display:flex;flex-direction:column;gap:3px}.cal-tag{font-size:10px;line-height:1.2;padding:3px 5px;border-radius:5px;background:#edf4f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-entry-list{margin-top:18px}.calendar-help{font-size:13px;color:var(--muted);background:#f6fafb;border-radius:10px;padding:10px}
.inline-form{display:flex;gap:7px;align-items:end;flex-wrap:wrap}.inline-form input{margin:0}.email-cell{max-width:220px;word-break:break-all}.note{font-size:13px;color:var(--muted)}
@media(max-width:980px){.calendar-shell{grid-template-columns:1fr}.main-nav{max-width:700px}}
@media(max-width:850px){.module-grid,.activity-grid,.two-col,.stat-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;position:static;flex-direction:column}.main-nav{justify-content:flex-start}.row{grid-template-columns:1fr}.container{padding-top:16px}.module-card{min-height:auto}.calendar-grid{gap:3px}.cal-day{min-height:68px;padding:5px;font-size:12px}.brand small{white-space:normal}.hero h1{font-size:38px}}

.settings-card{background:#fff;border:1px solid #c9dbe2;border-radius:14px;padding:18px;margin-top:16px;box-shadow:0 2px 9px #1c42520b}.edit-sections{display:grid;gap:16px}.settings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.settings-head h2{margin:0 0 5px;color:#173d4b}.settings-head p{margin:0;color:var(--muted);font-size:13px}.check-line{display:flex;align-items:flex-start;gap:8px}.check-line input{width:auto;margin-top:3px}.account-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.account-info>div{background:#f2f7f9;border:1px solid #d8e5ea;border-radius:10px;padding:11px}.account-info span{display:block;color:var(--muted);font-size:12px}.status-badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-badge.active{background:#dff3e8;color:#155f3e}.status-badge.inactive{background:#edf0f2;color:#59666d}.status-badge.neutral{background:#e5f1f5;color:#235c6d}.action-details{border-top:1px solid #dde8ec;padding-top:12px;margin-top:12px}.action-details summary{cursor:pointer;font-weight:800;color:#245b6d}.details-body{padding-top:12px}.info-box,.warning-box,.locked-box{border-radius:10px;padding:12px;margin:10px 0}.info-box{background:#eef6f8;border:1px solid #d2e5eb}.warning-box{background:#fff7e6;border:1px solid #e6cc91}.locked-box{background:#f3f5f6;border:1px solid #d7dee1}.delete-card{background:#fffdfd;border-color:#e3cccc}.btn.warning{background:#fff5df;border-color:#e1c06f;color:#715218}.btn.soft{background:#e9f4f7;border-color:#bfd9e2;color:#174e60}.filter-bar{display:grid;grid-template-columns:180px 190px 210px minmax(220px,1fr) auto;gap:10px;align-items:end;background:#fff;border:1px solid #cbdbe2;border-radius:14px;padding:14px;margin:14px 0}.filter-bar label{margin:0}.filter-actions{display:flex;gap:7px;align-items:center}.result-count{margin:8px 2px 12px}@media(max-width:980px){.filter-bar{grid-template-columns:1fr 1fr}}@media(max-width:650px){.filter-bar,.account-info{grid-template-columns:1fr}}

/* Udzio v5 — kopie i archiwum */
.archive-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.archive-status{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}.archive-status span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.archive-status strong{font-size:16px;color:var(--brand-dark)}.archive-create-card,.backup-recommend{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.archive-create-card h2{margin:0 0 5px}.archive-create-card p,.backup-recommend p{margin:3px 0}.backup-recommend{border-left:4px solid var(--brand)}
@media(max-width:850px){.archive-status-grid{grid-template-columns:1fr}.archive-create-card,.backup-recommend{align-items:flex-start;flex-direction:column}}
