:root{--cyan:#00a8ba;--cyan-dark:#087d8b;--ink:#202327;--muted:#6b7075;--paper:#f7f4ec;--gold:#b8954f;--gold-dark:#7c602b;--line:#e5e7e9;--bg:#f4f6f7;--white:#fff;--danger:#a63b3b;--success:#27805a;--shadow:0 18px 45px rgba(25,36,42,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);background:#fff}.login-brand{position:relative;overflow:hidden;padding:64px 8vw;color:white;background:linear-gradient(145deg,#006e78,#00a9bc 65%,#09b7c5);display:flex;flex-direction:column;justify-content:center}.login-brand:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.24);border-radius:50%;right:-280px;bottom:-260px;box-shadow:0 0 0 28px rgba(255,255,255,.07),0 0 0 62px rgba(255,255,255,.05),0 0 0 102px rgba(255,255,255,.04)}.login-brand img{width:220px;filter:brightness(0) invert(1);margin-bottom:42px}.brand-kicker{font-size:13px;font-weight:800;letter-spacing:.25em;opacity:.85}.login-brand h1{font-size:clamp(40px,5.3vw,72px);line-height:1.02;max-width:620px;margin:18px 0}.login-brand p{font-size:19px;line-height:1.6;max-width:560px;opacity:.9}.brand-lines{position:absolute;inset:auto -100px 70px auto;width:420px;height:170px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.login-card{align-self:center;justify-self:center;width:min(520px,82%);padding:52px}.demo-badge{display:inline-block;background:#e7f8fa;color:var(--cyan-dark);padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em}.login-card h2{font-size:34px;margin:22px 0 8px}.role-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf0f1;padding:4px;border-radius:12px;margin:30px 0 24px}.role-tab{border:0;background:transparent;padding:13px;border-radius:9px;font-weight:700;color:#687076;cursor:pointer}.role-tab.active{background:white;color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.08)}label{display:block;font-size:13px;font-weight:750;margin:0 0 8px}.input-with-action{position:relative}.input-with-action input{padding-right:48px}.icon-btn{position:absolute;right:4px;top:4px;height:38px;width:40px;border:0;background:transparent;color:#758087;cursor:pointer}.demo-hint{background:#faf6e9;border:1px solid #e7d8ad;border-radius:8px;color:#6a5524;font-size:13px;padding:10px 12px}.login-note{color:#879097;font-size:12px;text-align:center;margin-top:20px}
input,select,textarea{width:100%;border:1px solid #d8dddf;border-radius:9px;background:white;padding:11px 12px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,169,188,.12)}textarea{min-height:90px;resize:vertical}.btn{border:1px solid transparent;border-radius:9px;padding:11px 16px;font-weight:750;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--cyan);color:white}.btn.secondary{background:white;border-color:#d7dcde;color:var(--ink)}.btn.gold{background:var(--gold-dark);color:white}.btn.danger{background:#fff1f1;color:var(--danger);border-color:#f0cccc}.btn.full{width:100%;margin-top:12px}.btn.small{padding:7px 11px;font-size:12px}
.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#15272c;color:white;padding:28px 18px;display:flex;flex-direction:column;z-index:10}.side-brand{display:flex;align-items:center;gap:10px;padding:0 10px 28px;border-bottom:1px solid rgba(255,255,255,.1)}.side-brand img{width:126px;filter:brightness(0) invert(1)}.side-brand span{font-size:10px;letter-spacing:.18em;font-weight:800;border-left:1px solid rgba(255,255,255,.25);padding-left:10px}.side-nav{display:flex;flex-direction:column;gap:5px;margin-top:24px}.side-nav button{border:0;background:transparent;color:#bed0d3;text-align:left;padding:12px 13px;border-radius:8px;cursor:pointer;font-weight:650}.side-nav button span{display:inline-block;width:28px;color:#7fb8c0}.side-nav button:hover,.side-nav button.active{background:rgba(0,169,188,.17);color:white}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:18px}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);font-weight:800}.user-chip strong,.user-chip small{display:block}.user-chip small{color:#91a7ab;margin-top:2px}.logout{margin-top:14px;background:none;border:0;color:#9fb0b3;cursor:pointer;padding:0}.main{min-width:0}.topbar{height:100px;background:white;border-bottom:1px solid var(--line);padding:19px 36px;display:flex;align-items:center;justify-content:space-between}.topbar h2{margin:3px 0;font-size:26px}.eyebrow{margin:0;color:var(--cyan-dark);font-size:10px;font-weight:850;letter-spacing:.14em}.period-control{display:flex;align-items:center;gap:10px}.period-control span{font-size:12px;color:var(--muted);font-weight:700}.period-control select{width:190px}.mobile-menu{display:none}.page{padding:30px 36px 60px;max-width:1480px;margin:0 auto}
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.hero-row h3{font-size:26px;margin:0 0 7px}.hero-row p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card,.panel{background:white;border:1px solid #e4e8e9;border-radius:14px;box-shadow:0 3px 14px rgba(24,40,47,.04)}.stat-card{padding:19px}.stat-card .label{font-size:12px;color:var(--muted);font-weight:700}.stat-card strong{font-size:31px;display:block;margin:9px 0 4px}.stat-card small{color:#778086}.stat-card.accent{border-top:4px solid var(--cyan)}.panel{padding:22px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px}.panel-head h3{margin:0;font-size:18px}.panel-head p{margin:4px 0 0;font-size:13px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#718087;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px 11px;border-bottom:1px solid var(--line)}td{padding:13px 11px;border-bottom:1px solid #eef0f1;font-size:13px}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750}.badge.cyan{background:#e5f8fa;color:#087b88}.badge.green{background:#e7f6ee;color:#20704d}.badge.amber{background:#fbf2d9;color:#7a5b13}.badge.gray{background:#eef0f1;color:#5f686d}.rank{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#f2ead4;color:var(--gold-dark);font-weight:850}.quick-list{display:grid;gap:10px}.quick-item{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid var(--line);border-radius:10px}.quick-item strong{display:block;font-size:13px}.quick-item small{color:var(--muted)}
.form-shell{max-width:900px}.form-tabs{display:flex;gap:6px;margin-bottom:18px}.form-tab{border:1px solid #d9dedf;background:white;padding:10px 16px;border-radius:9px;cursor:pointer;font-weight:700}.form-tab.active{background:#e7f8fa;border-color:#9cdae1;color:#087b88}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}.field small{display:block;color:var(--muted);margin-top:6px}.required:after{content:" *";color:#b33}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.notice{border-left:4px solid var(--cyan);background:#ecfafb;padding:13px 15px;border-radius:8px;color:#286269;font-size:13px;margin-bottom:18px}.empty{text-align:center;padding:50px 20px;color:var(--muted)}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category-card{background:white;border:1px solid var(--line);border-radius:13px;padding:16px;position:relative}.category-card.inactive{opacity:.55}.category-card h4{margin:7px 0 5px}.category-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.category-actions{display:flex;gap:7px;margin-top:14px}.switch{position:absolute;right:14px;top:14px;width:38px;height:22px;border-radius:11px;background:#ccd3d5;cursor:pointer}.switch:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s}.switch.on{background:var(--cyan)}.switch.on:after{left:19px}.merge-card{border:1px dashed #b9c1c4;background:#fafbfb}.output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.output-card{background:white;border:1px solid var(--line);border-radius:13px;padding:19px}.output-card .file-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#e8f8fa;color:var(--cyan-dark);font-weight:800;margin-bottom:14px}.output-card h4{margin:0 0 6px}.output-card p{color:var(--muted);font-size:12px;min-height:38px}.output-card .btn{width:100%}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-block{background:white;border:1px solid var(--line);border-radius:13px;padding:20px}.settings-block h3{margin-top:0}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid #edf0f1}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:13px}.setting-row small{display:block;color:var(--muted);margin-top:4px}.setting-row input{width:180px}
.modal{border:0;border-radius:16px;padding:0;box-shadow:var(--shadow);width:min(720px,92vw)}.modal::backdrop{background:rgba(13,27,32,.56)}#modal-content{padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h3{margin:0}.close-modal{border:0;background:#eef1f2;border-radius:50%;width:34px;height:34px;cursor:pointer}.toast{position:fixed;right:24px;top:24px;z-index:99;background:#163239;color:white;padding:13px 17px;border-radius:9px;box-shadow:var(--shadow);transform:translateY(-90px);opacity:0;transition:.28s}.toast.show{transform:none;opacity:1}
.award-preview{aspect-ratio:1.414/1;background:linear-gradient(#fbfaf6,#f6f1e5);border:7px solid var(--gold);outline:1px solid var(--gold-dark);outline-offset:-13px;padding:24px 34px;color:var(--ink);position:relative;overflow:hidden}.award-preview:after,.award-preview:before{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(0,169,188,.25);border-radius:50%;box-shadow:0 0 0 15px rgba(184,149,79,.10),0 0 0 30px rgba(184,149,79,.08),0 0 0 45px rgba(0,169,188,.08)}.award-preview:after{right:-120px;top:-120px}.award-preview:before{left:-150px;bottom:-150px}.award-top{display:flex;justify-content:space-between;align-items:start;position:relative;z-index:1}.award-top img{width:145px}.period-pill{background:var(--cyan);color:white;border:1px solid var(--gold);border-radius:99px;padding:8px 24px;font-size:11px;font-weight:800}.award-center{text-align:center;position:relative;z-index:1}.award-center .overline{color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.09em;margin:15px 0 7px}.award-center h2{font-size:25px;margin:0}.award-center h3{font-size:15px;color:var(--cyan);margin:9px}.award-name{font-size:32px!important;margin:23px 0 8px!important}.award-result{display:inline-block;background:var(--gold-dark);color:white;border-radius:99px;padding:7px 22px;font-weight:800}.award-copy{font-size:10px;color:var(--muted);margin:18px 0}.award-motto{font-family:Georgia,serif;color:var(--gold-dark);font-style:italic;font-size:12px}.award-foot{position:absolute;bottom:20px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:end;font-size:9px;color:var(--muted);z-index:1}.award-sign{text-align:center}.award-sign img{width:55px;display:block;margin:auto}.award-sign strong{display:block;color:var(--ink);font-size:10px;border-top:1px solid #d9cba3;padding-top:4px}.appointment-preview{aspect-ratio:1/1.414;background:white;border-left:55px solid var(--cyan);padding:42px 45px;position:relative;overflow:hidden}.appointment-preview:after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 80% 50%,transparent 0 18px,rgba(0,169,188,.06) 19px 20px);pointer-events:none}.appointment-preview>*{position:relative;z-index:1}.appointment-preview h2{color:var(--cyan);font-size:30px;margin:0 0 45px}.appointment-preview .legal{font-size:11px;font-weight:700;line-height:1.55}.appointment-position{color:var(--cyan);font-size:31px;font-weight:800;margin:24px 0 55px}.appointment-name{font-size:25px;font-weight:800}.appointment-date{font-size:13px;font-weight:800;margin-top:45px}
@media(max-width:1050px){.cards{grid-template-columns:1fr 1fr}.category-grid,.output-grid{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;width:248px;transition:.25s}.sidebar.open{left:0}.mobile-menu{display:block;border:0;background:none;font-size:22px}.topbar{padding:16px 18px;height:86px}.page{padding:22px 16px}.period-control span{display:none}.period-control select{width:145px}.cards,.category-grid,.output-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.hero-row{align-items:start;flex-direction:column}.login-card{width:100%;padding:32px 24px}.settings-block{padding:15px}.award-preview{padding:16px 20px}.award-center h2{font-size:17px}.award-name{font-size:23px!important}}
@media print{body>*:not(.modal){display:none!important}.modal{position:static;display:block;width:100%;max-width:none;box-shadow:none}.modal::backdrop{display:none}#modal-content{padding:0}.modal-head,.preview-actions{display:none!important}.award-preview,.appointment-preview{width:100vw;height:auto;page-break-after:always}}
/* Společný manažerský přehled */
.section-heading{margin:30px 0 15px}.section-heading h3{margin:0 0 5px;font-size:21px}.section-heading p{margin:0;color:var(--muted)}
.ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.ranking-grid .panel{margin-bottom:0}
@media(max-width:1050px){.ranking-grid{grid-template-columns:1fr}}
.view-tabs{display:inline-flex;background:#e9edef;padding:5px;border-radius:12px;margin:0 0 24px;gap:4px}.view-tab{border:0;background:transparent;padding:11px 18px;border-radius:9px;font-weight:800;color:#687076;cursor:pointer}.view-tab span{display:inline-grid;place-items:center;min-width:24px;height:21px;border-radius:11px;background:rgba(0,0,0,.08);margin-left:6px;font-size:11px}.view-tab.active{background:white;color:#087d8b;box-shadow:0 2px 9px rgba(0,0,0,.08)}.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;margin-bottom:20px;padding:15px;background:#f7f9f9;border-radius:11px}.filter-bar label{font-size:11px;color:var(--muted)}
.appointment-preview.approved-template{aspect-ratio:1/1.414;border:0;padding:0;background:white;position:relative;overflow:hidden}.appointment-preview.approved-template:after{display:none}.appointment-preview.approved-template .appointment-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.appointment-preview.approved-template .appointment-position,.appointment-preview.approved-template .appointment-name,.appointment-preview.approved-template .appointment-date{position:absolute;z-index:1;margin:0}.appointment-preview.approved-template .appointment-position{left:21.75%;top:36.6%;color:#00a8ba;font-size:clamp(18px,4.3vw,42px);font-weight:800}.appointment-preview.approved-template .appointment-name{left:21.75%;top:51.7%;font-size:clamp(16px,3.5vw,34px);font-weight:800}.appointment-preview.approved-template .appointment-date{left:38.2%;top:68.4%;font-size:clamp(11px,2vw,20px);font-weight:800}
@media(max-width:850px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .btn{width:100%}}
@media(max-width:560px){.filter-bar{grid-template-columns:1fr}.view-tabs{display:grid;width:100%;grid-template-columns:1fr 1fr}.view-tab{padding:10px 8px}}
.filter-bar.compact{grid-template-columns:repeat(2,minmax(180px,320px));justify-content:start}.table-group td{background:#f0f7f8;border-top:2px solid #d5e8ea;padding:13px 11px}.table-group strong{margin-left:10px;font-size:14px}.table-subgroup td{background:#faf8f1;color:#6f5a2d;padding:8px 18px;font-size:12px}
@media(max-width:650px){.filter-bar.compact{grid-template-columns:1fr}}
