:root{
  --navy:#22258b;--navy2:#15185f;--blue:#4ea8e8;--cyan:#45cdf6;--violet:#7547ff;
  --green:#0fb889;--red:#ff575d;--orange:#ff9a1f;--ink:#151827;--muted:#8a95a6;--line:#e8eef6;--bg:#f5f8fc;
  --shadow:0 18px 50px rgba(22,35,90,.10);--shadow2:0 8px 24px rgba(22,35,90,.08);--r:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.app-page{padding-bottom:82px}
/* Auth */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 10% 0,#dff8ff 0,#f8fbff 33%,#fff 70%)}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}.auth-brand{padding:34px}.auth-logo{width:min(410px,100%);display:block;margin-bottom:26px}.auth-kicker{display:inline-flex;padding:8px 12px;border:1px solid #d7ebff;border-radius:999px;background:#f4fbff;color:var(--blue);font-weight:900;font-size:13px}.auth-brand h1{font-size:52px;line-height:.95;color:var(--navy);margin:18px 0 10px;font-weight:1000}.auth-brand p{font-size:20px;color:#637084;line-height:1.45;margin:0;max-width:430px}.auth-card{background:rgba(255,255,255,.88);backdrop-filter:blur(20px);border:1px solid rgba(216,228,243,.8);border-radius:32px;box-shadow:var(--shadow);padding:28px}.auth-card-head{display:flex;gap:12px;align-items:center;margin-bottom:24px}.auth-card-head strong{display:block;color:var(--navy);font-size:22px}.auth-card-head small{display:block;color:var(--muted);margin-top:3px}.status-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--violet));box-shadow:0 0 0 7px rgba(78,168,232,.12)}.auth-btn{width:100%;margin-top:18px;height:56px}.alert{border-radius:16px;padding:12px 14px;margin-bottom:16px;font-weight:850}.alert.error{background:#fff0f1;color:#b4232a;border:1px solid #ffd2d5}
/* Base controls */
label{display:block;font-weight:900;color:#29304a;margin:14px 0 7px}.input,textarea,select{width:100%;border:1px solid #d9e2ee;background:#fff;border-radius:17px;padding:14px 16px;outline:0;color:var(--ink);box-shadow:0 1px 0 rgba(15,23,42,.02)}.input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(78,168,232,.14)}textarea{min-height:112px;resize:vertical}.btn{border:0;border-radius:18px;padding:13px 18px;font-weight:950;display:inline-flex;justify-content:center;align-items:center;gap:8px;cursor:pointer;transition:.15s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-blue{color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue));box-shadow:0 10px 20px rgba(78,168,232,.22)}.btn-gray{background:#e9eef5;color:#24283a}.btn-green{background:var(--green);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-map{background:#eef7ff;color:#1269a5}.btn-waze{background:#f1efff;color:#4b33b8}
/* Header */
.mobile-topbar{height:66px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;position:sticky;top:0;z-index:10}.mobile-topbar h1{margin:0;color:var(--navy);font-size:19px;font-weight:1000;text-align:center}.top-side{display:flex;align-items:center;gap:10px}.top-side.right{justify-content:flex-end}.brandmark-small{height:28px;width:auto}.icon-btn,.backlink{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:var(--blue);font-size:26px;font-weight:900}.icon-btn:active,.backlink:active{background:#eef7ff}.hero-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;background:linear-gradient(90deg,#eff9ff,#f6f2ff);border-bottom:1px solid var(--line);color:var(--navy)}.hero-strip span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6b7a90;font-weight:900}.hero-strip strong{font-weight:1000}.hero-strip a{color:#6b7a90;font-weight:900;font-size:14px}
/* Planning */
.planning-panel{background:#fff;border-bottom:1px solid var(--line);padding:14px 18px}.quick-date{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.quick-date label{margin:0 0 10px;color:#7a8496}.quick-date .input{max-width:190px;height:50px}.quick-date .btn{height:50px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.mini-stats div{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f9fbff);border-radius:18px;padding:12px 14px}.mini-stats b{display:block;color:var(--navy);font-size:22px}.mini-stats span{display:block;color:var(--muted);font-size:13px;font-weight:800}.section-title{padding:18px 18px 8px;background:#eef5fb;color:var(--blue);font-size:23px;font-weight:1000}.job-list{background:#fff}.job-card{position:relative;display:grid;grid-template-columns:8px 1fr auto;gap:14px;align-items:stretch;padding:17px 14px 17px 0;border-bottom:1px solid var(--line);min-height:112px}.job-card:active{background:#f7fbff}.job-accent{border-radius:0 12px 12px 0;background:transparent}.job-card.is-active .job-accent{background:linear-gradient(180deg,var(--cyan),var(--violet))}.job-card.is-completed .job-accent{background:var(--green)}.job-main{min-width:0;align-self:center}.job-title-row{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.job-card h2{font-size:20px;line-height:1.15;margin:0;color:#181b2b;font-weight:1000}.job-time{font-size:17px;color:#929bab;margin-top:10px}.job-city{font-size:16px;color:#9aa4b2;margin-top:7px}.job-side{display:flex;align-items:center;gap:10px;color:#1e2435;align-self:center}.job-side strong{font-size:19px;font-weight:1000}.job-side span{font-size:36px;color:#9aa4b2}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;background:#edf2f7;color:#475569;white-space:nowrap}.status-badge.completed{background:#dcf9ec;color:#086043}.status-badge.in_progress{background:#e2f5ff;color:#0a6f9c}.status-badge.paused{background:#fff3d8;color:#985d00}.status-badge.cancelled{background:#ffe2e4;color:#a2222c}.empty-state{margin:18px;background:#fff;border:1px dashed #cdd9e8;border-radius:22px;padding:22px;color:#607086}.empty-state b{display:block;color:var(--navy);font-size:19px}.bottom-nav{position:fixed;z-index:20;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow2);display:flex;justify-content:space-around;padding:8px}.bottom-nav a{padding:11px 12px;border-radius:16px;font-weight:950;color:#687386}.bottom-nav a.active{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}
/* Detail */
.detail-wrap{padding:14px;display:grid;gap:14px}.job-hero-card,.notice-card,.timer-card,.notes-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow2);padding:18px}.job-hero-card h2{margin:12px 0 8px;color:var(--navy);font-size:28px;line-height:1.05}.job-hero-card p{margin:0;color:#667386;font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.notice-card{background:#fff8ee;border-color:#ffe1b8;color:#9a5a00}.notice-card strong{display:block;font-size:18px;margin-bottom:5px}.notice-card p{margin:0;line-height:1.4}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.info-grid div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px}.info-grid small,.timer-card small{display:block;color:#7c8798;font-weight:900;margin-bottom:6px}.info-grid b{display:block;color:#1d2234}.timer-card strong{display:block;font-size:42px;color:var(--navy);line-height:1}.timer-card p{margin:8px 0 0;color:#7a8496}.notes-card h3{margin:0 0 12px;color:var(--navy);font-size:22px}.notes-card .btn{margin-top:10px}.note-item{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.note-item p{margin:6px 0;color:#4e5969}.note-item small{color:#8a95a6}.timerbar{position:fixed;left:0;right:0;bottom:0;z-index:22;background:#fff;box-shadow:0 -10px 30px rgba(15,23,42,.12);display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.timerbar button{border:0;border-radius:18px;color:#fff;font-weight:1000;font-size:18px;padding:16px}.timerbar .start{background:linear-gradient(135deg,var(--green),#44d7ab)}.timerbar .pause{background:linear-gradient(135deg,#119bd0,var(--blue))}.timerbar .stop{background:linear-gradient(135deg,var(--red),#ff8185)}
/* Admin/table/forms */
.admin-wrap{padding:14px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.stat{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid var(--line);border-radius:20px;padding:18px}.stat span{color:#7a8496;font-weight:900}.stat strong{display:block;color:var(--navy);font-size:30px;margin-top:5px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff;min-width:760px}.table th,.table td{border-bottom:1px solid var(--line);padding:14px;text-align:left}.table th{color:var(--navy);font-weight:1000}.pill{border-radius:999px;padding:6px 10px;font-weight:950;font-size:13px;background:#edf2f7;display:inline-block}.pill.completed{background:#dcf9ec;color:#086043}.pill.in_progress{background:#e2f5ff;color:#0a6f9c}.pill.paused{background:#fff3d8;color:#985d00}.pill.cancelled{background:#ffe2e4;color:#a2222c}
@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-brand{padding:10px;text-align:center}.auth-logo{width:min(280px,100%);margin:0 auto 14px}.auth-brand h1{font-size:36px}.auth-brand p{font-size:16px;margin:auto}.auth-card{border-radius:26px;padding:22px}.hero-strip{display:none}.mobile-topbar{height:60px}.planning-panel{padding:12px}.quick-date{display:grid;grid-template-columns:1fr auto}.quick-date label{display:none}.quick-date .input{max-width:none}.mini-stats{grid-template-columns:repeat(3,1fr)}.job-card{min-height:104px}.job-card h2{font-size:18px}.job-title-row{display:block}.status-badge{margin-top:8px}.job-time{font-size:16px}.job-city{font-size:15px}.job-side{display:block;text-align:right}.job-side strong{font-size:18px}.job-side span{display:block;line-height:1}.info-grid{grid-template-columns:1fr}.timer-card strong{font-size:36px}.table{font-size:14px}.card{border-radius:20px;margin:10px}.bottom-nav a{font-size:14px;padding:10px}}


/* HOTFIX: force polished layout and prevent oversized logo */
.auth-page{background:linear-gradient(135deg,#eefbff 0%,#f8fbff 45%,#ffffff 100%) !important;min-height:100vh !important;display:flex !important;align-items:center !important;justify-content:center !important;padding:24px !important;}
.auth-shell{width:min(980px,100%) !important;display:grid !important;grid-template-columns:1fr 430px !important;gap:28px !important;align-items:center !important;}
.auth-brand{padding:20px !important;}
.auth-logo{width:360px !important;max-width:100% !important;height:auto !important;display:block !important;margin:0 0 22px 0 !important;}
.auth-card{background:#fff !important;border:1px solid #e5edf6 !important;border-radius:28px !important;box-shadow:0 18px 50px rgba(22,35,90,.12) !important;padding:28px !important;}
.auth-card-head{display:flex !important;align-items:center !important;gap:12px !important;margin-bottom:20px !important;}
.auth-card-head strong{display:block !important;color:#22258b !important;font-size:22px !important;}
.auth-card-head small{display:block !important;color:#8a95a6 !important;margin-top:3px !important;}
.input{width:100% !important;border:1px solid #d9e2ee !important;border-radius:17px !important;padding:14px 16px !important;background:#fff !important;}
.btn{border:0 !important;border-radius:18px !important;padding:13px 18px !important;font-weight:900 !important;}
.btn-blue{background:linear-gradient(135deg,#22258b,#4ea8e8) !important;color:#fff !important;}
.app-page .job-list{max-width:980px !important;margin:0 auto !important;background:transparent !important;padding:0 12px 95px !important;}
.app-page .job-card{background:#fff !important;border:1px solid #e8eef6 !important;border-radius:22px !important;margin:12px 0 !important;box-shadow:0 8px 24px rgba(22,35,90,.06) !important;overflow:hidden !important;padding:16px 14px 16px 0 !important;}
.section-title{max-width:980px !important;margin:0 auto !important;background:transparent !important;padding:18px 14px 6px !important;}
.planning-panel{background:#fff !important;border-bottom:1px solid #e8eef6 !important;}
.mobile-topbar{background:rgba(255,255,255,.96) !important;}
@media(max-width:760px){
  .auth-page{display:block !important;padding:18px !important;}
  .auth-shell{display:block !important;width:100% !important;}
  .auth-brand{text-align:center !important;padding:8px 6px 16px !important;}
  .auth-logo{width:230px !important;margin:0 auto 14px !important;}
  .auth-brand h1{font-size:34px !important;margin:14px 0 8px !important;}
  .auth-brand p{font-size:15px !important;}
  .auth-card{padding:22px !important;border-radius:24px !important;}
}


/* LOGIN VARIANTA B - central, compact, premium */
.auth-page{
  min-height:100vh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
  background:
    radial-gradient(circle at 50% 5%, rgba(69,205,246,.18), transparent 34%),
    linear-gradient(135deg,#eefbff 0%,#f8fbff 48%,#ffffff 100%) !important;
}
.auth-shell{
  width:min(480px,100%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:18px !important;
}
.auth-brand{
  padding:0 !important;
  text-align:center !important;
}
.auth-logo{
  width:250px !important;
  max-width:76% !important;
  height:auto !important;
  display:block !important;
  margin:0 auto 14px !important;
}
.auth-kicker{
  display:inline-flex !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#f4fbff !important;
  border:1px solid #d7ebff !important;
  color:#4ea8e8 !important;
  font-size:12px !important;
  font-weight:950 !important;
}
.auth-brand h1{
  font-size:42px !important;
  line-height:1 !important;
  margin:14px 0 8px !important;
  color:#22258b !important;
  font-weight:1000 !important;
}
.auth-brand p{
  margin:0 auto !important;
  max-width:360px !important;
  color:#637084 !important;
  font-size:17px !important;
  line-height:1.45 !important;
}
.auth-card{
  width:100% !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid #e5edf6 !important;
  border-radius:30px !important;
  box-shadow:0 20px 55px rgba(22,35,90,.13) !important;
  padding:26px !important;
}
.auth-card-head{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-bottom:20px !important;
}
.auth-card-head strong{
  display:block !important;
  color:#22258b !important;
  font-size:22px !important;
  line-height:1.1 !important;
}
.auth-card-head small{
  display:block !important;
  color:#8a95a6 !important;
  margin-top:4px !important;
  font-size:13px !important;
}
.auth-card label{
  font-size:14px !important;
  margin:13px 0 7px !important;
}
.auth-card .input{
  height:54px !important;
  border-radius:17px !important;
  padding:14px 16px !important;
}
.auth-btn{
  width:100% !important;
  height:56px !important;
  margin-top:18px !important;
  border-radius:18px !important;
  font-size:16px !important;
}
@media(max-width:760px){
  .auth-page{padding:18px !important;align-items:flex-start !important;padding-top:36px !important;}
  .auth-shell{width:100% !important;gap:16px !important;}
  .auth-logo{width:215px !important;max-width:72% !important;margin-bottom:12px !important;}
  .auth-brand h1{font-size:34px !important;margin:12px 0 7px !important;}
  .auth-brand p{font-size:15px !important;max-width:300px !important;}
  .auth-card{padding:22px !important;border-radius:26px !important;}
}
