*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr)}.sidebar{background:var(--navy);color:#e8f0f7;padding:22px 15px;display:flex;flex-direction:column;gap:20px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:3px 8px 18px;border-bottom:1px solid #ffffff20}.brandmark{height:42px;width:42px;background:#1d696c;border-radius:13px;display:grid;place-items:center;font-size:22px}.brand strong{display:block;font-size:14px;letter-spacing:.5px}.brand small{color:#9bc8ca}.nav{display:grid;gap:5px}.nav button{color:#bfd0df;background:transparent;border:0;text-align:left;padding:11px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;font-weight:600}.nav button:hover,.nav button.active{background:#ffffff16;color:#fff}.nav button.active{box-shadow:inset 3px 0 #50c6b4}.sidefoot{margin-top:auto;padding:12px;color:#9fb4c7;font-size:11px;border-top:1px solid #ffffff20}.main{min-width:0;padding:30px clamp(18px,3vw,44px) 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.eyebrow{font-size:11px;color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:1.2px}.pageTitle{font-size:28px;line-height:1.15;margin:4px 0 5px;letter-spacing:-.8px}.sub{color:var(--muted);margin:0}.topactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 13px;font-weight:700;font-size:13px}.btn:hover{border-color:#9acfc8}.btn.primary{background:var(--teal);color:white;border-color:var(--teal)}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.danger{color:var(--red);border-color:#f0cbd0}.btn.ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:15px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--shadow)}.statlabel{color:var(--muted);font-size:12px;font-weight:700}.statval{font-size:29px;font-weight:850;letter-spacing:-1px;margin-top:7px}.statnote{font-size:11px;color:var(--muted);margin-top:3px}.hero{background:linear-gradient(115deg,#15334f,#0e7776);color:white;border:0;padding:27px;margin-bottom:17px}.hero h2{font-size:26px;margin:3px 0 8px}.hero p{color:#d4e8ec;max-width:650px;margin:0 0 19px}.hero .eyebrow{color:#8be1d3}.heroActions{display:flex;flex-wrap:wrap;gap:9px}.hero .btn{border:0}.hero .btn.primary{background:#82dfc7;color:#123448}.hero .btn.secondary{background:#ffffff19;color:white;border:1px solid #ffffff35}.two{grid-template-columns:1.1fr .9fr}.sectionTitle{font-size:17px;margin:0 0 13px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--muted)}.small{font-size:12px}.tag{display:inline-flex;align-items:center;border-radius:100px;padding:4px 9px;font-size:10px;font-weight:800;background:#edf3f6;color:#496073}.tag.green{background:#e3f5ed;color:#14734e}.tag.amber{background:#fff3df;color:#966014}.tag.red{background:#fdebed;color:#b33343}.tag.blue{background:#e7f1fb;color:#28608f}.progress{height:8px;background:#e9eff3;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--teal);border-radius:99px}.catrow{padding:11px 0;border-bottom:1px solid var(--line)}.catrow:last-child{border-bottom:0}.catname{font-weight:700;font-size:13px}.topiclist{display:grid;gap:9px}.topic{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.topic p{margin:7px 0 0;color:var(--muted);font-size:13px}.topic.done{border-color:#afe1cc;background:#f7fcf9}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.field{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white;min-width:0;color:var(--ink)}.field.search{flex:1;min-width:200px}.quizwrap{max-width:920px;margin:0 auto}.quizmeta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.qcard{padding:clamp(18px,3vw,28px)}.qhead{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.scenario{padding:13px 15px;background:#f0f5f8;border-left:3px solid var(--teal);border-radius:9px;margin-bottom:15px;color:#3c5366;font-size:13px}.qtext{font-size:20px;line-height:1.42;font-weight:760;margin:12px 0 19px}.options{display:grid;gap:9px}.option{width:100%;appearance:none;-webkit-appearance:none;text-align:left;color:var(--ink);-webkit-text-fill-color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 14px;display:flex;align-items:flex-start;gap:12px;transition:.15s}.option:hover{border-color:#81c9bd;background:#f8fdfc}.option .letter{height:28px;width:28px;flex:0 0 28px;border-radius:8px;display:grid;place-items:center;background:#eef3f6;color:#41566a;font-size:12px;font-weight:850}.option.selected{border-color:#4cafa3;background:#eefaf7}.option.correct{border-color:#4ba77a;background:#effaf3}.option.wrong{border-color:#d9707b;background:#fff2f3}.option:disabled{cursor:default}.feedback{margin-top:16px;padding:15px;border-radius:11px;background:#f0f6f8;font-size:13px}.feedback.ok{background:#eaf7f0;color:#176646}.feedback.bad{background:#fff0f1;color:#9c2f3a}.qactions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:20px}.qnav{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.qnav button{height:29px;min-width:29px;border-radius:8px;border:1px solid var(--line);background:white;color:var(--muted);font-size:11px}.qnav button.current{background:var(--navy);color:white}.qnav button.answered{border-color:#7fc8b7;background:#ecfaf6;color:#126c60}.resultScore{font-size:44px;font-weight:900;letter-spacing:-2px}.resultLine{padding:13px 0;border-bottom:1px solid var(--line)}.resultLine:last-child{border:0}.notice{padding:13px 15px;background:#fff8e9;color:#80540d;border:1px solid #f4ddb1;border-radius:12px;font-size:12px;margin-bottom:14px}.empty{padding:35px;text-align:center;color:var(--muted)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.modalback{position:fixed;inset:0;background:#0c1b2bbd;display:grid;place-items:center;padding:16px;z-index:30}.modal{width:min(560px,100%);max-height:85vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 20px 80px #0004}.hide{display:none!important}[hidden]{display:none!important}.footerNote{font-size:11px;color:var(--muted);line-height:1.55}.topicbody{max-width:900px}.keyselect{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.keyselect select{min-width:90px}.mobilemenu{display:none}
body.dark{--ink:#e5edf3;--muted:#9eb0be;--bg:#101a25;--card:#182635;--line:#2d4051;--shadow:none}body.dark .field,body.dark .btn,body.dark .option,body.dark .topic,body.dark .qnav button{background:#182635;color:var(--ink);border-color:var(--line)}body.dark .scenario{background:#203243;color:#c4d3df}body.dark .option.selected{background:#163b3a}body.dark .option.correct{background:#17392c}body.dark .option.wrong{background:#46252a}body.dark .feedback{background:#233747;color:#e4edf3}body.dark .feedback.ok{background:#17392c;color:#b8ebce}body.dark .feedback.bad{background:#46252a;color:#ffc6cb}body.dark .progress{background:#304354}body.dark .modal{background:#182635}body.dark .hero{background:linear-gradient(115deg,#17334e,#105d5d)}





#klinicznikAuth{position:fixed;inset:0;z-index:99999;background:#f4f7fa;display:grid;place-items:center;padding:20px;font-family:Inter,system-ui,sans-serif}#klinicznikAuth .authcard{background:#fff;width:min(440px,100%);padding:30px;border-radius:18px;box-shadow:0 18px 60px #12283f22}#klinicznikAuth h1{font-size:23px;margin:0 0 6px;color:#12283f}#klinicznikAuth p{color:#68798a;margin:0 0 20px}#klinicznikAuth label{display:block;font-size:13px;font-weight:700;margin:12px 0 5px;color:#263c50}#klinicznikAuth input{width:100%;padding:12px;border:1px solid #dbe4eb;border-radius:9px}#klinicznikAuth button{width:100%;padding:12px;margin-top:16px;background:#0f9f9a;color:#fff;border:0;border-radius:9px;font-weight:800}#klinicznikAuth .authmsg{font-size:13px;margin-top:12px;min-height:20px;color:#a33}#klinicznikCloud{font-size:11px;color:#16875e;font-weight:700;margin-right:8px}


/* Mobile viewport containment: prevent page-level horizontal overflow */
html,body{width:100%;max-width:100%;overflow-x:clip}
body{min-width:0}
#app,.app,.main,.sidebar,.topbar,.topactions,.card,.grid,.toolbar,.quizwrap,
.editor-form,.editor-grid,.proposal-list,.proposal-card,.modalback,.modal{
  min-width:0;max-width:100%;
}
.app{grid-template-columns:258px minmax(0,1fr);width:100%}
.main{min-width:0;width:100%}
img,svg,video,canvas,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
.field,.editor-field .field{min-width:0}
.table{width:100%;max-width:100%}







/* Klinicznik mobile-first refinement — safe-area aware, touch-friendly layout */
html{min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:320px;overflow-x:hidden}
button,.btn,.nav button,.option{touch-action:manipulation}
#app,.app,.main,.grid,.card{min-width:0}
img,svg,video,canvas{max-width:100%}
.field,select,input,textarea{max-width:100%}
.table{max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #51bfb4;outline-offset:2px}








.editor-form{display:grid;gap:12px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-field{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--ink)}.editor-field .field{width:100%;min-width:0}.editor-form textarea{resize:vertical}.proposal-list{display:grid;gap:10px}.proposal-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--card);min-width:0}.proposal-card p{margin:10px 0}.proposal-card ol{margin:8px 0;padding-left:23px}.proposal-card li{margin:4px 0}.proposal-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.proposal-actions .btn{min-height:40px}.editor-assignment{padding:11px 0;border-bottom:1px solid var(--line)}.editor-assignment:last-child{border-bottom:0}


/* Klinicznik 3.0 — simplified navigation and learning hub */
.app{grid-template-columns:232px minmax(0,1fr)}
.brand strong{font-size:15px;letter-spacing:.7px}
.brand small{display:block;line-height:1.35;margin-top:3px}
.nav{gap:7px}
.nav button{min-height:46px}
.learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:20px}
.learning-card{display:flex;align-items:flex-start;gap:13px;min-width:0;width:100%;min-height:134px;padding:17px;text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--ink);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.learning-card:not(:disabled):hover{transform:translateY(-2px);border-color:#8bcfc4}
.learning-card:disabled{opacity:.72;cursor:default}
.learning-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.learning-copy b{font-size:15px;line-height:1.3}
.learning-copy small{font-size:12px;line-height:1.5;color:var(--muted)}
.learning-copy em{font-size:11px;font-style:normal;font-weight:800;color:var(--teal);margin-top:auto;padding-top:5px}
.learning-icon{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:12px;font-size:21px;font-weight:800}
.learning-teal{background:#e2f5f1;color:#137f78}
.learning-blue{background:#e8effb;color:#476da8}
.learning-violet{background:#eeeafb;color:#7664ad}
.learning-amber{background:#fbf1df;color:#a77722}
.learning-pink{background:#f7eaf1;color:#9a5c80}
.learning-green{background:#e8f3e9;color:#4b8358}
.learning-navy{background:#e8eef5;color:#41617d}
.learning-coming{background:var(--bg);border-style:dashed;box-shadow:none}
.learn-intro{margin-bottom:20px}
.learn-heading{font-size:23px;margin:4px 0 5px;letter-spacing:-.5px}
.learn-spark{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:15px;background:var(--teal2);color:var(--teal);font-size:27px}
.learning-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px}
.learning-section-title .sectionTitle{margin:0}
.future-title{margin-top:24px}
.dashboard-hero{border-radius:18px}
.dashboard-lower{margin-top:15px}
.dashboard-lower .card{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.dashboard-lower .btn{margin-top:auto}
.profile-card{display:flex;align-items:center;gap:16px;margin-bottom:15px}
.profile-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;background:var(--teal2);color:#127c76;font-size:25px;font-weight:850}
.profile-identity h2{font-size:20px;margin:0 0 3px}
.profile-identity p{margin:0 0 7px;font-size:13px;overflow-wrap:anywhere}
.profile-settings{margin-bottom:15px}
.profile-setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.profile-setting-row p{margin:3px 0 0}
.profile-actions{display:flex;gap:9px;flex-wrap:wrap}
.profile-admin-link{margin-top:10px}
.profile-danger{margin-top:15px;border-color:#efd8dc}
.profile-logout{display:flex;justify-content:flex-end;margin-top:14px}
.topbar{margin-bottom:20px}







/* Mobile usability polish — consolidated final overrides */






