:root{--bg:#f6f8fd;--card:#fff;--ink:#202437;--muted:#7d849b;--line:#e8ebf4;--purple:#6f62df;--purple2:#f0edff;--purple3:#ded8ff;--mint:#65cbb0;--mint2:#eaf9f4;--peach:#f3a87e;--peach2:#fff0e7;--blue:#72aeea;--blue2:#edf6ff;--red:#d97a77;--shadow:0 12px 36px rgba(67,74,114,.07);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 72% 0,#f2efff 0,transparent 26%),var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:278px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 26px}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#7c70eb,#574bc4);color:#fff;font-weight:800;overflow:hidden;box-shadow:0 10px 22px rgba(111,98,223,.22)}.brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.brand-copy{display:flex;flex-direction:column;letter-spacing:.8px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:9px;color:var(--purple);letter-spacing:4px;margin-top:2px}nav{display:flex;flex-direction:column;gap:7px}nav button{border:0;background:transparent;border-radius:13px;padding:12px 14px;text-align:left;color:#60677d;cursor:pointer;display:flex;gap:12px;align-items:center;font-weight:550;transition:.18s}nav button:hover{background:#f7f6ff;color:#4c43b5}nav button.active{background:linear-gradient(90deg,#f0edff,#f8f6ff);color:#5145c7;box-shadow:inset 3px 0 0 var(--purple)}.nav-icon{width:22px;text-align:center;font-size:17px}.sidebar-foot{margin-top:auto;border:1px solid var(--line);background:#fafbff;border-radius:15px;padding:13px;display:flex;gap:10px;align-items:center}.sidebar-foot div{display:flex;flex-direction:column}.sidebar-foot b{font-size:12px}.sidebar-foot small{font-size:11px;color:var(--muted);margin-top:2px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.green{background:#60cba4;box-shadow:0 0 0 4px #ebf9f4}.orange{background:#f0a36f;box-shadow:0 0 0 4px #fff2e8}main{padding:0 30px 54px;min-width:0}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{font-size:23px;margin:0 0 5px;letter-spacing:-.3px}.topbar p{margin:0;color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:12px}.notification-btn{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);position:relative;color:#626a80;font-size:20px;box-shadow:var(--shadow);cursor:pointer}.notification-btn span{position:absolute;right:2px;top:0;background:#7567dd;color:#fff;font-size:9px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;border:2px solid #fff}.profile-chip{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:14px;cursor:pointer}.profile-chip:hover{background:#fff}.profile-copy{display:flex;flex-direction:column;align-items:flex-start}.profile-copy b{font-size:13px}.profile-copy small{color:var(--muted);font-size:11px;margin-top:3px}.chev{color:#9298aa;margin-left:4px}.avatar{border-radius:50%;display:inline-grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#dcecff,#ebe6ff);color:#5f55c8;font-weight:700;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:42px;height:42px;font-size:12px}.avatar-lg{width:58px;height:58px;font-size:16px}.avatar-xl{width:108px;height:108px;font-size:26px;border:5px solid #fff;box-shadow:0 9px 22px rgba(86,84,129,.12)}.avatar-xs{width:36px;height:36px;font-size:10px}.grid{display:grid;gap:14px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.card{background:rgba(255,255,255,.94);border:1px solid rgba(228,231,241,.92);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stat{min-height:126px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-22px;top:-24px;opacity:.58}.stat.lavender{background:linear-gradient(135deg,#fff,#f5f2ff)}.stat.lavender:after{background:#e4ddff}.stat.mint{background:linear-gradient(135deg,#fff,#effbf7)}.stat.mint:after{background:#d9f5ec}.stat.peach{background:linear-gradient(135deg,#fff,#fff5ee)}.stat.peach:after{background:#ffe2d0}.stat.blue{background:linear-gradient(135deg,#fff,#f1f8ff)}.stat.blue:after{background:#dceeff}.stat label{display:block;color:#777f95;font-size:12px;margin:12px 0 7px;position:relative;z-index:1}.stat strong{display:block;font-size:23px;letter-spacing:-.5px;position:relative;z-index:1}.stat small{display:block;color:#8b92a6;font-size:10px;margin-top:6px;position:relative;z-index:1}.stat-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#fff;box-shadow:0 6px 18px rgba(84,89,127,.06);color:#6659d1;font-size:17px;position:relative;z-index:1}.compact .stat{min-height:104px;padding:17px}.compact .stat label{margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:16px}.stack{display:grid;gap:16px}.section-title{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:15px}.section-title h2{font-size:17px;margin:0}.section-title p{font-size:11px;color:var(--muted);margin:5px 0 0}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8a83c8;font-weight:800}.action-card{background:linear-gradient(140deg,#faf8ff,#fff);text-align:left}.action-card h2{font-size:18px;margin:14px 0 7px}.action-card p{color:var(--muted);font-size:12px;line-height:1.55;margin-bottom:17px}.action-orb{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#7869e6,#5f53cf);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 12px 24px rgba(111,98,223,.23)}.mini-profile{display:flex;align-items:center;gap:12px;cursor:pointer}.mini-profile>div{display:flex;flex-direction:column}.mini-profile small{color:var(--muted);font-size:10px}.mini-profile b{font-size:14px;margin:4px 0 2px}.mini-profile span:not(.avatar):not(.arrow){font-size:11px;color:var(--muted)}.mini-profile .arrow{margin-left:auto;color:#7265db}.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:650;font-size:12px;cursor:pointer;transition:.16s}.btn.primary{color:#fff;background:linear-gradient(135deg,#7769e5,#6758d7);box-shadow:0 8px 18px rgba(111,98,223,.19)}.btn.primary:hover{transform:translateY(-1px)}.btn.soft{background:#f4f2ff;color:#6256ca;border:1px solid #e9e4ff}.btn.ghost{background:#fff;color:#5f667b;border:1px solid var(--line)}.btn.danger-soft{background:#fff0ef;color:#b85f5c;border:1px solid #ffdedd}.btn.big-add{padding:12px 18px}.btn.full{width:100%;margin-top:16px}.btn.icon-only{padding:9px 12px;margin-left:6px}.event-list{display:grid;gap:8px}.event{display:grid;grid-template-columns:48px 1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;cursor:pointer}.event:hover{border-color:#dcd7f7;background:#fdfcff}.date-badge{width:44px;height:48px;border-radius:12px;background:#f4f1ff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6458ce}.date-badge strong{font-size:15px}.date-badge small{font-size:9px;text-transform:uppercase}.event-main h3{font-size:13px;margin:0 0 4px}.event-main p{font-size:10px;color:var(--muted);margin:0}.event-time{font-size:10px;color:#777e90}.tag{padding:6px 9px;border-radius:9px;font-size:9px;background:var(--purple2);color:#6758cb;white-space:nowrap}.mint-tag{background:var(--mint2);color:#438e79}.warn{background:var(--peach2);color:#ba704c}.calendar-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-head h2{margin:4px 0 0;font-size:19px;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:14px}.cal-name{font-size:10px;color:#8b91a3;text-align:center;padding-bottom:5px}.day{min-height:82px;border-radius:12px;border:1px solid #eef0f6;padding:7px;background:#fff;cursor:pointer}.day:hover{background:#fbfaff}.day.muted{opacity:.35}.day.has-event{background:linear-gradient(150deg,#fff,#fbf9ff)}.day-num{font-size:11px;font-weight:700}.day-event{font-size:9px;color:#636b7d;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:9px;position:relative}.day-event:before{content:"";width:5px;height:5px;border-radius:50%;background:#6ccbae;position:absolute;left:0;top:4px}.day-event.dot-1:before{background:#8d7fe7}.day-event.dot-2:before{background:#f0a075}.day-event.dot-3:before{background:#72aeea}.calendar-side{align-self:start}.add-work-banner{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:15px 18px;margin-bottom:16px;display:flex;align-items:center;gap:18px}.add-work-banner div{display:flex;flex-direction:column}.add-work-banner b{font-size:13px}.add-work-banner span{font-size:11px;color:var(--muted);margin-top:4px}.work-card{padding:22px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.two-line{margin-top:12px}.span2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.field label{font-size:11px;color:#71788c}.field input,.field select,.settings-row input,.toolbar input,.toolbar select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 11px;outline:none}.field input:focus,.field select:focus,.settings-row input:focus{border-color:#bdb6ef;box-shadow:0 0 0 3px #f1efff}.field input:disabled{background:#f8f9fc;color:#777e91}.interval-title{display:flex;align-items:baseline;gap:12px;margin-top:20px}.interval-title h3{font-size:14px;margin:0}.interval-title span{color:var(--muted);font-size:10px}.interval-table{margin-top:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.interval-head,.interval-row{display:grid;grid-template-columns:42px 150px 180px minmax(210px,1.6fr) 115px 42px;gap:10px;align-items:center;padding:10px 12px}.interval-head{background:#fafbfe;color:#7a8195;font-size:10px}.interval-row{border-top:1px solid var(--line)}.interval-row input,.interval-row select{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff}.interval-index{font-weight:700;font-size:11px}.next-check{font-size:9px;color:#5fa58b;display:block;margin-top:3px}.next-check input{width:auto;margin-right:4px}.interval-total{font-weight:700;font-size:12px}.remove-btn{width:30px;height:30px;border:0;background:#fafbfe;color:#9aa0b1;border-radius:9px;cursor:pointer}.add-interval{margin-top:12px}.total-box{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#f7f5ff,#fffaf2);border-radius:14px;padding:14px 16px;margin-top:15px}.total-box>div:first-child{display:flex;flex-direction:column}.total-box span{font-size:10px;color:var(--muted)}.total-box strong{font-size:19px;margin-top:4px}.actions{display:flex;gap:9px;justify-content:flex-end}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:#7b8296;background:#fafbfe;font-size:10px}tbody tr:hover{background:#fdfcff}.person-cell{display:flex;align-items:center;gap:10px}.person-cell>div{display:flex;flex-direction:column}.person-cell small{font-size:9px;color:var(--muted);margin-top:2px}.diff.good{color:#4e9b83}.diff.bad{color:#c66e58}.report-tools{align-items:flex-start}.toolbar-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.download-note{margin:0 0 14px;padding:12px;border-radius:12px;background:linear-gradient(90deg,#f4f2ff,#f2fbf8);display:flex;align-items:center;gap:11px}.download-note>span{width:30px;height:30px;border-radius:10px;background:#fff;display:grid;place-items:center;color:#665ad0}.download-note div{display:flex;flex-direction:column}.download-note b{font-size:11px}.download-note small{font-size:9px;color:var(--muted);margin-top:3px}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.reference-item{border:1px solid var(--line);padding:12px;border-radius:12px;display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center}.reference-item b{font-size:12px}.work-dot{width:9px;height:9px;border-radius:50%}.work-dot.c0{background:#61c9ad}.work-dot.c1{background:#9888e8}.work-dot.c2{background:#f0a077}.work-dot.c3{background:#88cbe9}.work-dot.c4{background:#b6d66f}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.settings-row p{font-size:10px;color:var(--muted);margin:5px 0 0;max-width:380px}.logo-preview{width:180px;height:72px;border-radius:14px;border:1px dashed #c9cbe0;display:grid;place-items:center;overflow:hidden;background:#fafbfe;color:#9399ac;font-size:11px}.logo-preview img{max-width:95%;max-height:90%}.settings-row input[type=file]{width:180px;margin-top:8px;font-size:10px}.connection-status{display:flex;gap:12px;align-items:center;margin:18px 0}.connection-status div{display:flex;flex-direction:column}.connection-status b{font-size:13px}.connection-status small{font-size:10px;color:var(--muted);margin-top:4px}.small-text{font-size:10px;line-height:1.55}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1050px}.profile-hero{display:flex;align-items:center;gap:22px;padding:6px 0 22px}.profile-hero h2{font-size:22px;margin:10px 0 4px}.profile-hero p{color:var(--muted);margin:0;font-size:12px}.profile-upload{display:flex;gap:10px}.profile-divider{height:1px;background:var(--line);margin:20px 0}.modal-backdrop{position:fixed;inset:0;background:rgba(34,38,55,.22);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{width:min(680px,100%);background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(35,40,70,.22);padding:22px;border:1px solid var(--line)}.empty{text-align:center;padding:42px;color:var(--muted);font-size:12px}.muted{color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;background:#303447;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:200;font-size:12px;box-shadow:0 12px 32px rgba(23,25,39,.22)}.toast.show{opacity:1;transform:none}.report-header{display:none}
.login-root{min-height:100vh;display:grid;grid-template-columns:1.03fr .97fr;background:#fff}.login-visual{position:relative;overflow:hidden;padding:42px 5.7vw 54px;background:radial-gradient(circle at 78% 12%,rgba(116,76,255,.30),transparent 24%),radial-gradient(circle at 16% 42%,rgba(84,27,205,.34),transparent 28%),linear-gradient(145deg,#020611 0%,#090d28 42%,#0a1040 70%,#060d2d 100%);display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}.login-concert-bg,.login-visual:before,.login-visual:after{position:absolute;inset:0}.login-visual:before{content:'';background:radial-gradient(circle at 22% 85%,rgba(164,76,255,.18),transparent 28%),radial-gradient(circle at 63% 60%,rgba(51,114,255,.16),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0) 24%,rgba(255,255,255,.04) 80%,rgba(255,255,255,.02));mix-blend-mode:screen;pointer-events:none}.login-visual:after{content:'';left:-4%;right:-4%;bottom:-6%;top:auto;height:24%;background:linear-gradient(180deg,rgba(33,50,112,0),rgba(8,12,39,.92) 44%,rgba(3,5,20,1) 100%);box-shadow:0 -18px 80px rgba(115,57,255,.12) inset;pointer-events:none}.concert-smoke,.concert-beam,.concert-flare{position:absolute;display:block;pointer-events:none}.concert-smoke{border-radius:50%;filter:blur(42px);mix-blend-mode:screen;opacity:.62}.smoke-a{width:360px;height:280px;left:-10%;top:29%;background:radial-gradient(circle,rgba(110,38,255,.38),rgba(52,18,112,.18) 48%,transparent 72%)}.smoke-b{width:320px;height:240px;left:16%;top:58%;background:radial-gradient(circle,rgba(134,65,255,.34),rgba(66,27,155,.14) 52%,transparent 76%)}.smoke-c{width:260px;height:210px;left:40%;top:14%;background:radial-gradient(circle,rgba(55,122,255,.22),rgba(55,122,255,.08) 48%,transparent 74%)}.concert-beam{height:5px;border-radius:999px;transform-origin:left center;filter:blur(.25px);box-shadow:0 0 18px rgba(122,123,255,.45),0 0 48px rgba(109,70,255,.28)}.beam-a{width:74%;left:-8%;bottom:11%;transform:rotate(7deg);background:linear-gradient(90deg,rgba(191,63,255,0),rgba(200,79,255,.88) 28%,rgba(126,53,255,.98) 68%,rgba(120,199,255,.98));height:4px}.beam-b{width:68%;left:20%;bottom:30%;transform:rotate(-33deg);background:linear-gradient(90deg,rgba(84,116,255,0),rgba(85,129,255,.8) 18%,rgba(110,80,255,.92) 56%,rgba(55,139,255,.92));height:6px}.beam-c{width:60%;left:8%;bottom:19%;transform:rotate(-24deg);background:linear-gradient(90deg,rgba(157,55,255,0),rgba(210,91,255,.86) 24%,rgba(157,55,255,.98) 58%,rgba(107,75,255,.75));height:3px}.beam-d{width:94%;left:-6%;bottom:7%;transform:rotate(-1deg);background:linear-gradient(90deg,rgba(103,54,255,.2),rgba(152,85,255,.84) 26%,rgba(72,176,255,.98) 62%,rgba(85,165,255,.24));height:4px;filter:blur(.35px)}.concert-flare{border-radius:50%;mix-blend-mode:screen}.flare-a{width:86px;height:86px;left:28%;bottom:4%;background:radial-gradient(circle,rgba(255,255,255,.92) 0%,rgba(161,110,255,.9) 18%,rgba(133,69,255,.58) 44%,rgba(73,53,255,.02) 70%);filter:blur(1px);box-shadow:0 0 28px rgba(174,110,255,.55),0 0 64px rgba(149,90,255,.36)}.flare-b{width:52px;height:52px;left:64%;bottom:4%;background:radial-gradient(circle,rgba(255,255,255,.96) 0%,rgba(111,206,255,.88) 20%,rgba(58,128,255,.4) 48%,rgba(44,87,255,.02) 72%);box-shadow:0 0 20px rgba(113,204,255,.62),0 0 46px rgba(77,144,255,.35)}.login-brand{display:flex;gap:14px;align-items:center;position:relative;z-index:2}.login-logo{width:60px;height:60px;border-radius:19px;background:linear-gradient(160deg,#983dff 0%,#6e61ff 46%,#42afff 100%);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 16px 30px rgba(62,23,148,.46),0 0 0 2px rgba(255,255,255,.08) inset}.login-brand>div:last-child{display:flex;flex-direction:column}.login-brand b{font-size:24px;letter-spacing:1.5px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.24)}.login-brand span{font-size:11px;letter-spacing:6px;color:#b29dff;margin-top:6px;text-transform:uppercase}.login-copy{position:relative;z-index:2;max-width:640px;margin:auto 0 15%}.login-copy h1{font-size:68px;line-height:1.02;letter-spacing:-2.5px;margin:12px 0 0;color:#fff;text-shadow:0 10px 26px rgba(0,0,0,.35)}.login-copy p{font-size:15px;line-height:1.7;color:#cfd4eb;max-width:520px}.login-eyebrow{color:#a899ff;font-size:14px;letter-spacing:4px;text-shadow:0 3px 14px rgba(18,22,54,.42)}.login-feature-row{display:flex;gap:9px;margin-top:26px}.login-feature-row span{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:8px 12px;font-size:10px;color:#6e668f}.login-panel{display:grid;place-items:center;padding:30px;background:#fff}.login-card{width:min(430px,100%);padding:34px}.soft-icon{width:52px;height:52px;border-radius:17px;background:#f0edff;color:#665ad0;display:grid;place-items:center;font-size:26px}.login-card h2{font-size:28px;margin:22px 0 8px}.login-card>p{font-size:14px;color:var(--muted);margin:0 0 27px}.login-card label{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#6e758a;margin-bottom:16px;font-weight:600}.login-card input{border:1px solid var(--line);padding:15px 16px;border-radius:14px;outline:none;font-size:16px}.login-card input:focus{border-color:#bbb4ee;box-shadow:0 0 0 4px #f0efff}.login-btn{width:100%;padding:15px;margin-top:8px;font-size:16px}.demo-box{margin-top:18px;border-radius:12px;background:#fafbff;padding:12px 14px;display:flex;flex-direction:column}.demo-box b{font-size:10px}.demo-box small{font-size:9px;color:var(--muted);line-height:1.6;margin-top:4px}
.login-logo img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:#fff}
.single-settings{grid-template-columns:minmax(0,900px)}
.blue-tag{background:#edf5ff;color:#347ac5}.blue-date{background:#eef6ff;color:#347ac5}
.day{appearance:none;text-align:left;color:var(--ink);font:inherit;position:relative;min-height:112px}
.day.selected-day{border-color:#73aeea;box-shadow:0 0 0 3px rgba(114,174,234,.14);background:linear-gradient(150deg,#fff,#f3f8ff)}
.day-events{display:grid;gap:4px;margin-top:5px}.day-event{margin-top:0;padding:3px 5px 3px 14px;border-radius:6px;background:#f3f8ff;color:#49627e}
.day-event:before,.day-event.dot-1:before,.day-event.dot-2:before,.day-event.dot-3:before{background:#4f9be8!important;left:5px;top:8px}
.day-more{margin-top:2px;font-size:9px;color:#397fc8;font-weight:750;padding-left:3px}.mobile-event-count{display:none}
.calendar-side .section-title{align-items:flex-start}.calendar-side .section-title h2{text-transform:capitalize;font-size:18px;margin:4px 0 0}
.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-choice{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:15px;padding:13px;text-align:left;cursor:pointer;display:grid;grid-template-columns:46px 1fr;column-gap:12px;align-items:center}.theme-choice.active{border-color:#877ce7;box-shadow:0 0 0 3px rgba(119,105,229,.12)}.theme-choice b{font-size:13px}.theme-choice small{grid-column:2;color:var(--muted);font-size:10px;margin-top:-12px}.theme-preview{grid-row:1/3;width:46px;height:46px;border-radius:12px;border:1px solid var(--line)}.light-preview{background:linear-gradient(135deg,#fff 0 52%,#eef3ff 52%)}.dark-preview{background:linear-gradient(135deg,#181e2b 0 52%,#29344a 52%)}
.branding-card{grid-column:1/-1}.branding-preview{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#faf9ff,#f6fbff);margin-bottom:16px;width:min(420px,100%)}.large-brand-preview{width:54px;height:54px}.preview-copy strong{font-size:18px!important}.preview-copy small{font-size:9px!important;letter-spacing:3px!important}.branding-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-help{font-size:10px;color:var(--muted);line-height:1.45}.security-card{min-width:0}

/* Dark theme is per-account and intentionally does not affect the unauthenticated login screen. */
html[data-theme="dark"]{--bg:#111521;--card:#181e2b;--ink:#eef2f8;--muted:#9ba5ba;--line:#2a3344;--purple:#9186ff;--purple2:#292644;--purple3:#403a6a;--mint:#67ceb3;--mint2:#18362f;--peach:#f3a87e;--peach2:#402b24;--blue:#69adf2;--blue2:#1c3046;--red:#e48683;--shadow:0 12px 36px rgba(0,0,0,.22)}
html[data-theme="dark"] body{background:radial-gradient(circle at 72% 0,#24213a 0,transparent 28%),var(--bg)}
html[data-theme="dark"] .sidebar{background:rgba(20,25,37,.94)}
html[data-theme="dark"] .card,html[data-theme="dark"] .event,html[data-theme="dark"] .day,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .reference-button,html[data-theme="dark"] .worktype-editor-row,html[data-theme="dark"] .interval-row,html[data-theme="dark"] .theme-choice{background:#181e2b;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .day.has-event,html[data-theme="dark"] .day.selected-day{background:linear-gradient(150deg,#181e2b,#19283a)}
html[data-theme="dark"] .day-event{background:#1d3045;color:#b9d5f3}
html[data-theme="dark"] .calendar-side,html[data-theme="dark"] .table-wrap{border-color:var(--line)}
html[data-theme="dark"] nav button:hover,html[data-theme="dark"] .profile-chip:hover{background:#1e2534;color:#dcd8ff}
html[data-theme="dark"] nav button.active{background:linear-gradient(90deg,#292644,#201f32);color:#b7afff}
html[data-theme="dark"] .sidebar-foot,html[data-theme="dark"] .filter-row th,html[data-theme="dark"] th,html[data-theme="dark"] .modal-footer-note{background:#151b27}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .settings-row input,html[data-theme="dark"] .toolbar input,html[data-theme="dark"] .toolbar select,html[data-theme="dark"] .interval-row .interval-control>input,html[data-theme="dark"] .interval-row .interval-control>select,html[data-theme="dark"] .filter-row select,html[data-theme="dark"] .worktype-add-row input,html[data-theme="dark"] .worktype-editor-row>input{background:#131925;color:var(--ink);border-color:#30394b}
html[data-theme="dark"] input::placeholder{color:#667187}
html[data-theme="dark"] .btn.ghost{background:#181e2b;color:#c9d0df;border-color:#30394b}
html[data-theme="dark"] .btn.soft{background:#282541;color:#bcb4ff;border-color:#39345a}
html[data-theme="dark"] .stat.lavender,html[data-theme="dark"] .stat.mint,html[data-theme="dark"] .stat.peach,html[data-theme="dark"] .stat.blue{background:linear-gradient(135deg,#181e2b,#1b2230)}
html[data-theme="dark"] .action-card,html[data-theme="dark"] .branding-preview,html[data-theme="dark"] .worktype-add-row,html[data-theme="dark"] .filter-summary,html[data-theme="dark"] .download-note{background:linear-gradient(135deg,#181e2b,#1c2331)}
html[data-theme="dark"] tbody tr:hover{background:#1c2331}
html[data-theme="dark"] .brand-mark img{background:#fff}
html[data-theme="dark"] .notification-btn{background:#181e2b;color:#c7cfde;border-color:var(--line)}
html[data-theme="dark"] .logo-preview{background:#131925}

@media(max-width:740px){
  body{font-size:16px}
  .app-shell{display:block;background:var(--bg)}
  .sidebar{height:84px;padding:7px 6px;overflow-x:auto;overflow-y:hidden;box-shadow:0 -8px 28px rgba(50,58,91,.08)}
  nav{width:max-content;min-width:100%;justify-content:flex-start;gap:4px}
  nav button{display:flex!important;min-width:78px;min-height:66px;padding:7px 8px;flex-direction:column;justify-content:center;gap:3px;text-align:center;border-radius:12px;font-size:10px;line-height:1.15}
  nav button span:not(.nav-icon){display:block!important;max-width:72px;white-space:normal}
  .nav-icon{font-size:20px;width:auto}
  main{padding:0 12px 102px}
  .topbar{padding:14px 2px 12px;gap:8px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px)}
  .topbar h1{font-size:24px}.topbar p{font-size:13px;line-height:1.35}.notification-btn{display:none}.avatar-sm{width:44px;height:44px}
  .card{border-radius:17px;padding:17px;margin-bottom:2px;box-shadow:0 8px 26px rgba(67,74,114,.06)}
  .grid{gap:11px}.grid.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:118px;padding:15px}.stat strong{font-size:23px}.stat label{font-size:12px}
  .dashboard-grid,.calendar-layout,.settings-grid,.profile-grid{grid-template-columns:1fr;gap:12px}.section-title{align-items:flex-start;margin-bottom:14px}.section-title h2{font-size:19px}.section-title p{font-size:12px;line-height:1.45}
  .btn{min-height:44px;font-size:14px}.btn.big-add{width:100%;min-height:48px}
  .event-list{gap:10px}.event{grid-template-columns:46px minmax(0,1fr) auto;padding:12px 10px;gap:10px}.event-main h3{font-size:15px;line-height:1.3}.event-main p{font-size:12px;line-height:1.35}.event-time{font-size:11px}.event .tag{display:none}
  .calendar-main{padding:13px 9px}.calendar-head{padding:2px 5px}.calendar-head h2{font-size:20px}.calendar-grid{gap:3px;margin-top:12px}.cal-name{font-size:9px}.day{min-height:65px;padding:5px 4px;border-radius:10px}.day-num{font-size:12px}.day-events{display:none}.mobile-event-count{display:grid;place-items:center;position:absolute;right:5px;bottom:5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eaf4ff;color:#347ac5;font-size:10px;font-weight:800}.day.selected-day .mobile-event-count{background:#4f9be8;color:#fff}.calendar-side{scroll-margin-top:78px}.calendar-side .section-title h2{font-size:18px}
  .form-grid{gap:11px}.field label{font-size:13px}.field input,.field select{min-height:48px;font-size:16px}.work-card{padding:17px}.interval-row .interval-control>input,.interval-row .interval-control>select{height:48px;font-size:16px}.interval-total{font-size:14px}
  .table-wrap{border-radius:13px}table{font-size:13px}th,td{padding:11px 10px}
  .theme-picker{grid-template-columns:1fr}.theme-choice{min-height:76px}.branding-fields{grid-template-columns:1fr}.branding-card{grid-column:auto}.branding-preview{width:100%}
  .profile-hero{gap:15px}.avatar-xl{width:92px;height:92px}.profile-hero h2{font-size:21px}
  .modal-backdrop{padding:10px}.modal-card{max-height:92vh;overflow:auto;padding:17px;border-radius:17px}
}

/* v1.1.1 — Director employee rows: full dark-theme support */
html[data-theme="dark"] .team-row{
  background:linear-gradient(100deg,#181e2b,#1b2230);
  border-color:var(--line);
  color:var(--ink);
  box-shadow:none;
}
html[data-theme="dark"] .team-row:hover{
  background:linear-gradient(100deg,#1c2331,#20283a);
  border-color:#3b465b;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
html[data-theme="dark"] .team-row .team-person b,
html[data-theme="dark"] .team-row > span b{
  color:var(--ink);
}
html[data-theme="dark"] .team-row small{
  color:var(--muted);
}
html[data-theme="dark"] .team-row i{
  color:#9b91ff;
}
html[data-theme="dark"] .team-row .avatar{
  border-color:#3a4457;
}


/* v1.1.2 — complete dark-theme pass + larger typography */
/* Typography: slightly larger on desktop, clearly larger on mobile. */
body{font-size:16px;line-height:1.42}
.topbar h1{font-size:28px}.topbar p{font-size:15px}
nav button{font-size:15px}.profile-copy b{font-size:15px}.profile-copy small{font-size:13px}
.brand-copy strong{font-size:17px}.brand-copy small{font-size:9px}
.stat label{font-size:14px}.stat strong{font-size:27px}.stat small{font-size:12px}
.section-title h2{font-size:20px}.section-title p{font-size:13px}.eyebrow{font-size:11px}
.action-card h2{font-size:20px}.action-card p{font-size:14px}.btn{font-size:14px}
.event-main h3{font-size:15px}.event-main p,.event-time{font-size:12px}.tag{font-size:11px}
.add-work-banner b{font-size:15px}.add-work-banner span{font-size:13px}.field label{font-size:13px}
.interval-title-copy h3{font-size:18px}.interval-title-copy span{font-size:12px}.interval-head{font-size:12px}.interval-index,.interval-total{font-size:14px}.next-check{font-size:11px!important}
.total-box span{font-size:12px}.total-box strong{font-size:23px}
table{font-size:14px}th{font-size:12px}.person-cell small{font-size:11px}
.director-toolbar h2{font-size:24px}.director-toolbar p{font-size:13px}.mini-btn{font-size:12px}.tiny{font-size:11px}
.team-row small{font-size:11px}.team-row b{font-size:13px}.team-person b{font-size:14px}
.detail-totals small{font-size:11px}.detail-totals b{font-size:15px}.entry-detail>b{font-size:13px}.entry-detail small{font-size:11px}
.small-text,.settings-row p,.connection-status small{font-size:12px}.connection-status b{font-size:15px}
.reference-item b{font-size:14px}.worktype-active{font-size:12px}.modal-footer-note{font-size:11px}
.filter-summary b{font-size:12px}.filter-summary small,.filter-row select{font-size:11px}
.calendar-side .section-title h2{font-size:20px}.cal-name{font-size:11px}.day-num{font-size:12px}.day-event,.day-more{font-size:10px}

/* Dark theme: remove light-only surfaces and low-contrast text throughout the authenticated app. */
html[data-theme="dark"] nav button{color:#aab4c7}
html[data-theme="dark"] nav button:hover{color:#e2e6ef}
html[data-theme="dark"] .profile-copy b,
html[data-theme="dark"] .mini-profile b,
html[data-theme="dark"] .event-main h3,
html[data-theme="dark"] .section-title h2,
html[data-theme="dark"] .detail-totals b,
html[data-theme="dark"] .entry-detail>b{color:var(--ink)}
html[data-theme="dark"] .field label,
html[data-theme="dark"] .event-time,
html[data-theme="dark"] .cal-name,
html[data-theme="dark"] .worktype-active,
html[data-theme="dark"] .company-name-editor small,
html[data-theme="dark"] .field-help{color:var(--muted)}

html[data-theme="dark"] .add-work-banner,
html[data-theme="dark"] .director-toolbar,
html[data-theme="dark"] .employee-detail-head,
html[data-theme="dark"] .detail-totals span,
html[data-theme="dark"] .total-box,
html[data-theme="dark"] .download-note>span{
  background:linear-gradient(135deg,#181e2b,#1c2432);
  border-color:var(--line);
  color:var(--ink);
}
html[data-theme="dark"] .director-toolbar,
html[data-theme="dark"] .employee-detail-head{box-shadow:none}

html[data-theme="dark"] .stat-icon,
html[data-theme="dark"] .date-badge,
html[data-theme="dark"] .filter-summary .filter-icon{
  background:#222a3a;
  color:#a99fff;
  border-color:#344057;
}
html[data-theme="dark"] .stat:after{opacity:.22}
html[data-theme="dark"] .stat.lavender:after{background:#7568d8}
html[data-theme="dark"] .stat.mint:after{background:#4a9d88}
html[data-theme="dark"] .stat.peach:after{background:#b47a61}
html[data-theme="dark"] .stat.blue:after{background:#4c83b9}

html[data-theme="dark"] .event:hover,
html[data-theme="dark"] .day:hover,
html[data-theme="dark"] .reference-button:hover,
html[data-theme="dark"] .worktype-editor-row.focus-row{
  background:#202839;
  border-color:#3b475e;
}
html[data-theme="dark"] .field input:disabled{background:#111722;color:#7f8aa0;border-color:#2b3547}
html[data-theme="dark"] .field input:focus,
html[data-theme="dark"] .field select:focus,
html[data-theme="dark"] .settings-row input:focus,
html[data-theme="dark"] .filter-row select:focus,
html[data-theme="dark"] .worktype-add-row input:focus,
html[data-theme="dark"] .worktype-editor-row>input:focus{box-shadow:0 0 0 3px rgba(145,134,255,.16);border-color:#625b91}

html[data-theme="dark"] .btn.danger-soft{background:#3b2528;color:#ffaaa5;border-color:#603337}
html[data-theme="dark"] .worktype-manage-btn{background:linear-gradient(135deg,#25233b,#1d2230)!important;color:#bdb6ff!important;border-color:#3b385d!important}
html[data-theme="dark"] .edit-entry-icon{background:#25233b;color:#bcb4ff;border-color:#403a64}
html[data-theme="dark"] .edit-entry-icon:hover{background:#312d50;border-color:#5a527f}
html[data-theme="dark"] .delete-worktype-btn{background:#3a2528;color:#ffaaa5;border-color:#603337}
html[data-theme="dark"] .delete-worktype-btn:hover{background:#472a2e;border-color:#784046}
html[data-theme="dark"] .lock-notice{background:linear-gradient(90deg,#302b1b,#1c2230);border-color:#51482c;color:#d8c98c}

html[data-theme="dark"] .blue-tag,
html[data-theme="dark"] .blue-date,
html[data-theme="dark"] .mobile-event-count{background:#1d3045;color:#8bc5ff}
html[data-theme="dark"] .day-more{color:#78b9f4}
html[data-theme="dark"] .mint-tag{background:#18362f;color:#81d4bc}
html[data-theme="dark"] .warn{background:#402b24;color:#f0b08d}
html[data-theme="dark"] .notification-btn span{border-color:#181e2b}
html[data-theme="dark"] .avatar-xl{border-color:#252d3d}
html[data-theme="dark"] .green{box-shadow:0 0 0 4px #18362f}
html[data-theme="dark"] .orange{box-shadow:0 0 0 4px #402b24}
html[data-theme="dark"] .company-name-editor small b{color:#a99fff}

@media(max-width:740px){
  body{font-size:17px}
  .topbar h1{font-size:26px}.topbar p{font-size:14px}
  nav button{font-size:11px}
  .section-title h2{font-size:21px}.section-title p{font-size:13px}
  .btn{font-size:15px}
  .event-main h3{font-size:16px}.event-main p{font-size:13px}.event-time{font-size:12px}
  .field label{font-size:14px}.field input,.field select{font-size:17px}
  .interval-row .interval-control>input,.interval-row .interval-control>select{font-size:17px}
  .interval-total{font-size:15px}
  table{font-size:14px}th{font-size:12px}
  .card{padding:18px}
}

/* v1.1.3 — My Timesheet dark-theme consistency */
html[data-theme="dark"] .work-card .interval-table{
  background:#181e2b;
  border-color:#2a3344;
}
html[data-theme="dark"] .work-card .interval-head{
  background:#151b27;
  color:#9ba5ba;
  border-color:#2a3344;
}
html[data-theme="dark"] .work-card .interval-row{
  background:#181e2b;
  border-top-color:#2a3344;
  color:#eef2f8;
}
html[data-theme="dark"] .work-card .interval-index,
html[data-theme="dark"] .work-card .interval-total{
  color:#eef2f8;
}
html[data-theme="dark"] .work-card .remove-btn{
  background:#222a3a;
  color:#aeb8ca;
  border:1px solid #344057;
}
html[data-theme="dark"] .work-card .remove-btn:hover{
  background:#2a3447;
  color:#f0f3f9;
  border-color:#46536c;
}
html[data-theme="dark"] .work-card .next-check{
  color:#72c9ab;
}
html[data-theme="dark"] .work-card .interval-title-copy h3{
  color:#eef2f8;
}
html[data-theme="dark"] .work-card .interval-title-copy span{
  color:#9ba5ba;
}
html[data-theme="dark"] .work-card .total-box{
  background:linear-gradient(110deg,#191f2d,#1d2230);
  border:1px solid #2a3344;
}
html[data-theme="dark"] .work-card .total-box strong{
  color:#eef2f8;
}

/* v1.1.4 — My Timesheet control sizing and time-field alignment */
.work-card .form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.work-card .field{
  min-width:0;
}
.work-card .field input,
.work-card .field select{
  display:block;
  width:100%;
  height:48px;
  min-height:48px;
  padding:0 13px;
  line-height:normal;
}

/* Safari/WebKit: center the native time value vertically like the work-type select. */
.work-card .interval-row input[type="time"]{
  height:48px;
  min-height:48px;
  padding-top:0;
  padding-bottom:0;
  line-height:48px;
}
.work-card .interval-row input[type="time"]::-webkit-datetime-edit{
  display:flex;
  align-items:center;
  height:100%;
  min-height:100%;
  padding:0;
}
.work-card .interval-row input[type="time"]::-webkit-date-and-time-value{
  display:flex;
  align-items:center;
  height:100%;
  min-height:100%;
  text-align:left;
}
.work-card .interval-row .interval-control>select{
  height:48px;
  min-height:48px;
}
.work-card .interval-index,
.work-card .interval-total{
  height:48px;
}

@media(max-width:740px){
  .work-card .form-grid{grid-template-columns:1fr}
  .work-card .field input,
  .work-card .field select,
  .work-card .interval-row input[type="time"],
  .work-card .interval-row .interval-control>select{
    height:50px;
    min-height:50px;
  }
  .work-card .interval-row input[type="time"]{line-height:50px}
}


/* v1.1.5 — internal events and export refinements */
.calendar-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.calendar-side-actions{display:grid;gap:10px;margin-top:14px}
.local-event-note{padding:12px 14px;border-radius:12px;background:#f1f5ff;border:1px solid #dbe5ff;color:#526078;font-size:14px;line-height:1.45}
[data-theme="dark"] .local-event-note{background:#172134;border-color:#2c3b55;color:#aebad0}
.modal-card textarea{width:100%;resize:vertical;min-height:84px}
@media(max-width:900px){.calendar-head-actions{width:100%;justify-content:flex-start}.calendar-head-actions .btn.primary{flex:1 1 100%}.calendar-head{flex-wrap:wrap;gap:12px}}


/* 1.1.7 — role-aware notification center */
.notifications-wrap{position:relative;flex:none}
.notification-btn{display:grid;place-items:center;padding:0}
.notification-bell{width:21px;height:21px;display:block}
.notification-badge{position:absolute!important;right:-2px!important;top:-3px!important;min-width:19px!important;width:auto!important;height:19px!important;padding:0 5px!important;border-radius:999px!important;background:#7567dd!important;color:#fff!important;font-size:10px!important;font-weight:800!important;line-height:15px!important;display:grid!important;place-items:center!important;border:2px solid #fff!important}
.notification-btn.has-alerts{box-shadow:0 8px 24px rgba(111,98,223,.2)}
.notification-panel{position:absolute;right:0;top:56px;width:min(410px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 110px));overflow:hidden;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:19px;box-shadow:0 24px 70px rgba(39,43,68,.22);z-index:90;color:var(--ink);backdrop-filter:blur(18px)}
.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px 14px;border-bottom:1px solid var(--line)}
.notification-panel-head>div{display:flex;flex-direction:column;min-width:0}.notification-panel-head b{font-size:16px}.notification-panel-head small{font-size:11px;color:var(--muted);margin-top:4px;text-transform:capitalize}
.notification-close{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:19px;cursor:pointer}
.notification-list{display:grid;gap:7px;padding:10px;max-height:470px;overflow:auto}
.notification-item{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:11px;text-align:left;padding:11px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--ink);cursor:pointer;transition:.16s}
.notification-item:hover{background:#f8f7ff;border-color:#e9e5ff}.notification-item-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:850;font-size:15px;background:#f2efff;color:#6559ce}.notification-item.urgent .notification-item-icon{background:#fff0eb;color:#c26951}.notification-item.warning .notification-item-icon{background:#fff7e9;color:#b67b32}.notification-item.review .notification-item-icon{background:#eef8f4;color:#4a9c82}.notification-item.info .notification-item-icon{background:#eef6ff;color:#4c8fd1}
.notification-item-copy{min-width:0;display:flex;flex-direction:column}.notification-item-copy b{font-size:12px;line-height:1.3}.notification-item-copy small{font-size:10px;color:var(--muted);line-height:1.4;margin-top:4px;white-space:normal}.notification-arrow{color:#8175e3;font-size:16px;text-align:center}
.notification-empty{padding:32px 22px;text-align:center;display:flex;flex-direction:column;align-items:center}.notification-empty>span{width:42px;height:42px;border-radius:14px;background:#edf8f4;color:#4c9b82;display:grid;place-items:center;font-size:20px}.notification-empty b{margin-top:11px;font-size:13px}.notification-empty small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5;max-width:270px}
.notification-panel-foot{padding:10px 18px 13px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}
html[data-theme="dark"] .notification-panel{background:rgba(24,30,43,.98);border-color:var(--line);box-shadow:0 24px 70px rgba(0,0,0,.38)}
html[data-theme="dark"] .notification-badge{border-color:#181e2b!important}
html[data-theme="dark"] .notification-item:hover{background:#202838;border-color:#343d51}
html[data-theme="dark"] .notification-item-icon{background:#292644;color:#bcb4ff}
html[data-theme="dark"] .notification-item.urgent .notification-item-icon{background:#402b24;color:#f0a689}
html[data-theme="dark"] .notification-item.warning .notification-item-icon{background:#3c3322;color:#efc074}
html[data-theme="dark"] .notification-item.review .notification-item-icon{background:#18362f;color:#83d4bc}
html[data-theme="dark"] .notification-item.info .notification-item-icon{background:#1d3045;color:#8bc5ff}
html[data-theme="dark"] .notification-close{background:#151b27;color:#c7cfde}
@media(max-width:740px){
  .notification-btn{display:grid!important;width:42px;height:42px;box-shadow:none}.notification-bell{width:20px;height:20px}.profile-copy{display:none}.profile-chip{padding:4px}.top-actions{gap:7px}
  .notification-panel{position:fixed;left:10px;right:10px;top:72px;width:auto;max-height:calc(100vh - 92px);border-radius:17px}.notification-list{max-height:calc(100vh - 205px)}.notification-item{padding:12px 10px}.notification-item-copy b{font-size:14px}.notification-item-copy small{font-size:12px}.notification-panel-head b{font-size:17px}.notification-panel-head small{font-size:12px}.notification-panel-foot{font-size:11px}
}
.notification-badge.hidden{display:none!important}


/* 1.1.8 login page concert-style refresh */
@media(max-width:740px){
  .login-root{grid-template-columns:1fr}
  .login-visual{display:flex;min-height:43vh;padding:28px 22px 24px}
  .login-brand{gap:12px}
  .login-logo{width:54px;height:54px;border-radius:17px}
  .login-brand b{font-size:20px}
  .login-brand span{font-size:9px;letter-spacing:4px}
  .login-copy{margin:auto 0 0;max-width:none}
  .login-copy h1{font-size:42px;letter-spacing:-1.6px;line-height:1.03}
  .login-eyebrow{font-size:11px;letter-spacing:3px}
  .login-panel{min-height:57vh;padding:18px 16px 30px}
  .login-card{width:min(440px,100%);padding:22px}
  .login-card h2{font-size:24px}
  .login-card>p{font-size:13px}
  .soft-icon{width:46px;height:46px;font-size:22px}
}


/* 1.1.9 PHONE TEST — exact approved login visual */
.login-root{grid-template-columns:52.35% 47.65%;min-height:100dvh;background:#fff}
.approved-login-cover{
  min-height:100dvh;
  padding:0;
  background-image:url('login-approved-cover.webp');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
}
.login-panel{min-height:100dvh;background:#fff;padding:32px 7vw}
.login-card{width:min(430px,100%);padding:30px 0}
.login-card .soft-icon{width:52px;height:52px;border-radius:16px;background:#f0edff;color:#5c42eb;font-size:26px}
.login-card h2{font-size:29px;letter-spacing:-.6px;margin:24px 0 8px;color:#141622}
.login-card>p{font-size:14px;color:#777f96;margin-bottom:28px}
.login-card label{font-size:13px;color:#666e84;gap:9px;margin-bottom:16px}
.login-card input{height:52px;padding:0 16px;border-radius:13px;font-size:16px;background:#fff}
.login-card input:focus{border-color:#9f91ff;box-shadow:0 0 0 4px rgba(123,103,238,.16)}
.login-card .login-btn{min-height:52px;border-radius:13px;font-size:16px;margin-top:8px;background:linear-gradient(100deg,#5e30e8,#4425ed 65%,#3924df)}

@media(max-width:740px){
  .login-root{display:block;min-height:100dvh;background:#fff}
  .approved-login-cover{
    display:block;
    width:100%;
    min-height:0;
    aspect-ratio:875/941;
    background-size:100% 100%;
    background-position:center;
  }
  .login-panel{
    display:block;
    min-height:auto;
    padding:26px max(20px,env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
  }
  .login-card{width:100%;max-width:460px;margin:0 auto;padding:0}
  .login-card .soft-icon{width:46px;height:46px;border-radius:14px;font-size:22px}
  .login-card h2{font-size:26px;line-height:1.15;margin:20px 0 7px}
  .login-card>p{font-size:14px;line-height:1.45;margin-bottom:24px}
  .login-card label{font-size:14px;margin-bottom:15px}
  .login-card input{height:54px;font-size:16px;border-radius:14px}
  .login-card .login-btn{height:54px;font-size:17px;border-radius:14px}
}
@media(max-width:430px){
  .approved-login-cover{aspect-ratio:875/941}
  .login-panel{padding-top:22px}
  .login-card h2{font-size:25px}
}

/* ==========================================================
   1.2.0 MOBILE PREVIEW — full phone-first redesign
   ========================================================== */
@media(max-width:740px){
  :root{--mobile-gap:12px;--mobile-radius:20px}
  html{background:var(--bg);scroll-padding-top:76px}
  body{font-size:16px;line-height:1.42;background:var(--bg);-webkit-text-size-adjust:100%;padding-bottom:env(safe-area-inset-bottom)}
  button,input,select,textarea{font-size:16px}

  /* app chrome: compact sticky header + fixed bottom navigation */
  .app-shell{display:block;min-height:100dvh;background:var(--bg)}
  .sidebar{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;width:100%;height:calc(76px + env(safe-area-inset-bottom));padding:6px 7px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:0;border-top:1px solid var(--line);box-shadow:0 -10px 34px rgba(45,52,87,.12);z-index:80;display:block;overflow:hidden}
  .brand,.sidebar-foot{display:none!important}
  nav{height:64px;width:100%;min-width:0;display:flex;flex-direction:row;align-items:stretch;gap:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 1px;overscroll-behavior-x:contain}
  nav::-webkit-scrollbar{display:none}
  nav button{flex:0 0 74px;min-width:74px;height:62px;min-height:62px;padding:6px 4px;border-radius:16px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--muted);font-size:10px;line-height:1.08;font-weight:650;box-shadow:none!important}
  nav button span:not(.nav-icon){display:block!important;max-width:68px;white-space:normal;overflow:hidden;text-overflow:ellipsis}
  nav button.active{background:var(--purple2);color:var(--purple);box-shadow:none!important}
  .nav-icon{font-size:20px;line-height:20px;width:auto;height:20px}

  main{padding:0 12px calc(94px + env(safe-area-inset-bottom));min-width:0}
  .topbar{height:auto;min-height:76px;margin:0 -12px 10px;padding:12px 14px;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);align-items:center;gap:8px}
  .topbar>div:first-child{min-width:0;max-width:calc(100% - 104px)}
  .topbar h1{font-size:23px;line-height:1.06;letter-spacing:-.6px;margin:0 0 5px;white-space:normal}
  .topbar p{font-size:12px;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .top-actions{gap:7px;flex:none}
  .notification-btn{display:grid!important;width:42px;height:42px;border-radius:14px;box-shadow:none}
  .profile-chip{padding:0;background:transparent!important}
  .profile-chip .avatar-sm{width:42px;height:42px;border:1px solid var(--line)}
  .profile-copy,.chev{display:none!important}

  /* base surfaces */
  #view{display:grid;gap:12px}
  .card{padding:16px;border-radius:var(--mobile-radius);box-shadow:0 8px 26px rgba(56,64,103,.07);margin:0;min-width:0}
  .grid{gap:10px}.stack{gap:10px}
  .section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:13px;flex-wrap:wrap}
  .section-title>div:first-child{min-width:0;flex:1 1 190px}
  .section-title h2{font-size:20px;line-height:1.15;letter-spacing:-.3px}
  .section-title p{font-size:12px;line-height:1.4;margin-top:4px}
  .eyebrow{font-size:10px;letter-spacing:2px}
  .btn{min-height:44px;border-radius:13px;font-size:14px;padding:10px 13px;white-space:normal}
  .btn.primary{box-shadow:0 8px 20px rgba(105,88,218,.18)}
  .tag{font-size:10px;padding:6px 8px;border-radius:9px}

  /* statistics: clean 2x2 cards */
  .grid.stats,.grid.stats.compact{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0}
  .stat,.compact .stat{min-height:130px;padding:14px;display:flex;flex-direction:column;justify-content:flex-start}
  .stat:after{width:72px;height:72px;right:-20px;top:-20px}
  .stat-icon{width:34px;height:34px;border-radius:11px;font-size:16px}
  .stat label,.compact .stat label{font-size:12px;line-height:1.25;margin:11px 0 5px;max-width:85%}
  .stat strong{font-size:25px;line-height:1.05;letter-spacing:-.8px;overflow-wrap:anywhere}
  .stat small{font-size:11px;line-height:1.25;margin-top:8px}

  /* director dashboard */
  .director-toolbar{display:flex;flex-direction:column!important;gap:14px;align-items:stretch!important;padding:17px!important}
  .director-toolbar h2{font-size:25px!important;line-height:1.05;margin:6px 0 7px;text-transform:capitalize}
  .director-toolbar p{font-size:12px!important;line-height:1.4;margin:0}
  .director-actions{display:grid!important;grid-template-columns:48px 48px 1fr;gap:8px;width:100%}
  .director-actions .btn{margin:0!important;min-width:0}
  .director-actions .icon-only{width:48px;padding:0}
  .director-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .director-grid>.card{min-width:0}
  .team-list{display:grid;gap:9px}
  .team-row{width:100%;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:13px;display:grid!important;grid-template-columns:44px 1fr auto;gap:8px 10px;align-items:center;text-align:left;color:var(--ink);box-shadow:none}
  .team-row>.avatar{grid-column:1;grid-row:1/3;width:40px;height:40px}
  .team-row>.team-person{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0}
  .team-person b{font-size:15px!important;line-height:1.2}.team-person small{font-size:11px!important;margin-top:2px}
  .team-row>span:not(.avatar):not(.team-person){display:flex;flex-direction:column;padding:8px 9px;background:color-mix(in srgb,var(--bg) 76%,var(--card));border-radius:11px;min-width:0}
  .team-row>span:nth-of-type(3){grid-column:1/2}.team-row>span:nth-of-type(4){grid-column:2/3}.team-row>span:nth-of-type(5){grid-column:1/2}.team-row>span:nth-of-type(6){grid-column:2/3}
  .team-row>span:not(.team-person) small{font-size:9px!important;color:var(--muted);white-space:nowrap}.team-row>span:not(.team-person) b{font-size:12px!important;margin-top:2px;white-space:nowrap}
  .team-row>i{grid-column:3;grid-row:1;align-self:center;font-style:normal;color:var(--purple);font-size:18px}

  /* calendar */
  .calendar-layout{grid-template-columns:1fr;gap:12px}
  .calendar-main{padding:14px 10px}
  .calendar-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:0 3px}
  .calendar-head>div:first-child{flex:1 1 160px}
  .calendar-head h2{font-size:22px;line-height:1.1;margin-top:5px}
  .calendar-head-actions{display:grid;grid-template-columns:1fr 46px 46px;width:100%;gap:7px;align-items:center}
  .calendar-head-actions .btn.primary{grid-column:1;min-height:46px}
  .calendar-head-actions .icon-only{width:46px;margin:0;padding:0}
  .calendar-grid{gap:3px;margin-top:13px}
  .cal-name{font-size:9px;padding:4px 0;color:var(--muted)}
  .day{min-height:50px!important;height:50px;border-radius:11px;padding:5px 4px;display:flex;align-items:flex-start;justify-content:flex-start}
  .day-num{font-size:12px}.day-events{display:none!important}
  .mobile-event-count{display:grid!important;place-items:center;position:absolute;right:4px;bottom:4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#eaf4ff;color:#347ac5;font-size:9px;font-weight:800}
  .day.selected-day{box-shadow:0 0 0 2px rgba(79,155,232,.18)}
  .calendar-side{padding:16px;scroll-margin-top:86px}
  .calendar-side .section-title{margin-bottom:12px}.calendar-side .section-title h2{font-size:19px;line-height:1.2}
  .event-list{gap:9px}.event{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:11px;border-radius:15px;align-items:center}
  .date-badge{width:40px;height:44px;border-radius:11px}.date-badge strong{font-size:14px}.date-badge small{font-size:8px}
  .event-main h3{font-size:14px;line-height:1.25;margin-bottom:3px}.event-main p{font-size:11px;line-height:1.25}.event-time{font-size:11px;font-weight:650}.event .tag{display:none}
  .calendar-side-actions{gap:8px}.calendar-side-actions .btn{margin-top:0}

  /* add work / timesheet */
  .add-work-banner{display:grid;grid-template-columns:1fr;gap:10px;padding:14px 15px;border-radius:18px;margin:0}
  .add-work-banner .btn{width:100%;order:2}.add-work-banner div{order:1}.add-work-banner b{font-size:15px}.add-work-banner span{font-size:12px;line-height:1.35}
  .work-card{padding:16px}
  .work-card>.section-title{align-items:center}.work-card>.section-title .tag{margin-left:auto}
  .form-grid,.work-card .form-grid{grid-template-columns:1fr!important;gap:0}
  .span2{grid-column:auto!important}
  .field{gap:6px;margin-bottom:11px}.field label{font-size:12px;font-weight:650;color:var(--muted)}
  .field input,.field select,.settings-row input,.toolbar input,.toolbar select{width:100%;height:50px;min-height:50px;border-radius:13px;padding:0 13px;font-size:16px}
  .interval-title{display:flex;align-items:flex-start;gap:10px;flex-direction:column;margin-top:15px}
  .interval-title-copy h3{font-size:18px}.interval-title-copy span{font-size:12px;line-height:1.35}
  .worktype-manage-btn{width:100%;margin:0}
  .interval-table{border:0;overflow:visible;background:transparent;margin-top:9px}
  .interval-head{display:none!important}
  .interval-row{position:relative;border:1px solid var(--line)!important;border-radius:17px!important;background:var(--card)!important;padding:14px!important;display:grid!important;grid-template-columns:1fr 1fr;grid-template-areas:'index index' 'start end' 'work work' 'total remove';gap:11px!important;align-items:end;margin-bottom:10px}
  .interval-row>*{min-width:0}
  .interval-index{grid-area:index;width:28px;height:28px!important;border-radius:9px;background:var(--purple2);color:var(--purple);display:grid;place-items:center;font-size:12px;font-weight:800}
  .interval-row>.interval-control:nth-child(2){grid-area:start}.interval-row>.interval-control:nth-child(3){grid-area:end}.interval-row>.interval-control:nth-child(4){grid-area:work}
  .interval-control{display:flex;flex-direction:column;gap:5px;position:relative}
  .interval-row>.interval-control:nth-child(2):before{content:'Начало';font-size:10px;color:var(--muted);font-weight:650}
  .interval-row>.interval-control:nth-child(3):before{content:'Окончание';font-size:10px;color:var(--muted);font-weight:650}
  .interval-row>.interval-control:nth-child(4):before{content:'Работа';font-size:10px;color:var(--muted);font-weight:650}
  .interval-row input[type=time],.interval-row .interval-control>select{height:48px!important;min-height:48px!important;border-radius:12px;font-size:16px;line-height:normal!important}
  .next-check{font-size:11px!important;display:flex!important;align-items:center;gap:4px;margin-top:1px}.next-check input{width:18px!important;height:18px!important;min-height:18px!important}
  .interval-total{grid-area:total;height:auto!important;display:flex;align-items:center;font-size:14px;font-weight:800}.interval-total:before{content:'Итого: ';font-size:10px;color:var(--muted);font-weight:650;margin-right:5px}
  .interval-row>.remove-btn{grid-area:remove;justify-self:end;width:40px;height:40px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-size:20px}
  .add-interval{width:100%;margin-top:1px}
  .total-box{display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:14px;border-radius:16px;margin-top:10px}
  .total-box strong{font-size:24px}.total-box .actions{display:grid;grid-template-columns:1fr 1.45fr;width:100%;gap:8px}.total-box .actions .btn{width:100%}

  /* responsive tables become readable cards */
  .table-wrap{border:0!important;overflow:visible!important;background:transparent!important;border-radius:0!important}
  .responsive-table{display:block;width:100%;border:0!important}
  .responsive-table thead{display:none!important}
  .responsive-table tbody{display:grid;gap:9px;width:100%}
  .responsive-table tbody tr{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 13px;box-shadow:0 4px 14px rgba(56,64,103,.035);overflow:hidden}
  .responsive-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;width:100%;padding:6px 0;border:0!important;white-space:normal!important;text-align:right;line-height:1.35;overflow-wrap:anywhere}
  .responsive-table tbody td:before{content:attr(data-label);flex:0 0 37%;font-size:10px;line-height:1.3;text-align:left;color:var(--muted);font-weight:700;text-transform:none}
  .responsive-table tbody td>*{max-width:63%}
  .responsive-table tbody td .person-cell{margin-left:auto;justify-content:flex-end;text-align:right}.responsive-table .person-cell>div{align-items:flex-end}
  .responsive-table tbody td .tag{display:inline-flex;justify-content:center}
  .responsive-table tbody td .editable-time-cell,.responsive-table tbody td .director-row-actions{margin-left:auto;justify-content:flex-end}
  .responsive-table tbody .mobile-empty-row{padding:0;background:transparent;border:0;box-shadow:none}
  .responsive-table tbody .mobile-empty-row td{display:block!important;text-align:center;padding:24px 12px;background:var(--card);border:1px solid var(--line)!important;border-radius:16px}.responsive-table tbody .mobile-empty-row td:before{display:none}

  /* comparison / report */
  .report-tools{flex-direction:column;align-items:stretch!important}.report-tools .toolbar-buttons{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.report-tools .toolbar-buttons .btn{width:100%}
  .filter-summary,.download-note{padding:12px;border-radius:15px;align-items:flex-start}
  .filter-summary b,.download-note b{font-size:12px}.filter-summary small,.download-note small{font-size:11px;line-height:1.35}
  .mobile-report-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}
  .mobile-report-filters label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted);font-weight:700;min-width:0}
  .mobile-report-filters select{width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);padding:0 8px;font-size:12px}

  /* employees */
  .person-cell{gap:9px}.avatar-xs{width:36px;height:36px;flex:none}

  /* reference */
  .reference-grid{grid-template-columns:1fr!important;gap:9px}
  .reference-item{min-height:58px;grid-template-columns:12px minmax(0,1fr) auto auto;padding:11px 12px;border-radius:14px;text-align:left}
  .reference-item b{font-size:14px}.edit-hint{font-size:15px}

  /* settings/profile */
  .settings-grid,.profile-grid{grid-template-columns:1fr!important;gap:12px}
  .single-settings{grid-template-columns:1fr!important}
  .settings-row{grid-template-columns:1fr!important;gap:10px;padding:13px 0}
  .connection-status{margin:10px 0 14px}.connection-status b{font-size:15px}.connection-status small{font-size:11px;overflow-wrap:anywhere}
  .profile-hero{display:grid;grid-template-columns:80px 1fr;gap:13px;align-items:center;padding-bottom:15px}
  .avatar-xl{width:78px;height:78px;border-width:3px}.profile-hero h2{font-size:21px;margin:8px 0 3px}.profile-hero p{font-size:12px}
  .profile-upload{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-upload .btn{width:100%}
  .theme-picker{grid-template-columns:1fr!important;gap:9px}.theme-choice{min-height:74px;padding:11px}
  .branding-card{grid-column:auto}.branding-preview{width:100%;padding:12px}.branding-fields{grid-template-columns:1fr!important;gap:0}
  .security-card .btn{width:100%}

  /* notifications */
  .notification-panel{position:fixed!important;left:10px!important;right:10px!important;top:74px!important;width:auto!important;max-height:calc(100dvh - 164px)!important;border-radius:18px!important}
  .notification-list{max-height:calc(100dvh - 278px)!important}.notification-item{padding:11px}.notification-item-copy b{font-size:13px}.notification-item-copy small{font-size:11px}

  /* modal */
  .modal-backdrop{padding:10px;align-items:end}
  .modal-card{width:100%;max-height:90dvh;overflow:auto;border-radius:22px 22px 14px 14px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .modal-card .actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.modal-card .actions .btn{width:100%}

  /* dark-theme mobile polish */
  html[data-theme='dark'] .topbar{background:color-mix(in srgb,var(--bg) 88%,transparent)}
  html[data-theme='dark'] .sidebar{background:color-mix(in srgb,var(--card) 95%,transparent)}
  html[data-theme='dark'] .responsive-table tbody tr,html[data-theme='dark'] .interval-row,html[data-theme='dark'] .mobile-report-filters select{background:var(--card)!important;border-color:var(--line)!important;color:var(--ink)}
  html[data-theme='dark'] .team-row>span:not(.avatar):not(.team-person){background:#151b27}
}

@media(max-width:390px){
  .topbar h1{font-size:21px}.topbar p{font-size:11px}
  .grid.stats,.grid.stats.compact{gap:8px}.stat,.compact .stat{min-height:124px;padding:13px}.stat strong{font-size:23px}
  .mobile-report-filters{grid-template-columns:1fr}
  .calendar-head-actions{grid-template-columns:1fr 44px 44px}.day{min-height:47px!important;height:47px}
  .total-box .actions{grid-template-columns:1fr}
}
@media(max-width:740px){
  nav{justify-content:space-between;overflow:hidden}
  nav button{flex:1 1 20%;min-width:0;max-width:none}
  .mobile-more-backdrop{position:fixed;inset:0;background:rgba(24,28,42,.32);backdrop-filter:blur(4px);z-index:120;display:flex;align-items:flex-end;padding:10px}
  .mobile-more-sheet{width:100%;background:var(--card);border:1px solid var(--line);border-radius:24px 24px 16px 16px;padding:9px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:0 24px 70px rgba(24,28,48,.28)}
  .mobile-more-handle{width:44px;height:4px;border-radius:999px;background:var(--line);margin:2px auto 12px}
  .mobile-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.mobile-more-head>div{display:flex;flex-direction:column}.mobile-more-head b{font-size:20px}.mobile-more-head small{font-size:11px;color:var(--muted);margin-top:2px}
  .mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-more-item{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:16px;padding:14px 12px;min-height:72px;display:flex;align-items:center;gap:11px;text-align:left}
  .mobile-more-item>span{width:34px;height:34px;border-radius:11px;background:var(--card);display:grid;place-items:center;color:var(--purple);font-size:18px}.mobile-more-item b{font-size:13px;line-height:1.2}.mobile-more-item.active{border-color:var(--purple3);background:var(--purple2)}
}

/* ==========================================================
   1.2.1 MOBILE REVIEW — layout integrity pass
   Prevent text collisions, keep decorative shapes inside cards,
   and equalize light/dark mobile rendering.
   ========================================================== */
@media(max-width:740px){
  /* Universal collision guards */
  #view,.card,.section-title,.director-toolbar,.director-grid,.grid,.stack,.event,.team-row,.notification-item,
  .employee-detail-head,.detail-totals,.profile-card,.settings-grid,.reference-item,.add-work-banner,.work-card{
    min-width:0;
  }
  .card h1,.card h2,.card h3,.card p,.card b,.card small,.card label,.card span,
  .topbar h1,.topbar p,.event-main h3,.event-main p,.notification-item-copy b,.notification-item-copy small,
  .team-person b,.team-person small{
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .btn{line-height:1.2;display:inline-flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere}

  /* Director month control: text and controls are always separate rows */
  .director-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;overflow:hidden}
  .director-toolbar>div:first-child{display:grid;grid-template-columns:1fr;gap:5px;min-width:0}
  .director-toolbar h2{margin:0!important;line-height:1.08!important}
  .director-toolbar p{margin:0!important;max-width:100%;min-height:34px;line-height:1.42!important;padding-right:0!important}
  .director-actions{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:48px 48px minmax(0,1fr)!important;gap:8px!important;width:100%!important;margin:0!important}
  .director-actions .btn{height:46px;min-height:46px;white-space:normal!important}
  .director-actions .btn:last-child{padding-left:10px;padding-right:10px}

  /* Dashboard statistics: reserve enough vertical space and hard-clip accents */
  .grid.stats:not(.compact){align-items:stretch}
  .grid.stats:not(.compact) .stat{min-height:154px!important;height:auto!important;padding:14px 14px 13px!important;overflow:hidden!important;overflow:clip!important;contain:paint;isolation:isolate;display:grid!important;grid-template-rows:34px auto auto 1fr;align-content:start;gap:7px}
  .grid.stats:not(.compact) .stat>*{position:relative;z-index:2}
  .grid.stats:not(.compact) .stat:after{z-index:0!important;width:60px!important;height:60px!important;right:-12px!important;top:-12px!important;opacity:.5!important;pointer-events:none}
  .grid.stats:not(.compact) .stat-icon{margin:0!important;align-self:start}
  .grid.stats:not(.compact) .stat label{margin:0!important;max-width:82%;min-height:31px;font-size:11.5px!important;line-height:1.28!important;display:flex;align-items:flex-end}
  .grid.stats:not(.compact) .stat strong{margin:0!important;min-height:29px;font-size:23px!important;line-height:1.12!important;letter-spacing:-.6px;white-space:normal}
  .grid.stats:not(.compact) .stat small{margin:0!important;align-self:end;font-size:10.5px!important;line-height:1.28!important;min-height:27px;display:block;max-width:100%}
  html[data-theme='dark'] .grid.stats:not(.compact) .stat:after{opacity:.28!important}

  /* Compact report/comparison stats do not need icon-sized vertical space */
  .grid.stats.compact .stat{min-height:112px!important;height:auto!important;overflow:hidden!important;overflow:clip!important;contain:paint;padding:13px!important;display:flex!important;flex-direction:column!important;gap:6px!important;justify-content:flex-start!important}
  .grid.stats.compact .stat:after{width:52px!important;height:52px!important;right:-13px!important;top:-13px!important}
  .grid.stats.compact .stat label{margin:0!important;min-height:30px;max-width:82%;font-size:11px!important;line-height:1.25!important}
  .grid.stats.compact .stat strong{margin:0!important;font-size:22px!important;line-height:1.1!important}
  .grid.stats.compact .stat small{margin-top:auto!important;font-size:10px!important;line-height:1.25!important;min-height:13px}

  /* Section headers: action chips/buttons move below before they collide */
  .section-title{row-gap:9px!important}
  .section-title>span.tag,.section-title>.tag{max-width:100%;white-space:normal;text-align:center}
  .section-title>.btn,.section-title>.toolbar-buttons,.section-title>.calendar-head-actions{max-width:100%}

  /* Attention rows and people cards */
  .responsive-table tbody td{min-width:0!important}
  .responsive-table tbody td:before{min-width:0}
  .responsive-table tbody td>*{min-width:0;max-width:61%}
  .responsive-table tbody td .person-cell{min-width:0}
  .responsive-table tbody td .person-cell b,.responsive-table tbody td .person-cell small{white-space:normal!important}
  .director-row-actions{flex-wrap:wrap!important;gap:6px!important}
  .director-row-actions .btn{max-width:100%}

  .team-row{grid-template-columns:42px minmax(0,1fr) 24px!important;overflow:hidden}
  .team-row>.team-person{max-width:100%}
  .team-row>span:not(.avatar):not(.team-person){overflow:hidden}
  .team-row>span:not(.team-person) small,.team-row>span:not(.team-person) b{white-space:normal!important;line-height:1.2!important}

  /* Calendar and event rows */
  .event{overflow:hidden}
  .event-main{min-width:0}
  .event-main h3,.event-main p{white-space:normal!important}
  .event-time{white-space:nowrap;align-self:start;margin-top:2px}
  .calendar-side .empty{padding:25px 10px}

  /* Forms */
  .field,.interval-control{min-width:0}
  .field input,.field select,.interval-row input,.interval-row select{max-width:100%;min-width:0}
  .interval-row{overflow:hidden!important}
  .total-box{overflow:hidden}

  /* Notifications */
  .notification-panel{overflow:hidden!important}
  .notification-item{grid-template-columns:38px minmax(0,1fr) 18px!important;align-items:start!important}
  .notification-item-icon{margin-top:1px;flex:none}
  .notification-item-copy{min-width:0!important}
  .notification-item-copy b{font-size:13px!important;line-height:1.3!important;white-space:normal!important}
  .notification-item-copy small{font-size:11px!important;line-height:1.35!important;white-space:normal!important;margin-top:4px!important}
  .notification-arrow{align-self:center}

  /* Settings/profile/reference long text */
  .connection-status{min-width:0}.connection-status div{min-width:0}.connection-status small{white-space:normal;word-break:break-word}
  .reference-item{overflow:hidden}.reference-item b{white-space:normal;line-height:1.3}
  .branding-preview,.theme-choice,.settings-row{min-width:0;overflow:hidden}
  .theme-choice b,.theme-choice small{white-space:normal}

  /* Light and dark use the same geometry; only palette changes */
  html[data-theme='dark'] .director-toolbar,
  html[data-theme='dark'] .grid.stats .stat,
  html[data-theme='dark'] .calendar-main,
  html[data-theme='dark'] .calendar-side,
  html[data-theme='dark'] .work-card,
  html[data-theme='dark'] .profile-card,
  html[data-theme='dark'] .settings-grid .card{
    border-color:var(--line)!important;
  }
}

@media(max-width:390px){
  .director-toolbar p{font-size:11.5px!important;min-height:33px}
  .director-actions{grid-template-columns:44px 44px minmax(0,1fr)!important}
  .director-actions .btn{height:44px;min-height:44px;font-size:13px}
  .grid.stats:not(.compact) .stat{min-height:150px!important;padding:13px!important}
  .grid.stats:not(.compact) .stat label{font-size:11px!important}
  .grid.stats:not(.compact) .stat strong{font-size:22px!important}
  .grid.stats:not(.compact) .stat small{font-size:10px!important}
}


/* ==========================================================
   1.2.2 HOTFIX — restore desktop geometry after mobile pass
   ========================================================== */
@media(min-width:741px){
  .director-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;background:linear-gradient(115deg,#fff,#f8f5ff 55%,#f2fbf8)}
  .director-toolbar>div:first-child{min-width:0}
  .director-toolbar h2{font-size:24px;text-transform:capitalize;margin:5px 0 4px;line-height:1.15}
  .director-toolbar p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
  .director-actions{display:flex;align-items:center;gap:7px;flex:none}
  .director-grid{display:grid;gap:16px}
  .mini-btn{padding:7px 10px;font-size:12px}.tiny{font-size:11px}

  .team-list{display:grid;gap:9px}
  .team-row{width:100%;border:1px solid var(--line);background:linear-gradient(100deg,#fff,#fdfcff);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:40px minmax(190px,1.4fr) repeat(4,minmax(110px,.72fr)) 24px;gap:12px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;appearance:none;font:inherit;min-width:0}
  .team-row:hover{border-color:#dcd7f7;box-shadow:0 8px 22px rgba(72,75,110,.06)}
  .team-row>span:not(.avatar){display:flex;flex-direction:column;gap:3px;min-width:0}
  .team-row .team-person b{font-size:14px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
  .team-row .team-person small{font-size:11px;line-height:1.25;white-space:normal}
  .team-row>span:not(.team-person) small{font-size:11px;color:var(--muted);white-space:nowrap}
  .team-row>span:not(.team-person) b{font-size:13px;line-height:1.2;white-space:nowrap}
  .team-row i{font-style:normal;color:#7769df;font-size:18px;text-align:center}
  .good-text{color:#4e9b83!important}.bad-text{color:#c66e58!important}

  .employee-detail-head{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:22px;margin-bottom:16px;background:linear-gradient(110deg,#fff,#faf8ff)}
  .detail-totals{display:flex;gap:10px;min-width:0}
  .detail-totals span{min-width:130px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
  .detail-totals small{font-size:11px;color:var(--muted)}.detail-totals b{font-size:15px}
  .entry-detail{display:flex;flex-direction:column;gap:5px;white-space:normal;min-width:180px}.entry-detail>b{font-size:13px}.entry-detail small{font-size:11px;color:var(--muted);line-height:1.55}
  .btn:disabled{opacity:.46;cursor:not-allowed;transform:none!important;box-shadow:none!important}

  .interval-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;margin-bottom:0}
  .interval-title-copy{display:flex;align-items:baseline;gap:14px;min-width:0}.interval-title-copy h3{margin:0}.interval-title-copy span{color:var(--muted)}
  .worktype-manage-btn{white-space:nowrap;color:#6256ca!important;border-color:#ddd8fb!important;background:linear-gradient(135deg,#fff,#faf8ff)!important}
  .interval-table{margin-top:12px;overflow-x:auto;overflow-y:hidden;border-radius:15px}
  .interval-head,.interval-row{grid-template-columns:50px minmax(150px,1fr) minmax(180px,1fr) minmax(280px,2.25fr) 140px 44px;gap:14px;padding:14px 16px;align-items:start;min-width:930px}
  .interval-head{padding-top:13px;padding-bottom:13px;align-items:center}.interval-row{padding-top:16px;padding-bottom:16px;background:#fff}
  .interval-control{min-width:0}.interval-row .interval-control>input,.interval-row .interval-control>select{display:block;width:100%;height:46px;border:1px solid #dfe3ef;border-radius:11px;padding:0 14px;background:#fff;color:var(--ink);outline:none}
  .interval-index,.interval-total{height:46px;display:flex;align-items:center}.interval-total{white-space:nowrap}.interval-row>.remove-btn{margin-top:6px;width:34px;height:34px}
  .end-control{display:flex;flex-direction:column;align-items:stretch}.next-check{display:flex!important;align-items:center;gap:6px;margin:7px 0 0 2px!important;min-height:18px}
  .interval-row .next-check input{appearance:auto;width:16px!important;height:16px!important;margin:0!important;padding:0!important;flex:0 0 16px}

  .worktypes-modal{width:min(820px,100%)}
  .worktype-add-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(100deg,#faf9ff,#fbfffd);margin-bottom:14px}
  .worktype-add-row input,.worktype-editor-row>input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;background:#fff}
  .worktypes-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:2px}
  .worktype-editor-row{display:grid;grid-template-columns:12px minmax(220px,1fr) 130px auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px 11px;background:#fff}
  .worktype-active{display:flex;align-items:center;gap:7px;color:#687084;font-size:11px;white-space:nowrap}.worktype-active input{width:16px;height:16px;accent-color:#7164dc}
  .worktype-row-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end}

  .filter-summary{display:flex;align-items:flex-start;gap:11px;margin:0 0 12px;padding:12px 14px;border:1px solid #e2ddfa;border-radius:13px;background:linear-gradient(105deg,#faf8ff,#f8fcff 52%,#f7fcfa)}
  .filter-summary .filter-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:9px;background:#efecff;color:#6659d6;font-size:17px}
  .filter-summary div{display:flex;flex-direction:column;gap:3px}.report-detail-table table{min-width:980px}
  .filter-row th{padding:8px 8px 10px;background:#fbfbfe;border-top:1px solid #edf0f7}.filter-row select{width:100%;height:34px;min-width:118px;border:1px solid #dfe3ef;border-radius:9px;padding:0 28px 0 9px;background:#fff;color:#5f667a;outline:none;cursor:pointer}
  .editable-time-cell{display:flex;align-items:center;gap:7px;min-width:105px}.editable-time-cell>span{font-weight:650}.director-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.detail-edit-wrap{display:flex;align-items:flex-start;gap:8px;min-width:220px}.detail-edit-wrap .entry-detail{flex:1}
}
@media(min-width:741px) and (max-width:1100px){
  .team-row{grid-template-columns:40px minmax(180px,1fr) repeat(2,minmax(100px,.7fr)) 24px}
  .team-row>span:nth-of-type(4),.team-row>span:nth-of-type(5){display:none}
  .employee-detail-head{grid-template-columns:1fr}.detail-totals{flex-wrap:wrap}
  .interval-head,.interval-row{grid-template-columns:42px 125px 150px minmax(220px,1.7fr) 110px 38px;min-width:760px;gap:10px}
}

/* Dynamic brand on the approved concert cover. The patch hides the baked-in logo area. */
.approved-login-cover{position:relative}
.login-dynamic-brand{position:absolute;z-index:5;left:4.1%;top:4.1%;display:flex;align-items:center;gap:13px;width:330px;min-height:82px;padding:10px 30px 10px 6px;background:linear-gradient(90deg,#02030f 0%,#02030f 78%,rgba(2,3,15,.96) 88%,rgba(2,3,15,0) 100%)}
.login-dynamic-brand .login-logo{width:58px;height:58px;border-radius:17px;overflow:hidden;flex:none}
.login-dynamic-brand .login-logo img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:inherit}
.login-dynamic-copy{display:flex;flex-direction:column;min-width:0}.login-dynamic-copy b{color:#fff;font-size:23px;line-height:1.05;letter-spacing:1.5px;white-space:nowrap}.login-dynamic-copy span{color:#a792ff;font-size:10px;letter-spacing:5px;margin-top:6px;text-transform:uppercase;white-space:nowrap}
@media(max-width:740px){
  .login-dynamic-brand{left:3.8%;top:3.8%;min-width:0;width:70%;min-height:64px;gap:8px;padding:6px 18px 6px 5px}
  .login-dynamic-brand .login-logo{width:11vw;max-width:48px;height:11vw;max-height:48px;border-radius:14px}
  .login-dynamic-copy b{font-size:clamp(14px,4.4vw,20px);letter-spacing:1px}.login-dynamic-copy span{font-size:clamp(6px,2vw,9px);letter-spacing:clamp(2px,.9vw,4px);margin-top:4px}
}


/* ==========================================================
   1.2.3 — employee administration
   ========================================================== */
.employee-admin-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end;white-space:nowrap}
.employee-edit-btn,.employee-delete-btn{padding:8px 10px;font-size:12px}
.employee-delete-btn:disabled{opacity:.42;cursor:not-allowed}
.employee-history-note{margin:12px 2px 0;line-height:1.5}
.employee-active-toggle{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:13px;padding:12px 13px;margin:2px 0 17px;background:var(--bg);cursor:pointer}
.employee-active-toggle input{width:18px;height:18px;accent-color:#7164dc;margin-top:1px;flex:none}
.employee-active-toggle span{display:flex;flex-direction:column;gap:3px}.employee-active-toggle b{font-size:13px}.employee-active-toggle small{font-size:11px;color:var(--muted);line-height:1.35}
html[data-theme='dark'] .employee-active-toggle{background:var(--bg);border-color:var(--line)}
html[data-theme='dark'] .employee-admin-actions .btn.soft{background:#27243d!important;color:#c8bdff!important;border-color:#40385e!important}
html[data-theme='dark'] .employee-admin-actions .btn.danger-soft{background:#332126!important;color:#ffb6ae!important;border-color:#57343a!important}
@media(min-width:741px){.employees-admin-table{min-width:920px}.employees-admin-table th:last-child,.employees-admin-table td:last-child{text-align:right}.employee-edit-modal{width:min(760px,100%)}}
@media(max-width:740px){
  .employee-section-title{align-items:stretch;flex-direction:column}.employee-section-title .btn{width:100%}
  .employees-admin-table tbody td:last-child{display:block!important;text-align:left;padding-top:10px;border-top:1px solid var(--line)!important;margin-top:4px}
  .employees-admin-table tbody td:last-child:before{display:none}
  .employees-admin-table tbody td:last-child>*{max-width:none!important}
  .employee-admin-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:7px;width:100%}.employee-admin-actions .btn{width:100%;font-size:12px;padding:10px 8px}
  .employee-edit-modal .form-grid{grid-template-columns:1fr!important}.employee-edit-modal .actions{display:grid;grid-template-columns:1fr 1.35fr;width:100%}.employee-edit-modal .actions .btn{width:100%}
}

/* 1.2.4: default approved cover already contains LIGHTECH TIME SHEET; dynamic brand is only for user customizations. */
.login-dynamic-brand.hidden{display:none!important}


/* ==========================================================
   1.2.5 — responsive login: background, brand and copy are
   independent layers. No logo/text is baked into an image.
   ========================================================== */
.login-root{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr);min-height:100dvh;background:#fff}
.responsive-login-cover{position:relative;min-width:0;min-height:100dvh;overflow:hidden;padding:clamp(30px,4vw,64px) clamp(32px,5.6vw,88px) clamp(46px,7vh,82px);display:flex;flex-direction:column;background:#030611;isolation:isolate}
.responsive-login-cover::before{content:"";position:absolute;inset:0;z-index:-4;background:radial-gradient(circle at 20% 45%,rgba(95,29,194,.28),transparent 31%),radial-gradient(circle at 75% 18%,rgba(65,40,190,.32),transparent 29%),radial-gradient(circle at 70% 74%,rgba(15,91,192,.30),transparent 30%),linear-gradient(145deg,#02030d 0%,#060526 46%,#07123b 76%,#03081e 100%)}
.responsive-login-cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;z-index:-2;background:linear-gradient(180deg,rgba(6,9,30,0),rgba(8,10,36,.76) 34%,#030617 100%);box-shadow:0 -1px 0 rgba(104,120,255,.20) inset}
.login-art{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.login-art::before{content:"";position:absolute;width:56%;height:46%;left:-12%;top:22%;border-radius:50%;background:radial-gradient(circle,rgba(86,29,180,.30),rgba(48,14,110,.10) 48%,transparent 72%);filter:blur(34px)}
.login-art::after{content:"";position:absolute;width:44%;height:34%;right:4%;bottom:12%;border-radius:50%;background:radial-gradient(circle,rgba(26,109,255,.28),rgba(25,60,178,.10) 52%,transparent 76%);filter:blur(32px)}
.laser{position:absolute;left:-10%;transform-origin:left center;border-radius:999px;mix-blend-mode:screen;filter:drop-shadow(0 0 9px rgba(116,98,255,.65));opacity:.96}
.laser-a{width:108%;height:4px;bottom:8%;transform:rotate(-2deg);background:linear-gradient(90deg,rgba(155,53,255,0),rgba(183,73,255,.95) 28%,rgba(86,176,255,.98) 71%,rgba(70,145,255,.05))}
.laser-b{width:105%;height:5px;bottom:15%;transform:rotate(-20deg);background:linear-gradient(90deg,rgba(191,72,255,0),rgba(198,72,255,.90) 22%,rgba(111,60,255,.95) 54%,rgba(61,149,255,.96) 80%,rgba(45,118,255,.04))}
.laser-c{width:102%;height:4px;bottom:21%;transform:rotate(-31deg);background:linear-gradient(90deg,rgba(123,73,255,0),rgba(181,64,255,.88) 24%,rgba(123,74,255,.97) 58%,rgba(48,144,255,.92) 82%,rgba(48,144,255,0))}
.laser-d{width:92%;height:3px;bottom:7%;transform:rotate(9deg);background:linear-gradient(90deg,rgba(191,65,255,0),rgba(216,76,255,.97) 38%,rgba(143,70,255,.96) 67%,rgba(78,152,255,0))}
.laser-e{width:76%;height:3px;left:16%;bottom:16%;transform:rotate(-38deg);background:linear-gradient(90deg,rgba(101,115,255,0),rgba(133,99,255,.90) 18%,rgba(96,92,255,.98) 56%,rgba(57,158,255,.94) 86%,rgba(44,131,255,0))}
.stage-glow{position:absolute;border-radius:50%;bottom:3.5%;mix-blend-mode:screen;filter:blur(1px)}
.stage-glow-a{left:26%;width:78px;height:78px;background:radial-gradient(circle,rgba(255,255,255,.96),rgba(187,101,255,.84) 15%,rgba(141,61,255,.34) 43%,transparent 70%);box-shadow:0 0 34px rgba(175,89,255,.52)}
.stage-glow-b{right:16%;width:64px;height:64px;background:radial-gradient(circle,rgba(255,255,255,.98),rgba(99,202,255,.85) 16%,rgba(48,121,255,.34) 45%,transparent 72%);box-shadow:0 0 30px rgba(76,174,255,.54)}
.responsive-login-cover .login-dynamic-brand{position:relative;left:auto;top:auto;z-index:4;width:auto;min-width:0;min-height:0;padding:0;background:none;display:flex;align-items:center;gap:clamp(11px,1.1vw,16px)}
.responsive-login-cover .login-logo{width:clamp(54px,4.3vw,68px);height:clamp(54px,4.3vw,68px);border-radius:clamp(16px,1.3vw,21px);background:linear-gradient(145deg,#9445ff,#6c63ff 52%,#3fafff);color:#fff;font-weight:900;font-size:clamp(16px,1.3vw,21px);letter-spacing:-1px;display:grid;place-items:center;overflow:hidden;box-shadow:0 12px 36px rgba(91,54,240,.42),0 0 0 1px rgba(255,255,255,.20) inset}
.responsive-login-cover .login-logo img{width:100%;height:100%;object-fit:cover;background:transparent;border-radius:inherit}
.responsive-login-cover .login-dynamic-copy{display:flex;flex-direction:column;min-width:0}
.responsive-login-cover .login-dynamic-copy b{font-size:clamp(19px,1.7vw,28px);line-height:1;letter-spacing:clamp(1px,.13vw,2px);color:#fff;white-space:nowrap;text-shadow:0 4px 18px rgba(0,0,0,.25)}
.responsive-login-cover .login-dynamic-copy span{margin-top:clamp(5px,.5vw,8px);font-size:clamp(8px,.72vw,11px);letter-spacing:clamp(3px,.45vw,6px);color:#a999ff;text-transform:uppercase;white-space:nowrap}
.responsive-login-cover .login-copy{position:relative;z-index:3;margin:auto 0 clamp(20vh,22vh,26vh);max-width:min(88%,700px)}
.responsive-login-cover .login-eyebrow{display:block;font-size:clamp(12px,.9vw,15px);letter-spacing:clamp(2.6px,.28vw,4.5px);font-weight:800;color:#a795ff;text-shadow:0 4px 18px rgba(0,0,0,.36)}
.responsive-login-cover .login-copy h1{margin:clamp(14px,1.6vw,24px) 0 0;font-size:clamp(42px,4.35vw,72px);line-height:1.02;letter-spacing:clamp(-2.6px,-.12vw,-1px);font-weight:800;color:#fff;text-wrap:balance;text-shadow:0 10px 32px rgba(0,0,0,.34)}
.login-panel{min-width:0;min-height:100dvh;background:#fff;display:grid;place-items:center;padding:clamp(28px,5vw,76px)}
.login-card{width:min(100%,470px);padding:0}

@media(max-width:1180px) and (min-width:741px){
  .login-root{grid-template-columns:minmax(0,1fr) minmax(400px,.88fr)}
  .responsive-login-cover{padding-left:clamp(32px,4vw,54px);padding-right:clamp(28px,4vw,54px)}
  .responsive-login-cover .login-copy{margin-bottom:20vh;max-width:94%}
  .responsive-login-cover .login-copy h1{font-size:clamp(38px,4.7vw,58px)}
}

@media(max-width:740px){
  .login-root{display:flex;flex-direction:column;min-height:100dvh}
  .responsive-login-cover{display:flex;width:100%;min-height:46dvh;padding:calc(24px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 30px max(22px,env(safe-area-inset-left))}
  .responsive-login-cover .login-dynamic-brand{gap:10px}
  .responsive-login-cover .login-logo{width:50px;height:50px;border-radius:15px;font-size:15px}
  .responsive-login-cover .login-dynamic-copy b{font-size:19px;letter-spacing:1.2px}
  .responsive-login-cover .login-dynamic-copy span{font-size:8px;letter-spacing:3.6px;margin-top:5px}
  .responsive-login-cover .login-copy{margin:auto 0 8px;max-width:96%}
  .responsive-login-cover .login-eyebrow{font-size:10px;letter-spacing:2.7px}
  .responsive-login-cover .login-copy h1{font-size:clamp(34px,10.7vw,47px);line-height:1.02;letter-spacing:-1.4px;margin-top:11px}
  .laser-b{bottom:14%;transform:rotate(-17deg)}.laser-c{bottom:19%;transform:rotate(-29deg)}.laser-e{bottom:15%;transform:rotate(-35deg)}
  .stage-glow-a{left:22%;width:58px;height:58px}.stage-glow-b{right:12%;width:46px;height:46px}
  .login-panel{display:block;min-height:54dvh;padding:26px max(20px,env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .login-card{max-width:460px;margin:0 auto}
}

@media(max-width:430px){
  .responsive-login-cover{min-height:43dvh;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:24px}
  .responsive-login-cover .login-logo{width:46px;height:46px;border-radius:14px}
  .responsive-login-cover .login-dynamic-copy b{font-size:17px}.responsive-login-cover .login-dynamic-copy span{font-size:7px;letter-spacing:3px}
  .responsive-login-cover .login-copy h1{font-size:clamp(31px,10vw,41px)}
  .login-panel{min-height:57dvh;padding-top:22px}
}

/* 1.2.5 responsive title hardening */
.responsive-login-cover .login-copy h1>span{display:block;white-space:nowrap}
.responsive-login-cover .login-dynamic-copy{max-width:calc(100% - 84px);overflow:hidden}.responsive-login-cover .login-dynamic-copy b,.responsive-login-cover .login-dynamic-copy span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:1180px) and (min-width:901px){.responsive-login-cover .login-copy h1{font-size:clamp(36px,3.8vw,52px)}}
@media(max-width:900px){
  .login-root{display:flex;flex-direction:column;min-height:100dvh}
  .responsive-login-cover{display:flex;width:100%;min-height:46dvh;padding:calc(24px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 30px max(22px,env(safe-area-inset-left))}
  .responsive-login-cover .login-copy{margin:auto 0 8px;max-width:96%}
  .responsive-login-cover .login-copy h1{font-size:clamp(34px,8.8vw,54px)}
  .login-panel{display:block;min-height:54dvh;padding:26px max(20px,env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .login-card{max-width:460px;margin:0 auto}
}
@media(max-width:430px){.responsive-login-cover .login-copy h1{font-size:clamp(30px,9.4vw,40px)}}


/* 1.2.7 — password recovery and manager batch employee selection */
.login-recovery-link{width:100%;border:0;background:transparent;color:#6f63d9;font:700 14px inherit;padding:12px 6px 2px;cursor:pointer;text-align:center}.login-recovery-link:hover{text-decoration:underline}
.recovery-modal{max-width:560px}.recovery-note{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:14px;background:rgba(116,103,221,.09);border:1px solid rgba(116,103,221,.17);margin:4px 0 14px}.recovery-note b{font-size:14px}.recovery-note span{font-size:12px;color:var(--muted)}.warn-note{background:rgba(244,181,93,.12);border-color:rgba(244,181,93,.26)}
.recovery-code-card{max-width:590px}.recovery-code-value{font:800 clamp(18px,3vw,28px)/1.3 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:1.4px;text-align:center;padding:20px 14px;margin:8px 0 14px;border-radius:16px;background:var(--soft);border:1px dashed var(--line);user-select:all;overflow-wrap:anywhere}
.recovery-profile-block{display:flex;align-items:center;justify-content:space-between;gap:18px}.recovery-profile-block>div{display:flex;flex-direction:column;gap:5px;min-width:0}.recovery-profile-block small{color:var(--muted);line-height:1.45}
.manager-employees-field{grid-column:span 2}.employee-multi-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:1px 0 10px}.employee-multi-actions span{margin-left:auto;font-size:12px;font-weight:800;color:var(--muted)}.mini-link{border:0;background:transparent;color:#6f63d9;font:700 12px inherit;padding:3px 0;cursor:pointer}.mini-link:hover{text-decoration:underline}.employee-multi-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto;padding:3px}.employee-check{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--card);cursor:pointer;transition:.15s ease}.employee-check:hover{border-color:rgba(116,103,221,.42)}.employee-check.checked{border-color:rgba(116,103,221,.48);background:rgba(116,103,221,.08)}.employee-check input{position:absolute;opacity:0;pointer-events:none}.employee-check-mark{width:24px;height:24px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:transparent;font-weight:900;background:var(--soft)}.employee-check.checked .employee-check-mark{background:#7467dd;color:white;border-color:#7467dd}.employee-check>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;font-weight:700}.employee-check small{font-size:11px;color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:740px){.recovery-profile-block{align-items:stretch;flex-direction:column}.employee-multi-select{grid-template-columns:1fr;max-height:310px}.manager-employees-field{grid-column:1/-1}.employee-multi-actions span{width:100%;margin-left:0}.recovery-code-value{font-size:17px;letter-spacing:.7px}}

.day.today-day .day-num{box-shadow:0 0 0 2px rgba(116,103,221,.28);background:rgba(116,103,221,.10);border-radius:50%;font-weight:900}.day.today-day.selected-day .day-num{box-shadow:0 0 0 2px rgba(255,255,255,.55)}


/* 1.2.8 FINAL — dedicated Crew block for senior manager */
.span3{grid-column:1/-1}
.crew-block{margin:18px 0 6px;padding:18px;border:1px solid rgba(116,103,221,.20);border-radius:18px;background:linear-gradient(135deg,rgba(116,103,221,.055),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.crew-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.crew-title h3{font-size:18px;margin:5px 0 5px}.crew-title p{max-width:700px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.crew-count{min-width:112px;padding:10px 13px;border-radius:14px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.crew-count strong{font-size:25px;line-height:1;color:#6f63d9}.crew-count span{font-size:9px;color:var(--muted);margin-top:5px}.crew-count.has-selection{border-color:rgba(91,190,155,.28);background:rgba(91,190,155,.08)}
.crew-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0 12px}.crew-action{padding:9px 12px}.crew-hint{margin-left:auto;color:var(--muted);font-size:11px}
.crew-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.crew-member{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:10px;align-items:center;min-height:64px;padding:10px 11px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;transition:.16s ease}.crew-member:hover{border-color:rgba(116,103,221,.38);transform:translateY(-1px)}.crew-member.selected{border-color:rgba(116,103,221,.55);background:rgba(116,103,221,.09);box-shadow:0 5px 14px rgba(91,78,180,.07)}.crew-member input{position:absolute;opacity:0;pointer-events:none}.crew-avatar{width:40px;height:40px}.crew-person{display:flex;flex-direction:column;min-width:0}.crew-person b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-person small{font-size:10px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-check{width:25px;height:25px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:transparent;background:var(--soft);font-weight:900}.crew-member.selected .crew-check{color:#fff;background:#7467dd;border-color:#7467dd}
.crew-confirm,.crew-empty{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:12px}.crew-confirm{background:rgba(91,190,155,.10);border:1px solid rgba(91,190,155,.20)}.crew-empty{background:rgba(240,160,117,.10);border:1px solid rgba(240,160,117,.22)}.crew-confirm>span,.crew-empty>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;font-weight:900;background:var(--card)}.crew-confirm>span{color:#4b9b82}.crew-empty>span{color:#bd704e}.crew-confirm div,.crew-empty div{display:flex;flex-direction:column}.crew-confirm b,.crew-empty b{font-size:11px}.crew-confirm small,.crew-empty small{font-size:9px;color:var(--muted);margin-top:2px}
html[data-theme='dark'] .crew-block{background:linear-gradient(135deg,rgba(116,103,221,.12),rgba(31,34,45,.76));border-color:rgba(145,132,235,.22)}html[data-theme='dark'] .crew-member,html[data-theme='dark'] .crew-count{background:rgba(38,41,54,.92)}html[data-theme='dark'] .crew-member.selected{background:rgba(116,103,221,.18)}
@media(max-width:1050px){.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.crew-block{margin-top:14px;padding:14px}.crew-head{flex-direction:column;gap:12px}.crew-count{width:100%;min-width:0;flex-direction:row;gap:7px}.crew-count span{margin:0}.crew-toolbar{align-items:stretch}.crew-toolbar .btn{flex:1}.crew-hint{width:100%;margin:2px 0 0}.crew-grid{grid-template-columns:1fr}.crew-member{min-height:68px}.span3{grid-column:1/-1}}
