:root{
  --bg:#f4f6f3;--surface:#ffffff;--surface-2:#f8faf7;--text:#111827;--muted:#667085;--soft:#98a2b3;
  --primary:#c8d400;--primary-dark:#aab500;--primary-soft:#f3f7c7;--dark:#101828;--border:#e4e7ec;
  --success:#0f9f6e;--success-soft:#e7f7f0;--warning:#d97706;--warning-soft:#fff4df;--danger:#dc2626;--danger-soft:#fff0f0;
  --blue:#2563eb;--blue-soft:#edf4ff;--radius:18px;--radius-sm:12px;--shadow:0 12px 35px rgba(16,24,40,.07);
  --nav-h:76px;
}
*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}code{background:#eef1ed;padding:.15rem .35rem;border-radius:6px;font-size:.9em}.hidden{display:none!important}.muted{color:var(--muted)}
.app-shell{min-height:100vh}.main-content{width:100%;max-width:1050px;margin:0 auto;padding:20px 16px calc(var(--nav-h) + 28px)}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:4px 0 22px}.page-header h1{font-size:28px;line-height:1.1;margin:4px 0 4px;letter-spacing:-.04em}.page-header p{margin:0;color:var(--muted)}.eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--muted)}.avatar{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--dark);color:#fff;font-size:12px;font-weight:800;box-shadow:var(--shadow);flex:0 0 auto}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--primary);color:var(--dark);font-weight:900;font-size:21px;box-shadow:0 8px 24px rgba(200,212,0,.25)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-size:17px;letter-spacing:-.03em}.brand small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.sidebar{display:none}.bottom-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:66px;background:rgba(17,24,39,.96);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.08);border-radius:22px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;box-shadow:0 16px 40px rgba(16,24,40,.25)}.bottom-nav a{color:#aeb6c4;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border-radius:16px}.bottom-nav a>span{font-size:21px;line-height:1}.bottom-nav small{font-size:9px;font-weight:700}.bottom-nav a.active{background:var(--primary);color:var(--dark)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:13px;padding:0 18px;border:1px solid transparent;font-weight:800;transition:.15s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--dark);box-shadow:0 8px 18px rgba(200,212,0,.22)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--dark);color:#fff}.btn-ghost{background:#fff;border-color:var(--border);color:var(--text)}.btn-block{width:100%}.btn-xl{min-height:58px;font-size:16px;border-radius:16px}.btn.compact{min-height:43px;padding:0 14px}.link-button{background:none;border:0;padding:8px 0;color:#4f5a00;font-weight:800}.icon-button{width:38px;height:38px;border-radius:11px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center}.mini-action{min-height:38px;padding:0 13px;border:1px solid var(--border);background:#fff;border-radius:11px;font-weight:700}.mini-action.danger{color:var(--danger)}
.hero-card{background:linear-gradient(135deg,#101828 0%,#1f2937 100%);color:#fff;border-radius:24px;padding:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:190px;height:190px;border:32px solid rgba(200,212,0,.12);border-radius:50%;right:-80px;top:-90px}.hero-card>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:end;z-index:1}.hero-kicker{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#b8c0cb;font-weight:800}.hero-number{font-size:46px;line-height:.9;letter-spacing:-.06em}.hero-label{font-size:13px;color:#d0d5dd;max-width:70px;line-height:1.1}.hero-card .btn{z-index:1;min-width:136px}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:14px;display:grid;grid-template-columns:8px 1fr;grid-template-rows:auto auto;gap:2px 8px;box-shadow:0 5px 14px rgba(16,24,40,.03)}.stat-dot{width:8px;height:8px;border-radius:50%;margin-top:8px;grid-row:1/3}.stat-dot.warning{background:var(--warning)}.stat-dot.progress{background:var(--blue)}.stat-dot.success{background:var(--success)}.stat-dot.delivered{background:#667085}.stat-value{font-weight:900;font-size:22px;line-height:1}.stat-label{color:var(--muted);font-size:11px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:26px 2px 12px}.section-head h2{font-size:19px;margin:3px 0 0;letter-spacing:-.03em}.section-head>a,.section-head>span{font-size:13px;color:var(--muted);font-weight:700}.card-list{display:flex;flex-direction:column;gap:9px}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:15px;display:block;transition:.15s ease}.job-card:hover{border-color:#cbd1d9;box-shadow:0 6px 18px rgba(16,24,40,.04)}.job-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.job-card-top>div{display:flex;flex-direction:column;min-width:0}.job-card-top strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-top span:not(.status-badge){font-size:13px;color:var(--muted);margin-top:2px}.job-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.job-meta span{font-size:11px;font-weight:750;background:var(--surface-2);border:1px solid #edf0ec;border-radius:9px;padding:5px 8px;color:#475467}.job-date{font-size:10px;color:var(--soft);margin-top:9px}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.status-warning{background:var(--warning-soft);color:#9a5805}.status-progress{background:var(--blue-soft);color:var(--blue)}.status-success{background:var(--success-soft);color:#087a53}.status-danger{background:var(--danger-soft);color:var(--danger)}.status-info{background:#eef2ff;color:#4f46e5}.status-muted{background:#f2f4f7;color:#667085}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.search-box{flex:1;position:relative}.search-box>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--soft);font-size:21px}.search-box input{padding-left:39px}.toolbar-copy{display:flex;align-items:baseline;gap:8px;flex:1}.toolbar-copy strong{font-size:28px}.toolbar-copy span{color:var(--muted)}.filter-chips{display:flex;gap:7px;overflow:auto;padding:0 0 12px;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chips a{white-space:nowrap;padding:8px 11px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:11px;font-weight:750;color:#667085}.filter-chips a.active{background:var(--dark);color:#fff;border-color:var(--dark)}
input,select,textarea{width:100%;border:1px solid #d7dce2;background:#fff;color:var(--text);border-radius:12px;min-height:47px;padding:11px 12px;outline:none;transition:.15s ease}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:#b8c300;box-shadow:0 0 0 3px rgba(200,212,0,.14)}label{display:flex;flex-direction:column;gap:6px}label>span{font-size:11px;color:#475467;font-weight:750}.form-stack{display:flex;flex-direction:column;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.span-2{grid-column:1/-1}.field-error{color:var(--danger);font-size:11px}.form-between{display:flex;justify-content:flex-end;margin-top:-3px}.form-between a{color:#5b6500;font-size:12px;font-weight:800}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.money-input{position:relative}.money-input input{padding-right:46px}.money-input em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;font-weight:800;color:var(--muted)}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:17px;margin-bottom:12px;box-shadow:0 6px 18px rgba(16,24,40,.025)}.panel-head{margin-bottom:15px}.panel-head h3{font-size:17px;margin:3px 0 0;letter-spacing:-.025em}.panel-head.small h3{font-size:15px}.flex-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.flex-head>a{font-size:12px;font-weight:800;color:#5b6500}.data-list{margin:0;display:flex;flex-direction:column}.data-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #eef1ed}.data-list>div:last-child{border-bottom:0}.data-list dt{font-size:12px;color:var(--muted)}.data-list dd{margin:0;font-size:13px;font-weight:750;text-align:right}.data-list .total-row dd{font-size:17px;color:#4f5a00}.note-block{margin-top:13px;padding:13px;border-radius:12px;background:var(--surface-2)}.note-block.internal{background:#fff7ed}.note-block strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.note-block p{margin:6px 0 0;color:#475467}.contact-row{display:flex;flex-direction:column;gap:7px}.contact-row a{font-weight:700;color:#4f5a00}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-grid>div{display:flex;flex-direction:column;gap:3px}.contact-grid span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.contact-grid a,.contact-grid strong{font-size:13px}
.detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:var(--dark);color:#fff;border-radius:22px;padding:20px;margin-bottom:12px}.detail-hero h2{font-size:22px;margin:10px 0 0;letter-spacing:-.04em}.detail-hero p{color:#c9d0da;margin:4px 0 0}.price-big{font-size:24px;font-weight:900;white-space:nowrap}.status-actions{display:flex;gap:7px;overflow:auto;padding:9px 0 14px}.detail-grid{display:grid;grid-template-columns:1fr;gap:0}.timeline{display:flex;flex-direction:column}.timeline>div{display:grid;grid-template-columns:18px 1fr;gap:8px;position:relative;padding-bottom:13px}.timeline>div:before{content:"";position:absolute;left:5px;top:10px;bottom:-2px;width:1px;background:var(--border)}.timeline>div:last-child:before{display:none}.timeline>div>span{width:11px;height:11px;border-radius:50%;background:var(--primary);margin-top:4px;z-index:1}.timeline p{display:flex;justify-content:space-between;gap:10px;margin:0}.timeline small{color:var(--muted)}.email-log{display:flex;flex-direction:column}.email-log>div{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #eef1ed}.email-log>div:last-child{border:0}.email-log p{margin:0;display:flex;flex-direction:column}.email-log small{color:var(--muted)}.email-log>div>span:last-child{font-size:10px;color:var(--muted)}.mail-state{width:8px;height:8px;border-radius:50%;background:var(--soft)}.mail-state.sent{background:var(--success)}.mail-state.failed{background:var(--danger)}.mail-state.disabled{background:var(--warning)}
.step-panel{padding:16px}.step-head{display:flex;gap:11px;align-items:center;margin-bottom:16px}.step-no{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--dark);color:var(--primary);font-weight:900;flex:0 0 auto}.step-head h3{margin:1px 0 0;font-size:16px}.job-form{padding-bottom:24px}.search-input-wrap{position:relative}.search-input-wrap span{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--soft)}.search-results{position:absolute;left:0;right:0;z-index:20;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);margin-top:5px;overflow:hidden}.client-picker{position:relative}.search-results button{width:100%;padding:11px 13px;border:0;border-bottom:1px solid #eef1ed;background:#fff;display:flex;flex-direction:column;text-align:left}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:var(--surface-2)}.search-results strong{font-size:13px}.search-results small{font-size:10px;color:var(--muted)}.search-empty{padding:13px;color:var(--muted);font-size:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:4px;margin-bottom:14px}.segmented label{display:block}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:grid;place-items:center;min-height:40px;border-radius:10px;color:var(--muted);font-size:11px}.segmented input:checked+span{background:var(--dark);color:#fff}.tension-row{display:grid;grid-template-columns:1fr 1fr .8fr;gap:8px;margin:13px 0}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-grid .total-price{grid-column:1/-1}.last-stringing{margin:10px 0;background:var(--primary-soft);border:1px solid #e5ec91;border-radius:12px;padding:11px}.last-stringing>div{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto}.last-stringing span{font-size:10px;color:#697100;text-transform:uppercase;font-weight:800}.last-stringing strong{grid-row:2}.last-stringing small{grid-column:2;grid-row:1/3;align-self:center;color:#596000}.sticky-submit{position:sticky;bottom:calc(var(--nav-h) + 14px);z-index:10;box-shadow:0 12px 30px rgba(16,24,40,.22)}
.app-dialog{border:0;padding:0;background:transparent;width:min(94vw,520px);max-height:90vh}.app-dialog::backdrop{background:rgba(16,24,40,.56);backdrop-filter:blur(3px)}.dialog-card{background:#fff;border-radius:22px;padding:19px;box-shadow:0 25px 80px rgba(16,24,40,.28);max-height:90vh;overflow:auto}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.dialog-head h3{margin:3px 0 0;font-size:20px}.dialog-close{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);font-size:22px;line-height:1}.dialog-error{color:var(--danger);background:var(--danger-soft);padding:10px;border-radius:10px;font-size:12px}
.person-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:12px;display:grid;grid-template-columns:42px 1fr auto 14px;align-items:center;gap:10px}.person-avatar{width:42px;height:42px;border-radius:14px;background:var(--dark);color:var(--primary);display:grid;place-items:center;font-size:11px;font-weight:900}.person-main{display:flex;flex-direction:column;min-width:0}.person-main strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-main span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-stats{display:grid;grid-template-columns:auto auto;gap:0 5px;align-items:baseline}.person-stats strong{font-size:12px;text-align:right}.person-stats span{font-size:9px;color:var(--muted)}.chevron{font-size:23px;color:var(--soft)}
.quick-actions{display:flex;gap:8px;overflow:auto;margin-bottom:12px;padding-bottom:2px}.quick-actions .btn{flex:0 0 auto}.racket-grid{display:grid;grid-template-columns:1fr;gap:10px}.racket-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:10px;display:grid;grid-template-columns:70px 1fr;gap:11px;align-items:center;min-width:0}.racket-card img,.racket-placeholder{width:70px;height:70px;border-radius:13px;object-fit:cover;background:linear-gradient(145deg,#1f2937,#101828);color:var(--primary);display:grid;place-items:center;font-size:29px}.racket-card>div:last-child{display:flex;flex-direction:column;min-width:0}.racket-card strong{font-size:13px}.racket-card span{font-size:11px;color:#475467}.racket-card small{font-size:10px;color:var(--muted);margin-top:4px}.racket-detail-head{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;margin-bottom:13px}.racket-detail-head img,.racket-placeholder.large{width:92px;height:92px;border-radius:20px;object-fit:cover;background:var(--dark);color:var(--primary);display:grid;place-items:center;font-size:38px}.racket-detail-head h2{margin:3px 0 2px;font-size:20px;letter-spacing:-.04em}.racket-detail-head p{margin:0;color:var(--muted)}.racket-detail-head a{display:inline-block;margin-top:6px;color:#5b6500;font-weight:800;font-size:12px}.last-card{background:linear-gradient(135deg,#eef3b0,#f8facf);border:1px solid #e3e98b;border-radius:20px;padding:17px;margin-bottom:12px}.last-card-main{display:flex;justify-content:space-between;gap:16px;margin:8px 0 11px}.last-card-main>div{display:flex;flex-direction:column}.last-card-main>div:last-child{text-align:right}.last-card-main strong{font-size:15px}.last-card-main span{font-size:11px;color:#667000}.last-card>a{font-size:11px;font-weight:850;color:#4f5900}.history-list{display:flex;flex-direction:column;gap:9px}.history-list>a{background:#fff;border:1px solid var(--border);border-radius:16px;padding:11px;display:grid;grid-template-columns:43px 1fr auto;gap:10px;align-items:center}.history-date{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--border);padding-right:9px}.history-date strong{font-size:17px;line-height:1}.history-date span{font-size:8px;color:var(--muted);margin-top:2px}.history-main{display:flex;flex-direction:column;min-width:0}.history-main strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-main span{font-size:9px;color:var(--muted)}.history-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.history-side>strong{font-size:11px}
.string-grid{display:grid;grid-template-columns:1fr;gap:10px}.string-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:12px;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}.string-card.inactive{opacity:.58}.string-swatch{width:44px;height:44px;border-radius:14px;background:var(--primary-soft);color:#6d7500;display:grid;place-items:center;font-size:21px}.string-copy{display:flex;flex-direction:column;min-width:0}.string-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.string-title strong{font-size:13px}.string-copy>span{font-size:10px;color:var(--muted)}.string-copy small{font-size:10px;color:#596000;margin-top:3px;font-weight:700}.string-actions{display:flex;gap:5px}.string-actions form{margin:0}
.settings-layout{display:flex;flex-direction:column}.settings-divider{height:1px;background:var(--border);margin:4px 0 18px}.toggle-list{display:flex;flex-direction:column;margin:0 0 15px}.toggle-row{display:grid;grid-template-columns:1fr 44px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1ed;position:relative}.toggle-row>div{display:flex;flex-direction:column}.toggle-row strong{font-size:12px}.toggle-row span{font-size:10px;color:var(--muted);margin-top:2px}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-row i{width:43px;height:25px;border-radius:999px;background:#d0d5dd;position:relative;transition:.2s}.toggle-row i:after{content:"";position:absolute;width:19px;height:19px;background:#fff;border-radius:50%;left:3px;top:3px;box-shadow:0 2px 5px rgba(16,24,40,.18);transition:.2s}.toggle-row input:checked+i{background:var(--primary)}.toggle-row input:checked+i:after{left:21px}.test-mail-form{margin-top:10px}.danger-zone{background:#fff;border:1px dashed #f0b7b7;border-radius:17px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.danger-zone>div{display:flex;flex-direction:column}.danger-zone strong{font-size:12px}.danger-zone span{font-size:10px;color:var(--muted)}
.empty-state{background:#fff;border:1px dashed #cfd5dc;border-radius:20px;padding:34px 20px;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-icon{width:52px;height:52px;border-radius:17px;background:var(--surface-2);display:grid;place-items:center;font-size:25px;color:#667085;margin-bottom:8px}.empty-state h3{font-size:16px;margin:5px 0}.empty-state p{color:var(--muted);max-width:360px;margin:0 0 14px}.compact-empty{padding:18px}.compact-empty p{margin:0}.flash{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:13px;margin-bottom:12px;font-size:12px;font-weight:650;transition:.25s}.flash button{background:transparent;border:0;font-size:18px}.flash-success{background:var(--success-soft);color:#086b49;border:1px solid #bde8d8}.flash-error{background:var(--danger-soft);color:#a41717;border:1px solid #fac7c7}.flash-warning{background:var(--warning-soft);color:#8b5105;border:1px solid #f5dca9}.flash-hide{opacity:0;transform:translateY(-5px)}.success-panel{background:var(--success-soft);border:1px solid #bde8d8;border-radius:16px;padding:14px;margin-bottom:13px}.success-panel strong{color:#087a53}.success-panel p{margin:5px 0 0;color:#356c59}.help-text{color:var(--muted);font-size:11px;margin-top:14px}
.auth-page{background:radial-gradient(circle at top right,rgba(200,212,0,.16),transparent 36%),linear-gradient(180deg,#f7f8f4 0%,#eef1ec 100%);min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px 14px}.auth-card{width:min(100%,430px);background:#fff;border:1px solid var(--border);border-radius:26px;padding:22px;box-shadow:0 25px 70px rgba(16,24,40,.11)}.auth-card-wide{width:min(100%,620px)}.auth-brand{margin-bottom:30px}.auth-heading{margin-bottom:20px}.auth-heading h1{font-size:28px;line-height:1.08;margin:6px 0 6px;letter-spacing:-.045em}.auth-heading p{color:var(--muted);margin:0}.auth-switch{text-align:center;font-size:12px;color:var(--muted);margin:18px 0 0}.auth-switch a{font-weight:850;color:#566000}
@media (min-width:700px){
  .main-content{padding:28px 26px 45px}.page-header{margin-top:0}.page-header h1{font-size:34px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px}.racket-grid{grid-template-columns:repeat(2,1fr)}.racket-grid.big{grid-template-columns:repeat(2,1fr)}.string-grid{grid-template-columns:repeat(2,1fr)}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.settings-layout>.panel,.settings-layout>.danger-zone{margin:0}.settings-layout>.panel:nth-child(2){grid-row:span 3}.contact-grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:980px){
  .app-shell{display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--border);padding:24px 18px;display:flex;flex-direction:column}.sidebar .brand{padding:0 7px 25px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{min-height:45px;padding:0 12px;border-radius:12px;display:flex;align-items:center;gap:12px;font-weight:750;font-size:13px;color:#667085}.side-nav a>span{width:21px;text-align:center;font-size:18px}.side-nav a:hover{background:var(--surface-2);color:var(--text)}.side-nav a.active{background:var(--dark);color:#fff}.side-nav a.active>span{color:var(--primary)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding:17px 7px 0;display:flex;flex-direction:column;gap:12px}.user-mini{display:flex;flex-direction:column}.user-mini strong{font-size:12px}.user-mini small{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.sidebar-footer>a{font-size:11px;color:var(--danger);font-weight:800}.bottom-nav{display:none}.main-content{max-width:1160px;padding:34px 36px 60px}.stats-grid{max-width:800px;grid-template-columns:repeat(4,1fr)}.sticky-submit{bottom:20px}.racket-grid.big{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:420px){
  .main-content{padding-left:12px;padding-right:12px}.hero-card{padding:18px}.hero-card .btn{min-width:auto;padding:0 13px}.hero-number{font-size:40px}.stats-grid{gap:7px}.stat-card{padding:11px 8px}.stat-value{font-size:20px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.inline-form{grid-template-columns:1fr 1fr}.inline-form .btn{grid-column:1/-1}.person-card{grid-template-columns:40px 1fr 12px}.person-stats{display:none}.price-grid{grid-template-columns:1fr 1fr}.auth-card{padding:19px}.detail-hero{padding:17px}.history-list>a{grid-template-columns:40px 1fr auto}.history-side .status-badge{display:none}
}
/* v4: prevádzka, tím a admin SMTP */
.nav-section-label{padding:16px 12px 5px;font-size:9px;letter-spacing:.12em;font-weight:900;color:#98a2b3}.mail-system-state{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}.more-grid{display:grid;grid-template-columns:1fr;gap:10px}.more-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:14px;display:grid;grid-template-columns:44px 1fr 18px;gap:12px;align-items:center}.more-card:hover{border-color:#cbd1d9;box-shadow:0 6px 18px rgba(16,24,40,.04)}.more-icon{width:44px;height:44px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;font-size:20px;color:#596000}.more-card>div{display:flex;flex-direction:column;min-width:0}.more-card strong{font-size:13px}.more-card small{font-size:10px;color:var(--muted);margin-top:2px}.more-card>b{font-size:22px;color:var(--soft);font-weight:500}.more-card.admin-card{border-color:#dfe5a6;background:#fbfce8}.more-card.danger-link strong{color:var(--danger)}.team-card{grid-template-columns:42px 1fr auto;align-items:center}.team-card .person-main small{font-size:9px;color:var(--muted);margin-top:3px}.team-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;border-top:1px solid #eef1ed;padding-top:10px;margin-top:2px}.team-actions form{margin:0}.email-log small+small{display:block;color:var(--danger);margin-top:2px}.panel .inline-form input[type=email]{min-width:0}
@media (min-width:700px){.more-grid{grid-template-columns:repeat(2,1fr)}.team-card{grid-template-columns:42px 1fr auto auto}.team-actions{grid-column:auto;border-top:0;padding-top:0;margin-top:0}}
@media (max-width:420px){.team-card{grid-template-columns:40px 1fr auto}.team-card>.status-badge{align-self:start}.team-actions{grid-column:1/-1}.mail-system-state{align-items:flex-start;flex-direction:column}}

/* v5: toasty, editácia zákazky, e-mailové šablóny */
.toast-stack{position:fixed;z-index:10000;top:max(12px,env(safe-area-inset-top));right:12px;width:min(390px,calc(100vw - 24px));display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 18px 55px rgba(16,24,40,.18);padding:12px 12px;display:grid;grid-template-columns:30px 1fr 26px;gap:9px;align-items:center;opacity:0;transform:translateY(-10px) scale(.98);transition:.22s ease}.toast-show{opacity:1;transform:translateY(0) scale(1)}.toast-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:950;font-size:14px;background:var(--surface-2)}.toast-message{font-size:12px;font-weight:750;line-height:1.4}.toast button{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;padding:0;cursor:pointer}.toast-success{border-color:#bde8d8}.toast-success .toast-icon{background:var(--success-soft);color:#087a53}.toast-error{border-color:#fac7c7}.toast-error .toast-icon{background:var(--danger-soft);color:#a41717}.toast-warning{border-color:#f5dca9}.toast-warning .toast-icon{background:var(--warning-soft);color:#8b5105}.toast-info .toast-icon{background:#edf3ff;color:#295ea8}
.detail-edit-link{display:inline-flex;margin-top:9px;font-size:11px;font-weight:850;color:#596000}.edit-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:8;background:rgba(247,248,244,.92);backdrop-filter:blur(9px);padding:10px 0}.template-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.template-tags code{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:6px 8px;font-size:10px;color:#475467}.email-template-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}.template-actions{display:flex;justify-content:flex-end}.template-reset{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.link-button.danger{color:var(--danger)}
@media (min-width:980px){.toast-stack{top:20px;right:20px}.edit-actions{bottom:20px}.email-template-card{max-width:820px}}
@media (max-width:520px){.toast-stack{top:auto;bottom:calc(76px + env(safe-area-inset-bottom));right:10px;width:calc(100vw - 20px)}.edit-actions{grid-template-columns:1fr 1.6fr}}

/* v7: administrácia používateľov */
.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-danger-soft{background:var(--danger-soft);border-color:#fac7c7;color:#a41717}.danger-text{color:var(--danger)!important}
.admin-user-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.admin-users-toolbar{align-items:stretch}.admin-user-search{min-width:0}.admin-user-count{margin:4px 2px 12px}.admin-user-count strong{font-size:22px}.admin-status-chips{margin-top:-5px}.admin-user-card{background:#fff;border:1px solid var(--border);border-radius:17px;overflow:hidden}.admin-user-main{display:grid;grid-template-columns:42px minmax(0,1fr) 16px;gap:11px;align-items:center;padding:14px}.admin-user-main>b{font-size:22px;color:var(--soft);font-weight:500}.admin-user-copy{display:flex;flex-direction:column;min-width:0}.admin-user-copy>span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-copy>small{font-size:9px;color:var(--soft);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-title{display:flex;gap:7px;align-items:center;min-width:0;flex-wrap:wrap}.admin-user-title strong{font-size:13px}.role-pill{display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:999px;font-size:8px;font-weight:850;background:#f2f4f7;color:#667085}.role-admin{background:#eef2ff;color:#4f46e5}.role-owner{background:var(--primary-soft);color:#596000}.role-stringer{background:#edf4ff;color:#295ea8}.admin-user-card-foot{border-top:1px solid #eef1ed;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-user-card-foot>div{display:flex;align-items:center;gap:8px}.admin-created{font-size:9px;color:var(--soft)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 4px}.pagination a,.pagination span{font-size:11px;font-weight:800;padding:8px 11px;border-radius:10px;border:1px solid var(--border);background:#fff}.pagination span{color:var(--muted);background:transparent}.admin-edit-top{display:flex;justify-content:space-between;align-items:center;margin:-7px 1px 12px}.admin-access-toggles{margin-top:14px}.admin-user-actions-panel{margin-top:18px}.admin-action-grid{display:grid;grid-template-columns:1fr;gap:9px}.admin-data-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.admin-data-stats span{background:var(--surface-2);border:1px solid #edf0ec;border-radius:12px;padding:11px;font-size:10px;color:var(--muted)}.admin-data-stats strong{display:block;color:var(--text);font-size:20px;line-height:1;margin-bottom:4px}.admin-delete-panel{border-color:#f2c8c8}.check-row{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start}.check-row input{width:18px;height:18px;min-height:auto;margin:2px 0 0}.check-row span{font-size:11px;line-height:1.45;color:#7f1d1d}.admin-user-edit-form .edit-actions{margin-bottom:4px}
@media (min-width:700px){.admin-user-stats{grid-template-columns:repeat(4,1fr)}.admin-user-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-action-grid{grid-template-columns:repeat(2,1fr)}.admin-data-stats{grid-template-columns:repeat(5,1fr)}}
@media (min-width:980px){.admin-user-edit-form,.admin-user-actions-panel,.admin-delete-panel{max-width:860px}.admin-user-stats{max-width:860px}}

/* v7.5 Passkeys / biometric login */
.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--border);flex:1}.btn-passkey{background:#fff;border-color:#cfd6dd;color:var(--text);gap:8px}.btn-passkey:hover{border-color:#9aa4b2;background:#fafbf8}.passkey-button-icon{font-size:20px;line-height:1;color:#687000}.auth-passkey-help{text-align:center;margin-top:8px}.passkey-menu-card{border-color:#dde3a8;background:linear-gradient(135deg,#fff 0%,#fbfce8 100%)}
.passkey-hero{background:linear-gradient(135deg,#fff 0%,#f8fadf 100%);border-color:#dde3a8}.passkey-security-note{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:15px;padding:13px}.passkey-security-note>span{font-size:21px}.passkey-security-note>div{display:flex;flex-direction:column;gap:3px}.passkey-security-note strong{font-size:12px}.passkey-security-note small{font-size:10px;color:var(--muted);line-height:1.45}.panel-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.count-badge{min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:var(--surface-2);display:grid;place-items:center;font-size:11px;font-weight:900;color:var(--muted)}.passkey-list{display:grid;gap:9px}.passkey-device-card{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:1px solid var(--border);border-radius:15px;padding:12px;background:#fff}.passkey-device-icon{width:42px;height:42px;border-radius:13px;background:#f6f8dd;color:#626b00;display:grid;place-items:center;font-size:20px}.passkey-device-main{display:flex;flex-direction:column;min-width:0}.passkey-device-main strong{font-size:12px}.passkey-device-main small{font-size:9px;color:var(--muted);margin-top:2px}.passkey-add-box{margin-top:15px;padding-top:15px;border-top:1px solid var(--border)}.passkey-add-box label{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.passkey-add-box label>span{font-size:10px;font-weight:800;color:var(--muted)}.passkey-add-box label small{font-weight:600}.compact-empty{padding:18px 12px;margin:0}.passkey-offer-card{text-align:center;padding:24px}.passkey-offer-icon{width:62px;height:62px;margin:0 auto 12px;border-radius:20px;background:#f2f5ca;color:#5d6500;display:grid;place-items:center;font-size:31px}.passkey-offer-card h3{margin:6px 0 8px;font-size:22px;line-height:1.15}.passkey-offer-card p{color:var(--muted);font-size:12px;line-height:1.55;margin:0 0 16px}.passkey-offer-card .btn+.btn{margin-top:8px}.passkey-offer-note{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:12px}
@media(max-width:640px){.passkey-device-card{grid-template-columns:40px 1fr}.passkey-device-card form{grid-column:1/-1}.passkey-device-card .mini-action{width:100%}.passkey-offer-dialog{width:min(94vw,430px)}}

/* v8.0 Hlasové ovládanie */
.voice-menu-card{border-color:#cfdaf5;background:linear-gradient(135deg,#fff 0%,#f2f6ff 100%)}
.voice-fab{position:fixed;z-index:70;right:18px;bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));width:58px;height:58px;border:0;border-radius:19px;background:var(--dark);color:#fff;display:grid;place-items:center;box-shadow:0 16px 38px rgba(16,24,40,.26);overflow:visible}.voice-fab-icon{font-size:24px;position:relative;z-index:2}.voice-fab-pulse{position:absolute;inset:-1px;border-radius:20px;border:2px solid rgba(200,212,0,.65);opacity:0}.voice-fab.is-listening{background:#20290b;color:#fff}.voice-fab.is-listening .voice-fab-pulse{animation:voice-pulse 1.25s ease-out infinite}.voice-fab[hidden]{display:none!important}@keyframes voice-pulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.55);opacity:0}}
.voice-sheet{position:fixed;z-index:90;left:10px;right:10px;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));max-height:min(72vh,620px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:22px;padding:16px;box-shadow:0 26px 70px rgba(16,24,40,.28);transform:translateY(calc(100% + 130px));opacity:0;pointer-events:none;transition:.22s ease}.voice-sheet.voice-sheet-open{transform:translateY(0);opacity:1;pointer-events:auto}.voice-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.voice-sheet-head>div{display:flex;flex-direction:column}.voice-sheet-head strong{font-size:17px;margin-top:2px}.voice-close{width:36px;height:36px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--muted);font-size:21px;line-height:1}.voice-listening-orb{width:70px;height:70px;border-radius:24px;background:#f4f6f3;display:grid;place-items:center;margin:16px auto 9px;font-size:28px;transition:.2s}.voice-sheet.is-listening .voice-listening-orb{background:var(--primary-soft);box-shadow:0 0 0 8px rgba(200,212,0,.12)}.voice-sheet.is-processing .voice-listening-orb{background:#edf4ff}.voice-hint{text-align:center;color:var(--muted);font-size:11px;margin:0 0 10px}.voice-transcript{background:#101828;color:#fff;border-radius:14px;padding:12px 13px;text-align:center;font-size:14px;font-weight:750;min-height:46px;display:grid;place-items:center}.voice-result{margin-top:10px}.voice-message{border-radius:12px;padding:10px 11px;font-size:11px;font-weight:700;background:var(--surface-2);border:1px solid var(--border)}.voice-message-success{background:var(--success-soft);border-color:#bde8d8;color:#087a53}.voice-message-error{background:var(--danger-soft);border-color:#fac7c7;color:#a41717}.voice-choice-list{display:grid;gap:7px;margin-top:8px}.voice-choice{width:100%;border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 11px;text-align:left;display:flex;flex-direction:column;gap:2px}.voice-choice strong{font-size:12px}.voice-choice small{font-size:9px;color:var(--muted)}.voice-confirm{border:1px solid #e1e6b5;background:#fcfde9;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}.voice-confirm>div:first-child{display:flex;flex-direction:column;gap:3px}.voice-confirm strong{font-size:12px}.voice-confirm small{font-size:10px;color:var(--muted)}.voice-confirm-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.voice-series-toggle{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;margin:12px 0}.voice-series-toggle input{width:18px;height:18px;min-height:auto;margin:3px 0 0}.voice-series-toggle>span{display:flex;flex-direction:column}.voice-series-toggle strong{font-size:11px}.voice-series-toggle small{font-size:9px;color:var(--muted);font-weight:500;line-height:1.4}.voice-sheet-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.voice-support-state{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:13px;padding:11px;background:var(--surface-2)}.voice-support-state strong{font-size:11px}.voice-command-list{display:flex;flex-wrap:wrap;gap:7px}.voice-command-list code{border:1px solid var(--border);background:#fff;padding:8px 9px;border-radius:10px;font-size:10px}.voice-hero{background:linear-gradient(135deg,#fff 0%,#f7f9e4 100%);border-color:#dfe5a6}
@media(min-width:980px){.voice-fab{right:28px;bottom:28px}.voice-sheet{left:auto;right:24px;bottom:96px;width:390px;max-height:680px}}

/* v8.0.1 mobile width hotfix -------------------------------------------------
   Prevent form/grid intrinsic widths from making the document wider than the
   device viewport. This is intentionally global because the same primitives
   are reused by job_new.php, job_edit.php and the admin forms. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.app-shell,.main-content,.job-form,.panel,.step-panel,
.form-grid,.tension-row,.price-grid,.segmented,.client-picker,
.search-input-wrap,.money-input{min-width:0;max-width:100%}
.main-content{min-width:0;overflow-x:clip}
input,select,textarea,button{min-width:0;max-width:100%}
.form-grid>*,.tension-row>*,.price-grid>*,.segmented>*{min-width:0;max-width:100%}

/* Anchor mobile navigation to the visual viewport, even if a child ever
   overflows horizontally. */
@media (max-width:979px){
  .bottom-nav{
    left:10px;
    right:auto;
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    transform:none;
  }
  .main-content{width:100%;max-width:100%;margin-left:0;margin-right:0}
  .job-form,.job-form>.panel{width:100%;max-width:100%}
  .sticky-submit{width:100%;max-width:100%}
}

/* Comfortable one-hand layout on phones. */
@media (max-width:520px){
  .main-content{padding-left:12px;padding-right:12px}
  .panel,.step-panel{width:100%;max-width:100%}
  .segmented{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .segmented span{padding:0 6px;text-align:center;line-height:1.2}
  .tension-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tension-row>label:last-child{grid-column:1/-1}
  .price-grid{grid-template-columns:1fr}
  .price-grid .total-price{grid-column:auto}
  .voice-fab{right:14px}
}

/* v8.0.2 fixed five-item mobile bottom navigation ---------------------------
   Force all five items to share the viewport equally. Using plain 1fr lets
   min-content text width expand grid tracks on narrow phones. */
@media (max-width:979px){
  .bottom-nav{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    overflow:hidden;
  }
  .bottom-nav a{
    min-width:0;
    width:100%;
    max-width:100%;
    overflow:hidden;
    padding-left:2px;
    padding-right:2px;
  }
  .bottom-nav a>span,
  .bottom-nav a>small{
    min-width:0;
    max-width:100%;
  }
  .bottom-nav small{
    display:block;
    width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:center;
  }
}

/* v8.0.5 mobile dialog hotfix -----------------------------------------------
   Native <dialog> can center against a wider layout box when the page has had
   horizontal overflow. On phones anchor dialogs directly to the visual viewport. */
@media (max-width:520px){
  .app-dialog[open]{
    position:fixed;
    left:10px;
    right:auto;
    top:50%;
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    max-height:calc(100dvh - 24px);
    margin:0;
    transform:translateY(-50%);
    box-sizing:border-box;
    overflow:visible;
  }

  .app-dialog .dialog-card{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 24px);
    box-sizing:border-box;
    overflow-y:auto;
    overflow-x:hidden;
    padding:16px;
  }

  .app-dialog .form-grid{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:100%;
  }

  .app-dialog .form-grid>*,
  .app-dialog .span-2{
    grid-column:auto;
    min-width:0;
    max-width:100%;
  }

  .app-dialog input,
  .app-dialog select,
  .app-dialog textarea,
  .app-dialog button{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .app-dialog .dialog-close{
    width:38px;
    min-width:38px;
    max-width:38px;
    flex:0 0 38px;
  }
}

/* v8.0.9 – voice is intentionally disabled on the new-job workflow. */
.page-job-new .job-voice-toolbar{display:none!important}

/* v8.6 - repeat any historical job */
.repeat-job-entry{position:relative}.repeat-job-entry>.job-card{padding-bottom:52px}.repeat-job-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:#475467;font-size:11px;font-weight:850;white-space:nowrap}.repeat-job-entry>.repeat-job-button{position:absolute;left:14px;bottom:10px}.repeat-job-button:hover{border-color:#c4cc00;color:#4f5900;background:#f8facf}.history-repeat-entry{position:relative}.history-repeat-entry>.history-job-link{background:#fff;border:1px solid var(--border);border-radius:16px;padding:11px 11px 50px;display:grid;grid-template-columns:43px 1fr auto;gap:10px;align-items:center}.history-repeat-entry>.repeat-job-button-history{position:absolute;left:54px;bottom:9px}.repeat-source-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:12px;border:1px solid #e3e98b;border-radius:16px;background:linear-gradient(135deg,#f8facf,#fff)}.repeat-source-banner>div{display:flex;flex-direction:column;min-width:0}.repeat-source-banner strong{font-size:14px;margin:2px 0}.repeat-source-banner small{font-size:11px;color:var(--muted);line-height:1.45}.detail-action-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.detail-action-links a{font-size:11px;font-weight:850}.detail-repeat-link{color:#5b6500}
@media(max-width:520px){.repeat-source-banner{display:grid}.repeat-source-banner .btn{width:100%}.history-repeat-entry>.history-job-link{grid-template-columns:40px 1fr auto}.history-repeat-entry>.repeat-job-button-history{left:50px}.repeat-job-entry>.job-card{padding-bottom:50px}}

/* v8.6.2 - unified prominent repeat buttons */
.jobs-list-entry{position:relative;background:transparent}
.jobs-list-entry>.job-card{padding-bottom:58px}
.jobs-list-repeat-button,
.repeat-job-entry>.repeat-job-button{
  position:absolute;
  left:14px;
  right:auto;
  bottom:10px;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:var(--primary);
  border:1px solid #bac700;
  color:var(--dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 5px 13px rgba(200,212,0,.20);
  padding:0 14px;
  white-space:nowrap;
}
.jobs-list-repeat-button:hover,
.repeat-job-entry>.repeat-job-button:hover{
  background:var(--primary-dark);
  border-color:#aab600;
  color:var(--dark);
}
.jobs-list-repeat-button:active,
.repeat-job-entry>.repeat-job-button:active{transform:translateY(1px)}
.repeat-job-entry>.job-card{padding-bottom:58px}
@media(max-width:520px){
  .jobs-list-entry>.job-card,
  .repeat-job-entry>.job-card{padding-bottom:62px}
  .jobs-list-repeat-button,
  .repeat-job-entry>.repeat-job-button{
    left:12px;
    right:12px;
    bottom:9px;
    min-height:42px;
    font-size:11px;
  }
}

/* v8.7 - statistics --------------------------------------------------------- */
.analytics-filter{background:#fff;border:1px solid var(--border);border-radius:18px;padding:12px;margin-bottom:14px;box-shadow:0 5px 16px rgba(16,24,40,.035)}
.analytics-period-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;background:var(--surface-2);border-radius:13px;padding:4px}
.analytics-period-tabs a{min-width:0;padding:9px 6px;border-radius:10px;text-align:center;font-size:11px;font-weight:850;color:var(--muted)}
.analytics-period-tabs a.active{background:var(--dark);color:#fff;box-shadow:0 5px 14px rgba(16,24,40,.15)}
.analytics-filter-fields{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:10px}
.analytics-filter-fields label{display:flex;flex-direction:column;gap:4px;min-width:135px;flex:1}.analytics-filter-fields label>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}
.analytics-filter-fields input,.analytics-filter-fields select{height:42px;border:1px solid var(--border);border-radius:11px;background:#fff;padding:0 11px;color:var(--text);width:100%}.analytics-stringer-filter{min-width:190px!important}
.analytics-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.analytics-count-card{background:linear-gradient(145deg,#101828,#1d2939);color:#fff;border-radius:17px;padding:15px;display:flex;flex-direction:column;min-width:0;box-shadow:0 9px 22px rgba(16,24,40,.09)}
.analytics-count-card span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:#b9c2cf}.analytics-count-card strong{font-size:30px;line-height:1;margin:7px 0 4px;letter-spacing:-.04em}.analytics-count-card small{font-size:9px;color:#d0d5dd}
.analytics-money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
.analytics-money-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:14px;display:flex;flex-direction:column;min-width:0}.analytics-money-card.primary{background:var(--primary-soft);border-color:#dfe68a}.analytics-money-card span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}.analytics-money-card strong{font-size:21px;margin:5px 0 2px;line-height:1.15;letter-spacing:-.03em;white-space:nowrap}.analytics-money-card small{font-size:9px;color:var(--muted)}
.analytics-panel{background:#fff;border:1px solid var(--border);border-radius:19px;padding:16px;margin-bottom:12px;box-shadow:0 5px 16px rgba(16,24,40,.025);min-width:0}.analytics-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.analytics-panel-head h2{margin:2px 0 0;font-size:17px;letter-spacing:-.025em}.analytics-panel-head>small{font-size:9px;color:var(--muted);text-align:right}.analytics-empty{padding:24px 8px;text-align:center;color:var(--muted);font-size:11px}
.analytics-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analytics-rank-list{display:grid;gap:5px}.analytics-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 2px}.analytics-rank-link{border-radius:11px}.analytics-rank-link:hover{background:var(--surface-2)}.analytics-rank-number{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:900}.analytics-rank-row>div{min-width:0;display:flex;flex-direction:column}.analytics-rank-row strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-rank-row small{font-size:9px;color:var(--muted)}.analytics-rank-row>b{font-size:11px}.analytics-mini-bar{height:4px;background:#eef0ea;border-radius:20px;overflow:hidden;margin-top:5px}.analytics-mini-bar>span{display:block;height:100%;background:var(--primary);border-radius:20px}
.analytics-tension-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.analytics-tension-card{border:1px solid var(--border);border-radius:14px;padding:13px;background:var(--surface-2);display:flex;flex-direction:column}.analytics-tension-card span{font-size:9px;font-weight:900;color:var(--muted)}.analytics-tension-card strong{font-size:23px;letter-spacing:-.035em;margin:4px 0}.analytics-tension-card small{font-size:9px;color:var(--muted)}
.analytics-trend{height:190px;display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:7px 2px 2px}.analytics-trend-item{flex:1 0 34px;min-width:34px;display:grid;grid-template-rows:18px 1fr 20px;align-items:end;text-align:center}.analytics-trend-value{font-size:9px;font-weight:900}.analytics-trend-track{height:100%;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,#f4f5ee,transparent);border-radius:8px 8px 3px 3px;overflow:hidden}.analytics-trend-track>span{width:72%;min-height:5px;border-radius:7px 7px 2px 2px;background:var(--primary)}.analytics-trend-item small{font-size:8px;color:var(--muted);align-self:end;white-space:nowrap}
.analytics-team-list{display:grid;gap:7px}.analytics-team-row{display:grid;grid-template-columns:30px minmax(180px,1fr) 90px 115px 85px;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px}.analytics-team-main{min-width:0;display:flex;flex-direction:column}.analytics-team-main strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-team-main small{font-size:9px;color:var(--muted)}.analytics-team-metric{display:flex;flex-direction:column;align-items:flex-end}.analytics-team-metric b{font-size:11px}.analytics-team-metric span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.analytics-note{font-size:9px;color:var(--muted);line-height:1.55;margin:14px 4px 4px}
@media(max-width:760px){.analytics-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-two-col{grid-template-columns:1fr}.analytics-team-row{grid-template-columns:30px minmax(0,1fr) 65px 85px}.analytics-team-metric:last-child{display:none}}
@media(max-width:520px){.analytics-filter{padding:9px}.analytics-period-tabs a{font-size:9px;padding:8px 2px}.analytics-filter-fields{display:grid;grid-template-columns:1fr 1fr}.analytics-filter-fields label,.analytics-stringer-filter{min-width:0!important}.analytics-filter-fields .analytics-stringer-filter{grid-column:1/-1}.analytics-filter-fields .btn{grid-column:1/-1;width:100%}.analytics-count-grid{gap:7px}.analytics-count-card{padding:11px 9px}.analytics-count-card strong{font-size:25px}.analytics-count-card small{font-size:8px}.analytics-money-grid{gap:7px}.analytics-money-card{padding:11px}.analytics-money-card strong{font-size:17px}.analytics-panel{padding:13px}.analytics-trend{height:165px}.analytics-team-row{grid-template-columns:27px minmax(0,1fr) 54px}.analytics-team-metric:nth-last-child(2),.analytics-team-metric:last-child{display:none}}

/* v8.7.1 - admin system feature overview ---------------------------------- */
.feature-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 22px;margin-bottom:12px;border-radius:20px;background:linear-gradient(135deg,#101828 0%,#1d2939 72%,#303d4f 100%);color:#fff;box-shadow:0 12px 28px rgba(16,24,40,.12)}
.feature-hero h2{margin:4px 0 7px;font-size:24px;letter-spacing:-.035em}.feature-hero p{margin:0;max-width:760px;font-size:11px;line-height:1.65;color:#d0d5dd}.feature-hero .eyebrow{color:var(--primary)}
.feature-version{flex:0 0 auto;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;color:var(--primary)}
.feature-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:9px}.feature-health-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:13px 14px;display:flex;flex-direction:column;min-width:0}.feature-health-card>span{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.feature-health-card>strong{font-size:24px;line-height:1;margin:6px 0 4px}.feature-health-card>small{font-size:9px;color:var(--muted)}
.feature-status-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.feature-status{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:9px;font-weight:800;color:#475467}.feature-status b{font-size:11px}.feature-status.ok{background:#ecfdf3;border-color:#abefc6;color:#067647}.feature-status.warning{background:#fffaeb;border-color:#fedf89;color:#b54708}.feature-status.muted{background:#f2f4f7;color:#667085}
.feature-quick-links{margin-bottom:13px}.feature-quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.feature-quick-grid a{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 11px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.feature-quick-grid a:hover{border-color:#d7df65;background:var(--primary-soft)}.feature-quick-grid a span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#fff;font-size:14px}.feature-quick-grid a strong{font-size:10px;line-height:1.25}
.feature-role-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 2px 12px;font-size:9px;color:var(--muted)}.feature-role-legend>span{display:flex;align-items:center;gap:5px}
.feature-role{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;font-size:8px;font-weight:900;background:#f2f4f7;color:#667085;white-space:nowrap}.feature-role.admin{background:#eef2ff;color:#4f46e5}.feature-role.owner{background:var(--primary-soft);color:#596000}.feature-role.stringer{background:#edf4ff;color:#295ea8}.feature-role.customer{background:#ecfdf3;color:#067647}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.feature-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--border);border-radius:19px;padding:16px;box-shadow:0 5px 16px rgba(16,24,40,.025)}.feature-card-head{display:grid;grid-template-columns:39px minmax(0,1fr);gap:10px;align-items:start}.feature-card-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--primary-soft);color:#596000;font-size:18px;font-weight:900}.feature-card h3{margin:1px 0 6px;font-size:14px;letter-spacing:-.02em}.feature-role-list{display:flex;gap:4px;flex-wrap:wrap}.feature-card-intro{font-size:10px;color:var(--muted);line-height:1.55;margin:11px 0}.feature-card ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;flex:1}.feature-card li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:5px;align-items:start;font-size:10px;line-height:1.45;color:#344054}.feature-card li>span{display:grid;place-items:center;width:15px;height:15px;margin-top:0;border-radius:50%;background:#ecfdf3;color:#079455;font-size:8px;font-weight:900}.feature-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:10px;border-top:1px solid #eef0ea;font-size:10px;font-weight:900;color:#596000}.feature-card-link b{font-size:17px;font-weight:500}.feature-note{margin-top:13px}.feature-note p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}
@media(max-width:900px){.feature-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.feature-grid{grid-template-columns:1fr}.feature-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-hero{padding:17px}.feature-hero h2{font-size:20px}.feature-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.feature-hero{display:grid;gap:10px}.feature-version{justify-self:start}.feature-health-grid{gap:7px}.feature-health-card{padding:11px}.feature-health-card>strong{font-size:21px}.feature-card{padding:13px}.feature-quick-grid{grid-template-columns:1fr 1fr}.feature-quick-grid a{padding:8px}.feature-role-legend{gap:7px}}


/* v8.8 - grip pricing + delete action in jobs list ------------------------- */
.grip-row{margin-bottom:10px}
.jobs-list-actions{position:absolute;left:14px;bottom:10px;display:flex;align-items:center;gap:8px;z-index:2;max-width:calc(100% - 28px)}
.jobs-list-actions .jobs-list-repeat-button{position:static;left:auto;right:auto;bottom:auto}
.jobs-list-delete-form{margin:0;display:flex}
.jobs-list-delete-button{min-height:38px;padding:0 12px;border-radius:11px;border:1px solid #dc2626;background:var(--danger);color:#fff;font-size:11px;font-weight:900;letter-spacing:.02em;box-shadow:0 5px 13px rgba(220,38,38,.14);white-space:nowrap;cursor:pointer}
.jobs-list-delete-button:hover{background:#b91c1c;border-color:#b91c1c}
.jobs-list-delete-button:active{transform:translateY(1px)}
.analytics-money-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:760px){.analytics-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
  .jobs-list-actions{left:12px;right:12px;bottom:9px;max-width:none}
  .jobs-list-actions .jobs-list-repeat-button{position:static;left:auto;right:auto;bottom:auto;flex:1;min-width:0;min-height:42px}
  .jobs-list-delete-button{min-height:42px;padding:0 10px}
}


/* v8.8.1 - jobs list action buttons --------------------------------------- */
.jobs-list-entry>.job-card{padding-bottom:60px}
.jobs-list-actions{flex-wrap:wrap}
.jobs-list-edit-button,
.jobs-list-more-button{
  min-height:38px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
}
.jobs-list-edit-button{background:#edf4ff;border:1px solid #b9d2ff;color:#1d4ed8}
.jobs-list-edit-button:hover{background:#dbeafe;border-color:#93c5fd}
.jobs-list-more-button{background:#fff;border:1px solid var(--border);color:#344054}
.jobs-list-more-button:hover{background:var(--surface-2);border-color:#cbd1d9}
.jobs-action-label-short{display:none}
.jobs-list-delete-form{min-width:0}
@media(max-width:520px){
  .jobs-list-entry>.job-card{padding-bottom:108px}
  .jobs-list-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    left:12px;
    right:12px;
    bottom:9px;
    max-width:none;
  }
  .jobs-list-actions .jobs-list-repeat-button,
  .jobs-list-edit-button,
  .jobs-list-more-button,
  .jobs-list-delete-form,
  .jobs-list-delete-button{
    width:100%;
    min-width:0;
    min-height:42px;
  }
  .jobs-list-actions .jobs-list-repeat-button{padding:0 8px}
  .jobs-list-edit-button,.jobs-list-more-button,.jobs-list-delete-button{padding:0 8px}
  .jobs-action-label-full{display:none}
  .jobs-action-label-short{display:inline}
}

/* v8.9 - public light homepage / vypletac.sk ------------------------------ */
.landing-page{background:radial-gradient(circle at 88% 10%,rgba(200,212,0,.18),transparent 28%),radial-gradient(circle at 12% 34%,rgba(200,212,0,.07),transparent 24%),linear-gradient(180deg,#fafbf7 0%,#f1f4ef 100%);min-height:100vh}
.landing-page .auth-shell{display:block;min-height:100vh;padding:0}
.landing-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:18px 0 26px}
.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px}
.landing-brand{display:flex;align-items:center;gap:11px}
.landing-brand-copy{display:flex;flex-direction:column;line-height:1.08}.landing-brand-copy strong{font-size:18px;letter-spacing:-.035em}.landing-brand-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:4px}
.landing-top-login{min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.78);display:flex;align-items:center;font-size:11px;font-weight:850;color:#485100;backdrop-filter:blur(10px)}
.landing-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);gap:56px;align-items:center;padding:54px 28px 66px}
.landing-copy{max-width:650px}.landing-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--primary-soft);border:1px solid #e3e999;color:#596000;font-size:9px;font-weight:900;letter-spacing:.12em}
.landing-copy h1{font-size:clamp(44px,5.8vw,72px);line-height:.97;letter-spacing:-.065em;margin:16px 0 18px;max-width:760px}.landing-copy h1 span{color:#7f8800}.landing-lead{max-width:590px;margin:0;color:#596273;font-size:17px;line-height:1.65}
.landing-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:28px 0 22px}.landing-checks>div{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:center;color:#344054;font-size:12px}.landing-checks span{width:25px;height:25px;border-radius:9px;background:#fff;border:1px solid #dfe4bf;color:#697200;display:grid;place-items:center;font-weight:900;box-shadow:0 4px 13px rgba(16,24,40,.04)}
.landing-mini-stats{display:flex;gap:9px;flex-wrap:wrap}.landing-mini-stats>span{display:flex;align-items:baseline;gap:5px;min-height:34px;padding:0 11px;border-radius:11px;background:rgba(255,255,255,.75);border:1px solid var(--border)}.landing-mini-stats b{font-size:11px}.landing-mini-stats small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.landing-login-card{width:100%;max-width:440px;justify-self:end;padding:26px;border-radius:28px;box-shadow:0 30px 80px rgba(16,24,40,.12);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.landing-login-card .auth-brand{margin-bottom:24px}.landing-login-card .auth-heading h2{font-size:29px;line-height:1.08;margin:6px 0 6px;letter-spacing:-.045em}
.landing-section{padding:22px 28px 42px}.landing-section-head{max-width:680px;margin-bottom:18px}.landing-section-head h2{margin:5px 0 6px;font-size:30px;letter-spacing:-.045em;line-height:1.05}.landing-section-head p{margin:0;color:var(--muted);font-size:13px}
.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.landing-feature-card{background:rgba(255,255,255,.9);border:1px solid var(--border);border-radius:20px;padding:19px;box-shadow:0 8px 28px rgba(16,24,40,.035)}.landing-feature-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);border:1px solid #e5eaa6;color:#626a00;font-size:14px;font-weight:900;margin-bottom:12px}.landing-feature-card h3{font-size:14px;margin:0 0 6px;letter-spacing:-.02em}.landing-feature-card p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}
.landing-flow{padding:28px;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.72);margin:0 28px 34px}.landing-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.landing-flow-grid>div{position:relative;padding:15px;border-radius:16px;background:#fff;border:1px solid #edf0e9}.landing-flow-grid>div>span{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:var(--primary);color:var(--dark);font-size:11px;font-weight:900;margin-bottom:10px}.landing-flow-grid strong{display:block;font-size:12px;margin-bottom:4px}.landing-flow-grid small{display:block;color:var(--muted);font-size:9px;line-height:1.5}
.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 28px;padding:20px 0 4px;border-top:1px solid rgba(152,162,179,.24);color:var(--muted)}.landing-footer>div{display:flex;flex-direction:column}.landing-footer strong{font-size:13px;color:var(--text)}.landing-footer span,.landing-footer p{font-size:9px}.landing-footer p{margin:0}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr minmax(330px,.8fr);gap:26px;padding-left:10px;padding-right:10px}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.landing-wrap{width:min(100% - 20px,560px);padding-top:8px}.landing-topbar{min-height:58px;padding:0 4px}.landing-top-login{display:none}.landing-hero{display:flex;flex-direction:column;align-items:stretch;padding:22px 0 34px;gap:22px}.landing-copy{max-width:none}.landing-copy h1{font-size:38px;max-width:420px;margin-top:13px}.landing-lead{font-size:13px;line-height:1.6}.landing-checks{grid-template-columns:1fr;gap:8px;margin:20px 0 16px}.landing-checks>div{font-size:11px}.landing-mini-stats{gap:6px}.landing-login-card{justify-self:auto;max-width:none;order:2;padding:20px}.landing-section{padding:18px 0 30px}.landing-feature-grid{grid-template-columns:1fr 1fr;gap:8px}.landing-feature-card{padding:14px}.landing-section-head h2{font-size:24px}.landing-flow{margin:0 0 24px;padding:16px}.landing-flow-grid{gap:8px}.landing-footer{margin:0;padding:18px 2px 6px}}
@media(max-width:460px){.landing-brand-copy strong{font-size:16px}.landing-copy h1{font-size:34px}.landing-feature-grid{grid-template-columns:1fr}.landing-flow-grid{grid-template-columns:1fr 1fr}.landing-flow-grid>div{padding:12px}.landing-footer{align-items:flex-start;flex-direction:column;gap:8px}.landing-login-card .auth-brand{margin-bottom:20px}}

/* v8.11 - cookie consent, legal pages and tracking admin ------------------- */
.landing-footer-legal{align-items:flex-start;gap:20px}.landing-footer-brand small{margin-top:5px;font-size:8px;color:var(--muted);line-height:1.5}.landing-legal-links,.legal-public-footer nav{display:flex;gap:11px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.landing-legal-links a,.landing-legal-links button,.legal-public-footer a,.legal-public-footer button{border:0;background:transparent;padding:0;color:#667085;font:inherit;font-size:9px;font-weight:750;cursor:pointer}.landing-legal-links a:hover,.landing-legal-links button:hover,.legal-public-footer a:hover,.legal-public-footer button:hover{color:#626a00}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:2200;max-width:1080px;margin:0 auto;padding:15px 16px;border-radius:19px;background:rgba(255,255,255,.98);border:1px solid #dfe4d7;box-shadow:0 24px 70px rgba(16,24,40,.18);display:flex;align-items:center;justify-content:space-between;gap:20px;backdrop-filter:blur(12px)}.cookie-banner[hidden]{display:none!important}.cookie-banner-copy{min-width:0}.cookie-banner-copy strong{display:block;font-size:13px;margin-bottom:3px}.cookie-banner-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.cookie-banner-copy a{display:inline-block;margin-top:5px;font-size:9px;font-weight:800;color:#697200}.cookie-banner-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.cookie-banner-actions .btn{min-height:38px;padding:0 12px;font-size:10px}.cookie-settings-link{min-height:38px;padding:0 8px;border:0;background:transparent;color:#475467;font-size:10px;font-weight:850;cursor:pointer}
.cookie-dialog{border:0;background:transparent;padding:0;width:min(94vw,560px);max-width:560px}.cookie-dialog::backdrop{background:rgba(16,24,40,.48);backdrop-filter:blur(3px)}.cookie-dialog-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:20px;box-shadow:0 30px 90px rgba(16,24,40,.22)}.cookie-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.cookie-dialog-head h3{margin:4px 0 0;font-size:22px;letter-spacing:-.04em}.cookie-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid #eef0eb}.cookie-choice>div{display:flex;flex-direction:column;gap:3px;min-width:0}.cookie-choice strong{font-size:12px}.cookie-choice small{font-size:9px;color:var(--muted);line-height:1.5}.cookie-choice>span{font-size:9px;font-weight:850;color:#697200;white-space:nowrap}.cookie-choice input{width:20px;height:20px;accent-color:#bac700;flex:0 0 auto}.cookie-dialog-actions{display:flex;gap:8px;margin-top:12px}.cookie-dialog-actions .btn{flex:1}.legal-inline-button{border:0;background:transparent;padding:0;color:#626a00;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.legal-public-page .auth-shell{display:block;min-height:100vh;padding:0}.legal-public-wrap{width:min(980px,calc(100% - 28px));margin:0 auto;padding:14px 0 30px}.legal-public-topbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;margin-bottom:18px}.legal-document{background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:26px;padding:clamp(20px,4vw,44px);box-shadow:0 20px 65px rgba(16,24,40,.07)}.legal-document-head{padding-bottom:22px;border-bottom:1px solid #ecefe9;margin-bottom:22px}.legal-document-head h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.055em;line-height:1.02;margin:8px 0 10px}.legal-document-head>p{font-size:13px;color:var(--muted);line-height:1.6;max-width:700px}.legal-operator-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.legal-operator-line>*{font-size:9px;padding:6px 9px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.legal-document section{padding:4px 0 14px}.legal-document h2{font-size:17px;letter-spacing:-.025em;margin:14px 0 7px}.legal-document p,.legal-document li{font-size:11px;line-height:1.75;color:#475467}.legal-document ul{padding-left:20px}.legal-document a{color:#626a00;font-weight:800}.legal-table{display:grid;gap:8px}.legal-table>div{padding:14px;border:1px solid var(--border);border-radius:15px;background:#fafbf8}.legal-table strong{font-size:12px}.legal-table p{margin:5px 0 0}.legal-public-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 3px 0;color:var(--muted)}.legal-public-footer>div{display:flex;flex-direction:column;gap:3px}.legal-public-footer strong{color:var(--text);font-size:12px}.legal-public-footer span{font-size:8px;line-height:1.5}
.tracking-admin-panel .panel-head.compact{margin:0}.legal-admin-links{display:flex;flex-wrap:wrap;gap:8px}.legal-admin-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:11px;border:1px solid var(--border);background:#fff;font-size:10px;font-weight:850;color:#475467}.legal-admin-links a:hover{border-color:#d5dc74;color:#626a00;background:var(--primary-soft)}
@media(max-width:720px){.landing-footer-legal,.legal-public-footer{flex-direction:column;align-items:flex-start}.landing-legal-links,.legal-public-footer nav{justify-content:flex-start}.cookie-banner{left:10px;right:10px;bottom:10px;display:grid;gap:12px;padding:13px}.cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.cookie-banner-actions .cookie-settings-link{grid-column:1/-1}.cookie-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.cookie-dialog-card{padding:16px}.legal-public-wrap{width:calc(100% - 20px)}.legal-public-topbar{min-height:58px}.legal-document{border-radius:20px;padding:18px}.legal-document-head h1{font-size:32px}.cookie-dialog-actions{display:grid}}
.registration-legal-consent{display:grid!important;grid-template-columns:20px 1fr;gap:9px!important;align-items:start;padding:11px 0}.registration-legal-consent input{width:18px!important;height:18px!important;margin:1px 0 0;accent-color:#bac700}.registration-legal-consent>span{font-size:10px!important;line-height:1.55;color:#667085}.registration-legal-consent a{color:#626a00;font-weight:800}.registration-legal-consent .field-error{grid-column:2}.auth-legal-links{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:12px}.auth-legal-links a,.auth-legal-links button{border:0;background:transparent;padding:0;color:#667085;font-size:8px;font-weight:750;cursor:pointer}.auth-legal-links a:hover,.auth-legal-links button:hover{color:#626a00}
\n\n/* v8.11.2 - landing footer redesign */\n.landing-footer.landing-footer-legal{\n  display:block;\n  margin:26px 0 0;\n  padding:0;\n  border-top:0;\n  color:var(--muted);\n}\n.landing-footer-grid{\n  display:grid;\n  grid-template-columns:1.15fr .9fr 1fr;\n  gap:34px;\n  align-items:start;\n  padding:28px 30px;\n  background:#fff;\n  border:1px solid rgba(152,162,179,.20);\n  border-radius:24px 24px 0 0;\n  box-shadow:0 -2px 20px rgba(15,23,42,.035);\n}\n.landing-footer-brandline{display:flex;align-items:center;gap:11px}\n.landing-footer-brandline .brand-mark{width:34px;height:34px;border-radius:10px;flex:0 0 34px}\n.landing-footer-brandline>div{display:flex;flex-direction:column;gap:1px}\n.landing-footer-brandline strong{font-size:17px;line-height:1.15;color:var(--text)}\n.landing-footer-brandline span:not(.brand-mark){font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8a94a6}\n.landing-footer-brand p{margin:12px 0 0;font-size:12px;line-height:1.55;color:#667085}\n.landing-footer-operator,.landing-footer-links-wrap{display:flex;flex-direction:column;align-items:flex-start}\n.landing-footer-label{display:block;margin:0 0 10px;font-size:9px!important;font-weight:900;letter-spacing:.14em;color:#98a2b3}\n.landing-footer-operator strong{font-size:13px;color:var(--text);margin-bottom:5px}\n.landing-footer-operator small{font-size:11px;line-height:1.55;color:#667085}\n.landing-legal-links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px 14px;margin:0 0 14px}\n.landing-legal-links a{font-size:11px;font-weight:800;color:#475467;text-decoration:none}\n.landing-legal-links a:hover{color:#626a00}\n.landing-cookie-settings{\n  appearance:none;border:1px solid #d7dce3;background:#f8faf7;color:#344054;\n  border-radius:10px;padding:9px 12px;font:inherit;font-size:10px;font-weight:850;cursor:pointer;\n}\n.landing-cookie-settings:hover{border-color:#c7d000;background:#fbffd9;color:#3f4600}\n.landing-footer-bottom{\n  display:flex;align-items:center;justify-content:space-between;gap:16px;\n  padding:12px 30px 14px;background:#f7f8f4;border:1px solid rgba(152,162,179,.20);border-top:0;\n  border-radius:0 0 18px 18px;color:#98a2b3;font-size:9px;font-weight:700;\n}\n@media(max-width:820px){\n  .landing-footer-grid{grid-template-columns:1fr 1fr;gap:26px;padding:24px}\n  .landing-footer-links-wrap{grid-column:1/-1}\n}\n@media(max-width:560px){\n  .landing-footer.landing-footer-legal{margin-top:18px}\n  .landing-footer-grid{grid-template-columns:1fr;gap:22px;padding:22px 18px;border-radius:20px 20px 0 0}\n  .landing-footer-links-wrap{grid-column:auto}\n  .landing-legal-links{gap:10px 16px}\n  .landing-legal-links a{font-size:12px}\n  .landing-cookie-settings{width:100%;min-height:42px;font-size:11px}\n  .landing-footer-bottom{flex-direction:column;align-items:flex-start;gap:3px;padding:12px 18px 14px}\n}\n

/* v8.11.3 - compact landing footer */
.landing-footer.landing-footer-simple{
  display:block;
  margin:28px 0 0;
  padding:20px 0 10px;
  border-top:1px solid rgba(152,162,179,.22);
  color:#667085;
  background:transparent;
}
.landing-footer-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}
.landing-footer-identity{min-width:0;max-width:620px}
.landing-footer-brandline{display:flex;align-items:center;gap:9px}
.landing-footer-brandline .brand-mark{width:30px;height:30px;flex:0 0 30px;border-radius:9px}
.landing-footer-brandline>div{display:flex;flex-direction:column;gap:0}
.landing-footer-brandline strong{font-size:14px;line-height:1.15;color:var(--text)}
.landing-footer-brandline span:not(.brand-mark){font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3}
.landing-footer-company{margin-top:7px;font-size:9px;line-height:1.6;color:#7b8494}
.landing-footer-company strong{font-size:9px;color:#475467}
.landing-footer-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:300px}
.landing-footer-simple .landing-legal-links{display:flex;align-items:center;justify-content:flex-end;gap:7px 14px;flex-wrap:wrap;margin:0}
.landing-footer-simple .landing-legal-links a{font-size:9px;font-weight:800;color:#667085;text-decoration:none;white-space:nowrap}
.landing-footer-simple .landing-legal-links a:hover{color:#626a00}
.landing-footer-simple .landing-cookie-settings{
  appearance:none;
  border:1px solid #d9ddc8;
  background:#f8fadf;
  color:#525900;
  border-radius:999px;
  padding:6px 10px;
  font:inherit;
  font-size:9px;
  line-height:1;
  font-weight:850;
  cursor:pointer;
  box-shadow:none;
}
.landing-footer-simple .landing-cookie-settings:hover{background:#f1f6b6;border-color:#c8d000;color:#343900}
.landing-footer-copy{margin-top:13px;padding-top:10px;border-top:1px solid rgba(152,162,179,.13);font-size:8px;color:#98a2b3}
@media(max-width:720px){
  .landing-footer.landing-footer-simple{margin-top:22px;padding:18px 2px 8px}
  .landing-footer-main{flex-direction:column;gap:16px}
  .landing-footer-actions{align-items:flex-start;min-width:0;width:100%}
  .landing-footer-simple .landing-legal-links{justify-content:flex-start;gap:10px 14px}
  .landing-footer-simple .landing-legal-links a{font-size:10px}
  .landing-footer-simple .landing-cookie-settings{font-size:10px;padding:8px 11px}
  .landing-footer-company{font-size:9px}
  .landing-footer-company span{display:block}
}

/* v9.0 – balíky, predplatné a bankové platby */
.subscription-master-panel{border-top:4px solid var(--primary)}
.subscription-main-toggle{background:rgba(200,212,0,.08);border-radius:16px;padding:14px}
.subscription-stats{margin:16px 0}
.subscription-plan-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.subscription-plan-mini{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--surface)}
.subscription-plan-mini>div{display:flex;align-items:center;gap:8px;justify-content:space-between}.subscription-plan-mini>div span{font-size:11px;font-weight:800;background:#f6f8d7;color:#596000;border-radius:999px;padding:4px 8px}.subscription-plan-mini small{display:block;color:var(--muted);margin:8px 0;line-height:1.45}.subscription-plan-mini b{font-size:12px}
.subscription-admin-list{display:grid;gap:8px}.subscription-admin-user{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:inherit;background:var(--surface)}.subscription-admin-user>div{display:grid;gap:3px}.subscription-admin-user span,.subscription-admin-user small{color:var(--muted);font-size:12px}.subscription-admin-user b{font-size:13px}
.subscription-payment-list{display:grid;gap:10px}.subscription-payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:15px}.subscription-payment-row>div:first-child{display:grid;gap:3px}.subscription-payment-row span,.subscription-payment-row small{color:var(--muted);font-size:12px}.subscription-payment-amount{display:grid;gap:5px;justify-items:end}.subscription-payment-actions{display:flex;gap:7px;flex-wrap:wrap}
.subscription-plan-statuses{display:flex;gap:6px;flex-wrap:wrap}.subscription-feature-editor{border-top:1px solid var(--border);padding-top:16px}.subscription-feature-editor h4{margin:0 0 4px}.subscription-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.subscription-feature-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.subscription-feature-check input{margin-top:3px}.subscription-feature-check span{display:grid;gap:3px}.subscription-feature-check small{color:var(--muted);line-height:1.35}
.subscription-open-access,.subscription-current-card{border-top:4px solid var(--primary)}.subscription-big-badge{font-size:13px;font-weight:900;padding:8px 12px;border-radius:999px;background:#f6f8d7;color:#596000}.subscription-public-plans{margin:24px 0}.subscription-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subscription-plan-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:22px;box-shadow:0 10px 28px rgba(16,24,40,.04)}.subscription-plan-card.featured{border:2px solid var(--primary);box-shadow:0 14px 34px rgba(200,212,0,.12)}.subscription-plan-card.current{outline:3px solid rgba(200,212,0,.25)}.subscription-plan-card h3{font-size:24px;margin:4px 0 8px}.subscription-plan-card>p{color:var(--muted);min-height:48px;line-height:1.45}.plan-ribbon{align-self:flex-start;background:#f6f8d7;color:#596000;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.plan-price{display:flex;align-items:baseline;gap:5px;margin-top:12px}.plan-price strong{font-size:28px}.plan-price span{color:var(--muted);font-size:12px}.subscription-plan-card>small{color:var(--muted)}.plan-feature-list{list-style:none;padding:0;margin:16px 0 18px;display:grid;gap:8px;font-size:13px}.plan-feature-list li.off{color:#98a2b3}.subscription-plan-card .btn{margin-top:auto}.plan-order-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.plan-order-form{margin-top:auto}
.subscription-payment-card{border-top:4px solid #fdb022}.payment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.payment-detail-grid>div{padding:12px;border:1px solid var(--border);border-radius:14px;background:#fafbf8}.payment-detail-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.payment-detail-grid strong{font-size:14px;word-break:break-word}.subscription-history{display:grid;gap:7px}.subscription-history>div{display:grid;grid-template-columns:90px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.subscription-lock,.subscription-locked-inline{border:1px dashed #d6db71;background:linear-gradient(180deg,#fff,#fbfce9)}.subscription-admin-overrides{margin:14px 0}.landing-plan-grid{margin-top:18px}.btn.disabled,[disabled]{opacity:.55;pointer-events:none}

@media(max-width:979px){
 .subscription-plan-mini-grid,.subscription-plan-grid{grid-template-columns:1fr}
 .subscription-feature-grid{grid-template-columns:1fr}
 .subscription-payment-row{grid-template-columns:1fr}.subscription-payment-amount{justify-items:start}.subscription-payment-actions{width:100%}.subscription-payment-actions form{flex:1}.subscription-payment-actions .btn{width:100%}
 .subscription-admin-user{grid-template-columns:minmax(0,1fr) auto 16px}
 .subscription-history>div{grid-template-columns:80px 1fr;gap:6px}.subscription-history>div b,.subscription-history>div .status-badge{justify-self:start}
 .payment-detail-grid{grid-template-columns:1fr}
}

/* v9.0.1 - kompaktne pravne suhlasy + scroll k platbe */
.registration-legal-consent{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:9px!important;
  padding:10px 0;
}
.registration-legal-consent>input[type="checkbox"],
.subscription-order-consent>input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  padding:0!important;
  margin:2px 0 0!important;
  flex:0 0 16px!important;
  accent-color:#bac700;
  border-radius:3px!important;
  box-shadow:none!important;
}
.registration-legal-copy{
  display:block!important;
  flex:1 1 auto;
  min-width:0;
  font-size:10px!important;
  line-height:1.5!important;
  color:#667085!important;
  font-weight:600!important;
}
.registration-legal-copy a,
.subscription-order-consent a{color:#626a00;font-weight:850;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.registration-legal-copy .field-error{display:block;margin-top:5px;color:var(--danger)}

.subscription-order-consent{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:8px!important;
  margin:9px 0 10px;
  padding:9px 10px;
  border:1px solid #e5e9bc;
  border-radius:11px;
  background:#fbfce9;
}
.subscription-order-consent>span{
  flex:1 1 auto;
  min-width:0;
  font-size:10px!important;
  line-height:1.45!important;
  color:#596000!important;
  font-weight:650!important;
}
#payment{scroll-margin-top:20px}
