:root{--bg:#f3f5f8;--panel:#fff;--ink:#162033;--muted:#697386;--line:#dce1e9;--nav:#071c35;--blue:#155eef;--blue2:#0b4bc4;--amber:#f7a928;--green:#18845d;--red:#c73b47;--shadow:0 12px 30px rgba(22,32,51,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{min-height:68px;background:var(--nav);color:#fff;display:flex;align-items:center;padding:0 28px;gap:36px;box-shadow:0 2px 12px #0002}.brand{color:#fff;text-decoration:none;font-weight:750;font-size:18px;display:flex;align-items:center;gap:10px}.brand-mark{background:var(--amber);color:#10203a;padding:7px 8px;border-radius:7px;font-size:12px;letter-spacing:.08em}.topbar nav{display:flex;gap:5px;flex:1}.topbar nav a,.link-button{color:#dce8f7;text-decoration:none;border:0;background:transparent;font:inherit;cursor:pointer;padding:10px 12px;border-radius:8px}.topbar nav a:hover,.link-button:hover{background:#ffffff18;color:#fff}.userbox{display:flex;gap:12px;align-items:center;font-size:13px}.userbox form{margin:0}.page{width:min(1240px,calc(100% - 32px));margin:28px auto 60px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.hero{border-radius:20px;padding:40px;background:linear-gradient(135deg,#071c35,#123c6b);color:#fff;margin-bottom:22px}.hero h1,.page-head h1{font-size:clamp(30px,4vw,48px);margin:6px 0 8px;letter-spacing:-.035em}.hero p,.page-head p{margin:0;color:#c6d5e7}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--amber)}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.module-card{padding:28px;border-radius:18px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:.15s}.module-card:hover{transform:translateY(-2px);border-color:#a9bad1}.module-card h2{font-size:26px;margin:28px 0 8px}.module-card p{color:var(--muted)}.module-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e9f0ff;color:var(--blue);font-weight:900}.module-card.reviews .module-icon{background:#fff2d9;color:#a65e00}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.page-head h1{font-size:40px}.page-head p{color:var(--muted)}.head-actions{display:flex;gap:8px}.progress-card{min-width:280px;background:#fff;border:1px solid var(--line);padding:18px;border-radius:14px;box-shadow:var(--shadow)}.progress-card strong{font-size:30px;display:block}.progress-card span{font-size:12px;color:var(--muted)}.progress,.rank-bar{height:8px;background:#e8ecf2;border-radius:20px;overflow:hidden;margin-top:12px}.progress i,.rank-bar i{height:100%;display:block;background:linear-gradient(90deg,var(--blue),#45a2ff);border-radius:inherit}.toolbar{padding:14px;display:flex;gap:12px;margin-bottom:16px}.toolbar input{flex:1}.segmented{display:flex;background:#edf1f6;padding:3px;border-radius:9px}.segmented button{border:0;background:transparent;padding:8px 12px;border-radius:7px;color:var(--muted);font-weight:700;cursor:pointer}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0001}.section-list{display:flex;flex-direction:column;gap:12px}.service-section{overflow:hidden}.section-head{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:14px;padding:17px 20px;text-align:left;cursor:pointer}.section-head>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.section-head small{color:var(--muted)}.section-number{font-size:19px;font-weight:850;color:var(--blue);font-variant-numeric:tabular-nums}.chevron{font-size:22px;transition:.15s}.collapsed .chevron{transform:rotate(-90deg)}.collapsed .task-list{display:none}.task-list{border-top:1px solid var(--line)}.task-row{display:grid;grid-template-columns:34px minmax(260px,1fr) minmax(150px,200px) auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #edf0f4}.task-row:last-child{border-bottom:0}.task-check{width:29px;height:29px;border:2px solid #bdc6d3;border-radius:8px;background:#fff;color:#fff;cursor:pointer}.status-done .task-check{background:var(--green);border-color:var(--green)}.status-done .task-title{text-decoration:line-through;color:#7d8797}.status-blocked{border-left:4px solid var(--red)}.status-in_progress{border-left:4px solid var(--blue)}.task-title{line-height:1.4}.task-meta{display:flex;gap:10px;margin-top:6px;font-size:11px;color:var(--muted)}.status-label{text-transform:uppercase;font-weight:800;letter-spacing:.04em}.assignee{width:100%}.assignee-label{font-size:13px;color:var(--muted)}.note-box{grid-column:2/-1;display:flex;gap:8px;align-items:flex-start}.note-box textarea{min-height:70px;flex:1}.hidden{display:none!important}.quick-add{display:flex;gap:8px;padding:12px 18px;background:#fafbfc}.quick-add input{flex:1}.section-add{margin-top:14px}.btn{border:1px solid #cbd3df;background:#fff;color:var(--ink);padding:10px 14px;border-radius:9px;font-weight:750;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn:hover{border-color:#94a3b8}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}.btn.small{padding:7px 10px;font-size:12px}.btn.ghost{background:#f8fafc}.btn.full{width:100%;margin-top:8px}input,select,textarea{border:1px solid #cbd3df;background:#fff;color:var(--ink);padding:10px 12px;border-radius:9px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #155eef18}.ranking{overflow:hidden}.rank-row{display:flex;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line)}.rank-row:last-child{border:0}.rank-number{font-size:28px;width:40px;text-align:center;font-weight:850;color:#9aa5b5}.rank-person{flex:1}.rank-person strong{font-size:16px}.rank-person small{color:var(--muted)}.rank-bar{max-width:320px;height:6px;margin:8px 0 4px}.rank-score{font-size:25px;font-weight:850;color:var(--blue);min-width:64px;text-align:right}.badge{display:inline-block;margin-left:8px;padding:2px 6px;border:1px solid #f0bb64;color:#8b5400!important;border-radius:5px;text-transform:uppercase;font-size:9px!important;font-weight:800}.review-form{padding:22px}.review-form h2{margin:24px 0 8px;font-size:18px;color:var(--blue)}.criterion-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #edf0f4}.score-picker{display:flex;gap:4px}.score-picker input{position:absolute;opacity:0}.score-picker b{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbd3df;border-radius:7px;cursor:pointer}.score-picker input:checked+b{background:var(--blue);border-color:var(--blue);color:#fff}.form-actions{padding-top:20px;text-align:right}.rates-form{padding:20px;display:flex;flex-direction:column;gap:8px}.rates-form label{display:flex;align-items:center;gap:15px;padding:8px;border-bottom:1px solid #edf0f4}.rates-form label span{flex:1;font-weight:650}.rates-form input{width:220px;text-align:right}.login-shell{min-height:calc(100vh - 130px);display:grid;place-items:center}.login-card{width:min(420px,100%);padding:30px}.login-card h1{font-size:34px;margin:7px 0}.login-card label{display:block;font-weight:700;font-size:13px;margin:15px 0 6px}.login-card input{width:100%}.muted{color:var(--muted)}.message,.error-box{padding:12px 15px;border-radius:10px;margin-bottom:14px;background:#e6f7ef;color:#116346;border:1px solid #b5e6d1}.message.error,.error-box{background:#fff0f1;color:#9b2732;border-color:#f1c3c7}.empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.page-head{align-items:flex-start;flex-wrap:wrap}.page-head>div:first-child{min-width:0;flex:1 1 520px}.progress-card{flex:1 1 100%;width:100%}.rank-person{min-width:0}.quick-add{flex-wrap:wrap}.quick-add input{min-width:240px}}
@media(max-width:800px){.topbar{padding:12px 16px;flex-wrap:wrap;gap:10px}.topbar nav{order:3;width:100%;overflow:auto}.userbox span{display:none}.page{width:min(100% - 20px,1240px);margin-top:18px}.module-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.progress-card{width:100%;min-width:0}.toolbar{flex-direction:column}.task-row{grid-template-columns:34px 1fr auto}.task-row .assignee,.assignee-label{grid-column:2}.note-box{grid-column:1/-1}.quick-add{flex-wrap:wrap}.quick-add input{flex-basis:100%}.criterion-row{align-items:flex-start;flex-direction:column}.score-picker{width:100%;justify-content:space-between}.score-picker b{width:40px}.rank-row{gap:9px;padding:13px 10px}.rank-number{width:26px;font-size:20px}.rank-score{font-size:20px;min-width:48px}.rates-form label{align-items:flex-start;flex-direction:column}.rates-form input{width:100%;text-align:left}}

/* Moduł serwisowy — stylistyka jasnego mockupu kolegi. */
.service-theme{--bg:#f4f0e7;--panel:#fbf8f1;--ink:#25221d;--muted:#787164;--line:#d8d1c3;--amber:#edae32;--green:#357a50;background:#f4f0e7;color:#25221d}
.service-theme .topbar{background:#24211c;border-bottom:5px solid #edae32;box-shadow:none}.service-theme .brand-mark{border-radius:2px;background:#edae32}.service-theme .page{max-width:1180px}.service-theme .page-head{position:relative;overflow:hidden;background:#24211c;color:#f7f5f0;border-radius:14px;padding:25px 24px 22px;align-items:center}.service-theme .page-head:before{content:"";position:absolute;inset:0 0 auto;height:8px;background:repeating-linear-gradient(-45deg,#edae32 0 16px,#1c1a16 16px 32px)}.service-theme .page-head h1{font-family:"Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:.035em}.service-theme .page-head p{color:#c9c4b8}.service-theme .progress-card{background:transparent;border:0;box-shadow:none;color:#fff;padding:8px;min-width:260px}.service-theme .progress-card span{color:#c9c4b8}.service-theme .progress{background:#39342c}.service-theme .progress i{background:linear-gradient(90deg,#edae32,#f4c542)}.service-theme .panel{border-color:#d8d1c3;border-radius:13px;box-shadow:0 5px 18px #3d372a0b;background:#fbf8f1}.service-theme .toolbar{box-shadow:none}.service-theme .segmented{background:#e9e3d7}.service-theme .segmented button.active{background:#24211c;color:#fff}.service-theme .section-head{background:#fbf8f1}.service-theme .section-number{font-family:Consolas,monospace;background:#24211c;color:#fff;border-radius:5px;padding:7px 8px}.service-theme .section-head strong{font-family:"Arial Narrow",Impact,sans-serif;font-size:20px;text-transform:uppercase;letter-spacing:.045em}.service-theme .task-row{border-left:4px solid transparent;background:#fbf8f1}.service-theme .status-done{background:#edf6ef;border-left-color:#357a50}.service-theme .status-blocked{background:#fbece9;border-left-color:#b64b3b}.service-theme .status-in_progress{background:#fdf2e2;border-left-color:#d98424}.service-theme .btn.primary{background:#24211c;border-color:#24211c}.service-theme input:focus,.service-theme select:focus,.service-theme textarea:focus{border-color:#edae32;box-shadow:0 0 0 3px #edae3230}

/* Oceny — ciemny, terminalowy charakter drugiego mockupu. */
.reviews-theme{--bg:#0b0d12;--panel:#151820;--ink:#ececf0;--muted:#9297a4;--line:#2b303b;--blue:#ff9e2c;--blue2:#e68b20;--amber:#ff9e2c;--green:#46d17d;background:radial-gradient(900px 420px at 78% -8%,rgba(255,158,44,.10),transparent 60%),#0b0d12;color:#ececf0;min-height:100vh}.reviews-theme .topbar{background:#101219;border-bottom:1px solid #292e39;box-shadow:none}.reviews-theme .brand-mark{background:#ff9e2c;border-radius:3px;color:#10121a}.reviews-theme .page{max-width:1100px}.review-window-dots{display:flex;gap:8px;margin:4px 0 14px}.review-window-dots i{width:10px;height:10px;border-radius:50%;background:#ff5f57;box-shadow:0 0 8px #ff5f57}.review-window-dots i:nth-child(2){background:#ffbd2e;box-shadow:0 0 8px #ffbd2e}.review-window-dots i:nth-child(3){background:#28c840;box-shadow:0 0 8px #28c840}.review-tabs{display:flex;gap:25px;border-bottom:1px solid #2b303b;margin-bottom:24px}.review-tabs a{color:#858b98;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.07em;padding:11px 2px;border-bottom:2px solid transparent}.review-tabs a:hover,.review-tabs a.active{color:#ff9e2c;border-bottom-color:#ff9e2c}.reviews-theme .page-head h1,.reviews-theme .review-form h2{font-family:Consolas,"Courier New",monospace;text-transform:uppercase;letter-spacing:.06em}.reviews-theme .page-head p{color:#9297a4}.reviews-theme .panel{background:#151820;border-color:#2b303b;border-radius:9px;box-shadow:none}.reviews-theme .rank-row,.reviews-theme .criterion-row,.reviews-theme .rates-form label{border-color:#272c36}.reviews-theme .rank-row:hover{background:#191d26}.reviews-theme .rank-number{font-family:Consolas,monospace;color:#626977}.reviews-theme .rank-row:nth-child(1) .rank-number{color:#ffbd2e;text-shadow:0 0 12px #ffbd2e77}.reviews-theme .rank-row:nth-child(2) .rank-number{color:#b7c0ce}.reviews-theme .rank-row:nth-child(3) .rank-number{color:#ba7540}.reviews-theme .rank-score{font-family:Consolas,monospace;color:#46d17d}.reviews-theme .rank-bar{background:#252a34}.reviews-theme .rank-bar i{background:#46d17d;box-shadow:0 0 8px #46d17d88}.reviews-theme .btn{background:#1b1f28;border-color:#343a46;color:#ececf0;border-radius:7px}.reviews-theme .btn.primary{background:#ff9e2c;border-color:#ff9e2c;color:#10121a}.reviews-theme input,.reviews-theme select,.reviews-theme textarea{background:#1b1f28;border-color:#343a46;color:#ececf0}.reviews-theme .score-picker b{border-color:#343a46;background:#151820;font-family:Consolas,monospace}.reviews-theme .score-picker input:checked+b{background:#ff9e2c;border-color:#ff9e2c;color:#10121a;box-shadow:0 0 9px #ff9e2c88}.reviews-theme .quick-add{background:#11141b}.reviews-theme .badge{color:#ff9e2c!important;border-color:#ff9e2c88}.reviews-theme .eyebrow{color:#ff9e2c}
