:root{--green:#6739ec;--green-dark:#5023c7;--lime:#d1e345;--ink:#202035;--muted:#737287;--line:#e5e3ef;--bg:#f6f5fb;--paper:#fff;--shadow:0 8px 30px rgba(51,35,101,.055)}
body{background:#f6f5fb!important;color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important}
.card,.panel,.box,.login-card{border-color:var(--line)!important;box-shadow:var(--shadow)!important;border-radius:20px!important}
button,input,select,textarea,.button{font-family:inherit}
input,select,textarea{border-color:#dcd9e8!important;border-radius:12px!important;accent-color:var(--green)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bda6fc;outline-offset:3px}
.brand,.login-brand{letter-spacing:-.6px!important}.mark,.brand-mark,.login-logo{background:var(--green)!important;color:white!important;border-radius:12px!important}
.brand{font-size:21px!important}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0}
.mobile-nav{box-shadow:0 5px 25px #3827730b!important;border-color:var(--line)!important}
.mobile-nav a,.mobile-nav button{color:#535166!important}
.mobile-nav .active{background:#eee8ff!important;color:#5728d2!important}
.mobile-nav .youth-add{background:var(--lime)!important;color:#252713!important}
.mobile-menu{border-radius:22px 0 0 22px}.mobile-menu a{background:#f6f4fc!important;color:var(--ink)!important}.mobile-menu a.active{background:var(--green)!important;color:#fff!important}.mobile-menu .menu-icon{background:#ece5ff!important}.mobile-menu .menu-profile{background:#f4f0ff!important;border-color:#e1d7fb!important}.mobile-menu .menu-profile span{overflow-wrap:anywhere}.mobile-menu .logout-link{color:#a3483e!important;background:#fff0ee!important}
.mobile-menu-close,.language-picker{background:#f1edfa!important;color:var(--green)!important}
.youth-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 22px}.youth-intro h1{font-size:27px;letter-spacing:-.8px;margin:0 0 5px}.youth-intro p{font-size:14px;color:var(--muted);margin:0}.youth-intro button{background:var(--lime);color:#272913!important;padding:13px 20px;border-radius:13px;font-weight:750;white-space:nowrap}
.calendar .cal-head{padding-bottom:12px}.calendar h1{letter-spacing:-.6px}.day.today .num{background:var(--green)!important}.day.day-selected{background:#f4efff!important;box-shadow:inset 0 0 0 2px #966df4!important}.day.day-selected .num{background:var(--green)!important;box-shadow:none!important}.day-tip{background:#29203f!important}.driver-day-mark{background:#eee9fa!important;color:#5831a7!important}.day.no-work{background:#fff5f0!important}
.attendance-person.on{background:#f0eaff!important;border-color:#baa3f3!important;color:#542bbc!important}.quick-save,.save,.login-submit,.face-button{background:var(--green)!important;color:#fff!important}.add{background:var(--lime)!important;color:#252713!important;box-shadow:none!important}.amount{background:#f0eafb!important;color:#5831a7!important}.icon-btn{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.youth-details{margin:12px 0}.youth-details summary{color:var(--green);font-size:13px;cursor:pointer;padding:9px 0;font-weight:650}.youth-details[open]{border-bottom:1px solid var(--line);padding-bottom:12px}
.login-page{background:radial-gradient(ellipse at 15% 10%,#eee5ff,transparent 50%),#f7f6fc!important}.login-page:before,.login-page:after{display:none!important}.login-card{background:#fff!important;border:1px solid #e7dff7!important;backdrop-filter:none!important;box-shadow:0 20px 70px #46308014!important}.login-logo,.face-button{box-shadow:none!important}.login-field input{background:#faf9fd!important}.login-divider:before,.login-divider:after{background:var(--line)!important}.login-row a{color:var(--green)}
#notificationBell{background:#f0eaff!important;color:#5728d2!important;border-color:#dfd4f7!important}#notificationPanel{border-color:var(--line)!important}
@media(min-width:1000px){.shell{max-width:1530px!important}.layout{grid-template-columns:minmax(0,1fr) 340px!important}.shell>header{min-height:60px;padding-right:570px!important}.shell>header .account-badge{font-size:11px}.mobile-nav{top:25px!important;right:30px!important;padding:7px!important}.mobile-nav a,.mobile-nav button{padding:10px 12px!important}.topbar{padding-right:570px!important;min-height:60px}.topbar .brand{white-space:normal}.youth-intro{margin-top:4px}}
@media(max-width:999px) and (min-width:761px){.youth-intro{margin-top:24px}.mobile-nav a,.mobile-nav button{padding:8px!important;font-size:11px!important}}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;min-height:72px;padding:7px 7px calc(7px + env(safe-area-inset-bottom))!important;border-radius:20px 20px 0 0!important}.mobile-nav a,.mobile-nav button{min-width:0!important;font-size:10px!important}.mobile-nav .youth-add{width:52px;height:52px;justify-self:center;border-radius:50%!important;transform:translateY(-10px);justify-content:center!important}.mobile-nav .youth-add i{font-size:28px!important}.mobile-nav .youth-add .youth-label{display:none}.brand{font-size:18px!important}.youth-intro{margin:8px 0 16px}.youth-intro h1{font-size:24px}.youth-intro p{font-size:12px}.youth-intro button{display:none}.shell{padding-bottom:110px!important}.topbar{padding-right:70px}.calendar{padding:14px!important}.calendar .day{min-width:0;overflow:hidden;padding:5px!important}.calendar .grid{min-width:0!important}.calendar .num{font-size:13px}.calendar .patent-mark{overflow-wrap:anywhere;font-size:8px}.day-tip{display:none!important}.people,.objects,.attendance{padding:17px!important}.login-card{padding:28px 22px!important}.side{gap:13px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.youth-intro{display:none!important}body{background:white!important}}
/* Compact controls shared by the calendar and phone layout. */
.object-add button{background:var(--green)!important;color:#fff!important}
.youth-icon{width:21px;height:21px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mobile-nav i{display:inline-flex;align-items:center;justify-content:center}.mark .youth-icon,.brand-mark .youth-icon,.login-logo .youth-icon{width:26px;height:26px}
@media(max-width:760px){.calendar .day{height:70px!important;min-height:70px!important;max-height:70px!important}.calendar .grid{grid-auto-rows:70px!important}.calendar .no-work-mark{font-size:7px!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.15;margin:3px 0 0}.calendar .patent-mark{font-size:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar .worker-dots{gap:3px;margin-top:4px}.calendar .worker-dot{width:6px;height:6px}.calendar .driver-day-mark{font-size:8px!important;margin-top:2px!important}.calendar .day .num{width:24px;height:24px}.side>.attendance{margin-top:0}.login-page{padding-bottom:24px!important}}
.side>.attendance{order:-1!important}.side>.add{position:static!important}
.messenger{--ms-ink:#282039;--ms-green:#6739ec;--ms-line:#e5e0f0;background:#f6f5fb!important}.ms-sidebar,.ms-messages{background:#fdfcfe!important}.ms-search,.ms-composer-box{background:#f5f2fb!important}.ms-title-dot{color:#6739ec!important}.ms-me b,.ms-filters .is-active,.ms-contact.is-selected{background:#eee7ff!important;color:#5728d2!important;border-color:#ded1f7!important}.ms-call-actions button{background:#f0eaff!important;color:#5728d2!important}.ms-unread,#sendMessage{background:#6739ec!important}.ms-welcome h2{color:#493762!important}.ms-welcome-art>svg{color:#6739ec!important;background:#eee7ff!important}
/* Layout matching the approved desktop and mobile reference. */
.youth-header{display:flex!important;align-items:center!important;gap:20px!important;background:white;border-bottom:1px solid var(--line);padding:18px 24px!important;margin:0!important;min-height:80px!important}
.youth-header .brand{flex:0 0 auto;white-space:nowrap!important}.youth-header .brand small{display:block}.youth-header .account-badge,.youth-header .top-right,.youth-header .tabs,.youth-header>.logout,.youth-header>.header-logout{display:none!important}
.youth-profile{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#eee7ff;color:#6739ec;text-decoration:none;font-weight:700}
.youth-shortcuts{padding:16px 20px;margin-top:16px}.youth-shortcuts h2{font-size:14px;margin:0 0 14px}.youth-shortcut-items{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.youth-shortcut-items a{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:13px;text-decoration:none;padding:8px 0}.youth-shortcut-items svg{width:27px;height:27px;color:var(--green)}
.youth-left{min-width:0}.youth-phone-edit{display:none}.youth-attendance h2{font-size:15px;margin:0 0 4px}.youth-attendance .attendance-person{border:0!important;padding:7px 0!important;background:transparent!important;font-weight:500!important;min-height:40px}.youth-attendance .attendance-person .tick{color:var(--green);border:1px solid #d4c3f4;border-radius:4px;width:19px;height:19px;text-align:center;font-size:14px}.youth-attendance .attendance-person.on .tick{background:var(--green);color:white;opacity:1}.youth-attendance .attendance-person>span:first-child{display:flex;align-items:center;gap:10px}.youth-attendance .attendance-person>span:first-child:before{content:attr(data-initial);display:grid;place-items:center;border-radius:50%;width:31px;height:31px;background:#ebe3ff;color:#6938da;font-weight:650}.youth-attendance .attendance-person:nth-child(2)>span:first-child:before{background:#e0f1ff;color:#278ed6}.youth-attendance .attendance-person:nth-child(3)>span:first-child:before{background:#fff1ce;color:#bd8a15}.youth-attendance .attendance-person .dot{display:none!important}
.youth-attendance #attendanceDate{font-size:12px}.youth-attendance #quickWork label{font-size:12px}.youth-attendance #quickWork input,.youth-attendance #quickWork select{font-size:12px;border-width:1px!important}.youth-attendance .no-work-toggle{background:white;color:var(--green);border-color:#b49be9}.youth-attendance .no-work-toggle.on{background:#a3483e;color:white;border-color:#a3483e}
@media(min-width:761px){body:has(#app.shell){padding:24px!important}.shell#app{max-width:1440px!important;padding:0 24px 24px!important;background:#fdfcff;border:1px solid #e7e0f6;border-radius:22px;box-shadow:0 12px 40px #36227310;overflow:visible}.shell>.youth-header{margin:0 -24px!important;border-radius:22px 22px 0 0}.youth-header .mobile-nav{position:static!important;display:flex!important;align-items:center!important;justify-content:center;flex:1;gap:12px!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important}.youth-header .mobile-nav a,.youth-header .mobile-nav button{font-weight:500!important;font-size:13px!important;padding:10px 13px!important;white-space:nowrap}.youth-header .mobile-nav .youth-add{display:none!important}.youth-header .mobile-nav .active{background:var(--green)!important;color:white!important}.youth-header .mobile-nav #mobileMenuOpen .youth-more-label{font-size:0}.youth-header .mobile-nav #mobileMenuOpen .youth-more-label:after{content:'Все разделы';font-size:13px}.youth-intro{margin:22px 0 18px!important}.youth-intro h1{font-size:26px}.layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:20px!important}.calendar{padding:20px!important;box-shadow:none!important;border-radius:15px!important}.calendar .cal-head{margin-bottom:8px}.calendar h1{font-size:20px}.calendar .day{min-height:98px!important;padding:9px!important}.calendar .num{font-weight:600}.calendar .week{font-size:11px}.side{gap:14px!important}.side>.card{box-shadow:none!important;border-radius:15px!important}.side>.objects{margin-top:0}.topbar.youth-header{padding-right:24px!important;margin-bottom:24px!important}}
@media(min-width:761px) and (max-width:1050px){.youth-header{gap:12px!important;padding:14px 16px!important}.youth-header .mobile-nav{gap:2px!important}.youth-header .mobile-nav a,.youth-header .mobile-nav button{font-size:11px!important;padding:9px 7px!important}.layout{grid-template-columns:minmax(0,1fr) 250px!important}.shell#app{padding-left:16px!important;padding-right:16px!important}.shell>.youth-header{margin:0 -16px!important}.youth-header .brand{font-size:18px!important}.calendar{padding:12px!important}}
@media(max-width:760px){.shell#app{padding:0 12px 105px!important;background:white!important}.shell>.youth-header{margin:0 -12px!important;padding:12px 16px!important;min-height:64px!important}.youth-header .brand{font-size:18px!important}.youth-profile{margin-left:auto;width:32px;height:32px;flex-basis:32px}.youth-intro{margin:18px 2px 12px!important}.youth-intro h1{font-size:0!important}.youth-intro h1:after{content:'Календарь';font-size:22px}.youth-intro p{display:none}.youth-left{min-width:0}.calendar{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.calendar .cal-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;position:static!important;margin-bottom:14px;padding:0!important}.calendar .cal-head h1{font-size:14px;text-align:center;grid-column:2;grid-row:1;letter-spacing:0}.calendar .arrows{display:contents}.calendar #prev{grid-column:1;grid-row:1}.calendar #next{grid-column:3;grid-row:1}.calendar .grid{border:1px solid var(--line);border-radius:9px;overflow:hidden;grid-auto-rows:57px!important}.calendar .day{height:57px!important;min-height:57px!important;max-height:57px!important;padding:5px 2px!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.calendar .day .num{font-size:12px;width:25px;height:25px}.calendar .day:nth-child(7n) .num,.calendar .day:nth-child(7n-1) .num{color:#e85c55}.calendar .day.day-selected .num{color:white!important;border-radius:8px!important}.calendar .day.day-selected{box-shadow:none!important;background:#f4efff!important}.calendar .worker-dots{gap:3px;margin:4px 0 0}.calendar .worker-dot{width:4px;height:4px}.calendar .driver-day-mark,.calendar .entry-chip,.calendar .patent-mark,.calendar .no-work-mark{display:none!important}.calendar .day.no-work{background:#fff9f7!important}.calendar .week{margin:0;padding:0 0 8px}.calendar .week div{font-size:10px;padding:0}.side{margin-top:16px!important}.youth-shortcuts{display:none}.youth-attendance{padding:17px!important;border-radius:15px!important;box-shadow:none!important}.youth-attendance h2{font-size:16px}.youth-attendance .attendance-list{display:flex;flex-wrap:wrap;gap:9px}.youth-attendance .attendance-person{width:38px!important;min-height:38px!important;height:38px;padding:0!important;justify-content:center}.youth-attendance .attendance-person>span:first-child{font-size:0;gap:0}.youth-attendance .attendance-person>span:first-child:before{font-size:15px;width:35px;height:35px}.youth-attendance .attendance-person.on{outline:2px solid #a384e9;border-radius:50%}.youth-attendance .attendance-person .tick{display:none}.youth-phone-edit{display:block;width:100%;background:var(--green);color:white;padding:12px;border-radius:10px;margin-top:14px;font-weight:650}.youth-attendance:not(.editor-open) #quickWork,.youth-attendance:not(.editor-open) #noWorkToggle{display:none!important}.youth-attendance.editor-open .youth-phone-edit{background:#f0eaff;color:var(--green)}.youth-header .mobile-nav{position:fixed!important;z-index:120}.topbar.youth-header{margin:0 0 18px!important}}
.shell>header.youth-header{padding-right:24px!important}.youth-header .mobile-nav{width:auto!important;max-width:none!important}.youth-header .youth-profile{margin-left:auto}
@media(max-width:760px){.youth-left{width:100%!important;align-self:stretch}.calendar,.calendar .grid,.calendar .cal-head{width:100%!important}.calendar .grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}.shell>header.youth-header{padding-right:16px!important}}
.youth-attendance.has-day #attendanceDate{font-size:0}.youth-attendance.has-day #attendanceDate:after{content:'Кто работал?';font-size:12px}.youth-header .brand small{font-size:10px!important;font-weight:400!important;color:var(--muted)!important;margin-top:2px}.youth-attendance .attendance-person:not(.on) .tick{opacity:.5}.day.day-selected .num{color:white!important}
@media(max-width:760px){.youth-header .brand small{display:none!important}.youth-attendance .attendance-person{touch-action:manipulation}}
.calendar .grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;min-width:0!important}.side{min-width:0;grid-template-columns:minmax(0,1fr)!important}.side>.card{min-width:0}
@media(min-width:761px) and (max-width:1050px){.shell .layout{grid-template-columns:minmax(0,1fr)!important}.shell .side{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}.shell .side>.add{grid-column:1/-1}.shell .calendar .day{min-width:0}.shell .calendar{width:100%}}
/* Saved entries stay available independently of attendance toggles. */
.shell .side>.selected{display:block!important;order:0!important;grid-column:auto!important;min-height:0!important}
.shell .side>.people{order:1!important}.shell .side>.objects{order:2!important}.shell .side>.add{order:3!important}
#records .record{display:flex;flex-direction:column;gap:10px;padding:14px 0}#records .record>div:first-child{overflow-wrap:anywhere}#records .record-right{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}#records .record-actions{display:flex;gap:8px;flex-wrap:wrap}#records .record-actions button{width:auto!important;min-width:78px;height:36px!important;padding:8px 10px!important;font-size:12px!important;color:#5730b5!important;background:#eee7ff!important}#records .record-actions button.delete{color:#a33c34!important;background:#ffefed!important}

/* Single calendar editor; retain legacy nodes for existing dialog bindings. */
#app.simple-day .side>.objects,#app.simple-day .side>#openDialog,#app.simple-day .youth-intro>button,#app.simple-day .youth-phone-edit,#app.simple-day #mobileAddRecord{display:none!important}
.simple-day-hint{font-size:12px;color:var(--muted);line-height:1.5;margin:10px 0}
#app.simple-day .attendance-person{min-height:44px!important}
@media(max-width:760px){
#app.simple-day .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
#app.simple-day .youth-attendance #attendanceList{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
#app.simple-day .youth-attendance .attendance-person{width:100%!important;height:auto!important;display:flex!important;justify-content:space-between!important;border-radius:9px!important;padding:6px 8px!important}
#app.simple-day .youth-attendance .attendance-person>span:first-child{font-size:14px!important;width:auto!important;height:auto!important;gap:10px!important}
#app.simple-day .youth-attendance .attendance-person .tick{display:block!important}
#app.simple-day #quickWork select,#app.simple-day #quickWork input{font-size:16px!important;min-height:44px}
}
#app.simple-day .attendance-person:not(.on) .tick{color:transparent!important;opacity:1!important;background:white!important}

/* Compact worker circles on every screen. */
#app.simple-day .youth-attendance #attendanceList{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:14px 0!important}
#app.simple-day .youth-attendance #attendanceList .attendance-person{position:relative;display:flex!important;justify-content:center!important;align-items:flex-start!important;width:100%!important;height:auto!important;min-height:88px!important;padding:7px 2px!important;border:0!important;border-radius:12px!important;outline:none!important;background:transparent!important}
#app.simple-day .youth-attendance #attendanceList .attendance-person>span:first-child{display:flex!important;flex-direction:column!important;align-items:center!important;gap:9px!important;font-size:12px!important;line-height:1.3!important;width:100%!important;height:auto!important;overflow-wrap:anywhere;color:var(--ink)!important}
#app.simple-day .youth-attendance #attendanceList .attendance-person>span:first-child:before{width:48px!important;height:48px!important;flex:0 0 48px;font-size:19px!important;border:2px solid transparent;box-sizing:border-box}
#app.simple-day .youth-attendance #attendanceList .attendance-person.on>span:first-child:before{background:var(--green)!important;color:white!important;box-shadow:0 0 0 3px #e7ddff}
#app.simple-day .youth-attendance #attendanceList .attendance-person.on>span:first-child{color:var(--green)!important;font-weight:700}
#app.simple-day .youth-attendance #attendanceList .attendance-person .tick{display:none!important}
#app.simple-day .youth-attendance #attendanceList .attendance-person.on:after{content:'✓';position:absolute;top:40px;left:calc(50% + 11px);display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--green);color:white;border:2px solid white;font-size:11px}
#app.simple-day .youth-attendance #attendanceList .attendance-person:focus-visible{outline:2px solid var(--green)!important;outline-offset:2px}
#app.simple-day .youth-attendance #attendanceList .attendance-person:disabled{opacity:.5;cursor:default}

#app.simple-day .youth-attendance #attendanceList .worker-driver-badge{position:absolute;top:0;left:calc(50% - 32px);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:white;border:1px solid #d9cbf7;box-shadow:0 2px 5px #38277318;font-size:16px;line-height:1;z-index:1}

#app .worker-summary{margin-top:16px;padding:18px 20px!important;box-shadow:none!important}
#app .worker-summary h2{font-size:15px;margin:0 0 14px}
#app .worker-summary #peopleList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#app .worker-summary .person{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#faf8ff;min-width:0}
#app .worker-summary .name{align-items:flex-start;gap:9px;min-width:0;font-size:14px}
#app .worker-summary .name>.dot{flex-shrink:0;margin-top:6px}
#app .worker-summary .name>span{min-width:0;flex:1}
#app .worker-summary .patent-edit,#app .worker-summary .patent-status{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5;margin-top:7px;padding:0;background:transparent;border:0;text-decoration:none;color:#594779}
#app .worker-summary .patent-edit{cursor:pointer;min-height:40px}
#app .worker-summary .soon{color:#926000;background:#fff4d7;border-radius:7px;padding:5px 7px}
#app .worker-summary .expired{color:#ae302a;background:#ffebe9;border-radius:7px;padding:5px 7px}
#app .worker-summary .amount{align-self:flex-start;white-space:normal;font-size:12px;padding:7px 10px}
@media(max-width:760px){#app .worker-summary #peopleList{grid-template-columns:1fr}#app .worker-summary{padding:16px!important}#app .worker-summary .person{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}#app .worker-summary .name{flex:1}#app .worker-summary .amount{align-self:center;max-width:100px}}

#app .worker-summary #peopleList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
#app .worker-summary .person.compact-worker{display:block;padding:0;border:0;background:transparent;min-width:0}
#app .compact-worker summary{display:flex;flex-direction:column;align-items:center;gap:7px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink);padding:6px;border-radius:12px}
#app .compact-worker summary::-webkit-details-marker{display:none}
#app .summary-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ebe3ff;color:#6938da;font-size:18px;font-weight:700}
#app .summary-avatar.vitalij{background:#e0f1ff;color:#278ed6}#app .summary-avatar.zbygnev{background:#fff1ce;color:#956a0c}
#app .compact-worker[open] summary{background:#f2edff;color:var(--green)}
#app .compact-worker summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
#app .compact-worker .worker-info{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#faf8ff}
#app .worker-summary .compact-worker .amount{display:block;margin-top:8px;max-width:none;font-size:11px;padding:5px}
#app .worker-summary .compact-worker .patent-edit,#app .worker-summary .compact-worker .patent-status{font-size:12px;margin:0}
@media(max-width:760px){#app .worker-summary #peopleList{gap:6px}#app .compact-worker .worker-info{padding:6px}#app .worker-summary .compact-worker .patent-edit,#app .worker-summary .compact-worker .patent-status{font-size:11px;padding:4px}}

#app .worker-summary{padding:12px 16px!important}
#app .worker-summary h2{margin-bottom:8px;font-size:14px}
#app .worker-summary #peopleList{grid-template-columns:repeat(3,minmax(0,130px));gap:8px;justify-content:start}
#app .compact-worker summary{padding:5px 3px;gap:4px;font-size:12px}
#app .compact-worker .summary-avatar{width:34px;height:34px;font-size:15px}
#app .worker-summary .compact-worker .patent-remaining{font-size:11px;line-height:1.35;font-weight:500;white-space:normal;padding:2px 4px;border-radius:5px;text-align:center}
#app .worker-summary .compact-worker .patent-remaining.ok{color:#17805c}
@media(max-width:760px){#app .worker-summary #peopleList{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#app .worker-summary{padding:12px!important}}

#app .worker-day-item{position:relative;min-width:0}
#app .worker-day-menu{position:relative;text-align:center;font-size:11px}
#app .worker-day-menu>summary{list-style:none;cursor:pointer;color:var(--green);padding:6px 2px;border-radius:6px;background:#f2edff}
#app .worker-day-menu>summary::-webkit-details-marker{display:none}
#app .worker-day-menu>div{position:absolute;top:100%;left:0;z-index:30;width:220px;padding:7px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 25px #38277325}
#app .worker-day-item:not(:first-child) .worker-day-menu>div{left:auto;right:0}
#app .worker-day-menu button{display:block;width:100%;text-align:left;padding:12px 8px;color:var(--ink);background:white;font-size:12px;border-radius:7px}
#app .worker-day-menu button:hover{background:#f2edff}
#app .worker-day-menu button.remove-day-worker{color:#a33c34}
#app .worker-day-item:nth-child(2) .worker-day-menu>div{left:50%;right:auto;transform:translateX(-50%)}

/* Show daily controls only after a calendar date is selected. */
#app:not(.selected-day-ready) .side>.attendance,#app:not(.selected-day-ready) .side>.selected{display:none!important}
#app .simple-day-hint,#app .youth-attendance #attendanceDate{display:none!important}

#app .youth-shortcuts,#app #quickDriver,#app label[for="quickDriver"],#app .worker-driver-badge{display:none!important}
#app .worker-day-item>.day-driver-choice{display:flex;align-items:center;justify-content:center;width:44px;height:38px;margin:0 auto 4px;padding:6px;border-radius:10px;background:#f0eef5;color:#8c869a;border:1px solid #e0dce9}
#app .worker-day-item>.day-driver-choice svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#app .worker-day-item>.day-driver-choice.is-driver{background:var(--green);color:white;border-color:var(--green);box-shadow:0 0 0 2px #e6dbff}
#app .worker-day-item>.day-driver-choice:focus-visible{outline:2px solid var(--green);outline-offset:3px}
#app .worker-day-item>.day-driver-choice:disabled{opacity:.45}
@media(max-width:760px){#app .layout{width:100%!important;grid-template-columns:minmax(0,1fr)!important}#app .side{width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important}#app .side>.card{width:100%!important;box-sizing:border-box}}

#app .side>.selected{display:none!important}
#daySaveStatus{font-size:12px;color:#17805c;text-align:center;margin-top:7px}
#daySaveStatus:empty{display:none}

#app .worker-day-menu{display:none!important}
