:root{
  --bg:#0d1b2a;--bg2:#12253a;--bg3:#1a3048;--card:#162840;
  --accent:#f0c040;--blue:#4aace8;--green:#3de8a0;--red:#e85050;
  --text:#eef2f7;--muted:#6a8caa;--border:rgba(255,255,255,0.08);
  --shadow:rgba(0,0,0,0.3);--overlay:rgba(0,0,0,.7);
}
[data-theme="light"]{
  --bg:#f0f2f5;--bg2:#ffffff;--bg3:#e8ecf0;--card:#ffffff;
  --accent:#d4a017;--blue:#2b87c9;--green:#1fad6e;--red:#d63939;
  --text:#1a2332;--muted:#6b7d8e;--border:rgba(0,0,0,0.1);
  --shadow:rgba(0,0,0,0.08);--overlay:rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;transition:background .3s,color .3s;}

/* TRANSITIONS & ANIMATIONS */
.screen{display:none;padding:20px 16px 90px;animation:fadeSlideIn .3s ease;}
.screen.active{display:block;}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.card,.sum-card,.auth-box,.nav,.group-nav,.modal,.quick-add-bar{transition:background .3s,border-color .3s,box-shadow .3s;}
.btn{transition:all .15s;transform:scale(1);}
.btn:active{transform:scale(0.97);}
.list-row{transition:background .15s;}
.list-row:active{background:rgba(74,172,232,.08);}
.nav-btn{transition:color .2s,transform .15s;}
.nav-btn:active{transform:scale(0.9);}
.group-tab{transition:all .2s;}
.group-tab:active{transform:scale(0.95);}
.week-day{transition:all .15s;}
.week-day:active{transform:scale(0.92);}

/* AUTH */
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px;background:radial-gradient(ellipse at 30% 20%,var(--bg3) 0%,var(--bg) 60%) var(--bg);}
.auth-spacer{flex:1;}
.auth-box-wrap{width:100%;display:flex;justify-content:center;}
.auth-footer{padding:24px 16px 16px;text-align:center;flex-shrink:0;}
.auth-footer a{font-size:11px;color:var(--muted);text-decoration:none;margin:0 6px;transition:color .2s;}
.auth-footer a:hover{color:var(--blue);text-decoration:underline;}
.auth-footer .auth-dot{color:var(--border);margin:0 2px;font-size:10px;}
.auth-box{background:var(--card);border-radius:24px;padding:32px 24px;width:100%;max-width:380px;border:1px solid var(--border);box-shadow:0 24px 60px var(--shadow);}
.auth-logo{text-align:center;font-size:44px;margin-bottom:8px;}
.auth-title{font-family:'DM Serif Display',serif;font-size:26px;text-align:center;margin-bottom:4px;}
.auth-sub{color:var(--muted);font-size:13px;text-align:center;margin-bottom:24px;}
.auth-tabs{display:flex;background:var(--bg3);border-radius:12px;padding:4px;margin-bottom:20px;}
.auth-tab{flex:1;padding:8px;border:none;background:none;color:var(--muted);border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;transition:all .2s;}
.auth-tab.active{background:var(--card);color:var(--text);}

/* FORMS */
.form-group{margin-bottom:14px;}
.form-group label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:12px 16px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border .2s;}
.form-group input:focus,.form-group select:focus{border-color:var(--blue);}
.pass-wrap{position:relative;}
.pass-wrap input{padding-right:44px;}
.pass-eye{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:17px;user-select:none;opacity:.5;transition:opacity .15s;}
.pass-eye:hover{opacity:1;}

/* BUTTONS */
.btn{width:100%;padding:14px;border:none;border-radius:14px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn:hover{opacity:.88;}
.btn-primary{background:var(--accent);color:#0d1b2a;}
.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border);}
.btn-blue{background:var(--blue);color:#fff;}
.btn-green{background:var(--green);color:#0d1b2a;}
.btn-red{background:var(--red);color:#fff;}

/* NAV */
.nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--border);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom);}
.nav-btn{flex:1;padding:10px 2px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:'DM Sans',sans-serif;transition:color .2s;}
.nav-btn.active{color:var(--accent);}
.nav-btn svg{width:22px;height:22px;}

/* GROUP SUB-NAV */
.group-nav{display:flex;background:var(--bg3);border-radius:12px;padding:3px;margin-bottom:16px;gap:2px;}
.group-tab{flex:1;padding:9px 6px;border:none;background:none;color:var(--muted);border-radius:9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:4px;}
.group-tab.active{background:var(--card);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.2);}

/* SCREENS */
.page-header{margin-bottom:20px;}
.page-header h1{font-family:'DM Serif Display',serif;font-size:26px;}
.page-header p{color:var(--muted);font-size:13px;margin-top:3px;}

/* CARDS */
.card{background:var(--card);border-radius:16px;padding:18px;margin-bottom:12px;border:1px solid var(--border);}
.section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:10px;}

/* SUMMARY */
.sum-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.sum-card{background:var(--card);border-radius:16px;padding:16px;border:1px solid var(--border);}
.sum-card.full{grid-column:1/-1;}
.sum-card label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:6px;}
.amount{font-family:'DM Serif Display',serif;font-size:26px;}
.amount.g{color:var(--green);}.amount.r{color:var(--red);}.amount.y{color:var(--accent);}
.progress-bar{height:6px;background:var(--bg3);border-radius:99px;overflow:hidden;margin-top:10px;}
.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--accent));transition:width .5s;}

/* LIST */
.list-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);}
.list-row:last-child{border-bottom:none;}
.list-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.list-info{flex:1;min-width:0;}
.list-name{font-size:14px;font-weight:500;}
.list-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.list-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.del-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;opacity:.5;}
.del-btn:hover{opacity:1;}

/* MONTH NAV */
.month-nav{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:14px;padding:10px 16px;margin-bottom:14px;border:1px solid var(--border);}
.month-nav button{background:var(--bg3);border:none;color:var(--text);width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:16px;}
.month-nav span{font-weight:600;}

/* TABS */
.tabs{display:flex;background:var(--bg3);border-radius:12px;padding:4px;margin-bottom:14px;}
.tab{flex:1;padding:8px;border:none;background:none;color:var(--muted);border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;transition:all .2s;}
.tab.active{background:var(--card);color:var(--text);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:var(--overlay);z-index:200;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--bg2);border-radius:24px 24px 0 0;padding:24px;width:100%;max-height:92vh;overflow-y:auto;}
.modal-title{font-family:'DM Serif Display',serif;font-size:22px;margin-bottom:18px;}

/* TOAST */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:10px 20px;font-size:14px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:300;white-space:nowrap;}
.toast.show{opacity:1;}

/* LOADING */
.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;}
.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* WORK */
.week-nav{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.week-nav button{background:var(--bg3);border:none;color:var(--text);width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:15px;flex-shrink:0;}
.week-nav span{flex:1;text-align:center;font-size:14px;font-weight:500;color:var(--blue);}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px;}
.week-day{border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px;cursor:pointer;background:var(--bg3);border:1px solid var(--border);transition:all .2s;padding:6px 2px;}
.week-day.has-work{background:rgba(74,172,232,.2);border-color:var(--blue);color:var(--blue);}
.week-day.today{border-color:var(--accent);color:var(--accent);}
.week-day.selected{background:var(--blue);color:#fff;border-color:var(--blue);}
.week-day .day-num{font-size:13px;font-weight:600;}
.week-day .day-h{font-size:8px;margin-top:1px;}
.week-day .day-dots{display:flex;gap:2px;margin-top:2px;justify-content:center;}
.week-day .day-dots span{width:5px;height:5px;border-radius:50%;display:inline-block;}
.wt-tabs{display:flex;background:var(--bg3);border-radius:10px;padding:3px;margin-bottom:14px;gap:2px;}
.wt-tab{flex:1;padding:8px 4px;border:none;background:none;color:var(--muted);border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;transition:all .2s;}
.wt-tab.active{color:#fff;}
.wt-tab.t-hod.active{background:var(--blue);}
.wt-tab.t-mat.active{background:#f0c040;color:#0d1b2a;}
.wt-tab.t-task.active{background:var(--green);color:#0d1b2a;}
.wt-pane{display:none;}.wt-pane.active{display:block;}
.task-item-row{display:flex;gap:6px;align-items:center;margin-bottom:6px;}
.task-item-row input{flex:1;min-width:0;}
.task-item-row .ti-del{background:none;border:none;color:var(--red);font-size:16px;cursor:pointer;padding:4px;}
.month-footer{position:fixed;bottom:60px;left:0;right:0;background:linear-gradient(135deg,var(--bg2),var(--bg3));border-top:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;gap:12px;transform:translateY(calc(100% + 80px));transition:transform .3s;z-index:90;padding-bottom:calc(10px + env(safe-area-inset-bottom));visibility:hidden;}
.month-footer.visible{transform:translateY(0);visibility:visible;}
.month-footer-hours{font-family:'DM Serif Display',serif;font-size:24px;color:var(--accent);}

/* CHART */
.chart-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.chart-label{font-size:12px;width:110px;flex-shrink:0;}
.chart-bar{flex:1;height:8px;background:var(--bg3);border-radius:99px;overflow:hidden;}
.chart-fill{height:100%;border-radius:99px;transition:width .5s;}
.chart-val{font-size:12px;font-weight:600;width:70px;text-align:right;flex-shrink:0;}

/* ADMIN */
.admin-badge{background:rgba(240,192,64,.15);color:var(--accent);border:1px solid rgba(240,192,64,.3);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:600;}
.user-pending{background:rgba(232,80,80,.1);border:1px solid rgba(232,80,80,.2);border-radius:12px;padding:12px;margin-bottom:8px;}
.logout-btn{background:rgba(232,80,80,.15);border:1px solid rgba(232,80,80,.3);color:var(--red);border-radius:10px;padding:5px 12px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;}

/* INVOICE */
.inv-item-box{background:var(--bg3);border-radius:12px;padding:12px;margin-bottom:10px;border:1px solid var(--border);}

/* SIGNATURE */
#signature-canvas{width:100%;height:120px;background:#ffffff;border:1px solid var(--border);border-radius:10px;cursor:crosshair;touch-action:none;display:block;}

/* EMAIL DROPDOWN */
.email-dd-btn{display:flex;gap:8px;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;}
.email-dd-list{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--border);border-radius:10px;z-index:100;margin-top:4px;overflow:hidden;box-shadow:0 4px 20px var(--shadow);}

/* STOPKY */
.sw-display{font-family:'DM Serif Display',serif;font-size:48px;color:var(--accent);letter-spacing:2px;text-align:center;margin:8px 0;}

/* STAVBA PHASES */
.phase-badge{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;}

/* MATERIALS */
.mat-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);}
.mat-row:last-child{border-bottom:none;}
.mat-info{flex:1;min-width:0;}
.mat-name{font-size:13px;font-weight:600;}
.mat-meta{font-size:11px;color:var(--muted);margin-top:2px;}
.mat-cost{font-weight:700;font-size:14px;color:var(--accent);white-space:nowrap;}
.mat-total-bar{background:linear-gradient(135deg,rgba(240,192,64,.1),rgba(240,192,64,.05));border:1px solid rgba(240,192,64,.2);border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.mat-total-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);}
.mat-total-value{font-family:'DM Serif Display',serif;font-size:22px;color:var(--accent);}
.sd-tabs{display:flex;gap:2px;background:var(--bg3);border-radius:10px;padding:3px;margin-bottom:14px;}
.sd-tab{flex:1;padding:8px;border:none;background:none;color:var(--muted);border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;transition:all .15s;}
.sd-tab.active{background:var(--card);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.2);}

/* PROFITABILITY */
.profit-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);}
.profit-row:last-child{border-bottom:none;}
.profit-label{font-size:13px;color:var(--muted);}
.profit-val{font-weight:700;font-size:15px;}
.profit-bar{height:24px;border-radius:8px;display:flex;overflow:hidden;margin:8px 0;}
.profit-bar-income{background:var(--green);height:100%;transition:width .5s;}
.profit-bar-expense{background:var(--red);height:100%;transition:width .5s;}
.profit-result{text-align:center;padding:16px;border-radius:14px;margin-top:12px;}
.profit-result.positive{background:rgba(61,232,160,.1);border:1px solid rgba(61,232,160,.25);}
.profit-result.negative{background:rgba(232,80,80,.1);border:1px solid rgba(232,80,80,.25);}
.profit-result .big{font-family:'DM Serif Display',serif;font-size:28px;}

/* PHOTOS */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;}

/* QUICK ADD */
.quick-add-bar{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:10px;}

/* THEME TOGGLE */
.theme-toggle-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.theme-toggle-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;}
.theme-toggle{position:relative;width:52px;height:28px;border-radius:99px;background:var(--bg3);border:1px solid var(--border);cursor:pointer;transition:all .3s;flex-shrink:0;}
.theme-toggle.on{background:var(--accent);border-color:var(--accent);}
.theme-toggle::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 2px 4px rgba(0,0,0,.2);}
.theme-toggle.on::after{transform:translateX(24px);}
.theme-mode-icons{display:flex;gap:6px;}
.theme-mode-btn{width:40px;height:40px;border-radius:12px;border:2px solid var(--border);background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .15s;}
.theme-mode-btn.active{border-color:var(--accent);background:rgba(240,192,64,.15);}

/* WORK ENTRY TYPE INDICATORS */
.work-entry-hod{border-left:3px solid var(--blue);}
.work-entry-mat{border-left:3px solid #f0c040;}
.work-entry-task{border-left:3px solid var(--green);}

/* ENHANCED CARDS */
.card{transition:background .3s,border-color .3s,transform .15s;}

/* DAILY SUMMARY */
.day-summary{background:linear-gradient(135deg,rgba(74,172,232,.08),rgba(61,232,160,.05));border:1px solid rgba(74,172,232,.15);border-radius:16px;padding:14px 16px;margin-bottom:16px;}
.day-summary-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.day-summary-row:last-child{margin-bottom:0;}
.day-summary-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.day-summary-text{flex:1;font-size:13px;color:var(--muted);}
.day-summary-val{font-weight:700;font-size:14px;white-space:nowrap;}

/* BIGGER TOUCH TARGETS */
.week-day{min-height:56px;-webkit-tap-highlight-color:transparent;}
.month-nav button{width:44px;height:44px;border-radius:12px;font-size:18px;}
.week-nav button{width:44px;height:44px;border-radius:12px;font-size:18px;}
.del-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.nav-btn{min-height:54px;-webkit-tap-highlight-color:transparent;}
.list-row{min-height:52px;-webkit-tap-highlight-color:transparent;}
.group-tab{min-height:42px;-webkit-tap-highlight-color:transparent;}

/* SWIPE */
.swipeable{touch-action:pan-y;-webkit-user-select:none;user-select:none;}
.swipe-hint{position:absolute;top:50%;transform:translateY(-50%);font-size:22px;color:var(--muted);opacity:0;transition:opacity .2s;pointer-events:none;}
.swipe-hint.left{left:8px;}
.swipe-hint.right{right:8px;}
[data-theme="light"] .card{box-shadow:0 1px 4px var(--shadow);}
[data-theme="light"] .auth-box{box-shadow:0 8px 32px var(--shadow);}
[data-theme="light"] .nav{box-shadow:0 -2px 12px var(--shadow);}
[data-theme="light"] .sum-card{box-shadow:0 1px 3px var(--shadow);}
[data-theme="light"] .group-tab.active{box-shadow:0 1px 4px var(--shadow);}
[data-theme="light"] .quick-h-btn{box-shadow:0 1px 3px var(--shadow);}
.quick-add-stavba{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.quick-add-stavba select{flex:1;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 12px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;}
.quick-hours{display:flex;gap:6px;flex-wrap:wrap;}
.quick-h-btn{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 0;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;color:var(--blue);cursor:pointer;transition:all .15s;flex:1;min-width:52px;text-align:center;}
.quick-h-btn:hover,.quick-h-btn:active{background:var(--blue);color:#fff;border-color:var(--blue);}
.quick-h-btn.accent{background:rgba(240,192,64,.12);border-color:rgba(240,192,64,.3);color:var(--accent);}
.quick-h-btn.accent:hover,.quick-h-btn.accent:active{background:var(--accent);color:#0d1b2a;}
.quick-actions{display:flex;gap:6px;margin-top:8px;}
.quick-act-btn{flex:1;padding:8px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s;}
.quick-act-btn:hover{border-color:var(--blue);color:var(--blue);}
.photo-thumb{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:var(--bg3);}
.photo-thumb img{width:100%;height:100%;object-fit:cover;}
.photo-thumb .photo-del{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.6);border:none;color:#fff;border-radius:50%;width:24px;height:24px;font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center;}
.photo-thumb:hover .photo-del{display:flex;}
.photo-thumb .photo-date{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:4px 6px;font-size:9px;color:#fff;}
.photo-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer;}
.photo-lightbox img{max-width:100%;max-height:90vh;border-radius:8px;object-fit:contain;}
.photo-upload-area{border:2px dashed var(--border);border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:all .15s;}
.photo-upload-area:hover{border-color:var(--blue);background:rgba(74,172,232,.05);}
.phase-offer{background:rgba(106,140,170,.2);color:var(--muted);}
.phase-approved{background:rgba(74,172,232,.15);color:var(--blue);}
.phase-active{background:rgba(61,232,160,.15);color:var(--green);}
.phase-completed{background:rgba(240,192,64,.15);color:var(--accent);}
.phase-invoiced{background:rgba(160,74,232,.15);color:#a04ae8;}
.phase-filter{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px;}
.phase-filter-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg3);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;}
.phase-filter-btn.active{background:rgba(74,172,232,.15);border-color:rgba(74,172,232,.3);color:var(--blue);}
.phase-progress{display:flex;gap:2px;margin-top:6px;}
.phase-dot{flex:1;height:4px;border-radius:99px;background:var(--bg3);}
.phase-dot.filled{background:var(--green);}
.phase-dot.current{background:var(--accent);}

/* TEMPLATE CARDS */
.tpl-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:all .15s;}
.tpl-card:hover{border-color:var(--blue);background:rgba(74,172,232,.06);}
.tpl-card .tpl-name{font-weight:600;font-size:14px;}
.tpl-card .tpl-sub{font-size:11px;color:var(--muted);margin-top:2px;}

/* RECURRING INVOICES */
.rec-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:8px;}
.rec-card.due{border-color:var(--accent);background:rgba(240,192,64,.06);}
.rec-badge{display:inline-block;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.rec-badge.active{background:rgba(61,232,160,.15);color:var(--green);}
.rec-badge.paused{background:rgba(106,140,170,.15);color:var(--muted);}

/* DASHBOARD */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.dash-card{background:var(--card);border-radius:16px;padding:16px;border:1px solid var(--border);}
.dash-card.full{grid-column:1/-1;}
.dash-card .dash-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:6px;}
.dash-card .dash-value{font-family:'DM Serif Display',serif;font-size:24px;}
.dash-company-tab{padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;white-space:nowrap;}
.dash-company-tab.active{background:rgba(74,172,232,.15);border-color:rgba(74,172,232,.3);color:var(--blue);}
.dash-chart-bar{height:28px;border-radius:8px;display:flex;align-items:center;padding:0 10px;font-size:11px;font-weight:600;color:#fff;margin-bottom:4px;min-width:30px;transition:width .5s;}

/* COMPANY SWITCHER */
.company-switcher{position:relative;display:inline-flex;align-items:center;cursor:pointer;}
.company-switcher-btn{display:flex;align-items:center;gap:5px;background:rgba(74,172,232,.12);border:1px solid rgba(74,172,232,.25);border-radius:10px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--blue);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;white-space:nowrap;}
.company-switcher-btn:hover{background:rgba(74,172,232,.22);}
.company-switcher-dd{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--bg2);border:1px solid var(--border);border-radius:12px;min-width:220px;z-index:150;box-shadow:0 8px 30px var(--shadow);overflow:hidden;}
.company-switcher-dd.open{display:block;}
.cs-item{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border);transition:background .15s;}
.cs-item:last-child{border-bottom:none;}
.cs-item:hover{background:var(--bg3);}
.cs-item.active{background:rgba(74,172,232,.1);color:var(--blue);}
.cs-item .cs-check{width:16px;font-size:12px;flex-shrink:0;text-align:center;}

/* BILLING & SUBSCRIPTION */
.plan-card{background:var(--card);border:2px solid var(--border);border-radius:18px;padding:20px;text-align:center;transition:all .2s;cursor:pointer;}
.plan-card:hover{border-color:var(--blue);}
.plan-card.current{border-color:var(--accent);background:rgba(240,192,64,.06);}
.plan-card .plan-name{font-family:'DM Serif Display',serif;font-size:20px;margin-bottom:4px;}
.plan-card .plan-price{font-family:'DM Serif Display',serif;font-size:28px;color:var(--accent);}
.plan-card .plan-price small{font-size:13px;color:var(--muted);}
.plan-card .plan-features{font-size:12px;color:var(--muted);margin-top:10px;text-align:left;line-height:1.8;}
.plan-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.plan-badge.free{background:rgba(106,140,170,.2);color:var(--muted);}
.plan-badge.pro{background:rgba(74,172,232,.15);color:var(--blue);}
.plan-badge.company{background:rgba(240,192,64,.15);color:var(--accent);}
.plan-badge.trial{background:rgba(61,232,160,.15);color:var(--green);}
.plan-badge.expired{background:rgba(232,80,80,.15);color:var(--red);}
.trial-banner{background:linear-gradient(135deg,rgba(61,232,160,.1),rgba(74,172,232,.08));border:1px solid rgba(61,232,160,.25);border-radius:14px;padding:14px 16px;margin-bottom:14px;display:flex;align-items:center;gap:12px;}
/* Predplatné — nová UI */
.sub-hero{background:linear-gradient(135deg,#1b2838 0%,#243447 55%,rgba(240,192,64,.18) 100%);border:1px solid var(--border);border-radius:20px;padding:22px 20px;margin-bottom:16px;position:relative;overflow:hidden;}
.sub-hero::after{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(240,192,64,.22),transparent 70%);pointer-events:none;}
.sub-hero-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.sub-hero-name{font-family:'DM Serif Display',serif;font-size:30px;line-height:1.1;margin-bottom:10px;}
.sub-hero-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sub-hero-meta{font-size:12px;color:var(--muted);margin-top:10px;}
.sub-hero-countdown{margin-top:10px;font-size:13px;color:var(--green);font-weight:600;}
.sub-section-title{font-size:13px;font-weight:600;color:var(--muted);margin:18px 0 10px;text-transform:uppercase;letter-spacing:.5px;}
.sub-usage-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px;}
.sub-usage-row{margin-bottom:14px;}
.sub-usage-row:last-child{margin-bottom:0;}
.sub-usage-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13px;}
.sub-usage-head span:first-child{color:var(--text);font-weight:500;}
.sub-usage-head span:last-child{color:var(--muted);font-variant-numeric:tabular-nums;}
.sub-usage-bar{height:8px;background:var(--bg3);border-radius:99px;overflow:hidden;}
.sub-usage-fill{height:100%;border-radius:99px;background:var(--blue);transition:width .5s,background .2s;}
.sub-usage-fill.warn{background:var(--accent);}
.sub-usage-fill.danger{background:var(--red);}
.sub-plan-opt{background:var(--card);border:2px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .15s;}
.sub-plan-opt:hover{border-color:var(--blue);}
.sub-plan-opt.current{border-color:var(--accent);background:rgba(240,192,64,.06);cursor:default;}
.sub-plan-opt-icon{font-size:28px;flex-shrink:0;}
.sub-plan-opt-body{flex:1;}
.sub-plan-opt-name{font-weight:600;font-size:15px;margin-bottom:2px;}
.sub-plan-opt-desc{font-size:12px;color:var(--muted);}
.sub-plan-opt-price{text-align:right;font-family:'DM Serif Display',serif;font-size:18px;flex-shrink:0;}
.sub-plan-opt-price small{font-size:11px;color:var(--muted);display:block;font-family:'DM Sans',sans-serif;margin-top:2px;}
.sub-plan-opt .sub-you-badge{background:var(--accent);color:#0d1b2a;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;letter-spacing:.3px;}
.sub-plan-opt.trial .sub-you-badge{background:var(--green);}
.sub-yearly-note{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 20px;line-height:1.5;}
.paywall-overlay{position:fixed;inset:0;background:var(--overlay);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px;}
.paywall-box{background:var(--bg2);border-radius:24px;padding:28px 22px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;border:1px solid var(--border);box-shadow:0 24px 80px rgba(0,0,0,.4);}
.billing-search{display:flex;gap:8px;margin-bottom:14px;}
.billing-search input{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;}
.billing-user-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.billing-user-row:hover{background:rgba(74,172,232,.05);}
.billing-user-row:last-child{border-bottom:none;}

/* ONBOARDING */
.ob-step{animation:obFadeIn .3s ease}
@keyframes obFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ob-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}
.ob-dot.active{background:var(--accent);width:28px;border-radius:5px;transition:all .3s}

/* HOME CTA */
.home-cta{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.home-cta-btn{flex:1;min-width:100px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;text-decoration:none;color:var(--text);}
.home-cta-btn:hover{border-color:var(--blue);background:rgba(74,172,232,.06);}
.home-cta-btn:active{transform:scale(0.97);}
.home-cta-icon{font-size:24px;}
.home-cta-label{font-size:11px;font-weight:600;text-align:center;}

/* NO HOURS BANNER */
.no-hours-banner{background:linear-gradient(135deg,rgba(74,172,232,.08),rgba(240,192,64,.06));border:1px solid rgba(74,172,232,.2);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:14px;cursor:pointer;transition:all .15s;}
.no-hours-banner:hover{border-color:var(--blue);background:rgba(74,172,232,.1);}
.no-hours-banner:active{transform:scale(0.98);}

/* DASHBOARD STATS */
.dash-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.dash-stat-card{background:var(--card);border-radius:16px;padding:14px;border:1px solid var(--border);cursor:pointer;transition:all .15s;}
.dash-stat-card:hover{border-color:var(--blue);background:rgba(74,172,232,.04);}
.dash-stat-card:active{transform:scale(0.97);}
.dash-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:8px;}
.dash-stat-val{font-family:'DM Serif Display',serif;font-size:22px;line-height:1.1;}
.dash-stat-label{font-size:11px;color:var(--muted);margin-top:2px;}

/* DASHBOARD ACTIONS */
.dash-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.dash-action-btn{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;text-decoration:none;color:var(--text);}
.dash-action-btn:hover{border-color:var(--blue);background:rgba(74,172,232,.06);}
.dash-action-btn:active{transform:scale(0.97);}
.dash-action-icon{font-size:26px;}
.dash-action-label{font-size:11px;font-weight:600;text-align:center;}
@media(max-width:360px){.dash-actions{grid-template-columns:repeat(2,1fr);}}

/* WORKSPACE TOGGLE */
.workspace-toggle{display:flex;background:var(--bg3);border-radius:10px;padding:2px;gap:2px;margin-bottom:4px;}
.ws-btn{padding:6px 12px;border:none;background:none;color:var(--muted);border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.ws-btn.active{background:var(--card);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.2);}

/* ═══════════════════════════════════════════════════════
   FÁZA 11.2 — RESPONZÍVNE CSS
   Pridaj na koniec styles.css
   ═══════════════════════════════════════════════════════ */

/* ── DESKTOP: max-width kontajner ── */
@media (min-width: 768px) {
  .screen {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    padding: 24px 24px 90px;
  }
  .page-header h1 { font-size: 30px; }
  .card { padding: 20px; }
  .modal { max-width: 560px; margin: 0 auto; border-radius: 24px; }
  .modal-overlay { align-items: center; padding: 20px; }
  .dash-stats { grid-template-columns: repeat(4, 1fr); }
  .dash-actions { grid-template-columns: repeat(3, 1fr); }
  .photo-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .week-day { padding: 8px 4px; }
  .week-day .day-num { font-size: 15px; }
  .form-group input,
  .form-group select,
  .form-group textarea { font-size: 15px; padding: 13px 18px; }
  .auth-box { padding: 40px 32px; }
  .toast { bottom: 90px; font-size: 15px; }
}

/* ── VEĽKÝ DESKTOP (>1024px) ── */
@media (min-width: 1024px) {
  .screen {
    max-width: 860px;
  }
  .dash-actions { grid-template-columns: repeat(6, 1fr); }
  .photo-grid { grid-template-columns: repeat(5, 1fr); }
}

/* ── MALÝ MOBIL (<380px) ── */
@media (max-width: 380px) {
  .screen { padding: 14px 10px 85px; }
  .page-header h1 { font-size: 22px; }
  .card { padding: 14px; border-radius: 14px; }
  .dash-stat-val { font-size: 18px; }
  .dash-stat-card { padding: 10px; }
  .dash-action-btn { padding: 12px 6px; }
  .dash-action-icon { font-size: 22px; }
  .dash-action-label { font-size: 10px; }
  .nav-btn { font-size: 9px; padding: 8px 1px; }
  .nav-btn svg { width: 20px; height: 20px; }
  .group-tab { font-size: 11px; padding: 7px 4px; }
  .modal { padding: 18px 14px; }
  .modal-title { font-size: 19px; }
  .form-group input,
  .form-group select,
  .form-group textarea { padding: 10px 12px; font-size: 13px; }
  .btn { padding: 12px; font-size: 14px; }
  .week-day { padding: 4px 1px; }
  .week-day .day-num { font-size: 11px; }
  .photo-grid { grid-template-columns: repeat(2, 1fr); }
  .list-icon { width: 32px; height: 32px; font-size: 16px; }
  .toast { font-size: 12px; padding: 8px 14px; bottom: 72px; }
}

/* ── VEĽMI MALÝ MOBIL (<320px) ── */
@media (max-width: 320px) {
  .screen { padding: 10px 8px 80px; }
  .dash-stats { grid-template-columns: 1fr 1fr; gap: 6px; }
  .dash-actions { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .nav-btn { font-size: 8px; }
  .group-tab { font-size: 10px; }
}

/* ── INVOICE FILTRE — responzívne ── */
@media (max-width: 480px) {
  #inv-history select,
  #inv-history input[type="text"] {
    font-size: 11px !important;
    padding: 5px 6px !important;
    min-width: 60px !important;
  }
}

/* ── LANDSCAPE na mobile ── */
@media (max-height: 500px) and (orientation: landscape) {
  .nav { padding-bottom: 0; }
  .nav-btn { padding: 6px 2px; min-height: 44px; }
  .nav-btn svg { width: 18px; height: 18px; }
  .screen { padding-bottom: 70px; }
  .modal { max-height: 95vh; }
}

/* ── PRINT ── */
@media print {
  .nav, .group-nav, .toast, .modal-overlay { display: none !important; }
  .screen { padding: 0; max-width: 100%; }
  .card { break-inside: avoid; box-shadow: none; border: 1px solid #ddd; }
}

/* ── ACCESSIBILITY: prefers-reduced-motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── HOVER len na zariadeniach s myšou ── */
@media (hover: hover) {
  .card:hover { border-color: rgba(74,172,232,.3); }
  .list-row:hover { background: rgba(74,172,232,.04); }
  .dash-action-btn:hover { transform: translateY(-2px); }
  .dash-stat-card:hover { transform: translateY(-1px); }
}

/* ── SAFE-AREA pre notch telefóny ── */
@supports (padding-top: env(safe-area-inset-top)) {
  .screen:first-of-type { padding-top: calc(20px + env(safe-area-inset-top)); }
  .auth-wrap { padding-top: calc(20px + env(safe-area-inset-top)); }
}

/* ══════════════════════════════════════════════
   DASHBOARD v2 — profesionálny home screen
   ══════════════════════════════════════════════ */

/* ── 1. PROFILE HEADER ── */
.dh-profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding:0 2px;}
.dh-profile-left{display:flex;align-items:center;gap:14px;}
.dh-avatar{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--green));display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:1px;}
.dh-profile-info h1{font-family:'DM Serif Display',serif;font-size:22px;line-height:1.2;}
.dh-profile-info p{font-size:13px;color:var(--muted);margin-top:2px;}
.dh-profile-right{display:flex;align-items:center;gap:8px;}
.dh-menu-trigger{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .15s;position:relative;}
.dh-menu-trigger:hover{border-color:var(--blue);background:rgba(74,172,232,.06);}
.dh-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:6px;min-width:210px;box-shadow:0 12px 40px var(--shadow);display:none;z-index:50;}
.dh-dropdown.open{display:block;animation:dhDropIn .2s ease;}
@keyframes dhDropIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.dh-dd-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;transition:background .12s;cursor:pointer;}
.dh-dd-item:hover{background:var(--bg3);}
.dh-dd-danger{color:var(--red);}
.dh-dd-divider{height:1px;background:var(--border);margin:4px 8px;}

/* ── 3. KPI CARDS ── */
.dh-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.dh-kpi-card{background:var(--card);border-radius:16px;padding:16px;border:1px solid var(--border);cursor:pointer;transition:all .15s;position:relative;overflow:hidden;}
.dh-kpi-card:hover{border-color:rgba(74,172,232,.3);}
.dh-kpi-card:active{transform:scale(0.97);}
.dh-kpi-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px;}
.dh-kpi-val{font-family:'DM Serif Display',serif;font-size:24px;line-height:1.1;margin-bottom:3px;}
.dh-kpi-label{font-size:11px;color:var(--muted);font-weight:500;}

/* ── 4. QUICK ACTIONS ── */
.dh-section-head{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:700;margin-bottom:10px;padding:0 2px;}
.dh-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;}
.dh-qa-btn{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;text-decoration:none;color:var(--text);}
.dh-qa-btn:hover{border-color:var(--blue);background:rgba(74,172,232,.05);}
.dh-qa-btn:active{transform:scale(0.97);}
.dh-qa-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;}
.dh-qa-label{font-size:11px;font-weight:600;text-align:center;line-height:1.3;}
.dh-qa-primary{background:linear-gradient(135deg,rgba(74,172,232,.12),rgba(74,172,232,.06));border-color:rgba(74,172,232,.25);}
.dh-qa-primary:hover{background:linear-gradient(135deg,rgba(74,172,232,.18),rgba(74,172,232,.1));border-color:rgba(74,172,232,.4);}

/* ── 5. INVOICE OVERVIEW ── */
.dh-inv-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:22px;}
.dh-inv-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.dh-inv-title h3{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;}
.dh-inv-stats{display:flex;gap:8px;margin-bottom:0;}
.dh-inv-stat{flex:1;background:var(--bg3);border-radius:12px;padding:12px;text-align:center;}
.dh-inv-stat-val{font-family:'DM Serif Display',serif;font-size:20px;margin-bottom:2px;}
.dh-inv-stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;}
.dh-inv-alert{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(232,80,80,.08);border:1px solid rgba(232,80,80,.15);border-radius:10px;font-size:13px;cursor:pointer;transition:all .12s;margin-top:12px;}
.dh-inv-alert:hover{background:rgba(232,80,80,.12);border-color:rgba(232,80,80,.25);}

/* ── 6. RECENT ACTIVITY CARD ── */
.dh-recent-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:22px;}
.dh-recent-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.dh-recent-header h3{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;}

/* ── DASHBOARD RESPONSIVE ── */
@media (min-width:768px){
  .dh-kpi-grid{grid-template-columns:repeat(4,1fr);}
  .dh-quick-actions{grid-template-columns:repeat(3,1fr);}
  .dh-profile-info h1{font-size:26px;}
}
@media (min-width:1024px){
  .dh-quick-actions{grid-template-columns:repeat(6,1fr);}
}
@media (max-width:380px){
  .dh-profile-info h1{font-size:19px;}
  .dh-kpi-val{font-size:20px;}
  .dh-kpi-card{padding:12px;}
  .dh-qa-btn{padding:14px 6px;}
  .dh-qa-icon{width:38px;height:38px;font-size:18px;}
  .dh-qa-label{font-size:10px;}
  .dh-quick-actions{grid-template-columns:repeat(2,1fr);gap:6px;}
  .dh-inv-stats{flex-wrap:wrap;}
  .dh-inv-stat{min-width:calc(50% - 4px);}
  .dh-avatar{width:42px;height:42px;font-size:16px;}
}
@media (max-width:320px){
  .dh-kpi-grid{grid-template-columns:1fr 1fr;gap:6px;}
  .dh-quick-actions{grid-template-columns:repeat(2,1fr);gap:6px;}
}
@media (hover:hover){
  .dh-kpi-card:hover{transform:translateY(-1px);}
  .dh-qa-btn:hover{transform:translateY(-2px);}
}

/* ══════════════════════════════════════════════
   BUDGET v2 — profesionálna finančná sekcia
   ══════════════════════════════════════════════ */
.bgt-header{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;}
.bgt-header h1{font-family:'DM Serif Display',serif;font-size:26px;}
.bgt-header p{color:var(--muted);font-size:13px;margin-top:3px;}
.bgt-month-nav{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:14px;padding:10px 16px;margin-bottom:18px;border:1px solid var(--border);}
.bgt-month-nav button{background:var(--bg3);border:none;color:var(--text);width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:16px;transition:all .12s;}
.bgt-month-nav button:hover{background:rgba(74,172,232,.1);color:var(--blue);}
.bgt-month-nav span{font-weight:600;font-size:15px;}
.bgt-hero{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px;}
.bgt-hero-card{background:var(--card);border-radius:16px;padding:18px 16px;border:1px solid var(--border);text-align:center;}
.bgt-hero-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;margin-bottom:6px;}
.bgt-hero-val{font-family:'DM Serif Display',serif;font-size:24px;line-height:1.1;}
.bgt-progress-card{background:var(--card);border-radius:16px;padding:16px 18px;border:1px solid var(--border);margin-bottom:20px;}
.bgt-progress-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.bgt-progress-row span{font-size:13px;}
.bgt-bar{height:8px;background:var(--bg3);border-radius:99px;overflow:hidden;}
.bgt-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--accent));transition:width .5s;}
.bgt-legend{display:flex;gap:16px;margin-top:10px;font-size:11px;color:var(--muted);}
.bgt-legend span{display:flex;align-items:center;gap:5px;}
.bgt-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.bgt-section{margin-bottom:22px;}
.bgt-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px;}
.bgt-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:6px;}
.bgt-section-sum{font-size:13px;font-weight:600;}
.bgt-section-link{font-size:12px;color:var(--blue);cursor:pointer;font-weight:500;text-decoration:none;}
.bgt-card{background:var(--card);border-radius:16px;padding:18px;border:1px solid var(--border);}
.bgt-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);transition:background .12s;}
.bgt-row:last-child{border-bottom:none;}
.bgt-row-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.bgt-row-info{flex:1;min-width:0;}
.bgt-row-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bgt-row-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.bgt-row-val{font-weight:600;font-size:14px;white-space:nowrap;}
.bgt-row-actions{display:flex;align-items:center;gap:4px;margin-left:4px;}
.bgt-row-actions button{background:none;border:none;cursor:pointer;font-size:15px;padding:4px;opacity:.5;transition:opacity .12s;}
.bgt-row-actions button:hover{opacity:1;}
.bgt-cat-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.bgt-cat-row:last-child{margin-bottom:0;}
.bgt-cat-icon{font-size:16px;width:24px;text-align:center;}
.bgt-cat-label{font-size:13px;flex-shrink:0;width:110px;}
.bgt-cat-bar{flex:1;height:8px;background:var(--bg3);border-radius:99px;overflow:hidden;}
.bgt-cat-bar-fill{height:100%;border-radius:99px;transition:width .5s;}
.bgt-cat-val{font-size:12px;font-weight:600;width:70px;text-align:right;flex-shrink:0;}
.bgt-add-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:22px;}
.bgt-add-tabs{display:flex;background:var(--bg3);border-radius:10px;padding:3px;margin-bottom:14px;gap:2px;}
.bgt-add-tab{flex:1;padding:8px 4px;border:none;background:none;color:var(--muted);border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;transition:all .2s;text-align:center;}
.bgt-add-tab.active{background:var(--card);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.15);}
.bgt-form-group{margin-bottom:12px;}
.bgt-form-group label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);display:block;margin-bottom:5px;font-weight:600;}
.bgt-form-group input,.bgt-form-group select{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border .2s;}
.bgt-form-group input:focus,.bgt-form-group select:focus{border-color:var(--blue);}
.bgt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bgt-submit{width:100%;padding:12px;border:none;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;background:var(--blue);color:#fff;transition:opacity .12s;}
.bgt-submit:hover{opacity:.88;}
.bgt-empty{color:var(--muted);font-size:13px;text-align:center;padding:20px 10px;}
@media(max-width:480px){
  .bgt-hero{grid-template-columns:1fr;gap:8px;}
  .bgt-hero-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;text-align:left;}
  .bgt-hero-label{margin-bottom:0;}
  .bgt-hero-val{font-size:20px;}
  .bgt-form-row{grid-template-columns:1fr;}
}
@media(max-width:380px){.bgt-cat-label{width:80px;font-size:12px;}}
@media(min-width:768px){.bgt-hero-val{font-size:28px;}}
@media(hover:hover){.bgt-row:hover{background:rgba(74,172,232,.04);}}

/* ══════════════════════════════════════════════ */
/* ZAKÁZKY TAB (wkj-*)                           */
/* ══════════════════════════════════════════════ */
.wkj-toolbar{display:flex;gap:8px;margin-bottom:14px;}
.wkj-search{flex:1;position:relative;}
.wkj-search input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:10px 12px 10px 36px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border .2s;}
.wkj-search input:focus{border-color:var(--blue);}
.wkj-search input::placeholder{color:var(--muted);}
.wkj-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--muted);pointer-events:none;}
.wkj-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.wkj-stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 10px;text-align:center;}
.wkj-stat-val{font-family:'DM Serif Display',serif;font-size:20px;line-height:1.1;margin-bottom:2px;}
.wkj-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;}
.wkj-phases{display:flex;gap:5px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;-webkit-overflow-scrolling:touch;}
.wkj-phases::-webkit-scrollbar{display:none;}
.wkj-phase-chip{padding:6px 12px;border-radius:18px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.wkj-phase-chip:hover{border-color:var(--blue);color:var(--text);}
.wkj-phase-chip.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.wkj-phase-chip .chip-count{background:rgba(255,255,255,.15);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;}
.wkj-phase-chip.active .chip-count{background:rgba(255,255,255,.25);}
.wkj-section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.wkj-section-title::after{content:'';flex:1;height:1px;background:var(--border);}
.wkj-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.wkj-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;transition:all .18s;}
.wkj-card:hover{border-color:rgba(74,172,232,.3);}
.wkj-card.archived{opacity:.55;}
.wkj-card-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;}
.wkj-card-color{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.wkj-card-main{flex:1;min-width:0;}
.wkj-card-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.wkj-card-code{font-size:11px;color:var(--muted);margin-top:2px;}
.wkj-card-addr{font-size:11px;color:var(--muted);margin-top:1px;display:flex;align-items:center;gap:4px;}
.wkj-card-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.wkj-meta-item{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--muted);font-weight:500;}
.wkj-meta-item .meta-val{color:var(--text);font-weight:600;}
.wkj-card-actions{display:flex;gap:6px;margin-top:8px;border-top:1px solid var(--border);padding-top:8px;}
.wkj-act-btn{flex:1;padding:7px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;gap:3px;}
.wkj-act-btn:hover{border-color:var(--blue);color:var(--blue);}
.wkj-act-btn.danger:hover{border-color:var(--red);color:var(--red);}
.wkj-act-btn.primary-act{background:rgba(74,172,232,.1);border-color:rgba(74,172,232,.2);color:var(--blue);}
.wkj-badge{padding:2px 8px;border-radius:6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;}
.wkj-badge.offer{background:rgba(106,140,170,.15);color:var(--muted);}
.wkj-badge.approved{background:rgba(61,232,160,.12);color:var(--green);}
.wkj-badge.active{background:rgba(74,172,232,.12);color:var(--blue);}
.wkj-badge.completed{background:rgba(240,192,64,.12);color:var(--accent);}
.wkj-badge.invoiced{background:rgba(160,74,232,.12);color:#a04ae8;}
.wkj-badge.archived{background:rgba(106,140,170,.08);color:var(--muted);}
.wkj-add-btn{width:100%;padding:12px;border:2px dashed var(--border);border-radius:12px;background:transparent;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:20px;}
.wkj-add-btn:hover{border-color:var(--blue);background:rgba(74,172,232,.05);}
#wk-pane-jobs{max-width:560px;margin:0 auto;}
.wkj-empty{text-align:center;padding:30px 16px;color:var(--muted);}
.wkj-empty-icon{font-size:32px;margin-bottom:10px;opacity:.5;}
.wkj-empty-text{font-size:13px;margin-bottom:12px;}
@media(min-width:768px){.wkj-stats{grid-template-columns:1fr 1fr 1fr 1fr;}.wkj-card{padding:16px;}.wkj-card-color{width:40px;height:40px;}.wkj-card-title{font-size:15px;}.wkj-act-btn{font-size:12px;padding:8px;}}
@media(max-width:380px){.wkj-stat{padding:10px 8px;}.wkj-stat-val{font-size:17px;}.wkj-card{padding:12px;}.wkj-card-color{width:32px;height:32px;font-size:14px;}.wkj-card-title{font-size:13px;}}
@media(hover:hover){.wkj-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);}}
