:root{
  --blue:#0969ff;--blue-dark:#063b90;--cyan:#43d7ff;--navy:#061733;--navy2:#0b234a;--text:#10223d;--muted:#667994;--line:#dfeaf7;--bg:#f4f8fd;--card:#fff;--shadow:0 24px 70px rgba(10,45,92,.13);--shadow-soft:0 14px 34px rgba(10,45,92,.08);--radius:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}a{color:inherit;text-decoration:none}.wrap,.container{width:min(1220px,calc(100% - 42px));margin:0 auto}.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));z-index:9999;box-shadow:0 0 18px rgba(9,105,255,.35)}
.support-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid rgba(225,235,248,.9);box-shadow:0 1px 0 rgba(10,45,92,.07)}.support-header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.support-brand{display:flex;align-items:center;gap:13px;min-width:230px}.support-brand img{height:46px;width:auto;object-fit:contain}.support-brand span{display:flex;flex-direction:column;line-height:1.08}.support-brand strong{font-size:17px;letter-spacing:-.03em}.support-brand small{font-size:12px;color:var(--muted);margin-top:4px}.support-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.support-nav a{position:relative;padding:10px 12px;border-radius:11px;color:#203755;font-size:14px;font-weight:750;transition:.18s}.support-nav a:hover,.support-nav a.active{background:#eef6ff;color:var(--blue)}.support-nav .nav-cta{background:linear-gradient(135deg,var(--blue),#0056d8)!important;color:#fff!important;border-radius:10px;box-shadow:0 12px 24px rgba(9,105,255,.22)}
.support-app-hero{position:relative;overflow:hidden;color:#fff;padding:54px 0;background:linear-gradient(135deg,#07285f 0%,#0969ff 56%,#08b5ea 100%)}.support-app-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 10%,rgba(255,255,255,.18),transparent 25%),linear-gradient(110deg,transparent 0 28%,rgba(255,255,255,.10) 46%,transparent 62%)}.support-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:#c7f0ff;margin-bottom:10px}.eyebrow:before{content:"";width:30px;height:3px;border-radius:10px;background:currentColor}.support-app-hero h1{font-size:clamp(34px,4.5vw,58px);line-height:1.03;letter-spacing:-.055em;margin:0 0 14px}.support-app-hero p{font-size:17px;color:rgba(255,255,255,.86);max-width:720px;margin:0}.support-hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.support-hero-tags span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:850}.support-user-panel{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);border-radius:24px;padding:24px;box-shadow:0 18px 36px rgba(0,20,60,.18);backdrop-filter:blur(10px)}.support-user-panel span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#c7f0ff;font-weight:900}.support-user-panel strong{display:block;font-size:25px;margin-top:6px}.support-user-panel small{display:block;margin-top:5px;color:rgba(255,255,255,.75);font-weight:700}
.main-container{padding:34px 0 64px}.login-body{background:linear-gradient(180deg,#f7fbff,#eef6ff)}.login-body .main-container{padding:40px 0 70px}.login-wrap{width:min(1160px,calc(100% - 42px));margin:0 auto;display:grid;grid-template-columns:1fr 430px;gap:28px;align-items:stretch}.login-hero{position:relative;overflow:hidden;color:#fff;border-radius:34px;padding:44px;background:linear-gradient(135deg,#061733 0%,#084ba9 55%,#08afe8 100%);box-shadow:var(--shadow)}.login-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 16%,rgba(255,255,255,.22),transparent 24%),linear-gradient(120deg,transparent 0 30%,rgba(255,255,255,.10) 48%,transparent 66%)}.login-hero>*{position:relative;z-index:1}.login-hero h1{font-size:clamp(34px,4.5vw,60px);line-height:1.02;letter-spacing:-.055em;margin:0 0 16px}.login-hero p{font-size:17px;color:rgba(255,255,255,.82);max-width:680px}.login-box{align-self:stretch}.feature-list{display:grid;gap:12px;margin-top:26px}.feature{display:flex;gap:13px;align-items:flex-start;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:16px}.feature strong{color:#fff}.feature span{color:rgba(255,255,255,.78)}.help-strip{margin-top:20px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff}.login-box .help-strip{background:#f3f8ff;border-color:#dce8f7;color:#53677f}.card,.panel,.stats-card,.contact-card,.project-card,.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:24px}.card{margin-bottom:18px}.card h1,.page-head h1{font-size:32px;line-height:1;margin:0 0 8px;letter-spacing:-.04em}.muted{color:var(--muted)}.small{font-size:13px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-12{grid-column:span 12}.kpi-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f7fbff)}.kpi-card::after{content:"";position:absolute;right:-35px;top:-35px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(9,105,255,.14),transparent 66%)}.kpi-icon{width:42px;height:42px;border-radius:15px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;margin-bottom:16px;font-weight:900}.kpi{display:block;font-size:40px;line-height:1;font-weight:950;letter-spacing:-.05em;color:#0d2a57}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;font-weight:900;cursor:pointer;font-size:14px;transition:.18s}.btn:hover{transform:translateY(-2px)}.btn.blue,.btn-primary{background:linear-gradient(135deg,var(--blue),#0056d8);color:#fff;box-shadow:0 12px 26px rgba(9,105,255,.24)}.btn.secondary,.btn-light{background:#eef6ff;color:#075edc;border:1px solid #d7e8ff}.btn:not(.blue):not(.btn-primary):not(.secondary):not(.btn-light){background:#071733;color:#fff}label{font-weight:850;font-size:14px;color:#213955}.form-row,.form-card label{display:grid;gap:7px;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #dce8f7;border-radius:14px;padding:12px 13px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical;min-height:150px}.alert{border-radius:16px;padding:14px 16px;margin:14px 0;font-weight:800}.alert.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.alert.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}th,td{padding:14px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}tr:last-child td{border-bottom:0}th{background:#f7fbff;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#31516f}td a{color:var(--blue);font-weight:850}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.badge-blue{background:#e6f2ff;color:#075edc}.badge-orange{background:#fff2d6;color:#9a6100}.badge-purple{background:#f2e8ff;color:#6d28d9}.badge-green{background:#e8f9ee;color:#118641}.badge-gray{background:#eef2f6;color:#475569}.badge-red{background:#fee2e2;color:#b91c1c}.ticket-meta{display:grid;gap:10px}.ticket-meta div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.comment-box{background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px}.comment-admin{border-color:#bfdbfe;background:#eff6ff}.comment-private{border-color:#fde68a;background:#fffbeb}.support-footer{border-top:1px solid var(--line);background:#fff;padding:24px 0}.support-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#667994;font-size:13px}.support-footer a{color:var(--blue);font-weight:850}@media(max-width:1100px){.support-header-inner{height:auto;min-height:76px;padding:12px 0;align-items:flex-start}.support-nav{justify-content:flex-end}.support-hero-grid,.login-wrap{grid-template-columns:1fr}.support-user-panel{max-width:420px}.grid{grid-template-columns:repeat(6,1fr)}.col-2,.col-3,.col-4{grid-column:span 3}.col-5,.col-6,.col-7,.col-8,.col-9,.col-12{grid-column:span 6}}@media(max-width:760px){.wrap,.container,.login-wrap{width:min(100% - 26px,1220px)}.support-brand{min-width:auto}.support-brand img{height:38px}.support-nav{width:100%;justify-content:flex-start}.support-nav a{font-size:13px;padding:9px 10px}.support-header-inner{display:grid}.support-app-hero{padding:38px 0}.main-container{padding-top:24px}.grid{grid-template-columns:1fr}.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-12{grid-column:span 1}.page-head{display:grid}.login-hero{padding:30px;border-radius:28px}.support-footer-inner{display:grid}.card{padding:20px}.kpi{font-size:34px}table{min-width:650px}}

/* ===== v29: praktičtější přehled podpory, detail ticketu a admin fronta ===== */
.eyebrow.dark{color:var(--blue);margin-bottom:8px}.eyebrow.dark:before{background:var(--blue)}
.support-dashboard-kpis .card{margin-bottom:0}.support-dashboard-kpis{margin-bottom:18px}.urgent-card{background:linear-gradient(180deg,#fff,#fff5f5)!important;border-color:#fecaca!important}.urgent-card .kpi-icon{background:#fee2e2;color:#b91c1c}.support-overview-card,.admin-command-card{position:relative;overflow:hidden}.support-overview-card:before,.admin-command-card:before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(9,105,255,.12),transparent 68%);pointer-events:none}.support-overview-card>*{position:relative;z-index:1}.support-page-head{align-items:center}.support-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.mini-stat{display:block;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 10px 22px rgba(10,45,92,.05)}.mini-stat span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.mini-stat strong{display:block;font-size:28px;line-height:1;margin-top:8px;color:#0d2a57}.mini-stat.urgent{background:linear-gradient(180deg,#fff,#fff5f5);border-color:#fecaca}.mini-stat.urgent strong{color:#b91c1c}.mini-stat.done{background:linear-gradient(180deg,#fff,#f0fdf4);border-color:#bbf7d0}.mini-stat.done strong{color:#047857}.quick-filters{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 18px}.quick-filters a{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#eef6ff;border:1px solid #d7e8ff;color:#075edc;font-weight:900;font-size:13px}.quick-filters a.active{background:linear-gradient(135deg,var(--blue),#0056d8);color:#fff;border-color:transparent}.quick-filters a.danger{background:linear-gradient(135deg,#dc2626,#991b1b)}.support-filter-form{padding:16px;border-radius:22px;background:#f8fbff;border:1px solid var(--line)}.enhanced-table table{min-width:960px}.ticket-row td:first-child{border-left:4px solid transparent}.ticket-row.priority-urgent td:first-child{border-left-color:#dc2626}.ticket-row.priority-high td:first-child{border-left-color:#f59e0b}.ticket-row.status-done,.ticket-row.status-closed{opacity:.82}.ticket-id-link{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:7px 10px;border-radius:12px;background:#eef6ff;color:#075edc!important;font-weight:950}.comment-count{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:999px;background:#eef6ff;color:#075edc;font-weight:950}.ticket-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;margin-bottom:18px}.ticket-main-card,.ticket-side-card,.comments-card,.timeline-card{margin-bottom:0}.ticket-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.ticket-detail-head h1{font-size:34px;line-height:1.1;margin:8px 0 8px;letter-spacing:-.04em}.back-link{display:inline-flex;color:var(--blue);font-weight:900;font-size:13px;margin-bottom:4px}.ticket-badges{justify-content:flex-end}.ticket-progress{padding:16px;border-radius:20px;background:#f8fbff;border:1px solid var(--line);margin:18px 0}.progress-bar{height:12px;border-radius:999px;background:#e6eef8;overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 18px rgba(9,105,255,.32)}.progress-labels{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:12px;color:var(--muted);font-weight:850}.ticket-description-box{border:1px solid var(--line);border-radius:22px;background:#fff;padding:20px;box-shadow:0 10px 24px rgba(10,45,92,.04)}.ticket-description-box h3{margin-top:0}.ticket-meta-list{display:grid;gap:10px}.ticket-meta-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.ticket-meta-list div:last-child{border-bottom:0}.ticket-meta-list span{color:var(--muted);font-weight:800}.ticket-meta-list strong{text-align:right}.admin-ticket-form .btn{width:100%}.ticket-thread-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.section-row-head h2,.timeline-card h2,.ticket-side-card h2{margin-top:0}.comment{border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0;background:#f8fbff}.comment-admin{background:#eff6ff;border-color:#bfdbfe}.comment-client{background:#fff}.comment-private{background:#fffbeb!important;border-color:#fde68a!important}.comment-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:#213955}.comment-head span{color:var(--muted);font-size:13px}.comment-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.internal-check{display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:14px}.timeline-list{display:grid;gap:14px}.timeline-item{position:relative;padding-left:24px}.timeline-item:before{content:"";position:absolute;left:6px;top:18px;bottom:-18px;width:1px;background:#dce8f7}.timeline-item:last-child:before{display:none}.timeline-dot{position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 0 0 4px #eef6ff}.timeline-item strong{display:block;font-size:14px}.timeline-item small{display:block;color:var(--muted);margin-top:4px}.muted-item{opacity:.8}.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.admin-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 20px}.admin-status-strip a{padding:16px;border-radius:18px;background:#f8fbff;border:1px solid var(--line)}.admin-status-strip span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.admin-status-strip strong{display:block;font-size:28px;line-height:1;margin-top:8px}.company-load-list{display:grid;gap:16px;margin-top:18px}.company-load-item>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.company-load-item span{color:var(--muted);font-size:13px;font-weight:800}.load-bar{height:9px;border-radius:999px;background:#e6eef8;overflow:hidden}.load-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.admin-hint-box{margin-top:20px;padding:16px;border-radius:18px;background:#071733;color:#fff}.admin-hint-box strong{display:block;margin-bottom:5px}.admin-hint-box span{color:rgba(255,255,255,.78);font-size:14px}@media(max-width:1100px){.support-mini-stats,.admin-status-strip{grid-template-columns:repeat(2,1fr)}.ticket-detail-layout,.ticket-thread-grid,.admin-dashboard-grid{grid-template-columns:1fr}.ticket-side-card,.timeline-card,.company-load-card{order:2}}@media(max-width:760px){.support-mini-stats,.admin-status-strip{grid-template-columns:1fr}.support-filter-form{padding:12px}.ticket-detail-head{display:grid}.ticket-badges{justify-content:flex-start}.ticket-detail-head h1{font-size:28px}.progress-labels{font-size:11px}.comment-head{display:grid;gap:4px}}

/* ===== v30: praktičtější přehled podpory a export ===== */
.support-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.btn.ghost{
    background:#eef6ff !important;
    color:#075edc !important;
    border:1px solid #d7e8ff !important;
    box-shadow:none !important;
}
.support-filter-actions{
    display:flex;
    align-items:end;
    gap:8px;
    flex-wrap:wrap;
}
.support-filter-actions .btn{
    min-height:46px;
}
.enhanced-table tbody tr:hover{
    background:#f8fbff;
}
.ticket-row.priority-urgent{
    background:linear-gradient(90deg,rgba(220,38,38,.055),transparent 38%);
}
.ticket-row.priority-high{
    background:linear-gradient(90deg,rgba(245,158,11,.055),transparent 38%);
}
@media(max-width:760px){
    .support-head-actions{justify-content:flex-start;}
    .support-filter-actions{align-items:stretch;}
    .support-filter-actions .btn{width:100%;}
}

/* v33: favicon branding */
.support-header::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-1px;height:1px;
    background:linear-gradient(90deg,transparent,rgba(9,105,255,.32),transparent);
    pointer-events:none;
}
.support-footer{
    position:relative;
    overflow:hidden;
}
.support-footer::after{
    content:"";
    position:absolute;
    right:-80px;
    bottom:-120px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.10),transparent 68%);
    pointer-events:none;
}
.support-footer-inner{position:relative;z-index:1;}

/* ===== v45: praktičtější portál podpory ===== */
.support-workflow-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:16px 0 18px;
}
.support-workflow-strip > div{
    padding:16px 17px;
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff,#f4f9ff);
    border:1px solid var(--line);
    box-shadow:0 10px 24px rgba(10,45,92,.05);
}
.support-workflow-strip strong{
    display:block;
    color:#0d2a57;
    margin-bottom:5px;
}
.support-workflow-strip span{
    display:block;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
}
.attention-pill{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    gap:6px;
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
    background:#eef6ff;
    color:#075edc;
    border:1px solid #d7e8ff;
}
.attention-pill::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:currentColor;
}
.attention-urgent{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}
.attention-high{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}
.attention-waiting{background:#f2e8ff;color:#6d28d9;border-color:#ddd6fe;}
.attention-stale{background:#fff7d6;color:#9a6100;border-color:#fde68a;}
.attention-done{background:#ecfdf5;color:#047857;border-color:#bbf7d0;}
.attention-normal{background:#e6f2ff;color:#075edc;border-color:#bfdbfe;}
.ticket-create-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
    align-items:start;
}
.new-ticket-card,
.ticket-create-help{
    margin-bottom:0;
}
.new-ticket-card{
    position:relative;
    overflow:hidden;
}
.new-ticket-card::after{
    content:"";
    position:absolute;
    right:-110px;
    top:-120px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.10),transparent 70%);
    pointer-events:none;
}
.new-ticket-card > *{position:relative;z-index:1;}
.category-presets{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}
.category-presets button{
    border:1px solid #d7e8ff;
    background:#eef6ff;
    color:#075edc;
    border-radius:999px;
    padding:7px 10px;
    font-weight:850;
    font-size:12px;
    cursor:pointer;
    transition:.16s ease;
}
.category-presets button:hover{
    transform:translateY(-1px);
    background:#e1f0ff;
}
.ticket-create-help h2{margin-top:0;}
.priority-guide{
    display:grid;
    gap:10px;
}
.priority-guide > div{
    padding:13px 14px;
    border-radius:16px;
    border:1px solid var(--line);
    background:#f8fbff;
}
.priority-guide strong{
    display:block;
    color:#0d2a57;
}
.priority-guide span{
    display:block;
    color:var(--muted);
    font-size:13px;
    margin-top:4px;
}
.ticket-create-tip{
    margin-top:16px;
    padding:16px;
    border-radius:18px;
    background:linear-gradient(135deg,#071733,#0a4aa2);
    color:#fff;
}
.ticket-create-tip strong{display:block;margin-bottom:5px;}
.ticket-create-tip span{color:rgba(255,255,255,.8);font-size:14px;}
@media(max-width:1100px){
    .support-workflow-strip{grid-template-columns:1fr;}
    .ticket-create-layout{grid-template-columns:1fr;}
}

/* ===== v47: klasifikace ticketů, placené schvalování a termíny ===== */
.approval-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:18px;
    align-items:start;
    margin-bottom:18px;
    border:1px solid rgba(249,115,22,.22);
    background:linear-gradient(135deg,#fff7ed,#ffffff 45%,#f8fbff);
}
.approval-card h2{margin:6px 0 8px;}
.approval-price{
    border-radius:18px;
    padding:18px;
    background:#07172f;
    color:#fff;
    box-shadow:0 16px 34px rgba(7,23,47,.16);
}
.approval-price span,
.approval-price small{display:block;color:#b9d3f4;font-size:12px;font-weight:800;}
.approval-price strong{display:block;font-size:30px;line-height:1.05;margin:8px 0;}
.approval-note{
    grid-column:1/-1;
    padding:16px;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--line);
    color:#334155;
}
.approval-actions{
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}
.reject-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.reject-form input{min-width:260px;}
.btn.danger{background:#dc2626;color:#fff;border-color:#dc2626;}
.btn.danger:hover{background:#b91c1c;border-color:#b91c1c;}
.workflow-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}
.workflow-summary div{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
    background:linear-gradient(180deg,#f8fbff,#fff);
}
.workflow-summary span,
.ticket-meta-list span{display:block;color:#64748b;font-size:12px;font-weight:800;margin-bottom:5px;}
.workflow-summary strong{display:block;color:#0f172a;font-size:14px;line-height:1.35;}
.classification-form{
    padding:16px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.classification-form h3,
.admin-ticket-form h3{margin:0 0 12px;}
.classification-form textarea{min-height:92px;}
.badge-purple{background:#f3e8ff;color:#7e22ce;}
.badge-red{background:#fee2e2;color:#b91c1c;}
.status-pending_classification{box-shadow:inset 4px 0 0 #9333ea;}
.status-waiting_approval{box-shadow:inset 4px 0 0 #dc2626;}
.status-approved{box-shadow:inset 4px 0 0 #0f6fbf;}
.status-cancelled{opacity:.72;}
.workflow-guide div{background:#f8fbff;border:1px solid #dce8f6;border-radius:14px;padding:14px;}
.workflow-guide div + div{margin-top:10px;}
.workflow-guide strong{display:block;color:#0f172a;margin-bottom:6px;}
.workflow-guide span{display:block;color:#64748b;font-size:13px;line-height:1.45;}
.support-info-strip{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin:18px 0;
    padding:15px 16px;
    border-radius:18px;
    background:linear-gradient(135deg,#eef6ff,#fff7ed);
    border:1px solid #dce8f6;
    color:#334155;
}
.support-info-strip strong{color:#0f172a;white-space:nowrap;}
.table-wrap.enhanced-table table{min-width:1180px;}
@media (max-width:980px){
    .approval-card{grid-template-columns:1fr;}
    .workflow-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
    .support-info-strip{display:block;}
    .support-info-strip strong{display:block;margin-bottom:5px;}
}
@media (max-width:560px){
    .workflow-summary{grid-template-columns:1fr;}
    .reject-form input{min-width:100%;}
}

/* ===== v48: sjednocená administrace + branding zákazníků ===== */
.admin-unified-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-bottom:22px;
    padding:12px;
}
.admin-unified-tabs a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:14px;
    color:#27405e;
    font-weight:900;
    background:#f4f8fe;
    border:1px solid #dfeaf7;
    text-decoration:none;
}
.admin-unified-tabs a.active,
.admin-unified-tabs a:hover{
    color:#fff;
    background:linear-gradient(135deg,#0969ff,#0bb5e8);
    border-color:rgba(9,105,255,.28);
    box-shadow:0 12px 26px rgba(9,105,255,.18);
}
.admin-module-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:16px 0 18px;
}
.admin-module-card{
    display:block;
    padding:18px;
    border-radius:20px;
    background:linear-gradient(180deg,#f7fbff,#eef6ff);
    border:1px solid #dce8f7;
    text-decoration:none;
    color:#10233f;
}
.admin-module-card span,
.web-admin-card span{
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:13px;
    background:#e8f3ff;
    color:#0969ff;
    font-weight:950;
    margin-bottom:10px;
}
.admin-module-card strong{display:block;font-size:17px;margin-bottom:5px;}
.admin-module-card small{display:block;color:#63758d;line-height:1.55;}
.branding-help-card{position:relative;overflow:hidden;}
.branding-help-card:after{
    content:"";
    position:absolute;
    right:-70px;
    bottom:-90px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.14),transparent 70%);
}
.branding-help-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}
.branding-help-grid div{
    padding:16px;
    border-radius:18px;
    border:1px solid #dfeaf7;
    background:#f7fbff;
}
.branding-help-grid strong{display:block;margin-bottom:6px;}
.branding-help-grid span{display:block;color:#64748b;font-size:13px;line-height:1.45;}
.company-branding-list{display:grid;gap:18px;margin-top:20px;}
.company-brand-card{padding:24px;}
.company-brand-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.company-brand-head h2{margin:5px 0 4px;font-size:26px;letter-spacing:-.04em;}
.switch-row{display:flex;align-items:center;gap:8px;font-weight:900;color:#27405e;}
.company-brand-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.company-brand-grid .wide{grid-column:span 2;}
.brand-upload-grid{
    display:grid;
    grid-template-columns:1fr 1.6fr;
    gap:16px;
    margin:18px 0;
}
.brand-upload-box{
    border:1px solid #dfeaf7;
    background:#f8fbff;
    border-radius:20px;
    padding:16px;
}
.brand-upload-box > label{display:block;font-weight:950;margin-bottom:10px;color:#10233f;}
.brand-preview{
    display:grid;
    place-items:center;
    min-height:86px;
    border-radius:16px;
    border:1px dashed #c8d9ee;
    background:#fff;
    margin-bottom:12px;
    overflow:hidden;
}
.logo-preview img{max-width:180px;max-height:70px;object-fit:contain;}
.header-preview{height:128px;}
.header-preview img{width:100%;height:100%;object-fit:cover;}
.check-inline{display:flex !important;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:800;color:#64748b;}
.support-app-hero.has-company-branding{
    background-size:cover !important;
    background-position:center !important;
}
.company-hero-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:210px;
    max-height:76px;
    padding:10px 14px;
    margin-bottom:16px;
    border-radius:18px;
    background:rgba(255,255,255,.92);
    box-shadow:0 18px 36px rgba(0,20,60,.16);
}
.company-hero-logo img{
    max-width:180px;
    max-height:54px;
    object-fit:contain;
    display:block;
}
.web-admin-hero{
    display:grid;
    grid-template-columns:1fr auto;
    gap:28px;
    align-items:center;
    overflow:hidden;
    background:linear-gradient(135deg,#f7fbff,#eef6ff);
}
.web-admin-badge{
    display:grid;
    place-items:center;
    min-width:160px;
    min-height:120px;
    border-radius:28px;
    color:#fff;
    font-weight:950;
    background:linear-gradient(135deg,#0b3474,#0969ff 56%,#0bb5e8);
    box-shadow:0 20px 44px rgba(9,105,255,.22);
}
.web-admin-grid{margin-top:18px;}
.web-admin-card h2{margin:6px 0 8px;}
.web-admin-card .btn{margin-top:12px;}
@media (max-width:980px){
    .admin-module-grid,.branding-help-grid,.company-brand-grid{grid-template-columns:1fr;}
    .company-brand-grid .wide{grid-column:auto;}
    .brand-upload-grid{grid-template-columns:1fr;}
    .web-admin-hero{grid-template-columns:1fr;}
}
@media (max-width:680px){
    .company-brand-head{display:block;}
    .admin-unified-tabs a{width:100%;}
}


/* ===== v50: hezčí přehledová sekce ticketů ===== */
.support-overview-card{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid #d8e6f7;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    box-shadow:0 18px 48px rgba(12,49,97,.08);
}
.support-overview-card::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-100px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.12),transparent 68%);
    pointer-events:none;
}
.support-overview-card::after{
    content:"";
    position:absolute;
    left:-110px;
    bottom:-140px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,198,255,.09),transparent 68%);
    pointer-events:none;
}
.support-overview-card > *{position:relative;z-index:1;}
.support-page-head{
    margin-bottom:18px;
}
.support-page-head h1{margin-bottom:6px !important;}
.support-page-head .muted{max-width:760px;font-size:17px;line-height:1.6;}
.support-visual-strip{
    display:grid;
    grid-template-columns:minmax(280px,.92fr) minmax(0,1.1fr);
    gap:18px;
    margin:14px 0 18px;
    align-items:stretch;
}
.support-visual-copy{
    padding:24px 24px 22px;
    border-radius:24px;
    background:linear-gradient(135deg,#0a2b61 0%,#0f59d7 58%,#27b3ff 100%);
    color:#fff;
    box-shadow:0 18px 42px rgba(9,57,133,.22);
}
.support-visual-copy .eyebrow{color:rgba(255,255,255,.84);}
.support-visual-copy h2{
    margin:10px 0 10px;
    font-size:34px;
    line-height:1.08;
    color:#fff;
}
.support-visual-copy p{
    margin:0;
    color:rgba(255,255,255,.86);
    font-size:15px;
    line-height:1.7;
}
.support-visual-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
.support-visual-tags span{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:12px;
    font-weight:850;
    letter-spacing:.01em;
}
.support-workflow-strip-rich{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:0;
}
.support-workflow-strip-rich a{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:132px;
    padding:18px 18px 16px;
    border-radius:24px;
    border:1px solid #dbe7f6;
    background:linear-gradient(180deg,#ffffff,#f5f9ff);
    box-shadow:0 12px 26px rgba(10,45,92,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.support-workflow-strip-rich a:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(10,45,92,.1);
    border-color:#b9d7ff;
}
.support-workflow-strip-rich strong{
    display:block;
    color:#102f64;
    font-size:16px;
    line-height:1.35;
    margin-bottom:8px;
}
.support-workflow-strip-rich span{
    display:block;
    color:#5d7392;
    font-size:13px;
    line-height:1.6;
}
.support-workflow-strip-rich b{
    display:inline-flex;
    align-self:flex-start;
    margin-top:14px;
    padding:8px 12px;
    border-radius:999px;
    background:#edf5ff;
    color:#0860e6;
    font-size:12px;
    font-weight:900;
}
.support-mini-stats{
    margin-top:6px;
}
.support-mini-stats .mini-stat{
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff,#f5f9ff);
    box-shadow:0 12px 24px rgba(10,45,92,.05);
}
.support-mini-stats .mini-stat.urgent{
    background:linear-gradient(180deg,#fff8f8,#ffffff);
}
.support-info-strip{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:16px 18px;
    border-radius:18px;
    border:1px solid #dbe6f4;
    background:linear-gradient(90deg,#f8fbff,#fffaf2);
}
.enhanced-filter{
    padding:18px;
    border-radius:24px;
    background:rgba(255,255,255,.72);
    border:1px solid #dfe9f6;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.enhanced-filter label{
    font-weight:850;
    color:#18345f;
}
.enhanced-filter input,
.enhanced-filter select{
    background:#fff;
    border-radius:16px;
}
.enhanced-table{
    border-radius:24px;
    border:1px solid #dce7f4;
    box-shadow:0 10px 24px rgba(10,45,92,.04);
    overflow:auto;
}
.enhanced-table table thead th{
    background:#f6faff;
}
.ticket-id-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:52px;
    min-height:38px;
    padding:0 12px;
    border-radius:14px;
    background:#eef4fb;
    font-weight:900;
}
.comment-count{
    display:inline-flex;
    min-width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#eef4fb;
    font-weight:900;
    color:#0f3c77;
}
@media(max-width:1100px){
    .support-visual-strip{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
    .support-visual-copy{padding:20px 18px;}
    .support-visual-copy h2{font-size:28px;}
    .support-workflow-strip-rich{grid-template-columns:1fr;}
    .support-info-strip{display:block;}
    .support-info-strip strong{display:block;margin-bottom:6px;}
}


/* ===== v51: hezčí detail ticketu ===== */
.ticket-focus-hero{
    position:relative;
    overflow:hidden;
    margin-bottom:18px;
    border-radius:30px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 10%,rgba(77,218,255,.30),transparent 30%),
        radial-gradient(circle at 8% 90%,rgba(255,255,255,.14),transparent 32%),
        linear-gradient(135deg,#071f49 0%,#0b62d9 58%,#15aee9 100%);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 24px 58px rgba(7,42,92,.18);
}
.ticket-focus-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:58px 58px;
    opacity:.42;
    pointer-events:none;
}
.ticket-focus-hero > *{position:relative;z-index:1;}
.ticket-focus-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
}
.ticket-focus-head .back-link{
    display:inline-flex;
    margin-bottom:16px;
    color:#dff5ff;
}
.ticket-focus-head .eyebrow{color:#d8f4ff;}
.ticket-focus-head h1{
    max-width:920px;
    margin:8px 0 10px;
    color:#fff;
    font-size:clamp(34px,4vw,56px);
    line-height:1.03;
    letter-spacing:-.055em;
}
.ticket-focus-head p{
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:15px;
}
.ticket-focus-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
    min-width:260px;
}
.ticket-focus-actions .attention-pill{
    background:rgba(255,255,255,.14);
    color:#fff;
    border-color:rgba(255,255,255,.2);
}
.ticket-focus-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:24px 0 18px;
}
.ticket-focus-grid div{
    border:1px solid rgba(255,255,255,.17);
    border-radius:20px;
    padding:16px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
}
.ticket-focus-grid span{
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ticket-focus-grid strong{
    display:block;
    color:#fff;
    font-size:18px;
    line-height:1.25;
}
.ticket-stage-lane{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.ticket-stage{
    position:relative;
    padding:16px 16px 15px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(3,18,45,.20);
    color:rgba(255,255,255,.74);
}
.ticket-stage span{
    display:inline-grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-weight:950;
    margin-bottom:11px;
}
.ticket-stage strong{display:block;color:#fff;margin-bottom:4px;}
.ticket-stage small{display:block;line-height:1.45;color:rgba(255,255,255,.70);}
.ticket-stage.is-active{
    background:rgba(255,255,255,.18);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.ticket-stage.is-active span{
    background:#fff;
    color:#075edc;
}
.ticket-main-card,
.ticket-side-card,
.comments-card,
.timeline-card{
    border-radius:28px;
    box-shadow:0 14px 34px rgba(10,45,92,.06);
}
.ticket-detail-head h2{
    margin:8px 0 10px;
    font-size:clamp(28px,3vw,42px);
    line-height:1.08;
    letter-spacing:-.045em;
}
.ticket-description-box{
    margin-top:18px;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
}
.classification-form{
    padding:16px;
    border-radius:22px;
    background:linear-gradient(180deg,#f8fbff,#ffffff);
    border:1px solid #dfe9f6;
}
.classification-form h3{margin-top:0;}
.comment{
    border-radius:20px;
    box-shadow:0 10px 20px rgba(10,45,92,.04);
}
.comment-form{
    padding:18px;
    border-radius:22px;
    background:#f8fbff;
    border:1px solid #dfe9f6;
}
.timeline-card{
    background:linear-gradient(180deg,#ffffff,#f8fbff);
}
@media(max-width:1100px){
    .ticket-focus-head{display:block;}
    .ticket-focus-actions{justify-content:flex-start;margin-top:18px;}
    .ticket-focus-grid,.ticket-stage-lane{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
    .ticket-focus-grid,.ticket-stage-lane{grid-template-columns:1fr;}
    .ticket-focus-hero{border-radius:24px;padding:20px;}
    .ticket-focus-head h1{font-size:32px;}
}


/* ===== v52: odstranění duplicitních přehledů na seznamu ticketů ===== */
.support-overview-card{
    margin-top:28px;
}
.support-visual-strip{
    margin-top:22px;
}
.support-info-strip{
    margin-top:18px;
}


/* ===== v53: klientský portál podle vybrané varianty 1 ===== */
.app-body.support-theme{
    background:#f4f8fd;
}
.app-body.support-theme .main-container{
    max-width:none;
    width:100%;
    padding:0;
    margin:0;
}
.client-portal-shell{
    --client-blue:#0969ff;
    --client-navy:#071b3f;
    --client-text:#0d2347;
    --client-muted:#647895;
    --client-line:#dce8f6;
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    min-height:calc(100vh - 72px);
    background:linear-gradient(180deg,#f4f8fd 0%,#f8fbff 100%);
}
.client-portal-sidebar{
    position:sticky;
    top:72px;
    height:calc(100vh - 72px);
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:24px 18px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    border-right:1px solid #dce8f6;
    box-shadow:12px 0 36px rgba(13,39,82,.04);
    z-index:3;
}
.client-sidebar-brand{
    display:flex;
    align-items:center;
    gap:13px;
    padding:6px 2px 16px;
}
.client-sidebar-brand img,
.client-sidebar-logo{
    width:52px;
    height:52px;
    border-radius:16px;
    object-fit:contain;
    flex:0 0 52px;
}
.client-sidebar-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#063a8e,#0969ff);
    color:#fff;
    font-weight:950;
    letter-spacing:.04em;
    box-shadow:0 14px 30px rgba(9,105,255,.18);
}
.client-sidebar-brand strong{
    display:block;
    color:#0d2347;
    font-size:17px;
    line-height:1.15;
}
.client-sidebar-brand span{
    display:block;
    color:#647895;
    font-size:12px;
    margin-top:3px;
}
.client-side-nav{
    display:grid;
    gap:7px;
}
.client-side-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:46px;
    padding:0 13px;
    border-radius:13px;
    color:#203c63;
    font-weight:850;
    transition:.18s ease;
    position:relative;
}
.client-side-nav a span{
    display:inline-flex;
    width:22px;
    justify-content:center;
    color:#113b74;
}
.client-side-nav a:hover{
    background:#eef6ff;
    color:#075edc;
    transform:translateX(2px);
}
.client-side-nav a.active{
    background:linear-gradient(135deg,#0969ff,#0758d8);
    color:#fff;
    box-shadow:0 14px 28px rgba(9,105,255,.24);
}
.client-side-nav a.active span{color:#fff;}
.client-side-nav em{
    margin-left:auto;
    min-width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#fff3e6;
    color:#f97316;
    font-size:12px;
    font-style:normal;
    font-weight:950;
}
.client-sidebar-help{
    margin-top:auto;
    padding:18px;
    border-radius:18px;
    border:1px solid #cfe0f5;
    background:#fff;
    box-shadow:0 12px 30px rgba(12,49,97,.06);
}
.client-sidebar-help .help-icon{
    width:42px;height:42px;border-radius:14px;background:#eef6ff;color:#075edc;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:10px;
}
.client-sidebar-help strong{display:block;color:#0d2347;margin-bottom:5px;}
.client-sidebar-help span{display:block;color:#647895;font-size:13px;margin-bottom:10px;}
.client-sidebar-help a{font-weight:900;color:#0969ff;}
.client-portal-main{
    min-width:0;
    padding:0 26px 34px;
}
.client-portal-hero{
    min-height:192px;
    margin:0 -26px 0;
    padding:34px 42px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    color:#fff;
    background-image:linear-gradient(90deg,rgba(5,18,42,.82),rgba(5,18,42,.34)),radial-gradient(circle at 74% 20%,rgba(87,174,255,.34),transparent 30%),linear-gradient(135deg,#072b64,#0969ff 65%,#0ea5e9);
    background-size:cover;
    background-position:center;
    box-shadow:inset 0 -70px 70px rgba(244,248,253,.08);
}
.client-portal-hero h1{
    color:#fff;
    font-size:clamp(28px,2.5vw,44px);
    line-height:1.08;
    margin:12px 0 10px;
}
.client-portal-hero p{
    color:rgba(255,255,255,.9);
    margin:0;
    font-size:16px;
    font-weight:650;
}
.client-user-chip{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:230px;
    padding:12px 15px;
    border-radius:18px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.2);
    backdrop-filter:blur(10px);
}
.client-user-chip > span{
    width:42px;height:42px;border-radius:50%;background:#fff;color:#073a82;display:flex;align-items:center;justify-content:center;font-weight:950;
}
.client-user-chip strong{display:block;color:#fff;}
.client-user-chip small{display:block;color:rgba(255,255,255,.78);}
.client-kpi-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:-44px;
    position:relative;
    z-index:2;
}
.client-kpi{
    display:flex;
    gap:14px;
    align-items:center;
    padding:18px;
    min-height:112px;
    border-radius:20px;
    background:#fff;
    border:1px solid #dce8f6;
    box-shadow:0 18px 38px rgba(10,45,92,.09);
    transition:.18s ease;
}
.client-kpi:hover{transform:translateY(-2px);box-shadow:0 24px 46px rgba(10,45,92,.12);}
.kpi-ico{width:52px;height:52px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:950;flex:0 0 52px;}
.kpi-ico.blue{background:#eaf3ff;color:#0969ff;}
.kpi-ico.green{background:#eaf9ee;color:#16a34a;}
.kpi-ico.orange{background:#fff4e8;color:#f97316;}
.client-kpi small{display:block;color:#647895;font-size:13px;font-weight:850;}
.client-kpi strong{display:block;color:#0d2347;font-size:29px;line-height:1.05;margin:5px 0;}
.client-kpi em{display:block;color:#f97316;font-style:normal;font-size:12px;font-weight:850;}
.client-kpi:nth-child(2) em{color:#16a34a;}
.client-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:18px;
    margin-top:18px;
}
.client-main-column{display:grid;gap:18px;min-width:0;}
.client-right-column{display:grid;gap:18px;align-self:start;}
.client-card{
    background:#fff;
    border:1px solid #dce8f6;
    border-radius:20px;
    box-shadow:0 14px 34px rgba(10,45,92,.06);
    padding:20px;
}
.client-card h2{margin:0;color:#0d2347;font-size:20px;}
.client-workflow-card{padding:20px 24px;}
.client-workflow{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
    position:relative;
}
.client-workflow::before{content:"";position:absolute;left:8%;right:8%;top:25px;height:1px;background:linear-gradient(90deg,#bcd6f7,#d7e4f3);z-index:0;}
.client-workflow div{position:relative;z-index:1;background:#fff;text-align:center;padding:0 8px;}
.client-workflow span{width:50px;height:50px;margin:0 auto 9px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:950;box-shadow:0 12px 28px rgba(9,105,255,.13);}
.client-workflow span.blue{background:#0969ff;}.client-workflow span.orange{background:#f97316;}.client-workflow span.green{background:#16a34a;}
.client-workflow strong{display:block;color:#0d2347;font-size:14px;}
.client-workflow small{display:block;color:#647895;font-size:12px;margin-top:4px;line-height:1.35;}
.client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.client-card-head p{margin:5px 0 0;color:#647895;}
.client-filter-row{display:grid;grid-template-columns:minmax(240px,1fr) 170px 170px 96px;gap:10px;margin-bottom:12px;}
.client-filter-row input,.client-filter-row select{border-radius:14px;background:#fff;border:1px solid #d8e6f6;min-height:45px;padding:0 13px;color:#0d2347;}
.client-filter-row .btn{min-height:45px;border-radius:14px;}
.client-table-wrap{overflow:auto;border:1px solid #dce8f6;border-radius:17px;}
.client-ticket-table{width:100%;border-collapse:collapse;min-width:860px;}
.client-ticket-table th{padding:13px 14px;background:#f7fbff;color:#4a6282;font-size:12px;letter-spacing:.05em;text-transform:uppercase;text-align:left;}
.client-ticket-table td{padding:15px 14px;border-top:1px solid #e5eef8;vertical-align:middle;color:#0d2347;}
.client-ticket-table td a{font-weight:950;color:#0969ff;}
.client-ticket-table td strong{display:block;color:#0d2347;margin-bottom:4px;}
.client-ticket-table td small{display:block;color:#647895;font-size:12px;line-height:1.35;}
.priority-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;background:#0969ff;}
.priority-dot.low{background:#16a34a;}.priority-dot.normal{background:#0969ff;}.priority-dot.high{background:#f97316;}.priority-dot.urgent{background:#dc2626;}
.row-more{font-size:16px;letter-spacing:2px;color:#647895!important;}
.client-table-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;color:#647895;font-weight:800;}
.client-table-footer a{color:#0969ff;font-weight:950;}
.quick-actions-card{display:grid;gap:9px;}
.quick-actions-card h2,.communication-card h2,.approval-side-card h2{margin-bottom:10px;}
.quick-actions-card a{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;border:1px solid #dce8f6;background:#f9fcff;color:#0d4da4;font-weight:900;}
.comm-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #e7eff8;color:#0d2347;}
.comm-item:last-child{border-bottom:0;}
.comm-item > span{width:38px;height:38px;border-radius:50%;background:#eaf3ff;color:#0969ff;display:flex;align-items:center;justify-content:center;font-weight:950;flex:0 0 38px;}
.comm-item strong{display:block;color:#0d2347;font-size:14px;}
.comm-item small{display:block;color:#647895;font-size:12px;margin:2px 0 4px;}
.comm-item p{margin:0;color:#405875;font-size:13px;line-height:1.35;}
.approval-side-card{border-color:#ffd8a8;background:linear-gradient(180deg,#fff,#fff8ed);}
.approval-side-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.approval-side-head span{display:inline-flex;border-radius:999px;background:#fff3e5;color:#f97316;padding:6px 10px;font-weight:900;font-size:12px;white-space:nowrap;}
.approval-side-card > strong{display:block;color:#0d2347;margin:8px 0 5px;}
.approval-side-card p{color:#4a6282;margin:0 0 12px;}
.approval-side-card small{display:block;color:#647895;font-weight:850;}
.approval-side-card b{display:block;font-size:26px;color:#0d2347;margin:3px 0 14px;}
.approval-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.approval-buttons a{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;color:#fff;font-weight:950;}
.approval-buttons .approve{background:#16a34a;}.approval-buttons .reject{background:#dc2626;}
.badge-purple{background:#fff3e5!important;color:#c2410c!important;border-color:#fed7aa!important;}
.attention-waiting{background:#fff3e5!important;color:#c2410c!important;border-color:#fed7aa!important;}
@media(max-width:1280px){
    .client-portal-shell{grid-template-columns:240px minmax(0,1fr);}    
    .client-content-grid{grid-template-columns:1fr;}
    .client-right-column{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
    .client-portal-shell{display:block;}
    .client-portal-sidebar{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid #dce8f6;}
    .client-side-nav{grid-template-columns:repeat(2,minmax(0,1fr));}
    .client-portal-main{padding:0 14px 28px;}
    .client-portal-hero{margin:0 -14px;padding:28px 18px;display:grid;}
    .client-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));}
    .client-workflow{grid-template-columns:1fr;}
    .client-workflow::before{display:none;}
    .client-right-column{grid-template-columns:1fr;}
    .client-filter-row{grid-template-columns:1fr;}
}
@media(max-width:560px){
    .client-kpi-row{grid-template-columns:1fr;}
    .client-side-nav{grid-template-columns:1fr;}
    .client-user-chip{min-width:0;}
    .client-card-head,.client-table-footer{display:grid;}
}


/* ===== v54: odstraněný globální hero blok podpory ===== */
.app-body .main-container{
    padding-top:24px;
}
.client-support-shell{
    margin-top:0;
}


/* ===== v55: modernější formulář Nový ticket ===== */
.new-ticket-v55-shell{
    display:grid;
    gap:18px;
}
.new-ticket-v55-hero{
    min-height:210px;
    margin:-24px calc(50% - 50vw) 0;
    padding:34px max(22px,calc((100vw - 1280px)/2 + 22px));
    display:grid;
    grid-template-columns:280px minmax(0,1fr) auto;
    gap:26px;
    align-items:center;
    color:#fff;
    background-image:linear-gradient(90deg,rgba(5,18,42,.84),rgba(7,88,216,.62)),radial-gradient(circle at 76% 20%,rgba(14,165,233,.32),transparent 28%),linear-gradient(135deg,#071733,#0969ff 60%,#0ea5e9);
    background-size:cover;
    background-position:center;
    box-shadow:inset 0 -75px 70px rgba(244,248,253,.07);
}
.new-ticket-brandline{
    display:flex;
    align-items:center;
    gap:14px;
}
.new-ticket-brandline img,
.new-ticket-brandline > span{
    width:64px;height:64px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;color:#0969ff;font-weight:950;box-shadow:0 16px 34px rgba(0,0,0,.18);object-fit:contain;padding:8px;
}
.new-ticket-brandline strong{display:block;color:#fff;font-size:18px;line-height:1.1;}
.new-ticket-brandline small{display:block;color:rgba(255,255,255,.78);margin-top:4px;}
.new-ticket-hero-copy .eyebrow{color:rgba(255,255,255,.85);}
.new-ticket-hero-copy h1{margin:8px 0 8px;color:#fff;font-size:clamp(34px,3.4vw,58px);line-height:1.02;}
.new-ticket-hero-copy p{margin:0;max-width:720px;color:rgba(255,255,255,.86);font-size:16px;line-height:1.6;font-weight:650;}
.new-ticket-v55-hero .btn.light{background:#fff;color:#075edc;border-color:#fff;box-shadow:0 16px 34px rgba(0,0,0,.12);white-space:nowrap;}
.new-ticket-process-card{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:16px;
    border:1px solid #dce8f6;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 42px rgba(10,45,92,.07);
    margin-top:-36px;
    position:relative;
    z-index:2;
}
.new-ticket-process-card div{
    display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #e3edf9;
}
.new-ticket-process-card span{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:950;flex:0 0 40px;}
.new-ticket-process-card .blue{background:#0969ff;}.new-ticket-process-card .orange{background:#f97316;}.new-ticket-process-card .green{background:#16a34a;}
.new-ticket-process-card strong{display:block;color:#0d2347;font-size:14px;}
.new-ticket-process-card small{display:block;color:#647895;font-size:12px;margin-top:2px;}
.ticket-create-layout-v55{grid-template-columns:minmax(0,1fr) 380px;align-items:start;}
.new-ticket-card-v55{border-radius:26px;overflow:hidden;position:relative;}
.new-ticket-card-v55::before{content:"";position:absolute;top:-120px;right:-120px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(9,105,255,.12),transparent 66%);pointer-events:none;}
.new-ticket-card-v55 > *{position:relative;z-index:1;}
.new-ticket-card-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px;align-items:flex-start;}
.new-ticket-card-head h2{margin:4px 0 6px;color:#0d2347;font-size:30px;}
.new-ticket-card-head p{margin:0;color:#647895;line-height:1.55;}
.ticket-status-preview{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:8px 12px;background:#fff3e5;color:#c2410c;border:1px solid #fed7aa;font-weight:950;font-size:12px;}
.request-type-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.request-type-option{appearance:none;text-align:left;border:1px solid #dce8f6;background:#f8fbff;border-radius:20px;padding:16px;cursor:pointer;transition:.18s ease;color:#0d2347;}
.request-type-option:hover{transform:translateY(-1px);border-color:#bcd7fb;box-shadow:0 14px 28px rgba(10,45,92,.07);}
.request-type-option.active{background:linear-gradient(180deg,#fff,#eef6ff);border-color:#91c2ff;box-shadow:0 16px 34px rgba(9,105,255,.12);}
.request-type-option > span{width:42px;height:42px;border-radius:14px;background:#0969ff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:950;margin-bottom:12px;}
.request-type-option > span.orange{background:#f97316;}
.request-type-option strong{display:block;font-size:16px;color:#0d2347;margin-bottom:6px;}
.request-type-option small{display:block;color:#647895;line-height:1.45;font-weight:650;}
.form-grid-v55 .form-row label{font-weight:900;color:#18345f;}
.form-grid-v55 input,.form-grid-v55 select,.form-grid-v55 textarea{border-radius:16px;background:#fff;border-color:#d8e6f6;}
.form-grid-v55 textarea{min-height:170px;}
.hidden-select-row{display:none;}
.category-quick-wrap .category-presets{margin-top:0;}
.category-quick-wrap .category-presets button{background:#eef6ff;border-color:#d7e8ff;color:#075edc;}
.new-ticket-actions-v55{padding-top:8px;}
.new-ticket-actions-v55 .btn{min-height:48px;border-radius:15px;}
.new-ticket-side-v55{display:grid;gap:16px;}
.new-ticket-side-v55 .ticket-create-help{border-radius:24px;}
.workflow-guide > div{background:linear-gradient(180deg,#fff,#f8fbff);}
.new-ticket-side-v55 .ticket-create-tip{margin-top:0;border-radius:24px;background:linear-gradient(135deg,#071733,#075edc);box-shadow:0 18px 34px rgba(10,45,92,.13);}
@media(max-width:1100px){
    .new-ticket-v55-hero{grid-template-columns:1fr;align-items:start;}
    .new-ticket-process-card{grid-template-columns:repeat(2,minmax(0,1fr));}
    .ticket-create-layout-v55{grid-template-columns:1fr;}
}
@media(max-width:760px){
    .new-ticket-v55-hero{margin:-24px -14px 0;padding:28px 18px;}
    .new-ticket-process-card,.request-type-picker{grid-template-columns:1fr;}
    .new-ticket-card-head{display:grid;}
}


/* ===== v56: úklid loga, navigace a duplicit v portálu podpory ===== */
.support-header-inner{
    height:64px;
}
.support-brand-compact{
    min-width:auto;
    gap:0;
}
.support-brand-compact img{
    height:44px;
    max-width:260px;
}
.support-brand-compact span{
    display:none !important;
}
.support-nav{
    gap:6px;
}
.support-nav a{
    padding:9px 10px;
    font-size:13px;
}
.support-nav .nav-cta{
    border-radius:9px;
}
.app-body .main-container{
    padding-top:0;
}
.client-portal-shell{
    margin-top:0;
    border-top:1px solid #dce8f6;
}
.client-portal-sidebar{
    padding-top:22px;
}
.client-sidebar-brand{
    padding-bottom:18px;
    margin-bottom:14px;
    border-bottom:1px solid #e2edf9;
}
.client-sidebar-brand strong{
    font-size:16px;
}
.client-sidebar-brand span{
    font-size:12px;
}
.client-side-nav{
    gap:6px;
}
.client-side-nav a{
    min-height:44px;
    border-radius:12px;
}
.client-portal-hero{
    min-height:158px;
    padding:26px 36px 66px;
}
.client-portal-hero h1{
    font-size:clamp(28px,2.35vw,40px);
    margin:4px 0 8px;
}
.client-portal-hero p{
    font-size:15px;
}
.client-user-chip{
    min-width:215px;
    padding:10px 13px;
}
.client-kpi-row{
    margin-top:-46px;
}
.client-kpi{
    min-height:96px;
    padding:15px 16px;
}
.kpi-ico{
    width:46px;
    height:46px;
    border-radius:15px;
    flex-basis:46px;
    font-size:21px;
}
.client-kpi strong{
    font-size:26px;
}
.client-workflow-card,
.client-tickets-card,
.quick-actions-card,
.communication-card,
.approval-side-card{
    border-radius:18px;
}
.client-workflow-card h2,
.client-card-head h2,
.quick-actions-card h2,
.communication-card h2,
.approval-side-card h2{
    font-size:19px;
}
/* z portálu úplně pryč zbytky fialové — čekací stavy mají oranžový tón */
.badge-purple,
.attention-waiting,
.status-waiting,
.badge-waiting{
    background:#fff3e5 !important;
    color:#c2410c !important;
    border-color:#fed7aa !important;
}
@media(max-width:1100px){
    .support-header-inner{height:auto;min-height:64px;}
    .support-brand-compact img{height:38px;}
}
@media(max-width:760px){
    .client-portal-hero{padding:24px 18px 58px;}
    .client-kpi-row{margin-top:-36px;}
}


/* ===== v57: dashboard bez horního menu, logo v levém sloupci ===== */
.dashboard-no-topnav .main-container{
    padding-top:0;
}
.dashboard-no-topnav .client-portal-shell{
    min-height:100vh;
    border-top:0;
}
.dashboard-no-topnav .client-portal-sidebar{
    top:0;
    height:100vh;
    padding-top:18px;
}
.dashboard-no-topnav .client-sidebar-sitebrand{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:6px 2px 14px;
    margin-bottom:10px;
    border-bottom:1px solid #e2edf9;
}
.dashboard-no-topnav .client-sidebar-sitebrand img{
    display:block;
    max-width:100%;
    width:220px;
    height:auto;
    object-fit:contain;
}
.dashboard-no-topnav .client-sidebar-brand{
    margin-top:2px;
}
.dashboard-no-topnav .client-portal-main{
    min-width:0;
}
@media (max-width:1160px){
    .dashboard-no-topnav .client-sidebar-sitebrand img{
        width:190px;
    }
}
@media (max-width:980px){
    .dashboard-no-topnav .client-portal-shell{
        display:block;
    }
    .dashboard-no-topnav .client-portal-sidebar{
        position:relative;
        top:auto;
        height:auto;
        padding-top:16px;
    }
    .dashboard-no-topnav .client-sidebar-sitebrand{
        justify-content:center;
    }
}


/* ===== v58: zákaznický branding v horním banneru ===== */
.client-hero-right{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-left:auto;
    position:relative;
    z-index:1;
}
.client-hero-logo{
    width:78px;
    height:58px;
    padding:10px 12px;
    border-radius:18px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 18px 34px rgba(0,20,60,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    backdrop-filter:blur(12px);
}
.client-hero-logo img{
    display:block;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}
.client-portal-hero::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,.05),transparent 38%,rgba(255,255,255,.08));
    opacity:.65;
}
.client-portal-hero{
    position:relative;
    overflow:hidden;
}
.client-portal-hero > div:not(.client-hero-right),
.client-portal-hero .client-hero-right{
    position:relative;
    z-index:1;
}
@media(max-width:980px){
    .client-hero-right{
        width:100%;
        justify-content:space-between;
        align-items:center;
    }
    .client-hero-logo{
        width:72px;
        height:54px;
    }
}
@media(max-width:560px){
    .client-hero-right{
        display:grid;
        gap:10px;
    }
    .client-hero-logo{
        width:66px;
        height:50px;
    }
}


/* ===== v59: levé app menu jako jediné hlavní menu sekce Podpora ===== */
.client-nav-section{
    margin:12px 10px 4px;
    color:#7a8da7;
    font-size:10px;
    line-height:1;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.client-side-nav a.client-logout-link{
    margin-top:4px;
    color:#b42318;
    background:#fff7f7;
    border:1px solid #ffd7d7;
}
.client-side-nav a.client-logout-link span{
    color:#b42318;
}
.client-side-nav a.client-logout-link:hover{
    background:#fee2e2;
    color:#991b1b;
}
.dashboard-no-topnav .client-portal-sidebar{
    overflow-y:auto;
    scrollbar-width:thin;
}
.dashboard-no-topnav .client-sidebar-sitebrand{
    padding-top:2px;
    padding-bottom:12px;
}
.dashboard-no-topnav .client-sidebar-sitebrand img{
    width:205px;
}
.dashboard-no-topnav .client-sidebar-brand{
    padding-top:0;
    padding-bottom:14px;
    margin-bottom:10px;
}
.dashboard-no-topnav .client-side-nav a{
    min-height:42px;
    padding:0 12px;
    font-size:14px;
}
.dashboard-no-topnav .client-sidebar-help{
    margin-top:18px;
}
@media (max-width:1160px){
    .dashboard-no-topnav .client-sidebar-sitebrand img{width:180px;}
    .dashboard-no-topnav .client-side-nav a{font-size:13px;}
}


/* ===== v60: jednotné levé menu i na stránce Nový ticket ===== */
.support-page-shell{
    background:linear-gradient(180deg,#f4f8fd 0%,#f8fbff 100%);
}
.support-form-main{
    padding:0;
    min-width:0;
}
.support-form-main .new-ticket-v55-shell{
    padding:22px clamp(18px,2.8vw,34px) 46px;
}
.support-form-main .new-ticket-v55-hero{
    margin-top:0;
    border-radius:26px;
}
.support-form-main .new-ticket-process-card{
    margin-top:-24px;
    position:relative;
    z-index:2;
}
.client-side-nav a.active{
    pointer-events:none;
}
@media(max-width:980px){
    .support-form-main .new-ticket-v55-shell{
        padding:18px 14px 34px;
    }
    .support-form-main .new-ticket-v55-hero{
        border-radius:22px;
    }
}


/* ===== v62: detail ticketu ve stejném app layoutu ===== */
.ticket-page-shell .support-ticket-main{
    padding:26px 28px 46px;
}
.ticket-page-shell .ticket-focus-hero{
    margin-top:0;
}
.ticket-page-shell .alert{
    margin:0 0 16px;
}
.ticket-page-shell .ticket-thread-grid{
    margin-bottom:0;
}
@media (max-width:980px){
    .ticket-page-shell .support-ticket-main{
        padding:18px;
    }
}


/* ===== v63: workflow přesunutý z přehledu do samostatné stránky ===== */
.workflow-page-grid .client-main-column{
    gap:18px;
}
.workflow-page-card{
    padding:26px 28px;
}
.workflow-page-card .client-card-head{
    margin-bottom:22px;
}
.workflow-big-steps{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    position:relative;
}
.workflow-big-step{
    position:relative;
    border:1px solid #dce8f6;
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
    padding:18px 16px;
    min-height:172px;
    box-shadow:0 12px 26px rgba(10,45,92,.05);
}
.workflow-big-step span,
.workflow-info-list span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:999px;
    color:#fff;
    font-weight:950;
    margin-bottom:12px;
    box-shadow:0 12px 28px rgba(9,105,255,.18);
}
.workflow-big-step span.blue,
.workflow-info-list span.blue{background:#0969ff;}
.workflow-big-step span.orange,
.workflow-info-list span.orange{background:#f97316;}
.workflow-big-step span.green,
.workflow-info-list span.green{background:#16a34a;}
.workflow-info-list span.red{background:#dc2626;}
.workflow-big-step strong,
.workflow-info-list strong{
    display:block;
    color:#0d2347;
    margin-bottom:6px;
}
.workflow-big-step small,
.workflow-info-list small{
    display:block;
    color:#647895;
    line-height:1.55;
}
.workflow-info-card{
    padding:24px 26px;
}
.workflow-info-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}
.workflow-info-list > div{
    border:1px solid #dce8f6;
    border-radius:20px;
    padding:18px;
    background:#fff;
}
@media(max-width:1180px){
    .workflow-big-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
    .workflow-info-list{grid-template-columns:1fr;}
}
@media(max-width:620px){
    .workflow-big-steps{grid-template-columns:1fr;}
}


/* ===== v64: admin stránky ve stejném levém app layoutu ===== */
.admin-app-shell .admin-app-main{
    padding:28px 28px 54px;
}
.admin-app-shell .support-dashboard-kpis,
.admin-app-shell .grid{
    width:100%;
}
.admin-app-shell .page-head h1,
.admin-app-shell h1{
    letter-spacing:-.035em;
}
.admin-app-shell .admin-dashboard-grid{
    margin-top:18px;
}
.admin-app-shell .admin-command-card,
.admin-app-shell .company-load-card,
.admin-app-shell .card{
    box-shadow:0 16px 38px rgba(10,45,92,.07);
}
.admin-app-shell .branding-help-card,
.admin-app-shell .web-admin-hero{
    background:linear-gradient(135deg,#ffffff,#f6fbff);
}
.admin-app-shell .company-branding-list{
    margin-top:20px;
}
.admin-app-shell .company-brand-card{
    margin-bottom:18px;
}
.admin-app-shell .table-wrap{
    border-radius:18px;
    overflow:auto;
}
@media(max-width:980px){
    .admin-app-shell .admin-app-main{
        padding:20px 16px 44px;
    }
}


/* ===== v65: typ klienta, fakturace a info pro klienta ===== */
.company-brand-section-title{
    margin:22px 0 12px;
    padding-top:18px;
    border-top:1px solid #e2edf9;
    color:#17375f;
    font-size:14px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.company-brand-card textarea,
.card textarea{
    min-height:86px;
}
.client-contract-card{
    position:relative;
    overflow:hidden;
    border:1px solid #dbeafe;
    background:linear-gradient(180deg,#ffffff,#f5f9ff);
}
.client-contract-card::after{
    content:"";
    position:absolute;
    right:-70px;
    top:-90px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.12),transparent 70%);
    pointer-events:none;
}
.client-contract-card > *{position:relative;z-index:1;}
.client-contract-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.client-contract-head span{
    display:inline-flex;
    padding:8px 11px;
    border-radius:999px;
    background:#eef6ff;
    color:#075edc;
    font-size:12px;
    font-weight:900;
}
.client-contract-head strong{
    color:#0f2c57;
    font-size:16px;
    text-align:right;
}
.client-contract-rates{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:12px 0 14px;
}
.client-contract-rates div{
    padding:12px;
    border-radius:16px;
    background:#fff;
    border:1px solid #e2edf9;
}
.client-contract-rates small{
    display:block;
    color:#667994;
    font-weight:850;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.client-contract-rates b{
    display:block;
    margin-top:4px;
    color:#10223d;
    font-size:17px;
}
.client-contract-card p{
    margin:0;
    color:#4a607d;
    line-height:1.65;
}
@media(max-width:760px){
    .client-contract-rates{grid-template-columns:1fr;}
    .client-contract-head{display:block;}
    .client-contract-head strong{display:block;text-align:left;margin-top:10px;}
}


/* ===== v66: fakturace ===== */
.invoice-grid{grid-template-columns:minmax(0,1.2fr) 360px;align-items:start;}
.invoice-kpis{margin-top:18px;}
.invoice-create-form textarea{min-height:88px;}
.check-stack{display:grid;gap:8px;padding:8px 0;font-size:13px;font-weight:850;color:#334155;}
.check-stack label{display:flex;align-items:center;gap:8px;}
.invoice-company-queue{display:grid;gap:10px;margin-top:16px;}
.invoice-company-queue>div{padding:13px 14px;border-radius:16px;border:1px solid #dce8f6;background:#f8fbff;}
.invoice-company-queue strong{display:block;color:#0f172a;}
.invoice-company-queue span{display:block;color:#64748b;font-size:13px;margin-top:3px;}
.invoice-table td small{display:block;color:#64748b;font-size:12px;margin-top:3px;}
.invoice-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.invoice-actions form{margin:0;}
.invoice-actions .btn{min-height:34px;padding:8px 10px;font-size:12px;}
.invoice-overdue{background:linear-gradient(90deg,rgba(220,38,38,.06),transparent 42%);}
.invoice-hero-card h1{margin:0 0 6px;font-size:clamp(28px,2.6vw,42px);letter-spacing:-.04em;}
@media(max-width:1100px){.invoice-grid{grid-template-columns:1fr;}.invoice-actions{display:grid;}}


/* ===== v67: kontaktní formulář klienta + odpovědi admina ===== */
.contact-portal-hero,
.contact-admin-hero{
    overflow:hidden;
    position:relative;
}
.contact-portal-hero::after,
.contact-admin-hero::after{
    content:"";
    position:absolute;
    right:-120px;
    top:-140px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.10),transparent 70%);
    pointer-events:none;
}
.contact-portal-grid,
.contact-admin-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
    align-items:start;
    margin-top:18px;
}
.contact-admin-grid{
    grid-template-columns:390px minmax(0,1fr);
}
.contact-form-card textarea,
.contact-reply-form textarea{
    min-height:150px;
}
.contact-help-card h2,
.contact-form-card h2,
.contact-admin-list h2{
    margin-top:0;
}
.contact-history-card{
    margin-top:18px;
}
.contact-message-list{
    display:grid;
    gap:12px;
}
.contact-message-list.compact{
    max-height:720px;
    overflow:auto;
    padding-right:4px;
}
.contact-message-item,
.contact-message-link,
.contact-message-box{
    display:block;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    padding:16px;
    box-shadow:0 10px 22px rgba(10,45,92,.04);
}
.contact-message-link{
    transition:.18s ease;
}
.contact-message-link:hover,
.contact-message-link.active{
    transform:translateY(-1px);
    border-color:#bfd9ff;
    background:#f8fbff;
}
.contact-message-link .badge{
    margin-bottom:8px;
}
.contact-message-link strong,
.contact-message-link small{
    display:block;
}
.contact-message-link small{
    color:var(--muted);
    margin-top:5px;
}
.contact-message-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    margin-bottom:12px;
}
.contact-message-head strong,
.contact-message-head small{
    display:block;
}
.contact-message-head small{
    color:var(--muted);
    margin-top:3px;
}
.contact-message-item p,
.contact-message-box p,
.contact-reply-box p{
    margin-bottom:0;
}
.contact-reply-box{
    margin-top:14px;
    padding:15px;
    border-radius:18px;
    background:#eef6ff;
    border:1px solid #bfdbfe;
}
.contact-reply-box strong,
.contact-reply-box small{
    display:block;
}
.contact-reply-box small{
    margin-top:8px;
    color:var(--muted);
}
.admin-reply-box{
    background:#ecfdf5;
    border-color:#bbf7d0;
}
.contact-reply-form{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
}
.contact-close-form{
    margin-top:12px;
}
@media(max-width:1100px){
    .contact-portal-grid,
    .contact-admin-grid{
        grid-template-columns:1fr;
    }
    .contact-admin-list{order:2;}
}
@media(max-width:760px){
    .contact-message-head{display:block;}
    .contact-message-head .badge{margin-top:8px;}
}


/* ===== v68: klientská úprava fakturačních údajů ===== */
.billing-hero-card h1{margin:0 0 6px;font-size:clamp(28px,2.6vw,42px);letter-spacing:-.04em;}
.billing-summary-row{margin-top:18px;}
.billing-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start;}
.billing-form textarea{min-height:120px;}
.client-info-box{margin-top:18px;padding:16px 18px;border-radius:18px;border:1px solid #dce8f6;background:linear-gradient(135deg,#eef6ff,#ffffff);}
.client-info-box strong{display:block;color:#0f172a;margin-bottom:6px;}
.client-info-box p{margin:0;color:#40556f;}
.billing-guide{margin-top:12px;}
.billing-side-card .btn{margin-top:14px;width:100%;}
@media(max-width:1100px){.billing-grid{grid-template-columns:1fr;}}

/* ===== v69: správa e-mailových šablon ===== */
.email-template-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    overflow:hidden;
    position:relative;
}
.email-template-hero::after{
    content:"";
    position:absolute;
    right:-110px;
    top:-130px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.10),transparent 70%);
    pointer-events:none;
}
.email-template-hero>*{position:relative;z-index:1;}
.email-template-hero h1{margin:0 0 6px;font-size:clamp(28px,2.6vw,42px);letter-spacing:-.04em;}
.email-template-count{
    min-width:118px;
    min-height:96px;
    border-radius:22px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#071733,#0969ff);
    color:#fff;
    box-shadow:0 18px 34px rgba(9,105,255,.18);
}
.email-template-count strong{font-size:34px;line-height:1;}
.email-template-count span{font-size:12px;font-weight:900;color:#c7e4ff;text-transform:uppercase;letter-spacing:.08em;margin-top:5px;}
.email-template-layout{
    display:grid;
    grid-template-columns:300px minmax(0,1fr) 390px;
    gap:18px;
    align-items:start;
    margin-top:18px;
}
.email-template-list-card h2,
.email-template-preview-card h2{margin-top:0;}
.email-template-list{
    display:grid;
    gap:9px;
    max-height:820px;
    overflow:auto;
    padding-right:4px;
}
.email-template-link{
    display:block;
    padding:14px;
    border-radius:18px;
    border:1px solid var(--line);
    background:#fff;
    transition:.18s ease;
}
.email-template-link:hover,
.email-template-link.active{
    transform:translateY(-1px);
    border-color:#bfd9ff;
    background:#f8fbff;
    box-shadow:0 10px 22px rgba(10,45,92,.05);
}
.email-template-link strong,
.email-template-link small{display:block;}
.email-template-link small{margin-top:4px;color:var(--muted);font-size:12px;}
.email-template-link .badge{margin-top:8px;}
.email-template-editor-card textarea{
    min-height:260px;
    font-family:Consolas,Monaco,monospace;
    line-height:1.5;
}
.template-active-row label{
    display:flex;
    gap:8px;
    align-items:center;
    font-weight:850;
    color:#203755;
}
.email-template-testbox{
    margin-top:18px;
    padding:16px;
    border-radius:18px;
    border:1px solid #dce8f6;
    background:#f8fbff;
}
.email-template-testbox label{
    display:block;
    margin-bottom:8px;
    font-weight:900;
    color:#10223d;
}
.email-template-testbox div{
    display:flex;
    gap:8px;
}
.email-template-testbox input{min-width:0;flex:1;}
.email-template-preview-card{position:sticky;top:18px;}
.email-preview-subject{
    margin-bottom:12px;
    padding:12px 14px;
    border-radius:16px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.email-preview-subject span,
.email-preview-subject strong{display:block;}
.email-preview-subject span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#667994;font-weight:900;}
.email-preview-subject strong{margin-top:4px;color:#10223d;}
.email-template-preview-card iframe{
    width:100%;
    height:620px;
    border:1px solid #dce8f6;
    border-radius:20px;
    background:#fff;
}
.email-placeholder-card{margin-top:18px;}
.placeholder-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.placeholder-grid>div{
    padding:15px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.placeholder-grid strong{display:block;margin-bottom:9px;color:#10223d;}
.placeholder-grid code{
    display:inline-flex;
    margin:0 5px 7px 0;
    padding:5px 8px;
    border-radius:999px;
    background:#eef6ff;
    color:#075edc;
    font-size:12px;
}
@media(max-width:1300px){
    .email-template-layout{grid-template-columns:260px minmax(0,1fr);}
    .email-template-preview-card{grid-column:1/-1;position:relative;top:auto;}
}
@media(max-width:900px){
    .email-template-layout{grid-template-columns:1fr;}
    .placeholder-grid{grid-template-columns:1fr 1fr;}
    .email-template-testbox div{display:grid;}
}
@media(max-width:600px){
    .email-template-hero{display:block;}
    .email-template-count{margin-top:16px;}
    .placeholder-grid{grid-template-columns:1fr;}
}

/* ===== v70: admin historie / log ===== */
.activity-hero-card{
    position:relative;
    overflow:hidden;
}
.activity-hero-card:after{
    content:"";
    position:absolute;
    right:-90px;
    top:-120px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.11),transparent 70%);
    pointer-events:none;
}
.activity-hero-card > *{position:relative;z-index:1;}
.activity-filter-card{margin-top:18px;}
.activity-filter-row{grid-template-columns:minmax(220px,1fr) 220px 220px auto auto;}
.activity-log-card{margin-top:18px;}
.activity-log-list{display:grid;gap:12px;}
.activity-log-item{
    position:relative;
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    gap:14px;
    padding:16px;
    border:1px solid #dce8f6;
    border-radius:18px;
    background:linear-gradient(180deg,#fff,#f8fbff);
}
.activity-dot{
    width:13px;
    height:13px;
    border-radius:50%;
    margin-top:5px;
    background:linear-gradient(135deg,#0969ff,#43d7ff);
    box-shadow:0 0 0 5px #eef6ff;
}
.activity-log-item.event-email_sent .activity-dot{background:linear-gradient(135deg,#f97316,#fbbf24);box-shadow:0 0 0 5px #fff7ed;}
.activity-log-item.event-approved .activity-dot,
.activity-log-item.event-invoice .activity-dot{background:linear-gradient(135deg,#16a34a,#4ade80);box-shadow:0 0 0 5px #ecfdf5;}
.activity-log-item.event-rejected .activity-dot{background:linear-gradient(135deg,#dc2626,#fb7185);box-shadow:0 0 0 5px #fee2e2;}
.activity-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px;}
.activity-line-head strong{color:#0d2347;font-size:15px;}
.activity-line-head span{color:#647895;font-size:12px;font-weight:800;text-align:right;white-space:nowrap;}
.activity-main p{margin:0 0 10px;color:#273b59;}
.activity-meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.activity-meta-row a,
.activity-meta-row span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:4px 9px;
    border-radius:999px;
    background:#eef6ff;
    color:#075edc;
    font-size:12px;
    font-weight:850;
}
.activity-meta-row span{background:#f3f7fb;color:#53677f;}
@media(max-width:980px){
    .activity-filter-row{grid-template-columns:1fr;}
    .activity-line-head{display:grid;}
    .activity-line-head span{text-align:left;white-space:normal;}
}


/* ===== v71: uživatelské účty a reset hesla ===== */
.login-links-row{
    margin:14px 0 0;
    text-align:right;
}
.login-links-row a{
    color:#075edc;
    font-weight:850;
    font-size:14px;
}
.password-wrap{
    grid-template-columns:minmax(0,1fr) 430px;
}
.password-hero{
    min-height:420px;
}
.access-create-card .nice-checkbox{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:12px 0 18px;
    padding:13px 14px;
    border-radius:16px;
    background:#f8fbff;
    border:1px solid #dce8f6;
    color:#31425a;
    font-weight:750;
}
.access-create-card .nice-checkbox input{
    margin-top:4px;
    width:auto;
}
.users-table-wrap table{
    min-width:980px;
}
.table-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.table-actions form{
    margin:0;
}
.btn.tiny{
    min-height:34px;
    padding:8px 10px;
    border-radius:10px;
    font-size:12px;
    box-shadow:none;
}
.badge-red{
    display:inline-flex;
    border-radius:999px;
    padding:6px 9px;
    background:#fee2e2;
    color:#b91c1c;
    font-size:12px;
    font-weight:900;
}
.badge-green{
    display:inline-flex;
    border-radius:999px;
    padding:6px 9px;
    background:#dcfce7;
    color:#166534;
    font-size:12px;
    font-weight:900;
}
.badge-blue{
    display:inline-flex;
    border-radius:999px;
    padding:6px 9px;
    background:#e6f2ff;
    color:#075edc;
    font-size:12px;
    font-weight:900;
}
.admin-page-head h1{
    margin:6px 0 8px;
}
@media(max-width:980px){
    .password-wrap{grid-template-columns:1fr;}
}


/* ===== v72: admin priority + billing command dashboard ===== */
.admin-fire-grid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
    gap:16px;
    margin:16px 0 18px;
}
.admin-fire-card,
.admin-billing-card{
    border:1px solid var(--line);
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
    padding:18px;
    box-shadow:0 14px 34px rgba(10,45,92,.06);
}
.admin-section-headline{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    margin-bottom:12px;
}
.admin-section-headline h2,
.admin-billing-card h2{margin:0 0 4px;color:#0d2347;letter-spacing:-.03em;}
.admin-section-headline p{margin:0;color:var(--muted);font-size:13px;}
.admin-fire-list{display:grid;gap:9px;}
.admin-fire-item{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px;
    border-radius:16px;
    border:1px solid #e1ecf8;
    background:#fff;
    transition:.16s ease;
}
.admin-fire-item:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(10,45,92,.08);border-color:#cfe4fb;}
.admin-fire-item.is-overdue{background:linear-gradient(90deg,#fff1f2,#fff 40%);border-color:#fecdd3;}
.admin-fire-score{
    width:42px;height:42px;border-radius:14px;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#0969ff,#08b5ea);
    color:#fff;font-weight:950;box-shadow:0 12px 24px rgba(9,105,255,.20);
}
.admin-fire-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0f274d;}
.admin-fire-item small{display:block;color:#647895;font-weight:750;font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-fire-item em{font-style:normal;color:#647895;font-size:12px;font-weight:850;white-space:nowrap;}
.admin-billing-metrics{display:grid;grid-template-columns:1fr;gap:10px;}
.admin-billing-metrics a{
    display:block;padding:13px 14px;border-radius:16px;
    background:#fff;border:1px solid #e1ecf8;
}
.admin-billing-metrics a:hover{border-color:#bfdbfe;background:#f8fbff;}
.admin-billing-metrics span{display:block;color:#647895;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.admin-billing-metrics strong{display:block;font-size:22px;line-height:1.1;margin-top:5px;color:#0d2347;}
.admin-billing-metrics small{display:block;margin-top:4px;color:#647895;font-size:12px;font-weight:800;}
.admin-commercial-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:14px 0 16px;
}
.admin-commercial-strip a{
    padding:14px 16px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.admin-commercial-strip span{display:block;color:#647895;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.admin-commercial-strip strong{display:block;font-size:26px;line-height:1;margin-top:7px;color:#0d2347;}
@media(max-width:1100px){
    .admin-fire-grid{grid-template-columns:1fr;}
    .admin-commercial-strip{grid-template-columns:1fr;}
}
@media(max-width:720px){
    .admin-section-headline{display:grid;}
    .admin-fire-item{grid-template-columns:42px minmax(0,1fr);}
    .admin-fire-item em{grid-column:2;}
}


/* ===== v73: ruční odesílání e-mailových šablon z detailu ticketu ===== */
.template-send-form{
    background:linear-gradient(180deg,#f8fbff,#ffffff);
    border:1px solid #dce8f6;
    border-radius:18px;
    padding:16px;
}
.template-send-form textarea{
    min-height:86px;
}
.template-send-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}
.template-send-actions .btn{
    min-height:42px;
}


/* ===== v74: klientský dashboard - faktury, dotazy a rychlý přehled ===== */
.client-dashboard-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:0 0 18px;
}
.client-dashboard-tile{
    display:flex;
    gap:13px;
    align-items:center;
    padding:16px;
    border-radius:20px;
    background:#fff;
    border:1px solid #dce8f6;
    box-shadow:0 12px 28px rgba(13,39,82,.055);
    transition:.18s ease;
}
.client-dashboard-tile:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(13,39,82,.09);
}
.tile-icon{
    width:44px;
    height:44px;
    border-radius:15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
    color:#fff;
    flex:0 0 44px;
}
.tile-icon.blue{background:linear-gradient(135deg,#0969ff,#0758d8);}
.tile-icon.green{background:linear-gradient(135deg,#16a34a,#059669);}
.tile-icon.orange{background:linear-gradient(135deg,#f97316,#ea580c);}
.client-dashboard-tile small,
.invoice-side-summary small,
.invoice-side-item small,
.contact-side-item small,
.approval-list-item small{
    display:block;
    color:#647895;
    font-size:12px;
    font-weight:850;
}
.client-dashboard-tile strong{
    display:block;
    color:#0d2347;
    font-size:20px;
    line-height:1.15;
    margin:2px 0;
}
.client-dashboard-tile em{
    display:block;
    color:#7d8fa8;
    font-size:12px;
    font-style:normal;
}
.client-card-minihead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.client-card-minihead h2{margin:0;}
.client-card-minihead a{
    color:#075edc;
    font-size:13px;
    font-weight:900;
}
.invoice-side-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:12px;
}
.invoice-side-summary div{
    padding:12px;
    border-radius:15px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.invoice-side-summary strong{
    display:block;
    margin-top:4px;
    color:#0d2347;
    font-size:17px;
}
.invoice-side-item,
.contact-side-item,
.approval-list-item{
    display:grid;
    gap:7px;
    padding:12px 0;
    border-top:1px solid #eef3f9;
}
.invoice-side-item:first-of-type,
.contact-side-item:first-of-type,
.approval-list-item:first-of-type{border-top:0;}
.invoice-side-item strong,
.contact-side-item strong,
.approval-list-item strong{
    display:block;
    color:#0d2347;
    line-height:1.25;
}
.invoice-side-item b,
.approval-list-item b{
    justify-self:start;
    color:#0d2347;
    font-size:17px;
}
.contact-side-item{
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
}
.contact-side-item > span{
    width:30px;
    height:30px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eef6ff;
    color:#075edc;
    font-weight:950;
}
.approval-list-item{
    border-radius:16px;
    padding:13px;
    margin-bottom:10px;
    background:#fff7ed;
    border:1px solid #fed7aa;
}
@media(max-width:1100px){
    .client-dashboard-strip{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .invoice-side-summary{grid-template-columns:1fr;}
}


/* ===== v75: detail faktury + tisk / PDF ===== */
.invoice-detail-page{
    padding-bottom:46px;
}
.invoice-detail-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
}
.invoice-document{
    max-width:1040px;
    margin:0 auto;
    padding:34px;
    border-radius:28px;
    box-shadow:0 24px 70px rgba(10,45,92,.10);
}
.invoice-document-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding-bottom:24px;
    border-bottom:1px solid #dce8f6;
}
.invoice-brand{
    display:inline-flex;
    align-items:center;
    padding:7px 11px;
    border-radius:999px;
    background:#eef6ff;
    color:#075edc;
    font-size:12px;
    font-weight:950;
    letter-spacing:.08em;
}
.invoice-document h1{
    margin:12px 0 5px;
    font-size:clamp(30px,3vw,46px);
    letter-spacing:-.045em;
    color:#071733;
}
.invoice-document p{
    margin:0;
    color:#64748b;
}
.invoice-status-box{
    min-width:190px;
    text-align:right;
    padding:16px 18px;
    border-radius:20px;
    background:#eef6ff;
    border:1px solid #bfdbfe;
    color:#075edc;
}
.invoice-status-box span,
.invoice-party-card span,
.invoice-meta-grid span{
    display:block;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.09em;
    color:#64748b;
    margin-bottom:5px;
}
.invoice-status-box strong{
    font-size:22px;
    color:inherit;
}
.invoice-status-box.is-paid{
    background:#ecfdf5;
    border-color:#bbf7d0;
    color:#047857;
}
.invoice-status-box.is-overdue{
    background:#fee2e2;
    border-color:#fecaca;
    color:#b91c1c;
}
.invoice-parties-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:22px;
}
.invoice-party-card{
    padding:19px;
    border-radius:20px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.invoice-party-card strong{
    display:block;
    color:#0f172a;
    font-size:18px;
    margin-bottom:8px;
}
.invoice-party-card p{
    line-height:1.65;
}
.invoice-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:22px 0;
}
.invoice-meta-grid div{
    padding:15px;
    border-radius:18px;
    background:#fff;
    border:1px solid #dce8f6;
}
.invoice-meta-grid strong{
    display:block;
    color:#071733;
    font-size:17px;
}
.invoice-items-wrap{
    overflow:auto;
    border:1px solid #dce8f6;
    border-radius:20px;
}
.invoice-items-table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
    background:#fff;
}
.invoice-items-table th,
.invoice-items-table td{
    padding:15px 16px;
    border-bottom:1px solid #edf3fb;
    vertical-align:top;
    text-align:left;
}
.invoice-items-table th{
    background:#f8fbff;
    color:#52657e;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.invoice-items-table td strong{
    display:block;
    color:#0f172a;
}
.invoice-items-table td small{
    display:block;
    color:#64748b;
    margin-top:4px;
}
.invoice-items-table tfoot td{
    background:#071733;
    color:#fff;
    font-weight:950;
    font-size:18px;
    border-bottom:0;
}
.text-right{
    text-align:right !important;
}
.invoice-note{
    margin-top:18px;
    padding:17px;
    border-radius:18px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#7c2d12;
}
.invoice-footer-note{
    margin-top:22px;
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding-top:18px;
    border-top:1px solid #dce8f6;
    color:#64748b;
}
.invoice-footer-note strong{
    color:#0f172a;
}
@media(max-width:860px){
    .invoice-detail-actions,
    .invoice-document-head,
    .invoice-footer-note{display:grid;}
    .invoice-status-box{text-align:left;}
    .invoice-parties-grid,
    .invoice-meta-grid{grid-template-columns:1fr;}
    .invoice-document{padding:22px;}
}
@media print{
    body{background:#fff !important;}
    .no-print,
    .scroll-progress,
    .client-portal-sidebar,
    .support-footer{display:none !important;}
    .client-portal-shell{display:block !important;min-height:auto !important;background:#fff !important;}
    .client-portal-main{padding:0 !important;background:#fff !important;}
    .invoice-document{box-shadow:none !important;border:0 !important;border-radius:0 !important;max-width:none !important;margin:0 !important;padding:0 !important;}
    .invoice-items-wrap{overflow:visible !important;}
    .invoice-items-table{min-width:0 !important;}
    a{text-decoration:none !important;color:inherit !important;}
}

/* ===== v76: klientské rozhraní + plný admin náhled klienta ===== */
.client-portal-shell{
    background:
        radial-gradient(circle at 82% -10%, rgba(9,105,255,.12), transparent 34%),
        linear-gradient(180deg,#f4f8fd 0%,#f8fbff 100%);
}
.dashboard-no-topnav .client-portal-sidebar{
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 62%,#eef6ff 100%);
}
.client-sidebar-sitebrand img{
    filter:drop-shadow(0 10px 18px rgba(7,27,63,.10));
}
.client-side-nav a{
    isolation:isolate;
}
.client-side-nav a::after{
    content:"";
    position:absolute;
    inset:8px auto 8px 0;
    width:3px;
    border-radius:999px;
    background:transparent;
    transition:.18s ease;
}
.client-side-nav a:hover::after,
.client-side-nav a.active::after{
    background:currentColor;
}
.client-side-nav a.active::after{opacity:.55;}
.client-portal-main{
    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));
}
.client-portal-hero{
    border-bottom-left-radius:28px;
    border-bottom-right-radius:28px;
    box-shadow:0 24px 54px rgba(7,27,63,.13), inset 0 -70px 70px rgba(244,248,253,.08);
}
.client-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
.client-hero-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
    font-size:13px;
    font-weight:950;
    backdrop-filter:blur(10px);
    box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.client-hero-actions a:first-child{
    background:#fff;
    color:#075edc;
    border-color:#fff;
}
.client-kpi,
.client-dashboard-tile,
.client-card{
    box-shadow:0 16px 42px rgba(10,45,92,.075);
}
.client-kpi{
    position:relative;
    overflow:hidden;
}
.client-kpi::after{
    content:"";
    position:absolute;
    right:-32px;
    top:-38px;
    width:94px;
    height:94px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(9,105,255,.10),transparent 70%);
    pointer-events:none;
}
.client-ticket-table tbody tr{
    transition:.16s ease;
}
.client-ticket-table tbody tr:hover{
    background:#f8fbff;
}
.client-ticket-table td:first-child a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:46px;
    height:30px;
    border-radius:999px;
    background:#eef6ff;
}
.client-filter-row input:focus,
.client-filter-row select:focus,
.preview-company-switcher select:focus{
    outline:none;
    border-color:#93c5fd;
    box-shadow:0 0 0 4px rgba(9,105,255,.10);
}
.quick-actions-card a:hover{
    background:#eef6ff;
    transform:translateY(-1px);
}
.branding-help-actions,
.company-brand-actions{
    flex-wrap:wrap;
    margin-top:16px;
}
.client-preview-admin-main{
    padding:26px 28px 48px;
}
.preview-admin-toolbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,360px) auto;
    gap:18px;
    align-items:end;
    margin-bottom:16px;
    border-radius:24px;
}
.preview-toolbar-copy h1{
    margin:4px 0 7px;
    color:#0d2347;
    font-size:clamp(28px,2.4vw,42px);
}
.preview-toolbar-copy p{
    margin:0;
    color:#647895;
    line-height:1.6;
    max-width:780px;
}
.preview-company-switcher{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:end;
}
.preview-company-switcher label{
    grid-column:1/-1;
    color:#334e73;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.preview-company-switcher select{
    min-height:44px;
    border-radius:14px;
    border:1px solid #d8e6f6;
    padding:0 12px;
    background:#fff;
    color:#0d2347;
    font-weight:850;
}
.preview-toolbar-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}
.preview-alert{
    margin:0 0 16px;
}
.alert.info,
.preview-alert{
    background:#eef6ff;
    color:#075edc;
    border-color:#bfdbfe;
}
.client-live-preview{
    position:relative;
    overflow:hidden;
    border:1px solid #d7e5f6;
    border-radius:30px;
    background:linear-gradient(180deg,#f4f8fd 0%,#f8fbff 100%);
    padding:0 24px 24px;
    box-shadow:0 22px 60px rgba(10,45,92,.10);
}
.client-live-preview .preview-ribbon{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 14px;
    margin:14px 0 10px;
    border-radius:999px;
    background:#071b3f;
    color:#fff;
    font-size:12px;
    font-weight:950;
    letter-spacing:.04em;
}
.client-live-preview .client-portal-hero{
    margin:0 -24px 0;
    border-radius:0 0 28px 28px;
}
.client-live-preview .client-kpi-row{
    margin-top:-44px;
}
.client-live-preview .client-dashboard-strip{
    margin-top:18px;
}
.preview-mini-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:#eef6ff;
    color:#075edc;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.preview-fake-filter input,
.preview-fake-filter select,
.preview-fake-filter button{
    opacity:.75;
    cursor:not-allowed;
}
.client-preview-admin-shell .client-side-nav a.active{
    pointer-events:auto;
}
@media(max-width:1280px){
    .preview-admin-toolbar{
        grid-template-columns:1fr;
        align-items:start;
    }
    .preview-toolbar-actions{
        justify-content:flex-start;
    }
}
@media(max-width:980px){
    .client-preview-admin-main{
        padding:18px 14px 36px;
    }
    .client-live-preview{
        padding:0 14px 18px;
        border-radius:24px;
    }
    .client-live-preview .client-portal-hero{
        margin:0 -14px 0;
    }
    .client-hero-actions a{
        min-height:36px;
    }
}
@media(max-width:640px){
    .preview-company-switcher{
        grid-template-columns:1fr;
    }
    .client-hero-actions{
        display:grid;
    }
}

/* ===== v77: čistší klientské rozhraní, větší klientské logo, bez duplicitního klientského menu ===== */
.client-sidebar-brand.has-client-logo{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:10px;
    padding:14px 12px 18px;
    margin-bottom:12px;
    border:1px solid #dce8f6;
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
    box-shadow:0 14px 34px rgba(10,45,92,.06);
}
.client-sidebar-brand.has-client-logo img{
    width:150px;
    height:78px;
    max-width:100%;
    padding:12px 16px;
    border-radius:18px;
    background:#fff;
    border:1px solid #e2edf9;
    box-shadow:0 10px 22px rgba(10,45,92,.06);
    object-fit:contain;
    flex:none;
}
.client-sidebar-brand.has-client-logo strong{
    font-size:16px;
    line-height:1.2;
}
.client-sidebar-brand.has-client-logo span{
    max-width:210px;
    margin:5px auto 0;
    line-height:1.35;
}
.client-hero-brand-card{
    align-items:center;
    gap:16px;
    min-width:min(430px,42vw);
    padding:16px 18px;
    border-radius:26px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 22px 42px rgba(0,20,60,.16);
    backdrop-filter:blur(12px);
}
.client-hero-logo-large{
    width:174px;
    height:102px;
    padding:18px 22px;
    border-radius:24px;
    flex:0 0 174px;
    background:rgba(255,255,255,.96);
}
.client-hero-logo-fallback{
    color:#073a82;
    font-size:34px;
    font-weight:950;
    letter-spacing:.04em;
}
.client-hero-brand-copy{
    min-width:0;
}
.client-hero-brand-copy small{
    display:block;
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:950;
    letter-spacing:.11em;
    text-transform:uppercase;
    margin-bottom:5px;
}
.client-hero-brand-copy strong{
    display:block;
    color:#fff;
    font-size:22px;
    line-height:1.18;
}
.client-hero-brand-copy span{
    display:block;
    color:rgba(255,255,255,.78);
    font-size:13px;
    font-weight:750;
    margin-top:5px;
}
.client-portal-shell:not(.admin-view) .quick-actions-card{
    display:none!important;
}
.client-portal-shell:not(.admin-view) .client-side-nav .client-nav-section{
    display:none;
}
.client-portal-shell:not(.admin-view) .client-side-nav a[href*="PUBLIC_SUPPORT_PAGE_URL"]{
    display:none;
}
.client-portal-shell:not(.admin-view) .client-right-column{
    align-content:start;
}
@media(max-width:1280px){
    .client-hero-brand-card{
        min-width:0;
        max-width:420px;
    }
    .client-hero-logo-large{
        width:148px;
        height:86px;
        flex-basis:148px;
    }
}
@media(max-width:980px){
    .client-sidebar-brand.has-client-logo img{
        width:170px;
        height:86px;
    }
    .client-hero-brand-card{
        width:100%;
        max-width:none;
        justify-content:flex-start;
    }
}
@media(max-width:560px){
    .client-hero-brand-card{
        display:grid;
        grid-template-columns:1fr;
        justify-items:start;
        padding:14px;
    }
    .client-hero-logo-large{
        width:156px;
        height:90px;
        flex-basis:auto;
    }
}


/* ===== v78: odlehčený klientský sidebar, větší pravé logo a vzdušnější dashboard ===== */
.client-sidebar-brand.client-sidebar-brand-clean{
    display:block;
    padding:8px 2px 16px;
    margin-bottom:12px;
    border-bottom:1px solid #e2edf9;
}
.client-sidebar-brand.client-sidebar-brand-clean strong{
    display:block;
    font-size:30px;
    line-height:1.08;
    color:#12315d;
    margin-bottom:8px;
}
.client-sidebar-brand.client-sidebar-brand-clean span{
    display:block;
    font-size:13px;
    line-height:1.5;
    color:#6a7f9c;
    max-width:220px;
}
.client-sidebar-help{
    margin-top:20px;
    padding:18px 18px 20px;
    border-radius:22px;
    border:1px solid #d8e5f5;
    background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
    box-shadow:0 18px 36px rgba(12,49,97,.07);
}
.client-sidebar-help .help-icon{
    width:46px;
    height:46px;
    border-radius:15px;
    background:linear-gradient(135deg,#e9f2ff,#f3f8ff);
    color:#075edc;
    box-shadow:inset 0 0 0 1px #dce8f6;
    margin-bottom:12px;
}
.client-sidebar-help strong{
    font-size:19px;
    line-height:1.15;
    margin-bottom:6px;
}
.client-sidebar-help span{
    line-height:1.5;
    margin-bottom:14px;
}
.client-sidebar-help .help-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:12px;
    background:linear-gradient(135deg,#0969ff,#0758d8);
    color:#fff;
    font-weight:900;
    box-shadow:0 14px 30px rgba(9,105,255,.22);
}
.client-sidebar-help .help-cta:hover{
    color:#fff;
    transform:translateY(-1px);
}
.client-portal-hero{
    min-height:228px;
    padding:40px 42px 82px;
}
.client-portal-hero h1{
    margin:8px 0 10px;
}
.client-hero-brand-card{
    align-items:center;
    gap:20px;
    min-width:min(560px,48vw);
    padding:18px 22px;
    border-radius:28px;
}
.client-hero-logo-large{
    width:260px;
    height:150px;
    padding:22px 26px;
    border-radius:26px;
    flex:0 0 260px;
    box-shadow:0 18px 34px rgba(0,20,60,.14);
}
.client-hero-brand-copy small{
    font-size:13px;
}
.client-hero-brand-copy strong{
    font-size:28px;
    line-height:1.15;
}
.client-hero-brand-copy span{
    font-size:15px;
    margin-top:7px;
}
.client-kpi-row{
    gap:16px;
    margin-top:-34px;
    padding-bottom:8px;
}
.client-kpi{
    padding:20px 18px 22px;
    min-height:116px;
}
.client-dashboard-strip{
    gap:16px;
    margin:0 0 22px;
}
.client-dashboard-tile{
    padding:18px 16px 20px;
}
.client-content-grid{
    gap:20px;
}
.client-right-column{
    gap:20px;
}
@media(max-width:1280px){
    .client-hero-brand-card{
        min-width:min(480px,46vw);
    }
    .client-hero-logo-large{
        width:220px;
        height:128px;
        flex-basis:220px;
    }
}
@media(max-width:980px){
    .client-sidebar-brand.client-sidebar-brand-clean strong{
        font-size:24px;
    }
    .client-portal-hero{
        min-height:206px;
        padding:34px 24px 74px;
    }
    .client-hero-brand-card{
        width:100%;
        min-width:0;
        max-width:none;
    }
    .client-hero-logo-large{
        width:190px;
        height:112px;
        flex-basis:190px;
    }
}
@media(max-width:560px){
    .client-portal-hero{
        padding:26px 18px 64px;
    }
    .client-sidebar-brand.client-sidebar-brand-clean strong{
        font-size:22px;
    }
    .client-hero-brand-card{
        grid-template-columns:1fr;
        justify-items:start;
    }
    .client-hero-logo-large{
        width:176px;
        height:100px;
        flex-basis:auto;
    }
    .client-hero-brand-copy strong{
        font-size:24px;
    }
}


/* ===== v80: admin nastavení v menu, širší pravý brand box, servisní den a lepší responzivita ===== */
.client-hero-brand-card{
    min-width:min(720px,62vw);
    gap:24px;
    padding:20px 24px;
}
.client-hero-logo-large{
    width:270px;
    height:156px;
    flex:0 0 270px;
}
.client-dashboard-strip-extended{
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.status-legend-card{
    padding:0;
    overflow:hidden;
}
.status-legend-accordion summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
}
.status-legend-accordion summary::-webkit-details-marker{display:none;}
.status-legend-accordion summary > div{min-width:0;}
.status-legend-accordion summary strong{display:block;color:#0d2347;font-size:18px;}
.status-legend-accordion summary span{display:block;color:#647895;font-size:13px;margin-top:4px;}
.status-legend-accordion summary b{color:#0969ff;font-size:13px;font-weight:900;white-space:nowrap;}
.status-legend-accordion[open] summary b::after{content:' ↑';}
.status-legend-accordion:not([open]) summary b::after{content:' ↓';}
.status-legend-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:0 20px 14px;
}
.status-legend-item{
    border:1px solid #e4edf8;
    border-radius:16px;
    background:#f9fbff;
    padding:14px;
}
.status-legend-item > span{display:inline-flex;margin-bottom:10px;}
.status-legend-item p{margin:0;color:#536b89;font-size:13px;line-height:1.45;}
.status-priority-legend{padding:0 20px 20px;}
.status-priority-legend strong{display:block;margin-bottom:10px;color:#0d2347;}
.status-priority-legend > div{display:flex;flex-wrap:wrap;gap:10px 16px;}
.status-priority-legend span{display:inline-flex;align-items:center;gap:8px;color:#3f5876;font-weight:800;font-size:13px;}
@media(max-width:1500px){
    .client-dashboard-strip-extended{grid-template-columns:repeat(3,minmax(0,1fr));}
    .client-hero-brand-card{min-width:min(640px,60vw);}
}
@media(max-width:1280px){
    .client-hero-brand-card{min-width:min(560px,58vw);}
    .client-hero-logo-large{width:240px;height:142px;flex-basis:240px;}
}
@media(max-width:1100px){
    .client-right-column{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:980px){
    .client-dashboard-strip-extended{grid-template-columns:repeat(2,minmax(0,1fr));}
    .status-legend-grid{grid-template-columns:1fr;}
    .client-hero-brand-card{width:100%;max-width:none;min-width:0;}
    .client-hero-logo-large{width:210px;height:124px;flex-basis:210px;}
}
@media(max-width:720px){
    .client-dashboard-strip-extended{grid-template-columns:1fr;}
    .status-legend-accordion summary{padding:16px;display:grid;gap:6px;}
    .status-legend-grid,.status-priority-legend{padding-left:16px;padding-right:16px;}
    .client-right-column{grid-template-columns:1fr;}
}
@media(max-width:560px){
    .client-hero-brand-card{display:grid;grid-template-columns:1fr;justify-items:start;}
    .client-hero-logo-large{width:188px;height:108px;flex-basis:auto;}
}


/* ===== v81: větší logo, lepší označení ticketů a fallback pro unavailability ===== */
.client-hero-brand-card{
    min-width:min(760px,64vw);
    gap:20px;
}
.client-hero-logo-large{
    width:318px;
    height:168px;
    flex:0 0 318px;
    padding:18px 22px;
}
.client-hero-brand-copy small{font-size:12px;letter-spacing:.12em;}
.client-hero-brand-copy strong{font-size:22px;line-height:1.12;}
.client-hero-brand-copy span{font-size:14px;opacity:.88;}
.client-dashboard-tile-accent.notice{
    background:linear-gradient(180deg,#fff8ef 0%,#fff 100%);
    border-color:#fed7aa;
}
.client-dashboard-tile-accent.service{
    background:linear-gradient(180deg,#effaf4 0%,#fff 100%);
    border-color:#b7ebcd;
}
.ticket-marker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    line-height:1.2;
    border:1px solid transparent;
    white-space:nowrap;
}
.ticket-marker.admin{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9;}
.ticket-marker.client{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;}
.ticket-marker.progress{background:#eef6ff;border-color:#cfe0fb;color:#0754b8;}
.ticket-marker.invoice{background:#fff7ed;border-color:#fed7aa;color:#c2410c;}
.ticket-marker.done{background:#ecfdf5;border-color:#bbf7d0;color:#15803d;}
.ticket-marker.cancelled{background:#fff1f2;border-color:#fecdd3;color:#be123c;}
.ticket-marker.neutral{background:#f8fafc;border-color:#e2e8f0;color:#475569;}
.client-ticket-table td:nth-child(3){min-width:210px;}
.status-legend-item .ticket-marker{margin-bottom:10px;}
@media(max-width:1500px){
    .client-hero-brand-card{min-width:min(690px,62vw);}
    .client-hero-logo-large{width:280px;height:150px;flex-basis:280px;}
}
@media(max-width:1100px){
    .client-hero-brand-card{min-width:min(560px,58vw);}
    .client-hero-logo-large{width:240px;height:136px;flex-basis:240px;}
}
@media(max-width:720px){
    .ticket-marker{white-space:normal;border-radius:16px;}
}
@media(max-width:560px){
    .client-hero-logo-large{width:210px;height:118px;}
}


/* ===== v82: detail ticketu jako klientský dashboard + lepší mobil ===== */
.ticket-page-shell .support-ticket-main{
    background:linear-gradient(180deg,#f4f8fd 0%,#f8fbff 100%);
}
.ticket-focus-hero{
    background:
        radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 30%),
        radial-gradient(circle at 12% 88%,rgba(9,105,255,.18),transparent 32%),
        linear-gradient(135deg,#071733 0%,#0b3671 56%,#0969ff 100%);
    box-shadow:0 26px 56px rgba(10,45,92,.18);
}
.ticket-focus-actions .ticket-marker{
    min-height:38px;
    box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.ticket-next-action-card{
    display:grid;
    gap:4px;
    margin:0 0 18px;
    padding:17px 18px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.13);
    backdrop-filter:blur(12px);
}
.ticket-next-action-card span{
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ticket-next-action-card strong{color:#fff;font-size:21px;line-height:1.15;}
.ticket-next-action-card p{margin:0;color:rgba(255,255,255,.82);line-height:1.45;}
.ticket-next-action-card.admin{background:rgba(109,40,217,.18);}
.ticket-next-action-card.client{background:rgba(29,78,216,.18);}
.ticket-next-action-card.invoice{background:rgba(249,115,22,.18);}
.ticket-next-action-card.done{background:rgba(21,128,61,.18);}
.workflow-summary-v82{
    grid-template-columns:1.3fr repeat(3,minmax(0,1fr));
}
.workflow-summary-v82 .ticket-marker{
    white-space:normal;
    border-radius:14px;
}
.ticket-side-status{
    display:grid;
    gap:10px;
    margin:0 0 16px;
    padding:15px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #dce8f6;
}
.ticket-side-status p{
    margin:0;
    color:#536b89;
    font-size:13px;
    line-height:1.45;
}
.ticket-side-status.admin{background:#f7f2ff;border-color:#ddd6fe;}
.ticket-side-status.client{background:#eff6ff;border-color:#bfdbfe;}
.ticket-side-status.invoice{background:#fff7ed;border-color:#fed7aa;}
.ticket-side-status.progress{background:#eef6ff;border-color:#cfe0fb;}
.ticket-side-status.done{background:#ecfdf5;border-color:#bbf7d0;}
.ticket-detail-layout{
    grid-template-columns:minmax(0,1fr) 390px;
    gap:20px;
}
.ticket-thread-grid{
    grid-template-columns:minmax(0,1fr) 390px;
    gap:20px;
}
.ticket-side-card{
    align-self:start;
    position:sticky;
    top:18px;
}
.ticket-meta-list div{
    align-items:flex-start;
}
.ticket-meta-list strong{
    max-width:58%;
}
.comment{
    padding:18px 18px 17px;
}
.comment-admin{
    margin-left:36px;
    border-color:#bfdbfe;
    background:linear-gradient(180deg,#eff6ff,#ffffff);
}
.comment-client{
    margin-right:36px;
    border-color:#dce8f6;
}
.comment-private{
    margin-left:0;
    border-style:dashed;
}
.comment-head strong::before{
    content:"";
    display:inline-flex;
    width:9px;
    height:9px;
    border-radius:999px;
    background:#0969ff;
    margin-right:8px;
    vertical-align:middle;
}
.comment-client .comment-head strong::before{background:#16a34a;}
.comment-private .comment-head strong::before{background:#f59e0b;}
.timeline-card{
    align-self:start;
}
.timeline-list{
    max-height:680px;
    overflow:auto;
    padding-right:4px;
}
.admin-ticket-form{
    padding:16px;
    border-radius:20px;
    border:1px solid #dce8f6;
    background:#f8fbff;
    margin-top:14px;
}
.admin-ticket-form + hr{
    display:none;
}
@media(max-width:1180px){
    .ticket-detail-layout,.ticket-thread-grid{grid-template-columns:1fr;}
    .ticket-side-card{position:relative;top:auto;}
    .timeline-list{max-height:none;overflow:visible;}
}
@media(max-width:980px){
    .ticket-page-shell .support-ticket-main{padding:14px 12px 28px;}
    .ticket-focus-hero{border-radius:24px;padding:22px 18px;}
    .ticket-focus-head h1{font-size:30px;}
    .ticket-focus-actions{min-width:0;}
    .workflow-summary-v82{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
    .ticket-focus-grid,.ticket-stage-lane,.workflow-summary-v82{grid-template-columns:1fr;}
    .ticket-next-action-card{border-radius:18px;padding:15px;}
    .ticket-detail-head{display:grid;}
    .ticket-detail-head h2{font-size:25px;}
    .ticket-main-card,.ticket-side-card,.comments-card,.timeline-card{border-radius:22px;padding:18px;}
    .comment-admin,.comment-client{margin-left:0;margin-right:0;}
    .approval-actions,.reject-form{display:grid;grid-template-columns:1fr;}
}
@media(max-width:520px){
    .ticket-focus-actions{display:grid;grid-template-columns:1fr;}
    .ticket-focus-actions .ticket-marker,
    .ticket-focus-actions .badge,
    .ticket-focus-actions .attention-pill{justify-content:center;width:100%;}
    .ticket-meta-list div{display:grid;gap:4px;}
    .ticket-meta-list strong{text-align:left;max-width:none;}
}


/* ===== v83: výrazné servisní/dovolená, rozdělené vysvětlivky a širší brand box ===== */
.client-portal-hero{justify-content:space-between;}
.client-hero-right.client-hero-brand-card{margin-left:auto;justify-content:flex-end;text-align:right;min-width:min(840px,66vw);max-width:920px;gap:26px;}
.client-hero-logo-large{width:380px;height:178px;flex:0 0 380px;padding:18px 26px;}
.client-hero-brand-copy{text-align:right;max-width:360px;}
.client-hero-brand-copy strong{font-size:22px;}
.client-dashboard-tile-accent.notice.notice-soft{background:linear-gradient(180deg,#fff8ef 0%,#fff 100%);border-color:#fed7aa;}
.client-dashboard-tile-accent.notice.notice-strong{background:linear-gradient(135deg,#f97316 0%,#fb923c 100%);border-color:#fdba74;color:#fff;box-shadow:0 20px 44px rgba(249,115,22,.26);}
.client-dashboard-tile-accent.service.service-empty{background:linear-gradient(180deg,#effaf4 0%,#fff 100%);border-color:#b7ebcd;}
.client-dashboard-tile-accent.service.service-strong{background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);border-color:#86efac;color:#fff;box-shadow:0 20px 44px rgba(22,163,74,.25);}
.client-dashboard-tile-accent.notice.notice-strong small,.client-dashboard-tile-accent.notice.notice-strong strong,.client-dashboard-tile-accent.notice.notice-strong em,.client-dashboard-tile-accent.service.service-strong small,.client-dashboard-tile-accent.service.service-strong strong,.client-dashboard-tile-accent.service.service-strong em{color:#fff!important;}
.client-dashboard-tile-accent.notice.notice-strong .tile-icon,.client-dashboard-tile-accent.service.service-strong .tile-icon{background:rgba(255,255,255,.22)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);}
.legend-section-title{padding:0 20px 12px;display:grid;gap:4px;}
.legend-section-title.compact{padding-top:10px;}
.legend-section-title strong{color:#0d2347;font-size:17px;}
.legend-section-title span{color:#647895;font-size:13px;line-height:1.45;}
.ticket-flow-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px;}
.ticket-flow-example{border:1px solid #dce8f6;border-radius:18px;background:#f8fbff;padding:16px;}
.ticket-flow-example.paid{background:#fff8ed;border-color:#fed7aa;}
.ticket-flow-example h4{margin:0 0 12px;color:#0d2347;font-size:15px;}
.mini-ticket-flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.mini-ticket-flow span{display:inline-flex;min-height:30px;align-items:center;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dce8f6;color:#173a66;font-size:12px;font-weight:850;}
.mini-ticket-flow i{width:18px;height:2px;background:#bdd1e8;display:inline-block;position:relative;}
.mini-ticket-flow i::after{content:"";position:absolute;right:-1px;top:-3px;width:0;height:0;border-left:6px solid #bdd1e8;border-top:4px solid transparent;border-bottom:4px solid transparent;}
@media(max-width:1500px){.client-hero-right.client-hero-brand-card{min-width:min(760px,64vw);}.client-hero-logo-large{width:330px;height:164px;flex-basis:330px;}}
@media(max-width:1180px){.client-hero-right.client-hero-brand-card{min-width:min(620px,58vw);}.client-hero-logo-large{width:270px;height:145px;flex-basis:270px;}}
@media(max-width:980px){.client-hero-right.client-hero-brand-card{min-width:0;max-width:none;width:100%;justify-content:flex-start;text-align:left;}.client-hero-brand-copy{text-align:left;}.ticket-flow-examples{grid-template-columns:1fr;}}
@media(max-width:560px){.client-hero-logo-large{width:230px;height:124px;flex-basis:auto;}.mini-ticket-flow{display:grid;grid-template-columns:1fr;}.mini-ticket-flow i{width:2px;height:18px;margin-left:14px;}.mini-ticket-flow i::after{right:auto;left:-3px;top:auto;bottom:-1px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #bdd1e8;border-bottom:0;}}

/* ===== v84: dostupnost zeleně, klikací řádky, detail ticketu s klientským headerem a timeline more ===== */
.client-dashboard-tile-accent.notice.notice-available{
    background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);
    border-color:#86efac;
    color:#fff;
    box-shadow:0 20px 44px rgba(22,163,74,.22);
}
.client-dashboard-tile-accent.notice.notice-available small,
.client-dashboard-tile-accent.notice.notice-available strong,
.client-dashboard-tile-accent.notice.notice-available em{
    color:#fff!important;
}
.client-dashboard-tile-accent.notice.notice-available .tile-icon{
    background:rgba(255,255,255,.22)!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);
}
.client-row.clickable-ticket-row{
    cursor:pointer;
}
.client-row.clickable-ticket-row:hover td{
    background:#f2f8ff;
}
.client-row.clickable-ticket-row a,
.client-row.clickable-ticket-row button{
    position:relative;
    z-index:2;
}
.ticket-detail-branded-hero{
    padding:24px 28px 26px;
    background:
        radial-gradient(circle at 82% 12%,rgba(14,165,233,.18),transparent 30%),
        linear-gradient(135deg,#0b244f 0%,#123d7a 60%,#0969ff 100%);
    border:1px solid #d7e6f7;
    box-shadow:0 18px 38px rgba(10,45,92,.10);
}
.ticket-detail-branded-hero::before{
    opacity:.12;
}
.ticket-detail-branded-hero .ticket-focus-head{
    align-items:center;
}
.ticket-detail-branded-hero .ticket-hero-copy{
    min-width:0;
    flex:1 1 auto;
}
.ticket-detail-branded-hero .ticket-focus-head h1{
    font-size:clamp(26px,2.8vw,42px);
    max-width:900px;
}
.ticket-hero-right-stack{
    display:grid;
    gap:12px;
    justify-items:end;
    min-width:min(760px,58vw);
}
.ticket-detail-brand-card{
    width:100%;
    min-width:0!important;
    max-width:860px!important;
    justify-content:flex-end!important;
    text-align:right;
    background:rgba(255,255,255,.15);
}
.ticket-detail-logo-cell{
    width:410px!important;
    height:174px!important;
    flex:0 0 410px!important;
    padding:18px 28px!important;
}
.ticket-detail-branded-hero .client-hero-brand-copy{
    text-align:right;
    max-width:300px;
}
.ticket-detail-branded-hero .client-hero-brand-copy small{
    font-size:11px;
    letter-spacing:.09em;
}
.ticket-detail-branded-hero .client-hero-brand-copy strong{
    font-size:21px;
}
.ticket-detail-branded-hero .client-hero-brand-copy span{
    font-size:13px;
}
.ticket-detail-branded-hero .ticket-focus-actions{
    justify-content:flex-end;
}
.ticket-stage-lane{
    margin-top:14px;
}
.ticket-stage.is-pending{
    opacity:.78;
}
.ticket-stage.is-done{
    background:linear-gradient(135deg,#16a34a,#22c55e)!important;
    border-color:#86efac!important;
    color:#fff!important;
    box-shadow:0 12px 26px rgba(22,163,74,.18);
}
.ticket-stage.is-done span{
    background:rgba(255,255,255,.24)!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.ticket-stage.is-current{
    background:linear-gradient(180deg,#fff7ed,#ffffff)!important;
    border-color:#fed7aa!important;
    color:#7c2d12!important;
    box-shadow:0 14px 30px rgba(249,115,22,.14);
}
.ticket-stage.is-current span{
    background:#f97316!important;
    color:#fff!important;
}
.ticket-stage.is-current strong,
.ticket-stage.is-current small{
    color:#7c2d12!important;
}
.ticket-stage.is-muted{
    opacity:.55;
}
.timeline-extra{
    display:none;
}
.timeline-extra.is-visible{
    display:block;
}
.timeline-more-btn{
    width:100%;
    min-height:42px;
    margin-top:14px;
    border:1px solid #d7e6f7;
    border-radius:14px;
    background:#eef6ff;
    color:#075edc;
    font-weight:950;
    cursor:pointer;
}
.timeline-more-btn:hover{
    background:#e2f0ff;
}
@media(max-width:1280px){
    .ticket-hero-right-stack{min-width:min(620px,54vw);}
    .ticket-detail-logo-cell{width:320px!important;height:150px!important;flex-basis:320px!important;}
}
@media(max-width:980px){
    .ticket-detail-branded-hero .ticket-focus-head{display:grid;gap:18px;}
    .ticket-hero-right-stack{min-width:0;width:100%;justify-items:stretch;}
    .ticket-detail-brand-card{justify-content:flex-start!important;text-align:left;}
    .ticket-detail-branded-hero .client-hero-brand-copy{text-align:left;}
    .ticket-detail-logo-cell{width:260px!important;height:136px!important;flex-basis:260px!important;}
    .ticket-detail-branded-hero .ticket-focus-actions{justify-content:flex-start;}
}
@media(max-width:620px){
    .ticket-detail-branded-hero{padding:20px 16px;}
    .ticket-detail-brand-card{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;}
    .ticket-detail-logo-cell{width:220px!important;height:118px!important;flex-basis:auto!important;}
}

/* ===== v85: jemnější dostupnost, roztažený brand box, nové vysvětlivky a detail flow ===== */
.client-dashboard-tile-accent.notice.notice-available{
    background:linear-gradient(180deg,#ecfdf5 0%,#ffffff 100%)!important;
    border-color:#bbf7d0!important;
    color:#14532d!important;
    box-shadow:0 16px 34px rgba(22,163,74,.10)!important;
}
.client-dashboard-tile-accent.notice.notice-available small,
.client-dashboard-tile-accent.notice.notice-available strong,
.client-dashboard-tile-accent.notice.notice-available em{
    color:#14532d!important;
}
.client-dashboard-tile-accent.notice.notice-available .tile-icon{
    background:#dcfce7!important;
    color:#16a34a!important;
    box-shadow:inset 0 0 0 1px #bbf7d0!important;
}
.client-portal-hero .client-hero-right.client-hero-brand-card{
    width:min(1050px,70vw);
    min-width:0!important;
    max-width:1050px!important;
    justify-content:space-between!important;
    align-items:center;
    text-align:right;
    padding:20px 30px;
    gap:26px;
}
.client-portal-hero .client-hero-logo-large{
    width:470px;
    height:182px;
    flex:0 0 470px;
    padding:18px 30px;
}
.client-portal-hero .client-hero-brand-copy{
    margin-left:auto;
    text-align:right;
    max-width:360px;
}
.status-legend-card{
    overflow:hidden;
}
.legend-section-title-top{
    padding-top:2px;
}
.legend-flow-diagrams{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:0 20px 18px;
}
.legend-flow-card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    border:1px solid #dce8f6;
    background:linear-gradient(180deg,#f8fbff,#ffffff);
    padding:18px;
    box-shadow:0 14px 30px rgba(10,45,92,.055);
}
.legend-flow-card::before{
    content:"";
    position:absolute;
    inset:auto -50px -70px auto;
    width:160px;
    height:160px;
    border-radius:999px;
    background:rgba(9,105,255,.08);
}
.legend-flow-card.paid{
    background:linear-gradient(180deg,#fff8ed,#ffffff);
    border-color:#fed7aa;
}
.legend-flow-card.paid::before{
    background:rgba(249,115,22,.10);
}
.legend-flow-head{
    position:relative;
    display:grid;
    gap:5px;
    margin-bottom:14px;
}
.legend-flow-head span{
    display:inline-flex;
    width:max-content;
    padding:5px 10px;
    border-radius:999px;
    background:#eaf3ff;
    color:#075edc;
    font-size:12px;
    font-weight:950;
}
.legend-flow-card.paid .legend-flow-head span{
    background:#fff3e5;
    color:#c2410c;
}
.legend-flow-head strong{
    color:#0d2347;
    font-size:17px;
    line-height:1.2;
}
.legend-flow-line{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
}
.legend-flow-line span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8f6;
    color:#173a66;
    font-size:12px;
    font-weight:900;
    box-shadow:0 8px 18px rgba(10,45,92,.045);
}
.legend-flow-line i{
    width:22px;
    height:2px;
    background:#bdd1e8;
    display:inline-block;
    position:relative;
}
.legend-flow-line i::after{
    content:"";
    position:absolute;
    right:-1px;
    top:-3px;
    width:0;
    height:0;
    border-left:6px solid #bdd1e8;
    border-top:4px solid transparent;
    border-bottom:4px solid transparent;
}
.legend-two-columns{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:0 20px 22px;
}
.legend-column-card{
    border:1px solid #dce8f6;
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 26px rgba(10,45,92,.045);
    overflow:hidden;
}
.legend-section-title.in-card{
    padding:17px 18px 10px;
}
.status-legend-grid.compact-grid{
    grid-template-columns:1fr;
    padding:0 18px 18px;
}
.status-legend-grid.compact-grid .status-legend-item{
    display:grid;
    gap:7px;
    padding:12px;
}
.status-legend-grid.compact-grid .status-legend-item > span{
    margin-bottom:0;
    width:max-content;
    max-width:100%;
}
.ticket-detail-branded-hero{
    padding:22px 26px 24px;
    background:
        linear-gradient(90deg,rgba(5,18,42,.54),rgba(5,18,42,.18)),
        radial-gradient(circle at 82% 12%,rgba(255,255,255,.16),transparent 34%),
        linear-gradient(135deg,#102a55 0%,#27446f 58%,#3f6f9f 100%)!important;
    box-shadow:0 16px 34px rgba(10,45,92,.10)!important;
}
.ticket-detail-branded-hero .ticket-focus-head h1{
    font-size:clamp(26px,2.5vw,38px);
    letter-spacing:-.035em;
}
.ticket-detail-branded-hero .ticket-focus-head p{
    color:rgba(255,255,255,.82);
}
.ticket-detail-branded-hero .ticket-stage-lane-full{
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:8px;
    margin-top:22px;
}
.ticket-detail-branded-hero .ticket-stage{
    min-height:122px;
    padding:12px 10px 11px;
    border-radius:18px;
}
.ticket-detail-branded-hero .ticket-stage span{
    width:28px;
    height:28px;
    margin-bottom:8px;
    font-size:13px;
}
.ticket-detail-branded-hero .ticket-stage strong{
    font-size:13px;
    line-height:1.18;
}
.ticket-detail-branded-hero .ticket-stage small{
    font-size:11px;
    line-height:1.35;
}
.ticket-under-hero-panel{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1.8fr);
    gap:16px;
    margin:-4px 0 18px;
}
.ticket-next-action-card-light{
    margin:0;
    border:1px solid #dce8f6;
    background:#fff;
    box-shadow:0 12px 26px rgba(10,45,92,.055);
}
.ticket-next-action-card-light span{
    color:#647895;
}
.ticket-next-action-card-light strong{
    color:#0d2347;
}
.ticket-next-action-card-light p{
    color:#536b89;
}
.ticket-next-action-card-light.admin{background:#f7f2ff;border-color:#ddd6fe;}
.ticket-next-action-card-light.client{background:#eff6ff;border-color:#bfdbfe;}
.ticket-next-action-card-light.invoice{background:#fff7ed;border-color:#fed7aa;}
.ticket-next-action-card-light.done{background:#ecfdf5;border-color:#bbf7d0;}
.ticket-focus-grid-compact{
    margin:0;
    gap:10px;
}
.ticket-focus-grid-compact div{
    background:#fff;
    border:1px solid #dce8f6;
    box-shadow:0 10px 22px rgba(10,45,92,.045);
    padding:13px 14px;
    border-radius:18px;
    backdrop-filter:none;
}
.ticket-focus-grid-compact span{
    color:#647895;
    font-size:11px;
    margin-bottom:5px;
}
.ticket-focus-grid-compact strong{
    color:#0d2347;
    font-size:15px;
}
.ticket-detail-brand-card{
    justify-content:space-between!important;
}
.ticket-detail-logo-cell{
    width:460px!important;
    flex-basis:460px!important;
}
@media(max-width:1500px){
    .client-portal-hero .client-hero-right.client-hero-brand-card{width:min(920px,66vw);}
    .client-portal-hero .client-hero-logo-large{width:410px;flex-basis:410px;}
    .ticket-detail-branded-hero .ticket-stage-lane-full{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:1180px){
    .client-portal-hero .client-hero-right.client-hero-brand-card{width:min(720px,60vw);}
    .client-portal-hero .client-hero-logo-large{width:310px;height:150px;flex-basis:310px;}
    .legend-flow-diagrams,.legend-two-columns{grid-template-columns:1fr;}
    .ticket-under-hero-panel{grid-template-columns:1fr;}
}
@media(max-width:980px){
    .client-portal-hero .client-hero-right.client-hero-brand-card{width:100%;max-width:none!important;text-align:left;justify-content:flex-start!important;}
    .client-portal-hero .client-hero-brand-copy{text-align:left;margin-left:0;}
    .ticket-detail-logo-cell{width:300px!important;flex-basis:300px!important;}
}
@media(max-width:720px){
    .ticket-detail-branded-hero .ticket-stage-lane-full{grid-template-columns:1fr;}
    .legend-flow-line{display:grid;grid-template-columns:1fr;}
    .legend-flow-line i{width:2px;height:18px;margin-left:14px;}
    .legend-flow-line i::after{right:auto;left:-3px;top:auto;bottom:-1px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #bdd1e8;border-bottom:0;}
}
@media(max-width:560px){
    .client-portal-hero .client-hero-logo-large{width:230px;height:124px;flex-basis:auto;}
    .ticket-detail-logo-cell{width:220px!important;flex-basis:auto!important;}
}

/* ===== v86: ticket číslování, centrované info buňky, fakturace v detailu a historie bez posuvníku ===== */
.ticket-detail-branded-hero .ticket-focus-head h1,
.ticket-detail-head h2{
    letter-spacing:-.035em;
}
.ticket-focus-grid-compact{
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
}
.ticket-focus-grid-compact div{
    min-height:98px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:16px 14px;
}
.ticket-focus-grid-compact span{
    margin-bottom:8px;
}
.ticket-focus-grid-compact strong{
    text-align:center;
}
.ticket-invoice-summary small{
    display:block;
    color:#647895;
    font-size:12px;
    line-height:1.35;
    margin-top:6px;
    font-weight:750;
}
.ticket-focus-grid-compact .ticket-invoice-summary.invoice{
    background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);
    border-color:#fed7aa;
}
.ticket-focus-grid-compact .ticket-invoice-summary.done{
    background:linear-gradient(180deg,#ecfdf5 0%,#ffffff 100%);
    border-color:#bbf7d0;
}
.ticket-focus-grid-compact .ticket-invoice-summary.neutral{
    background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}
.ticket-invoice-actions{
    display:flex!important;
    flex-direction:row!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:0!important;
    gap:8px;
    margin-top:10px;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.ticket-invoice-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    background:#eef6ff;
    color:#075edc;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.ticket-invoice-summary.invoice .ticket-invoice-actions a{
    background:#ffedd5;
    color:#c2410c;
}
.ticket-invoice-summary.done .ticket-invoice-actions a{
    background:#dcfce7;
    color:#15803d;
}
.timeline-list{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
}
.timeline-card{
    overflow:visible!important;
}
@media(max-width:1500px){
    .ticket-focus-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
    .ticket-focus-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
    .ticket-focus-grid-compact{grid-template-columns:1fr;}
    .ticket-invoice-actions{flex-wrap:wrap;}
}


/* ===== v87: detail bez dvojitého loga, footer jako nový web, lepší mobil a zarovnání spodních karet ===== */
.dashboard-no-topnav .support-header{
    display:none!important;
}
.ticket-page-shell .client-sidebar-sitebrand img{
    max-width:205px;
    height:auto;
}
.ticket-detail-head h2{
    display:none!important;
}
.ticket-summary-subline{
    margin-top:2px;
    font-size:15px;
}
.ticket-detail-layout{
    align-items:stretch;
}
.ticket-main-card,
.ticket-side-card{
    height:100%;
}
.ticket-thread-grid{
    align-items:stretch;
    margin-bottom:28px;
}
.ticket-thread-grid > .card{
    height:100%;
}
.ticket-focus-grid-compact{
    align-items:stretch;
}
.ticket-focus-grid-compact > div{
    height:100%;
}
.ticket-detail-branded-hero .ticket-focus-head{
    align-items:center;
}
.ticket-detail-brand-card{
    margin-left:auto!important;
    width:min(880px,62vw)!important;
    max-width:880px!important;
    justify-content:space-between!important;
}
.ticket-detail-logo-cell{
    width:420px!important;
    height:150px!important;
    flex:0 0 420px!important;
}
.ticket-detail-branded-hero .client-hero-brand-copy{
    min-width:220px;
    text-align:right;
}
.ticket-detail-branded-hero .client-hero-brand-copy small{
    font-size:11px;
    letter-spacing:.13em;
}
.ticket-detail-branded-hero .client-hero-brand-copy strong{
    font-size:22px;
    line-height:1.12;
}
.ticket-detail-branded-hero .client-hero-brand-copy span{
    font-size:13px;
}

.support-footer-v87{
    position:relative;
    overflow:hidden;
    margin-top:0;
    padding:76px 0 28px;
    background:linear-gradient(135deg,#061733 0%,#09295a 52%,#071d3e 100%)!important;
    border-top:0!important;
    color:#dce8f7;
}
.support-footer-v87::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 18% 8%,rgba(9,105,255,.22),transparent 28%),
        radial-gradient(circle at 84% 16%,rgba(67,215,255,.12),transparent 30%);
    pointer-events:none;
}
.support-footer-v87-inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.55fr repeat(4,1fr);
    gap:54px;
    align-items:start;
    padding-bottom:50px;
    border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-brand-block{
    max-width:330px;
}
.footer-logo-mark{
    width:52px;
    height:52px;
    border-radius:18px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
    background:radial-gradient(circle at 62% 34%,#fff 0 9%,transparent 10%),linear-gradient(135deg,#e11d48,#b91c1c 48%,#0b4acb 49%,#062b7a 100%);
    box-shadow:0 18px 34px rgba(0,0,0,.22);
}
.footer-logo-mark span{
    display:inline-flex;
    color:#fff;
    font-weight:950;
    font-size:24px;
    line-height:1;
    letter-spacing:-.08em;
}
.footer-brand-block strong{
    display:block;
    color:#fff;
    font-size:24px;
    line-height:1.1;
    letter-spacing:-.04em;
    margin-bottom:6px;
}
.footer-brand-block small{
    display:block;
    color:#a7bbd4;
    font-weight:800;
    margin-bottom:22px;
}
.footer-brand-block p{
    margin:0;
    color:#bdcbe0;
    font-size:18px;
    line-height:1.55;
}
.footer-column{
    display:grid;
    gap:12px;
    align-content:start;
}
.footer-column h3{
    color:#fff;
    font-size:14px;
    line-height:1.2;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin:0 0 8px;
}
.footer-column a{
    color:#c9d6e8!important;
    font-weight:650!important;
    font-size:15px;
    line-height:1.4;
    transition:.18s ease;
}
.footer-column a:hover{
    color:#fff!important;
    transform:translateX(2px);
}
.support-footer-v87-bottom{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding-top:28px;
    color:#c9d6e8;
    font-size:15px;
}
.support-footer-v87-bottom a{
    color:#fff!important;
    font-weight:950!important;
}
.support-footer-v87-bottom i{
    display:inline-block;
    width:1px;
    height:17px;
    margin:0 12px;
    background:rgba(255,255,255,.35);
    vertical-align:middle;
}
@media(max-width:1280px){
    .support-footer-v87-inner{
        grid-template-columns:1.25fr repeat(2,1fr);
        gap:34px;
    }
    .ticket-detail-brand-card{
        width:min(720px,60vw)!important;
    }
    .ticket-detail-logo-cell{
        width:340px!important;
        flex-basis:340px!important;
    }
}
@media(max-width:980px){
    .ticket-detail-brand-card{
        width:100%!important;
        max-width:none!important;
        margin-left:0!important;
        text-align:left!important;
    }
    .ticket-detail-branded-hero .client-hero-brand-copy{
        text-align:left;
    }
    .ticket-detail-logo-cell{
        width:280px!important;
        height:132px!important;
        flex-basis:280px!important;
    }
    .ticket-detail-branded-hero .ticket-stage-lane-full{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .support-footer-v87-inner{
        grid-template-columns:1fr 1fr;
    }
    .footer-brand-block{
        max-width:none;
        grid-column:1/-1;
    }
}
@media(max-width:720px){
    .ticket-page-shell .support-ticket-main{
        padding:12px 10px 24px!important;
    }
    .ticket-detail-branded-hero{
        padding:18px 14px!important;
        border-radius:22px!important;
    }
    .ticket-detail-branded-hero .ticket-focus-head h1{
        font-size:26px!important;
    }
    .ticket-detail-branded-hero .ticket-focus-head p,
    .ticket-summary-subline{
        font-size:13px;
        line-height:1.45;
    }
    .ticket-detail-brand-card{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:14px!important;
        padding:14px!important;
    }
    .ticket-detail-logo-cell{
        width:100%!important;
        max-width:260px!important;
        height:116px!important;
        flex-basis:auto!important;
    }
    .ticket-detail-branded-hero .ticket-stage-lane-full{
        grid-template-columns:1fr;
        gap:10px;
    }
    .ticket-under-hero-panel,
    .ticket-detail-layout,
    .ticket-thread-grid{
        grid-template-columns:1fr!important;
    }
    .ticket-focus-grid-compact{
        grid-template-columns:1fr!important;
    }
    .ticket-detail-head{
        display:grid!important;
        gap:12px;
    }
    .workflow-summary.workflow-summary-v82{
        grid-template-columns:1fr!important;
    }
    .ticket-side-card,
    .timeline-card{
        order:initial!important;
    }
    .support-footer-v87{
        padding:48px 0 24px;
    }
    .support-footer-v87-inner{
        grid-template-columns:1fr;
        gap:26px;
        padding-bottom:32px;
    }
    .footer-brand-block p{
        font-size:16px;
    }
    .support-footer-v87-bottom{
        display:grid;
        gap:14px;
        font-size:14px;
    }
}


/* ===== v89: menší horní brand box v podpoře + výraznější zelená dostupnost ===== */
.client-dashboard-tile-accent.notice.notice-available{
    background:linear-gradient(180deg,#dcfce7 0%,#f6fff8 100%)!important;
    border-color:#86efac!important;
    color:#14532d!important;
    box-shadow:0 16px 34px rgba(22,163,74,.13)!important;
}
.client-dashboard-tile-accent.notice.notice-available small,
.client-dashboard-tile-accent.notice.notice-available strong,
.client-dashboard-tile-accent.notice.notice-available em{
    color:#14532d!important;
}
.client-dashboard-tile-accent.notice.notice-available .tile-icon{
    background:#bbf7d0!important;
    color:#15803d!important;
    box-shadow:inset 0 0 0 1px #86efac!important;
}
.client-portal-hero .client-hero-right.client-hero-brand-card{
    width:min(860px,58vw)!important;
    max-width:860px!important;
    padding:16px 22px!important;
    gap:18px!important;
}
.client-portal-hero .client-hero-logo-large{
    width:360px!important;
    height:154px!important;
    flex:0 0 360px!important;
    padding:14px 22px!important;
}
.client-portal-hero .client-hero-brand-copy{
    max-width:300px!important;
}
@media(max-width:1500px){
    .client-portal-hero .client-hero-right.client-hero-brand-card{width:min(780px,56vw)!important;max-width:780px!important;}
    .client-portal-hero .client-hero-logo-large{width:320px!important;height:146px!important;flex-basis:320px!important;}
}
@media(max-width:1180px){
    .client-portal-hero .client-hero-right.client-hero-brand-card{width:min(660px,56vw)!important;max-width:660px!important;}
    .client-portal-hero .client-hero-logo-large{width:285px!important;height:136px!important;flex-basis:285px!important;}
}
@media(max-width:980px){
    .client-portal-hero .client-hero-right.client-hero-brand-card{width:100%!important;max-width:none!important;padding:16px 18px!important;}
}
@media(max-width:560px){
    .client-portal-hero .client-hero-logo-large{width:220px!important;height:118px!important;flex-basis:auto!important;}
}


/* ===== v91: filtr podle aktuální akce + barevné řádky ticketů ===== */
.client-filter-row-v91{
    grid-template-columns:minmax(260px,1fr) 180px 240px 120px;
}
.filter-submit-blue{
    background:linear-gradient(135deg,#0969ff,#0758d8)!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 14px 30px rgba(9,105,255,.22)!important;
    font-weight:950!important;
}
.filter-submit-blue:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 36px rgba(9,105,255,.28)!important;
}
.client-ticket-table tbody tr.client-row.row-action-done td{
    background:#ecfdf5!important;
}
.client-ticket-table tbody tr.client-row.row-action-admin td{
    background:#eff6ff!important;
}
.client-ticket-table tbody tr.client-row.row-action-client td,
.client-ticket-table tbody tr.client-row.row-action-invoice td{
    background:#fff7ed!important;
}
.client-ticket-table tbody tr.client-row.row-action-cancelled td{
    background:#f1f5f9!important;
    color:#64748b;
}
.client-ticket-table tbody tr.client-row.row-action-progress td{
    background:#f8fbff!important;
}
.client-ticket-table tbody tr.client-row:hover td{
    filter:brightness(.985);
}
.client-ticket-table tbody tr.client-row td:first-child{
    border-left:4px solid transparent;
}
.client-ticket-table tbody tr.client-row.row-action-done td:first-child{border-left-color:#22c55e;}
.client-ticket-table tbody tr.client-row.row-action-admin td:first-child{border-left-color:#3b82f6;}
.client-ticket-table tbody tr.client-row.row-action-client td:first-child,
.client-ticket-table tbody tr.client-row.row-action-invoice td:first-child{border-left-color:#f97316;}
.client-ticket-table tbody tr.client-row.row-action-cancelled td:first-child{border-left-color:#94a3b8;}
.client-ticket-table tbody tr.client-row.row-action-progress td:first-child{border-left-color:#06b6d4;}
@media(max-width:980px){
    .client-filter-row-v91{grid-template-columns:1fr;}
}


/* ===== v92: počty ve filtru Stav + profi mobilní polish podpory ===== */
@media(max-width:1180px){
    .client-filter-row-v91,
    .client-filter-row{
        grid-template-columns:1fr 1fr!important;
        gap:12px!important;
    }
    .client-filter-row-v91 input,
    .client-filter-row-v91 select,
    .client-filter-row-v91 button,
    .client-filter-row input,
    .client-filter-row select,
    .client-filter-row button{
        min-width:0!important;
        width:100%!important;
    }
}
@media(max-width:820px){
    html{scroll-behavior:smooth;}
    body.app-body.support-theme{background:#f4f8fd;}
    .main-container{padding-left:0!important;padding-right:0!important;}
    .client-portal-shell{display:block!important;min-height:auto!important;}
    .client-portal-sidebar{
        position:relative!important;
        top:auto!important;
        height:auto!important;
        max-height:none!important;
        border-right:0!important;
        border-bottom:1px solid #dce8f6!important;
        padding:14px!important;
        overflow:visible!important;
    }
    .client-sidebar-sitebrand{justify-content:center!important;margin-bottom:10px!important;}
    .client-sidebar-sitebrand img{width:172px!important;}
    .client-sidebar-brand-clean{text-align:center!important;padding-bottom:12px!important;}
    .client-sidebar-brand-clean strong{font-size:22px!important;}
    .client-sidebar-brand-clean span{max-width:none!important;margin:0 auto!important;}
    .client-side-nav{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }
    .client-side-nav a{
        min-height:44px!important;
        padding:9px 10px!important;
        border-radius:14px!important;
        font-size:13px!important;
        justify-content:flex-start!important;
    }
    .client-side-nav a span{width:18px!important;}
    .client-nav-section{grid-column:1/-1;margin:8px 4px 0!important;}
    .client-sidebar-help{display:none!important;}
    .client-portal-main{padding:0 12px 24px!important;}
    .client-portal-hero{
        margin:0 -12px!important;
        padding:20px 14px 54px!important;
        min-height:auto!important;
        display:grid!important;
        gap:16px!important;
    }
    .client-portal-hero h1{font-size:clamp(24px,7vw,34px)!important;margin:0 0 8px!important;}
    .client-portal-hero p{font-size:14px!important;line-height:1.45!important;}
    .client-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;}
    .client-hero-actions a{min-height:44px!important;justify-content:center!important;}
    .client-portal-hero .client-hero-right.client-hero-brand-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        justify-items:start!important;
        text-align:left!important;
        padding:14px!important;
        gap:12px!important;
    }
    .client-portal-hero .client-hero-logo-large{
        width:min(100%,260px)!important;
        height:120px!important;
        flex-basis:auto!important;
        padding:12px 16px!important;
    }
    .client-portal-hero .client-hero-brand-copy{text-align:left!important;max-width:none!important;margin:0!important;}
    .client-kpi-row,
    .client-dashboard-strip,
    .client-dashboard-strip-extended{
        grid-template-columns:1fr!important;
        gap:12px!important;
        margin-top:-28px!important;
    }
    .client-dashboard-strip{margin-top:14px!important;}
    .client-kpi,.client-dashboard-tile{min-height:auto!important;padding:15px!important;border-radius:18px!important;}
    .client-content-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:14px!important;}
    .client-right-column{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
    .client-card{border-radius:18px!important;padding:16px!important;}
    .client-card-head{display:grid!important;gap:10px!important;}
    .client-filter-row-v91,.client-filter-row{grid-template-columns:1fr!important;gap:9px!important;}
    .client-filter-row-v91 .btn,.client-filter-row .btn{min-height:46px!important;}
    .client-table-wrap{
        border-radius:18px!important;
        overflow:visible!important;
        border:0!important;
        background:transparent!important;
    }
    .client-ticket-table,
    .client-ticket-table thead,
    .client-ticket-table tbody,
    .client-ticket-table tr,
    .client-ticket-table th,
    .client-ticket-table td{display:block!important;width:100%!important;}
    .client-ticket-table thead{display:none!important;}
    .client-ticket-table tr.client-row{
        margin:0 0 12px!important;
        border:1px solid #dce8f6!important;
        border-radius:18px!important;
        overflow:hidden!important;
        box-shadow:0 12px 26px rgba(10,45,92,.07)!important;
        background:#fff!important;
    }
    .client-ticket-table tr.client-row td{
        border:0!important;
        padding:10px 14px!important;
    }
    .client-ticket-table tr.client-row td:first-child{
        display:flex!important;
        justify-content:space-between!important;
        align-items:center!important;
        background:rgba(9,105,255,.06)!important;
        font-weight:950!important;
    }
    .client-ticket-table tr.client-row td:nth-child(2) strong{font-size:16px!important;line-height:1.25!important;}
    .client-ticket-table tr.client-row td:nth-child(2) small{display:block!important;margin-top:5px!important;}
    .ticket-marker{white-space:normal!important;border-radius:14px!important;}
    .client-table-footer{display:grid!important;gap:10px!important;text-align:center!important;}
    .legend-flow-diagrams,.legend-two-columns,.status-legend-grid{grid-template-columns:1fr!important;}
    .status-legend-accordion summary{display:grid!important;gap:8px!important;padding:15px!important;}
}
@media(max-width:480px){
    .client-side-nav{grid-template-columns:1fr!important;}
    .client-kpi,.client-dashboard-tile{gap:11px!important;align-items:flex-start!important;}
    .kpi-ico,.tile-icon{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:14px!important;font-size:19px!important;}
    .client-kpi strong,.client-dashboard-tile strong{font-size:22px!important;line-height:1.1!important;}
    .client-ticket-table tr.client-row td{padding:9px 12px!important;}
}


/* ===== v94: přesnější horní brand box + faktura/úhrada ve flow ticketu ===== */
.client-portal-main > .client-portal-hero .client-hero-right.client-hero-brand-card{
    width:min(500px,40vw)!important;
    min-width:430px!important;
    max-width:500px!important;
    display:grid!important;
    grid-template-columns:minmax(210px,1.35fr) minmax(145px,.65fr)!important;
    align-items:center!important;
    padding:14px 18px!important;
    gap:16px!important;
}
.client-portal-main > .client-portal-hero .client-hero-logo-large{
    width:100%!important;
    max-width:255px!important;
    height:124px!important;
    flex:0 0 auto!important;
    padding:12px 18px!important;
}
.client-portal-main > .client-portal-hero .client-hero-brand-copy{
    max-width:170px!important;
    text-align:right!important;
}
.client-portal-main > .client-portal-hero .client-hero-brand-copy small{
    font-size:10px!important;
    letter-spacing:.08em!important;
}
.client-portal-main > .client-portal-hero .client-hero-brand-copy strong{
    font-size:18px!important;
    line-height:1.12!important;
}
.client-portal-main > .client-portal-hero .client-hero-brand-copy span{
    font-size:12px!important;
}
.ticket-stage.is-danger{
    background:linear-gradient(135deg,#dc2626,#ef4444)!important;
    border-color:#fecaca!important;
    color:#fff!important;
    box-shadow:0 18px 34px rgba(220,38,38,.24)!important;
}
.ticket-stage.is-danger span{
    background:rgba(255,255,255,.24)!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)!important;
}
.ticket-stage.is-danger strong,
.ticket-stage.is-danger small{color:#fff!important;}
.ticket-stage-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:9px;
}
.ticket-stage-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:0 9px;
    border-radius:999px;
    background:rgba(255,255,255,.20);
    color:#fff!important;
    font-size:11px;
    font-weight:950;
    text-decoration:none!important;
    border:1px solid rgba(255,255,255,.26);
}
.ticket-stage.is-current .ticket-stage-actions a,
.ticket-stage.is-invoice-waiting .ticket-stage-actions a{
    background:#ffedd5;
    color:#c2410c!important;
    border-color:#fed7aa;
}
.ticket-invoice-summary.danger{
    background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%)!important;
    border-color:#fecdd3!important;
}
.ticket-invoice-summary.danger strong,
.ticket-invoice-summary.danger small{color:#9f1239!important;}
.ticket-invoice-summary.danger .ticket-invoice-actions a{
    background:#ffe4e6!important;
    color:#be123c!important;
}
@media(max-width:1180px){
    .client-portal-main > .client-portal-hero .client-hero-right.client-hero-brand-card{
        width:min(460px,48vw)!important;
        min-width:0!important;
        grid-template-columns:minmax(185px,1.25fr) minmax(130px,.75fr)!important;
    }
    .client-portal-main > .client-portal-hero .client-hero-logo-large{max-width:230px!important;height:116px!important;}
}
@media(max-width:820px){
    .client-portal-main > .client-portal-hero .client-hero-right.client-hero-brand-card{
        width:100%!important;
        max-width:none!important;
        grid-template-columns:1fr!important;
        justify-items:start!important;
        text-align:left!important;
    }
    .client-portal-main > .client-portal-hero .client-hero-brand-copy{text-align:left!important;max-width:none!important;}
}


/* ===== v95: červená faktura ve flow + profi mobilní responzivita podpory ===== */
.ticket-stage.is-danger,
.ticket-detail-branded-hero .ticket-stage.is-danger{
    background:linear-gradient(135deg,#b91c1c 0%,#ef4444 100%)!important;
    border-color:#fecaca!important;
    color:#fff!important;
    box-shadow:0 18px 38px rgba(185,28,28,.30)!important;
}
.ticket-stage.is-danger span,
.ticket-detail-branded-hero .ticket-stage.is-danger span{
    background:rgba(255,255,255,.22)!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)!important;
}
.ticket-stage.is-danger strong,
.ticket-stage.is-danger small,
.ticket-detail-branded-hero .ticket-stage.is-danger strong,
.ticket-detail-branded-hero .ticket-stage.is-danger small{color:#fff!important;}
.ticket-stage-actions-invoice{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px!important;
    width:100%;
}
.ticket-stage-actions-invoice a{
    min-height:30px!important;
    padding:0 8px!important;
    white-space:nowrap;
}
.ticket-stage.is-danger .ticket-stage-actions-invoice a{
    background:#fff!important;
    color:#b91c1c!important;
    border-color:rgba(255,255,255,.72)!important;
    box-shadow:0 10px 22px rgba(0,0,0,.12);
}
.ticket-invoice-summary.danger{
    background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%)!important;
    border-color:#fb7185!important;
    box-shadow:0 14px 32px rgba(225,29,72,.12)!important;
}
.ticket-invoice-summary.danger strong,
.ticket-invoice-summary.danger small{color:#9f1239!important;}
.ticket-invoice-summary.danger .ticket-invoice-actions a{
    background:#ffe4e6!important;
    color:#be123c!important;
}

@media(max-width:1100px){
    .client-portal-shell{grid-template-columns:1fr!important;}
    .client-portal-sidebar{position:relative!important;top:auto!important;width:100%!important;max-width:none!important;border-radius:0 0 24px 24px!important;}
    .client-portal-main{width:100%!important;min-width:0!important;padding:18px 14px 34px!important;}
    .client-portal-hero{grid-template-columns:1fr!important;gap:18px!important;}
    .client-portal-main > .client-portal-hero .client-hero-right.client-hero-brand-card{width:100%!important;max-width:none!important;min-width:0!important;}
    .client-dashboard-grid,.client-kpi-grid,.client-tile-grid,.legend-two-columns,.legend-flow-diagrams{grid-template-columns:1fr!important;}
}
@media(max-width:820px){
    body{overflow-x:hidden;}
    .support-page-shell,.client-portal-shell,.ticket-page-shell{display:block!important;max-width:100%!important;overflow:hidden!important;}
    .client-portal-sidebar{padding:14px!important;}
    .client-sidebar-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
    .client-sidebar-nav a{min-height:42px!important;padding:9px 10px!important;border-radius:14px!important;font-size:13px!important;}
    .client-sidebar-help{display:none!important;}
    .client-portal-main{padding:14px 10px 28px!important;}
    .client-portal-hero,.ticket-focus-hero{border-radius:22px!important;padding:18px 14px!important;}
    .client-portal-hero h1,.ticket-focus-head h1{font-size:clamp(25px,7.2vw,34px)!important;line-height:1.12!important;}
    .client-portal-main > .client-portal-hero .client-hero-right.client-hero-brand-card{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;padding:13px!important;gap:12px!important;text-align:left!important;}
    .client-portal-main > .client-portal-hero .client-hero-logo-large{width:100%!important;max-width:250px!important;height:112px!important;}
    .client-portal-main > .client-portal-hero .client-hero-brand-copy{text-align:left!important;max-width:none!important;}
    .ticket-detail-branded-hero .ticket-focus-head{grid-template-columns:1fr!important;gap:16px!important;}
    .ticket-detail-brand-card{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;text-align:left!important;margin-left:0!important;}
    .ticket-detail-logo-cell{width:100%!important;max-width:245px!important;height:110px!important;flex-basis:auto!important;}
    .ticket-detail-branded-hero .client-hero-brand-copy{text-align:left!important;}
    .ticket-detail-branded-hero .ticket-focus-actions{justify-content:flex-start!important;gap:8px!important;}
    .ticket-detail-branded-hero .ticket-stage-lane-full{grid-template-columns:1fr!important;gap:10px!important;}
    .ticket-stage{min-height:auto!important;padding:14px!important;}
    .ticket-stage-actions-invoice{grid-template-columns:1fr!important;}
    .ticket-under-hero-panel,.ticket-focus-grid-compact,.ticket-detail-layout,.ticket-thread-grid{grid-template-columns:1fr!important;}
    .ticket-focus-grid-compact > div{min-height:86px!important;padding:14px!important;}
    .ticket-invoice-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
    .ticket-invoice-actions a{width:100%!important;justify-content:center!important;}
    .ticket-main-card,.ticket-side-card,.timeline-card,.comment-card,.card{max-width:100%!important;overflow-wrap:anywhere;}
    .comment-bubble,.timeline-item{max-width:100%!important;}
    .form-grid,.admin-form-grid,.ticket-form-grid{grid-template-columns:1fr!important;}
    input,select,textarea,button{max-width:100%!important;}
    .table-wrap,.client-table-wrap{overflow-x:visible!important;}
    .client-ticket-table,.client-ticket-table thead,.client-ticket-table tbody,.client-ticket-table tr,.client-ticket-table th,.client-ticket-table td{display:block!important;width:100%!important;}
    .client-ticket-table thead{display:none!important;}
    .client-ticket-table tr.client-row{margin:0 0 12px!important;border-radius:20px!important;border:1px solid #d9e6f7!important;box-shadow:0 12px 28px rgba(10,45,92,.07)!important;overflow:hidden!important;background:#fff!important;}
    .client-ticket-table tr.client-row td{padding:10px 14px!important;border:0!important;}
    .client-ticket-table tr.client-row td + td{border-top:1px solid #edf2f8!important;}
    .support-footer-v87-inner{grid-template-columns:1fr!important;gap:24px!important;}
    .support-footer-v87-bottom{display:grid!important;gap:10px!important;text-align:left!important;}
}
@media(max-width:520px){
    .client-sidebar-nav{grid-template-columns:1fr!important;}
    .client-portal-main{padding-left:8px!important;padding-right:8px!important;}
    .client-portal-hero,.ticket-focus-hero,.card{border-radius:18px!important;}
    .ticket-focus-grid-compact > div{min-height:78px!important;}
    .ticket-detail-branded-hero .ticket-focus-head h1{font-size:24px!important;}
    .ticket-marker,.attention-pill,.badge{max-width:100%;white-space:normal!important;text-align:left;}
}

/* ===== v96: faktura v detailu + klikatelné menu + mobilní polish ===== */
.client-portal-sidebar{
    position:relative;
    z-index:12;
}
.client-side-nav{
    position:relative;
    z-index:20;
}
.client-side-nav a{
    pointer-events:auto;
    cursor:pointer;
    text-decoration:none;
}

.ticket-stage-invoice-meta,
.ticket-invoice-file{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:10px;
    padding-top:10px;
    border-top:1px dashed rgba(255,255,255,.24);
}
.ticket-stage.is-danger .ticket-stage-invoice-meta,
.ticket-stage.is-current.is-invoice-waiting .ticket-stage-invoice-meta{
    border-top-color:rgba(190,24,93,.22);
}
.ticket-stage.is-done .ticket-stage-invoice-meta,
.ticket-stage.is-current .ticket-stage-invoice-meta{
    border-top-color:rgba(255,255,255,.22);
}
.ticket-stage-invoice-name,
.ticket-invoice-file-copy b{
    display:block;
    font-size:12px;
    line-height:1.35;
    font-weight:850;
}
.ticket-invoice-file-copy{
    display:grid;
    gap:2px;
    min-width:0;
}
.ticket-invoice-file-copy em{
    display:block;
    font-style:normal;
    font-size:11px;
    color:#64748b;
    word-break:break-word;
}
.ticket-invoice-summary.danger .ticket-invoice-file-copy em{
    color:#9f1239;
}
.ticket-invoice-file{
    margin-top:12px;
    padding-top:12px;
    border-top:1px dashed #d6e2f3;
}
.ticket-invoice-file-actions{display:flex;align-items:center;gap:8px;}
.pdf-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    height:34px;
    padding:0 12px;
    border-radius:12px;
    background:linear-gradient(135deg,#ef4444,#dc2626);
    color:#fff!important;
    font-size:12px;
    font-weight:950;
    letter-spacing:.06em;
    box-shadow:0 10px 22px rgba(220,38,38,.22);
}
.ticket-stage-actions-invoice a,
.ticket-invoice-actions a{
    text-decoration:none;
}

@media (max-width: 920px){
    .client-side-nav{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .client-side-nav a{
        min-height:44px!important;
        padding:10px 12px!important;
        font-size:13px!important;
        justify-content:flex-start!important;
    }
    .client-sidebar-help{display:none!important;}
    .ticket-focus-head,
    .ticket-hero-right-stack,
    .ticket-under-hero-panel,
    .ticket-focus-grid,
    .ticket-focus-grid-compact,
    .ticket-detail-layout,
    .ticket-thread-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    .ticket-focus-grid-compact > div,
    .ticket-next-action-card,
    .ticket-invoice-summary{
        min-height:auto!important;
    }
    .ticket-detail-brand-card{
        width:100%!important;
        max-width:none!important;
        grid-template-columns:1fr!important;
        justify-items:start!important;
        text-align:left!important;
    }
    .ticket-detail-logo-cell{
        width:100%!important;
        max-width:250px!important;
        height:108px!important;
    }
    .ticket-focus-actions{
        display:flex!important;
        flex-wrap:wrap!important;
        justify-content:flex-start!important;
    }
    .ticket-stage-lane,
    .ticket-stage-lane-full{
        grid-template-columns:1fr!important;
    }
    .ticket-stage,
    .ticket-focus-grid-compact > div,
    .ticket-side-card,
    .ticket-main-card,
    .timeline-card,
    .card{
        border-radius:18px!important;
    }
    .ticket-invoice-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .ticket-stage-actions,
    .ticket-stage-actions-invoice{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .ticket-stage-actions a,
    .ticket-invoice-actions a,
    .pdf-chip{
        justify-content:center!important;
        width:100%!important;
    }
    .timeline-list{gap:12px!important;}
}

@media (max-width: 640px){
    .client-portal-sidebar{
        padding:14px 12px!important;
    }
    .client-sidebar-sitebrand{justify-content:center!important;}
    .client-sidebar-brand-clean{
        text-align:center!important;
        padding-bottom:10px!important;
    }
    .client-side-nav{grid-template-columns:1fr!important;}
    .client-portal-main{padding:12px 8px 24px!important;}
    .ticket-focus-hero,
    .ticket-under-hero-panel,
    .card{
        border-radius:18px!important;
    }
    .ticket-focus-head h1{
        font-size:clamp(28px,8.4vw,40px)!important;
        line-height:1.08!important;
    }
    .ticket-invoice-file,
    .ticket-stage-invoice-meta{
        grid-template-columns:1fr!important;
        display:grid!important;
        align-items:start!important;
    }
    .ticket-invoice-file-actions,
    .ticket-stage-invoice-meta .pdf-chip{
        width:100%!important;
    }
    .ticket-meta-list div,
    .ticket-side-card .ticket-meta-list div{
        grid-template-columns:1fr!important;
        display:grid!important;
        gap:4px!important;
    }
    .ticket-meta-list strong{text-align:left!important;}
}

/* ===== v97: neuhrazené faktury výrazně červeně + oprava klientské faktury ===== */
.kpi-ico.red,
.tile-icon.red{
    background:#fee2e2!important;
    color:#dc2626!important;
    box-shadow:inset 0 0 0 1px #fecaca!important;
}
.invoice-kpi-danger,
.invoice-dashboard-danger.has-unpaid{
    background:linear-gradient(180deg,#fff1f2 0%,#fff 100%)!important;
    border-color:#fb7185!important;
    box-shadow:0 18px 42px rgba(225,29,72,.12)!important;
}
.invoice-kpi-danger small,
.invoice-kpi-danger strong,
.invoice-kpi-danger em,
.invoice-dashboard-danger.has-unpaid small,
.invoice-dashboard-danger.has-unpaid strong,
.invoice-dashboard-danger.has-unpaid em{
    color:#9f1239!important;
}
.invoice-waiting-payment-pill,
.attention-pill.invoice-waiting-payment-pill{
    background:#fee2e2!important;
    color:#b91c1c!important;
    border:1px solid #fecaca!important;
    box-shadow:0 8px 18px rgba(220,38,38,.10)!important;
}
.invoice-waiting-payment-row td{
    background:#fff7f7!important;
}
.invoice-waiting-payment-row td:first-child{
    border-left:4px solid #ef4444!important;
}
.invoice-side-item-danger{
    background:linear-gradient(180deg,#fff1f2,#fff)!important;
    border-color:#fecaca!important;
}
.invoice-status-box.is-unpaid,
.invoice-status-box.is-overdue{
    background:linear-gradient(180deg,#fff1f2,#fff)!important;
    border-color:#fb7185!important;
    color:#9f1239!important;
}
.invoice-status-box.is-unpaid strong,
.invoice-status-box.is-overdue strong{color:#b91c1c!important;}
.invoice-detail-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.ticket-invoice-summary.danger,
.ticket-stage.is-danger,
.ticket-stage.is-current.is-invoice-waiting{
    border-color:#ef4444!important;
}
.ticket-stage.is-danger{
    background:linear-gradient(180deg,#fff1f2,#fff7ed)!important;
    color:#9f1239!important;
    box-shadow:0 16px 34px rgba(225,29,72,.16)!important;
}
.ticket-stage.is-danger span{
    background:#f97316!important;
    color:#fff!important;
}
.ticket-stage.is-danger strong,
.ticket-stage.is-danger small,
.ticket-stage.is-danger .ticket-stage-invoice-name{color:#9f1239!important;}
.ticket-stage.is-danger .ticket-stage-actions-invoice a{
    background:#fee2e2!important;
    color:#b91c1c!important;
    border-color:#fecaca!important;
}
.ticket-invoice-summary.invoice,
.ticket-invoice-summary.danger{
    outline:2px solid rgba(239,68,68,.20);
}

@media(max-width:760px){
    .invoice-kpis,
    .client-kpi-row.invoice-kpis{
        grid-template-columns:1fr!important;
    }
    .invoice-detail-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .invoice-detail-actions .btn,
    .invoice-detail-actions a{
        width:100%!important;
        justify-content:center!important;
    }
    .invoice-table tr,
    .invoice-table td{
        width:100%!important;
        display:block!important;
    }
    .invoice-table thead{display:none!important;}
    .invoice-table tr{
        border:1px solid #dce8f6!important;
        border-radius:18px!important;
        overflow:hidden!important;
        margin-bottom:12px!important;
        background:#fff!important;
        box-shadow:0 12px 26px rgba(10,45,92,.07)!important;
    }
    .invoice-table td{
        border-bottom:1px solid #edf2f8!important;
        padding:11px 14px!important;
    }
    .invoice-table td:last-child{border-bottom:0!important;}
    .invoice-document{padding:16px!important;border-radius:18px!important;}
    .invoice-document-head,
    .invoice-parties-grid,
    .invoice-meta-grid{
        grid-template-columns:1fr!important;
        display:grid!important;
        gap:12px!important;
    }
}
