:root{--ink:#242226;--blue:#2c2ae8;--pink:#fe76b4;--muted:#85818b;--line:#e9e7ec;--label:300px;--cell:88px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);font-size:15px}*{box-sizing:border-box}body{margin:0;background:#fff}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b4b3ff;outline-offset:2px}[hidden]{display:none!important}.svg-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.topbar{height:92px;padding:0 28px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-size:25px;font-weight:900;letter-spacing:-1px}.brand img{width:62px;height:52px}.page-nav{display:flex;gap:8px;height:100%;align-items:center}.page-nav a{padding:12px 16px;border-radius:10px;font-weight:600;color:#77717b}.page-nav a.active{background:#ffe4f1;color:var(--ink)}.page-nav span{font-size:12px;background:#fff8;border-radius:6px;padding:3px 5px}.top-spacer,.toolbar-spacer{flex:1}.summary{color:var(--muted);font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e3e0e7;background:#fff;padding:10px 14px;border-radius:9px;white-space:nowrap;min-height:40px;font-weight:500}.button:hover{background:#f5f3f7}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover{background:#2420c7}.button.active{background:var(--blue);border-color:var(--blue);color:#fff}.button.danger,.danger{color:#c33b4b}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:8px;width:34px;height:36px;font-size:24px}.icon-button:hover{background:#efedf3}.toolbar{display:flex;align-items:center;gap:10px;min-height:86px;padding:14px 28px;border-bottom:1px solid var(--line);flex-wrap:wrap}.date-nav{display:flex;align-items:center;gap:5px}.month-button{margin-left:6px;font-weight:600;min-width:132px;text-transform:capitalize}.filter-control{display:flex;flex-direction:column;gap:3px;color:#89838f;font-size:11px}.filter-control select{font-size:13px;max-width:185px;border:0;border-bottom:1px solid #e3e0e7;background:white;padding:4px 18px 4px 0;color:var(--ink)}.zoom-control{display:flex;padding:3px;border-radius:9px;background:#f3f1f6}.zoom-control button{border:0;background:transparent;padding:8px;border-radius:7px;font-size:13px}.zoom-control button.active{background:white;box-shadow:0 1px 3px #24222615}.board-shell{height:calc(100vh - 178px);overflow:auto;overscroll-behavior:contain;touch-action:none;scroll-behavior:auto}.board{position:relative;width:max-content;min-width:100%;isolation:isolate}.calendar-head{display:flex;position:sticky;top:0;z-index:40;height:78px;background:white;border-bottom:1px solid var(--line);width:max-content;min-width:100%}.corner{position:sticky;left:0;z-index:45;width:var(--label);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:white;border-right:1px solid var(--line);font-weight:600}.date-head{display:flex;cursor:grab}.date-cell{width:var(--cell);flex-shrink:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid #f0eef3;color:#79727f;font-size:12px;position:relative}.date-cell strong{color:var(--ink);font-size:18px;font-weight:600}.date-cell small{position:absolute;bottom:2px;font-size:9px}.date-cell.weekend{background:#faf9fc}.date-cell.today{background:#ffe4f1;color:#ba3879}.date-cell.today strong{color:#ad276b}.project-row{display:flex;position:relative;border-bottom:1px solid var(--line);width:max-content;min-width:100%}.project-label{position:sticky;left:0;z-index:30;background:#fff;width:var(--label);flex-shrink:0;border-right:1px solid var(--line);display:flex;align-items:flex-start;padding:28px 19px;gap:12px;box-shadow:3px 0 5px #24222603}.project-icon{width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,currentColor 9%,white);display:flex;align-items:center;justify-content:center;flex-shrink:0}.project-icon .svg-icon{width:23px;height:23px}.project-text{display:flex;flex-direction:column;gap:8px;min-width:0}.project-text b{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.project-text span{font-size:12px;color:#8e8794}.project-text small{font-size:11px;color:#9d96a4;white-space:nowrap}.project-actions{margin-left:auto;flex-shrink:0;width:24px;font-size:20px}.lane{position:relative;flex-shrink:0;cursor:grab;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--cell) - 1px),#efedf3 calc(var(--cell) - 1px),#efedf3 var(--cell))}.weekend-shade,.today-column{position:absolute;top:0;bottom:0;width:var(--cell);pointer-events:none}.weekend-shade{background:#f8f7fa80}.today-column{background:#fe76b410;border-left:1px solid #fe76b440;border-right:1px solid #fe76b440}.project-range{position:absolute;top:8px;bottom:8px;border:1.5px solid color-mix(in srgb,var(--project-color) 50%,white);border-radius:12px;background:color-mix(in srgb,var(--project-color) 3%,transparent);pointer-events:none;z-index:2}.range-caption{position:absolute;top:3px;left:14px;font-size:10px;color:color-mix(in srgb,var(--project-color) 70%,#242226);white-space:nowrap}.range-grip{pointer-events:auto;position:absolute;top:1px;bottom:1px;width:14px;background:transparent;border:0;cursor:ew-resize;padding:0;z-index:10}.range-grip.left{left:-7px}.range-grip.right{right:-7px}.range-grip:after{content:'';position:absolute;top:4px;height:18px;width:5px;border-radius:4px;left:4px;background:var(--project-color);opacity:.5}.range-grip:hover:after{opacity:1}.task-card{position:absolute;z-index:12;display:flex;align-items:center;gap:7px;height:44px;padding:0 15px 0 11px;border-radius:8px;border:1px solid color-mix(in srgb,var(--card-color) 45%,white);background:color-mix(in srgb,var(--card-color) 24%,white);color:var(--ink);cursor:grab;user-select:none;touch-action:none;box-shadow:0 1px 2px #24222609;white-space:nowrap}.task-card:hover{box-shadow:0 3px 8px #24222618;border-color:var(--card-color)}.avatar{width:27px;height:27px;border-radius:50%;background:#fff9;color:#403947;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;object-fit:cover}.avatar.large{width:54px;height:54px;font-size:17px;background:#ffe4f1}.task-name{font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;max-width:160px}.task-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.task-divider{opacity:.4}.resize-handle{position:absolute;top:5px;bottom:5px;width:9px;cursor:ew-resize;z-index:4}.resize-handle.left{left:0}.resize-handle.right{right:0}.resize-handle:after{content:'';position:absolute;top:6px;bottom:6px;width:4px;border-radius:4px;background:#24222666;opacity:0;left:2px}.task-card:hover .resize-handle:after{opacity:1}.link-handle{position:absolute;right:-11px;top:12px;width:20px;height:20px;padding:0;line-height:16px;color:var(--blue);background:white;border:1px solid #e3e0e7;border-radius:4px;opacity:0;font-size:19px;cursor:crosshair;z-index:8}.task-card:hover .link-handle,.link-source .link-handle{opacity:1}.link-source{outline:2px solid var(--blue)}.task-card.overdue:before{content:'';position:absolute;left:var(--hatch-left);right:0;top:0;bottom:0;border-radius:0 8px 8px 0;background:repeating-linear-gradient(135deg,transparent 0,transparent 5px,#cf314728 5px,#cf314728 8px);pointer-events:none}.task-card.completed{opacity:.63}.done-icon{width:16px;color:#155c43}.task-card.is-dragging{opacity:.25;border:2px dashed var(--blue)}.drag-ghost{position:fixed;z-index:1500;pointer-events:none;opacity:.94;transform:rotate(-1deg);box-shadow:0 15px 28px #24222635;cursor:grabbing}.links-layer{position:absolute;top:0;left:0;pointer-events:none;z-index:8;overflow:visible}.link-path{fill:none;stroke:var(--blue);stroke-width:1.6;opacity:.6}.link-path.preview{stroke-dasharray:5 4;opacity:1;stroke-width:2}.panning,.panning *,.dragging{cursor:grabbing!important;user-select:none}.empty-state{padding:60px;color:#938b9b;max-width:700px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);background:var(--ink);color:white;border-radius:10px;padding:12px 20px;z-index:2000;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;inset:0;z-index:800;display:flex;align-items:center;justify-content:center;background:#24222650;padding:24px;backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:18px;width:650px;max-width:100%;max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 25px 80px #24222630}.modal-head{padding:26px 28px 18px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;color:#a790a0;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}h2{margin:0;font-size:24px;letter-spacing:-.6px}.modal-body{padding:0 28px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:500;color:#7d7483}.field input:not([type=hidden]),.field select,.field textarea{border:1px solid #e5e0e9;border-radius:9px;padding:12px;color:var(--ink);width:100%;background:#fff;font-size:15px}.field textarea{resize:vertical;min-height:84px}.modal-actions{padding:18px 28px;border-top:1px solid var(--line);display:flex;gap:9px}.date-range-button{display:flex;align-items:center;gap:13px;border:1px solid #e5e0e9;border-radius:11px;padding:15px;background:#faf9fc;text-align:left;color:var(--ink);font-size:17px}.date-range-button b{font-weight:400;color:#b5a9bd;margin:0 8px}.date-range-button small{margin-left:auto;font-size:12px;color:#978ba1}.date-range-button .svg-icon{color:var(--blue)}.date-range-button:hover{border-color:var(--blue)}.deadline-button{font-size:15px;background:#fff}.deadline-button .svg-icon{color:#b64b80}.checkbox{display:flex;align-items:center;gap:9px;font-size:14px}.checkbox input{width:18px;height:18px;accent-color:var(--blue)}.checkbox .svg-icon{color:#aaa}.color-square{width:36px;height:36px;border:3px solid white;border-radius:8px;outline:1px solid #ddd;box-shadow:0 1px 3px #24222622}.color-palette{display:grid;grid-template-columns:repeat(6,34px);gap:9px;width:max-content;padding:12px;background:#faf9fc;border:1px solid #eee;border-radius:12px}.swatch{width:34px;height:34px;border-radius:7px;border:2px solid transparent}.swatch.selected{outline:2px solid var(--ink);outline-offset:2px}.icon-picker{display:grid;grid-template-columns:repeat(11,1fr);gap:6px}.icon-choice{border:1px solid #e9e4ed;background:#fff;display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:9px;color:inherit}.icon-choice .svg-icon{width:24px;height:24px}.icon-choice:hover,.icon-choice.selected{background:color-mix(in srgb,currentColor 10%,white);border-color:currentColor}.avatar-picker{display:flex;gap:12px;align-items:center}.tip-list{padding-left:18px;line-height:1.9;color:#716977;font-size:14px}.task-context-menu{position:fixed;z-index:1000;background:white;border:1px solid #e4dfea;border-radius:12px;padding:6px;box-shadow:0 12px 35px #24222623;width:220px}.task-context-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;border-radius:7px;font-size:14px}.task-context-menu button:hover{background:#f5f2fa}.task-context-menu .svg-icon{width:17px;height:17px}
.calendar-popover{position:fixed;z-index:1100;background:white;border:1px solid #e4deeb;border-radius:18px;padding:20px;box-shadow:0 18px 65px #24222630;max-height:calc(100vh - 24px);overflow:auto}.picker-head{display:flex;justify-content:space-between;gap:10px}.picker-head b{font-size:15px}.picker-head small{display:block;font-size:11px;color:#a095a9;margin-top:5px}.picker-selection{margin-top:18px;padding:12px 14px;background:#f7f4fc;border-radius:9px;font-weight:600;font-size:16px;display:flex;gap:12px;align-items:center}.picker-selection span{color:#b6a7c1}.picker-selection small{font-weight:400;font-size:11px;color:#998ba4;margin-left:auto}.picker-month-nav{display:flex;justify-content:space-between;height:34px;margin-top:6px}.picker-months{display:flex;gap:24px}.picker-month{flex:1;min-width:0}.picker-month h3{text-align:center;margin:0 0 16px;text-transform:capitalize;font-size:14px;font-weight:600}.picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.weekday{font-size:10px;color:#aaa0b5;text-align:center;padding:7px 0}.calendar-day{border:0;background:transparent;border-radius:7px;aspect-ratio:1;min-width:0;font-size:13px;padding:4px}.calendar-day.outside{color:#cec7d6;opacity:.45}.calendar-day:hover:not(:disabled){background:#ffe1ef}.calendar-day.current{box-shadow:inset 0 0 0 1px #fe76b4;color:#b9437c}.calendar-day.in-range{background:#efedff;border-radius:3px}.calendar-day.selected{background:var(--blue);color:white}.picker-footer{border-top:1px solid var(--line);padding-top:14px;margin-top:15px;display:flex;justify-content:flex-end;gap:9px}
.team-page{background:#faf9fc;min-height:calc(100vh - 92px);padding:38px max(30px,calc((100vw - 1100px)/2))}.team-heading{display:flex;justify-content:space-between;align-items:center}.team-heading h1{margin:0;font-size:32px;letter-spacing:-1px}.team-heading p{color:#9a8ca3;font-size:14px;margin:10px 0 0}.team-controls{display:flex;align-items:center;gap:22px;margin:30px 0 18px}.team-controls input{border:1px solid #e4deeb;background:white;border-radius:10px;padding:12px;width:300px}.team-controls select{background:transparent}.team-controls>span{margin-left:auto;color:#96899e;font-size:13px}.accounting-note{font-size:11px;line-height:1.7;color:#a396ad;margin:0 0 24px;max-width:1000px}.member-card{background:white;border:1px solid #eee8f2;border-radius:13px;margin:12px 0;overflow:hidden}.member-main{padding:23px;display:flex;align-items:center;gap:18px}.member-info{flex:1}.member-info h2{font-size:18px;letter-spacing:-.3px}.member-info span{color:#b0a3b9;font-size:12px;display:block;margin-top:6px}.shift-number{min-width:90px;display:flex;flex-direction:column;gap:5px;text-align:center}.shift-number b{font-size:25px;font-weight:600;color:var(--blue)}.shift-number span{font-size:10px;color:#a292ae}.shift-number.planned b{color:#8c7c96}.member-details summary{cursor:pointer;padding:12px 24px;font-size:12px;background:#fcfaff;color:#a18eac}.member-details summary span{float:right;color:#796886}.shifts-table{padding:10px 24px 24px;overflow:auto}.shifts-table table{width:100%;border-collapse:collapse;font-size:12px}.shifts-table th{text-align:left;color:#ab9bb6;font-size:10px;font-weight:500;padding:15px 10px}.shifts-table td{border-top:1px solid #eee8f2;padding:14px 10px;vertical-align:top}.shifts-table td:first-child{min-width:180px}.shifts-table td .svg-icon{margin-right:8px;width:17px;height:17px}.shifts-table td small{display:block;color:#ac9fb5;margin:5px 0 10px;font-size:10px}.no-shifts{padding:0 24px 17px;color:#c0b4c8;font-size:11px}@media(max-width:1100px){.topbar{gap:12px;padding:0 18px}.summary{display:none}.toolbar{padding:12px 18px;gap:8px}.toolbar-spacer{display:none}.board-shell{height:calc(100vh - 200px)}.month-button{min-width:110px;font-size:13px}.team-page{padding:28px}.member-main{gap:12px}.shift-number{min-width:65px}}@media(max-width:700px){.brand span{font-size:18px}.brand img{width:40px}.page-nav a{padding:8px;font-size:12px}.topbar{height:74px;gap:8px}.topbar .primary{font-size:11px;padding:8px}.team-controls{flex-wrap:wrap}.member-main{flex-wrap:wrap}.member-info{min-width:170px}.icon-picker{grid-template-columns:repeat(7,1fr)}.form-grid{grid-template-columns:1fr}.field,.full{grid-column:1}.modal-backdrop{padding:12px}.modal-body,.modal-head,.modal-actions{padding-left:18px;padding-right:18px}.picker-months{gap:10px}.calendar-popover{padding:12px}.avatar-picker{flex-wrap:wrap}.filter-control select{max-width:145px}.toolbar{font-size:12px}}
/* Timeline revision: continuous navigation, custom filters, project resources and 3D emoji. */
.month-button{border:0;background:transparent;border-radius:8px;padding:8px 6px;cursor:pointer;text-align:left;font-size:14px;color:var(--ink)}.month-button:hover{background:#f7f4fb}.filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:185px;max-width:185px;min-height:38px;background:#faf9fc;border:1px solid #e7e2ec;border-radius:10px;padding:9px 12px;font-size:13px;text-align:left;color:var(--ink);box-shadow:0 1px 2px #24222604}.filter-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-trigger:hover,.filter-trigger[aria-expanded=true]{background:#f2f0fb;border-color:#aaa7ed}.filter-chevron{width:14px;height:14px;transform:rotate(90deg);opacity:.45}.filter-popover{position:fixed;z-index:750;width:290px;max-width:calc(100vw - 24px);padding:9px;background:#fff;border:1px solid #e8e2ee;border-radius:14px;box-shadow:0 15px 45px #24222624}.filter-search{width:100%;padding:10px 12px;background:#f8f6fb;border:1px solid #eee8f4;border-radius:9px;font-size:13px;color:var(--ink);margin-bottom:7px}.filter-options{max-height:320px;overflow:auto;scrollbar-width:thin}.filter-option{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;border:0;background:transparent;border-radius:8px;padding:11px 12px;font-size:13px}.filter-option:hover{background:#f6f2fb}.filter-option.selected{background:#efedff;color:var(--blue)}.filter-option .svg-icon{width:15px;height:15px}.picker-empty{padding:12px;color:#a496ad;font-size:13px}.undo-button{font-size:24px;border:1px solid #e8e3ee;background:#faf9fc;width:38px;height:40px;border-radius:9px}.undo-button:disabled{opacity:.3}.task-card.completed{opacity:1;background:color-mix(in srgb,var(--card-color) 9%,white);border-color:color-mix(in srgb,var(--card-color) 19%,white);box-shadow:none}.task-card.completed .avatar,.task-card.completed .task-name,.task-card.completed .task-title,.task-card.completed .task-divider{opacity:.4}.done-badge{width:23px;height:23px;min-width:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#4e8b70;color:white;border:2px solid white;box-shadow:0 0 0 1px #4e8b7030;margin-left:auto}.done-badge .svg-icon{width:14px;height:14px;stroke-width:2.8}.link-handle{display:none!important}.project-resources{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;max-width:180px}.resource-shortcut{width:29px;height:29px;border-radius:7px;border:1px solid #e9e4ed;background:#faf9fc;display:inline-flex;align-items:center;justify-content:center;transition:transform .1s,background .1s}.resource-shortcut:hover{transform:translateY(-2px);background:#f0edff;border-color:#c9c3f7}.resource-shortcut img{width:22px;height:22px}.resource-shortcut .svg-icon{width:16px;height:16px;color:#9b8cab}.project-emoji{width:32px;height:32px;object-fit:contain;display:block}.project-icon:has(.project-emoji){background:transparent}.project-icon-select{display:flex;align-items:center;gap:12px;background:#faf9fc;border:1px solid #e7e2ec;border-radius:10px;padding:10px;min-height:54px;text-align:left;font-size:13px}.project-icon-select:hover{border-color:#bdb8e7}.project-icon-select .project-emoji{width:36px;height:36px}.project-icon-select>span{color:#8b7b96}.resource-heading{display:flex;align-items:center;justify-content:space-between}.resource-heading .button{min-height:32px;padding:7px 10px;font-size:12px}.project-resource-editor>small{font-size:11px;color:#ab9ab7}.resource-row{display:flex;gap:9px;align-items:center;border:1px solid #e9e2ef;background:#fcfaff;border-radius:11px;padding:10px;margin-bottom:9px}.resource-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.resource-kind{width:25px;display:flex;align-items:center;justify-content:center}.resource-kind img{width:24px;height:24px}.field .resource-row input{font-size:12px;border:0;border-radius:4px;padding:5px 7px;background:transparent;min-width:0}.resource-row .resource-url{color:var(--blue)}.emoji-backdrop{position:fixed;inset:0;z-index:950;background:#24222646;backdrop-filter:blur(3px);padding:25px;display:flex;align-items:center;justify-content:center}.emoji-dialog{width:740px;max-width:100%;max-height:85vh;background:#fff;border-radius:19px;box-shadow:0 25px 80px #24222635;display:flex;flex-direction:column;overflow:hidden}.emoji-head{display:flex;justify-content:space-between;align-items:center;padding:24px 26px 16px}.emoji-head h2{font-size:22px}.emoji-head p{margin:7px 0 0;font-size:12px;color:#a291ad}.emoji-tools{display:flex;align-items:center;gap:12px;padding:0 26px 16px}.emoji-search{flex:1;min-width:0;border:1px solid #e7dfed;background:#faf8fc;padding:11px 13px;border-radius:10px;font-size:13px}.emoji-tabs{display:flex;background:#f2eef7;padding:3px;border-radius:9px}.emoji-tabs button{font-size:11px;background:transparent;border:0;padding:9px 10px;border-radius:7px}.emoji-tabs button.active{background:white;color:var(--blue);box-shadow:0 1px 3px #24222615}.emoji-categories{display:flex;gap:6px;flex-wrap:wrap;padding:0 26px 14px;border-bottom:1px solid #eee8f3}.emoji-categories button{border:0;background:#f9f6fb;color:#a08daa;padding:7px 9px;border-radius:8px;font-size:10px}.emoji-categories button.active{background:#ffe3f0;color:#a6356d}.emoji-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:18px 26px;overflow:auto;min-height:250px;scrollbar-width:thin;align-content:start}.emoji-choice{aspect-ratio:1;border:1px solid transparent;background:#faf8fc;display:flex;align-items:center;justify-content:center;border-radius:10px;padding:6px}.emoji-choice img{width:100%;height:100%;object-fit:contain;max-height:62px}.emoji-choice:hover{background:#ffe8f3;transform:scale(1.08)}.emoji-choice.selected{border:2px solid var(--blue);background:#efedff}.vector-choice .svg-icon{width:30px;height:30px;color:var(--blue)}.emoji-foot{padding:11px 26px;border-top:1px solid #eee8f3;color:#b0a0b9;font-size:10px}.project-icon .project-emoji{filter:drop-shadow(0 2px 2px #24222615)}@media(max-width:700px){.filter-trigger{width:155px}.emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr));padding:15px}.emoji-tools{flex-wrap:wrap}.emoji-tabs{margin-left:auto}.emoji-backdrop{padding:12px}.resource-row{padding:8px}.month-button{font-size:12px}}

/* v6 — project ordering, completion and toolbar rhythm */
.project-label{padding-left:38px;gap:10px}.project-drag-handle{position:absolute;left:8px;top:28px;width:23px;height:34px;padding:3px;border:0;border-radius:6px;background:transparent;color:#b7b0bf;cursor:grab;touch-action:none}.project-drag-handle svg{width:16px;height:24px}.project-drag-handle:hover{background:#f0edfa;color:var(--blue)}.dragging .project-drag-handle{cursor:grabbing}.task-card.completed{background:rgba(23,170,103,.07);border-color:rgba(23,170,103,.65);color:#28784f}.task-card.completed:hover{border-color:#17aa67;background:rgba(23,170,103,.1)}.done-badge{background:#17aa67;box-shadow:0 0 0 1px #17aa6730}.task-card.overdue:before{background:repeating-linear-gradient(135deg,transparent 0,transparent 6px,rgba(245,40,57,.62) 6px,rgba(245,40,57,.62) 9px),rgba(255,255,255,.52)}.completion-effect{position:fixed;width:120px;height:120px;z-index:1600;pointer-events:none;filter:drop-shadow(0 4px 8px #17aa6718)}.toolbar{align-items:center;gap:10px;padding-top:20px;padding-bottom:20px}.toolbar .filter-control{position:relative;gap:0}.toolbar .filter-control>span{position:absolute;top:-14px;left:2px;font-size:10px;line-height:12px}.toolbar .button,.toolbar .filter-trigger,.toolbar .undo-button,.toolbar .date-nav>.icon-button,.toolbar #helpButton,.toolbar .month-button{height:42px;min-height:42px;margin-top:0;margin-bottom:0}.toolbar .filter-trigger{padding-top:0;padding-bottom:0}.toolbar .zoom-control{height:42px;align-items:stretch}.toolbar .zoom-control button{padding:0 10px}.toolbar .month-button{display:flex;align-items:center}.board-shell{height:calc(100vh - 178px)}

/* v7 — centred project summaries and background mascot celebration */
.project-label{align-items:center;padding:18px 18px 18px 38px;gap:8px}.project-drag-handle{top:50%;transform:translateY(-50%)}.project-text{flex:1;gap:6px}.project-title-line{display:flex;align-items:center;gap:9px;min-width:0}.project-title-line .project-icon{width:30px;height:30px;flex-shrink:0}.project-title-line .project-emoji{width:30px;height:30px}.project-title-line b{font-size:15px;line-height:1.3}.project-text>span,.project-text>small,.project-text>.project-resources{margin-left:39px}.project-text>small{font-size:10px}.project-actions{align-self:center}.project-resources{gap:5px;max-width:170px;margin-top:2px}.resource-shortcut{width:27px;height:27px}.resource-shortcut img{width:20px;height:20px}.task-card.overdue:after{content:'';position:absolute;left:clamp(0px,var(--hatch-left),calc(100% - 5px));top:6px;bottom:6px;width:5px;border-radius:5px;background:#f52839;box-shadow:0 0 0 1px #ffffffb0;pointer-events:none;z-index:3}.unicorn-celebration{position:absolute;width:600px;height:380px;z-index:4;pointer-events:none;overflow:visible;animation:celebration-fade 2.2s ease both}.unicorn-celebration>svg{width:100%;height:100%;overflow:visible}.rainbow-flight{opacity:.7}.rainbow-flight path{stroke-dasharray:650;stroke-dashoffset:650;animation:rainbow-draw 1.65s cubic-bezier(.2,.4,.6,1) both}.flying-unicorn{animation:unicorn-fly 1.85s cubic-bezier(.25,.35,.55,1) both}.flight-sparkles{animation:flight-sparkle 2s ease both}.team-controls .filter-control{gap:5px}.team-controls .filter-trigger{height:42px}.shift-number{min-width:105px}.shifts-table th{white-space:nowrap}@keyframes unicorn-fly{0%{transform:translate(38px,333px) rotate(-18deg);opacity:0}9%{opacity:1}85%{opacity:1}100%{transform:translate(542px,50px) rotate(-18deg);opacity:0}}@keyframes rainbow-draw{0%{stroke-dashoffset:650;opacity:0}10%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}@keyframes celebration-fade{0%{opacity:0}8%{opacity:1}72%{opacity:1}100%{opacity:0}}@keyframes flight-sparkle{0%,25%{opacity:0}40%,70%{opacity:.8}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.unicorn-celebration{display:none}} 

/* Weekly team availability */
.team-page{padding:34px max(28px,calc((100vw - 1360px)/2))}.team-week-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #e8e4ef;border-radius:14px;padding:16px;margin:26px 0 12px}.team-week-navigation{display:flex;align-items:center;gap:8px}.team-week-title{background:none;border:0;text-align:left;min-width:225px;padding:5px}.team-week-title b{font-size:17px;display:block}.team-week-title small{display:block;color:#9a90a5;font-size:11px;margin-top:6px}.team-week-toolbar>input{flex:1;min-width:160px;max-width:250px;border:1px solid #e8e2ed;padding:11px 12px;border-radius:10px;font-size:13px}.availability-filters{display:flex;gap:6px;flex-wrap:wrap}.availability-filter{border:1px solid #e8e3ed;background:#faf9fc;padding:10px;border-radius:9px;font-size:12px;display:flex;gap:8px;align-items:center}.availability-filter span{color:#8d809c;font-size:11px}.availability-filter.active{background:#efedff;color:var(--blue);border-color:#c3bdf8}.team-overview{display:flex;justify-content:space-between;font-size:12px;color:#a397ae;margin:16px 0}.workload-legend{display:flex;gap:20px;font-size:11px;color:#998ba5;margin:0 0 15px;flex-wrap:wrap}.workload-legend span{display:flex;align-items:center;gap:7px}.workload-legend i{display:block;width:20px;height:10px;border-radius:3px}.workload-card{display:grid;grid-template-columns:245px minmax(280px,1fr) 90px 85px;column-gap:24px;row-gap:12px;padding:22px;align-items:center;overflow:visible}.workload-contact{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;gap:13px;min-width:0}.workload-contact .avatar{width:46px;height:46px;flex-shrink:0}.workload-contact>div{min-width:0}.workload-contact h2{font-size:15px;margin:0 0 7px;line-height:1.35}.workload-contact small{color:#b4a9bc;font-size:10px}.workload-status{margin:0;font-size:11px;line-height:1.5;color:#96849f}.workload-status.available{color:#199768}.workload-status.premium,.workload-number.premium b{color:#7659ff}.workload-status.conflict{color:#e04a5c}.workload-status.away{color:#96909e}.workload-days{grid-column:2;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-self:start}.workload-day{padding:0;border:0;background:none;text-align:center;min-width:0;font-size:11px;cursor:pointer}.workload-day>span{display:block;margin-bottom:9px;color:#95859f;text-transform:capitalize;white-space:nowrap}.workload-day>i{display:flex;align-items:center;justify-content:center;height:24px;border-radius:5px;font-style:normal;transition:filter .12s,transform .12s}.workload-day:hover>i{filter:brightness(.94);transform:translateY(-1px)}.workload-day:disabled{opacity:1;cursor:default}.workload-day>i svg{width:15px;height:15px}.workload-day.current-day>span{color:var(--blue);font-weight:700}.busy-day>i,i.busy-day{background:#00b487}.weekend-busy>i,i.weekend-busy{background:#7659ff}.free-day>i,i.free-day{background:#fff;border:1px solid #dcd5e5}.weekend-free>i{background:#eeecf3;border:1px solid #e6e1ec}.vacation-day>i,i.vacation-day{background:repeating-linear-gradient(135deg,#e8e6ee 0,#e8e6ee 2px,#f7f6fa 2px,#f7f6fa 5px);border:1px solid #d2cbdc;color:#92869e}.vacation-conflict>i{outline:2px solid #ed7382}.workload-number{grid-column:3;display:flex;flex-direction:column;align-items:center;gap:6px}.workload-number b{font-size:23px;color:var(--ink)}.workload-number span{font-size:11px;color:#a091ac}.workload-number .away-label{font-size:12px;color:#9a8eaa}.workload-profile{grid-column:4;font-size:12px;padding:9px;min-height:36px}.workload-projects{grid-column:2 / -1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:23px}.project-tag{border:0;border-radius:6px;background:color-mix(in srgb,var(--tag-color) 15%,white);color:color-mix(in srgb,var(--tag-color) 70%,#242226);font-size:11px;padding:6px 9px;cursor:pointer;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tag:hover{background:color-mix(in srgb,var(--tag-color) 25%,white)}.workload-projects>span{font-size:11px;color:#b0a2ba}.plan-member{border:0;background:transparent;font-size:11px;color:var(--blue);padding:5px 7px}.vacation-row{display:flex;gap:8px;align-items:center;margin-top:8px}.vacation-row .date-range-button{flex:1;min-width:0;font-size:12px}.vacation-empty{font-size:12px;color:#a698af}.vacation-editor{gap:10px}@media(max-width:1100px){.workload-card{grid-template-columns:205px minmax(230px,1fr) 75px;gap:15px}.workload-profile{grid-column:1;grid-row:3;justify-self:start}.workload-contact{grid-row:1 / span 2}.workload-projects{grid-column:2 / -1}.team-week-toolbar{gap:12px}.team-week-title{min-width:210px}}@media(max-width:750px){.team-page{padding:24px 16px}.team-heading h1{font-size:27px}.team-heading .button{font-size:11px}.team-week-navigation{flex-wrap:wrap}.workload-card{grid-template-columns:1fr 80px;padding:17px}.workload-contact{grid-column:1;grid-row:1}.workload-number{grid-column:2;grid-row:1}.workload-days{grid-column:1 / -1;grid-row:2}.workload-projects{grid-column:1 / -1;grid-row:3}.workload-profile{grid-column:2;grid-row:4}.team-overview{gap:10px;flex-wrap:wrap}.workload-day>span{font-size:10px}.workload-contact h2{font-size:16px}}

/* Deadline day and elapsed overdue, with week separators */
.date-cell.week-start{border-left:2px solid #b9b3c2}.week-boundary{position:absolute;top:0;bottom:0;border-left:2px solid #b9b3c2;z-index:3;pointer-events:none}.task-card.overdue:before{left:var(--hatch-left);width:var(--hatch-width);right:auto;border-radius:0 7px 7px 0}.task-card.overdue:after{display:none}.deadline-zone{position:absolute;top:0;bottom:0;border-left:4px solid #f52839;background:#f5283928;border-radius:5px;pointer-events:none;z-index:1}.task-card .avatar,.task-card .task-name,.task-card .task-title,.task-card .task-divider,.task-card .done-badge{position:relative;z-index:2}.task-card.completed .deadline-zone{display:none}

/* v10: readable overlays, visual filters, responsive day scales and contacts */
.modal-backdrop,.emoji-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(36,34,45,.12)}
.filter-option-label{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-align:left}
.filter-option-label>span:not(.avatar){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar.mini{width:22px;height:22px;min-width:22px;font-size:9px;object-fit:cover}
.filter-project-tag{display:inline-flex;max-width:100%;padding:4px 9px;font-size:12px;line-height:18px;border-radius:7px}
.filter-option .filter-project-tag{font-size:13px}
.filter-option>.svg-icon,.filter-trigger>.svg-icon{flex-shrink:0}
.zoom-control button{white-space:nowrap}
.project-title-line{justify-content:flex-start;text-align:left;align-items:center}
.project-text{text-align:left;align-items:flex-start}
.project-title-line b{line-height:1.3;text-align:left}
.project-text>span,.project-text>small,.project-text>.project-resources{margin-left:39px;text-align:left}
.project-drag-handle{align-self:center}
.member-contacts{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}
.contact-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;text-decoration:none;border-radius:7px;padding:5px 6px;line-height:16px;white-space:nowrap;background:#f3f2f7;color:#56515f}
.contact-link svg{width:14px;height:14px;flex-shrink:0}
.telegram-link{background:#edf4ff;color:#2c69c8}
.contact-link:hover{background:#e7e6fc}
.telegram-empty{color:#918b9b;background:transparent}
.contact-pencil{display:inline-flex;align-items:center;justify-content:center;padding:4px;width:24px;height:25px;border:0;border-radius:6px;background:transparent;color:#83798d;cursor:pointer}
.contact-pencil svg{width:14px;height:14px}
.contact-pencil:hover{background:#eeecf8;color:#2c2ae8}
.designer-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.telegram-profile{display:flex;align-items:center;gap:7px;min-height:43px}
.telegram-profile .contact-link{font-size:14px;padding:8px 12px}
.contact-hint{font-size:13px;line-height:1.5;color:#857c91}
@media(max-width:650px){.designer-contact-fields{grid-template-columns:1fr}}

/* v11: project directory, archive and timed absences */
.team-scale-summary{display:grid;grid-template-columns:245px minmax(280px,1fr) 90px 85px;gap:24px;padding:0 22px;margin:18px 0}
.team-scale-summary-content{grid-column:2;text-align:center}
.team-scale-summary .team-overview{justify-content:center;flex-direction:column;align-items:center;margin:0 0 10px;gap:5px}
.team-scale-summary .workload-legend{justify-content:center;margin:0;gap:15px}
.projects-toolbar{display:flex;align-items:center;gap:16px;margin:28px 0 20px;flex-wrap:wrap}
.projects-tabs{display:flex;background:#eeecf4;padding:4px;border-radius:12px;gap:4px}
.projects-tabs button{border:0;background:none;border-radius:9px;padding:10px 15px;color:#83768d;cursor:pointer;font:inherit;font-size:14px}
.projects-tabs button.active{background:white;color:#2c2ae8;box-shadow:0 2px 8px #2422260c}
.projects-tabs span{margin-left:7px;font-size:11px}
.projects-toolbar input{margin-left:auto;min-width:200px;background:white;border:1px solid #e8e4ee;border-radius:10px;padding:12px;font:inherit;font-size:13px}
.projects-toolbar .filter-trigger{width:210px;height:42px}
.project-list-card{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(175px,1fr) minmax(150px,1fr) 150px 95px;gap:20px;align-items:center;padding:22px;margin-bottom:12px}
.project-list-name{display:flex;align-items:center;gap:13px;padding:0;text-align:left;background:none;border:0;cursor:pointer;font:inherit;min-width:0}
.project-list-name b{display:block;font-size:16px;line-height:1.35}.project-list-name small{display:block;color:#998ba5;font-size:12px;margin-top:5px}
.project-list-dates,.project-list-team{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#998ba5}
.project-list-dates b{font-weight:500;color:#56515f;font-size:13px}
.project-avatars{display:flex;align-items:center;gap:3px;min-height:24px}
.priority-button{display:flex;align-items:center;gap:7px;justify-content:center;border:0;background:#f3f1f7;color:#8c8199;border-radius:9px;padding:10px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.priority-button .svg-icon{width:15px;height:15px}.priority-1{color:#389681;background:#ebf8f3}.priority-2{color:#b77a19;background:#fff6df}.priority-3{color:#d54675;background:#ffebf1}
.archive-button{justify-content:center;white-space:nowrap}
.task-card{overflow:visible}.task-card>.task-name,.task-card>.task-title{overflow:hidden;text-overflow:ellipsis}
.absence-marker{position:absolute;display:block;bottom:-4px;height:7px;border-radius:6px;background:#242226;box-shadow:0 0 0 2px #fff;z-index:16;pointer-events:none}
.absence-marker .boot-icon{position:absolute;width:14px;height:14px;left:50%;top:-4px;transform:translateX(-50%);background:#fff;border-radius:4px;color:#242226;padding:1px;box-sizing:content-box}
.workload-day{position:relative}.workload-day .absence-marker{bottom:-3px;height:5px}
.workload-day .absence-marker .boot-icon{width:12px;height:12px;top:-4px}
.task-context-menu .boot-icon{width:17px;height:17px}
.absence-list h3{font-size:13px;color:#8c8199;margin:6px 0 10px}
.absence-list-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0edf5;padding:8px 0;font-size:13px}
.absence-list-row>span{display:flex;align-items:center;gap:6px}.absence-list-row .boot-icon{width:16px;height:16px}
@media(max-width:1100px){.team-scale-summary{grid-template-columns:205px minmax(230px,1fr) 75px;gap:15px}.project-list-card{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) 135px 90px;gap:14px}.project-list-team{grid-column:2;grid-row:2}.priority-button{grid-column:3;grid-row:1}.archive-button{grid-column:4;grid-row:1}}
@media(max-width:760px){.team-scale-summary{grid-template-columns:1fr;padding:0 17px}.team-scale-summary-content{grid-column:1}.project-list-card{grid-template-columns:1fr 110px}.project-list-dates{grid-column:1}.project-list-team{grid-column:1;grid-row:3}.priority-button{grid-column:2}.archive-button{grid-column:2;grid-row:2}.projects-toolbar input{margin-left:0}.project-list-name{align-self:start}}

/* v12: blue duration bars with a clear white exit symbol */
.absence-marker{height:18px;bottom:-9px;border-radius:9px;background:#2C2AE8;color:#fff;box-shadow:none}
.absence-symbol{position:absolute;left:50%;top:0;transform:translateX(-50%);width:22px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#2C2AE8}
.absence-marker .boot-icon{position:static;width:16px;height:16px;transform:none;background:none;color:white;border-radius:0;padding:0;box-sizing:border-box}
.workload-day .absence-marker{height:16px;bottom:-8px;border-radius:8px}
.workload-day .absence-symbol{height:16px;border-radius:8px}
.workload-day .absence-marker .boot-icon{width:14px;height:14px}
.away-time-options{display:flex;flex-wrap:wrap;gap:22px}

/* v13: a custom time picker, running figure and draggable link diamonds */
.absence-marker{height:14px;bottom:-7px;border-radius:7px}.absence-symbol{height:14px;width:19px;border-radius:7px}
.absence-marker .boot-icon{width:11px;height:11px}.workload-day .absence-marker{height:14px;bottom:-7px}.workload-day .absence-symbol{height:14px}.workload-day .absence-marker .boot-icon{width:11px;height:11px}
.board.linking .resize-handle{display:none!important}.board.linking .task-card{cursor:default}.link-target{outline:2px solid #2c2ae8}
.links-endpoints{z-index:24}.link-create-handle{position:absolute;z-index:26;width:24px;height:24px;border:0;background:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:crosshair;touch-action:none}
.link-create-handle span{width:11px;height:11px;background:#2c2ae8;border:1px solid white;border-radius:2px;transform:rotate(45deg);box-shadow:0 0 0 3px #2c2ae815}.link-create-handle:hover span{box-shadow:0 0 0 5px #2c2ae824}
.away-time-range{display:grid;grid-template-columns:1fr 22px 1fr;gap:12px;align-items:center}
.away-time-card{background:#f8f7fc;border:1px solid #e8e5f0;border-radius:14px;padding:14px 16px;min-width:0}
.away-time-card>span{font-size:12px;color:#90859d;display:block;margin-bottom:7px}.away-time-card>div{display:flex;align-items:center;gap:8px}
.away-time-card input{font-size:26px;font-weight:600;letter-spacing:1px;color:#242226;border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;min-width:0;width:100%;height:36px}
.away-time-card:focus-within{border-color:#9a96fc;background:#f4f2ff}.away-time-card input:disabled{color:#83798d}
.time-picker-trigger{border:0;background:#eeecff;color:#2c2ae8;border-radius:8px;width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.time-picker-trigger .svg-icon{width:16px;height:16px;transform:rotate(90deg)}.time-picker-trigger:disabled{opacity:.4;cursor:default}
.away-range-arrow{color:#a397ae;text-align:center;font-size:20px}
.away-time-options{gap:8px}.away-duration-chip{padding:8px 12px;background:white;border:1px solid #e8e5f0;border-radius:20px;font:inherit;font-size:12px;color:#81758e;cursor:pointer}.away-duration-chip:hover,.away-duration-chip.active{background:#eeecff;border-color:#b9b6ff;color:#2c2ae8}
.time-popover{position:fixed;z-index:1100;width:290px;background:white;border:1px solid #e7e3ef;border-radius:17px;padding:15px;box-shadow:0 12px 45px #24222624}
.time-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.time-picker-heading .icon-button{width:26px;height:26px}
.time-picker-section{margin-top:12px}.time-picker-section>span{display:block;font-size:11px;color:#a397ae;margin-bottom:7px}
.time-hour-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.time-minute-grid{display:flex;gap:5px}
.time-hour-grid button,.time-minute-grid button{border:0;border-radius:8px;background:#f7f6fa;color:#62576d;padding:8px 0;font:inherit;font-size:12px;cursor:pointer}.time-minute-grid button{flex:1}
.time-hour-grid button:hover,.time-minute-grid button:hover{background:#eeecff}.time-hour-grid button.selected,.time-minute-grid button.selected{background:#2c2ae8;color:white}
.time-picker-apply{width:100%;margin-top:15px;justify-content:center}

/* v14: editing absences, two calendar months and smooth hover affordances */
.absence-marker{pointer-events:auto;cursor:pointer}.absence-symbol{pointer-events:none}
.absence-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.new-away-period{font:inherit;font-size:11px;background:none;border:0;color:#2c2ae8;cursor:pointer}
.absence-row-actions{display:flex;align-items:center;gap:8px}.absence-list-row.is-editing{background:#f3f1ff;border-radius:9px;padding-left:8px;padding-right:8px;color:#2c2ae8}
.two-months .date-cell{font-size:9px;gap:4px}.two-months .date-cell strong{font-size:11px}.two-months .date-cell small{font-size:8px}
.task-card{transition:background-color 160ms cubic-bezier(.2,.65,.3,1),border-color 160ms cubic-bezier(.2,.65,.3,1),box-shadow 160ms cubic-bezier(.2,.65,.3,1)}
.task-card:hover{box-shadow:0 2px 7px #24222616}
.resize-handle:after{transition:opacity 150ms cubic-bezier(.2,.65,.3,1)}
.link-create-handle span{transition:box-shadow 150ms cubic-bezier(.2,.65,.3,1)}
.range-grip,.project-actions{transition:opacity 150ms cubic-bezier(.2,.65,.3,1)}
.board-shell.dragging .task-card,.board-shell.dragging .resize-handle:after,.drag-ghost{transition:none}
@media(prefers-reduced-motion:reduce){.task-card,.resize-handle:after,.link-create-handle span,.range-grip,.project-actions{transition:none}}

/* Month groups remain aligned with days and keep their labels visible while panning. */
.brand img{object-fit:contain;width:62px;height:56px}
.calendar-head{height:110px}
.date-head{display:flex;flex-direction:column;flex-shrink:0}
.month-groups{display:flex;height:32px;flex-shrink:0;background:#f8f7fb;border-bottom:1px solid #e4e0ea}
.month-group{flex-shrink:0;min-width:0;border-right:2px solid #c8c2d3;display:flex;align-items:center}
.month-group-label{display:block;position:sticky;left:var(--label);width:max-content;max-width:100%;padding:0 12px;font-size:13px;font-weight:650;line-height:30px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#51495c}
.date-days{display:flex;height:78px;flex-shrink:0}

/* Project details share the left edge of the icon/title group. */
.project-text>span,.project-text>small,.project-text>.project-resources{margin-left:0;text-align:left}

/* Whole shifts and per-day task details. */
.workload-day>i.shift-bar{position:relative;overflow:hidden;height:28px;border:1px solid #e0dce8;background:#faf9fc;transform:none}
.shift-fill{position:absolute;left:0;top:0;bottom:0;width:var(--day-fill);background:#00b48755;border-radius:4px;pointer-events:none}
.shift-bar>b{position:relative;z-index:1;color:#31544b;font-size:10px;font-weight:650;line-height:26px}
.weekend-busy .shift-fill{background:#7659ff55}.weekend-busy .shift-bar>b{color:#5537a6}
.vacation-day>i.shift-bar{background:repeating-linear-gradient(135deg,#eeeaf5 0,#eeeaf5 4px,#fff 4px,#fff 7px)}
.workload-day>small{display:block;margin-top:11px;min-height:13px;font-size:9px;color:#92839c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workload-day.day-selected>i.shift-bar{outline:2px solid var(--blue);outline-offset:3px}.workload-day.day-selected>span{color:var(--blue)}
.workload-day .absence-marker{top:43px;bottom:auto}
.day-load-popup{position:fixed;z-index:700;background:white;border:1px solid #e4deec;border-radius:18px;box-shadow:0 18px 60px #24222624;padding:20px;max-height:calc(100vh - 24px);overflow:auto}
.day-load-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.day-load-heading .icon-button{flex-shrink:0;font-size:22px;width:28px;height:28px}
.day-load-summary{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0;font-size:12px}.day-load-summary strong{color:var(--blue)}.day-load-summary span{color:#00a57d}.day-load-summary .overload-text{color:#dc3550}
.day-load-tasks{max-height:320px;overflow:auto}.day-load-task{display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid #eee9f3;background:white;padding:13px 5px;width:100%;text-align:left;border-radius:8px}.day-load-task:hover{background:#f8f6fc}.day-load-task>div{min-width:0}.day-load-task .project-tag{display:inline-flex}.day-task-title{display:block;font-size:12px;line-height:1.5;color:#655871;margin-top:5px;overflow-wrap:anywhere}.day-load-task>b{font-size:14px;font-weight:550;white-space:nowrap}
.day-load-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.day-load-actions .button{font-size:12px;flex:1}.day-load-popup>small{display:block;font-size:10px}

/* Weekend shifts: calendar spans remain intact, actual work is explicit. */
.task-weekend{position:absolute;top:0;bottom:0;pointer-events:none;z-index:0;border-radius:3px}
.task-weekend.resting{background:rgba(238,237,241,.86);border-left:1px solid #ddd8e3;border-right:1px solid #ddd8e3}
.task-weekend.working{background:color-mix(in srgb,var(--card-color) 51%,white);box-shadow:inset 0 2px color-mix(in srgb,var(--card-color) 80%,white),inset 0 -2px color-mix(in srgb,var(--card-color) 80%,white)}
.task-card.overdue:before{z-index:1}.task-card.completed .task-weekend.working{background:#00b48725;box-shadow:inset 0 2px #00b48770,inset 0 -2px #00b48770}.task-card.completed .task-weekend.resting{background:#eeedf1c9}
.task-card>.resize-handle{z-index:5}.task-card>.absence-marker{z-index:6}
.weekend-date{display:flex;align-items:center;gap:14px;padding:17px;background:#f3f0ff;border-radius:13px;color:#2c2ae8}.weekend-date>div{flex:1;display:flex;flex-direction:column;gap:6px}.weekend-date small{font-size:11px;color:#9985aa}.weekend-date b{text-transform:capitalize}.weekend-date>.svg-icon{width:24px;height:24px}.weekend-warning{font-size:13px;background:#fff0d4;color:#946019;padding:12px;border-radius:10px;margin:0}.weekend-planned>b{display:block;font-size:12px;color:#94829f;margin-bottom:12px}.weekend-planned-row{display:flex;align-items:center;gap:12px;border-top:1px solid #eee8f3;padding:12px 0}.weekend-planned-row>div{flex:1;display:flex;align-items:flex-start;flex-direction:column;gap:7px}.weekend-planned-row small{font-size:12px;color:#97839f}

/* Stronger non-working day contrast; overlays keep all drag handles active. */
.task-weekend.resting{background:#f0eef3f2;box-shadow:inset 0 1px #d9d3e1,inset 0 -1px #d9d3e1;border-left:1px solid #d9d3e1;border-right:1px solid #d9d3e1}
.task-weekend.working{background:color-mix(in srgb,var(--card-color) 64%,white);box-shadow:inset 0 2px var(--card-color),inset 0 -2px var(--card-color)}
.weekend-fixed-date{display:flex;gap:12px;align-items:center;min-height:52px;padding:13px 15px;border:1px solid #e4ddec;background:#faf8fc;border-radius:12px;font-size:15px;color:#4d4056}.weekend-fixed-date .svg-icon{color:#2c2ae8}.weekend-existing{font-size:12px}.weekend-pair{padding:6px 2px;color:#65526f}

/* Periods only. Legacy classes cannot display old due-date marks. */
.deadline-zone,.task-card.overdue:before,.task-card.overdue:after{display:none!important}
.specialization-add{display:flex;gap:8px;margin-top:9px}.specialization-add[hidden]{display:none}.specialization-add input{min-width:0;flex:1}.specialization-add .button{white-space:nowrap;padding:8px 12px}.specialization-note{font-size:11px;color:#9a87a6}

.specialization-tag{--tag-color:#7659FF;display:inline-flex;align-items:center;gap:7px;max-width:100%;width:fit-content;padding:6px 10px;border:1px solid color-mix(in srgb,var(--tag-color) 26%,transparent);background:color-mix(in srgb,var(--tag-color) 12%,white);color:color-mix(in srgb,var(--tag-color) 78%,#29262d);border-radius:8px;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.specialization-tag .svg-icon{flex-shrink:0;width:16px;height:16px;color:var(--tag-color)}.specialization-tag>span{overflow:hidden;text-overflow:ellipsis}.specialization-placeholder{font-size:13px;color:#a190ab}.specialization-trigger{width:100%;max-width:none;min-height:49px;background:#faf9fc;border-radius:12px}.filter-popover:has(.specialization-tag){z-index:1100;width:330px}.specialization-row{display:flex;gap:10px;align-items:center;padding:17px 0;border-top:1px solid #eee8f4}.specialization-row>.specialization-tag{font-size:14px;padding:8px 12px}.specialization-use{margin-left:auto;color:#9f8cab;font-size:12px}.specialization-row>.button{min-width:36px;min-height:36px;padding:8px}.specialization-row>.button svg{width:16px;height:16px}.specialization-row .spec-delete{color:#c94d6b}.specializations-settings{max-width:850px;background:#fff;border:1px solid #eae4ef;border-radius:18px;padding:26px 30px;margin-top:28px}.settings-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.settings-section-heading h2{margin:0;font-size:20px}.settings-section-heading p{color:#9a87a5;font-size:13px;margin:9px 0}.specializations-settings>.account-note{margin:18px 0 0}.spec-color-options{display:flex;gap:8px;flex-wrap:wrap}.spec-icon-options{display:flex;gap:7px;flex-wrap:wrap}.spec-icon-choice{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#faf8fc;border:1px solid #e9e1ee;color:#9c88aa}.spec-icon-choice.selected{color:#2c2ae8;background:#eeecff;border-color:#2c2ae8}.spec-icon-choice .svg-icon{width:21px;height:21px}.delete-spec-content p{font-size:14px;line-height:1.6;margin:20px 0 12px}.delete-spec-content small{font-size:12px;color:#9b87a8}.signed-out #settingsPage{display:none!important}.workload-contact .specialization-tag{margin-top:5px}@media(max-width:700px){.specializations-settings{padding:20px}.settings-section-heading{align-items:flex-start;flex-direction:column}.specialization-row{flex-wrap:wrap}.specialization-use{font-size:11px}}

/* Multi-specialization selection, vacations and clearer weekends. */
.selected-specialization-tags,.member-specializations{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.specialization-trigger{height:auto!important;min-height:49px}.specialization-trigger>.selected-specialization-tags{flex:1}.specialization-trigger>.filter-chevron{flex-shrink:0}.multi-spec-popover{width:330px;z-index:1100}.multi-spec-popover .filter-options{max-height:290px}.multi-spec-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eee7f4;padding-top:10px;margin-top:8px}.multi-spec-actions .button{min-height:32px;font-size:12px;padding:7px 12px}.member-specializations{margin-top:6px}.member-specializations .specialization-tag{margin-top:0}
.date-cell.weekend{background:#e9e5ee}.weekend-shade{background:#79668e1c}.workload-day.weekend-free>i.shift-bar{background:#e9e4ef;border-color:#d6ccdf}
.vacation-row-icon{color:#8b69b2}.vacation-row-timeline .project-label{padding-left:38px}.vacation-row-timeline .project-text>span{margin-left:0}.vacation-timeline-card{position:absolute;height:44px;z-index:12;display:flex;align-items:center;gap:9px;padding:0 12px;white-space:nowrap;border:1px solid #baa6ce;border-radius:8px;background:repeating-linear-gradient(135deg,#f3edf8 0,#f3edf8 7px,#e9dff1 7px,#e9dff1 11px);color:#72538c;pointer-events:none;overflow:hidden;box-sizing:border-box}.vacation-timeline-card>b{font-size:13px;overflow:hidden;text-overflow:ellipsis}.vacation-timeline-card>span:not(.avatar){font-size:12px;opacity:.8}.vacation-timeline-card .avatar{width:27px;height:27px;flex-shrink:0}

.producer-toolbar{display:flex;align-items:center;gap:9px;min-height:52px;padding:8px 25px;border-bottom:1px solid #e9e3ef;background:#fcfaff}.producer-toolbar[hidden]{display:none}.producer-toolbar-label{font-size:12px;color:#9b88a8;margin-right:3px}.producer-toolbar .button{min-height:34px;padding:7px 12px;font-size:12px}.producer-toolbar .button.active{background:#eeebff;border-color:#c8bfff;color:#2c2ae8}.producer-toolbar .filter-trigger{min-height:34px;width:220px;max-width:220px;font-size:12px;padding:7px 10px}.producer-toolbar small{font-size:11px;color:#a28dad;margin-left:5px}.board-shell{height:calc(100vh - 230px)}.producer-badge{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#f3f0f8;border:1px solid #cfc4dd;color:#8d7a9a;font-size:8px;font-weight:700;margin-left:6px;overflow:hidden}.producer-badge.own{border-color:#9990ed;color:#2c2ae8;background:#f0edff}.producer-badge img{width:100%;height:100%;object-fit:cover}.task-card.foreign-task{cursor:default}.task-card.foreign-task .resize-handle{display:none!important}.readonly-task h3{font-size:20px;margin:0 0 14px}.readonly-task>p{font-size:14px;color:#8e7c9a;line-height:1.6}.readonly-owner{display:flex;gap:10px;align-items:center;font-size:13px;margin:20px 0}.readonly-owner .producer-badge{width:30px;height:30px;font-size:11px;margin:0}.readonly-details{white-space:pre-wrap}.signed-out #producerToolbar{display:none!important}@media(max-width:900px){.producer-toolbar small{display:none}.producer-toolbar{padding:8px 14px;flex-wrap:wrap}.producer-toolbar-label{display:none}}

/* v22: compact team identities and aligned, tinted calendar headers. */
.page-nav [hidden]{display:none!important}
.workload-contact{align-items:center;gap:10px}
.workload-avatar-stack{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 46px}
.team-telegram{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:9px;color:#3025df;background:#efedff;transition:background .18s}
.team-telegram:hover{background:#dfdaff}
.team-telegram svg{width:16px;height:16px}
.workload-person{flex:1;min-width:0}
.workload-contact h2{margin:0 0 4px;font-size:15px;line-height:1.25}
.workload-contact .workload-status{margin:0 0 5px;font-size:11px}
.member-specializations{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;align-items:center}
.workload-contact .member-specializations .specialization-tag{margin:0;padding:3px 6px;font-size:10px;line-height:1.3;gap:4px;max-width:100%;white-space:normal}
.member-specializations .specialization-tag svg{width:12px;height:12px;flex-shrink:0}
.workload-contact .member-contacts{margin-top:5px;gap:4px}
.workload-contact .member-contacts:empty{display:none}
.workload-contact .email-link{padding:3px 6px;font-size:10px}
.calendar-head{height:110px;border-bottom:0;box-shadow:inset 0 -1px #d5ccdf;background:#f0eaf6}
.month-groups{height:32px;background:#e2d8ee;border-bottom:1px solid #cfc1df}
.month-group-label{color:#59416e}
.date-days{height:78px;background:#f0eaf6}
.date-cell{background:#f0eaf6;border-right-color:#ded5e7;color:#80708f}
.date-cell.weekend{background:#dfd6e8}
.date-cell.week-start{border-left:0}
.date-cell.week-start:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:#aaa0b6;z-index:2;pointer-events:none}
.week-boundary{border-left:0;width:2px;background:#aaa0b6;transform:translateX(-1px)}
.corner{background:linear-gradient(to bottom,#e2d8ee 0 32px,#f0eaf6 32px 100%)}
.date-cell.today{background:#ffdaeb}

/* v23: one toolbar, transparent rest days, dormant connection feature. */
#producerScopeNote{display:none!important}
#timelineToolbar{flex-wrap:nowrap;gap:8px;min-height:86px}
#timelineToolbar .date-nav{flex-shrink:0}
#timelineToolbar .producer-toolbar{border:0;border-left:1px solid #d9d0e4;border-right:1px solid #d9d0e4;background:transparent;padding:0 10px;margin:0 3px;min-height:42px;flex-wrap:nowrap;gap:6px;flex-shrink:0}
#timelineToolbar .producer-toolbar-label{display:none}
#timelineToolbar .producer-toolbar .filter-trigger{width:165px;max-width:165px}
#timelineToolbar .producer-toolbar .button{height:42px;min-height:42px;white-space:nowrap}
#timelineToolbar .filter-trigger{max-width:170px}
#timelineToolbar #connectMode[hidden]{display:none!important}
.board-shell{height:calc(100vh - 178px)}
.task-card,.task-card.completed,.task-card.completed:hover{background:var(--task-fill);border-color:var(--card-color)}
.task-card .task-weekend.resting,.task-card .task-weekend.working,.task-card.completed .task-weekend.resting,.task-card.completed .task-weekend.working{background:transparent;border:0;box-shadow:none}
.task-card.completed{border-color:rgba(23,170,103,.65)}
@media(max-width:1250px){#timelineToolbar{overflow-x:auto}#timelineToolbar .toolbar-spacer{min-width:8px}#timelineToolbar .filter-trigger{width:140px}#timelineToolbar .producer-toolbar .filter-trigger{width:145px}}

/* A subtle project tint; opaque backing keeps scrolled cards behind the label. */
.project-label[style*="--project-label-color"]{background:color-mix(in srgb,var(--project-label-color) 8%,white)}

/* Each continuous work/rest period has its own rounded visual shell. */
.task-card,.task-card:hover,.task-card.completed,.task-card.completed:hover{background:transparent;border-color:transparent;box-shadow:none}
.task-period-segment{position:absolute;top:-1px;bottom:-1px;z-index:0;pointer-events:none;border:1px solid var(--card-color);border-radius:8px;background:color-mix(in srgb,var(--card-color) 24%,white);transition:box-shadow 160ms ease}
.task-period-segment.resting{background:color-mix(in srgb,var(--card-color) 3.6%,transparent)}
.task-card:hover .task-period-segment{box-shadow:0 2px 7px #24222616}
.task-card.completed .task-period-segment{background:rgba(23,170,103,.07);border-color:rgba(23,170,103,.65)}
.task-card.completed .task-period-segment.resting{background:rgba(23,170,103,.0105)}
.task-card.is-dragging{border:2px dashed var(--blue)}

.task-card .task-period-segment.resting,.task-card.completed .task-period-segment.resting{border-color:transparent;box-shadow:none}

/* Clip task identity to its first visible working section, before weekend gaps. */
.task-label-content{position:absolute;top:0;height:100%;display:flex;align-items:center;gap:7px;padding:0 10px;min-width:0;overflow:hidden;border-radius:7px;z-index:2;box-sizing:border-box}
.task-label-content .avatar{flex:0 0 26px;width:26px;height:26px}
.task-label-content .task-name{min-width:0;max-width:46%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-label-content .task-title{min-width:0;flex:1 1 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-label-content .task-divider{flex-shrink:0}
.task-label-content .producer-badge,.task-label-content .done-badge{flex-shrink:0}

.task-end-badges{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 9px;box-sizing:border-box;overflow:hidden;border-radius:7px;z-index:3}.task-end-badges .producer-badge,.task-end-badges .done-badge{flex-shrink:0;margin:0}

.brand.brand-logo{gap:0;flex-shrink:0}.brand.brand-logo img{display:block;width:210px;height:auto;max-width:100%;object-fit:contain}@media(max-width:1100px){.topbar .brand.brand-logo img{width:170px}}@media(max-width:700px){.topbar .brand.brand-logo img{width:145px}}

.producer-guide{font-size:14px;line-height:1.65;color:#716977}.producer-guide .guide-intro{margin:0 0 22px;color:#50455b}.producer-guide section+section{margin-top:24px;padding-top:20px;border-top:1px solid #eee8f3}.producer-guide h3{font-size:16px;line-height:1.4;color:#30243a;margin:0 0 10px}.producer-guide ul{margin:0;padding-left:19px}.producer-guide li+li{margin-top:10px}.producer-guide b{font-weight:650;color:#45354f}

.modal:has(.producer-guide-slides){width:1040px}.producer-guide-slides{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:16px;align-items:center}.guide-arrow{width:34px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid #e1daed;border-radius:12px;color:var(--blue);background:#f5f2fc;font-size:32px;cursor:pointer}.guide-arrow:hover:not(:disabled){background:#eae4ff}.guide-arrow:disabled{opacity:.25;cursor:default}.guide-arrow:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.guide-slide{min-width:0;font-size:12px;line-height:1.6;color:#796c83}.guide-slide-eyebrow{font-size:11px;color:#a48dad;margin-bottom:4px}.guide-slide .guide-slide-title{font-size:23px;line-height:1.25;letter-spacing:-.4px;margin:0 0 18px;color:#30263a}.guide-slide h3{font-size:14px;color:#40304c;margin:0 0 8px}.guide-slide p{margin:0 0 10px}.guide-slide p:last-child{margin-bottom:0}.guide-slide b{font-weight:650;color:#4b3957}.guide-cards,.guide-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.guide-cards>section{background:#fcfaff;border:1px solid #eee8f3;border-radius:13px;padding:15px}.guide-callout{border-left:3px solid #fe76b4;border-radius:6px;background:#fff4fa;padding:12px 14px}.guide-mock{pointer-events:none;user-select:none}.guide-key-row,.guide-toolbar-mock{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 12px}.mock-control{display:inline-flex;align-items:center;justify-content:center;min-height:29px;border:1px solid #e4ddeb;border-radius:7px;background:white;color:#675770;font-size:11px;font-weight:550;padding:4px 9px;pointer-events:none;user-select:none}.mock-control.mock-active{background:#eee9ff;border-color:#cfc5f3;color:#3b26da}.mock-control.mock-primary{background:#3025e8;border-color:#3025e8;color:white}.guide-slide kbd{display:inline-block;pointer-events:none;border:1px solid #dad3e4;border-bottom-width:3px;border-radius:5px;padding:1px 6px;background:white;font-family:inherit;font-size:11px;font-weight:600;line-height:1.7;color:#5b4968}.mock-fingers{font-size:23px;color:#fe76b4;margin-left:7px}.guide-calendar-mock{display:grid;grid-template-columns:90px 1fr;border:1px solid #e8e1ef;border-radius:12px;overflow:hidden;pointer-events:none;user-select:none}.mock-project{padding:10px;background:#f6f2ff;font-weight:650;color:#716080}.mock-days{padding:10px;text-align:center;background:#fcfaff;font-size:10px;color:#a491ae}.mock-lane{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background:repeating-linear-gradient(90deg,#fff 0,#fff calc(14.28% - 1px),#eee7f4 calc(14.28% - 1px),#eee7f4 14.28%)}.mock-task{border:1px solid #9c8df3;background:#e9e4ff;border-radius:7px;padding:7px 12px;color:#5a42a4}.mock-pan{font-size:20px;color:#ac9fc1}.guide-mock-caption{font-size:11px;color:#a390ae}.guide-assignment-mock{margin:15px 0;pointer-events:none;user-select:none}.mock-assignment-labels{display:grid;grid-template-columns:1fr .5fr 1fr;gap:5px;text-align:center;font-size:10px;color:#a18dad}.mock-assignment-track{display:grid;grid-template-columns:1fr .5fr 1fr;gap:3px;height:43px;margin:7px 0}.mock-working{display:flex;align-items:center;overflow:hidden;white-space:nowrap;border:1px solid #a48df1;border-radius:8px;background:#ede6ff;color:#634798;font-size:11px;padding:0 8px}.mock-weekend{border-radius:8px;background:#eeeaf250}.mock-working-end{justify-content:flex-end;gap:7px}.mock-working-end i{font-style:normal;border:1px solid #c5b5df;border-radius:50%;font-size:9px;width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;background:white}.mock-working-end .mock-check{background:#17aa67;color:white;border:0}.mini-context{display:flex;flex-direction:column;gap:5px;border:1px solid #e6deee;border-radius:9px;background:white;padding:9px 12px;font-size:11px;color:#7a6488;margin:10px 0}.guide-role-grid>section{padding:15px;border:1px solid #e6deee;border-radius:12px;background:#faf7ff}.mock-role{display:inline-block;border-radius:7px;padding:4px 8px;font-size:10px;background:#ffe5f1;color:#b93178;margin-bottom:9px;pointer-events:none}.mock-role.mock-admin{color:#3025e8;background:#eee8ff}.guide-slide-position{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;font-size:11px;color:#a291ad}.guide-slide-position>span:last-child{margin-left:7px}.guide-dot{width:6px;height:6px;border-radius:50%;background:#e4dcec}.guide-dot.active{background:#fe76b4}@media(max-width:700px){.producer-guide-slides{grid-template-columns:27px minmax(0,1fr) 27px;gap:8px}.guide-arrow{width:27px;height:44px}.guide-cards,.guide-role-grid{grid-template-columns:1fr;gap:10px}.guide-slide .guide-slide-title{font-size:19px}.mock-days{font-size:8px;padding:8px 1px}.guide-calendar-mock{grid-template-columns:62px 1fr}.mock-project{padding:9px 5px}.guide-cards>section{padding:11px}}

/* Elapsed time after an unfinished assignment; does not change its saved period. */
.task-overdue-tail{position:absolute;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;overflow:hidden;border:1px solid #f16c8060;border-left:3px solid #f15d73;border-radius:7px;background:repeating-linear-gradient(135deg,transparent 0,transparent 6px,#f5283940 6px,#f5283940 9px),#fff2f580;color:#c63850;pointer-events:none;z-index:1}.task-overdue-tail>span{font-size:10px;font-weight:650;padding:3px 8px;border-radius:5px;background:#fff4f6e6;margin-right:5px;white-space:nowrap}.task-overdue-tail>span:empty{display:none}

/* Continuous striped ending of an unfinished task. */
.task-overdue-tail{display:block;border:1px solid var(--card-color);border-left:0;border-radius:0 8px 8px 0;background:repeating-linear-gradient(135deg,transparent 0,transparent 6px,#f5283940 6px,#f5283940 9px);color:inherit}
.task-card .task-period-segment.overdue-join{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}

.specializations-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:24px;align-items:start;margin-top:28px}.specializations-layout .specializations-settings{margin-top:0;max-width:none}.specialization-balance{background:#fff;border:1px solid #eae4ef;border-radius:18px;padding:26px 30px}.balance-row{padding:15px 0;border-top:1px solid #eee8f4}.balance-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.balance-row-heading strong{font-size:17px;font-variant-numeric:tabular-nums}.balance-row-heading strong>span{font-size:11px;font-weight:400;color:#9a87a5}.balance-track{height:13px;background:color-mix(in srgb,var(--balance-color) 9%,white);border-radius:20px;overflow:hidden}.balance-fill{height:100%;border-radius:20px;background:var(--balance-color)}.specialization-balance>.account-note{margin:18px 0 0}@media(max-width:1100px){.specializations-layout{grid-template-columns:1fr}.specialization-balance{padding:22px}}

.task-overdue-tail.after-rest{border-left:1px solid var(--card-color);border-radius:8px}

.completion-flight{position:absolute;z-index:20;pointer-events:none;overflow:visible}.completion-flight>svg{display:block;overflow:visible}.completion-unicorn{filter:drop-shadow(0 4px 5px #4431aa25);will-change:transform}.completion-rainbow{filter:drop-shadow(0 2px 3px #fe76b425)}@media(prefers-reduced-motion:reduce){.completion-flight{display:none}}

.assignment-choice{min-width:0}.assignment-choice select[hidden]{display:none!important}.assignment-choice-trigger{width:100%;max-width:none;min-height:47px;height:47px;padding:8px 11px;border:1px solid #e5dfed;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left}.assignment-choice-trigger:hover{border-color:#bdb2e4}.assignment-choice-trigger[aria-expanded=true]{border-color:#a398ed;box-shadow:0 0 0 3px #eeebff}.assignment-choice-value{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.assignment-choice-value .avatar,.assignment-choice-popover .avatar{width:26px;height:26px;flex:none;font-size:10px}.assignment-choice-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-choice-empty{font-size:13px;color:#93869e}.assignment-choice-chevron{width:16px;height:16px;flex:none}.assignment-project-tag{font-size:12px;padding:4px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.assignment-choice-popover{position:fixed;z-index:1200;display:flex;flex-direction:column;padding:8px;border-radius:13px;background:#fff;border:1px solid #e5dfed;box-shadow:0 12px 36px #33264c24;box-sizing:border-box}.assignment-search-wrap{position:relative;flex:none;margin-bottom:5px}.assignment-search-wrap>.svg-icon{position:absolute;left:10px;top:11px;width:17px;height:17px;color:#9b8ba8}.assignment-choice-popover .filter-search{width:100%;padding:10px 10px 10px 34px;border-radius:8px;margin:0;background:#f8f6fb;font-size:13px}.assignment-choice-popover .filter-options{overflow:auto;min-height:0;max-height:280px}.assignment-choice-popover .filter-option{padding:8px;border-radius:8px;min-height:41px}.assignment-choice-popover .filter-option-label{display:flex;align-items:center;gap:9px;min-width:0}.assignment-choice-popover .filter-option>.svg-icon{flex:none;width:17px;height:17px;color:var(--blue)}

.participant-profile{display:flex;flex-direction:column;gap:0}.participant-identity{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:center}.participant-identity #avatarPreview .avatar{width:80px;height:80px;font-size:26px;border-radius:50%;object-fit:cover}.participant-identity-fields{min-width:0}.participant-profile .field{gap:7px;min-width:0}.profile-input-wrap{position:relative;display:flex;align-items:center;min-width:0}.profile-input-wrap>.svg-icon{position:absolute;left:13px;width:18px;height:18px;color:#9b8cab;pointer-events:none}.participant-profile .profile-input-wrap input{width:100%;padding-left:40px;min-height:45px;background:#fff}.participant-photo-actions{display:flex;align-items:center;gap:16px;margin-top:9px}.profile-photo-upload,.profile-photo-remove{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font-size:12px;line-height:24px;cursor:pointer}.profile-photo-upload{color:#5b46cc;font-weight:600}.profile-photo-upload>.svg-icon{width:15px;height:15px}.profile-photo-remove{color:#9c8aa5}.profile-photo-remove[hidden]{display:none}.participant-initials{margin:12px 0 0 98px;font-size:11px;color:#a08eaa}.participant-initials summary{cursor:pointer;width:fit-content}.participant-initials>div{display:flex;align-items:flex-end;gap:12px;margin-top:10px}.participant-initials .field{width:82px;flex:none}.participant-initials .field input{width:82px;padding:9px 11px}.participant-initials small{font-size:11px;line-height:1.5;max-width:270px;padding-bottom:5px}.participant-section{padding-top:19px;margin-top:19px;border-top:1px solid #eee9f3}.participant-skills{border-top:0;margin-top:0;padding-top:20px}.participant-skills .specialization-trigger{min-height:45px}.participant-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.participant-section-title h3{font-size:13px;font-weight:650;margin:0;display:flex;align-items:center;gap:7px;color:#65586f}.participant-section-title h3>.svg-icon{width:17px;height:17px;color:#9b88aa}.participant-section-title>span{font-size:10px;color:#b2a2bc}.participant-contacts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.participant-contacts .field>span{font-size:11px}.participant-vacation .button{padding:6px 10px;min-height:29px;font-size:11px;border-radius:8px}.participant-vacation .vacation-empty{display:block;background:#faf8fc;border-radius:9px;padding:12px 14px;font-size:12px;color:#a593b0}.participant-notes .field>span{display:flex;align-items:center;gap:7px}.participant-notes .field>span>.svg-icon{width:16px;height:16px;color:#9b88aa}.participant-notes .field>span small{margin-left:auto;color:#b2a2bc;font-size:10px;font-weight:400}.participant-notes textarea{min-height:72px;height:72px;resize:vertical}.participant-profile input::placeholder,.participant-profile textarea::placeholder{color:#b7aabe;font-weight:400;font-size:12px}@media(max-width:560px){.participant-identity{grid-template-columns:60px minmax(0,1fr);gap:12px}.participant-identity #avatarPreview .avatar{width:60px;height:60px}.participant-initials{margin-left:72px}.participant-contacts{grid-template-columns:1fr;gap:13px}.participant-photo-actions{gap:12px}}

.participant-profile .profile-input-wrap>svg{position:absolute;left:13px;width:18px;height:18px;flex:none;color:#9b8cab;pointer-events:none}

.team-week-toolbar{position:sticky;top:10px;z-index:60;background:#fff;box-shadow:0 0 0 #30204000;transition:box-shadow 260ms ease}.team-week-toolbar.is-stuck{box-shadow:0 7px 24px #35244712,0 2px 6px #35244706}@media(prefers-reduced-motion:reduce){.team-week-toolbar{transition:none}}

.participant-contacts .participant-telegram{grid-column:1/-1}.participant-profile .profile-input-wrap>.mail-service-icon{width:22px;height:22px;left:12px}.contact-link .mail-service-icon{width:14px;height:14px;flex:none}.member-contacts{flex-wrap:wrap}

.task-label-content .task-name{max-width:190px;flex:0 1 auto}.task-label-content .task-title{flex:1 3 auto}.task-label-content .task-name{flex-shrink:1}

/* Phone layout: browsing and opening tasks, with native two-axis scrolling. */
.mobile-landscape{display:none}
@media (max-width:760px), (pointer:coarse) and (max-height:600px){
:root{--label:132px;font-size:14px}html,body{max-width:100%;overflow-x:clip}body{padding-top:env(safe-area-inset-top)}
.topbar{height:auto;min-height:104px;padding:10px 12px 0;gap:10px;flex-wrap:wrap;position:relative}.topbar .brand.brand-logo img{width:132px}.topbar .top-spacer{display:none}.topbar .summary{display:none}.topbar #addTask{margin-left:auto;min-height:36px;padding:7px 9px;font-size:11px}.account-widget{position:static}.account-button{max-width:100px;min-width:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:8px}.account-menu{right:12px;top:50px;max-width:calc(100vw - 24px)}
.page-nav{order:5;width:100%;height:43px;overflow-x:auto;flex-wrap:nowrap;gap:4px;scrollbar-width:none}.page-nav a{flex:none;padding:9px 11px;font-size:12px;white-space:nowrap}.page-nav span{display:none}
#timelineToolbar{min-height:62px;padding:10px 12px;gap:7px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;align-items:center}#timelineToolbar>*{flex-shrink:0}#timelineToolbar .toolbar-spacer{display:none}#timelineToolbar .date-nav{gap:1px}#timelineToolbar .month-button{min-width:0;font-size:12px;margin-left:3px;padding:0 5px}#timelineToolbar .button,#timelineToolbar .filter-trigger,#timelineToolbar .icon-button,#timelineToolbar .date-nav>.icon-button,#timelineToolbar .month-button,#timelineToolbar .producer-toolbar .button{height:36px;min-height:36px;font-size:12px}#timelineToolbar .icon-button{width:30px}#timelineToolbar .filter-control>span{display:none}#timelineToolbar .producer-toolbar{min-height:36px}#timelineToolbar .filter-trigger,#timelineToolbar .producer-toolbar .filter-trigger{width:130px;max-width:130px}#timelineToolbar .zoom-control{height:36px}#timelineToolbar .zoom-control button{font-size:11px}.mobile-landscape{display:inline-flex!important}
.board-shell{height:calc(100dvh - 168px - env(safe-area-inset-top));min-height:120px;touch-action:pan-x pan-y;overscroll-behavior:auto;-webkit-overflow-scrolling:touch}.calendar-head{height:52px}.corner{width:132px;padding:0 10px;font-size:12px}.date-cell{font-size:10px;gap:2px}.date-cell strong{font-size:15px}.date-cell small{display:none}.project-label,.vacation-row-timeline .project-label{width:132px;padding:10px 5px 10px 10px;gap:3px}.project-title-line{gap:0}.project-title-line .project-icon,.project-title-line .project-emoji,.project-drag-handle{display:none}.project-title-line b{font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-text{gap:4px}.project-text>span,.project-text>small,.project-text>.project-resources{margin-left:0}.project-text>span{font-size:10px}.project-text>small,.project-resources,.range-caption{display:none}.project-actions{width:24px;height:36px;font-size:18px}.range-grip,.resize-handle,.link-handle{display:none!important}.project-range{top:4px;bottom:4px;border-radius:9px}.task-card{padding-left:7px;padding-right:7px}.task-name,.task-title{font-size:11px}.task-card .avatar{width:24px;height:24px}.vacation-timeline-card>b{font-size:11px}.vacation-timeline-card>span:not(.avatar){display:none}
.team-page{padding:20px 12px}.team-heading{gap:10px;align-items:flex-start}.team-heading h1{font-size:26px}.team-heading p{font-size:12px;line-height:1.5}.team-heading>.button{font-size:11px;white-space:normal;padding:8px;min-height:36px;max-width:135px}.team-week-toolbar{padding:10px;gap:10px;flex-wrap:wrap;max-width:100%}.team-week-navigation{width:100%;gap:4px;flex-wrap:wrap}.team-week-title{min-width:0;flex:1}.team-week-title b{font-size:12px}.team-week-title small{font-size:10px}.team-week-navigation>.button{font-size:11px;padding:7px}.team-week-toolbar input,#teamSearch{width:100%;min-width:0}.availability-filters{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.availability-filters button{flex-shrink:0}.team-controls input,.accounts-toolbar input,.projects-toolbar input{width:100%;max-width:100%;min-width:0}.projects-toolbar{flex-wrap:wrap;gap:10px}.projects-tabs{max-width:100%;overflow:auto}.member-main{padding:15px;gap:10px}.member-info{min-width:0}.member-info h2{font-size:15px}.shift-number{min-width:58px}.specializations-layout{grid-template-columns:minmax(0,1fr)}.specialization-balance,.specializations-settings{min-width:0;padding:14px}.settings-section-heading{gap:10px}.settings-section-heading h2{font-size:19px}.settings-section-heading .button{padding:8px;font-size:11px}.accounts-table-wrapper,.accounts-table-wrap{max-width:100%;overflow-x:auto}#accountsList{max-width:100%;overflow-x:auto}
.modal-backdrop,.account-dialog-backdrop{padding:8px;align-items:center}.modal{max-height:calc(100dvh - 16px);width:650px;max-width:100%;border-radius:14px}.modal-head{padding:18px 16px 14px}.modal-head h2{font-size:21px}.modal-body{padding:0 16px 18px}.modal-actions{padding:12px 16px;gap:6px;flex-wrap:wrap}.modal-actions .button{padding:9px 11px;font-size:13px}.form-grid{gap:16px;grid-template-columns:minmax(0,1fr)}.field{min-width:0}.field input,.field textarea,.field select{min-width:0;font-size:16px!important}.date-range-button{padding:11px;gap:7px;font-size:14px;flex-wrap:wrap}.date-range-button small{font-size:10px}.calendar-popover{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.picker-months{flex-direction:column;gap:20px}.picker-month{width:100%}.color-palette{max-width:100%;grid-template-columns:repeat(6,minmax(24px,34px));gap:7px}.icon-picker{grid-template-columns:repeat(6,minmax(0,1fr))}.icon-choice{width:100%;max-width:43px}.avatar-picker{gap:8px}.avatar-picker .button{font-size:11px;padding:8px}.profile-contacts,.profile-identity{min-width:0}.toast{max-width:calc(100vw - 24px);width:max-content;bottom:80px;font-size:12px;padding:11px 14px}.login-card{width:min(420px,calc(100vw - 24px));padding:26px 20px}.login-page{padding:12px;min-height:100dvh}
}
@media (max-width:380px){.topbar .brand.brand-logo img{width:112px}.account-button{max-width:72px}.topbar #addTask{font-size:10px}.team-week-navigation>.button{width:100%}}
@media (pointer:coarse) and (max-height:600px){.topbar{min-height:54px;flex-wrap:nowrap;padding:6px 10px}.page-nav{order:0;width:auto;flex:1;min-width:0;height:40px}.topbar .brand.brand-logo img{width:105px}.topbar #addTask{margin-left:0}.board-shell{height:calc(100dvh - 116px - env(safe-area-inset-top))}.viu-window{max-height:calc(100dvh - 80px);overflow:auto}}

@media (max-width:760px), (pointer:coarse) and (max-height:600px){.month-groups{display:none}.date-days{height:52px}.corner{background:#f0eaf6}.task-card,.date-head{touch-action:pan-x pan-y}.viu-window .viu-text{font-size:16px}.viu-window{max-height:calc(100dvh - 100px);overflow:auto}}

/* Approved rounded surface theme */
html{background:#eae8ee}body.soft-theme{padding:22px;background:radial-gradient(ellipse at 20% 0,#f0edf5 0,transparent 60%),#eae8ee;min-height:100dvh;overflow:hidden}.soft-theme .topbar{height:76px;padding:0 22px;gap:22px;border:1px solid #ffffffb8;border-radius:24px;background:#ffffffdc;box-shadow:0 5px 24px #3f315207;margin-bottom:14px;backdrop-filter:blur(12px)}.soft-theme .brand.brand-logo img{width:190px}.soft-theme .page-nav{gap:3px;height:auto;background:#f3f0f7;padding:4px;border-radius:99px}.soft-theme .page-nav a{padding:10px 15px;border-radius:99px;font-size:13px;font-weight:550}.soft-theme .page-nav a.active{background:#ffe2ef;color:#9f3c6d}.soft-theme .page-nav span{background:#fff9}.soft-theme .summary{font-size:11px;color:#a093ac}.soft-theme .button,.soft-theme .filter-trigger,.soft-theme .icon-button,.soft-theme .account-button{border-radius:99px}.soft-theme .account-button{padding:5px 10px 5px 5px;gap:8px;background:#f5f1f8;border:1px solid #eee7f3}.soft-theme .topbar .primary{padding:11px 18px;font-size:12px;box-shadow:0 4px 12px #2c2ae818}.soft-theme #timelineToolbar{min-height:76px;padding:15px 18px;background:#fffdfedc;border:1px solid #ffffffcc;border-radius:22px;gap:10px;margin-bottom:14px;box-shadow:0 4px 18px #3f315205}.soft-theme #timelineToolbar .month-button{background:transparent;border-radius:99px;font-size:13px}.soft-theme #timelineToolbar .filter-trigger{background:#f7f4fa;border:1px solid #eae4f0}.soft-theme #timelineToolbar .producer-toolbar{border:0;background:#f6f2fa;border-radius:99px;padding:0 5px;gap:4px;min-height:44px}.soft-theme #timelineToolbar .producer-toolbar .button{border-color:transparent;background:transparent}.soft-theme #timelineToolbar .producer-toolbar .button.active{background:white;box-shadow:0 2px 8px #48275f0b;border-color:#e8def4}.soft-theme #timelineToolbar .producer-toolbar .filter-trigger{background:transparent;border:0}.soft-theme .zoom-control{border-radius:99px;background:#f2eef7;padding:4px}.soft-theme .zoom-control button{border-radius:99px}.soft-theme .board-shell{height:calc(100dvh - 224px);border:1px solid #fff;border-radius:24px;background:#fff;box-shadow:0 8px 30px #3f31520a;scrollbar-color:#d3cadc transparent;scrollbar-width:thin}.soft-theme .calendar-head{background:#f7f3fb}.soft-theme .corner{background:linear-gradient(to bottom,#eee7f5 0 32px,#f7f3fb 32px 100%)}.soft-theme .month-groups{background:#eee7f5}.soft-theme .date-cell{background:#fcfaff}.soft-theme .date-cell.weekend{background:#f2edf7}.soft-theme .date-cell.today{background:#fce0ed}.soft-theme .task-card{border-radius:11px}.soft-theme .project-range{border-radius:15px}.soft-theme .project-label{box-shadow:5px 0 12px #33203e04}.soft-theme .project-actions{border-radius:99px}.soft-theme .viu-launcher{border-radius:99px;background:#fffdfef2;box-shadow:0 8px 26px #51376818}.soft-theme .viu-widget{right:40px;bottom:38px}.soft-theme .modal{border-radius:24px}@media(max-width:1500px){.soft-theme .topbar{gap:14px}.soft-theme .brand.brand-logo img{width:165px}.soft-theme .page-nav a{padding:10px 12px;font-size:12px}.soft-theme .summary{display:none}}@media(max-width:1000px){body.soft-theme{padding:12px}.soft-theme .topbar{border-radius:20px;padding:0 14px}.soft-theme .page-nav{overflow:auto;min-width:0;flex:1}.soft-theme .page-nav a{white-space:nowrap}.soft-theme .board-shell{height:calc(100dvh - 204px)}.soft-theme .viu-widget{right:24px;bottom:28px}}
body.soft-theme{background:transparent;isolation:isolate;overflow-x:clip;overflow-y:auto;min-height:100dvh}body.soft-theme.signed-out:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#ffffff30,#ffffff30),url('/assets/login-background.jpg?v=1') center/cover no-repeat}.soft-theme .team-page{border:1px solid #ffffffcf;border-radius:24px;background:#fffffff0;padding:28px;min-height:calc(100dvh - 134px)}.soft-theme>.producer-toolbar{margin-bottom:14px;border:1px solid #ffffffcf;border-radius:20px;background:#fffdfef0;min-height:48px}.soft-theme .team-heading{gap:20px}.soft-theme .team-week-toolbar{border-radius:20px;background:#fffffff5;box-shadow:0 4px 22px #4a21560a}.soft-theme .member-card,.soft-theme .project-card,.soft-theme .account-row,.soft-theme .specialization-balance,.soft-theme .specializations-settings{border-radius:18px}.soft-theme .account-row{background:#ffffffd9;margin-bottom:10px;border:1px solid #eae3ef;padding:18px}.soft-theme .birthday-page{background:transparent;padding:0;min-height:calc(100dvh - 134px)}.soft-theme .birthday-page-head{background:#fffffff0;border:1px solid #ffffffcf;border-radius:22px;padding:22px;margin-bottom:14px}.soft-theme .birthday-sidebar,.soft-theme .birthday-calendar{border-radius:24px;border-color:#ffffffcf;background:#fffffffa;box-shadow:0 5px 24px #3f31520a}.soft-theme .birthday-layout{gap:14px}.soft-theme .calendar-popover,.soft-theme .account-role-options,.soft-theme .task-context-menu,.soft-theme .filter-popup{border-radius:18px}.soft-theme .modal,.soft-theme .account-dialog-backdrop .modal{border-radius:24px}.soft-theme .modal-backdrop,.soft-theme .account-dialog-backdrop{background:#291f3948;backdrop-filter:blur(7px)}.soft-theme .team-controls input,.soft-theme .team-week-toolbar input,.soft-theme .projects-toolbar input,.soft-theme .accounts-toolbar input{border-radius:99px}.soft-theme .projects-tabs,.soft-theme .projects-tabs button,.soft-theme .availability-filters button,.soft-theme .birthday-view,.soft-theme .birthday-view button{border-radius:99px}.soft-theme.signed-out{padding:0}.soft-theme .login-page{background:transparent;min-height:100dvh}.soft-theme .login-page:before,.soft-theme .login-page.has-unicorn-flock:before{inset:0;transform:none!important;will-change:auto}.soft-theme .login-card{border-radius:28px}.soft-theme .topbar .account-menu{border-radius:18px}.soft-theme .account-dialog-backdrop .button,.soft-theme .modal .button{border-radius:99px}
@media(max-width:1250px){.soft-theme .topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 18px;gap:12px}.soft-theme .topbar .page-nav{max-width:100%;overflow-x:auto;flex-shrink:1}.soft-theme .topbar .page-nav a{flex:none;white-space:nowrap}.soft-theme .topbar .top-spacer{flex:1}}
@media(max-width:760px), (pointer:coarse) and (max-height:600px){body.soft-theme{padding:10px;padding-top:max(10px,env(safe-area-inset-top))}.soft-theme .topbar{border-radius:20px;padding:10px 10px 0;min-height:104px;height:auto;gap:8px;margin-bottom:10px;flex-wrap:wrap}.soft-theme .topbar .brand.brand-logo img{width:120px}.soft-theme .topbar .page-nav{order:5;width:100%;flex:auto;height:40px;padding:3px;background:transparent;border-radius:0}.soft-theme .page-nav a{padding:8px 10px;font-size:11px}.soft-theme .topbar .top-spacer{display:none}.soft-theme .topbar #addTask{margin-left:auto;padding:8px 10px;min-height:34px;font-size:10px}.soft-theme .account-button{padding:3px;max-width:50px;background:transparent;border:0}.soft-theme #timelineToolbar{min-height:58px;padding:10px;margin-bottom:10px;border-radius:18px;gap:7px}.soft-theme #timelineToolbar .button,.soft-theme #timelineToolbar .filter-trigger,.soft-theme #timelineToolbar .producer-toolbar .button{min-height:36px;height:36px}.soft-theme #timelineToolbar .producer-toolbar{min-height:36px}.soft-theme .board-shell{border-radius:20px;min-height:100px}.soft-theme .team-page{padding:18px 12px;min-height:calc(100dvh - 144px);border-radius:20px}.soft-theme>.producer-toolbar{margin-bottom:10px;border-radius:18px;padding:8px 10px}.soft-theme .team-heading{gap:10px}.soft-theme .birthday-page{padding:0}.soft-theme .birthday-page-head{padding:18px 14px;border-radius:20px}.soft-theme .birthday-sidebar,.soft-theme .birthday-calendar{border-radius:20px}.soft-theme .viu-widget{right:22px;bottom:22px}.soft-theme .account-row{padding:14px}.soft-theme .account-menu{top:55px;right:14px}.soft-theme .team-week-toolbar{top:10px}.soft-theme .login-page{padding:12px}}
@media(max-width:380px){.soft-theme .topbar .brand.brand-logo img{width:104px}.soft-theme .topbar #addTask{padding:8px;font-size:9px}}
@media(pointer:coarse) and (max-height:600px){.soft-theme .topbar{min-height:54px;flex-wrap:nowrap;padding:6px 10px}.soft-theme .topbar .page-nav{order:0;width:auto;flex:1;min-width:0;height:40px}.soft-theme .topbar .brand.brand-logo img{width:100px}}

/* Soft solid pink background */
html{background:#f8edf3}body.soft-theme.signed-out:before{background:linear-gradient(#ffffff30,#ffffff30),url('/assets/login-background.jpg?v=1') center/cover no-repeat}body.soft-theme:not(.signed-out):before{background:#f8edf3}.soft-theme .login-page:before,.soft-theme .login-page.has-unicorn-flock:before{transform:none!important;will-change:auto}

/* Layering, exact date positions and modal entrance. */
.soft-theme .topbar{position:relative;z-index:650;overflow:visible}.soft-theme .account-widget{position:relative}.soft-theme .account-menu{z-index:700;top:calc(100% + 10px);right:0;background:#fff;box-shadow:0 12px 32px #48223d20}.profile-chevron{width:16px;height:16px;flex:none;color:#9d8da5}.calendar-head .date-days{position:relative;flex:none}.calendar-head .date-cell{position:absolute;top:0;bottom:0;height:100%}.soft-theme .board-shell{margin-bottom:-12px}.modal-backdrop,.account-dialog-backdrop,.soft-theme .modal-backdrop,.soft-theme .account-dialog-backdrop,.emoji-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.modal-backdrop:not([hidden])>.modal,.account-dialog-backdrop:not([hidden])>.modal,.emoji-backdrop>.emoji-dialog{animation:popup-arrive .32s cubic-bezier(.16,1,.3,1) both;transform-origin:center center}@keyframes popup-arrive{from{opacity:0;transform:translateY(22px) scale(.96);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.birthday-inputs select[hidden]{display:none!important}.birthday-select-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e5dfed;border-radius:11px;padding:11px 13px;font-size:13px;color:#574663;text-align:left}.birthday-select-trigger svg{width:16px;height:16px;color:#a696b1;flex:none}.birthday-select-trigger[aria-expanded=true]{border-color:#e6a5c5;box-shadow:0 0 0 3px #fae8f2}.birthday-select-popover{position:fixed;z-index:1300;border:1px solid #eadfea;background:#fff;padding:5px;border-radius:14px;box-shadow:0 12px 35px #4b264426;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;animation:popup-arrive .18s ease both}.birthday-select-popover button{width:100%;border:0;background:transparent;border-radius:9px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:13px;text-align:left;color:#68536f}.birthday-select-popover button svg{width:16px;height:16px;visibility:hidden;color:#b0447e}.birthday-select-popover button[aria-selected=true]{background:#fbe4f0;color:#a84076}.birthday-select-popover button[aria-selected=true] svg{visibility:visible}.birthday-select-popover button:hover,.birthday-select-popover button:focus-visible{background:#fcf0f6;outline:none}
.soft-theme .viu-launcher{background:#ffe2ef;border-color:#f3c9df;color:#a13f72}.soft-theme .viu-launcher:hover{background:#ffd9e9;box-shadow:0 8px 25px #a2407220}.viu-launcher i{background:#fff4fa;color:#b03f7b}.viu-heading>svg{color:#d183ab}.viu-close{background:#fbe9f2;color:#ad6a91}.viu-window{background:#fff8fc;border-color:#f0dae7}.viu-header,.viu-footer{border-color:#f3e2ec}.viu-add{background:#fff0f7;border-color:#eec4d9;color:#b34e85}.viu-add:hover{background:#ffe4f0}.viu-note.expanded{border-color:#e4b3cd}.viu-drag-ghost{border-color:#e6b3cf;color:#9f4c7c}.viu-collapse{background:#fbe9f2;color:#ac6c91}
@media(max-width:760px){.soft-theme .account-widget{position:static}.soft-theme .account-menu{top:58px;right:12px}.birthday-select-trigger{font-size:16px}}@media(prefers-reduced-motion:reduce){.modal-backdrop>.modal,.account-dialog-backdrop>.modal,.emoji-dialog,.birthday-select-popover{animation:none!important}}

.calendar-popover,.filter-popover,.time-popover,.day-load-popup,.task-context-menu,.account-menu:not([hidden]){animation:small-popup-arrive .22s cubic-bezier(.16,1,.3,1) both}@keyframes small-popup-arrive{from{opacity:0;transform:translateY(9px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.viu-window{filter:blur(5px);transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .22s,filter .25s}.viu-window.open{filter:blur(0)}@media(prefers-reduced-motion:reduce){.calendar-popover,.filter-popover,.time-popover,.day-load-popup,.task-context-menu,.account-menu{animation:none!important}.viu-window{filter:none;transition:none}}

/* Mobile team cards: keep the weekly controls in view and simplify day cells. */
@media (max-width:760px), (pointer:coarse) and (max-height:600px){
  .soft-theme .topbar{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:650;
  }
  .soft-theme .team-week-toolbar{
    position:sticky;
    top:calc(104px + env(safe-area-inset-top,0px));
    z-index:640;
    border:1px solid #f0e4ec;
    box-shadow:0 8px 22px #40273a12;
    backdrop-filter:blur(12px);
  }
  .workload-card{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto auto;
    align-items:start;
    row-gap:14px;
    padding:16px;
  }
  .workload-contact{grid-column:1;grid-row:1;align-self:center;gap:11px}
  .workload-number{grid-column:2;grid-row:1;align-self:center;min-width:58px}
  .workload-days{grid-column:1/-1;grid-row:2;align-self:start;gap:5px}
  .workload-day>i.shift-bar{height:34px;border-radius:9px}
  .shift-bar>b{display:none}
  .workload-day>small{margin-top:17px}
  .workload-day .absence-marker{
    top:54px!important;
    bottom:auto!important;
    left:50%!important;
    width:8px!important;
    height:8px!important;
    transform:translateX(-50%);
    border-radius:50%;
    background:#2c2ae8;
    box-shadow:0 0 0 2px #fff;
  }
  .workload-day .absence-symbol{display:none}
  .workload-projects{
    grid-column:1;grid-row:3;align-self:end;align-items:center;
    min-width:0;gap:6px;padding-top:2px;
  }
  .workload-projects .project-tag{border-radius:999px;padding:7px 11px}
  .workload-profile{
    grid-column:2;grid-row:3;align-self:end;justify-self:end;
    min-width:92px;margin:0;border-radius:999px;
  }
  .soft-theme .team-page{scroll-margin-top:calc(104px + env(safe-area-inset-top,0px))}
}


/* Mobile bottom navigation and full profile screen. */
.mobile-bottom-dock,.mobile-profile-page[hidden]{display:none}.mobile-nav-icon{display:none}.page-nav .mobile-nav-label{padding:0;background:transparent;border-radius:0;font:inherit}.mobile-profile-page{position:fixed;inset:0;z-index:760;background:#faf6f9;overflow:auto;overscroll-behavior:contain}.mobile-profile-open{overflow:hidden!important}.mobile-profile-open .mobile-bottom-dock,.mobile-profile-open .viu-widget{display:none!important}.signed-out .mobile-profile-page,.signed-out .mobile-bottom-dock,.auth-pending .mobile-bottom-dock{display:none!important}
@media(max-width:760px), (pointer:coarse) and (max-height:600px){
body.soft-theme{padding-bottom:10px}.soft-theme .topbar{height:60px;min-height:60px;flex-wrap:nowrap;padding:9px 13px;margin-bottom:10px;justify-content:space-between}.soft-theme .topbar .brand.brand-logo img{width:138px}.soft-theme .topbar #addTask,.soft-theme .topbar .summary,.soft-theme .topbar .top-spacer{display:none!important}.soft-theme .account-button{width:40px;height:40px;max-width:none;min-width:40px;padding:2px;border:0;background:transparent;overflow:visible}.soft-theme .account-button>.avatar{width:36px;height:36px}.soft-theme .account-button>span:not(.avatar),.soft-theme .account-button .profile-chevron{display:none}.soft-theme .account-widget{position:relative;margin-left:auto}.soft-theme .mobile-bottom-dock{display:block;position:fixed;z-index:700;left:12px;right:80px;bottom:max(12px,env(safe-area-inset-bottom));height:60px;border:1px solid #ffffffd9;border-radius:30px;background:#fffafdF5;box-shadow:0 7px 30px #5434481b;overflow:hidden}.mobile-bottom-dock .page-nav{display:flex!important;flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;width:100%;max-width:100%;height:60px;margin:0;padding:5px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:none;overscroll-behavior-x:contain;background:transparent;border-radius:30px;touch-action:pan-x}.mobile-bottom-dock .page-nav::-webkit-scrollbar{display:none}.mobile-bottom-dock .page-nav a{flex:0 0 55px;min-width:55px;height:49px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:24px;color:#9a899f;font-size:8px;font-weight:550;white-space:nowrap}.mobile-bottom-dock .page-nav a[hidden]{display:none!important}.mobile-bottom-dock .page-nav a.active{background:#ffe2ef;color:#a13f72}.mobile-bottom-dock .mobile-nav-icon{display:block;width:21px;height:21px;flex:none}.mobile-bottom-dock .page-nav .mobile-nav-label{font-size:8px;line-height:10px;max-width:53px;overflow:hidden;text-overflow:ellipsis;background:transparent;padding:0}.mobile-bottom-dock .mobile-nav-label>span{display:none}.soft-theme .viu-widget{right:12px;bottom:max(14px,env(safe-area-inset-bottom));z-index:710}.soft-theme .viu-launcher{position:relative;width:56px;height:56px;border-radius:50%;padding:0;justify-content:center;gap:0;background:#ffe2ef;border-color:#f0c3d9;box-shadow:0 7px 26px #a13f721c}.viu-launcher>span{display:none}.soft-theme .viu-launcher>svg{width:25px;height:25px}.viu-launcher i{position:absolute;right:-2px;top:-2px;min-width:18px;height:18px;padding:2px 4px;font-size:9px}.soft-theme .viu-window{position:absolute;right:0;bottom:66px;margin:0;width:min(374px,calc(100vw - 24px));max-height:calc(100dvh - 105px)}.soft-theme .board-shell{margin-bottom:0}.soft-theme .team-page,.soft-theme .birthday-page{margin-bottom:82px}.soft-theme .toast{bottom:92px}.mobile-profile-header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#fffffff5;border-bottom:1px solid #f0e7ee}.mobile-profile-header h1{font-size:18px;margin:0;text-align:center;letter-spacing:-.3px}.mobile-profile-back{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:#f6edf3;color:#7d6073}.mobile-profile-back svg{width:21px;height:21px}.mobile-profile-content{padding:22px 18px calc(24px + env(safe-area-inset-bottom));max-width:540px;margin:auto}.mobile-profile-hero{text-align:center;padding:5px 0 22px}.mobile-profile-photo{position:relative;width:96px;height:96px;margin:0 auto 16px}.mobile-profile-photo>.avatar{width:96px;height:96px;font-size:32px;background:#f8dcec;color:#a34c7d;border:4px solid white;box-shadow:0 5px 20px #83456b10}.mobile-profile-photo>button{position:absolute;right:0;bottom:0;width:29px;height:29px;border:3px solid #faf6f9;border-radius:50%;background:#a44c7c;color:white;display:grid;place-items:center;padding:4px}.mobile-profile-photo svg{width:15px;height:15px}.mobile-profile-hero h2{font-size:23px;letter-spacing:-.6px;margin:0}.mobile-profile-hero p{font-size:12px;color:#a38b9b;margin:9px 0 0}.mobile-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #eee2eb;border-radius:19px;padding:17px 4px;background:#fff;margin:0 0 20px}.mobile-profile-stats>div{text-align:center;border-right:1px solid #f3eaf0}.mobile-profile-stats>div:last-child{border:0}.mobile-profile-stats b{display:block;font-size:21px;font-weight:650;color:#56404f}.mobile-profile-stats span{display:block;font-size:10px;color:#aa94a4;margin-top:6px}.mobile-profile-card{border-radius:21px;background:white;border:1px solid #eee4ec;padding:17px 14px 5px;margin-bottom:16px}.mobile-profile-card h3{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#ac97a8;font-weight:550;margin:0 0 10px}.mobile-profile-birthday{display:flex;align-items:center;gap:12px;padding:10px 4px 16px;border-bottom:1px solid #f4edf2}.mobile-profile-birthday>svg{width:23px;height:23px;color:#bc7ba3}.mobile-profile-birthday>span{font-size:11px;color:#aa93a3}.mobile-profile-birthday b{display:block;font-size:14px;font-weight:550;color:#59434f;margin-top:5px}.mobile-profile-row{width:100%;display:flex;align-items:center;gap:11px;padding:15px 2px;border:0;border-bottom:1px solid #f3edf1;background:transparent;text-align:left}.mobile-profile-row:last-child{border:0}.mobile-profile-row>i{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#f8edf4;color:#b36793;flex:none}.mobile-profile-row>i svg{width:18px;height:18px}.mobile-profile-row>span{flex:1;font-size:13px;font-weight:500;color:#58404f}.mobile-profile-row small{display:block;font-size:10px;color:#ad96a6;margin-top:5px;font-weight:400}.mobile-profile-row>svg{width:16px;height:16px;color:#bdacb9}.mobile-profile-login{display:flex;justify-content:space-between;gap:10px;padding:10px 2px 14px;font-size:12px;color:#ae98a7;border-bottom:1px solid #f3edf1}.mobile-profile-login b{color:#7b6271;font-weight:500}.mobile-profile-logout>span,.mobile-profile-logout>i{color:#bd5a75}.mobile-account-sheet{padding:0!important;background:#faf6f9!important;align-items:stretch!important}.soft-theme .mobile-account-sheet>.modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none;background:#faf6f9}.mobile-account-sheet .modal-head{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:40px 1fr 40px;background:#fff;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #eee3eb}.mobile-account-sheet .modal-head h2{grid-column:2;grid-row:1;font-size:18px;text-align:center}.mobile-account-sheet #accountClose{grid-column:1;grid-row:1;width:37px;height:37px;background:#f8eef4;color:#896279}.mobile-account-sheet #accountClose svg{width:21px;height:21px}.mobile-account-sheet .modal-body{padding:22px 18px}.mobile-account-sheet .modal-actions{position:sticky;bottom:0;background:#fff;padding-bottom:calc(15px + env(safe-area-inset-bottom))}.mobile-account-sheet .account-avatar-edit{justify-content:center;flex-wrap:wrap;padding:12px 0 24px}.mobile-account-sheet .account-avatar-edit .avatar{width:76px;height:76px}.mobile-account-sheet .form-grid{grid-template-columns:minmax(0,1fr);gap:20px}.mobile-account-sheet .field input{background:white}.mobile-profile-page:not([hidden]) .mobile-profile-content{animation:popup-arrive .3s cubic-bezier(.16,1,.3,1) both}
}
@media(pointer:coarse) and (max-height:600px){.soft-theme .topbar{height:50px;min-height:50px;padding:5px 12px}.mobile-bottom-dock,.mobile-bottom-dock .page-nav{height:52px}.mobile-bottom-dock .page-nav a{height:43px}.soft-theme .viu-launcher{width:48px;height:48px}.soft-theme .viu-window{bottom:58px}.mobile-profile-header{padding-top:8px}}

@media(max-width:760px), (pointer:coarse) and (max-height:600px){.soft-theme .team-week-toolbar{top:calc(70px + env(safe-area-inset-top,0px))}.soft-theme .team-page{scroll-margin-top:70px}}@media(pointer:coarse) and (max-height:600px){.soft-theme .team-week-toolbar{top:calc(60px + env(safe-area-inset-top,0px))}}

/* Note counter, mobile people pages and compact team cards. */
.soft-theme .viu-launcher i{background:#ef4058!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;min-width:22px;width:auto;height:22px;padding:0 5px;border-radius:50px;font-weight:700;line-height:1}.viu-launcher i[hidden]{display:none!important}.mobile-undo-float,.workload-mobile-menu,.mobile-plan-member{display:none}#undoButton>svg{width:20px;height:20px;flex:none;display:block}.signed-out .mobile-undo-float,.auth-pending .mobile-undo-float,.mobile-profile-open .mobile-undo-float{display:none!important}.mobile-person-specializations{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px}.mobile-person-specializations>span,.mobile-person-projects>span{border-radius:8px;background:color-mix(in srgb,var(--tag-color) 11%,white);border:1px solid color-mix(in srgb,var(--tag-color) 25%,white);color:var(--tag-color);padding:6px 9px;font-size:11px;font-weight:550}.mobile-person-projects{display:flex;flex-wrap:wrap;gap:7px;padding:8px 0 13px}.mobile-person-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #f2eaf0;font-size:12px;color:#9e8597}.mobile-person-contact:last-child{border:0}.mobile-person-contact b{color:#77576a;font-size:12px;font-weight:500;overflow-wrap:anywhere;text-align:right}.mobile-person-empty{font-size:12px;color:#ad96a7;padding:9px 0 16px;margin:0}.mobile-person-note{font-size:13px;line-height:1.7;white-space:pre-wrap;color:#786071;padding:5px 0 13px;margin:0}
@media(max-width:760px), (pointer:coarse) and (max-height:600px){
.soft-theme .viu-launcher i{height:20px;min-width:20px;padding:0 4px;font-size:10px}.soft-theme .mobile-undo-float:not([hidden]){display:block;position:fixed;z-index:690;left:14px;bottom:calc(84px + env(safe-area-inset-bottom));width:43px;height:43px}.mobile-undo-float #undoButton{display:flex;align-items:center;justify-content:center;width:43px;height:43px;min-height:43px;padding:11px;border:1px solid #ebd9e5;border-radius:50%;background:#fffafd;box-shadow:0 4px 17px #6d3d5a15;color:#aa668e}.mobile-undo-float #undoButton>svg{width:21px;height:21px;flex:none}.mobile-undo-float #undoButton:disabled{background:#faf5f8;opacity:.5}.workload-card{position:relative;row-gap:12px}.workload-mobile-menu{display:block;position:absolute;top:8px;right:12px;z-index:30}.workload-mobile-menu>summary{list-style:none;cursor:pointer;width:32px;height:28px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:#a68b9d;border-radius:9px}.workload-mobile-menu>summary::-webkit-details-marker{display:none}.workload-mobile-menu[open]>summary{background:#f8eaf3;color:#a14a7b}.workload-mobile-menu>button{position:absolute;right:0;top:32px;min-width:140px;padding:13px 16px;border:1px solid #ebdfea;background:#fff;border-radius:12px;box-shadow:0 9px 26px #48213f20;text-align:left;font-size:13px;color:#7d536e}.workload-number{margin-top:24px}.workload-contact{padding-right:5px}.workload-profile{display:none!important}.workload-projects .plan-member{display:none!important}.workload-days{padding-bottom:5px;gap:6px}.workload-day>small{display:none!important}.workload-day>i.shift-bar{height:22px;border-radius:7px}.workload-day .absence-marker{top:auto!important;bottom:-4px!important}.mobile-plan-member{display:flex!important;grid-column:2;grid-row:3;align-self:end;justify-self:end;gap:5px;min-height:35px;padding:8px 10px!important;font-size:10px!important;white-space:nowrap;border-radius:99px!important}.mobile-plan-member>svg{width:16px;height:16px;flex:none}.workload-projects{grid-column:1;grid-row:3;min-width:0}.workload-projects .project-tag{font-size:10px;padding:6px 9px}.mobile-participant-sheet{padding:0!important;align-items:stretch!important;background:#faf6f9!important}.soft-theme .mobile-participant-sheet>.modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none;background:#faf6f9}.mobile-participant-sheet .modal-head{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:40px 1fr 40px;background:#fff;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #eee3eb}.mobile-participant-sheet .modal-head>div{grid-column:2;grid-row:1;text-align:center}.mobile-participant-sheet .modal-head h2{font-size:18px}.mobile-participant-sheet .eyebrow{display:none}.mobile-participant-sheet #closeModal{grid-column:1;grid-row:1;width:37px;height:37px;background:#f8eef4;color:#896279}.mobile-participant-sheet #closeModal svg{width:21px;height:21px}.mobile-participant-sheet .modal-body{padding:22px 18px}.mobile-participant-sheet .modal-actions{position:sticky;bottom:0;background:#fff;padding-bottom:calc(15px + env(safe-area-inset-bottom))}
}

@media(max-width:760px), (pointer:coarse) and (max-height:600px){.mobile-plan-member{position:absolute;right:16px;bottom:16px;width:126px;max-width:126px;grid-column:auto;grid-row:auto;justify-content:center}.workload-projects{grid-column:1/-1;padding-right:135px;min-height:35px}.workload-number{min-width:58px}}

/* Compact mobile navigation and people identity, v36. */
.add-member-icon{display:none}
@media(max-width:760px), (pointer:coarse) and (max-height:600px){
.soft-theme .eyebrow{display:none!important}
.soft-theme .team-heading{align-items:center;gap:12px;margin-bottom:16px}
.soft-theme .team-heading>div{min-width:0;flex:1}
.soft-theme .team-heading h1{margin:0;font-size:26px;line-height:1.2}
.soft-theme .team-heading p{margin:5px 0 0;font-size:12px}
.soft-theme #addDesigner{width:42px;height:42px;min-width:42px;padding:10px;flex-shrink:0;align-self:center;border-radius:50%}
.soft-theme #addDesigner span{display:none}.soft-theme #addDesigner .add-member-icon{display:block;width:22px;height:22px}
.soft-theme #producerToolbar{display:flex;flex-wrap:nowrap;gap:6px;min-width:0}
.soft-theme #producerToolbar[hidden]{display:none}
.soft-theme #producerToolbar .button{flex:none;padding:7px 10px;font-size:11px;white-space:nowrap}
.soft-theme #producerToolbar #producerFilter{flex:1;min-width:0;width:auto;max-width:none;overflow:hidden;font-size:11px;gap:5px;padding:7px 8px}
.soft-theme #producerFilter .avatar{width:24px;height:24px;flex-shrink:0}
.soft-theme #producerFilter span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.soft-theme .team-week-navigation{display:grid;grid-template-columns:32px minmax(0,1fr) 32px auto;gap:6px;width:100%;align-items:center}
.soft-theme .team-week-navigation .icon-button{width:32px;height:32px;min-width:32px;border:1px solid #e8e1eb;border-radius:50%;background:#fff;font-size:22px;padding:0}
.soft-theme .team-week-title{padding:4px 0;min-width:0;text-align:center}
.soft-theme .team-week-title b{font-size:11px;line-height:1.3;white-space:nowrap}
.soft-theme .team-week-title small{display:none}
.soft-theme #teamWeekToday{min-height:32px;padding:6px 9px;font-size:11px;white-space:nowrap}
.soft-theme .team-week-toolbar{padding:12px;gap:12px}
.soft-theme #teamSearch{width:100%;min-width:0;max-width:none}
.person-avatar-trigger{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #e5d4e1;border-radius:50%;padding:3px;background:#fff;box-shadow:0 2px 6px #65455609;cursor:pointer}
.person-avatar-trigger .avatar{margin:0;display:flex}
.person-name-trigger{display:inline;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.person-avatar-trigger:active,.person-name-trigger:active{opacity:.65}
.soft-theme .account-row .account-person{display:flex;align-items:center;gap:10px;min-width:0}
.producer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.producer-login-badge{display:inline-block;max-width:100%;overflow-wrap:anywhere;background:#f0eef2;color:#8a8190;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:500}
.soft-theme .account-row .producer-login-column,.soft-theme .account-row .account-actions{display:none!important}
}

/* Desktop team composition, v37. */
.workload-skills-desktop{display:none}
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme .topbar .page-nav{background:transparent;border:0;box-shadow:none}
.soft-theme .topbar .page-nav a{background:transparent}
.soft-theme .topbar .page-nav a.active{background:#ffe3ef;color:#aa3d70}
.soft-theme .topbar .page-nav .mobile-nav-label{background:transparent;padding:0;border-radius:0;font-size:inherit}
.soft-theme .team-heading{align-items:center;gap:16px;margin-bottom:22px}
.soft-theme .team-heading>div:first-child{margin-right:auto}
.soft-theme .team-heading #producerToolbar{display:flex;align-items:center;flex-wrap:nowrap;flex-shrink:0;border:0;background:transparent;padding:0;margin:0;min-height:40px;gap:8px}
.soft-theme .team-heading #producerScopeNote{display:none}
.soft-theme .team-heading #producerFilter{width:180px;max-width:180px}
.soft-theme .team-week-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:16px}
.soft-theme .team-week-navigation{display:flex;align-items:center;gap:8px;flex:none}
.soft-theme .team-week-title{padding:4px 6px;min-width:178px}
.soft-theme .team-week-title b{font-size:13px;white-space:nowrap}
.soft-theme .team-week-title small{display:none}
.soft-theme .team-week-navigation .icon-button{width:34px;height:34px;min-width:34px;border:1px solid #e9e2ec;border-radius:50%;background:#fff;padding:0}
.soft-theme #teamWeekToday{min-height:36px;padding:7px 13px;font-size:12px}
.soft-theme #teamSearch{width:220px;max-width:220px;flex:none;margin:0}
.soft-theme .team-week-toolbar .availability-filters{margin:0;align-items:center}
.soft-theme .workload-card{display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(140px,.8fr) minmax(160px,1fr) 322px 62px 82px;gap:16px;align-items:center;padding:20px;min-height:116px}
.soft-theme .workload-contact{grid-column:1;grid-row:1;min-width:0;padding-right:0;align-self:center}
.soft-theme .workload-person .member-specializations{display:none}
.soft-theme .workload-person h2{font-size:14px;line-height:1.4}
.soft-theme .workload-status{font-size:11px;line-height:1.4}
.soft-theme .workload-skills-desktop{display:flex;grid-column:2;grid-row:1;align-items:center;align-content:center;gap:6px;flex-wrap:wrap;min-height:64px;padding-left:16px;border-left:1px solid #eee7ee}
.soft-theme .workload-skills-desktop .specialization-tag,.soft-theme .workload-skills-desktop>span{border-radius:99px}
.soft-theme .workload-projects{grid-column:3;grid-row:1;display:flex;align-items:center;align-content:center;gap:6px;flex-wrap:wrap;min-height:64px;padding:0 0 0 16px;border-left:1px solid #eee7ee}
.soft-theme .workload-projects .project-tag{border-radius:99px;font-size:11px;padding:6px 10px}
.soft-theme .workload-projects>span,.skills-empty{font-size:11px;color:#aa9bac}
.soft-theme .workload-projects .plan-member{width:100%;font-size:11px;margin-top:3px}
.soft-theme .workload-days{grid-column:4;grid-row:1;align-self:center;grid-template-columns:repeat(7,36px);gap:7px;padding-left:16px;border-left:1px solid #eee7ee;min-height:64px;align-items:center}
.soft-theme .workload-day{width:36px;min-width:0;padding:0;border:0;background:transparent;position:relative}
.soft-theme .workload-day>span{font-size:9px;white-space:nowrap}
.soft-theme .workload-day>small,.soft-theme .workload-day .shift-bar b,.soft-theme .workload-day .absence-marker{display:none!important}
.soft-theme .workload-day .shift-bar{width:36px;height:28px;border-radius:9px;transition:box-shadow .15s,border-color .15s}
.soft-theme .workload-day:hover .shift-bar,.soft-theme .workload-day:focus-visible .shift-bar{border-color:#a692ce;box-shadow:0 0 0 2px #b6a1dc33}
.soft-theme .workload-number{grid-column:5;grid-row:1;align-self:center;margin:0;padding-left:10px;border-left:1px solid #eee7ee}
.soft-theme .workload-number b{font-size:23px}.soft-theme .workload-number span{font-size:10px}
.soft-theme .workload-profile{grid-column:6;grid-row:1;justify-self:end;min-height:34px;padding:7px 12px;font-size:11px}
}
@media(min-width:761px) and (max-width:1180px) and (pointer:fine){
.soft-theme .workload-card{grid-template-columns:minmax(165px,1fr) minmax(130px,.8fr) minmax(140px,1fr) 322px;gap:12px}
.soft-theme .workload-number{grid-column:1;grid-row:2;border:0;padding:0;display:flex;gap:8px;align-items:baseline}
.soft-theme .workload-profile{grid-column:4;grid-row:2}
.soft-theme .team-heading{flex-wrap:wrap}.soft-theme .team-heading #producerToolbar{order:2;margin-left:auto}
}

/* Connected desktop member groups, v38. */
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme .workload-card{grid-template-columns:240px minmax(150px,210px) minmax(150px,210px) minmax(350px,1fr) 62px 82px;column-gap:16px;min-height:100px;padding:18px 20px}
.soft-theme .workload-contact{display:grid;grid-template-columns:46px minmax(0,1fr) 30px;gap:10px}
.soft-theme .workload-avatar-stack{display:contents}
.soft-theme .workload-avatar-stack>.avatar{grid-column:1;grid-row:1;width:46px;height:46px}
.soft-theme .workload-person{grid-column:2;grid-row:1;min-width:0}
.soft-theme .workload-person h2{margin:0 0 4px;font-size:13px}
.soft-theme .workload-person .workload-status{margin:0;font-size:10px}
.soft-theme .workload-contact .team-telegram{grid-column:3;grid-row:1;width:30px;height:30px;border-radius:50%}
.soft-theme .workload-skills-desktop,.soft-theme .workload-projects{justify-content:flex-start;align-items:center;align-content:center;min-height:54px;padding-left:16px}
.soft-theme .workload-projects .plan-member{display:none!important}
.soft-theme .workload-days{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:54px}
.soft-theme .workload-day{width:100%;min-width:0}
.soft-theme .workload-day .shift-bar{width:100%;height:29px;border-radius:99px;border-width:1px;border-style:solid;border-color:#ddd7e7;background:#faf8fc;overflow:hidden}
.soft-theme .workload-day.busy-day .shift-bar{background:#dff6ef;border-color:#a3e4d5}
.soft-theme .workload-day.weekend-busy .shift-bar{background:#ece5ff;border-color:#c9b8f4}
.soft-theme .workload-day.weekend-free .shift-bar{background:#eeebf2;border-color:#d9d2e1}
.soft-theme .workload-day.vacation-day .shift-bar{background:repeating-linear-gradient(135deg,#f8f3ff 0 3px,#e9dff5 3px 5px);border-color:#d9c9e9}
.soft-theme .workload-day .shift-fill{background:transparent}
.soft-theme .workload-day:hover .shift-bar,.soft-theme .workload-day:focus-visible .shift-bar,.soft-theme .workload-day.day-selected .shift-bar{border-color:#2c2ae8;box-shadow:0 0 0 2px #2c2ae8;outline:none}
}
@media(min-width:761px) and (max-width:1250px) and (pointer:fine){
.soft-theme .workload-card{grid-template-columns:210px minmax(125px,.8fr) minmax(125px,.8fr) minmax(270px,1.5fr);gap:12px}
.soft-theme .workload-days{gap:6px}
.soft-theme .workload-number{grid-column:1;grid-row:2}.soft-theme .workload-profile{grid-column:4;grid-row:2}
}

/* One desktop team control row, v39. */
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme .team-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;position:sticky;top:10px;z-index:75;background:#fffdfefa;border-radius:20px;padding:10px 0;margin-bottom:14px}
.soft-theme .team-heading>div:first-child{flex:0 0 190px;margin:0}
.soft-theme .team-heading h1{font-size:28px}
.soft-theme .team-heading p{font-size:11px;margin:6px 0 0}
.soft-theme .team-heading .team-week-toolbar{position:static;flex:1;min-width:0;margin:0;padding:10px 12px;gap:10px;justify-content:center;flex-wrap:nowrap;border-radius:18px;box-shadow:0 3px 15px #56335e05}
.soft-theme .team-heading #addDesigner{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:50%;padding:10px;flex:none}
.soft-theme #addDesigner>span{display:none}
.soft-theme #addDesigner .add-member-icon{display:block;width:22px;height:22px}
.soft-theme .team-week-navigation{gap:7px}
.soft-theme .team-week-navigation:has(#teamWeekPicker){border-radius:99px;background:#f2eff5;padding:5px 7px}
.soft-theme .team-week-title{display:flex;align-items:center;justify-content:center;min-width:164px;text-align:center;padding:4px}
.soft-theme .team-week-title b{display:block;width:100%;text-align:center;font-size:12px}
.soft-theme #teamWeekToday{background:#fff;min-height:32px;padding:6px 10px}
.soft-theme .team-heading #teamSearch{width:165px;max-width:165px;font-size:11px;padding:9px 12px}
.soft-theme .team-heading .availability-filters{gap:5px;flex:none}
.soft-theme .team-heading .availability-filter{font-size:10px;padding:8px 9px;min-height:32px}
.soft-theme .team-heading #producerToolbar{order:initial;gap:6px;margin:0}
.soft-theme .team-heading #producerToolbar .button{font-size:11px;padding:7px 10px}
.soft-theme .team-heading #producerFilter{width:160px;max-width:160px;font-size:11px}
.soft-theme .workload-day .shift-bar{position:relative}
.soft-theme .workload-day:hover .shift-bar{background:#2c2ae83d!important;border-color:#2c2ae8}
.soft-theme .workload-day:hover .shift-bar:after{content:'Назначить';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#2c2ae8;font-size:10px;font-weight:600;pointer-events:none}
}
@media(min-width:761px) and (max-width:1850px) and (pointer:fine){
.soft-theme .team-heading{flex-wrap:wrap;gap:12px}
.soft-theme .team-heading>div:first-child{flex:1}
.soft-theme .team-heading .team-week-toolbar{order:4;flex-basis:100%;justify-content:center}
}

/* Shared soft shapes and tag priority, v41. */
.soft-theme #addProject{display:none!important}
.soft-theme .corner{gap:12px;align-items:center}
.soft-theme .corner .add-project-inline{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;height:34px;padding:7px 12px;margin-left:auto;border:1px solid #e0d8e7;border-radius:99px;background:#fff;color:#584659;font-size:12px;font-weight:600;line-height:1}
.soft-theme .corner .add-project-inline:hover{border-color:#bda7ce;background:#faf3f8}
.soft-theme .project-tag,.soft-theme .producer-project-tag,.soft-theme .mobile-person-projects>span{border:1px solid color-mix(in srgb,var(--tag-color,var(--producer-project-color,#9980c6)) 46%,white);background:color-mix(in srgb,var(--tag-color,var(--producer-project-color,#9980c6)) 8%,white);color:color-mix(in srgb,var(--tag-color,var(--producer-project-color,#9980c6)) 72%,#39303c);border-radius:99px;font-weight:600}
.soft-theme .specialization-tag,.soft-theme .mobile-person-specializations>span{border:1px solid transparent;border-radius:99px;background:color-mix(in srgb,var(--tag-color,#7659ff) 13%,white);color:color-mix(in srgb,var(--tag-color,#7659ff) 75%,#39303c)}
.soft-theme .project-card,.soft-theme .member-card,.soft-theme .account-row{border-radius:20px}
.soft-theme .filter-popup,.soft-theme .filter-popover,.soft-theme .calendar-popover,.soft-theme .account-role-options{border-radius:18px}
.soft-theme .specializations-settings input,.soft-theme .specializations-settings select{border-radius:12px}
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme #timelineToolbar .filter-control>span{display:none}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
.soft-theme .corner .add-project-inline{width:30px;min-width:30px;height:30px;min-height:30px;padding:0;font-size:21px}
.soft-theme .corner .inline-project-label{display:none}
}

/* Telegram identity and mobile contact rows, v43. */
.soft-theme .team-telegram,.soft-theme .telegram-link{background:#2aabee!important;color:#fff!important;border:0;border-radius:50%!important;display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;padding:0;line-height:0}
.soft-theme .team-telegram svg,.soft-theme .telegram-link svg{display:block;width:19px;height:19px;margin:0;padding:0;color:#fff;flex:none;overflow:visible}
.soft-theme .team-telegram:hover,.soft-theme .telegram-link:hover{background:#229ed9!important}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
.soft-theme #accountsAdd{width:42px;height:42px;min-width:42px;padding:10px;border-radius:50%;flex:none}
.soft-theme #accountsAdd>span{display:none}.soft-theme #accountsAdd .add-member-icon{display:block;width:22px;height:22px}
.soft-theme .workload-mobile-menu,.soft-theme .workload-number{display:none!important}
.soft-theme .workload-contact{grid-column:1/-1;display:grid;grid-template-columns:54px minmax(0,1fr) 34px;gap:10px;padding:0;align-items:center}
.soft-theme .workload-avatar-stack{display:contents}
.soft-theme .workload-avatar-stack>.person-avatar-trigger{grid-column:1;grid-row:1;align-self:start}
.soft-theme .workload-person{display:contents}
.soft-theme .workload-person h2{grid-column:2;grid-row:1;align-self:start;margin:5px 0 0;font-size:14px;line-height:1.3;padding-right:0}
.soft-theme .workload-person .workload-status{grid-column:2;grid-row:1;align-self:end;margin:27px 0 2px;font-size:11px;line-height:1.4}
.soft-theme .workload-contact .team-telegram{grid-column:3;grid-row:1;align-self:center;width:34px;height:34px}
.soft-theme .workload-person .member-specializations{grid-column:1/-1;grid-row:2;margin:2px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.soft-theme .workload-person .member-contacts{grid-column:1/-1;grid-row:3}.soft-theme .member-contacts:empty{display:none}
.soft-theme .account-row .role-picker{display:none!important}
.soft-theme .account-row .account-person{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:10px;width:100%;align-items:center}
.soft-theme .account-person .producer-identity{grid-column:2;min-width:0}
.soft-theme .account-person .producer-telegram{grid-column:3;grid-row:1;width:34px;height:34px}
.soft-theme .viu-widget{position:fixed!important;bottom:max(12px,env(safe-area-inset-bottom))!important;right:12px!important}
}

@media(max-width:760px),(pointer:coarse) and (max-height:600px){
.soft-theme .workload-contact{row-gap:4px;grid-template-rows:auto auto auto}
.soft-theme .workload-avatar-stack>.person-avatar-trigger{grid-row:1/span 2;align-self:center}
.soft-theme .workload-person h2{grid-row:1;margin:0;align-self:end}
.soft-theme .workload-person .workload-status{grid-row:2;margin:0;align-self:start}
.soft-theme .workload-contact .team-telegram{grid-row:1/span 2}
.soft-theme .workload-person .member-specializations{grid-row:3;margin-top:7px}
.soft-theme .workload-person .member-contacts{grid-row:4}
.soft-theme .field:has(#accRole){display:none}
}

/* Desktop producers follow the Team header and row rhythm, v44. */
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme #accountsPage .team-heading>div:first-child{flex:1;margin-right:auto}
.soft-theme #accountsPage .accounts-toolbar{margin:0;display:flex;align-items:center;flex:none}
.soft-theme #accountsPage .accounts-toolbar input{width:260px;height:38px;min-height:38px;border-radius:99px;font-size:12px;padding:9px 14px}
.soft-theme #accountsAdd{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:50%;padding:10px;flex:none}
.soft-theme #accountsAdd>span{display:none}.soft-theme #accountsAdd .add-member-icon{display:block;width:22px;height:22px}
.soft-theme #accountsPage .account-row{min-height:100px;padding:18px 20px;border-radius:20px;column-gap:16px;margin-bottom:12px;align-items:center}
.soft-theme #accountsPage .account-person{gap:10px;min-width:0}
.soft-theme #accountsPage .account-person .avatar{width:46px;height:46px}
.soft-theme #accountsPage .account-person b{font-size:13px;line-height:1.4}
.soft-theme #accountsPage .producer-project-load{justify-content:flex-start;align-items:center;border-left:1px solid #eee7ee;padding-left:16px;min-height:54px}
.soft-theme #accountsPage .producer-login-column{border-left:1px solid #eee7ee;padding-left:16px;min-height:54px;display:flex;align-items:center;font-size:12px;color:#8b7d8c}
.soft-theme #accountsPage .account-actions{align-items:center}
.soft-theme #accountsPage .account-actions .button{min-height:34px;border-radius:99px;font-size:11px;padding:7px 12px}
}

/* Desktop project people stack and header, v45. */
.add-project-page-icon{display:none}
.soft-theme .priority-button{border-radius:99px}
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme #projectsPage .team-heading>div:first-child{flex:1;margin-right:auto}
.soft-theme #addProjectPage{width:42px;height:42px;min-width:42px;min-height:42px;padding:10px;border-radius:50%;flex:none}
.soft-theme #addProjectPage>span{display:none}.soft-theme #addProjectPage .add-project-page-icon{display:block;width:22px;height:22px}
.soft-theme .project-avatars{display:flex;align-items:center;gap:0;padding-left:0;isolation:isolate;min-height:42px}
.soft-theme .project-avatars>span{display:inline-flex;position:relative;margin-left:-11px;flex:none;transition:transform .15s}
.soft-theme .project-avatars>span:first-child{margin-left:0}
.soft-theme .project-avatars>span:hover{z-index:10;transform:translateY(-3px)}
.soft-theme .project-avatars .avatar{width:42px;height:42px;border:3px solid #fff;border-radius:50%;font-size:12px;background:#f8e5ef;box-shadow:0 1px 4px #50334710;object-fit:cover}
.soft-theme .project-avatars>small{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:3px solid white;border-radius:50%;background:#f1edf7;color:#8c729c;margin-left:-11px;font-size:11px}
.soft-theme .project-list-team{gap:8px}
}

/* Consistent readable controls, v46. */
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme .button,.soft-theme .filter-trigger,.soft-theme .priority-button,.soft-theme .role-picker,.soft-theme .projects-tabs button,.soft-theme .availability-filter{font-size:13px}
.soft-theme .team-heading #producerToolbar .button,.soft-theme .team-heading #producerFilter,.soft-theme #timelineToolbar .filter-trigger,.soft-theme #timelineToolbar .producer-toolbar .button{font-size:13px;min-height:38px}
.soft-theme .producer-toolbar-label{font-size:12px}
.soft-theme .projects-toolbar input,.soft-theme #accountsPage .accounts-toolbar input,.soft-theme .team-heading #teamSearch{font-size:13px;min-height:38px}
.soft-theme .team-heading #teamSearch{width:180px;max-width:180px}
.soft-theme .team-heading .availability-filter{font-size:13px;padding:8px 11px;min-height:38px}
.soft-theme .team-week-title b{font-size:13px}
.soft-theme #teamWeekToday,.soft-theme .corner .add-project-inline{font-size:13px;min-height:36px}
.soft-theme .project-list-name b,.soft-theme .workload-person h2,.soft-theme #accountsPage .account-person b{font-size:14px}
.soft-theme .project-list-dates b,.soft-theme .project-list-team>span,.soft-theme .project-list-dates>span,.soft-theme .project-list-name small{font-size:12px}
.soft-theme .workload-projects .project-tag,.soft-theme .producer-project-tag,.soft-theme .workload-skills-desktop .specialization-tag{font-size:12px}
.soft-theme .workload-profile,.soft-theme #accountsPage .account-actions .button{font-size:13px;min-height:36px}
.soft-theme #accountsPage .producer-login-column{font-size:13px}
.soft-theme .priority-button,.soft-theme .archive-button{font-size:13px;min-height:38px}
.soft-theme .team-heading .team-week-toolbar{gap:8px}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
.soft-theme #addProjectPage{display:inline-flex;align-items:center;justify-content:center;gap:0;width:auto;min-width:0;height:40px;padding:10px 14px;border-radius:99px;font-size:13px}
.soft-theme #addProjectPage .add-project-page-icon{display:none}.soft-theme #addProjectPage>span{display:inline}
.soft-theme .corner .add-project-inline{width:auto;min-width:0;padding:6px 8px;font-size:11px;gap:3px}
.soft-theme .corner .inline-project-label{display:inline}
.soft-theme .corner{gap:4px;padding-left:10px;padding-right:7px;font-size:12px}
}

/* Full producer names and icon actions, v47. */
.add-specialization-icon{display:none}
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme .team-heading #producerToolbar,.soft-theme #timelineToolbar .producer-toolbar{flex-shrink:0}
.soft-theme .team-heading #producerFilter,.soft-theme #timelineToolbar #producerFilter,.soft-theme #producerToolbar #producerFilter{width:max-content;min-width:240px;max-width:360px;flex-shrink:0}
.soft-theme #producerFilter>span{overflow:visible;text-overflow:clip;white-space:nowrap;max-width:none;flex-shrink:0}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
.soft-theme #addProjectPage{width:42px;height:42px;min-width:42px;min-height:42px;padding:10px;border-radius:50%;gap:0;flex:none}
.soft-theme #addProjectPage>span{display:none}.soft-theme #addProjectPage .add-project-page-icon{display:block;width:22px;height:22px}
.soft-theme .corner .add-project-inline{width:30px;height:30px;min-width:30px;padding:0;font-size:21px}.soft-theme .corner .inline-project-label{display:none}
.soft-theme #addSpecialization{width:42px;height:42px;min-width:42px;min-height:42px;padding:10px;border-radius:50%;flex:none}
.soft-theme #addSpecialization>span{display:none}.soft-theme #addSpecialization .add-specialization-icon{display:block;width:22px;height:22px}
.soft-theme .settings-section-heading{align-items:center;gap:12px}
}

@media(max-width:760px),(pointer:coarse) and (max-height:600px){
.soft-theme .specializations-settings>.settings-section-heading{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;text-align:left;gap:12px}
.soft-theme .specializations-settings>.settings-section-heading>div{min-width:0}.soft-theme .specializations-settings>.settings-section-heading h2{font-size:18px}.soft-theme .specializations-settings>.settings-section-heading p{font-size:11px;line-height:1.4}
}

/* Timeline choices show full labels, v48. */
.soft-theme .corner{justify-content:center}.soft-theme .corner .add-project-inline{margin-left:0}
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme #timelineToolbar .filter-control{flex:none;min-width:0}
.soft-theme #timelineToolbar #designerFilter,.soft-theme #timelineToolbar #projectFilter{width:max-content;min-width:200px;max-width:none;flex-shrink:0}
.soft-theme #timelineToolbar #designerFilter>span,.soft-theme #timelineToolbar #projectFilter>span,.soft-theme #timelineToolbar #projectFilter .project-tag{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;flex-shrink:0}
.soft-theme #timelineToolbar{overflow-x:auto}
}

/* Match the project icon edge in the desktop timeline label column. */
@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
.soft-theme .corner{justify-content:flex-start;padding-left:38px}
.soft-theme .corner .add-project-inline{margin-left:0}
}

.app-loading{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#f8f7fb}.app-loading[hidden]{display:none!important}.app-loading-card{display:flex;flex-direction:column;align-items:center;gap:13px;min-width:220px;padding:24px 26px;border:1px solid #ece7ef;border-radius:20px;background:#ffffffed;box-shadow:0 12px 40px #30223b12;color:#79717f;text-align:center}.app-loading-card p{margin:0;font-size:14px}.app-loading.has-error .app-loading-spinner{display:none}.app-loading-spinner{width:24px;height:24px;border:2px solid #e7e2ed;border-top-color:var(--blue);border-radius:50%;animation:app-loading-spin .8s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-loading-spinner{animation:none}}

/* Monochrome loading skeleton and gentle first reveal. */
.app-loading{position:fixed;inset:0;z-index:3000;overflow:auto;padding:12px;background:#f8f7fb}.app-loading[hidden]{display:none!important}.app-skeleton{width:100%;max-width:2048px;min-height:100%;margin:auto}.sk-topbar,.sk-toolbar,.sk-content{border:1px solid #ecebf0;background:#fff;border-radius:20px}.sk-topbar{height:76px;padding:14px 22px;display:flex;align-items:center;gap:26px}.sk-logo,.sk-avatar,.sk-pill,.sk-page-title,.sk-search,.sk-person i,.sk-person b,.sk-person small,.sk-controls i,.sk-weekdays i,.sk-days i,.sk-detail{display:block;background:#e9e8ed;position:relative;overflow:hidden}.sk-logo{width:158px;height:34px;border-radius:12px;flex:none}.sk-nav{display:flex;gap:8px;align-items:center;flex:1}.sk-nav i{height:34px;width:82px;border-radius:18px;background:#eeedf1}.sk-nav i:nth-child(2){width:92px}.sk-nav i:nth-child(3){width:74px}.sk-nav i:nth-child(4){width:86px}.sk-nav i:nth-child(5){width:100px}.sk-avatar{width:42px;height:42px;border-radius:50%;flex:none}.sk-toolbar{height:62px;margin-top:10px;padding:12px 18px;display:flex;gap:10px;align-items:center}.sk-pill{height:36px;width:72px;border-radius:20px;flex:none}.sk-pill-wide{width:130px}.sk-pill-search{width:200px}.sk-content{margin-top:14px;min-height:calc(100vh - 180px);padding:22px;overflow:hidden}.sk-page-title{width:210px;height:25px;border-radius:8px;margin-bottom:18px}.sk-calendar-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px;min-height:calc(100vh - 255px)}.sk-sidebar,.sk-main{border:1px solid #ecebf0;border-radius:18px;background:#fff;overflow:hidden}.sk-sidebar{padding:14px;display:flex;flex-direction:column;min-height:100%}.sk-search{height:37px;border-radius:20px;margin:2px 0 12px;flex:none}.sk-people{flex:1;min-height:0;overflow:hidden}.sk-person{height:58px;border-bottom:1px solid #f0eff3;display:flex;align-items:center;gap:10px;padding:8px 2px}.sk-person>i{width:36px;height:36px;border-radius:50%;flex:none;background:#e9e8ed}.sk-person>span{flex:1}.sk-person b,.sk-person small{height:10px;border-radius:6px}.sk-person b{width:70%;margin-bottom:7px}.sk-person small{width:45%;height:8px}.sk-main{padding:18px;display:flex;flex-direction:column}.sk-controls{display:flex;align-items:center;gap:9px;height:40px;margin-bottom:18px}.sk-controls i{width:34px;height:34px;border-radius:50%}.sk-controls i:nth-child(2){width:135px;border-radius:20px}.sk-controls i:nth-child(3){width:85px;border-radius:20px}.sk-weekdays,.sk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.sk-weekdays{margin-bottom:9px}.sk-weekdays i{height:13px;width:45%;justify-self:center;border-radius:6px}.sk-days{grid-auto-rows:minmax(37px,1fr);flex:1}.sk-days i{border-radius:10px;background:#f0eff3}.sk-detail{height:46px;border-radius:12px;margin-top:16px;flex:none}.sk-logo::after,.sk-nav i::after,.sk-avatar::after,.sk-pill::after,.sk-page-title::after,.sk-search::after,.sk-person i::after,.sk-person b::after,.sk-person small::after,.sk-controls i::after,.sk-weekdays i::after,.sk-days i::after,.sk-detail::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fff9,transparent);animation:sk-shimmer 1.4s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translateX(100%)}}.app-loading-error{display:none}.app-loading.has-error .app-skeleton{opacity:.14}.app-loading.has-error .app-loading-error{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.app-loading-error p{max-width:360px;padding:18px 22px;border:1px solid #ece7ef;border-radius:16px;background:#fff;color:#77717f;font-size:14px;box-shadow:0 12px 40px #30223b12}.app-ready .topbar,.app-ready .producer-toolbar,.app-ready .toolbar,.app-ready .board-shell,.app-ready .team-page,.app-ready .birthday-page{animation:app-interface-appear .42s cubic-bezier(.2,.7,.2,1) both}@keyframes app-interface-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.app-loading{padding:8px}.sk-topbar{height:62px;padding:10px 14px;justify-content:space-between}.sk-logo{width:130px;height:30px}.sk-nav{display:none}.sk-avatar{width:38px;height:38px}.sk-toolbar{height:52px;padding:8px 12px;overflow:hidden}.sk-pill{width:56px}.sk-pill-wide{width:95px}.sk-pill-search{width:110px}.sk-content{padding:14px;min-height:calc(100dvh - 150px)}.sk-calendar-layout{grid-template-columns:minmax(0,1fr);gap:12px;min-height:auto}.sk-sidebar{height:180px;min-height:0}.sk-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.sk-person{height:50px}.sk-main{min-height:440px;padding:12px}.sk-days{grid-auto-rows:36px;gap:5px}.sk-weekdays,.sk-days{gap:5px}}@media(prefers-reduced-motion:reduce){.sk-logo::after,.sk-nav i::after,.sk-avatar::after,.sk-pill::after,.sk-page-title::after,.sk-search::after,.sk-person i::after,.sk-person b::after,.sk-person small::after,.sk-controls i::after,.sk-weekdays i::after,.sk-days i::after,.sk-detail::after{animation:none}.app-ready .topbar,.app-ready .producer-toolbar,.app-ready .toolbar,.app-ready .board-shell,.app-ready .team-page,.app-ready .birthday-page{animation:none}}
/* Slim rose-tinted scrollbars across the interface. */
*{scrollbar-width:thin;scrollbar-color:#dfa5bf #fbf5f8}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:#fbf5f8;border-radius:99px}*::-webkit-scrollbar-thumb{background:#dfa5bf;border:1px solid #fbf5f8;border-radius:99px}*::-webkit-scrollbar-thumb:hover{background:#cc83a5}*::-webkit-scrollbar-button{display:none;width:0;height:0}
/* Prevent iOS text selection while dragging timeline cards. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.board-shell,.board-shell *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none!important}.board-shell ::selection{background:transparent}}
/* Keep iOS Safari from auto-zooming when a mobile text field receives focus. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.soft-theme input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.soft-theme textarea{font-size:16px!important}}
/* Mobile team week stays reachable while browsing the people list. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){body.soft-theme:has(#teamPage:not([hidden])){overflow-y:visible!important}.soft-theme #teamPage .team-week-toolbar{position:sticky!important;top:calc(env(safe-area-inset-top,0px) + 68px)!important;z-index:620;background:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 7px 24px #35244712,0 2px 6px #35244706}.mobile-back-to-top{display:none!important}.mobile-back-to-top:not([hidden]){position:fixed;right:12px;bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + 66px);z-index:720;width:46px;height:46px;display:flex!important;align-items:center;justify-content:center;border:1px solid #ebd5e2;border-radius:50%;background:#fff;color:#9c4774;box-shadow:0 7px 22px #51376820;padding:0}.mobile-back-to-top svg{width:21px;height:21px}.mobile-back-to-top:active{transform:scale(.96)}}
/* Keep the month caption aligned after the email chips on mobile team cards. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.soft-theme #teamPage .member-contacts{width:100%;align-items:center}.soft-theme #teamPage .team-month-context{margin-left:auto;color:#9e879c;font-size:10px;line-height:1.3;white-space:nowrap;flex:none}}
/* In landscape, keep the mobile dock as compact as its icons and reserve room for the notes launcher. */
@media(pointer:coarse) and (orientation:landscape){
.soft-theme .mobile-bottom-dock{left:max(12px,env(safe-area-inset-left));right:auto;width:fit-content;max-width:calc(100vw - 96px)}
.mobile-bottom-dock .page-nav{width:100%;max-width:100%}
.soft-theme .viu-widget{width:56px;min-width:56px;max-width:56px;right:max(12px,env(safe-area-inset-right));flex:none}
.soft-theme .viu-launcher{width:56px!important;min-width:56px;height:56px!important;flex:0 0 56px;padding:0;}
}
.project-label[data-open-project]{cursor:pointer}.project-label[data-open-project]:hover .project-title-line b{text-decoration:underline;text-decoration-color:#24222635;text-underline-offset:3px}.project-drag-handle svg{fill:currentColor;stroke:none}
.zoom-preview-active .date-head,.zoom-preview-active .lane{transform:scaleX(var(--zoom-preview,1));transform-origin:var(--zoom-origin,0px) top;will-change:transform}

.zoom-preview-active .date-cell>*,.zoom-preview-active .month-group-label,.zoom-preview-active .task-label-content,.zoom-preview-active .task-end-badges,.zoom-preview-active .vacation-timeline-card>*{transform:scaleX(var(--zoom-counter-scale,1));}
.zoom-preview-active .date-cell>*{transform-origin:center center;}
.zoom-preview-active .month-group-label,.zoom-preview-active .task-label-content,.zoom-preview-active .task-end-badges,.zoom-preview-active .vacation-timeline-card>*{transform-origin:left center;}
.zoom-preview-active .task-label-content,.zoom-preview-active .task-end-badges{will-change:transform;}
.zoom-preview-active .date-cell>*,.zoom-preview-active .month-group-label,.zoom-preview-active .vacation-timeline-card>*{will-change:transform;}


.zoom-preview-active .absence-symbol{transform:translateX(-50%) scaleX(var(--zoom-counter-scale,1));transform-origin:center center;}

/* Lettering reveal for the authenticated app loader. */
.app-loading{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;overflow:hidden;padding:24px;background:rgba(255,250,252,.96);opacity:1;visibility:visible;transition:opacity .58s cubic-bezier(.2,.7,.2,1),visibility 0s linear 0s;backdrop-filter:blur(2px)}
.app-loading[hidden]{display:none!important}
.app-loading.is-exiting{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .58s cubic-bezier(.2,.7,.2,1),visibility 0s linear .58s}
.app-skeleton{display:none!important}
.app-loading-mark{width:min(76vw,640px);max-width:100%;display:grid;place-items:center;animation:loading-mark-float 4.8s ease-in-out infinite}
.app-loading-mark img{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 12px 28px #f063a21a)}
@keyframes loading-mark-float{0%,100%{transform:translateY(2px) scale(.985)}44%,56%{transform:translateY(-3px) scale(1)}}
.app-loading.has-error .app-loading-mark{opacity:.24}
.app-loading-error{display:none}
.app-loading.has-error .app-loading-error{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}
.app-loading-error p{max-width:360px;padding:18px 22px;border:1px solid #f0dfe8;border-radius:16px;background:#fffdfd;color:#77717f;font-size:14px;box-shadow:0 12px 40px #30223b12}
@media(max-width:760px){.app-loading{padding:18px}.app-loading-mark{width:min(88vw,560px)}}
@media(prefers-reduced-motion:reduce){.app-loading-mark{animation:none}}

/* Lightweight pink loader while the authenticated app is preparing. */
.app-loading-mark{width:auto;max-width:none;animation:none}
.app-loading{background:#fff;backdrop-filter:none}
.app-loading-spinner{display:block;width:42px;height:42px;border:4px solid #f6dce8;border-top-color:#f063a2;border-right-color:#e94f91;border-radius:50%;box-shadow:0 4px 18px #f063a21f;animation:app-loading-spin .72s linear infinite}
.app-loading.has-error .app-loading-mark{opacity:0}
@media(prefers-reduced-motion:reduce){.app-loading-spinner{animation:none}}
.app-loading-video{display:block;width:min(76vw,640px);max-width:100%;max-height:72vh;object-fit:contain}
@media(max-width:760px){.app-loading-video{width:min(88vw,560px);max-height:68vh}}
@media(prefers-reduced-motion:reduce){.app-loading-video{animation:none}}

/* Projects page uses the same two-pane library layout as Documents. */
.soft-theme .projects-page{padding:24px;min-height:calc(100dvh - 150px);background:#fff;border:1px solid #eee5ef;border-radius:24px;box-shadow:0 8px 30px #3f31520a;color:#29232c}
.projects-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:20px;min-height:calc(100dvh - 200px)}
.projects-sidebar{padding:17px 12px;border:1px solid #eee7f1;border-radius:20px;background:linear-gradient(180deg,#fbf8fc,#fff 180px);align-self:stretch}
.projects-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 5px 16px;border-bottom:1px solid #efe8f1}
.projects-sidebar-head h1{margin:0;font-size:20px;letter-spacing:-.35px}.projects-sidebar-head p{margin:5px 0 0;color:#9d8fa2;font-size:12px}
.projects-add-section{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:50%;font-size:23px;line-height:1;color:#7153a1;background:#fff}
.project-folder-list{display:grid;gap:5px;padding-top:12px}
.project-folder-row{display:flex;align-items:center;gap:2px;min-width:0}
.project-folder{width:100%;min-width:0;display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:13px;background:transparent;color:#66586c;text-align:left;font:inherit;cursor:pointer;transition:background .16s,color .16s}
.project-folder:hover{background:#f6f1f8}.project-folder.active{background:#eee7f5;color:#593d65;font-weight:650}
.project-folder-mark{width:29px;height:29px;flex:none;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--folder-color,#7659FF) 13%,white);color:var(--folder-color,#7659FF)}.project-folder.active .project-folder-mark{background:color-mix(in srgb,var(--folder-color,#7659FF) 19%,white);color:var(--folder-color,#7659FF)}.project-folder-mark svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.project-folder-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.project-folder small{min-width:23px;padding:3px 6px;border-radius:99px;background:#fff;color:#a194a7;text-align:center;font-size:10px}
.project-folder-actions{position:relative;flex:none}.project-folder-actions summary{width:30px;height:34px;display:grid;place-items:center;list-style:none;border-radius:9px;color:#948699;cursor:pointer}.project-folder-actions summary::-webkit-details-marker{display:none}.project-folder-actions summary:hover{background:#f2edf5}.project-folder-actions>div{position:absolute;z-index:30;top:calc(100% + 3px);right:0;width:160px;padding:5px;border:1px solid #eee7f1;border-radius:12px;background:#fff;box-shadow:0 8px 24px #37254018}.project-folder-actions>div button{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:12px}.project-folder-actions>div button:hover{background:#f8f4fa}
.project-folder-hint{margin:10px 8px 0;color:#a294a7;font-size:11px;line-height:1.55}
.projects-main{min-width:0;padding:21px 22px;border:1px solid #eee7f1;border-radius:20px;background:#fff}
.projects-main-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid #f0eaf2}.projects-main-head p{margin:0 0 4px;color:#a194a7;font-size:11px}.projects-main-head h2{margin:0;font-size:21px;letter-spacing:-.35px}
.soft-theme .projects-main #addProjectPage{width:42px;height:42px;min-width:42px;min-height:42px;padding:10px;border-radius:50%;flex:none}.soft-theme .projects-main #addProjectPage>span{display:none}.soft-theme .projects-main #addProjectPage .add-project-page-icon{display:block;width:22px;height:22px}
.projects-toolbar{margin:16px 0 18px}.projects-toolbar input{margin-left:auto}
.project-list-card{grid-template-columns:minmax(185px,1.1fr) minmax(185px,1fr) minmax(150px,.8fr) minmax(220px,max-content);gap:22px;padding:20px 22px}
.project-list-dates,.project-list-team{justify-self:end;min-width:0}.project-list-actions{display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:12px;min-width:max-content}.project-list-actions .priority-button{min-width:122px}.project-list-actions .archive-button{min-width:80px}
@media(max-width:1100px){.projects-layout{grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:14px}.projects-main{padding:18px 15px}.project-list-card{grid-template-columns:minmax(155px,1fr) minmax(155px,1fr) minmax(205px,max-content);gap:12px;padding:17px}.project-list-team{grid-column:2;grid-row:2;justify-self:start}.project-list-actions{grid-column:3;grid-row:1;align-self:start}.project-list-dates{justify-self:start}.projects-toolbar{gap:9px}.projects-toolbar input{min-width:150px}}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.soft-theme .projects-page{padding:12px;margin-bottom:82px;border-radius:20px;min-height:calc(100dvh - 165px)}.projects-layout{display:flex;flex-direction:column;gap:11px;min-height:calc(100dvh - 210px)}.projects-sidebar{padding:13px 11px;border-radius:17px}.projects-sidebar-head{padding:0 2px 9px}.projects-sidebar-head h1{font-size:18px}.projects-sidebar-head p{font-size:10px}.projects-add-section{width:34px;height:34px;min-width:34px;min-height:34px;font-size:22px}.project-folder-list{display:flex;gap:7px;overflow-x:auto;padding:10px 1px 2px;scrollbar-width:thin;scrollbar-color:#e5cbd9 transparent;overscroll-behavior-x:contain}.project-folder-row{width:auto;flex:none;gap:0}.project-folder{width:auto;max-width:205px;gap:7px;padding:7px 9px;border:1px solid #efe8f1;border-radius:99px}.project-folder.active{border-color:#ded2e7}.project-folder-mark{width:24px;height:24px;border-radius:50%}.project-folder-mark svg{width:15px;height:15px}.project-folder-name{font-size:11px}.project-folder small{min-width:19px;font-size:9px}.project-folder-actions summary{width:25px;height:32px}.project-folder-hint{flex:none;width:190px;margin:4px 2px;font-size:10px}.projects-main{padding:15px 12px;border-radius:17px;min-height:calc(100dvh - 300px)}.projects-main-head{padding:1px 2px 13px}.projects-main-head h2{font-size:18px}.projects-main-head p{font-size:10px}.soft-theme .projects-main #addProjectPage{width:42px;height:42px;min-width:42px;min-height:42px;padding:10px}.projects-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.projects-tabs{max-width:100%;overflow:auto}.projects-toolbar input{order:3;width:100%;max-width:100%;min-width:0;margin:0}.projects-toolbar .filter-trigger{flex:1;min-width:135px;width:auto}.project-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 8px;padding:14px;margin:9px 0;border-radius:16px}.project-list-name{grid-column:1;grid-row:1;align-self:start;gap:9px}.project-list-name b{font-size:14px}.project-list-name small{font-size:10px}.project-list-dates{grid-column:1/-1;grid-row:2;justify-self:start;gap:4px;font-size:10px}.project-list-dates b{font-size:11px}.project-list-team{grid-column:1/-1;grid-row:3;justify-self:start;gap:5px;font-size:10px}.project-list-actions{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:stretch;justify-self:end;align-self:start;gap:7px;min-width:0}.project-list-actions .priority-button{min-width:0;padding:8px 9px;font-size:10px}.project-list-actions .archive-button{min-width:0;min-height:34px;padding:7px 9px;font-size:10px}}

/* v73: mobile swipe areas without visible tracks; the timeline fills the landscape viewport. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  .soft-theme :is(.topbar .page-nav,#timelineToolbar,.producer-toolbar,.availability-filters,.team-week-navigation,.projects-tabs,.project-folder-list,.documents-section-list,.accounts-table-wrapper,.accounts-table-wrap,.shifts-table,.workload-projects,.workload-skills-desktop,.board-shell,.mobile-bottom-dock .page-nav){scrollbar-width:none!important;scrollbar-color:transparent transparent!important}
  .soft-theme :is(.topbar .page-nav,#timelineToolbar,.producer-toolbar,.availability-filters,.team-week-navigation,.projects-tabs,.project-folder-list,.documents-section-list,.accounts-table-wrapper,.accounts-table-wrap,.shifts-table,.workload-projects,.workload-skills-desktop,.board-shell,.mobile-bottom-dock .page-nav)::-webkit-scrollbar:horizontal{display:none!important;height:0!important}
}
/* Desktop timeline: keep scrolling, hide the vertical and horizontal tracks. */
@media(min-width:761px){
  .soft-theme .board-shell{scrollbar-width:none!important;scrollbar-color:transparent transparent!important}
  .soft-theme .board-shell::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
}
@media(pointer:coarse) and (orientation:landscape){
  .soft-theme #timelineToolbar{height:58px;min-height:58px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}
  .soft-theme #boardShell{height:calc(100dvh - 128px - max(10px,env(safe-area-inset-top)));min-height:90px;max-height:none;margin-bottom:0}
  .soft-theme .mobile-bottom-dock{position:fixed;left:max(12px,env(safe-area-inset-left));right:auto;bottom:max(12px,env(safe-area-inset-bottom));width:214px;max-width:calc(100vw - 96px);z-index:700}
  .soft-theme .mobile-bottom-dock .page-nav{width:100%;max-width:100%;height:100%;overflow-x:auto;overflow-y:hidden}
  .soft-theme .mobile-bottom-dock .page-nav a{flex:0 0 55px;min-width:55px}
  .soft-theme .viu-widget{position:fixed!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:56px;min-width:56px;max-width:56px;z-index:710;flex:none}
  .soft-theme .viu-launcher{width:56px!important;min-width:56px;height:56px!important;flex:0 0 56px;padding:0}
}

/* Project rows keep details grouped on the left and leave only the archive action at the far right. */
@media(min-width:1101px){
  .project-list-card{grid-template-columns:minmax(230px,280px) minmax(220px,260px) minmax(190px,230px) max-content minmax(0,1fr);gap:18px}
  .project-list-name,.project-list-dates,.project-list-team,.project-list-card>.priority-button{grid-row:1;justify-self:start}
  .project-list-dates,.project-list-team{align-items:flex-start}
  .project-list-card>.priority-button{grid-column:4;min-width:130px}
  .project-list-card>.archive-button{grid-column:5;grid-row:1;justify-self:end;align-self:center;min-width:80px}
}
@media(min-width:761px) and (max-width:1100px){
  .project-list-card{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:12px 16px}
  .project-list-name{grid-column:1;grid-row:1}.project-list-dates{grid-column:2;grid-row:1;justify-self:start}
  .project-list-team{grid-column:1;grid-row:2;justify-self:start}.project-list-card>.priority-button{grid-column:2;grid-row:2;justify-self:start}
  .project-list-card>.archive-button{grid-column:3;grid-row:1;justify-self:end;align-self:start}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  .project-list-card{grid-template-columns:minmax(0,1fr) auto}
  .project-list-name{grid-column:1;grid-row:1}.project-list-card>.priority-button{grid-column:2;grid-row:1;justify-self:end;align-self:start}
  .project-list-dates{grid-column:1/-1;grid-row:2;justify-self:start}.project-list-card>.archive-button{grid-column:2;grid-row:2;justify-self:end;align-self:center}
  .project-list-team{grid-column:1/-1;grid-row:3;justify-self:start}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  .soft-theme *{scrollbar-width:none!important;scrollbar-color:transparent transparent!important}
  .soft-theme *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
}

/* Mobile admin verification mark and scrollbar cleanup. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.soft-theme .producer-admin-verified{display:inline-block;width:16px;height:16px;margin-left:5px;vertical-align:-3px;fill:#1d9bf0;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.soft-theme .producer-identity .person-name-trigger{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 2px}}


/* Clean verified badge geometry. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.soft-theme .producer-admin-verified{stroke:none}.soft-theme .producer-admin-verified circle{fill:#1d9bf0}.soft-theme .producer-admin-verified path{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}}


/* Inline desktop project-folder rename. */
.project-folder-editing{cursor:default;gap:7px;background:#f7f3f9;border:1px solid #e8deee;box-sizing:border-box}
.project-folder-edit-input{flex:1;min-width:0;width:100%;height:32px;padding:5px 8px;border:1px solid #ded3e4;border-radius:9px;background:#fff;color:#342b39;font:inherit;font-size:13px;outline:none}
.project-folder-edit-input:focus{border-color:#a990c6;box-shadow:0 0 0 3px #eee7f5}
.project-folder-edit-save,.project-folder-edit-cancel{width:30px;height:30px;flex:none;display:grid;place-items:center;border:0;border-radius:9px;background:#fff;color:#70538b;cursor:pointer}
.project-folder-edit-save:hover{background:#e9f8f1;color:#178b65}.project-folder-edit-cancel:hover{background:#fcecf0;color:#c44d6c}
.project-folder-edit-save svg,.project-folder-edit-cancel svg{width:16px;height:16px}
.project-folder-context-menu{position:fixed;z-index:3000;min-width:176px;padding:5px;border:1px solid #eee7f1;border-radius:12px;background:#fff;box-shadow:0 8px 24px #37254024}
.project-folder-context-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;font:inherit;font-size:13px;cursor:pointer}
.project-folder-context-menu button:hover{background:#f8f4fa}.project-folder-context-menu .danger{color:#c44d6c}
@media(min-width:761px) and (pointer:fine){.project-folder-actions summary{display:none!important}.project-folder-actions[open]>div{top:calc(100% + 4px);right:0;min-width:168px}.project-folder-editing{width:100%}}

/* Mobile specialization rows: edit from the colored chip, keep each action on one line. */
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
 .soft-theme .specializations-settings>.account-note{display:none!important}
 .soft-theme .specialization-row{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:8px;padding:13px 0;flex-wrap:initial}
 .soft-theme .specialization-row-tag-button{display:flex;min-width:0;max-width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
 .soft-theme .specialization-row-tag-button .specialization-tag{max-width:100%;min-width:0;overflow:hidden}
 .soft-theme .specialization-row-tag-button .specialization-tag>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
 .soft-theme .specialization-row>.specialization-use{grid-column:2;margin:0;white-space:nowrap;font-size:11px}
 .soft-theme .specialization-row>[data-edit-spec]:not(.specialization-row-tag-button){display:none!important}
 .soft-theme .specialization-row>.spec-delete{grid-column:3;grid-row:1;width:36px;min-width:36px;min-height:36px;padding:8px;justify-self:end}
 .soft-theme .specialization-row>.spec-delete svg{width:17px;height:17px}
}
.project-folder-edit-delete{width:30px;height:30px;flex:none;display:grid;place-items:center;border:0;border-radius:9px;background:#fff;color:#bf6f87;cursor:pointer}
.project-folder-edit-delete:hover{background:#fcecf0;color:#c44d6c}
.project-folder-edit-delete svg{width:16px;height:16px}

/* Desktop projects: softer folder picker, producer filter capsule and compact folder actions. */
.soft-theme #producerToolbar:not([hidden]){width:max-content;max-width:100%;margin:10px auto;padding:7px 12px;min-height:0;border:1px solid #f0e8f1;border-radius:999px;background:#fff;box-shadow:0 5px 18px #4b334d0b}
.soft-theme #producerToolbar .button{min-height:36px;border-radius:999px;padding:7px 13px;font-size:12px}
.soft-theme #producerToolbar .filter-trigger{min-height:36px;border:1px solid #eee6ef;border-radius:999px;background:#faf7fb;padding:7px 12px;font-size:12px}
.soft-theme #producerToolbar .filter-trigger:hover,.soft-theme #producerToolbar .filter-trigger[aria-expanded=true]{background:#f5eff8;border-color:#d9c9df}
@media(min-width:1500px) and (pointer:fine){
  .soft-theme .projects-main-head{display:grid;grid-template-columns:max-content minmax(0,1fr) 42px;align-items:center;gap:14px;padding-bottom:18px}
  .soft-theme .projects-main-head>.projects-toolbar{grid-column:2;grid-row:1;display:flex;align-items:center;flex-wrap:nowrap;gap:10px;width:100%;min-width:0;margin:0}
  .soft-theme .projects-main-head>#addProjectPage{grid-column:3;grid-row:1}
  .soft-theme .projects-toolbar #producerToolbar:not([hidden]){width:max-content;max-width:none;flex:none;margin:0;padding:6px 8px}
  .soft-theme .projects-toolbar #producerToolbar .filter-trigger{width:190px;max-width:190px}
  .soft-theme .projects-toolbar .projects-tabs{flex:none;white-space:nowrap}
  .soft-theme .projects-toolbar input{flex:1 1 210px;width:auto;max-width:280px;min-width:150px;margin:0 0 0 auto;padding:12px}
  .soft-theme .projects-toolbar>.filter-trigger{flex:0 0 190px;width:190px}
}
.soft-theme .project-folder-select{width:100%;max-width:none;min-height:44px;border-radius:12px;background:#fff}
.soft-theme .project-folder-select[aria-expanded=true]{background:#f8f3fa;border-color:#cdb7d6}
/* Folder picker is appended to body from the project modal and must sit above the modal layer. */
.filter-popover{z-index:900}
.spec-icon-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:7px;max-height:210px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:7px;border:1px solid #eee7f1;border-radius:12px;background:#fcfafd}
.spec-icon-choice{width:40px;height:40px;justify-self:center;cursor:pointer}
.spec-icon-choice .svg-icon{width:21px;height:21px}
.project-folder-context-menu{width:204px;min-width:204px;padding:6px}
.project-folder-context-menu button{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 10px}
.project-folder-context-menu button .svg-icon{width:16px;height:16px;color:#8b7895}
.project-folder-context-menu button.danger .svg-icon{color:#bf6f87}
.project-folder-context-menu{width:250px;min-width:250px}
.folder-color-picker{padding:8px 9px 10px;border-bottom:1px solid #f0eaf2;margin-bottom:4px}
.folder-color-picker>span{display:block;margin-bottom:8px;color:#998ba5;font-size:11px;font-weight:600}
.folder-color-picker>div{display:flex;flex-wrap:wrap;gap:7px}
.project-folder-context-menu .folder-color-swatch{width:22px;min-width:22px;height:22px;min-height:22px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--folder-swatch);box-shadow:0 0 0 1px #ded5e4;cursor:pointer}
.project-folder-context-menu .folder-color-swatch:hover,.project-folder-context-menu .folder-color-swatch.selected{box-shadow:0 0 0 2px #7660ed}
.project-list-folder-tag-slot{display:flex;align-items:center;min-width:0;min-height:28px}
.project-list-folder-tag{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:6px 10px;border:1px solid color-mix(in srgb,var(--folder-tag-color) 34%,white);border-radius:999px;background:color-mix(in srgb,var(--folder-tag-color) 12%,white);color:var(--folder-tag-color);font-size:11px;font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-list-folder-tag>.svg-icon{width:13px;height:13px;flex:none}
@media(min-width:1101px){
  .project-list-card{grid-template-columns:minmax(230px,280px) minmax(220px,260px) minmax(190px,230px) minmax(136px,max-content) minmax(160px,max-content) minmax(0,1fr);column-gap:30px}
  .project-list-name,.project-list-dates,.project-list-team,.project-list-folder-tag-slot,.project-list-card>.priority-button{grid-row:1;justify-self:start}
  .project-list-folder-tag-slot{grid-column:4;align-self:center;justify-self:stretch;justify-content:center}
  .project-list-card>.priority-button{grid-column:5;min-width:130px;justify-self:center}
  .project-list-card>.archive-button{grid-column:6;grid-row:1;justify-self:end;align-self:center;min-width:80px}
}
@media(min-width:761px) and (max-width:1100px){
  .project-list-card{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto}
  .project-list-name{grid-column:1;grid-row:1}.project-list-dates{grid-column:2;grid-row:1;justify-self:start}
  .project-list-team{grid-column:1;grid-row:2;justify-self:start}.project-list-folder-tag-slot{grid-column:2;grid-row:2;justify-self:stretch;justify-content:center}
  .project-list-card>.priority-button{grid-column:3;grid-row:2;justify-self:start}
  .project-list-card>.archive-button{grid-column:3;grid-row:1;justify-self:end;align-self:start}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  .project-list-card{grid-template-columns:minmax(0,1fr) auto}
  .project-list-name{grid-column:1;grid-row:1}.project-list-card>.priority-button{grid-column:2;grid-row:1;justify-self:end;align-self:start}
  .project-list-dates{grid-column:1/-1;grid-row:2;justify-self:start}.project-list-card>.archive-button{grid-column:2;grid-row:2;justify-self:end;align-self:center}
  .project-list-team{grid-column:1;grid-row:3;justify-self:start}.project-list-folder-tag-slot{grid-column:2;grid-row:3;justify-self:stretch;justify-content:center;align-self:center}
  .project-list-folder-tag{max-width:145px;padding:5px 8px;font-size:10px}
}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.soft-theme #producerToolbar:not([hidden]){width:100%;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.soft-theme #producerToolbar .filter-trigger{border-radius:999px}}

.project-list-folder-tag{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:5px 9px;border:1px solid color-mix(in srgb,var(--folder-tag-color,#7659FF) 34%,white);border-radius:999px;background:color-mix(in srgb,var(--folder-tag-color,#7659FF) 12%,white);color:var(--folder-tag-color,#7659FF);font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-list-folder-tag>.svg-icon{width:13px;height:13px;flex:none}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  .project-list-card{grid-template-columns:minmax(0,1fr) 118px}
  .project-list-name{grid-column:1;grid-row:1}
  .project-list-card>.priority-button{grid-column:2;grid-row:1;justify-self:stretch;width:100%;min-width:0}
  .project-list-dates{grid-column:1;grid-row:2;justify-self:start}
  .project-list-folder-tag-slot{grid-column:2;grid-row:2;justify-self:stretch;width:100%;justify-content:flex-end}
  .project-list-folder-tag{box-sizing:border-box;width:100%;max-width:none;height:34px;min-height:34px;justify-content:center;padding:6px 8px;font-size:10px}
  .project-list-folder-tag>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .project-list-team{grid-column:1;grid-row:3;justify-self:start}
  .project-list-card>.archive-button{grid-column:2;grid-row:3;justify-self:stretch;align-self:center;width:100%;min-width:0;height:34px;min-height:34px}
}

@media(min-width:761px) and (pointer:fine){
  .soft-theme .calendar-head{background:#f2edf6}
  .soft-theme .month-groups{background:#e7deef;border-bottom-color:#d5c9df;color:#51465c}
  .soft-theme .date-cell{background:#f6f1f8;color:#62596b;font-size:14px}
  .soft-theme .date-cell.weekend{background:#eae3f0;color:#594e62}
  .soft-theme .date-cell.today{background:#f8d7e7;color:#a52b64}
  .soft-theme .date-cell.today strong{color:#a52b64}
}

@media(min-width:761px) and (pointer:fine){
  .soft-theme #board .task-label-content .task-name,
  .soft-theme #board .task-label-content .task-title{font-size:15px}
  .soft-theme #board .project-text>b{font-size:17px}
  .soft-theme #board .project-text>span{font-size:13px}
  .soft-theme #board .project-text>small{font-size:12px}
  .soft-theme #board .range-caption{font-size:12px}
  .soft-theme #board .date-cell{font-size:15px}
  .soft-theme #board .date-cell strong{font-size:19px}
}

@media(min-width:1251px) and (pointer:fine){
  .soft-theme .topbar{height:64px;min-height:64px;padding:0 20px;margin-bottom:8px}
  .soft-theme #timelineToolbar{height:60px;min-height:60px;padding:6px 18px;margin-bottom:8px}
  .soft-theme #timelineToolbar .producer-toolbar{height:40px;min-height:40px;margin:0;padding:0 5px}
  .soft-theme #timelineToolbar .producer-toolbar .button,
  .soft-theme #timelineToolbar .producer-toolbar .filter-trigger{height:36px;min-height:36px}
}

.soft-theme #teamPage .team-heading #producerToolbar:not([hidden]){width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.soft-theme #teamPage .team-heading #producerToolbar .producer-toolbar-label{display:none!important}

@media(min-width:761px) and (min-height:601px), (min-width:761px) and (pointer:fine){
  .soft-theme .workload-contact .team-telegram{width:30px;height:30px;align-self:center;justify-self:center}
  .soft-theme .workload-contact .team-telegram svg{width:16px;height:16px;transform:translateY(.3px)}
}
.soft-theme #timelineToolbar #producerFilter{border:1px solid #eae4f0;background:#f7f4fa}



/* Shared UI typography and component scale */
/* Shared UI system: Inter for interface text, Inter Tight for headings. */
:root{
  --font-ui:"Inter","Segoe UI",Arial,sans-serif;
  --font-heading:"Inter Tight","Inter","Segoe UI",Arial,sans-serif;
  --type-page:28px;
  --type-view:24px;
  --type-section:20px;
  --type-dialog:22px;
  --type-card:16px;
  --type-body:14px;
  --type-control:13px;
  --type-label:12px;
  --type-caption:11px;
  --line-tight:1.2;
  --line-heading:1.3;
  --line-body:1.5;
  --ink-strong:#29242c;
  --ink-body:#554d5b;
  --ink-muted:#918698;
  --ui-border:#e9e2ec;
  --ui-surface:#fff;
  --radius-panel:22px;
  --radius-card:18px;
  --radius-control:999px;
}

html,body{font-family:var(--font-ui)}
button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--ink-strong);font-kerning:normal;text-wrap:balance}
h1{font-size:var(--type-page);font-weight:700;line-height:var(--line-tight);letter-spacing:-.035em}
h2{font-size:var(--type-section);font-weight:650;line-height:var(--line-heading);letter-spacing:-.025em}
h3{font-size:var(--type-card);font-weight:650;line-height:var(--line-heading);letter-spacing:-.015em}
h4{font-size:var(--type-body);font-weight:650;line-height:var(--line-heading)}

/* Page title group */
.team-heading h1,
.birthday-page-head h1,
.login-card h1{font-size:var(--type-page);line-height:var(--line-tight);font-weight:700;letter-spacing:-.035em}
.team-heading p,
.birthday-page-head p,
.projects-sidebar-head p,
.projects-main-head p,
.documents-sidebar-head p,
.documents-main-head p,
.settings-section-heading p{font-size:var(--type-label);line-height:var(--line-body);color:var(--ink-muted)}

/* Section, dialog, and card title groups */
.projects-sidebar-head h1,
.documents-sidebar-head h1,
.birthday-sidebar h2{font-size:var(--type-section);line-height:var(--line-heading);font-weight:650;letter-spacing:-.025em}
.projects-main-head h2,
.documents-main-head h2,
.settings-section-heading h2{font-size:var(--type-view);line-height:var(--line-heading);font-weight:650;letter-spacing:-.03em}
.modal-head h2,
.documents-modal h2,
.account-dialog-backdrop .modal h2{font-size:var(--type-dialog);line-height:var(--line-heading);font-weight:700;letter-spacing:-.03em}
.member-info h2,
.workload-contact h2,
.soft-theme .workload-person h2,
.viu-heading h2{font-size:var(--type-card);line-height:var(--line-heading);font-weight:650;letter-spacing:-.015em}
.birthday-navigation h2{font-size:18px;line-height:1.25;font-weight:650;letter-spacing:-.02em}
.birthday-detail h3,
.birthday-detail-head h3,
.absence-list h3{font-size:var(--type-body);line-height:var(--line-heading);font-weight:650}
.eyebrow,
.guide-slide-eyebrow{font-size:var(--type-caption);line-height:1.4;font-weight:600;letter-spacing:.07em}

/* Shared body, labels, and controls */
.soft-theme .project-text b,
.soft-theme .project-list-name b,
.soft-theme .account-person b{font-size:var(--type-card);line-height:var(--line-heading);font-weight:650;letter-spacing:-.01em}
.soft-theme .project-text span,
.soft-theme .project-text small,
.soft-theme .project-list-name small{font-size:var(--type-label);line-height:var(--line-body)}
.soft-theme .button,
.soft-theme .filter-trigger,
.soft-theme .priority-button,
.soft-theme .archive-button,
.soft-theme .role-picker,
.soft-theme .availability-filter{font-family:var(--font-ui);line-height:1.2}
.soft-theme .field,
.soft-theme .documents-field{font-size:var(--type-label);line-height:var(--line-body);font-weight:600}
.soft-theme .field input:not([type=hidden]),
.soft-theme .field select,
.soft-theme .field textarea,
.soft-theme .documents-field input{font-family:var(--font-ui);font-size:var(--type-body);line-height:var(--line-body)}
.soft-theme .team-controls input[type=search],
.soft-theme .team-week-toolbar input[type=search],
.soft-theme #teamSearch,
.soft-theme .projects-toolbar input[type=search],
.soft-theme .accounts-toolbar input[type=search],
.soft-theme .birthday-sidebar input[type=search]{
  min-height:40px;
  padding:9px 14px;
  border:1px solid var(--ui-border);
  border-radius:var(--radius-control);
  background:#fff;
  color:var(--ink-strong);
  font-family:var(--font-ui);
  font-size:var(--type-control);
  line-height:1.3;
}
.soft-theme .team-controls input[type=search]:focus,
.soft-theme .team-week-toolbar input[type=search]:focus,
.soft-theme #teamSearch:focus,
.soft-theme .projects-toolbar input[type=search]:focus,
.soft-theme .accounts-toolbar input[type=search]:focus,
.soft-theme .birthday-sidebar input[type=search]:focus{
  border-color:#c9b7d5;
  box-shadow:0 0 0 3px #bca6d522;
  outline:none;
}

/* Shared panel/card radii and borders */
.soft-theme .team-page,
.soft-theme .projects-sidebar,
.soft-theme .projects-main,
.soft-theme .documents-sidebar,
.soft-theme .documents-main,
.soft-theme .birthday-sidebar,
.soft-theme .birthday-calendar{border-radius:var(--radius-panel)}
.soft-theme .member-card,
.soft-theme .project-card,
.soft-theme .account-row,
.soft-theme .specialization-balance,
.soft-theme .specializations-settings,
.soft-theme .project-list-card{border-radius:var(--radius-card)}

@media(max-width:760px),(pointer:coarse) and (max-height:600px){
  :root{--type-page:24px;--type-view:20px;--type-section:18px;--type-dialog:20px;--type-card:15px;--type-body:14px;--type-control:13px;--type-label:12px;--radius-panel:18px;--radius-card:16px}
  .team-heading p,.birthday-page-head p,.projects-sidebar-head p,.projects-main-head p,.documents-sidebar-head p,.documents-main-head p,.settings-section-heading p{font-size:var(--type-label)}
  .soft-theme .field input:not([type=hidden]),
  .soft-theme .field select,
  .soft-theme .field textarea,
  .soft-theme .documents-field input{font-size:16px!important}
  .soft-theme .team-controls input[type=search],
  .soft-theme .team-week-toolbar input[type=search],
  .soft-theme #teamSearch,
  .soft-theme .projects-toolbar input[type=search],
  .soft-theme .accounts-toolbar input[type=search],
  .soft-theme .birthday-sidebar input[type=search]{min-height:40px;font-size:16px}
  .soft-theme .specializations-settings>.settings-section-heading h2{font-size:var(--type-view)}
}


/* Match the timeline producer controls to the unboxed team toolbar. */
.soft-theme #timelineToolbar #producerToolbar:not([hidden]){width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}

/* Normalize standard button and dropdown heights across the app. */
.soft-theme .button:not(.icon-button),
.soft-theme .filter-trigger,
.soft-theme .priority-button,
.soft-theme .archive-button,
.soft-theme .role-picker,
.soft-theme .availability-filter,
.soft-theme .projects-tabs button,
.soft-theme .birthday-view button,
.soft-theme select:not([multiple]):not([hidden]){
  box-sizing:border-box;
  height:40px;
  min-height:40px;
}
.soft-theme .role-picker{border-radius:999px}
.soft-theme .account-role-trigger{
  box-sizing:border-box;
  height:40px;
  min-height:40px;
  padding-block:8px;
  border-radius:999px;
}
.soft-theme #timelineToolbar .button:not(.icon-button),
.soft-theme #timelineToolbar .filter-trigger,
.soft-theme #timelineToolbar .producer-toolbar .button:not(.icon-button),
.soft-theme #timelineToolbar .producer-toolbar .filter-trigger,
.soft-theme #teamWeekToday,
.soft-theme #accountsPage .account-actions .button{
  height:40px;
  min-height:40px;
}

/* Keep the timeline undo control truly circular and the project corner white. */
.soft-theme #timelineToolbar .undo-button{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:50%}
.soft-theme #boardShell .corner{background:#fff}

/* Hide scrollbars on the team profile modal while retaining scrolling. */
#modalBackdrop .modal,#modalBody{scrollbar-width:none}#modalBackdrop .modal::-webkit-scrollbar,#modalBody::-webkit-scrollbar{display:none;width:0;height:0}


.task-name-tooltip{position:fixed;z-index:2900;max-width:min(320px,calc(100vw - 16px));padding:10px 12px;background:#fff;border:1px solid #e9e0ef;border-radius:12px;box-shadow:0 10px 26px #35224124;font-size:12px;line-height:1.45;font-weight:600;color:#352d3c;overflow-wrap:anywhere;pointer-events:none}.task-name-tooltip[hidden]{display:none!important}
.project-list-producers{display:flex;flex-direction:column;gap:4px;min-width:0}.project-list-producers>span{font-size:11px;color:#9b8ca4}.project-people-label{display:block;font-size:10px;color:#9b8ca4;font-weight:500}.project-list-team{min-width:0}
@media(min-width:1101px){.project-list-card{grid-template-columns:minmax(150px,1.3fr) minmax(155px,1.2fr) minmax(110px,1fr) minmax(110px,1fr) minmax(100px,.8fr) minmax(115px,.8fr) 80px;column-gap:16px}.project-list-producers{grid-column:4;grid-row:1}.project-list-folder-tag-slot{grid-column:5}.project-list-card>.priority-button{grid-column:6;min-width:0}.project-list-card>.archive-button{grid-column:7}}
@media(min-width:761px) and (max-width:1100px){.project-list-producers{grid-column:2;grid-row:2}.project-list-folder-tag-slot{grid-column:1/3;grid-row:3}}
@media(max-width:760px),(pointer:coarse) and (max-height:600px){.project-list-producers{grid-column:2;grid-row:3}.project-list-card>.archive-button{grid-row:4}.project-list-producers .project-avatars .avatar{width:30px;height:30px;border-width:2px}.project-list-producers .project-avatars{min-height:32px}}
.viewer-mode #addTask,.viewer-mode #addProject,.viewer-mode #addProjectInline,.viewer-mode #addDesigner,.viewer-mode #addProjectPage,.viewer-mode #addProjectSection,.viewer-mode #addSpecialization,.viewer-mode #undoButton,.viewer-mode #connectMode,.viewer-mode .project-list-actions,.viewer-mode [data-reorder-project],.viewer-mode [data-resize],.viewer-mode [data-link-handle],.viewer-mode [data-project-resize],.viewer-mode [data-project-edit],.viewer-mode [data-project-archive],.viewer-mode [data-project-priority],.viewer-mode [data-edit-designer],.viewer-mode [data-edit-spec],.viewer-mode [data-delete-spec],.viewer-mode [data-add-section],.viewer-mode [data-add-link],.viewer-mode .documents-add-tile,.viewer-mode .viu-add{display:none!important}
.viewer-mode .project-label[data-open-project]{cursor:default}
.viewer-mode .task-context-menu,.viewer-mode .project-folder-context-menu,.viewer-mode .documents-context-menu{display:none!important}
.viewer-mode .mobile-person-page [data-person-edit],.viewer-mode .mobile-profile-page [data-mobile-edit],.viewer-mode .mobile-profile-page [data-mobile-password]{display:none!important}
.viewer-mode .viu-note .viu-preview{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere}
.viewer-mode .plan-member,.viewer-mode .mobile-plan-member,.viewer-mode .day-load-actions [data-load-plan]{display:none!important}

.viewer-mode .viu-widget{display:none!important}

