:root{
  --brand:#34b6c8;
  --brand-dark:#0f8fa0;
  --brand-soft:#e7f9fb;
  --orange:#34b6c8;
  --orange-dark:#0f8fa0;
  --side:#121314;
  --side-2:#1d1f20;
  --ink:#171717;
  --muted:#72777d;
  --line:#e8ecef;
  --bg:#f4f5f6;
  --card:#fff;
  --danger:#e03131;
  --ok:#16854b;
  --radius:28px;
  --shadow:0 18px 55px rgba(12,18,22,.075);
}
*{box-sizing:border-box}
html{height:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:650}
body:before{content:"";position:fixed;left:0;right:0;top:0;height:240px;background:linear-gradient(180deg,#fff,rgba(255,255,255,0));pointer-events:none;z-index:-1}
.muted{color:var(--muted)!important}.fw-black{font-weight:950}.app-shell{max-width:1320px}.main{min-height:100vh;padding:106px 32px 32px 312px}.container.app-shell{max-width:1320px}
.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:282px;background:var(--side);color:#fff;z-index:60;display:flex;flex-direction:column;padding:22px 16px;box-shadow:16px 0 45px rgba(0,0,0,.08)}
.side-brand{display:flex;align-items:center;padding:0 18px 26px;text-decoration:none}.side-brand img{height:58px;max-width:190px;object-fit:contain}.side-section{margin:8px 8px 10px;padding:0 8px;color:#7f8589;text-transform:uppercase;font-size:.72rem;font-weight:950;letter-spacing:.17em}.side-nav{display:grid;gap:8px;margin-bottom:22px}.side-nav a{display:flex;align-items:center;gap:14px;min-height:50px;border-radius:16px;padding:0 16px;color:#d7dadd;text-decoration:none;font-weight:900;transition:.16s;background:transparent}.side-nav a i{width:22px;text-align:center;font-size:1.1rem;color:#c5c9cc}.side-nav a:hover{background:#202224;color:#fff}.side-nav a.active{background:#2d2f31;color:#fff;box-shadow:inset 4px 0 0 var(--brand)}.side-nav a.active i{color:#fff}.side-footer{margin-top:auto;display:grid;gap:10px}.safe-pill{display:flex;align-items:center;gap:10px;border:1px solid rgba(86,190,128,.28);background:rgba(30,140,77,.17);color:#dbf8e7;border-radius:999px;padding:12px 14px;font-size:.86rem;font-weight:900}.version-pill{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#dfe3e7;background:#202224;border:1px solid #333638;border-radius:16px;padding:13px 14px;font-weight:900}.version-pill i{color:var(--orange)}
.app-topbar{position:fixed;left:282px;right:0;top:0;height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid rgba(231,235,238,.78);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:18px}.top-title h1{font-size:1.35rem;line-height:1.05;margin:0;font-weight:950;letter-spacing:-.035em}.top-title p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem;font-weight:800}.top-user{display:flex;align-items:center;gap:10px}.btn-icon{width:46px;height:46px;border-radius:17px;border:1px solid var(--line);background:#fff;display:inline-grid;place-items:center;color:#222;box-shadow:0 6px 18px rgba(18,24,28,.035)}.btn-icon:hover{background:#f8fafb;border-color:#dbe2e6}.logout-icon{color:#db3c36;text-decoration:none}.top-profile{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.profile-name{text-align:right;line-height:1.1}.profile-name strong{display:block;font-size:.96rem;font-weight:950}.profile-name small{display:block;color:#6c737a;font-size:.76rem;font-weight:850}.avatar{width:43px;height:43px;border-radius:16px;object-fit:cover;background:#f3f8f9;display:grid;place-items:center;color:var(--brand-dark);font-weight:950;border:1px solid rgba(54,174,190,.26);overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%;object-fit:cover}.mobile-canvas{background:#f5f6f7}.mobile-head{background:var(--side);border:0}.mobile-head img{height:46px}.mobile-menu{display:grid;gap:10px}.mobile-menu a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}.mobile-menu a i{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(52,182,200,.10);color:var(--brand-dark)}
.app-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.section-title{font-weight:950;letter-spacing:-.045em}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.head-left{display:flex;align-items:center;gap:14px}.head-icon{width:50px;height:50px;border-radius:18px;background:rgba(52,182,200,.10);color:var(--brand-dark);display:grid;place-items:center;font-size:1.35rem;flex:0 0 auto}.head-title h2,.head-title h1{font-size:1.28rem;line-height:1.12;margin:0;font-weight:950;letter-spacing:-.03em}.head-title p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.mini-actions{display:flex;gap:8px}.mini-actions .btn-icon{width:40px;height:40px;border-radius:14px}.btn{font-weight:900;border-radius:15px}.btn-brand{background:var(--orange);border-color:var(--orange);color:#fff}.btn-brand:hover,.btn-brand:focus{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff}.btn-dark-soft{background:#151515;border-color:#151515;color:#fff}.btn-dark-soft:hover{background:#000;color:#fff}.btn-soft{background:#f6f8f9;border:1px solid var(--line);color:var(--ink)}.btn-soft:hover{background:#fff;color:var(--ink)}.btn-danger-soft{background:#fff1f2;border:1px solid #ffd8de;color:#b42335}.btn-danger-soft:hover{background:#ffe4e8;color:#9f1239}.form-control,.form-select{border-radius:15px;border-color:var(--line);padding:12px 14px;background:#fff;font-weight:750}.form-control:focus,.form-select:focus{border-color:var(--orange);box-shadow:0 0 0 .24rem rgba(52,182,200,.14)}.form-label{font-size:.84rem;color:#2c2a28}.app-alert{border-radius:18px;border:0}.table{vertical-align:middle}.table thead th{font-size:.72rem;text-transform:uppercase;color:#687078;letter-spacing:.055em;border-bottom-color:var(--line);font-weight:950}.table td{border-color:#edf1f3}.badge-role{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:950;background:#f1f5f9;color:#334155}.badge-role.admin{background:#111;color:#fff}.badge-role.pracownik{background:#fff4e8;color:#a64e00}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(52,182,200,.10),transparent 32%),linear-gradient(180deg,#fff,#f2f4f5)}.login-card{width:min(100%,455px);border-radius:30px}.login-logo-box{background:#fff;border-radius:24px;padding:24px;margin-bottom:24px;text-align:center}.login-logo{width:250px;max-width:86%;display:block;margin:0 auto}.small-link{color:var(--orange-dark);font-weight:900;text-decoration:none}.small-link:hover{text-decoration:underline}
.hero{padding:0}.hero-banner{overflow:hidden;position:relative}.hero-banner:after{content:"";position:absolute;right:-110px;top:-135px;width:330px;height:330px;border-radius:50%;background:rgba(52,182,200,.10)}.hero h1,.page-hero h1{font-size:clamp(1.9rem,4vw,3.1rem);font-weight:950;letter-spacing:-.06em}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tile{position:relative;display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);padding:20px;border:1px solid var(--line);background:#fff;border-radius:24px;box-shadow:0 12px 28px rgba(23,31,35,.055);transition:.16s;overflow:hidden;min-height:116px}.tile:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(23,31,35,.10);color:var(--ink)}.tile:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;background:var(--orange);border-radius:0 8px 8px 0}.tile i{width:56px;height:56px;border-radius:18px;background:rgba(52,182,200,.10);color:var(--brand-dark);display:grid;place-items:center;font-size:1.65rem;flex:0 0 56px}.tile strong{display:block;font-size:1.08rem;line-height:1.15}.tile span{display:block;color:var(--muted);font-size:.88rem;margin-top:4px}.tile.logout-tile i{background:#f3f4f6;color:#111}.tile.logout-tile:before{background:#111}.profile-strip{display:flex;align-items:center;gap:14px}.profile-strip .avatar{width:58px;height:58px;border-radius:20px;font-size:1.25rem}.status-badge{border-radius:999px;padding:7px 11px;font-weight:950;font-size:.78rem;display:inline-flex;align-items:center;gap:7px}.badge-started{background:#eafaf0;color:var(--ok)}.badge-stopped{background:#eef1f4;color:#4a5158}.work-panel{display:grid;grid-template-columns:1fr 390px;gap:18px}.work-timer{font-size:clamp(2.8rem,10vw,5rem);font-weight:950;letter-spacing:-.075em;line-height:1}.work-actions{background:#f8fafb;border:1px solid var(--line);border-radius:24px;padding:18px}.note-min{min-height:118px}.history-list{display:grid;gap:10px}.history-item{display:grid;grid-template-columns:125px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff;border-left:5px solid var(--orange)}.history-time{font-weight:950}.history-note{color:var(--muted);font-size:.9rem}.bottom-mobile{position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:45}.bottom-mobile .btn{border-radius:17px;padding:14px}.photo-preview{width:76px;height:76px;border-radius:18px;object-fit:cover;background:#f3f6f7;border:1px solid var(--line)}.modal-content{border:0;border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.16)}.modal-header{border-bottom:1px solid var(--line)}.modal-footer{border-top:1px solid var(--line)}
@media(max-width:1199px){.app-sidebar{display:none}.app-topbar{left:0}.main{padding-left:22px;padding-right:22px}.top-title h1{font-size:1.2rem}.top-title p{display:none}}
@media(max-width:991px){.work-panel{grid-template-columns:1fr}.admin-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-profile .profile-name{display:none}.app-topbar{height:72px;padding:0 14px}.main{padding-top:92px}.app-card{border-radius:24px}}
@media(max-width:767px){.main{padding:88px 12px 84px}.quick-grid,.admin-grid{grid-template-columns:1fr}.tile{padding:17px;min-height:96px}.history-item{grid-template-columns:1fr}.history-item .text-end{text-align:left!important}.profile-strip .avatar{width:52px;height:52px}.login-logo{width:220px}.work-actions{padding:14px}.card-head{align-items:flex-start}.head-title h2,.head-title h1{font-size:1.12rem}.top-title{min-width:0}.top-title h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-icon{width:43px;height:43px;border-radius:15px}}


.side-brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px 18px}.side-brand{padding:0 8px}.side-collapse{width:38px;height:38px;border:1px solid #303335;background:#1d1f21;color:#fff;border-radius:14px;display:grid;place-items:center;transition:.16s}.side-collapse:hover{background:#2b2d30}.side-user-card{display:flex;align-items:center;gap:12px;margin:0 8px 18px;padding:12px;border:1px solid #2b2d30;background:linear-gradient(135deg,#202224,#151617);border-radius:20px}.side-user-card .avatar{width:46px;height:46px;border-radius:16px}.side-user-text{min-width:0;line-height:1.12}.side-user-text strong{display:block;color:#fff;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user-text span{display:block;color:#90979d;font-size:.78rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.side-group{border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.025);border-radius:22px;margin:0 0 14px;padding:8px}.side-group-title{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#858b90;text-transform:uppercase;font-size:.69rem;font-weight:950;letter-spacing:.15em;padding:8px 10px 10px}.side-group .side-nav{margin-bottom:0}.side-nav a{position:relative}.side-nav a.active:after{content:"";position:absolute;right:12px;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(52,182,200,.16)}body.sidebar-collapsed .app-sidebar{width:92px}body.sidebar-collapsed .app-topbar{left:92px}body.sidebar-collapsed .main{padding-left:122px}body.sidebar-collapsed .side-brand img{width:48px;height:48px;object-fit:cover;object-position:left}body.sidebar-collapsed .side-brand{width:52px;overflow:hidden;padding:0}body.sidebar-collapsed .side-brand-row{justify-content:center;padding-left:0;padding-right:0}body.sidebar-collapsed .side-collapse{position:absolute;right:-18px;top:430px;background:#fff;color:#111;border-color:var(--line);box-shadow:0 12px 28px rgba(0,0,0,.14)}body.sidebar-collapsed .side-collapse i{transform:rotate(180deg)}body.sidebar-collapsed .side-user-text,body.sidebar-collapsed .side-group-title span,body.sidebar-collapsed .side-group-title i,body.sidebar-collapsed .side-nav a span,body.sidebar-collapsed .safe-pill span,body.sidebar-collapsed .version-pill span{display:none}body.sidebar-collapsed .side-user-card{justify-content:center;padding:9px;margin-left:0;margin-right:0;background:transparent;border-color:transparent}body.sidebar-collapsed .side-group{padding:7px;margin-left:0;margin-right:0;border-color:transparent;background:transparent}body.sidebar-collapsed .side-nav a{justify-content:center;padding:0;min-height:52px}body.sidebar-collapsed .side-nav a i{width:auto;font-size:1.22rem}body.sidebar-collapsed .side-footer .safe-pill,body.sidebar-collapsed .side-footer .version-pill{justify-content:center;padding:12px}.work-hero{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.work-layout-v5{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px}.work-clock-card{min-height:285px;display:flex;flex-direction:column;justify-content:center}.work-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.work-meta-grid>div{background:#f8fafb;border:1px solid var(--line);border-radius:18px;padding:12px}.work-meta-grid span{display:block;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.work-meta-grid strong{display:block;font-size:1rem;font-weight:950;margin-top:2px}.action-stack{display:grid;gap:14px}.work-action-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:26px;box-shadow:var(--shadow);padding:18px;display:flex;align-items:center;gap:14px;text-align:left;color:var(--ink);transition:.16s}.work-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(23,31,35,.12)}.work-action-card i{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:1.7rem;flex:0 0 auto}.work-action-card strong{display:block;font-size:1.1rem;font-weight:950;letter-spacing:-.025em}.work-action-card small{display:block;color:var(--muted);font-weight:800;line-height:1.3;margin-top:4px}.work-action-card.start i,.work-action-card.lap i{background:rgba(52,182,200,.10);color:var(--brand-dark)}.work-action-card.stop i{background:#151515;color:#fff}.lap-list{display:grid;gap:9px}.lap-row{display:grid;grid-template-columns:145px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:16px;padding:10px 12px}.lap-list.mini .lap-row{padding:9px 10px;border-radius:14px}.lap-time{font-weight:950;color:#111;background:#f4f6f7;border-radius:999px;padding:5px 9px;text-align:center;font-size:.82rem}.history-item.v5{grid-template-columns:130px minmax(0,1fr) 90px;align-items:start}.history-item.v5 .history-note{font-size:.92rem;color:var(--ink)}.mobile-work-bar.two{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.fw-black{font-weight:950}
@media(max-width:1199px){body.sidebar-collapsed .app-topbar{left:0}body.sidebar-collapsed .main{padding-left:22px}}
@media(max-width:991px){.work-layout-v5{grid-template-columns:1fr}.action-stack{grid-template-columns:1fr 1fr}.work-action-card.start{grid-column:1/-1}.work-meta-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:767px){.work-hero{border-radius:24px;padding:16px;align-items:flex-start;flex-direction:column}.action-stack{grid-template-columns:1fr}.work-meta-grid{grid-template-columns:1fr}.lap-row{grid-template-columns:1fr;gap:7px}.lap-time{text-align:left;width:max-content}.history-item.v5{grid-template-columns:1fr}.work-clock-card{min-height:auto}.work-action-card{border-radius:22px;padding:15px}.work-action-card i{width:50px;height:50px;border-radius:18px}.work-action-card strong{font-size:1rem}}



:root{
  --brand:#34b6c8;
  --brand-dark:#0f8fa0;
  --brand-soft:#e7f9fb;
  --accent:#34b6c8;
  --accent-dark:#0f8fa0;
  --accent-soft:#e7f9fb;
  --orange:#34b6c8;
  --orange-dark:#0f8fa0;
  --side:#0b1113;
  --side-2:#121c1f;
  --ink:#101416;
  --muted:#69747a;
  --line:#e3ebee;
  --bg:#f3f7f8;
  --shadow:0 18px 55px rgba(5,20,25,.08);
}
body{background:
  radial-gradient(circle at 88% -10%,rgba(52,182,200,.16),transparent 32%),
  linear-gradient(180deg,#ffffff 0,#f3f7f8 280px,#f3f7f8 100%);
  color:var(--ink);
}
body:before{height:260px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,0));}
.app-sidebar{
  background:linear-gradient(180deg,#080c0d 0%,#0b1113 55%,#10191c 100%);
  border-right:1px solid rgba(52,182,200,.12);
  box-shadow:18px 0 50px rgba(7,18,22,.18);
}
.side-brand-row{margin-bottom:6px}.side-brand{padding:2px 14px 18px}.side-brand img{height:62px;filter:drop-shadow(0 10px 22px rgba(52,182,200,.12));}
.side-user-card{
  background:linear-gradient(135deg,rgba(52,182,200,.17),rgba(255,255,255,.035));
  border:1px solid rgba(52,182,200,.20);
  border-radius:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 36px rgba(0,0,0,.12);
}
.side-user-card .avatar{background:#0f272d;border-color:rgba(52,182,200,.34);color:#e9fbfd;}
.side-group-title{color:#7f969d}.side-group-title:hover{color:#e9fbfd}.side-nav a{color:#c8d2d5}.side-nav a i{color:#9fb2b8}.side-nav a:hover{background:rgba(52,182,200,.10);color:#fff}.side-nav a.active{background:linear-gradient(90deg,rgba(52,182,200,.20),rgba(52,182,200,.055));box-shadow:inset 4px 0 0 var(--accent);color:#fff}.side-nav a.active i{color:#8ce6f2}.safe-pill{background:rgba(52,182,200,.12);border-color:rgba(52,182,200,.22);color:#dffbff}.version-pill{background:#121b1e;border-color:rgba(52,182,200,.16)}.version-pill i{color:var(--accent)}
.app-topbar{background:rgba(255,255,255,.90);border-bottom:1px solid rgba(216,230,235,.82);box-shadow:0 8px 24px rgba(9,25,31,.035)}
.btn-icon:hover{border-color:rgba(52,182,200,.28);background:#f5fcfd;color:var(--accent-dark)}
.avatar{background:#e8fbfd;color:var(--accent-dark);border-color:rgba(52,182,200,.30)}
.app-card{border-color:rgba(216,230,235,.92);box-shadow:0 20px 54px rgba(8,25,31,.075)}
.head-icon,.tile i{background:linear-gradient(135deg,rgba(52,182,200,.14),rgba(52,182,200,.055));color:var(--accent-dark)}
.tile:before,.history-item,.lap-row{border-left-color:var(--accent)}
.tile:before{background:var(--accent)}
.tile:hover{border-color:rgba(52,182,200,.28);box-shadow:0 22px 46px rgba(7,27,33,.12)}
.btn-brand{background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-color:var(--accent);color:#fff;box-shadow:0 12px 28px rgba(52,182,200,.23)}
.btn-brand:hover,.btn-brand:focus{background:linear-gradient(135deg,var(--accent-dark),#0a707d);border-color:var(--accent-dark);color:#fff;box-shadow:0 14px 32px rgba(52,182,200,.30)}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .24rem rgba(52,182,200,.16)}
.small-link{color:var(--accent-dark)}
.login-wrap{background:radial-gradient(circle at 80% 8%,rgba(52,182,200,.22),transparent 36%),linear-gradient(180deg,#ffffff,#f1f7f8)}
.login-logo-box{background:linear-gradient(145deg,#070b0c,#111d20);border:1px solid rgba(52,182,200,.16)}
.hero-banner:after{background:rgba(52,182,200,.11)}
.badge-role.pracownik{background:var(--accent-soft);color:var(--accent-dark)}
.work-hero{
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(231,249,251,.78));
  border:1px solid rgba(52,182,200,.18);
}
.work-clock-card{background:linear-gradient(180deg,#fff,#f8fdfe)}
.work-action-card.start i,.work-action-card.lap i{background:rgba(52,182,200,.13);color:var(--accent-dark)}
.work-action-card.stop i{background:linear-gradient(135deg,#0a1113,#172326);color:#fff}
.lap-time{background:#eefbfc;color:#0b7f8e}.history-time{color:#0b7f8e}.mobile-head{background:#071012}.mobile-menu a i{background:rgba(52,182,200,.12);color:var(--accent-dark)}
.bottom-mobile .btn-brand{background:linear-gradient(135deg,var(--accent),var(--accent-dark));}
@media(max-width:1199px){.app-topbar{background:rgba(255,255,255,.95)}}


html{font-size:14px}
body{font-weight:560;background:#f3f5f6;color:#121619}
.main{padding-top:92px}
.app-sidebar{background:linear-gradient(180deg,#11181c,#0d1114);padding:18px 14px}
.side-brand{background:#fff;border-radius:22px;padding:12px 14px;margin:0 6px 16px;justify-content:center}
.side-brand img{height:46px;max-width:180px}
.side-brand-row{display:flex;align-items:center;gap:8px}
.side-brand-row .side-brand{flex:1}
.side-collapse{width:38px;height:38px;border:0;border-radius:14px;background:#1d272c;color:#d9eef2}
.side-user-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:12px;margin:0 4px 16px;display:flex;gap:10px;align-items:center}
.side-user-text strong{font-size:.9rem}
.side-user-text span{font-size:.74rem;color:#aeb8bd}
.side-group-title{width:100%;border:0;background:transparent;color:#94a3aa;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:900;padding:11px 10px 7px;display:flex;justify-content:space-between}
.side-nav{gap:5px;margin-bottom:8px}
.side-nav a{min-height:43px;border-radius:14px;padding:0 12px;font-size:.88rem;font-weight:780;color:#d9e1e5}
.side-nav a.active{background:rgba(52,182,200,.15);box-shadow:inset 3px 0 0 var(--brand);color:#fff}
.side-footer{gap:8px}
.safe-pill,.version-pill{font-size:.78rem;padding:10px 12px}
.app-topbar{height:68px;background:rgba(255,255,255,.94)}
.top-title h1{font-size:1.13rem}
.top-title p{font-size:.78rem}
.profile-name strong{font-size:.84rem}
.profile-name small{font-size:.68rem}
.btn-icon{width:40px;height:40px;border-radius:14px}
.app-card{border-radius:22px;box-shadow:0 14px 36px rgba(11,20,24,.065)}
.login-wrap{background:radial-gradient(circle at top right,rgba(52,182,200,.12),transparent 32%),linear-gradient(180deg,#fff,#eff3f4)}
.login-card{width:min(100%,420px);border-radius:24px}
.login-logo-box{background:#fff!important;border:1px solid var(--line);box-shadow:0 12px 28px rgba(9,18,22,.06);border-radius:20px;padding:16px;margin-bottom:18px}
.login-logo{width:220px}
.login-card h1{font-size:1.4rem}
.form-label{font-size:.78rem}
.form-control,.form-select{border-radius:13px;padding:10px 12px;font-size:.92rem;font-weight:620}
.btn{border-radius:13px;font-size:.9rem}
.btn-lg{padding:.72rem 1rem;font-size:.95rem}
.work-main-card{overflow:hidden}
.work-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.profile-strip{display:flex;align-items:center;gap:12px}
.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-dark);font-weight:950}
.work-topline h1{font-size:1.45rem;line-height:1.05;margin:0;font-weight:950;letter-spacing:-.04em}
.work-topline p{margin:.2rem 0 0;color:var(--muted);font-size:.84rem}
.work-focus{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:stretch}
.work-timer{font-size:clamp(2.4rem,7vw,5rem);line-height:.95;font-weight:950;letter-spacing:-.075em;color:#0d1417}
.work-meta-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.work-meta-inline span{background:#f6f8f9;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:.8rem;color:#64717a}
.work-meta-inline b{color:#172026}
.work-actions{display:grid;gap:10px;align-content:center}
.simple-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.simple-head h2{font-size:1.08rem;margin:0;font-weight:950;letter-spacing:-.03em}
.simple-head p{margin:.2rem 0 0;color:var(--muted);font-size:.8rem}
.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 11px;font-weight:900;font-size:.78rem;border:1px solid transparent}
.badge-started{background:#e9fbf5;color:#0c774a;border-color:#b9f1d8}
.badge-stopped{background:#f1f5f7;color:#60707a;border-color:#e1e8ec}
.lap-list{display:grid;gap:8px}
.lap-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:16px;font-size:.88rem}
.lap-row.task{border-left:4px solid var(--brand)}
.lap-row.location{background:#f4fbfc}
.lap-time{font-weight:950;color:#263137}
.note-map{display:inline-flex;align-items:center;gap:4px;margin-left:6px;text-decoration:none;color:var(--brand-dark);font-weight:900}
.history-item.v7{display:grid;grid-template-columns:150px 1fr 90px;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}
.history-item:first-child{border-top:0}
.history-time{font-weight:950;background:#eefafa;color:#0f7f8f;border-radius:999px;padding:7px 10px;display:inline-flex;font-size:.8rem}
.gps-status{background:#f7fafb;border:1px dashed #d7e2e7;border-radius:14px;padding:10px 12px;font-size:.82rem}
.modal-content{border:0;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.18)}
.modal-title{font-size:1.05rem}
.mobile-menu a{font-size:.88rem}
.mobile-menu a i{background:rgba(52,182,200,.10);color:var(--brand-dark)}
@media(max-width:1199px){
  .main{padding:84px 16px 24px}
  .app-topbar{left:0;padding:0 16px}
  .app-sidebar{display:none}
}
@media(max-width:768px){
  html{font-size:13px}
  .work-topline{align-items:flex-start}
  .work-focus{grid-template-columns:1fr}
  .work-actions{grid-template-columns:1fr 1fr}
  .work-actions .btn:first-child:last-child{grid-column:1/-1}
  .history-item.v7{grid-template-columns:1fr;gap:8px}
  .lap-row{grid-template-columns:1fr}
  .top-title p,.profile-name{display:none}
  .login-card{border-radius:20px}
}
@media(min-width:1200px){
  body.sidebar-collapsed .app-sidebar{width:88px}
  body.sidebar-collapsed .main{padding-left:118px}
  body.sidebar-collapsed .app-topbar{left:88px}
  body.sidebar-collapsed .side-user-text,
  body.sidebar-collapsed .side-group-title span,
  body.sidebar-collapsed .side-nav a span,
  body.sidebar-collapsed .side-footer span{display:none}
  body.sidebar-collapsed .side-brand{padding:10px}
  body.sidebar-collapsed .side-brand img{max-width:48px;object-fit:contain}
  body.sidebar-collapsed .side-nav a{justify-content:center;padding:0}
}


:root{
  --brand:#28a9bb;
  --brand-dark:#137e8d;
  --brand-soft:#edfafd;
  --side:#eef3f5;
  --side-2:#ffffff;
  --ink:#172026;
  --muted:#69757d;
  --line:#e3ebef;
  --bg:#f5f7f8;
  --card:#ffffff;
  --radius:20px;
  --shadow:0 10px 28px rgba(13,28,34,.055);
}
html{font-size:13.5px}
body{background:var(--bg);font-weight:520;color:var(--ink)}
body:before{height:160px;background:linear-gradient(180deg,#ffffff,rgba(255,255,255,0))}
.main{min-height:100vh;padding:82px 22px 24px 258px}
.container.app-shell{max-width:1240px}
.app-sidebar{
  width:238px;
  background:var(--side);
  color:var(--ink);
  border-right:1px solid var(--line);
  box-shadow:8px 0 24px rgba(16,31,37,.035);
  padding:14px 12px;
}
.side-brand-row{gap:8px;margin-bottom:12px}
.side-brand{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px 12px;
  margin:0;
  justify-content:center;
  box-shadow:0 8px 18px rgba(10,26,31,.045);
}
.side-brand img{height:42px;max-width:155px}
.side-collapse{
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:#3d4a51;
}
.side-user-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  padding:10px;
  margin:0 0 12px;
  color:var(--ink);
  box-shadow:0 6px 15px rgba(10,26,31,.035);
}
.side-user-text strong{font-size:.86rem;color:var(--ink)}
.side-user-text span{font-size:.72rem;color:var(--muted)}
.side-group{margin-bottom:8px}
.side-group-title{
  color:#7c8a92;
  font-size:.63rem;
  padding:9px 8px 6px;
}
.side-nav{gap:4px;margin-bottom:6px}
.side-nav a{
  min-height:39px;
  border-radius:13px;
  padding:0 11px;
  color:#34444c;
  font-size:.84rem;
  font-weight:760;
}
.side-nav a i{color:#5f737c;font-size:1rem}
.side-nav a:hover{background:#fff;color:#152229}
.side-nav a.active{
  background:#fff;
  color:#0f6570;
  box-shadow:inset 3px 0 0 var(--brand),0 6px 16px rgba(10,26,31,.04);
}
.side-nav a.active i{color:var(--brand-dark)}
.safe-pill{
  background:#fff;
  border:1px solid #d7ece4;
  color:#26724d;
  border-radius:14px;
  font-size:.74rem;
  padding:9px 10px;
}
.version-pill{
  background:#fff;
  border:1px solid var(--line);
  color:#34444c;
  border-radius:14px;
  font-size:.76rem;
  padding:10px;
}
.version-pill i{color:var(--brand-dark)}
.app-topbar{
  left:238px;
  height:64px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  padding:0 22px;
}
.top-title h1{font-size:1.05rem}
.top-title p{font-size:.74rem}
.avatar{
  width:38px;
  height:38px;
  border-radius:13px;
  background:#edfafd;
  border:1px solid #cceef4;
  color:var(--brand-dark);
}
.btn-icon{
  width:38px;
  height:38px;
  border-radius:13px;
}
.app-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.page-panel-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.filter-row{
  display:grid;
  grid-template-columns:180px 180px 140px;
  gap:8px;
}
.section-title{font-size:1.45rem}
.card-head{margin-bottom:12px}
.head-icon{
  width:42px;
  height:42px;
  border-radius:15px;
}
.head-title h2,.head-title h1{font-size:1.08rem}
.head-title p{font-size:.78rem}
.form-control,.form-select{
  border-radius:12px;
  padding:9px 11px;
  font-size:.88rem;
  font-weight:560;
}
.form-label{font-size:.74rem;margin-bottom:.3rem}
.btn{
  border-radius:12px;
  font-size:.85rem;
  font-weight:800;
}
.btn-lg{padding:.66rem .95rem;font-size:.9rem}
.login-card{width:min(100%,390px)}
.login-logo-box{
  background:#fff!important;
  border:1px solid var(--line);
  box-shadow:none;
  border-radius:18px;
  padding:14px;
}
.login-logo{width:205px}
.work-main-card{border-radius:22px}
.work-topline{margin-bottom:14px}
.work-topline h1{font-size:1.25rem}
.work-topline p{font-size:.78rem}
.eyebrow{font-size:.62rem;color:var(--brand-dark)}
.work-focus{
  grid-template-columns:minmax(0,1fr) 240px;
  gap:14px;
}
.work-timer{font-size:clamp(2.3rem,6vw,4.4rem)}
.work-meta-inline{gap:7px;margin-top:10px}
.work-meta-inline span{
  padding:7px 9px;
  font-size:.75rem;
  border-radius:12px;
  background:#f8fafb;
}
.work-actions{gap:8px}
.simple-head{margin-bottom:10px}
.simple-head h2{font-size:1rem}
.simple-head p{font-size:.76rem}
.status-badge{padding:7px 10px;font-size:.72rem}
.lap-row{
  grid-template-columns:108px minmax(0,1fr);
  padding:9px 10px;
  border-radius:14px;
  font-size:.82rem;
}
.lap-time{font-size:.78rem}
.day-notes{
  background:#f8fafb;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px 12px;
  color:#52616a;
  font-size:.82rem;
}
.history-item.v8{
  display:grid;
  grid-template-columns:145px minmax(0,1fr) 84px;
  gap:12px;
  align-items:flex-start;
  padding:13px 0;
  border-top:1px solid var(--line);
}
.history-list .history-item:first-child{border-top:0}
.history-time{
  font-size:.76rem;
  padding:6px 9px;
  background:#edfafd;
  color:#0f6570;
  border-radius:999px;
  white-space:nowrap;
}
.note-map{
  color:var(--brand-dark);
  font-weight:850;
  text-decoration:none;
}
.gps-status{
  border-radius:12px;
  padding:9px 10px;
  background:#f8fbfc;
  font-size:.78rem;
}
.modal-content.simple-modal,.modal-content{
  border-radius:18px;
  border:1px solid var(--line);
  box-shadow:0 20px 60px rgba(12,25,31,.16);
}
.modal-header,.modal-footer{
  padding:14px 16px;
}
.modal-body{padding:16px}
.modal-title{font-size:1rem}
.clean-table thead th{
  background:#f8fafb;
  font-size:.66rem;
  padding:10px;
}
.clean-table td{
  padding:10px;
  font-size:.82rem;
}
.person-mini{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:180px;
}
.admin-segments{
  display:grid;
  gap:4px;
  min-width:240px;
}
.admin-segments div{
  background:#f8fafb;
  border:1px solid var(--line);
  border-radius:10px;
  padding:6px 8px;
}
.mobile-canvas{background:#f7f9fa}
.mobile-head{background:#fff;border-bottom:1px solid var(--line)}
.mobile-head img{height:42px}
.mobile-menu a{
  border-radius:14px;
  font-size:.84rem;
  padding:12px;
}
.mobile-menu a i{
  width:32px;
  height:32px;
  border-radius:10px;
}
.bottom-mobile{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  padding:10px;
  background:rgba(255,255,255,.94);
  border-top:1px solid var(--line);
  z-index:40;
}
.mobile-work-bar.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
@media(max-width:1199px){
  .main{
    padding:78px 14px 78px;
  }
  .app-topbar{
    left:0;
    padding:0 14px;
  }
  .app-sidebar{display:none}
}
@media(max-width:768px){
  html{font-size:13px}
  .page-panel-row{display:grid}
  .filter-row{grid-template-columns:1fr}
  .work-topline{
    display:grid;
    gap:10px;
  }
  .work-focus{grid-template-columns:1fr}
  .work-actions{grid-template-columns:1fr 1fr}
  .work-actions .btn:first-child:last-child{grid-column:1/-1}
  .history-item.v8{grid-template-columns:1fr;gap:8px}
  .lap-row{grid-template-columns:1fr}
  .top-title p,.profile-name{display:none}
}
@media(min-width:1200px){
  body.sidebar-collapsed .app-sidebar{width:78px}
  body.sidebar-collapsed .main{padding-left:102px}
  body.sidebar-collapsed .app-topbar{left:78px}
  body.sidebar-collapsed .side-user-text,
  body.sidebar-collapsed .side-group-title span,
  body.sidebar-collapsed .side-nav a span,
  body.sidebar-collapsed .side-footer span{display:none}
  body.sidebar-collapsed .side-brand{padding:8px}
  body.sidebar-collapsed .side-brand img{max-width:42px}
  body.sidebar-collapsed .side-nav a{justify-content:center;padding:0}
}


.app-sidebar{
  overflow:visible;
}
.side-collapse{
  position:absolute;
  left:100%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:80;
  width:34px;
  height:68px;
  border-radius:0 18px 18px 0;
  box-shadow:8px 0 18px rgba(12,28,34,.08);
}
.side-collapse i{
  display:block;
  transition:.15s;
}
.side-nav a{
  display:flex;
  align-items:center;
  gap:11px;
}
.side-nav a i{
  flex:0 0 22px;
  width:22px;
  min-width:22px;
  text-align:center;
}
body.sidebar-collapsed .side-collapse i{
  transform:rotate(180deg);
}
body.sidebar-collapsed .side-collapse{
  left:100%;
  transform:translate(-50%,-50%);
}
body.sidebar-collapsed .side-nav a i{
  flex:0 0 24px;
  width:24px;
  min-width:24px;
  font-size:1.05rem;
}
body.sidebar-collapsed .side-nav a{
  min-width:48px;
}
body.sidebar-collapsed .side-brand{
  width:52px;
  min-width:52px;
  height:52px;
  overflow:hidden;
  margin-left:auto;
  margin-right:auto;
}
body.sidebar-collapsed .side-brand img{
  width:42px;
  min-width:42px;
  height:42px;
  object-fit:contain;
}
.work-main-card{
  background:linear-gradient(135deg,#ffffff,#f8fcfd);
  border-color:#dbe9ee;
}
.work-focus{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
}
.work-actions .btn{
  min-height:46px;
}
.lap-row{
  background:linear-gradient(180deg,#ffffff,#fbfdfe);
}
.map-preview{
  width:100%;
  min-height:174px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f7fafb;
  overflow:hidden;
  position:relative;
}
.map-preview iframe{
  width:100%;
  height:210px;
  border:0;
  display:block;
}
.map-empty{
  min-height:174px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:8px;
  color:#7c8a92;
  padding:18px;
}
.map-empty i{
  font-size:1.8rem;
  color:var(--brand-dark);
}
.map-empty span{
  display:block;
  max-width:230px;
  font-size:.82rem;
}
.map-caption{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border:1px solid rgba(219,233,238,.85);
  font-size:.78rem;
  font-weight:850;
  color:#233039;
}
.address-box{
  display:grid;
  grid-template-columns:1fr 42px;
  gap:7px;
}
.hint-text{
  margin-top:6px;
  font-size:.74rem;
  color:#74838b;
}
.simple-modal .modal-body{
  max-height:min(74vh,680px);
  overflow:auto;
}
.page-panel{
  background:linear-gradient(135deg,#ffffff,#f8fcfd);
}
.tile{
  border-radius:19px;
  min-height:98px;
}
.tile i{
  flex:0 0 46px;
  width:46px;
  height:46px;
}
.quick-grid,.admin-grid{
  gap:14px;
}
.mobile-canvas .btn-close{
  filter:none;
}
@media(max-width:1199px){
  .side-collapse{display:none}
}
@media(max-width:768px){
  .main{
    padding-left:12px;
    padding-right:12px;
  }
  .work-main-card{
    padding:12px!important;
  }
  .work-focus{
    padding:11px;
  }
  .work-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .work-actions .btn{
    width:100%;
  }
  .map-preview{
    min-height:155px;
    border-radius:14px;
  }
  .map-preview iframe{
    height:185px;
  }
  .modal-dialog{
    margin:.75rem;
  }
  .simple-modal .modal-body{
    max-height:70vh;
  }
  .bottom-mobile{
    padding-bottom:calc(10px + env(safe-area-inset-bottom));
  }
}


body.no-sidebar .main{
  padding-left:22px;
}
body.no-sidebar .app-topbar{
  left:0;
}
body.employee-mode .app-topbar{
  justify-content:space-between;
}
body.employee-mode .top-title h1{
  font-size:1rem;
}
body.employee-mode .main{
  max-width:980px;
  margin:0 auto;
  padding-top:76px;
}
body.employee-mode .work-main-card{
  margin-top:0;
}
@media(max-width:768px){
  body.no-sidebar .main{
    padding-left:12px;
    padding-right:12px;
  }
  body.employee-mode .app-topbar{
    padding-left:12px;
    padding-right:12px;
  }
}


.side-nav a.active{
  box-shadow:0 6px 16px rgba(10,26,31,.04)!important;
  border-left:0!important;
}
.side-nav a.active:before,.side-nav a.active:after{
  display:none!important;
  content:none!important;
}
.dash-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:linear-gradient(135deg,#ffffff,#f6fcfd);
}
.dash-hero h1{
  font-size:1.55rem;
  font-weight:950;
  letter-spacing:-.04em;
  margin:0 0 4px;
}
.dash-hero p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}
.employee-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.employee-status-card{
  display:grid;
  grid-template-columns:38px 1fr 18px;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px;
  background:#fff;
}
.employee-status-card strong{
  display:block;
  font-size:.86rem;
}
.employee-status-card span{
  display:block;
  font-size:.74rem;
  color:var(--muted);
}
.employee-status-card.is-online{
  border-color:#b9f1d8;
  background:#f5fffa;
}
.employee-status-card.is-online>i{
  color:#18a35f;
}
.employee-status-card.is-offline>i{
  color:#aab6bc;
}
.account-card{
  max-width:760px;
  margin:0 auto;
}
.account-form{
  display:grid;
  gap:10px;
}
.account-photo-box{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:#f8fbfc;
}
.account-photo-box .avatar{
  width:56px;
  height:56px;
  border-radius:18px;
}
.check-line{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.82rem;
  color:var(--muted);
}
.push-form{
  max-width:680px;
}
.settlement-list{
  display:grid;
  gap:10px;
}
.settlement-card{
  overflow:hidden;
}
.settlement-main{
  width:100%;
  border:0;
  background:#fff;
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(80px,.5fr)) 24px;
  gap:12px;
  align-items:center;
  text-align:left;
  padding:14px;
}
.settlement-main>div:not(.person-mini){
  display:grid;
  gap:2px;
}
.settlement-main strong{
  font-size:.9rem;
}
.settlement-details{
  border-top:1px solid var(--line);
  padding:14px;
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:14px;
  background:#f8fbfc;
}
.details-block{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
}
.details-block h3{
  font-size:.92rem;
  font-weight:950;
  margin:0 0 8px;
}
.details-block p{
  margin:0 0 8px;
  font-size:.82rem;
}
.details-map{
  min-height:220px;
  background:#fff;
}
.details-map iframe{
  height:240px;
}
.settlement-actions{
  display:flex;
  gap:8px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.segment-location{
  display:block;
  margin-top:4px;
  font-size:.74rem;
  color:var(--muted);
}
.location-widget{
  display:grid;
  gap:9px;
}
.work-actions{
  justify-items:stretch;
}
.work-actions .btn{
  width:100%;
}
body.employee-mode .work-actions .btn{
  width:auto;
  min-width:0;
}
body.employee-mode .work-actions{
  grid-template-columns:1fr 1fr;
}
body.employee-mode .work-actions .btn:first-child:last-child{
  grid-column:auto;
}
@media(max-width:992px){
  .employee-status-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .settlement-main{
    grid-template-columns:1fr 1fr;
  }
  .settlement-main>i{
    display:none;
  }
  .settlement-details{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){
  .dash-hero{
    display:grid;
  }
  .quick-grid,.admin-grid{
    grid-template-columns:1fr;
  }
  .employee-status-grid{
    grid-template-columns:1fr;
  }
  .settlement-main{
    grid-template-columns:1fr;
    gap:8px;
  }
  body.employee-mode .work-actions{
    grid-template-columns:1fr 1fr;
  }
  body.employee-mode .work-actions .btn{
    width:100%;
  }
  body.employee-mode .main{
    padding-bottom:96px;
  }
}
@media(min-width:769px){
  .bottom-mobile{
    display:none!important;
  }
}


.btn-logout{
  background:#fff;
  border:1px solid #ffd7d7;
  color:#b42318;
  box-shadow:0 6px 14px rgba(180,35,24,.05);
}
.btn-logout:hover{
  background:#fff5f5;
  color:#9b1c13;
}
.work-v11{
  background:linear-gradient(135deg,#ffffff,#f5fbfc);
}
.current-task-box{
  display:grid;
  grid-template-columns:1.1fr 1.2fr 240px;
  gap:14px;
  align-items:stretch;
}
.timer-card{
  background:#102027;
  color:#fff;
  border-radius:20px;
  padding:18px;
  display:grid;
  gap:8px;
}
.timer-card span{
  color:#9bcfd7;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}
.timer-card strong{
  font-size:clamp(2.1rem,5vw,4.2rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.timer-card small{
  color:#d8f4f7;
  font-weight:780;
}
.day-summary-card{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.day-summary-card>div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
}
.day-summary-card span{
  display:block;
  font-size:.7rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.day-summary-card strong{
  display:block;
  margin-top:4px;
  font-size:.9rem;
}
.work-action-panel{
  display:grid;
  gap:8px;
  align-content:center;
}
.work-action-panel .btn{
  width:100%;
  min-height:46px;
}
.task-timeline{
  display:grid;
  gap:10px;
}
.task-line{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:12px;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.task-line.active{
  border-color:#9ce7f0;
  background:#f3fdff;
}
.task-line.done{
  border-left:4px solid var(--brand);
}
.task-line-time{
  display:grid;
  gap:3px;
}
.task-line-time strong{
  font-size:.85rem;
}
.task-line-time span{
  color:var(--muted);
  font-size:.76rem;
}
.task-line-body strong{
  display:block;
  margin-bottom:3px;
}
.task-line-body p{
  margin:0 0 5px;
  color:#42515a;
  font-size:.84rem;
}
.task-line-body small{
  display:block;
  color:var(--muted);
}
.task-pool{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.task-pool-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:12px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:start;
}
.task-pool-card strong{
  display:block;
}
.task-pool-card span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
}
.task-pool-card p{
  margin:6px 0 0;
  color:#4f6069;
  font-size:.82rem;
}
.history-accordion{
  display:grid;
  gap:8px;
}
.history-day{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.history-day-head{
  width:100%;
  border:0;
  background:#fff;
  display:grid;
  grid-template-columns:1fr auto 20px;
  gap:12px;
  align-items:center;
  text-align:left;
  padding:12px;
}
.history-day-head small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}
.history-day-body{
  border-top:1px solid var(--line);
  padding:12px;
  background:#f8fbfc;
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.stat-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  box-shadow:var(--shadow);
}
.stat-card span{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.stat-card strong{
  display:block;
  font-size:1.6rem;
  letter-spacing:-.05em;
}
.stat-card.online{
  background:#f4fff9;
  border-color:#c8f2dc;
}
.employee-status-card small{
  display:block;
  margin-top:2px;
  color:#4a666e;
  font-size:.72rem;
}
.task-admin-layout{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:14px;
  align-items:start;
}
.task-form{
  display:grid;
}
.assignee-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.assignee-grid label{
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px;
  background:#fff;
  font-size:.82rem;
}
.task-admin-list{
  display:grid;
  gap:9px;
}
.task-admin-card{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.task-admin-card strong,
.task-admin-card span,
.task-admin-card small{
  display:block;
}
.task-admin-card span{
  color:var(--muted);
  font-size:.78rem;
}
.task-admin-card small{
  color:#4b5b63;
  font-size:.76rem;
}
.task-status{
  border-radius:999px;
  padding:6px 9px;
  font-size:.72rem;
  font-weight:900;
  background:#f1f5f7;
}
.status-open{background:#eefafa;color:#0e7380}
.status-in_progress{background:#fff8e8;color:#9a5b00}
.status-done{background:#ebfff4;color:#107a45}
.status-cancelled{background:#fff1f1;color:#a42323}
.task-admin-actions{
  display:flex;
  gap:6px;
  align-items:center;
}
.side-nav a.active{
  box-shadow:0 6px 16px rgba(10,26,31,.04)!important;
  border-left:0!important;
}
.side-nav a.active:before,.side-nav a.active:after{
  display:none!important;
  content:none!important;
}
.dash-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:linear-gradient(135deg,#ffffff,#f6fcfd);
}
.dash-hero h1{
  font-size:1.55rem;
  font-weight:950;
  letter-spacing:-.04em;
  margin:0 0 4px;
}
.dash-hero p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}
@media(max-width:1100px){
  .current-task-box{
    grid-template-columns:1fr;
  }
  .day-summary-card{
    grid-template-columns:1fr;
  }
  .task-admin-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){
  .current-task-box{
    gap:10px;
  }
  .timer-card{
    padding:14px;
  }
  .day-summary-card{
    grid-template-columns:1fr;
  }
  .task-line{
    grid-template-columns:1fr;
  }
  .task-pool{
    grid-template-columns:1fr;
  }
  .stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .task-admin-card{
    grid-template-columns:1fr;
  }
  .assignee-grid{
    grid-template-columns:1fr;
  }
  .dash-hero{
    display:grid;
  }
  body.employee-mode .work-action-panel{
    grid-template-columns:1fr 1fr;
  }
  body.employee-mode .work-action-panel .btn{
    width:100%;
  }
}


.modal .modal-dialog{
  max-width:none;
}
.modal-fullscreen .modal-content,
.modal .modal-content{
  min-height:100dvh;
  border-radius:0!important;
}
.modal .modal-body{
  overflow:auto;
}
.task-modal-body{
  background:#f5f7f8;
}
.task-modal-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
}
.user-actions{
  display:flex;
  gap:6px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.settlement-filter{
  grid-template-columns:170px 170px minmax(220px,1fr) 110px 120px;
}
.work-v11{
  border:1px solid #d8edf2;
  box-shadow:0 16px 46px rgba(12,34,40,.07);
}
.current-task-box{
  align-items:stretch;
}
.task-pool-card.assigned{
  border-color:#bcecf3;
  background:#f6feff;
}
.side-user-card{
  display:none!important;
}
.side-brand-row{
  margin-bottom:18px;
}
.modal-header{
  position:sticky;
  top:0;
  z-index:5;
  background:#fff;
}
.modal-footer{
  position:sticky;
  bottom:0;
  z-index:5;
  background:#fff;
}
@media(max-width:1100px){
  .task-modal-grid{
    grid-template-columns:1fr;
  }
  .settlement-filter{
    grid-template-columns:1fr 1fr;
  }
  .settlement-filter .btn,
  .settlement-filter .btn-soft{
    width:100%;
  }
}
@media(max-width:768px){
  .settlement-filter{
    grid-template-columns:1fr;
  }
  .modal .modal-dialog{
    margin:0;
  }
  .modal .modal-content{
    min-height:100dvh;
  }
  .task-modal-body{
    padding:12px;
  }
  .task-modal-grid{
    gap:10px;
  }
  .user-actions{
    justify-content:flex-start;
  }
}


.login-wrap{
  background:
    radial-gradient(circle at 18% 18%, rgba(40,169,187,.18), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(16,32,39,.10), transparent 26%),
    linear-gradient(135deg,#f7fbfc,#eef5f7);
  position:relative;
  overflow:hidden;
}
.login-wrap:before{
  content:"";
  position:absolute;
  inset:auto -12% -20% auto;
  width:460px;
  height:460px;
  border-radius:50%;
  background:rgba(40,169,187,.10);
  pointer-events:none;
}
.login-card{
  position:relative;
  z-index:1;
  box-shadow:0 24px 80px rgba(12,32,38,.12);
}
.login-bg-note{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:14px;
  background:#f3fbfd;
  color:#186f7d;
  font-size:.82rem;
  font-weight:800;
  margin-bottom:18px;
}
.work-shell{
  max-width:1240px!important;
}
.work-board{
  background:linear-gradient(135deg,#fff,#f6fcfd);
  border-color:#d8edf2;
}
.work-board-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.work-board-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.1fr) minmax(280px,1fr) 230px;
  gap:14px;
  align-items:stretch;
}
.current-task-card{
  background:#0d2027;
  color:#fff;
  border-radius:20px;
  padding:18px;
  display:grid;
  align-content:center;
  gap:8px;
}
.current-task-card span{
  color:#9dd7df;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
}
.current-task-card strong{
  font-size:clamp(2.2rem,5vw,4.4rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.current-task-card p{
  color:#e6f8fa;
  margin:0;
  font-weight:850;
}
.day-info-card{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.day-info-card>div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
}
.day-info-card span{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
  font-weight:950;
}
.day-info-card strong{
  display:block;
  margin-top:6px;
  font-size:.95rem;
}
.work-actions-fixed{
  display:grid;
  gap:8px;
  align-content:center;
}
.work-actions-fixed .btn{
  width:100%;
  min-height:48px;
}
.task-table-like{
  display:grid;
  gap:9px;
}
.task-row{
  display:grid;
  grid-template-columns:42px 1.2fr 1fr 1fr 110px;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.task-row.active{
  border-color:#9ce7f0;
  background:#f4fdff;
}
.task-row.done{
  border-left:4px solid var(--brand);
}
.task-no{
  width:30px;
  height:30px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eefafa;
  color:#0f7380;
  font-weight:950;
}
.task-main strong,.task-main small{
  display:block;
}
.task-main small{
  color:var(--muted);
  margin-top:3px;
}
.task-loc,.task-note{
  font-size:.82rem;
}
.task-status-pl{
  justify-self:end;
  border-radius:999px;
  padding:6px 9px;
  font-size:.72rem;
  font-weight:950;
  background:#e9fbf5;
  color:#107a45;
}
.task-row.active .task-status-pl{
  background:#fff8e8;
  color:#9a5b00;
}
.empty-state{
  padding:14px;
  border:1px dashed #cddce2;
  border-radius:14px;
  color:var(--muted);
  background:#f8fbfc;
}
.settlement-table{
  display:grid;
  gap:8px;
}
.settlement-head,
.settlement-row{
  display:grid;
  grid-template-columns:130px 130px 1.4fr 150px 110px;
  gap:12px;
  align-items:center;
}
.settlement-head{
  color:#718087;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
  font-weight:950;
  padding:6px 12px;
}
.settlement-day{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.settlement-row{
  width:100%;
  border:0;
  background:#fff;
  padding:13px 12px;
  text-align:left;
}
.settlement-row:hover{
  background:#f8fbfc;
}
.status-done-pl,
.status-active-pl{
  border-radius:999px;
  padding:7px 10px;
  font-size:.75rem;
  font-weight:950;
  text-align:center;
}
.status-done-pl{
  background:#e9fbf5;
  color:#107a45;
}
.status-active-pl{
  background:#fff8e8;
  color:#9a5b00;
}
.settlement-task-list{
  display:grid;
  gap:10px;
  padding:12px;
  border-top:1px solid var(--line);
  background:#f8fbfc;
}
.settlement-task{
  display:grid;
  grid-template-columns:34px minmax(160px,1fr) minmax(160px,.9fr) minmax(180px,1fr) minmax(220px,1fr);
  gap:10px;
  align-items:start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
}
.task-number{
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#eefafa;
  color:#0f7380;
  font-weight:950;
}
.settlement-task strong,
.settlement-task small{
  display:block;
}
.settlement-task small{
  color:var(--muted);
  margin-top:3px;
}
.settlement-task .map-empty,
.settlement-task iframe{
  height:150px;
  min-height:150px;
  border-radius:12px;
}
.device-list{
  display:grid;
  gap:8px;
}
.device-row{
  display:grid;
  grid-template-columns:180px 1fr 150px;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  background:#fff;
}
.device-row span,
.device-row small{
  color:var(--muted);
  font-size:.78rem;
}
.task-modal-grid.two{
  grid-template-columns:1fr 1fr;
}
.bottom-mobile{
  display:none!important;
}
@media(max-width:1180px){
  .work-board-grid{
    grid-template-columns:1fr;
  }
  .day-info-card{
    grid-template-columns:1fr;
  }
  .settlement-head{
    display:none;
  }
  .settlement-row{
    grid-template-columns:1fr;
    gap:6px;
  }
  .settlement-task{
    grid-template-columns:34px 1fr;
  }
  .settlement-task>div:nth-child(n+4){
    grid-column:2;
  }
  .device-row{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){
  .work-board-head{
    display:grid;
  }
  .current-task-card{
    padding:15px;
  }
  .task-row{
    grid-template-columns:34px 1fr;
  }
  .task-loc,.task-note,.task-status-pl{
    grid-column:2;
    justify-self:start;
  }
  .task-modal-grid.two{
    grid-template-columns:1fr;
  }
  .bottom-mobile{
    display:grid!important;
  }
  body.employee-mode .main{
    padding-bottom:96px!important;
  }
}
@media(min-width:769px){
  .bottom-mobile{
    display:none!important;
  }
}


body.employee-mode .main{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding-left:22px!important;
  padding-right:22px!important;
}
body.employee-mode .app-shell,
body.employee-mode .container-fluid.app-shell{
  max-width:none!important;
  width:100%!important;
  z-index: 99999 !important;
}
.work-shell{
  max-width:none!important;
  width:100%!important;
}
.work-board-grid{
  grid-template-columns:minmax(360px,1.1fr) minmax(340px,1fr) 260px;
}
.work-actions-fixed{
  position:relative;
  z-index:2;
}
.work-actions-fixed .btn{
  width:100%;
}
.bottom-mobile{
  display:none!important;
}
.online-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.online-card{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:12px;
  align-items:start;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:0 8px 22px rgba(12,32,38,.045);
}
.online-card.online{
  border-color:#bcefd8;
  background:linear-gradient(135deg,#f5fff9,#fff);
}
.online-card.offline{
  opacity:.82;
}
.online-main strong,
.online-main span,
.online-state b,
.online-state small,
.online-state em{
  display:block;
}
.online-main strong{
  font-size:1.05rem;
}
.online-main span{
  color:var(--muted);
  font-size:.78rem;
}
.online-state{
  grid-column:1 / -1;
  border-top:1px solid var(--line);
  padding-top:10px;
}
.online-state b{
  color:#107a45;
}
.online-card.offline .online-state b{
  color:#7a8790;
}
.online-state small,
.online-state em{
  color:var(--muted);
  font-size:.78rem;
}
.settlements-shell{
  max-width:none;
}
.settlement-table.compact{
  gap:6px;
}
.settlement-table.compact .settlement-head,
.settlement-table.compact .settlement-row{
  grid-template-columns:110px 120px 1.25fr 140px 90px;
}
.settlement-table.compact .settlement-row{
  padding:10px 12px;
}
.settlement-task.compact{
  grid-template-columns:30px minmax(170px,1fr) minmax(150px,.9fr) minmax(160px,1fr) 110px 170px;
  padding:9px;
  gap:8px;
}
.mini-map iframe,
.mini-map .map-empty{
  height:110px!important;
  min-height:110px!important;
  border-radius:10px;
}
.task-status-pl{
  white-space:nowrap;
}
.task-modal-grid.two{
  grid-template-columns:1fr 1fr;
}
.push-layout{
  display:grid;
  grid-template-columns:minmax(360px,.85fr) 1.15fr;
  gap:14px;
}
.push-target-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.users-list-table{
  display:grid;
  gap:8px;
}
.users-list-head,
.users-list-row{
  display:grid;
  grid-template-columns:1.4fr 1.1fr .6fr .7fr 180px;
  gap:10px;
  align-items:center;
}
.users-list-head{
  color:#718087;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
  font-weight:950;
  padding:6px 10px;
}
.users-list-row{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:10px;
}
.users-list-row span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
}
@media(max-width:1260px){
  .work-board-grid{
    grid-template-columns:1fr;
  }
  .online-board{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .settlement-task.compact{
    grid-template-columns:30px 1fr;
  }
  .settlement-task.compact>div:nth-child(n+3){
    grid-column:2;
  }
  .push-layout{
    grid-template-columns:1fr;
  }
  .users-list-head{
    display:none;
  }
  .users-list-row{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){
  body.employee-mode .main{
    padding-left:12px!important;
    padding-right:12px!important;
    padding-bottom:96px!important;
  }
  .online-board{
    grid-template-columns:1fr;
  }
  .work-board-grid{
    grid-template-columns:1fr;
  }
  .task-modal-grid.two{
    grid-template-columns:1fr;
  }
  .push-target-grid{
    grid-template-columns:1fr;
  }
  .settlement-table.compact .settlement-head{
    display:none;
  }
  .settlement-table.compact .settlement-row{
    grid-template-columns:1fr;
  }
  .bottom-mobile{
    display:grid!important;
  }
}
@media(min-width:769px){
  .bottom-mobile{
    display:none!important;
  }
}



@media (min-width: 769px){
  .modal .modal-dialog,
  .modal-dialog.modal-fullscreen{
    max-width: 920px!important;
    width: calc(100% - 72px)!important;
    height: auto!important;
    margin: 2.5rem auto!important;
  }
  .modal .modal-content,
  .modal-fullscreen .modal-content{
    min-height: 0!important;
    max-height: calc(100vh - 5rem)!important;
    border-radius: 22px!important;
    overflow: hidden;
  }
  .modal .modal-body{
    max-height: calc(100vh - 12rem)!important;
    overflow: auto;
    padding: 18px!important;
  }
  .modal-header,
  .modal-footer{
    position: sticky;
    background: #fff;
    z-index: 10;
  }
  .modal-header{top:0}
  .modal-footer{bottom:0}
  .task-modal-grid,
  .task-modal-grid.two{
    grid-template-columns: 1fr 1fr!important;
    gap: 14px!important;
  }
  #closeTaskModal .task-modal-grid.two,
  #finishDayModal .task-modal-grid.two{
    grid-template-columns: 1.15fr .85fr!important;
  }
  .location-widget .map-preview{
    min-height: 150px!important;
  }
  .location-widget .map-preview iframe{
    height: 170px!important;
  }
}
@media (max-width: 768px){
  .modal .modal-dialog,
  .modal-dialog.modal-fullscreen{
    width: 100%!important;
    max-width: none!important;
    height: 100%!important;
    margin: 0!important;
  }
  .modal .modal-content,
  .modal-fullscreen .modal-content{
    min-height: 100dvh!important;
    border-radius: 0!important;
  }
  .modal .modal-body{
    max-height: none!important;
    overflow: auto;
  }
  .task-modal-grid,
  .task-modal-grid.two{
    grid-template-columns: 1fr!important;
  }
}
.login-bg-note{
  display:none!important;
}
.login-card .muted{
  font-size:.84rem;
}
.page-panel .muted:empty,
.simple-head p:empty{
  display:none!important;
}


@media (max-width: 768px){
  html{font-size:17px!important;-webkit-text-size-adjust:100%;}
  body{font-size:17px!important;line-height:1.45;}
  input,select,textarea,.form-control,.form-select{font-size:16px!important;min-height:52px!important;border-radius:16px!important;padding:13px 14px!important;}
  textarea.form-control{min-height:128px!important;line-height:1.45!important;}
  label,.form-label{font-size:.96rem!important;margin-bottom:7px!important;}
  .btn{min-height:52px!important;border-radius:17px!important;font-size:1rem!important;font-weight:950!important;padding:13px 16px!important;}
  .btn-sm{min-height:44px!important;font-size:.92rem!important;padding:10px 13px!important;}
  .main{padding:82px 8px 92px!important;width:100%!important;max-width:none!important;}
  .container,.container-fluid,.app-shell,.container.app-shell,.container-fluid.app-shell{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important;}
  .app-card,.page-panel,.work-board{border-radius:20px!important;padding:14px!important;margin-left:0!important;margin-right:0!important;}
  .app-topbar{height:68px!important;padding:0 10px!important;}
  .top-title h1{font-size:1.08rem!important;}
  .top-user{gap:6px!important;}
  .top-profile{padding:4px!important;}
  .top-profile .profile-name{display:none!important;}
  .btn-icon{width:46px!important;height:46px!important;border-radius:16px!important;}
  .work-actions-fixed{display:none!important;}
  .bottom-mobile{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;z-index:90!important;padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important;}
  .bottom-mobile .btn{min-height:56px!important;font-size:.96rem!important;}
  .current-task-card{border-radius:20px!important;padding:17px!important;}
  .current-task-card strong{font-size:2.5rem!important;letter-spacing:-.05em;}
  .day-info-card{grid-template-columns:1fr!important;gap:8px!important;}
  .day-info-card>div{padding:14px!important;border-radius:18px!important;}
  .task-row{grid-template-columns:34px 1fr!important;gap:8px!important;padding:12px!important;border-radius:16px!important;}
  .task-loc,.task-note,.task-status-pl{grid-column:2!important;justify-self:start!important;}
  .task-pool-card{grid-template-columns:1fr!important;gap:10px!important;padding:14px!important;border-radius:18px!important;}
  .modal .modal-dialog,.modal-dialog.modal-fullscreen{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;}
  .modal .modal-content,.modal-fullscreen .modal-content{min-height:100dvh!important;border-radius:0!important;}
  .modal .modal-body{max-height:none!important;overflow:auto;padding:14px!important;}
  .modal-header,.modal-footer{padding:12px 14px!important;}
  .modal-title{font-size:1.08rem!important;}
  .task-modal-grid,.task-modal-grid.two{grid-template-columns:1fr!important;gap:10px!important;}
  .location-widget .map-preview{min-height:170px!important;border-radius:18px!important;}
  .location-widget .map-preview iframe{height:190px!important;}
  .settlement-row,.settlement-task.compact,.users-list-row,.device-row,.notify-main,.receipt-row{grid-template-columns:1fr!important;gap:7px!important;}
  .mini-map iframe,.mini-map .map-empty{height:135px!important;min-height:135px!important;}
  .push-layout,.push-layout.better{grid-template-columns:1fr!important;gap:10px!important;}
  .push-target-grid{grid-template-columns:1fr!important;}
  .notify-main{padding:12px!important;}
  .receipt-row{padding:11px!important;}
}
@media (min-width: 769px){
  .bottom-mobile{display:none!important;}
}
.push-shell{max-width:none!important;width:100%!important;}
.push-layout.better{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(420px,1.2fr);gap:14px;align-items:start;}
.device-row.manageable{grid-template-columns:1fr 150px 86px;}
.device-row.manageable form{display:flex;justify-content:flex-end;}
.notify-history{display:grid;gap:9px;}
.notify-row{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;}
.notify-main{width:100%;border:0;background:#fff;display:grid;grid-template-columns:1fr 100px 100px 92px;gap:10px;align-items:center;text-align:left;padding:12px;}
.notify-main:hover{background:#f8fbfc;}
.notify-main strong,.notify-main span,.notify-stats b,.notify-stats small{display:block;}
.notify-main span,.notify-stats small,.notify-date{color:var(--muted);font-size:.78rem;}
.notify-stats{text-align:center;background:#f4fafb;border-radius:12px;padding:7px;}
.notify-stats b{font-size:1.15rem;color:#0f7380;}
.receipt-list{display:grid;gap:7px;padding:10px;background:#f8fbfc;border-top:1px solid var(--line);}
.receipt-row{display:grid;grid-template-columns:140px 1fr 110px 150px;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px 10px;}
.receipt-row span,.receipt-row small{color:var(--muted);font-size:.78rem;}
.receipt-row em{font-style:normal;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:950;text-align:center;}
.receipt-row em.read{background:#e9fbf5;color:#107a45;}
.receipt-row em.unread{background:#fff8e8;color:#9a5b00;}



.notify-top-link{
  position:relative;
}
.notify-count{
  position:absolute;
  right:2px;
  top:2px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#e53935;
  color:#fff;
  font-size:11px;
  line-height:18px;
  font-weight:950;
  box-shadow:0 0 0 2px #fff;
}
.push-enable-btn.is-subscribed{
  display:none!important;
}
.notifications-shell{
  max-width:none!important;
}
.employee-notify-list{
  display:grid;
  gap:10px;
}
.employee-notify{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:10px;
}
.employee-notify.unread{
  border-color:#9ee8f0;
  background:#f4fdff;
}
.employee-notify-main{
  color:inherit;
  text-decoration:none;
  display:grid;
  grid-template-columns:22px 1fr auto;
  gap:10px;
  align-items:center;
}
.employee-notify-main strong,
.employee-notify-main small,
.employee-notify-main p{
  display:block;
}
.employee-notify-main p{
  margin:4px 0;
  color:#52616a;
}
.employee-notify-main small{
  color:#7a8790;
  font-size:.78rem;
}
.employee-notify em{
  font-style:normal;
  border-radius:999px;
  padding:7px 10px;
  font-size:.74rem;
  font-weight:950;
  white-space:nowrap;
}
.employee-notify em.read{
  background:#e9fbf5;
  color:#107a45;
}
.employee-notify em.unread{
  background:#fff4d8;
  color:#8a5500;
}
.notify-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:#d0dbe0;
}
.employee-notify.unread .notify-dot{
  background:#20a8b8;
  box-shadow:0 0 0 5px rgba(32,168,184,.12);
}
@media(max-width:768px){
  html{
    -webkit-text-size-adjust:100%;
  }
  body{
    background:#eef3f5!important;
  }
  body.employee-mode .main,
  .main{
    padding:76px 0 128px!important;
    overflow-x:hidden!important;
  }
  .app-shell,
  .container-fluid.app-shell,
  .container.app-shell{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .app-card,
  .page-panel,
  .work-board{
    border-radius:22px!important;
    padding:16px!important;
  }
  .simple-head h2,
  .section-title{
    font-size:1.28rem!important;
    line-height:1.15!important;
    color:#101820!important;
  }
  .simple-head p,
  .page-panel p,
  .muted{
    color:#5c6871!important;
  }
  .form-control,
  .form-select,
  textarea.form-control,
  input,
  select,
  textarea{
    font-size:17px!important;
    min-height:56px!important;
  }
  .modal .form-control,
  .modal .form-select,
  .modal textarea.form-control{
    font-size:17px!important;
  }
  .btn{
    min-height:56px!important;
    font-size:1.04rem!important;
  }
  .top-title h1{
    font-size:1.1rem!important;
  }
  .top-user{
    gap:4px!important;
  }
  .btn-icon{
    width:44px!important;
    height:44px!important;
  }
  .work-actions-fixed{
    display:none!important;
  }
  .bottom-mobile{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    transform:translateZ(0)!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    z-index:9999!important;
    padding:12px 10px calc(12px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #dfe8ec!important;
    box-shadow:0 -12px 34px rgba(15,23,32,.12)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .bottom-mobile .btn{
    min-height:60px!important;
    border-radius:22px!important;
    font-size:1.04rem!important;
    letter-spacing:.01em;
  }
  .history-day-head{
    padding:14px!important;
    border-radius:18px!important;
    color:#101820!important;
  }
  .history-day-head strong{
    font-size:1.08rem!important;
    color:#147f91!important;
    letter-spacing:.04em;
  }
  .history-day-head small{
    color:#5c6871!important;
    font-size:.95rem!important;
  }
  .history-day-head b{
    color:#0c87d8!important;
    font-size:1.05rem!important;
  }
  .task-row{
    background:#f7fdff!important;
    border-color:#9ee8f0!important;
  }
  .task-main strong{
    color:#101820!important;
    font-size:1.05rem!important;
  }
  .task-main small,
  .task-loc,
  .task-note{
    color:#5c6871!important;
    font-size:.96rem!important;
  }
  .task-loc a{
    color:#127f8d!important;
    font-weight:950!important;
  }
  .task-status-pl{
    font-size:.9rem!important;
    padding:9px 13px!important;
  }
  .employee-notify{
    grid-template-columns:1fr!important;
    padding:13px!important;
  }
  .employee-notify-main{
    grid-template-columns:18px 1fr!important;
  }
  .employee-notify-main em{
    grid-column:2!important;
    justify-self:start!important;
  }
}
@media(min-width:769px){
  .bottom-mobile{
    display:none!important;
  }
}



body.login-page{
  min-height:100svh;
  margin:0;
  background:
    radial-gradient(circle at 15% 10%, rgba(33,174,190,.22), transparent 28%),
    radial-gradient(circle at 92% 82%, rgba(33,174,190,.14), transparent 30%),
    linear-gradient(145deg,#edf8fa 0%,#f7fbfc 55%,#eaf3f5 100%);
  overflow:hidden;
}
.login-screen{
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  padding-top:max(22px, env(safe-area-inset-top));
  padding-bottom:max(22px, env(safe-area-inset-bottom));
}
.login-panel{
  width:min(430px, 100%);
  border:1px solid rgba(200,218,224,.82);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 70px rgba(13,32,39,.13);
  padding:22px;
  transition:transform .22s ease, padding .22s ease;
}
.login-mark{
  border:1px solid #dfe8ec;
  border-radius:24px;
  background:#fff;
  padding:16px;
  margin-bottom:22px;
  transition:all .22s ease;
}
.login-mark img{
  display:block;
  width:100%;
  max-height:150px;
  object-fit:contain;
}
.login-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.login-title-row h1{
  margin:0;
  font-size:1.55rem;
  font-weight:950;
  letter-spacing:-.03em;
  color:#101820;
}
.login-title-row p{
  margin:5px 0 0;
  color:#61707a;
  font-weight:750;
}
.login-secure{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#eefbfc;
  color:#118697;
  font-size:1.25rem;
}
.login-form{
  display:grid;
  gap:13px;
}
.login-field{
  display:grid;
  gap:7px;
}
.login-field span{
  font-weight:950;
  color:#17232b;
  font-size:.96rem;
}
.login-field input{
  width:100%;
  border:1px solid #dce8ed;
  background:#fff;
  border-radius:18px;
  min-height:56px;
  padding:14px 16px;
  font-size:17px;
  font-weight:800;
  outline:none;
}
.login-field input:focus{
  border-color:#27aebe;
  box-shadow:0 0 0 4px rgba(39,174,190,.13);
}
.login-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:.9rem;
}
.remember-line{
  display:flex;
  align-items:center;
  gap:9px;
  color:#17232b;
  font-weight:850;
}
.remember-line input{
  width:20px;
  height:20px;
  accent-color:#1fa7b7;
}
.login-options a{
  color:#118697;
  text-decoration:none;
  font-weight:950;
}
.login-submit{
  min-height:58px!important;
  border-radius:20px!important;
  margin-top:4px;
}
@media(max-width:768px){
  body.login-page{
    overflow:hidden!important;
    background:
      radial-gradient(circle at 50% -4%, rgba(33,174,190,.22), transparent 38%),
      linear-gradient(180deg,#eef8fa 0%,#f8fcfd 100%)!important;
  }
  .login-screen{
    min-height:100dvh;
    height:100dvh;
    align-items:stretch;
    padding:0!important;
  }
  .login-panel{
    width:100%!important;
    min-height:100dvh;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:calc(22px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom))!important;
    display:grid;
    align-content:center;
  }
  .login-mark{
    width:100%;
    max-width:390px;
    margin:0 auto 26px;
    padding:18px;
    border-radius:28px;
  }
  .login-mark img{
    max-height:170px;
  }
  .login-title-row{
    max-width:390px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .login-form{
    max-width:390px;
    width:100%;
    margin:0 auto;
  }
  .login-keyboard .login-panel{
    align-content:start;
    padding-top:calc(10px + env(safe-area-inset-top))!important;
  }
  .login-keyboard .login-mark{
    max-width:170px;
    padding:8px;
    border-radius:18px;
    margin-bottom:10px;
    opacity:.98;
    transform:translateY(-2px);
  }
  .login-keyboard .login-mark img{
    max-height:66px;
  }
  .login-keyboard .login-title-row{
    margin-bottom:10px;
  }
  .login-keyboard .login-title-row h1{
    font-size:1.22rem;
  }
  .login-keyboard .login-title-row p,
  .login-keyboard .login-secure{
    display:none;
  }
  .login-keyboard .login-form{
    gap:10px;
  }
  .login-keyboard .login-options{
    font-size:.86rem;
  }
}



.push-enable-btn{
  position:relative!important;
}
.push-enable-btn .push-plus{
  position:absolute;
  right:5px;
  bottom:5px;
  width:17px;
  height:17px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#20a8b8;
  color:#fff;
  border:2px solid #fff;
  font-size:13px;
  line-height:1;
  font-weight:950;
}
.push-enable-btn i{
  font-size:1.15rem;
}
.login-step-form{
  position:relative;
  overflow:hidden;
}
.login-step{
  display:none;
  opacity:0;
  transform:translateX(18px);
}
.login-step.is-active{
  display:grid;
  gap:13px;
  opacity:1;
  transform:translateX(0);
  animation:loginStepIn .24s ease both;
}
.login-panel.password-mode .login-step-login{
  animation:loginStepOut .2s ease both;
}
@keyframes loginStepIn{
  from{opacity:0; transform:translateX(18px);}
  to{opacity:1; transform:translateX(0);}
}
@keyframes loginStepOut{
  from{opacity:1; transform:translateX(0);}
  to{opacity:0; transform:translateX(-18px);}
}
.login-back-btn{
  border:0;
  background:transparent;
  color:#118697;
  font-weight:950;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0;
  width:max-content;
}
.login-user-preview{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #dce8ed;
  background:#f6fcfd;
  border-radius:17px;
  padding:11px 13px;
  color:#17232b;
  font-weight:950;
}
.login-user-preview i{
  color:#118697;
  font-size:1.25rem;
}
@media(max-width:768px){
  .login-panel{
    transition:all .24s cubic-bezier(.2,.8,.2,1)!important;
  }
  .login-panel.password-mode .login-mark{
    transform:scale(.92);
  }
  .login-keyboard .login-panel.password-mode .login-mark{
    max-width:145px;
    margin-bottom:8px;
    transform:scale(.95) translateY(-3px);
  }
  .login-keyboard .login-panel.password-mode .login-mark img{
    max-height:58px;
  }
  .login-keyboard .login-panel.password-mode .login-title-row{
    margin-bottom:8px;
  }
  .login-keyboard .login-user-preview{
    padding:9px 11px;
  }
  .login-step.is-active{
    gap:10px;
  }
}



.mobile-canvas{
  background:#eef5f7!important;
}
.mobile-canvas .offcanvas-body{
  padding:14px!important;
}
.mobile-tile-menu{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.mobile-tile{
  min-height:118px;
  border:1px solid #dce8ed;
  border-radius:22px;
  background:linear-gradient(145deg,#ffffff,#f6fcfd);
  color:#101820;
  text-decoration:none;
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 10px 26px rgba(12,32,38,.07);
}
.mobile-tile i{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#eafafb;
  color:#118697;
  font-size:1.22rem;
}
.mobile-tile strong{
  display:block;
  margin-top:10px;
  font-size:.98rem;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.02em;
}
.mobile-tile span{
  display:block;
  color:#65737c;
  font-size:.78rem;
  font-weight:800;
  margin-top:4px;
}
.mobile-tile.danger i{
  background:#fff1f1;
  color:#d34545;
}
.mobile-tile.danger{
  background:#fff;
}
@media(max-width:380px){
  .mobile-tile-menu{
    grid-template-columns:1fr;
  }
  .mobile-tile{
    min-height:92px;
  }
}


.mobile-tile-menu.compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.mobile-tile-menu.compact .mobile-tile{
  min-height:84px;
  border-radius:18px;
  padding:10px 8px;
  align-items:center;
  text-align:center;
  justify-content:center;
  gap:7px;
}
.mobile-tile-menu.compact .mobile-tile i{
  width:36px;
  height:36px;
  border-radius:14px;
  font-size:1.05rem;
}
.mobile-tile-menu.compact .mobile-tile strong{
  margin:0;
  font-size:.78rem;
  line-height:1.05;
}
.mobile-tile-menu.compact .mobile-tile span{
  display:none!important;
}
.mobile-canvas .profile-strip{
  padding:10px;
  border-radius:18px;
  margin-bottom:10px!important;
}
.mobile-canvas .offcanvas-body{
  padding:10px!important;
}
.mobile-head{
  padding:12px 14px!important;
}
.mobile-head img{
  max-height:44px!important;
}
@media(max-width:380px){
  .mobile-tile-menu.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:768px){
  .page-panel .muted:empty,
  .simple-head p:empty,
  .login-title-row p:empty{
    display:none!important;
  }
  .page-panel-row{
    gap:8px!important;
  }
  .section-title{
    margin-bottom:0!important;
  }
  .login-title-row p{
    font-size:.9rem!important;
  }
}


@media(max-width:768px){
  body.modal-open .bottom-mobile{
    display:none!important;
  }
  .modal.show{
    z-index:12000!important;
  }
  .modal-backdrop.show{
    z-index:11900!important;
  }
  .modal .modal-dialog,
  .modal-dialog.modal-fullscreen{
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    display:flex!important;
    align-items:stretch!important;
  }
  .modal .modal-content{
    height:100dvh!important;
    min-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    border-radius:0!important;
  }
  .modal .modal-body{
    flex:1 1 auto!important;
    overflow:auto!important;
    padding-bottom:118px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .modal .modal-footer{
    position:sticky!important;
    bottom:0!important;
    z-index:5!important;
    background:#fff!important;
    border-top:1px solid #dfe8ec!important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
    box-shadow:0 -12px 28px rgba(15,23,32,.08)!important;
  }
  .modal .modal-footer .btn{
    min-height:58px!important;
  }
}
