.tl-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;min-height:48px}.tl-controls__intervals{display:flex;gap:2px;background:#eee;border-radius:var(--radius);padding:2px}.tl-controls__interval-btn{padding:4px 10px;font-size:12px;font-weight:600;border:none;border-radius:4px;cursor:pointer;background:transparent;color:var(--text-light);transition:all .15s;line-height:1.4}.tl-controls__interval-btn:hover{color:var(--text);background:#0000000a}.tl-controls__interval-btn--active{background:var(--white);color:var(--text);box-shadow:0 1px 3px #0000001f}.tl-controls__nav{display:flex;align-items:center;gap:4px}.tl-controls__nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;font-size:14px;color:var(--text);transition:all .15s}.tl-controls__nav-btn:hover{background:#f5f5f5;border-color:#bbb}.tl-controls__today-btn{padding:4px 12px;font-size:12px;font-weight:600;border:1px solid var(--accent);border-radius:var(--radius);background:var(--white);color:var(--accent);cursor:pointer;transition:all .15s}.tl-controls__today-btn:hover{background:var(--accent);color:var(--white)}.tl-controls__range{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap}.tl-controls__separator{width:1px;height:24px;background:var(--border);flex-shrink:0}.tl-controls__custom-range{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-light);white-space:nowrap}.tl-controls__search{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:8px}.tl-controls__search-input{padding:4px 10px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--white);color:var(--text);outline:none;font-family:inherit;width:220px;transition:border-color .15s}.tl-controls__search-input:focus{border-color:var(--accent)}.tl-controls__search-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s}.tl-controls__search-btn:hover:not(:disabled){background:var(--surface-hover)}.tl-controls__search-btn:disabled{opacity:.4;cursor:not-allowed}.tl-controls__spacer{flex:1;min-width:4px}.tl-controls__date-input{padding:3px 8px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--white);color:var(--text);outline:none;font-family:inherit}.tl-controls__date-input:focus{border-color:var(--accent)}.tl-container{display:flex;flex-direction:column;flex:1;overflow:hidden}.tl-wrapper{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.tl-resource-panel{width:100%;height:100%;background:var(--sidebar-bg);color:var(--white);border-right:1px solid rgba(255,255,255,.1)}.tl-collapse-all-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffe6;padding:4px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;cursor:pointer;transition:all .2s}.tl-collapse-all-btn:hover{background:#ffffff26;border-color:#ffffff4d}.tl-header-row{display:flex;flex-shrink:0}.tl-header-corner{background:var(--sidebar-bg);color:#ffffff80;display:flex;align-items:center;padding:0 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid rgba(255,255,255,.1);border-bottom:2px solid var(--border);flex-shrink:0}.tl-day-nav{display:flex;flex-direction:column;gap:5px;width:100%}.tl-day-nav__row{display:flex;align-items:center;gap:6px;width:100%;justify-content:space-between}.tl-day-nav__btn{background:#ffffff1a;border:none;color:#fffc;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;padding:0;transition:background .15s}.tl-day-nav__btn:hover{background:#fff3;color:#fff}.tl-day-nav__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex:1}.tl-day-time-range{display:flex;align-items:center;gap:3px;width:100%}.tl-day-time-select{flex:1;min-width:0;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;border-radius:4px;font-size:10px;font-weight:600;padding:2px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;transition:background .15s}.tl-day-time-select:hover,.tl-day-time-select:focus{background:#fff3;outline:none}.tl-day-time-select option{background:#1a1a2e;color:#fff}.tl-day-time-sep{font-size:10px;color:#ffffff80;flex-shrink:0}.tl-day-time-reset{background:none;border:none;color:#fff6;cursor:pointer;font-size:10px;padding:0 2px;line-height:1;flex-shrink:0;transition:color .15s}.tl-day-time-reset:hover{color:#fffc}.tl-sticky-panel{position:sticky;left:0;z-index:8;background:var(--sidebar-bg);color:var(--white);border-right:1px solid rgba(255,255,255,.1);overflow:hidden}.tl-resource-panel__group{border-bottom:1px solid rgba(255,255,255,.06)}.tl-resource-panel__group-header{display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;border-left:3px solid transparent;height:36px;box-sizing:border-box;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid rgba(255,255,255,.08);margin-top:24px}.tl-resource-panel__group-header:hover{background:#ffffff0d}.tl-resource-panel__group-chevron{font-size:10px;transition:transform .2s;color:#fff6}.tl-resource-panel__group-chevron--collapsed{transform:rotate(-90deg)}.tl-resource-panel__group-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-resource-panel__group-count{font-size:11px;color:#ffffff59;font-weight:400}.tl-resource-panel__resource{display:flex;align-items:center;gap:10px;padding:0 12px 0 0;font-size:13px;font-weight:500;color:#ffffffe6;min-height:36px;border-bottom:1px solid rgba(255,255,255,.06);box-sizing:border-box}.tl-resource-panel__resource:nth-child(odd){background:#ffffff08}.tl-resource-panel__resource:nth-child(2n){background:#0000000d}.tl-resource-panel__resource:hover{background:#ffffff14}.tl-resource-panel__colour-bar{width:4px;align-self:stretch;flex-shrink:0;margin-right:8px}.tl-resource-panel__resource-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.3)}.tl-resource-panel__photo{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover;border:1.5px solid rgba(255,255,255,.3);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:default}.tl-resource-panel__photo:hover{transform:scale(2.2);position:relative;z-index:30;box-shadow:0 4px 16px #000000b3;border-color:#ffffffb3}.tl-resource-panel__resource-info{display:flex;flex-direction:column;min-width:0;flex:1}.tl-resource-panel__resource-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.tl-resource-panel__job-title{font-size:10px;opacity:.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.tl-drag-handle-wrapper{display:flex;align-items:center;justify-content:center;cursor:grab;opacity:0;transition:opacity .15s;flex-shrink:0;width:16px;height:16px}.tl-drag-handle-wrapper:active{cursor:grabbing}.tl-resource-panel__group-header:hover .tl-drag-handle-wrapper,.tl-resource-panel__resource:hover .tl-drag-handle-wrapper{opacity:.5}.tl-resource-panel__group-header:hover .tl-drag-handle-wrapper:hover,.tl-resource-panel__resource:hover .tl-drag-handle-wrapper:hover{opacity:1}.tl-drag-handle{color:#fff9;display:flex;align-items:center;justify-content:center}.tl-panel-resizer{width:5px;cursor:col-resize;background:transparent;transition:background .15s;position:absolute;top:0;bottom:0;z-index:20}.tl-panel-resizer:hover,.tl-panel-resizer:active{background:var(--accent)}.tl-panel-resizer:after{content:"";position:absolute;top:50%;left:1px;transform:translateY(-50%);width:3px;height:30px;border-radius:2px;background:#ffffff4d;opacity:0;transition:opacity .15s}.tl-panel-resizer:hover:after{opacity:1}.tl-grid-area{flex:1;overflow:scroll;position:relative;overscroll-behavior:none}.tl-grid-area::-webkit-scrollbar{width:10px;height:10px}.tl-grid-area::-webkit-scrollbar-track{background:#f0f0f0}.tl-grid-area::-webkit-scrollbar-thumb{background:silver;border-radius:5px}.tl-grid-area::-webkit-scrollbar-thumb:hover{background:#999}.tl-header{flex:1;background:var(--white);flex-shrink:0;border-bottom:2px solid var(--border)}.tl-sticky-month{position:absolute;top:0;left:50%;transform:translate(-50%);z-index:20;background:var(--primary, #1e293b);color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:4px 16px;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #00000026;pointer-events:none;white-space:nowrap;transition:opacity .2s}.tl-header__months{display:flex;height:28px;border-bottom:1px solid #e0e0e0}.tl-header__month{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text);border-right:1px solid #e0e0e0}.tl-header__month--even{background:#d0d0d0;border-left:3px solid #999;white-space:nowrap;overflow:hidden}.tl-header__month--odd{background:#ebebeb;border-left:3px solid #999;white-space:nowrap;overflow:hidden}.tl-header__dates{height:36px;border-bottom:1px solid var(--border)}.tl-header__date{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--text);border-right:1px solid #eee;flex-shrink:0;line-height:1.2}.tl-header__date-num{font-weight:600;font-size:12px}.tl-header__date-day{font-size:9px;color:var(--text-light);text-transform:uppercase}.tl-header__date-tick{display:block;width:1px;height:8px;background:var(--border);margin:0 auto}.tl-header__date--day-mode{align-items:flex-start;padding-left:0}.tl-header__date--day-mode .tl-header__date-num{transform:translate(-1px)}.tl-header__date--day-mode .tl-header__date-tick{margin:0}.tl-header__date--weekend{background:#f8f0f0}.tl-header__date--bank-holiday{background:#fef3c7;color:#92400e}.tl-header__date--today{background:#e3f2fd;color:#1565c0}.tl-header__date--today .tl-header__date-num{color:#1565c0}.tl-body{position:relative}.tl-body__group-header{border-bottom:2px solid #d0d0d0;background:linear-gradient(to bottom,#d0d0d0 24px,#f0f0f0 24px)}.tl-body__group-header-cell{display:flex;align-items:center;border-right:1px solid #eee;flex-shrink:0}.tl-body__row{border-bottom:1px solid #e0e0e0}.tl-body__row:nth-child(odd){background:#fafafa}.tl-body__row:nth-child(2n){background:#fff}.tl-cell{border-right:1px solid #e8e8e8;flex-shrink:0;position:relative;cursor:pointer}.tl-cell--month-start{border-left:3px solid #999}.tl-cell:hover{background:#e945600a}.tl-cell--alt-month{background:#00000003}.tl-cell--weekend{background:#00000008}.tl-cell--alt-month.tl-cell--weekend{background:#0000000b}.tl-cell--bank-holiday{background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(251,191,36,.08) 8px,rgba(251,191,36,.08) 16px);position:relative}.tl-cell--bank-holiday:after{content:"BANK HOLIDAY";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#92400e1a;white-space:nowrap;pointer-events:none;z-index:0}.tl-cell--today{background:#e8f4fd}.tl-cell--today:hover{background:#d6ecf9}.tl-cell--paste-ready:hover{background:#22c55e1a!important;outline:1px dashed #22c55e;outline-offset:-1px}.tl-cell--paste-target{background:#22c55e33!important;outline:2px solid #22c55e;outline-offset:-2px}.tl-cell--drag-select{background:#e9456026!important;outline:2px solid var(--accent);outline-offset:-2px}.tl-header__date--today:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#1565c0}.tl-header__date--day-mode.tl-header__date--today:after{left:0;transform:translate(-50%)}.tl-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:var(--text-light);font-size:14px}.tl-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1;color:var(--error);font-size:14px}.tl-error__retry{padding:6px 16px;font-size:13px;border:1px solid var(--error);border-radius:var(--radius);background:var(--white);color:var(--error);cursor:pointer}.tl-error__retry:hover{background:var(--error);color:var(--white)}.tl-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-light);font-size:14px;font-style:italic}.entry-bar{position:absolute;height:48px;border-radius:4px;display:flex;flex-direction:column;justify-content:center;padding:3px 8px;overflow:hidden;z-index:2;-webkit-user-select:none;user-select:none;touch-action:none}.entry-bar:hover{box-shadow:0 2px 8px #0003;z-index:3}.entry-bar--resizing{z-index:10;box-shadow:0 2px 12px #0000004d;opacity:.85}.entry-bar__resize-handle{position:absolute;top:0;width:8px;height:100%;cursor:col-resize;z-index:4;opacity:0;transition:opacity .15s}.entry-bar__resize-handle:after{content:"";position:absolute;top:4px;bottom:4px;width:2px;border-radius:1px;background:#fffc}.entry-bar__resize-handle--left{left:0}.entry-bar__resize-handle--left:after{left:2px}.entry-bar__resize-handle--right{right:0}.entry-bar__resize-handle--right:after{right:2px}.entry-bar__more-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#ffffffb3;background:#0003;border-radius:3px;cursor:pointer;opacity:0;transition:opacity .15s;z-index:5;line-height:1}.entry-bar--light .entry-bar__more-btn{color:#00000080;background:#0000001a}.entry-bar:hover .entry-bar__more-btn{opacity:1}.entry-bar__more-btn:hover{background:#0006;color:#fff}.entry-bar:hover .entry-bar__resize-handle{opacity:1}.entry-bar--locked{opacity:.78;cursor:not-allowed}.entry-bar--locked .entry-bar__resize-handle{display:none!important;pointer-events:none}.entry-bar__lock-badge{position:absolute;top:2px;right:4px;font-size:.75rem;opacity:.85;pointer-events:none;z-index:2}.entry-bar__project{font-size:10px;font-weight:700;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:13px;text-transform:uppercase;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.entry-bar__text{font-size:11px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:14px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.entry-bar__location{font-size:9px;font-weight:400;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:12px;font-style:italic;margin-top:auto}.entry-bar--light .entry-bar__project{color:#000c;text-shadow:none}.entry-bar--light .entry-bar__text{color:#000000bf;text-shadow:none}.entry-bar--light .entry-bar__location{color:#00000080}.entry-bar__notes-gap{display:inline-block;width:16px}.entry-bar__notes-label{font-style:normal;font-weight:700}.entry-bar__notes-text{font-style:normal}.entry-bar__location--note-only .entry-bar__location-text{font-style:italic;font-weight:700;letter-spacing:.02em}.entry-bar__tags{display:flex;gap:3px;margin-top:2px;overflow:hidden}.entry-bar__tag{font-size:9px;font-weight:600;border:1px solid transparent;padding:0 4px;border-radius:3px;white-space:nowrap;line-height:13px}.entry-bar--meeting{height:24px!important;min-height:24px!important;font-size:.7rem;flex-direction:row;align-items:center;padding:0 8px}.entry-bar__time{font-size:.65rem;font-weight:600;color:#fffffff2;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.entry-bar--light .entry-bar__time{color:#000c}.entry-bar__meeting-label{font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-right:4px;opacity:.85}.entry-bar--dragging{opacity:.4;z-index:1}.entry-bar--drag-overlay{height:48px;border-radius:4px;display:flex;align-items:center;padding:0 6px;box-shadow:0 4px 16px #0000004d;opacity:.9;cursor:grabbing}.tl-body__row--drop-target{background:#e9456014!important;outline:2px dashed var(--accent);outline-offset:-2px}.preview-panel{position:absolute;top:0;right:0;width:320px;height:100%;background:var(--white);border-left:1px solid var(--border);box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;overflow:hidden;z-index:20;transform:translate(100%);transition:transform .25s ease;z-index:10}.preview-panel--visible{transform:translate(0)}.preview-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.preview-panel__title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light)}.preview-panel__actions{display:flex;align-items:center;gap:8px}.preview-panel__pin{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;color:var(--text-light);transition:all .15s}.preview-panel__pin:hover{border-color:var(--accent);color:var(--accent)}.preview-panel__pin--active{background:var(--accent);border-color:var(--accent);color:var(--white)}.preview-panel__pin--active:hover{background:#c73a52;color:var(--white)}.preview-panel__edit-btn{padding:4px 12px;font-size:12px;font-weight:500;border:1px solid var(--accent);border-radius:4px;background:transparent;color:var(--accent);cursor:pointer;transition:all .15s}.preview-panel__edit-btn:hover{background:var(--accent);color:var(--white)}.preview-panel__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--text-light);border-radius:4px;transition:all .15s}.preview-panel__close:hover{background:#f0f0f0;color:var(--text)}.preview-panel__body{flex:1;overflow-y:auto;padding:16px}.preview-panel__project-title{font-size:16px;font-weight:600;color:var(--text);margin:0 0 16px;line-height:1.3}.preview-panel__field{margin-bottom:12px}.preview-panel__label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-light);margin-bottom:2px}.preview-panel__value{font-size:13px;color:var(--text);line-height:1.4}.preview-panel__multiline{display:block;white-space:pre-wrap}.preview-panel__flags{display:flex;flex-wrap:wrap;gap:4px}.preview-panel__flag{display:inline-block;padding:2px 8px;font-size:11px;background:#f0f0f0;border-radius:3px;color:var(--text)}.preview-panel__status-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.preview-panel__status-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;letter-spacing:.2px;border-radius:12px;line-height:1.4;white-space:nowrap}.preview-panel__status-badge--good{background:#16a34a;color:#fff}.preview-panel__status-badge--alert{background:#ef4444;color:#fff}.preview-panel__status-badge--pencil{background:#f59e0b;color:#422006}.preview-panel__status-badge--piero{background:#8b5cf6;color:#fff}.preview-panel__status-badge--muted{background:#f0f0f0;color:#6b7280;border:1px solid #e2e8f0}.preview-panel__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.preview-panel__tag{display:inline-block;padding:2px 8px;font-size:11px;background:#e8f4fd;border-radius:3px;color:#1565c0}.preview-panel__tag--master{background:#fff9c4;color:#000;font-weight:600;border:2px solid #ffd700;box-shadow:0 0 4px #ffd70066}.preview-panel__custom-fields{margin-top:4px}.preview-panel__attachments{margin-top:4px;display:flex;flex-direction:column;gap:4px}.preview-panel__attachment{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg);border-radius:4px;font-size:12px}.preview-panel__attachment-name{flex:1;text-align:left;background:none;border:none;padding:0;cursor:pointer;color:var(--accent);text-decoration:underline;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-panel__attachment-name:hover{filter:brightness(1.1)}.preview-panel__attachment-size{color:var(--text-light);flex-shrink:0;font-variant-numeric:tabular-nums}.preview-panel__attachment-download{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:14px;padding:0 4px}.preview-panel__attachment-download:hover{color:var(--accent)}.preview-panel__attachment-error{color:var(--error);font-size:11px;margin-top:4px}.preview-panel__custom-field{display:flex;gap:6px;font-size:13px;margin-bottom:2px}.preview-panel__custom-key{font-weight:500;color:var(--text-light)}.preview-panel__custom-value{color:var(--text)}.preview-panel__mirror-badge{margin-top:16px;padding:8px 12px;font-size:12px;background:#fff3e0;border:1px solid #ffe0b2;border-radius:4px;color:#e65100}.preview-panel__deleted{font-size:14px;color:var(--error);font-style:italic;padding:24px 0;text-align:center}.conflict-dialog__server-info{background:#f5f5f5;border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px}.conflict-dialog__fields{display:flex;flex-direction:column;gap:4px}.conflict-dialog__field{display:flex;gap:8px;font-size:13px}.conflict-dialog__label{font-weight:500;color:var(--text-light);min-width:70px}.entry-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;overscroll-behavior:none;touch-action:none}.entry-modal{background:var(--white);border-radius:var(--radius);box-shadow:0 8px 32px #0003;width:620px;max-width:90vw;max-height:85vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;animation:modal-enter .2s ease}.entry-modal--small{width:720px;max-height:90vh}@keyframes modal-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.entry-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.entry-modal__title{font-size:16px;font-weight:600;color:var(--text);margin:0}.entry-modal__header-actions{display:flex;align-items:center;gap:8px}.entry-modal__save-btn{padding:6px 14px;background:#e94560;color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.entry-modal__save-btn:hover{background:#c73652}.entry-modal__save-btn:disabled{opacity:.6;cursor:not-allowed}.entry-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:20px;color:var(--text-light);border-radius:4px;transition:all .15s}.entry-modal__close:hover{background:#f0f0f0;color:var(--text)}.entry-modal__form{padding:20px}.entry-modal__field{margin-bottom:16px}.entry-modal__field label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.entry-modal__body{padding:16px 20px;display:flex;flex-direction:column;gap:16px}.entry-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.entry-modal__section{display:flex;flex-direction:column;gap:10px;padding:12px;background:#f9fafb;border:1px solid #f0f0f0;border-radius:5px}.entry-modal__section-title{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.entry-modal__group{display:flex;flex-direction:column;gap:10px;padding-top:14px;margin-top:8px;border-top:1px solid #eef2f7}.entry-modal__group:first-of-type{border-top:none;padding-top:0;margin-top:0}.entry-modal__group-title{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.7px;margin:0}.entry-modal__subsection{display:flex;flex-direction:column;gap:8px;padding:8px 10px;background:#f8fafc;border-radius:4px;border-left:2px solid #cbd5e1}.entry-modal__indicator-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 18px;font-size:12px}.entry-modal__disclosure{border:1px solid var(--border);border-radius:4px;background:#fff;overflow:hidden}.entry-modal__disclosure[open]{background:#fafbfc}.entry-modal__disclosure>summary{list-style:none;cursor:pointer;padding:8px 12px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--text);-webkit-user-select:none;user-select:none}.entry-modal__disclosure>summary::-webkit-details-marker{display:none}.entry-modal__disclosure>summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.5px solid #94a3b8;border-bottom:1.5px solid #94a3b8;transform:rotate(45deg);transition:transform .15s ease}.entry-modal__disclosure[open]>summary:after{transform:rotate(-135deg)}.entry-modal__disclosure>summary:hover{background:#f1f5f9}.entry-modal__disclosure-body{padding:10px 12px 12px;border-top:1px solid #eef2f7}.entry-modal__disclosure-swatch{width:22px;height:22px;border-radius:4px;border:1px solid rgba(0,0,0,.18);flex-shrink:0}.entry-modal__disclosure-hint{margin-left:auto;margin-right:16px;font-size:11px;color:#94a3b8;font-weight:500}.entry-modal__disclosure-tag-icon{display:inline-flex;align-items:center;justify-content:center;color:#64748b}.entry-modal__disclosure-pill{margin-left:auto;margin-right:16px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.entry-modal__disclosure-pill--active{background:var(--accent, #e94560);color:#fff;border-color:transparent}.entry-modal__checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.entry-modal__checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0}.entry-modal__error{padding:10px 12px;background:#fee2e2;border:1px solid #fecaca;border-radius:5px;color:#991b1b;font-size:12px}.entry-modal__field--error .input{border-color:#ef4444}.entry-modal__field-error-text{font-size:11px;color:#ef4444;margin-top:4px}.entry-modal__row{display:flex;gap:10px}.entry-modal__row>*{flex:1;min-width:0}.entry-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border);margin-top:8px}.entry-modal__label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500;color:var(--text)}.entry-modal__label-text{display:block;font-size:12px;font-weight:500;color:var(--text)}.entry-modal__label>span:first-child{display:block;font-size:12px;font-weight:500;color:var(--text)}.entry-modal__autocomplete{position:relative}.entry-modal__dropdown{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);max-height:160px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #0000001a}.entry-modal__dropdown-item{padding:6px 12px;font-size:13px;cursor:pointer;border:none;background:none;width:100%;text-align:left;color:var(--text)}.entry-modal__dropdown-item:hover{background:#f0f0f0}.entry-modal__row--grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.entry-modal__row--grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.entry-modal__row--type-toggle{margin-bottom:.5rem}.entry-modal__type-buttons{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex:1}.entry-modal__type-btn{flex:1;padding:6px 10px;background:transparent;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-muted, #888);transition:background .15s,color .15s}.entry-modal__type-btn--active{background:var(--accent, #6366f1);color:#fff;font-weight:600}.entry-modal__row--checks{display:flex;gap:16px;flex-wrap:wrap}.entry-modal__checkbox{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.entry-modal__checkbox input[type=checkbox]{accent-color:var(--accent)}.entry-modal__tag-section{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.entry-modal__tag-header{display:flex;align-items:center;justify-content:space-between}.entry-modal__tag-count{font-size:11px;font-weight:600;color:var(--accent, #6366f1);background:#6366f11a;padding:2px 8px;border-radius:10px}.entry-modal__tag-search-wrap{display:flex;align-items:center;gap:8px;background:var(--input-bg, #f8f8f8);border:1px solid var(--border);border-radius:8px;padding:0 10px;transition:border-color .15s}.entry-modal__tag-search-wrap:focus-within{border-color:var(--accent, #6366f1);background:var(--white, #fff)}.entry-modal__tag-search-icon{width:16px;height:16px;flex-shrink:0;color:var(--text-muted, #999)}.entry-modal__tag-search-input{flex:1;border:none;background:transparent;padding:8px 0;font-size:13px;color:var(--text, #222);outline:none}.entry-modal__tag-search-input::placeholder{color:var(--text-muted, #aaa)}.entry-modal__tag-search-clear{background:none;border:none;cursor:pointer;color:var(--text-muted, #999);font-size:16px;line-height:1;padding:0 2px;flex-shrink:0;opacity:.7;transition:opacity .15s}.entry-modal__tag-search-clear:hover{opacity:1}.entry-modal__tag-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px}.entry-modal__tag-group{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.entry-modal__tag-group:last-child{margin-bottom:0}.entry-modal__tag-group-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#475569}.entry-modal__tag-group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.entry-modal__tag-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-modal__tag-group-count{font-size:10px;padding:1px 6px;border-radius:999px;background:#e2e8f0;color:#64748b}.entry-modal__tag-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px;transition:background .12s;color:var(--text, #222);-webkit-user-select:none;user-select:none}.entry-modal__tag-item input[type=checkbox]{display:none}.entry-modal__tag-item:hover{background:var(--hover, rgba(0,0,0,.04))}.entry-modal__tag-item--checked{background:#6366f114;color:var(--accent, #4f46e5);font-weight:500}.entry-modal__tag-item--checked:hover{background:#6366f124}.entry-modal__tag-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-modal__tag-check{width:16px;height:16px;flex-shrink:0;color:var(--accent, #4f46e5);display:flex;align-items:center;justify-content:center}.entry-modal__tag-check svg{width:12px;height:12px}.entry-modal__tag-empty{font-size:12px;color:var(--text-muted, #999);text-align:center;padding:12px 0;margin:0}.entry-modal__tag-busy{flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.02em;padding:2px 6px;border-radius:4px;background:#f59e0b;color:#fff;margin-right:4px}.entry-modal__tag-busy--double{background:#ef4444}.entry-modal__tag-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:#f0f7ff;border:1px solid #d0e3f7;border-radius:5px;margin-top:4px}.entry-modal__tag-summary-label{font-size:11px;font-weight:600;color:#4b6a8a;text-transform:uppercase;letter-spacing:.3px;margin-right:2px}.entry-modal__tag-summary-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#334155;background:#fff;padding:2px 8px;border-radius:4px;border:1px solid #e2e8f0}.entry-modal__tag-summary-chip--primary{font-weight:600;border-color:#93c5fd;background:#eff6ff}.entry-modal__tag-summary-dot,.entry-modal__tag-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.entry-modal__error{padding:8px 12px;margin-bottom:12px;font-size:13px;color:var(--error);background:#fdeaea;border:1px solid #f5c6cb;border-radius:var(--radius)}.input--error,.input--error:focus,select.input--error,select.input--error:focus{border-color:#dc2626!important;border-width:2px!important;background:#fef2f2!important;box-shadow:0 0 0 3px #dc262626!important}.input--mandatory-ok,.input--mandatory-ok:focus,select.input--mandatory-ok,select.input--mandatory-ok:focus{border-color:#16a34a!important;border-width:2px!important;background:#f0fdf4!important}.entry-modal__field--error label{color:#dc2626}.entry-modal__field-error-text{display:block;font-size:11px;color:#dc2626;margin-top:2px;font-weight:500}.colour-picker{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;background:var(--white)}.colour-picker__current{display:flex;align-items:center;gap:8px;margin-bottom:6px}.colour-picker__preview-wrapper{position:relative;width:28px;height:28px;border-radius:4px;overflow:hidden;border:2px solid var(--border);cursor:pointer;flex-shrink:0}.colour-picker__native-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.colour-picker__preview{width:100%;height:100%;pointer-events:none}.colour-picker__hex{font-size:11px;font-family:monospace;color:var(--text-light);min-width:56px}.colour-picker__save-btn,.colour-picker__reset-btn{padding:4px 10px;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap}.colour-picker__save-btn:hover,.colour-picker__reset-btn:hover{background:var(--border)}.colour-picker__section{margin-top:5px}.colour-picker__section-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--text-light);margin-bottom:6px}.colour-picker__swatches{display:flex;flex-wrap:wrap;gap:4px}.colour-picker__swatch{width:22px;height:22px;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s,border-color .1s}.colour-picker__swatch:hover{transform:scale(1.15)}.colour-picker__swatch--active{border-color:var(--text);box-shadow:0 0 0 2px #00000026}.day-view__time-panel{background:var(--sidebar-bg);color:var(--white);border-right:1px solid rgba(255,255,255,.1)}.day-view__time-slot{display:flex;align-items:flex-start;justify-content:flex-end;padding-right:8px;border-bottom:1px solid rgba(255,255,255,.04);box-sizing:border-box}.day-view__time-slot--hour{border-bottom-color:#ffffff1f}.day-view__time-label{font-size:10px;font-weight:500;color:#fff9;line-height:1;transform:translateY(-5px)}.day-view__res-header{display:flex;position:sticky;top:0;z-index:5;background:var(--white);border-bottom:2px solid var(--border)}.day-view__res-col-header{padding:6px 8px;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px;color:var(--text)}.day-view__grid-row{border-bottom:1px solid #f0f0f0;box-sizing:border-box}.day-view__grid-row--hour{border-bottom:1px solid #d0d0d0}.day-view__entry{border-radius:4px;padding:2px 6px;overflow:hidden;cursor:pointer;z-index:2;box-sizing:border-box;border-left:3px solid rgba(0,0,0,.15);transition:opacity .1s}.day-view__entry:hover{opacity:.85}.day-view__entry-title{font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view__entry-time{font-size:9px;color:#ffffffbf;white-space:nowrap}.entry-bar--holiday-pending,.entry-bar--holiday-approved,.entry-bar--holiday-declined{background-color:#ffe500!important;color:#1a1a1a!important}.entry-bar__holiday{display:flex;flex-direction:column;gap:1px;overflow:hidden;padding:2px 4px}.entry-bar__holiday-detail{font-size:10px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-bar__holiday-capsule{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.entry-bar__holiday-capsule--pending{background-color:#f59e0b;color:#fff}.entry-bar__holiday-capsule--approved{background-color:#22c55e;color:#fff}.entry-bar__holiday-capsule--declined{background-color:#ef4444;color:#fff}.project-picker{display:flex;gap:8px;align-items:flex-start;position:relative}.project-picker>input{flex:1;min-width:0}.project-picker__list{flex:0 0 220px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:0 2px 8px #00000014}.project-picker__item{padding:6px 10px;font-size:13px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .1s;line-height:1.4}.project-picker__item:last-child{border-bottom:none}.project-picker__item:hover{background:#f0f4ff}.project-picker__item--active{background:#e0eaff;font-weight:600}.project-picker__empty{padding:10px 12px;font-size:13px;color:var(--text-light);font-style:italic}@media(max-width:600px){.project-picker{flex-direction:column}.project-picker__list{flex:none;width:100%;max-height:160px}}.entry-bar--vehicle-maintenance{background-image:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(0,0,0,.18) 6px,rgba(0,0,0,.18) 12px)!important;border:2px solid rgba(0,0,0,.25)!important}.entry-bar--vehicle-garage{border:2px dashed rgba(0,0,0,.3)!important;opacity:.9}.entry-bar--vehicle-alert{box-shadow:0 0 0 2px #ef4444,0 0 8px #ef444480!important;animation:vehicle-alert-pulse 2s ease-in-out infinite}@keyframes vehicle-alert-pulse{0%,to{box-shadow:0 0 0 2px #ef4444,0 0 8px #ef444466}50%{box-shadow:0 0 0 2px #ef4444,0 0 16px #ef4444cc}}@keyframes entryFocusFlash{0%{box-shadow:0 0 0 3px #f59e0b,0 0 24px #f59e0bf2}50%{box-shadow:0 0 0 5px #fbbf24,0 0 32px #fbbf24}to{box-shadow:0 0 0 3px #f59e0b,0 0 16px #f59e0ba6}}.entry-bar--sick-day{background-color:#fff!important;border:2px solid #000000!important;color:#1e293b!important}.entry-bar--sick-day .entry-bar__title,.entry-bar--sick-day .entry-bar__subtitle,.entry-bar--sick-day .entry-bar__location{color:#1e293b!important}.entry-bar--pencil{background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(255,255,255,.22) 5px,rgba(255,255,255,.22) 10px);opacity:.72;border:2px dashed rgba(255,255,255,.55)!important;font-style:italic}.entry-bar--pencil.entry-bar--light{border-color:#00000059!important;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.08) 5px,rgba(0,0,0,.08) 10px)}.entry-bar--confirmed{border-left:4px solid #16a34a!important;box-shadow:inset 0 0 0 1px #ffffff40}.entry-bar--confirmed.entry-bar--light{border-left:4px solid #16a34a!important;box-shadow:inset 0 0 0 1px #0000001f}.entry-bar__confirmed-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.4;color:#fff;background:#16a34a;border-radius:3px;pointer-events:none;flex-shrink:0;vertical-align:middle;letter-spacing:.02em}.entry-bar--light .entry-bar__confirmed-badge{color:#fff;background:#16a34a}.entry-modal__indicator-row .entry-modal__checkbox-label{font-size:12px;gap:6px}.entry-modal__indicator-row .entry-modal__checkbox-label input[type=checkbox]{width:14px;height:14px}.entry-bar__repeat{position:absolute;top:0;bottom:0;padding:3px 8px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;pointer-events:none;opacity:.78;border-left:1px dashed rgba(255,255,255,.35);z-index:2}.entry-bar--light .entry-bar__repeat{border-left-color:#00000038}.entry-bar__master-badge{position:absolute;top:2px;left:4px;font-size:11px;line-height:1;font-weight:700;pointer-events:none;z-index:3;text-shadow:0 0 3px rgba(255,255,255,.8)}.entry-bar__master-badge--master{color:#000}.entry-bar__master-badge--mirror{color:#000000c7}.entry-bar--light .entry-bar__master-badge--master{color:#000;text-shadow:0 0 3px rgba(255,255,255,.9)}.entry-bar--light .entry-bar__master-badge--mirror{color:#000000b8;text-shadow:0 0 2px rgba(255,255,255,.7)}.entry-bar--meeting .entry-bar__master-badge{display:none}.entry-bar:has(.entry-bar__master-badge) .entry-bar__project{padding-left:12px}.entry-bar__po-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.4;color:#fff;border-radius:3px;pointer-events:none;flex-shrink:0;vertical-align:middle;letter-spacing:.5px}.entry-bar__po-badge--awaiting{background:#ef4444;box-shadow:0 0 0 1px #000,0 0 0 1.5px #ffffff8c}.entry-bar__po-badge--received{background:#16a34a}.entry-bar--light .entry-bar__po-badge--awaiting{color:#fff;background:#ef4444;box-shadow:0 0 0 1px #000}.entry-bar--light .entry-bar__po-badge--received{color:#fff;background:#16a34a}.entry-bar__not-on-current-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 1.5px #ffffffb3,0 1px 2px #0000004d;pointer-events:none;z-index:3}.entry-bar--light .entry-bar__not-on-current-dot{box-shadow:0 0 0 1.5px #00000026,0 1px 2px #0003}.entry-bar__piero-required-dot{position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 1.5px #ffffffb3,0 1px 2px #0000004d;pointer-events:none;z-index:3}.entry-bar--light .entry-bar__piero-required-dot{box-shadow:0 0 0 1.5px #00000026,0 1px 2px #0003}@media(max-width:768px){.tl-controls{padding:6px 8px;gap:6px}.tl-controls__range{font-size:11px;order:-1;width:100%;text-align:center}.tl-controls__separator{display:none}.tl-controls__custom-range{width:100%;justify-content:center}.entry-modal{width:95vw;max-width:95vw;max-height:90vh}.entry-modal__row,.entry-modal__row--grid2,.entry-modal__row--grid3{grid-template-columns:1fr;flex-direction:column}.entry-modal__form{padding:14px}.entry-modal__body,.entry-modal__header{padding:12px 14px}.entry-modal__footer{padding:10px 14px}.sync-modal{width:95vw;max-width:95vw}.sync-modal__field-row{grid-template-columns:1fr}}@media(max-width:480px){.entry-modal-backdrop{align-items:stretch}.entry-modal{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column}.entry-modal__header{position:sticky;top:0;background:var(--white);z-index:10;border-bottom:1px solid var(--border)}.entry-modal__form,.entry-modal__body{flex:1;overflow-y:auto}.entry-modal__footer{position:sticky;bottom:0;background:var(--white);z-index:10;border-top:1px solid var(--border)}.entry-modal__save-btn,.entry-modal__close{min-height:44px}.tl-controls__interval-btn{padding:6px 8px;font-size:11px}.tl-controls__nav-btn{width:44px;height:44px}.tl-controls__today-btn{min-height:44px;padding:6px 14px}.sync-modal{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0}}.tl-controls__edit-toggle{display:none;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;border:1.5px solid var(--accent);border-radius:var(--radius);background:var(--white);color:var(--accent);cursor:pointer;transition:background .2s,color .2s,border-color .2s;margin:0;min-height:32px;white-space:nowrap}.tl-controls__edit-toggle svg{flex-shrink:0}.tl-controls__edit-toggle--active{background:var(--accent);color:var(--white);border-color:var(--accent)}.tl-controls__edit-toggle--active:hover{background:#c73a52;border-color:#c73a52}@media(max-width:768px){.tl-controls__edit-toggle{display:inline-flex}}@media(max-height:500px)and (orientation:landscape){.tl-controls{padding:4px 8px;min-height:36px;gap:4px}.tl-controls__interval-btn{padding:3px 7px;font-size:11px}.tl-controls__nav-btn{width:28px;height:28px}.tl-controls__range{font-size:11px}.tl-controls__edit-toggle{min-height:32px;padding:4px 10px;font-size:11px;margin:2px 8px}}@media(max-width:768px){.schedule-container{height:calc(100vh - 46px)!important}}@media(max-width:480px){.schedule-container{height:calc(100vh - 42px)!important}}@media(max-height:500px)and (orientation:landscape){.schedule-container{height:calc(100vh - 38px)!important;overflow:auto!important}}@media(max-height:450px)and (orientation:landscape){.tl-controls__custom-range,.tl-controls__view-select,.tl-controls__month-select{display:none!important}.tl-controls__separator{display:none}.tl-controls{padding:2px 6px;min-height:30px;gap:4px;flex-wrap:nowrap}.tl-controls__intervals{padding:1px;gap:1px}.tl-controls__interval-btn{padding:2px 5px;font-size:10px}.tl-controls__nav-btn{width:26px;height:26px;font-size:12px}.tl-controls__nav{gap:2px}.tl-controls__today-btn{min-height:26px;padding:2px 8px;font-size:10px}.tl-controls__range{display:none}.tl-controls__edit-toggle{min-height:26px;padding:2px 8px;font-size:10px;margin:0;border-width:1.5px}}.tl-controls__extras-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text-light);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s;order:99}.tl-controls__extras-toggle:hover{background:#f5f5f5;color:var(--text)}.tl-controls__extra{display:contents}@media(max-width:768px){.tl-controls__extras-toggle{display:inline-flex}.tl-controls__extra{display:none}.tl-controls__extra--visible{display:contents}.tl-controls{flex-wrap:wrap}}.tl-controls__fullscreen-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text-light);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s;padding:0;margin-left:4px}.tl-controls__fullscreen-toggle:hover{background:#f5f5f5;color:var(--text)}@media(max-width:768px){.tl-controls__fullscreen-toggle{display:inline-flex}}@media(max-height:450px)and (orientation:landscape){.tl-controls__fullscreen-toggle{display:inline-flex;width:26px;height:26px}.tl-controls__fullscreen-toggle svg{width:12px;height:12px}}.app-fullscreen .nb{display:none!important}.app-fullscreen .schedule-container{height:100vh!important;height:100dvh!important}@media(max-height:500px)and (orientation:landscape){.app-fullscreen .tl-controls{display:none!important}}.tl-fullscreen-exit{display:none;position:fixed;top:8px;right:8px;z-index:1000;width:36px;height:36px;align-items:center;justify-content:center;border:1.5px solid rgba(0,0,0,.2);border-radius:50%;background:#ffffffe6;color:var(--text-light);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background .15s,color .15s;padding:0}.tl-fullscreen-exit:hover{background:#fff;color:var(--text)}.app-fullscreen .tl-fullscreen-exit{display:inline-flex}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-line{border-radius:4px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:800px 100%;animation:shimmer 1.5s ease-in-out infinite;will-change:background-position;transform:translateZ(0)}.skeleton-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.skeleton-table{display:flex;flex-direction:column;gap:12px}.skeleton-table__row{display:flex;gap:16px;align-items:center}.client-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.client-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background:var(--primary);color:var(--white);flex-shrink:0}.client-header__title{font-size:16px;font-weight:600;margin:0}.client-header__accent{color:var(--accent)}.client-header__project{font-weight:400;font-size:14px;color:#ffffffbf;margin-left:12px}.client-header__actions{display:flex;align-items:center;gap:8px}.client-body{display:flex;flex-direction:column;flex:1;overflow:hidden}.client-toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.client-toolbar__dates{display:flex;align-items:center;gap:6px;font-size:13px}.client-toolbar__dates input{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--text)}.client-toolbar__dates span{color:var(--text-light)}.client-toolbar__actions{display:flex;align-items:center;gap:8px;margin-left:auto}.client-summary{display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--bg-offset, #f8f9fa);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-light);flex-shrink:0}.client-summary__item{display:flex;align-items:center;gap:4px}.client-summary__value{font-weight:600;color:var(--text)}.client-content{flex:1;overflow:hidden;display:flex}.client-loading{display:flex;align-items:center;justify-content:center;flex:1;flex-direction:column;gap:12px;color:var(--text-light);font-size:14px}.client-error{display:flex;align-items:center;justify-content:center;flex:1;flex-direction:column;gap:12px;color:var(--error);font-size:14px}.client-error p{margin:0}.client-copy-feedback{font-size:12px;font-weight:600;color:var(--success, #16a34a);animation:client-fade-in .2s ease}@keyframes client-fade-in{0%{opacity:0}to{opacity:1}}.client-shares{padding:24px;max-width:960px;margin:0 auto}.client-shares__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.client-shares__title{font-size:20px;font-weight:600;color:var(--text);margin:0}.client-shares__list{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}.client-shares__empty{text-align:center;padding:32px;color:var(--text-light);font-size:14px}.client-share-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);gap:16px}.client-share-card__info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.client-share-card__project{font-weight:600;font-size:14px;color:var(--text)}.client-share-card__meta{font-size:12px;color:var(--text-light)}.client-share-card__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.client-shares__form{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.client-shares__form-title{font-size:16px;font-weight:600;margin:0 0 16px;color:var(--text)}.client-shares__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.client-shares__form-field{display:flex;flex-direction:column;gap:4px}.client-shares__form-field--full{grid-column:1 / -1}.client-shares__form-field label{font-size:12px;font-weight:600;color:var(--text-light)}.client-shares__form-field input,.client-shares__form-field select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text)}.client-shares__form-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.client-shares__form-checkboxes label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text);font-weight:400;cursor:pointer}.client-shares__form-actions{display:flex;justify-content:flex-end;gap:8px}.sync-btn--advanced{font-size:12px;background:#6366f1;color:#fff;transition:background .15s,transform .1s,box-shadow .15s}.sync-btn--advanced:hover{background:#4f46e5;box-shadow:0 2px 8px #6366f166}.sync-btn--advanced:active{transform:scale(.95);background:#4338ca}.sync-config__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.sync-config__title{font-size:20px;font-weight:600;color:var(--text);margin:0}.sync-config__list{display:flex;flex-direction:column;gap:12px}.sync-config__empty{text-align:center;padding:48px 24px;color:var(--text-light);font-size:14px}.sync-config__loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:48px;color:var(--text-light);font-size:14px}.sync-config__error{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;margin-bottom:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:var(--error);font-size:13px}.sync-config__error p{margin:0}.sync-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:box-shadow .2s}.sync-card:hover{box-shadow:var(--shadow)}.sync-card--disabled{opacity:.65}.sync-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sync-card__type{display:flex;align-items:center;gap:6px}.sync-card__type-icon{font-size:16px}.sync-card__type-label{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.sync-card__status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.sync-card__status--active{background:#dcfce7;color:#166534}.sync-card__status--inactive{background:#f3f4f6;color:#6b7280}.sync-card__title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:12px}.sync-card__details{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.sync-card__detail{display:flex;align-items:baseline;gap:6px;font-size:13px}.sync-card__detail-label{color:var(--text-light);flex-shrink:0}.sync-card__detail-value{color:var(--text)}.sync-card__detail-value--mono{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:12px;background:#f3f4f6;padding:1px 6px;border-radius:3px}.sync-card__times{display:flex;gap:16px;margin-bottom:12px}.sync-card__time{font-size:12px;color:var(--text-light)}.sync-card__shares{margin-bottom:12px}.sync-card__shares-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sync-card__share-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;background:#3b82f61a;color:#1e40af;border-radius:12px;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s}.sync-card__share-tag:hover{background:#3b82f633}.sync-card__share-role{font-size:10px;font-weight:600;text-transform:uppercase;opacity:.6}.sync-card__error{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:12px;padding:8px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);font-size:12px}.sync-card__error-label{font-weight:600;color:var(--error);flex-shrink:0}.sync-card__error-message{color:var(--error);word-break:break-word}.sync-card__error-time{color:var(--text-light);font-size:11px;flex-basis:100%}.sync-card__actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:12px}.sync-card__action-btn{font-size:12px;font-weight:500;padding:6px 14px;border-radius:4px;border:1px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;transition:all .15s ease}.sync-card__action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.sync-card__action-btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.sync-card__action-btn:disabled{opacity:.6;cursor:not-allowed}.sync-card__action-btn--edit{background:var(--primary);color:var(--white);border-color:var(--primary)}.sync-card__action-btn--edit:hover:not(:disabled){background:#2a2a4e}.sync-card__action-btn--enable{background:#22c55e;color:var(--white);border-color:#22c55e}.sync-card__action-btn--enable:hover:not(:disabled){background:#16a34a}.sync-card__action-btn--disable{background:#f59e0b;color:var(--white);border-color:#f59e0b}.sync-card__action-btn--disable:hover:not(:disabled){background:#d97706}.sync-card__action-btn--run{background:#3b82f6;color:var(--white);border-color:#3b82f6}.sync-card__action-btn--run:hover:not(:disabled){background:#2563eb}.sync-card__action-btn--running{background:#3b82f6;animation:pulse-btn 1s ease-in-out infinite}.sync-card__action-btn--synced{background:#16a34a;color:var(--white);border-color:#16a34a}.sync-card__action-btn--synced:hover:not(:disabled){background:#16a34a;transform:none;box-shadow:none}.sync-card__action-btn--share{background:transparent;color:#1e3a5f;border-color:#1e3a5f;text-decoration:none;text-align:center}.sync-card__action-btn--share:hover{background:#1e3a5f;color:#fff}.sync-card__action-btn--view{background:transparent;color:#15803d;border-color:#15803d;text-decoration:none;text-align:center}.sync-card__action-btn--view:hover{background:#15803d;color:#fff}.sync-card__action-btn--delete{background:transparent;color:var(--error);border-color:var(--error)}.sync-card__action-btn--delete:hover:not(:disabled){background:#fef2f2}.sync-card__action-btn--confirm-delete{background:var(--error);color:var(--white);border-color:var(--error);animation:pulse-btn .5s ease-in-out 2}@keyframes pulse-btn{0%,to{opacity:1}50%{opacity:.7}}.sync-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sync-modal{background:var(--white);border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;width:560px;max-height:90vh;display:flex;flex-direction:column}.sync-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.sync-modal__title{font-size:18px;font-weight:600;color:var(--text);margin:0}.sync-modal__close{background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;padding:0;line-height:1}.sync-modal__close:hover{color:var(--text)}.sync-modal__tabs{display:flex;border-bottom:1px solid var(--border)}.sync-modal__tab{flex:1;padding:10px 16px;font-size:13px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-light);cursor:pointer;transition:color .2s,border-color .2s}.sync-modal__tab:hover{color:var(--text)}.sync-modal__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.sync-modal__body{flex:1;overflow-y:auto;padding:20px}.sync-modal__form{display:flex;flex-direction:column;gap:16px}.sync-modal__field{display:flex;flex-direction:column;gap:4px}.sync-modal__field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sync-modal__label{font-size:12px;font-weight:600;color:var(--text-light)}.sync-modal__helper{font-size:11px;color:var(--text-light);font-style:italic}.sync-modal__error{font-size:11px;color:var(--error)}.sync-modal__mapping{display:flex;flex-direction:column;gap:6px}.sync-modal__mapping-row{display:grid;grid-template-columns:80px 1fr 32px;gap:6px;align-items:center}.sync-modal__mapping-remove{font-size:16px;padding:4px;color:var(--text-light)}.sync-modal__mapping-remove:hover:not(:disabled){color:var(--error)}.sync-modal__mapping-add{align-self:flex-start;font-size:12px;padding:4px 8px;color:var(--accent)}.sync-modal__field-with-action{display:flex;gap:8px;align-items:center}.sync-modal__field-with-action .input{flex:1}.sync-modal__test-btn{flex-shrink:0;font-size:12px;padding:6px 12px;white-space:nowrap}.sync-modal__connection-result{font-size:11px;font-weight:500}.sync-modal__connection-result--success{color:#166534}.sync-modal__connection-result--error{color:var(--error)}.sync-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.custom-fields{padding:20px}.custom-fields__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.custom-fields__header h2{font-size:20px;font-weight:600;color:var(--text);margin:0}.custom-fields__add-btn{padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.custom-fields__add-btn:hover{background:#4f46e5}.custom-fields__loading,.custom-fields__error,.custom-fields__empty{text-align:center;padding:48px 24px;color:var(--text-light);font-size:14px}.custom-fields__error{color:var(--error)}.custom-fields__retry-btn{margin-top:12px;padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.custom-fields__table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;overflow:hidden}.custom-fields__table thead{background:#f8fafc}.custom-fields__table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.03em}.custom-fields__table td{padding:12px 16px;border-top:1px solid var(--border);font-size:13px;color:var(--text)}.custom-fields__name-badge{display:inline-block;padding:2px 8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-family:Courier New,monospace;font-size:12px;color:#334155}.custom-fields__type-badge{display:inline-block;padding:2px 8px;background:#ede9fe;border-radius:4px;font-size:11px;font-weight:500;color:#6b21a8}.custom-fields__edit-btn,.custom-fields__delete-btn{padding:4px 12px;margin-right:6px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.custom-fields__edit-btn{color:#6366f1;border-color:#6366f1}.custom-fields__edit-btn:hover{background:#6366f1;color:#fff}.custom-fields__delete-btn{color:var(--error);border-color:var(--error)}.custom-fields__delete-btn:hover{background:var(--error);color:#fff}.custom-fields__form-error{margin-bottom:16px;padding:12px;background:#fee;border:1px solid var(--error);border-radius:6px;color:var(--error);font-size:13px}.entry-modal__hint{display:block;margin-top:4px;font-size:11px;color:var(--text-light)}.required{color:var(--error)}@media(max-width:768px){.sync-config__header{flex-direction:column;align-items:flex-start;gap:12px}.sync-card__actions{flex-wrap:wrap}.sync-card__times{flex-direction:column;gap:4px}.sync-modal{width:95vw}.sync-modal__field-row{grid-template-columns:1fr}.sync-modal__mapping-row{grid-template-columns:60px 1fr 32px}.custom-fields__table{display:block;overflow-x:auto}}@media(max-width:480px){.sync-card{padding:12px}.sync-card__action-btn{min-height:44px}.sync-modal{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0}}.sheets-page{flex:1;overflow:auto;padding:24px;background:var(--bg)}.sheets-page__inner{max-width:1100px;margin:0 auto}.sheets-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.sheets-page__title{font-size:20px;font-weight:600;color:var(--text);margin:0}.sheets-page__link{font-size:12px;text-decoration:none}.sheets-page__loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:48px;color:var(--text-light);font-size:14px}.sheets-page__empty{text-align:center;padding:48px 24px;color:var(--text-light);font-size:14px}.sheets-page__empty a{color:var(--accent)}.sheets-page__table-wrap{overflow-x:auto}.sheets-page__table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.sheets-page__table thead th{text-align:left;font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;border-bottom:2px solid var(--border);white-space:nowrap}.sheets-page__table tbody tr{transition:background .1s}.sheets-page__table tbody tr:hover{background:#00000005}.sheets-page__table tbody td{padding:12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.sheets-page__row--disabled{opacity:.55}.sheets-page__cell--name{font-weight:600}.sheets-page__cell--date{font-size:12px;color:var(--text-light);white-space:nowrap}.sheets-page__status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;white-space:nowrap}.sheets-page__status--active{background:#dcfce7;color:#166534}.sheets-page__status--inactive{background:#f3f4f6;color:#6b7280}.sheets-page__status--error{background:#fef2f2;color:#dc2626;margin-left:4px;cursor:help}.sheets-page__actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.sheets-page__btn{font-size:11px;font-weight:500;padding:5px 12px;border-radius:4px;border:1px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;transition:all .15s ease;white-space:nowrap}.sheets-page__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.sheets-page__btn:disabled{opacity:.6;cursor:not-allowed}.sheets-page__btn--view{background:var(--primary);color:var(--white);border-color:var(--primary)}.sheets-page__btn--view:hover:not(:disabled){background:#2a2a4e}.sheets-page__btn--sync{background:#3b82f6;color:var(--white);border-color:#3b82f6}.sheets-page__btn--sync:hover:not(:disabled){background:#2563eb}.sheets-page__btn--syncing{animation:pulse-btn 1s ease-in-out infinite}.sheets-page__btn--synced{background:#16a34a;color:var(--white);border-color:#16a34a}.sheets-page__btn--synced:hover:not(:disabled){background:#16a34a;transform:none;box-shadow:none}.sheets-page__btn--email{background:#8b5cf6;color:var(--white);border-color:#8b5cf6}.sheets-page__btn--email:hover:not(:disabled){background:#7c3aed}.sheets-page__email-group{display:flex;align-items:center;gap:0}.sheets-page__email-select{font-size:11px;padding:5px 6px;border-radius:4px 0 0 4px;border:1px solid #8b5cf6;border-right:none;background:var(--white);color:var(--text);cursor:pointer;height:100%}.sheets-page__email-group .sheets-page__btn--email{border-radius:0 4px 4px 0}.sheets-email-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sheets-email-modal{background:var(--white);border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;width:520px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column}.sheets-email-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.sheets-email-modal__close{background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;padding:0;line-height:1}.sheets-email-modal__close:hover{color:var(--text)}.sheets-email-modal__body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.sheets-email-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.sheets-email-modal__field{display:flex;flex-direction:column;gap:4px}.sheets-email-modal__label{font-size:12px;font-weight:600;color:var(--text-light)}.sheets-email-modal__recipients{display:flex;flex-direction:column;gap:6px}.sheets-email-modal__recipient-list{display:flex;flex-wrap:wrap;gap:4px}.sheets-email-modal__recipient-tag{display:inline-block;font-size:11px;padding:3px 8px;background:#f0f4ff;color:#1e40af;border-radius:10px;white-space:nowrap}@media(max-width:768px){.sheets-page__table thead{display:none}.sheets-page__table tbody tr{display:flex;flex-direction:column;padding:12px;border-bottom:1px solid var(--border);gap:6px}.sheets-page__table tbody td{padding:0;border-bottom:none}.sheets-page__table tbody td:before{content:attr(data-label);font-size:10px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:2px}.sheets-page__actions{flex-wrap:wrap}}.holidays-page{padding:24px;max-width:1200px;margin:0 auto;overflow-y:auto;height:100%}.holidays-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.holidays-page__title{font-size:24px;font-weight:700;color:var(--text);margin:0}.holidays-page__year-select{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);font-size:14px;color:var(--text)}.entitlement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px}.entitlement-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:box-shadow .2s}.entitlement-card:hover{box-shadow:0 2px 8px #00000014}.entitlement-card__name{font-size:15px;font-weight:600;color:var(--text);margin:0 0 12px}.entitlement-card__stats{display:flex;justify-content:space-between;font-size:12px;color:var(--text-light);margin-bottom:8px}.entitlement-card__stat{text-align:center}.entitlement-card__stat-value{display:block;font-size:18px;font-weight:700;color:var(--text);margin-bottom:2px}.entitlement-card__stat-value--pending{color:#d97706}.entitlement-card__stat-value--remaining{color:#059669}.entitlement-card__progress{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-top:8px}.entitlement-card__progress-bar{height:100%;border-radius:3px;transition:width .3s ease}.entitlement-card__progress-bar--used{background:var(--accent)}.entitlement-card__progress-bar--over{background:#ef4444}.entitlement-card__edit-btn{margin-top:8px;padding:4px 10px;font-size:12px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-light);transition:all .15s}.entitlement-card__edit-btn:hover{background:var(--bg);color:var(--text)}.pending-approvals{margin-top:24px}.pending-approvals__title{font-size:18px;font-weight:600;color:var(--text);margin:0 0 16px}.pending-approvals__empty{color:var(--text-light);font-size:14px;padding:16px;text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius)}.pending-approvals__list{display:flex;flex-direction:column;gap:8px}.pending-approval-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);gap:16px}.pending-approval-item--clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.pending-approval-item--clickable:hover{border-color:#3b82f6;box-shadow:0 3px 10px #3b82f61f;transform:translateY(-1px)}.pending-approval-item--clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.pending-approval-item__info{flex:1;min-width:0}.pending-approval-item__name{font-weight:600;font-size:14px;color:var(--text)}.pending-approval-item__dates{font-size:13px;color:var(--text-light);margin-top:2px}.pending-approval-item__submitted{font-size:11px;color:var(--text-muted, #94a3b8);margin-top:4px;letter-spacing:.2px}.pending-approval-item__reason{font-size:12px;color:var(--text-light);margin-top:2px;font-style:italic}.pending-approval-item__actions{display:flex;gap:8px;flex-shrink:0}.pending-approval-item__btn{padding:6px 14px;font-size:12px;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .15s}.pending-approval-item__btn:hover{opacity:.85}.pending-approval-item__btn--approve{background:#22c55e;color:#fff}.pending-approval-item__btn--decline{background:#ef4444;color:#fff}.entitlement-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.entitlement-editor{background:var(--white);border-radius:var(--radius);padding:24px;width:400px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 4px 24px #00000026}.entitlement-editor__title{font-size:18px;font-weight:600;color:var(--text);margin:0 0 16px}.entitlement-editor__field{margin-bottom:12px}.entitlement-editor__label{display:block;font-size:13px;font-weight:500;color:var(--text-light);margin-bottom:4px}.entitlement-editor__input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;box-sizing:border-box}.entitlement-editor__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.entitlement-editor__btn{padding:8px 16px;font-size:13px;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer}.entitlement-editor__btn--cancel{background:transparent;border:1px solid var(--border);color:var(--text)}.entitlement-editor__btn--save{background:var(--accent);color:#fff}.holidays-page__section-title{font-size:18px;font-weight:600;color:var(--text);margin:0 0 16px}.entitlement-card__bh{margin:8px 0 0;border-top:1px solid var(--border, #e2e8f0);padding-top:8px}.entitlement-card__bh-toggle{display:flex;align-items:center;width:100%;background:none;border:none;padding:4px 0;cursor:pointer;font-size:.82rem;color:var(--text-mid, #64748b);gap:6px;text-align:left}.entitlement-card__bh-toggle:hover{color:var(--text, #1e293b)}.entitlement-card__bh-summary{flex:1;font-size:.78rem}.entitlement-card__bh-taken{color:#f59e0b}.entitlement-card__bh-worked{color:#22c55e}.entitlement-card__bh-upcoming{color:#94a3b8}.entitlement-card__bh-chevron{font-size:.65rem;color:#94a3b8}.entitlement-card__bh-list{list-style:none;margin:4px 0 0;padding:0}.entitlement-card__bh-item{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:.78rem;border-bottom:1px solid var(--border, #f1f5f9)}.entitlement-card__bh-item:last-child{border-bottom:none}.entitlement-card__bh-date{color:#64748b;min-width:52px;flex-shrink:0}.entitlement-card__bh-name{flex:1;color:var(--text, #1e293b)}.entitlement-card__bh-status{font-size:.72rem;white-space:nowrap}.entitlement-card__bh-item--worked .entitlement-card__bh-status{color:#16a34a}.entitlement-card__bh-item--in-holiday .entitlement-card__bh-status{color:#d97706}.entitlement-card__bh-item--taken .entitlement-card__bh-status{color:#f59e0b}.entitlement-card__bh-item--upcoming .entitlement-card__bh-status{color:#94a3b8}@media(max-width:768px){.holidays-page{padding:16px}.holidays-page__header{flex-direction:column;align-items:flex-start;gap:12px}.entitlement-grid{grid-template-columns:1fr}.pending-approval-item{flex-direction:column;align-items:flex-start}.pending-approval-item__actions{width:100%;justify-content:flex-end}.entitlement-editor{width:95vw}}@media(max-width:480px){.holidays-page{padding:12px}.holidays-page__title{font-size:20px}.entitlement-card__stats{flex-wrap:wrap;gap:8px}.pending-approval-item__btn{min-height:44px;padding:8px 16px}.entitlement-editor{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}}.holidays-page__header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.holidays-page__guide-link{font-size:13px;color:#1e3a5f;text-decoration:underline;cursor:pointer}.holidays-page__guide-link:hover{color:#0f1e3a}.holidays-page__request-btn{padding:8px 16px;background:#16a34a;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease}.holidays-page__request-btn:hover{background:#15803d}.holiday-request-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.holiday-request{background:#fff;border-radius:8px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #00000040}.holiday-request__title{margin:0 0 4px;font-size:18px;font-weight:700;color:#1e293b}.holiday-request__subtitle{margin:0 0 20px;font-size:13px;color:#64748b}.holiday-request__field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.holiday-request__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.holiday-request__row .holiday-request__field{margin-bottom:0}.holiday-request__label{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.4px}.holiday-request__input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:4px;font-size:14px;background:#fff}.holiday-request__textarea{padding:8px 10px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;resize:vertical;font-family:inherit;background:#fff}.holiday-request__readout{padding:12px 14px;background:#f1f5f9;border-radius:4px;font-size:13px;margin-bottom:16px;display:flex;flex-direction:column;gap:4px;color:#1e293b}.holiday-request__readout--over{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.holiday-request__readout-note{color:#64748b;font-size:12px}.holiday-request__readout-warn{color:#b91c1c;font-weight:600}.holiday-request__error{padding:10px 12px;background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;border-radius:4px;font-size:13px;margin-bottom:12px}.holiday-request__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.holiday-request__btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease}.holiday-request__btn--secondary{background:#e2e8f0;color:#1e293b}.holiday-request__btn--secondary:hover{background:#cbd5e1}.holiday-request__btn--primary{background:#16a34a;color:#fff}.holiday-request__btn--primary:hover:not(:disabled){background:#15803d}.holiday-request__btn:disabled{opacity:.5;cursor:not-allowed}.shift-changes-page{padding:24px;max-width:960px;margin:0 auto}.shift-changes-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.shift-changes-page__title{font-size:22px;font-weight:700;color:var(--text);margin:0}.shift-changes-page__tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0}.shift-changes-page__tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-light);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}.shift-changes-page__tab:hover{color:var(--text)}.shift-changes-page__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.shift-changes-page__empty{text-align:center;padding:48px 0;color:var(--text-light);font-size:14px}.swap-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;transition:opacity .2s}.swap-card--declined{opacity:.55}.swap-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.swap-card__requester{font-size:14px;font-weight:600;color:var(--text)}.swap-card__status{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.swap-card__status--pending{background:#fef3c7;color:#92400e}.swap-card__status--approved{background:#dbeafe;color:#1e40af}.swap-card__status--counterpart-approved,.swap-card__status--completed{background:#d1fae5;color:#065f46}.swap-card__status--declined-management{background:#fee2e2;color:#991b1b}.swap-card__status--declined-user{background:#fce7f3;color:#9d174d}.swap-card__entries{display:flex;align-items:center;gap:12px;margin-bottom:12px}.swap-card__entry{flex:1;background:var(--bg);border-radius:var(--radius);padding:10px 12px}.swap-card__entry-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.swap-card__entry-meta{font-size:11px;color:var(--text-light)}.swap-card__arrow{font-size:18px;color:var(--text-light);flex-shrink:0}.swap-card__reason{font-size:12px;color:var(--text-light);margin-bottom:12px;font-style:italic}.swap-card__actions{display:flex;gap:8px;justify-content:flex-end}.swap-card__btn{padding:6px 14px;font-size:12px;font-weight:600;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:background .2s,opacity .2s}.swap-card__btn--approve{background:var(--success);color:#fff}.swap-card__btn--approve:hover{opacity:.9}.swap-card__btn--decline{background:none;color:var(--error);border-color:var(--error)}.swap-card__btn--decline:hover{background:var(--error);color:#fff}.swap-card__btn--accept{background:var(--accent);color:#fff}.swap-card__btn--accept:hover{opacity:.9}.swap-card__btn--view{background:none;color:var(--text-light);border-color:var(--border);text-decoration:none;margin-right:auto}.swap-card__btn--view:hover{background:var(--bg);color:var(--text)}.swap-card__btn--rerequest{background:none;color:#0ea5e9;border-color:#0ea5e9}.swap-card__btn--rerequest:hover:not(:disabled){background:#0ea5e9;color:#fff}.swap-card__btn--rerequest:disabled{opacity:.5;cursor:not-allowed}.swap-card__date{font-size:11px;color:var(--text-light);margin-top:8px}.swap-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.swap-modal{background:var(--surface);border-radius:var(--radius-lg);padding:24px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto}.swap-modal__title{font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px}.swap-modal__source{background:var(--bg);border-radius:var(--radius);padding:12px;margin-bottom:16px}.swap-modal__source-label{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.swap-modal__source-title{font-size:14px;font-weight:600;color:var(--text)}.swap-modal__source-meta{font-size:12px;color:var(--text-light);margin-top:2px}.swap-modal__field{margin-bottom:16px}.swap-modal__label{display:block;font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:6px}.swap-modal__select,.swap-modal__textarea{width:100%;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:inherit}.swap-modal__textarea{min-height:80px;resize:vertical}.swap-modal__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.swap-modal__btn{padding:8px 16px;font-size:13px;font-weight:600;border-radius:var(--radius);cursor:pointer;border:1px solid transparent}.swap-modal__btn--cancel{background:none;color:var(--text-light);border-color:var(--border)}.swap-modal__btn--submit{background:var(--accent);color:#fff}.swap-modal__btn--submit:disabled{opacity:.5;cursor:not-allowed}.swap-bell{position:relative;cursor:pointer;background:none;border:none;color:#ffffffb3;font-size:16px;padding:4px 6px;border-radius:6px;transition:color .15s,background .15s,transform .15s}.swap-bell:hover{color:#fff}.swap-bell--pending{color:#fbbf24;animation:swap-bell-pulse 2s ease-in-out infinite}.swap-bell--pending:hover{color:#fcd34d;animation-play-state:paused;background:#fbbf242e}@keyframes swap-bell-pulse{0%,to{background:#fbbf2400;transform:scale(1)}50%{background:#fbbf2438;transform:scale(1.06)}}.swap-bell__badge{position:absolute;top:-4px;right:-6px;background:var(--error);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.swap-bell__dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:320px;max-height:360px;overflow-y:auto;z-index:100;box-shadow:0 4px 16px #00000026}.swap-bell__dropdown-title{padding:12px 16px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.swap-bell__item{padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.swap-bell__item:hover{background:var(--bg)}.swap-bell__item:last-child{border-bottom:none}.swap-bell__item-text{font-size:12px;color:var(--text);margin-bottom:2px}.swap-bell__item-detail{font-size:11px;color:var(--text-light);margin-bottom:2px}.swap-bell__item-time{font-size:11px;color:var(--text-light)}.swap-bell__empty{padding:24px;text-align:center;font-size:12px;color:var(--text-light)}.swap-bell__view-all{display:block;text-align:center;padding:10px;font-size:12px;color:var(--accent);text-decoration:none;border-top:1px solid var(--border)}.swap-bell__view-all:hover{background:var(--bg)}.entry-bar--swap-pending{box-shadow:0 0 0 2px var(--accent),0 0 0 4px #3b82f633;animation:swap-pulse 1.5s ease-in-out infinite}@keyframes swap-pulse{0%,to{box-shadow:0 0 0 2px var(--accent),0 0 0 4px #3b82f633}50%{box-shadow:0 0 0 3px var(--accent),0 0 0 8px #3b82f659}}.tl-swap-banner{padding:8px 16px;background:#1e3a5f;color:#fff;font-size:13px;text-align:center;border-radius:0}@media(max-width:768px){.shift-changes-page{padding:16px}.shift-changes-page__header{flex-direction:column;align-items:flex-start;gap:12px}.shift-changes-page__tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.shift-changes-page__tab{white-space:nowrap}.swap-card__entries{flex-direction:column}.swap-card__arrow{transform:rotate(90deg);align-self:center}.swap-card__actions{flex-wrap:wrap}.swap-modal{width:95vw}.swap-bell__dropdown{width:280px;right:-60px}}@media(max-width:480px){.shift-changes-page{padding:12px}.shift-changes-page__title{font-size:18px}.swap-card__btn{min-height:44px;padding:8px 16px}.swap-modal{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}}.admin-groups{padding:24px;max-width:900px;margin:0 auto;animation:fadeIn .2s ease-out}.admin-groups__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-groups__title{font-size:22px;font-weight:700;color:var(--text)}.admin-groups__add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;background:var(--accent);color:var(--white);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.admin-groups__add-btn:hover{background:#c73a52}.group-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow)}.group-card__header{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.group-card__header:hover{background:#00000005}.group-card__chevron{font-size:12px;color:var(--text-light);transition:transform .2s;flex-shrink:0;width:16px;text-align:center}.group-card__chevron--open{transform:rotate(90deg)}.group-card__swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.group-card__name{font-size:15px;font-weight:600;color:var(--text);flex:1}.group-card__meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-light)}.group-card__badge{background:#0000000f;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.group-card__badge--staff{background:#e945601a;color:var(--accent)}.group-card__actions{display:flex;align-items:center;gap:4px}.group-card__action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-light);cursor:pointer;font-size:14px;transition:background .15s,color .15s}.group-card__action-btn:hover{background:#0000000f;color:var(--text)}.group-card__action-btn--danger:hover{background:#d32f2f1a;color:var(--error)}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:var(--text-light);white-space:nowrap}.toggle-switch__input{position:absolute;opacity:0;width:0;height:0}.toggle-switch__slider{position:relative;width:34px;height:18px;background:#ccc;border-radius:9px;transition:background .2s;flex-shrink:0}.toggle-switch__slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--white);border-radius:50%;transition:transform .2s}.toggle-switch__input:checked+.toggle-switch__slider{background:var(--success)}.toggle-switch__input:checked+.toggle-switch__slider:after{transform:translate(16px)}.group-card__body{border-top:1px solid var(--border);padding:8px 0}.group-card__add-resource{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;color:var(--accent);background:none;border:none;cursor:pointer;transition:background .15s;width:100%;text-align:left}.group-card__add-resource:hover{background:#e945600a}.group-card__add-resource-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.group-card__add-resource-row .group-card__add-resource{width:auto}.group-card__clone-resource{color:#6366f1}.group-card__clone-resource:hover{background:#6366f10f}.resource-row{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 44px;font-size:13px;transition:background .15s}.resource-row:hover{background:#00000005}.resource-row__swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.resource-row__name{font-weight:500;color:var(--text);flex:1}.resource-row__staff-info{font-size:12px;color:var(--text-light)}.resource-row__actions{display:flex;align-items:center;gap:4px}.resource-row__action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-light);cursor:pointer;font-size:13px;transition:background .15s,color .15s}.resource-row__action-btn:hover{background:#0000000f;color:var(--text)}.resource-row__action-btn--danger:hover{background:#d32f2f1a;color:var(--error)}.admin-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.admin-modal__content{background:var(--white);border-radius:var(--radius);width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.admin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.admin-modal__title{font-size:16px;font-weight:600;color:var(--text)}.admin-modal__close{background:none;border:none;font-size:20px;color:var(--text-light);cursor:pointer;line-height:1;padding:4px}.admin-modal__close:hover{color:var(--text)}.admin-modal__body{padding:20px;flex:1;overflow-y:auto}.admin-modal__field{margin-bottom:16px}.admin-modal__label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.admin-modal__colour-row{display:flex;align-items:center;gap:8px}.admin-modal__colour-input{width:40px;height:34px;border:1px solid var(--border);border-radius:var(--radius);padding:2px;cursor:pointer;background:var(--white)}.admin-modal__colour-hex{font-size:13px;color:var(--text-light);font-family:monospace}.admin-modal__checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.admin-modal__checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.admin-modal__section-title{font-size:13px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-top:4px;border-top:1px solid var(--border)}.admin-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.group-card__empty{padding:12px 16px 12px 44px;font-size:13px;color:var(--text-light);font-style:italic}@media(max-width:768px){.admin-groups{padding:16px}.admin-groups__header{flex-direction:column;align-items:flex-start;gap:12px}.group-card__header{flex-wrap:wrap;gap:8px}.group-card__meta{width:100%;justify-content:flex-start}.resource-row{padding-left:16px;flex-wrap:wrap}.resource-row__name{min-width:120px}.admin-modal__content{max-width:95vw}}@media(max-width:480px){.admin-groups{padding:12px}.admin-groups__title{font-size:18px}.group-card__action-btn,.resource-row__action-btn{width:44px;height:44px}.admin-modal__content{max-width:100vw;max-height:100vh;border-radius:0}}.settings-page{padding:24px;max-width:1000px;margin:0 auto;overflow-y:auto;height:100%}.settings-page__header{margin-bottom:24px}.settings-page__title{font-size:24px;font-weight:700;color:var(--text);margin:0 0 4px}.settings-page__subtitle{font-size:14px;color:var(--text-light);margin:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.settings-card{display:block;padding:20px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .15s;cursor:pointer}.settings-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.settings-card__icon{font-size:24px;margin-bottom:10px;display:block}.settings-card__title{font-size:15px;font-weight:700;color:var(--text);margin:0 0 6px}.settings-card__desc{font-size:13px;color:var(--text-light);margin:0;line-height:1.4}@media(max-width:600px){.settings-page{padding:16px}.settings-grid{grid-template-columns:1fr}}.dashboard{max-width:1120px;margin:0 auto;padding:2.5rem 2rem}.dashboard__hero{background:linear-gradient(135deg,var(--primary) 0%,#1a365d 50%,#2b6cb0 100%);border-radius:12px;padding:1rem 1.5rem 1.1rem;color:#fff;margin-bottom:1.25rem;position:relative;overflow:hidden;box-shadow:0 6px 14px #0000001a,0 2px 6px #0000000d;text-align:center;display:flex;flex-direction:column;align-items:center}.dashboard__hero:before{content:"";position:absolute;top:-60%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%);pointer-events:none}.dashboard__hero:after{content:"";position:absolute;bottom:-40%;left:-5%;width:300px;height:300px;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);pointer-events:none}.dashboard__hero-logo{height:60px;filter:brightness(0) invert(1);opacity:.9;margin-bottom:.4rem}.dashboard__hero h1{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .15rem;position:relative}.dashboard__hero p{font-size:.85rem;font-weight:500;opacity:.8;margin:0;position:relative}.dashboard__section{margin-bottom:2rem}.dashboard__section-heading{margin-bottom:1rem;margin-top:.5rem}.dashboard__section-heading h2{font-size:1.15rem;font-weight:800;color:var(--primary);letter-spacing:-.02em;margin:0}.dashboard__section-heading p{color:var(--text-light);font-size:.85rem;margin:.1rem 0 0}.dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.dashboard__grid--2{grid-template-columns:repeat(2,1fr)}.dashboard__grid--3{grid-template-columns:repeat(3,1fr)}.dashboard__card{background:var(--surface, #fff);border-radius:16px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;border:1px solid var(--border);padding:1.75rem;display:flex;align-items:flex-start;gap:1.25rem;text-decoration:none;color:inherit;cursor:pointer;position:relative;overflow:hidden;transition:all .25s ease}.dashboard__card:hover{box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d;transform:translateY(-3px);border-color:var(--accent)}.dashboard__card:after{content:"→";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.1rem;color:var(--accent);opacity:0;transition:opacity .25s ease,transform .25s ease}.dashboard__card:hover:after{opacity:1;transform:translateY(-50%) translate(3px)}.dashboard__card-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}.dashboard__card-icon--schedule{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.dashboard__card-icon--view{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.dashboard__card-icon--default{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.dashboard__card-icon--custom{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca}.dashboard__card-info{flex:1;min-width:0}.dashboard__card-info h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0 0 4px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:24px}.dashboard__card-info p{font-size:.85rem;color:var(--text-light);margin:0;line-height:1.4}.dashboard__card-default{display:inline-block;font-size:11px;color:var(--accent);font-weight:600;padding:2px 8px;border:1px solid var(--accent);border-radius:4px;white-space:nowrap;margin-top:6px}.dashboard__card-actions{display:flex;gap:6px;margin-top:10px}.dashboard__card-btn{padding:5px 12px;font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:10px;background:var(--surface, #fff);color:var(--text-light);cursor:pointer;transition:all .2s ease}.dashboard__card-btn:hover{background:var(--hover, #f8f9fa);color:var(--text)}.dashboard__card-btn--open{border-color:var(--accent);color:var(--accent)}.dashboard__card-btn--open:hover{background:var(--accent);color:#fff}.dashboard__card-btn--delete:hover{background:var(--error);color:#fff;border-color:var(--error)}.dashboard__quick-card{background:var(--surface, #fff);border-radius:16px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;border:1px solid var(--border);padding:1.75rem;display:flex;align-items:flex-start;gap:1.25rem;text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:all .25s ease}.dashboard__quick-card:hover{box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d;transform:translateY(-3px);border-color:var(--accent)}.dashboard__quick-card:after{content:"→";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.1rem;color:var(--accent);opacity:0;transition:opacity .25s ease,transform .25s ease}.dashboard__quick-card:hover:after{opacity:1;transform:translateY(-50%) translate(3px)}.dashboard__empty{text-align:center;padding:48px 24px;color:var(--text-light);background:var(--surface, #fff);border:1px solid var(--border);border-radius:16px}.dashboard__empty h3{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--text)}.dashboard__empty p{margin:0 0 16px;font-size:14px}.dashboard__empty a{color:var(--accent);text-decoration:none;font-weight:600}.dashboard__empty a:hover{text-decoration:underline}.dashboard__note{margin-top:1.5rem;padding:1rem 1.5rem;font-size:.85rem;color:var(--text-light);background:var(--surface, #fff);border:1px solid var(--border);border-radius:16px}.get-mobile-app-row{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:var(--surface, #fff);border:1.5px solid #3b82f6;border-radius:14px;margin-bottom:1.25rem;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.get-mobile-app-row:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1f;transform:translateY(-1px)}.get-mobile-app-row__icon{flex:0 0 auto;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#b6e3b6,#98d098);display:flex;align-items:center;justify-content:center;color:#1e3a2b}.get-mobile-app-row__text{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.get-mobile-app-row__text strong{font-size:1rem;font-weight:700;color:var(--text, #0f172a)}.get-mobile-app-row__text span{font-size:.85rem;color:var(--text-muted, #64748b)}.get-mobile-app-row__chevron{flex:0 0 auto;font-size:1.6rem;color:var(--text-muted, #94a3b8);margin-right:.25rem}.mobile-app-panel{background:var(--surface, #fff);border:1px solid var(--border);border-radius:12px;padding:.6rem .85rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.mobile-app-panel__heading{flex:0 1 auto;min-width:140px}.mobile-app-panel__heading h2{margin:0;font-size:.9rem;font-weight:700;color:var(--text, #0f172a)}.mobile-app-panel__heading p{margin:.1rem 0 0;font-size:.7rem;color:var(--text-muted, #64748b)}.mobile-app-panel__cards{display:flex;flex:1 1 auto;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.mobile-app-panel__card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.45rem .6rem .55rem;border:1px solid var(--border);border-radius:10px;background:var(--background-elevated, #fafafa);text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.mobile-app-panel__card:hover{border-color:#e9456080;box-shadow:0 3px 8px #0000000f;transform:translateY(-1px)}.mobile-app-panel__card-header{display:flex;flex-direction:row;align-items:center;gap:.35rem;color:var(--text, #0f172a)}.mobile-app-panel__card-header strong{font-size:.78rem}.mobile-app-panel__card-header svg{width:16px;height:16px}.mobile-app-panel__card-qr{background:#fff;padding:.2rem;border-radius:5px;border:1px solid var(--border);flex:0 0 auto}.mobile-app-panel__card-qr img{display:block;width:64px;height:64px}.mobile-app-panel__card-meta{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.mobile-app-panel__channel{font-size:.7rem;font-weight:600;color:var(--text, #0f172a)}.mobile-app-panel__link-label{font-size:.62rem;color:var(--text-muted, #64748b)}@media(max-width:720px){.mobile-app-panel{flex-direction:column;align-items:stretch}.mobile-app-panel__cards{justify-content:stretch}.mobile-app-panel__card{flex:1}}.app-install-banner{background:var(--surface, #fff);border:1px solid var(--border);border-radius:16px;padding:.75rem 1rem;margin-bottom:2rem;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;position:relative;background-image:linear-gradient(135deg,#e945600a,#e9456003)}.app-install-banner__close{position:absolute;top:.4rem;right:.5rem;background:none;border:none;font-size:1.2rem;color:var(--text-light);cursor:pointer;line-height:1;padding:.25rem;border-radius:4px;transition:color .2s,background .2s}.app-install-banner__close:hover{color:var(--text);background:#0000000d}.app-install-banner__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-install-banner__left{display:flex;align-items:center;gap:1rem;flex:1}.app-install-banner__content{display:flex;align-items:center;gap:.625rem}.app-install-banner__icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#fce4ec,#f8bbd0);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-install-banner__text strong{display:block;font-size:.85rem;color:var(--text)}.app-install-banner__text p{font-size:.75rem;color:var(--text-light);margin:0}.app-install-banner__actions{display:flex;gap:.5rem}.app-install-banner__btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;font-size:.75rem;font-weight:600;border-radius:8px;background:var(--primary);color:#fff;text-decoration:none;white-space:nowrap;transition:background .2s}.app-install-banner__btn:hover{background:#2a2a4a;text-decoration:none;color:#fff}.app-install-banner__qr{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;flex-shrink:0;margin-right:1rem}.app-install-banner__qr-label{font-size:.625rem;color:var(--text-light);font-weight:500}.app-install-banner__qr-img{border-radius:6px;border:1px solid var(--border)}.dashboard__week-panel{background:var(--surface, #fff);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;overflow:hidden}.dashboard__week-loading{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.dashboard__week-skeleton{height:52px;border-radius:8px;background:linear-gradient(90deg,var(--border) 25%,rgba(0,0,0,.03) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite}.dashboard__week-day{display:flex;flex-direction:column}.dashboard__week-day--today .dashboard__week-day-hdr{background:linear-gradient(90deg,#e945600f,#e9456005)}.dashboard__week-day--today .dashboard__week-day-name{color:var(--accent)}.dashboard__week-day-hdr{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;cursor:pointer;transition:background .15s}.dashboard__week-day-hdr:hover{background:var(--hover, rgba(0,0,0,.03))}.dashboard__week-day-name{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);width:40px;flex-shrink:0}.dashboard__week-day-date{font-size:.8rem;font-weight:600;color:var(--text)}.dashboard__week-day-free{font-size:.75rem;color:var(--text-light);font-style:italic;margin-left:auto}.dashboard__week-entry{display:flex;flex-direction:column;gap:3px;padding:.55rem 1.25rem .55rem 1.75rem;border-left:3px solid var(--accent);margin:0 0 2px 1.25rem;border-radius:0 6px 6px 0;background:#00000005;cursor:pointer;transition:background .15s}.dashboard__week-entry:last-of-type{margin-bottom:.6rem}.dashboard__week-entry:hover{background:#0000000d}.dashboard__week-entry-project{font-size:.8rem;font-weight:700;color:var(--text);margin-bottom:1px}.dashboard__week-entry-top{display:flex;align-items:baseline;gap:.75rem}.dashboard__week-entry-title{font-size:.875rem;font-weight:400;color:var(--text);flex:1}.dashboard__week-entry-time{font-size:.75rem;font-weight:400;color:var(--accent);white-space:nowrap;flex-shrink:0}.dashboard__week-entry-meta{display:flex;flex-wrap:wrap;gap:.35rem .85rem}.dashboard__week-entry-meta span{font-size:.775rem;font-weight:400;color:var(--text-light)}.dashboard__week-entry-notes{font-size:.75rem;color:var(--text-light);font-style:italic;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard__week-divider{height:1px;background:var(--border);margin:0}@media(max-width:768px){.dashboard{padding:1.5rem 1rem}.dashboard__hero{padding:2rem}.dashboard__hero h1{font-size:1.5rem}.dashboard__hero p{font-size:.95rem}.dashboard__hero-logo{height:95px}.dashboard__grid,.dashboard__grid--2,.dashboard__grid--3{grid-template-columns:1fr}.app-install-banner__left{flex-direction:column;align-items:flex-start}.app-install-banner__actions{flex-direction:column}.app-install-banner__qr{display:none}}@media(max-width:480px){.dashboard{padding:1rem .75rem}.dashboard__hero{padding:1.5rem 1rem;border-radius:10px}.dashboard__hero h1{font-size:1.25rem}.dashboard__hero-logo{height:70px}.dashboard__card{padding:1.25rem}.dashboard__card-icon{width:42px;height:42px;border-radius:10px;font-size:18px}.dashboard__week-day-hdr{padding:.5rem .75rem}.dashboard__week-entry{padding:.45rem .75rem .45rem 1rem;margin-left:.75rem}.app-install-banner__row{flex-direction:column;align-items:flex-start}}.calendar-feed-panel{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.calendar-feed-panel__skeleton{height:180px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite;border-radius:6px}.calendar-feed-panel__header{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}.calendar-feed-panel__icon{flex-shrink:0;width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--accent) 0%,#c53030 100%);display:flex;align-items:center;justify-content:center;color:#fff}.calendar-feed-panel__header h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text)}.calendar-feed-panel__header p{margin:0;font-size:.875rem;color:var(--text-light);line-height:1.4}.calendar-feed-panel__url-box{display:flex;gap:.5rem;margin-bottom:1.5rem}.calendar-feed-panel__url-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:Courier New,monospace;background:#f9fafb;color:var(--text)}.calendar-feed-panel__url-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e945601a}.calendar-feed-panel__copy-btn{flex-shrink:0;padding:.75rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-feed-panel__copy-btn:hover{background:#d43e5a;transform:translateY(-1px);box-shadow:0 4px 8px #e9456033}.calendar-feed-panel__copy-btn:active{transform:translateY(0)}.calendar-feed-panel__instructions{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:1rem 1.25rem}.calendar-feed-panel__instructions h4{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--text)}.calendar-feed-panel__instructions ul{margin:0 0 1rem;padding-left:1.5rem;font-size:.875rem;color:var(--text);line-height:1.8}.calendar-feed-panel__instructions li{margin-bottom:.5rem}.calendar-feed-panel__instructions strong{color:var(--text);font-weight:600}.calendar-feed-panel__note{margin:0;padding-top:.75rem;border-top:1px solid #e5e7eb;font-size:.8125rem;color:var(--text-light);line-height:1.5}.calendar-feed-panel__empty{text-align:center;padding:2rem 1rem}.calendar-feed-panel__empty p{margin:0 0 1rem;font-size:.9375rem;color:var(--text)}.calendar-feed-panel__generate-btn{padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.calendar-feed-panel__generate-btn:hover:not(:disabled){background:#d43e5a;transform:translateY(-1px);box-shadow:0 4px 12px #e9456040}.calendar-feed-panel__generate-btn:active:not(:disabled){transform:translateY(0)}.calendar-feed-panel__generate-btn:disabled{background:#9ca3af;cursor:not-allowed}.calendar-feed-panel__hint{margin:1rem 0 0;font-size:.8125rem;color:var(--text-light);line-height:1.5;max-width:500px;margin-left:auto;margin-right:auto}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-users-page{max-width:1500px;margin:0 auto;padding:2rem 2rem 3rem;overflow-y:auto;height:100%}.admin-users-page__header{margin-bottom:1.5rem}.admin-users-page__title{font-size:1.85rem;font-weight:800;color:var(--primary);margin:0}.admin-users-page__subtitle{color:var(--text-light);font-size:.95rem;margin-top:.25rem}.admin-users-tabs{display:inline-flex;gap:4px;margin-bottom:1.5rem;background:#f1f5f9;border-radius:10px;padding:4px}.admin-users-tabs__btn{position:relative;padding:9px 28px;font-size:.88rem;font-weight:600;color:#64748b;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:color .2s,background .2s,box-shadow .2s;font-family:inherit;letter-spacing:.01em}.admin-users-tabs__btn:hover:not(.admin-users-tabs__btn--active){color:var(--text);background:#ffffff80}.admin-users-tabs__btn--active{box-shadow:0 1px 3px #0000001f}.admin-users-tabs__btn--users{background:#e9456026;color:var(--accent)}.admin-users-tabs__btn--users.admin-users-tabs__btn--active{background:linear-gradient(135deg,var(--accent),#c73650);color:#fff;box-shadow:0 2px 8px #e9456059}.admin-users-tabs__btn--users.admin-users-tabs__btn--active .admin-users-tabs__count{background:#ffffff40;color:#fff}.admin-users-tabs__btn--invitations{background:#1a1a2e1a;color:var(--primary)}.admin-users-tabs__btn--invitations.admin-users-tabs__btn--active{background:linear-gradient(135deg,#2d2d4e,var(--primary));color:#fff;box-shadow:0 2px 8px #1a1a2e59}.admin-users-tabs__btn--invitations.admin-users-tabs__btn--active .admin-users-tabs__count{background:#fff3;color:#fff}.admin-users-tabs__btn--former{background:#64748b1f;color:#475569}.admin-users-tabs__btn--former.admin-users-tabs__btn--active{background:linear-gradient(135deg,#64748b,#475569);color:#fff;box-shadow:0 2px 8px #47556959}.admin-users-tabs__btn--former.admin-users-tabs__btn--active .admin-users-tabs__count{background:#fff3;color:#fff}.admin-users-tabs__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;margin-left:7px;border-radius:5px;font-size:.72rem;font-weight:700;background:#e2e8f0;color:#475569;line-height:1;vertical-align:middle;position:relative;top:-1px}.au-card{background:var(--white);border-radius:10px;box-shadow:0 1px 4px #0000000f,0 2px 12px #0000000a;border:1px solid var(--border);transition:box-shadow .2s}.au-card:hover{box-shadow:0 2px 8px #00000014,0 4px 20px #0000000f}.au-card+.au-card{margin-top:1.5rem}.au-card__header{padding:1rem 1.5rem;background:linear-gradient(to bottom,#fafcff,#f0f4fa);border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:space-between}.au-card__header h3{font-size:1rem;font-weight:700;color:var(--primary);margin:0}.au-card__header-count{font-size:.8rem;font-weight:600;color:var(--text-light);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .75rem}.au-card__body{padding:1.5rem}.au-alert{padding:.85rem 1.25rem;border-radius:var(--radius);margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500}.au-alert--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.au-alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.au-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.au-form-grid .au-field--full{grid-column:1 / -1}.au-field{display:flex;flex-direction:column}.au-field__label{font-size:.82rem;font-weight:600;color:#64748b;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.3px}.au-field__label .au-required{color:var(--accent);margin-left:.1rem}.au-field__label .au-optional{font-weight:400;color:var(--text-light);text-transform:none;letter-spacing:0}.au-field__input,.au-field__select{padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9rem;color:var(--text);background:var(--white);transition:border-color .2s,box-shadow .2s;font-family:inherit}.au-field__input:focus,.au-field__select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e945601f}.au-field__hint{font-size:.8rem;color:var(--text-light);margin-top:.35rem}.au-field__error{font-size:.8rem;color:var(--error);margin-top:.3rem}.au-perm-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;margin-top:.25rem}.au-perm-grid{display:flex;flex-wrap:wrap;gap:.75rem}.au-perm-toggle{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;background:var(--white);border:1.5px solid #e2e8f0;border-radius:var(--radius);cursor:pointer;font-size:.85rem;font-weight:500;color:#64748b;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.au-perm-toggle:hover{border-color:#cbd5e1;background:#fff}.au-perm-toggle--active{border-color:var(--accent);background:#e945600a;color:var(--text);box-shadow:0 0 0 3px #e9456014}.au-perm-toggle input[type=checkbox]{position:relative;width:34px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#cbd5e1;border-radius:9px;cursor:pointer;transition:background .2s;flex-shrink:0}.au-perm-toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--white);border-radius:50%;box-shadow:0 1px 2px #00000026;transition:transform .2s}.au-perm-toggle input[type=checkbox]:checked{background:var(--accent)}.au-perm-toggle input[type=checkbox]:checked:after{transform:translate(16px)}.au-perm-checkbox{display:flex;align-items:center;gap:.45rem;font-size:.88rem;cursor:pointer;color:var(--text)}.au-perm-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.au-access-badge{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#3b82f626;color:#3b82f6}.au-access-details{cursor:pointer}.au-access-details summary{list-style:none}.au-access-details summary::-webkit-details-marker{display:none}.au-access-summary{font-size:.85rem;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.au-access-summary:before{content:"▶";font-size:.6rem;transition:transform .15s}.au-access-details[open] .au-access-summary:before{transform:rotate(90deg)}.au-access-summary--all{color:#2563eb}.au-access-expand{margin-top:.5rem;padding:.6rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius);animation:au-access-fade .15s ease}@keyframes au-access-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.au-access-list{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.au-access-item{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.au-access-item--on{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}.au-access-item--off{background:#f9fafb;color:#9ca3af;border:1px solid #e5e7eb;text-decoration:line-through}.au-access-edit-btn{display:inline-block;padding:.25rem .6rem;font-size:.72rem;font-weight:600;background:var(--white);color:var(--accent);border:1px solid rgba(233,69,96,.3);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit}.au-access-edit-btn:hover{background:#e945600a;border-color:var(--accent)}.au-view-groups{margin-top:1rem}.au-view-groups__label{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.6rem}.au-view-groups__grid{display:flex;flex-wrap:wrap;gap:.5rem;max-height:200px;overflow-y:auto;padding:2px}.au-view-groups__chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:var(--white);border:1.5px solid #e2e8f0;border-radius:999px;cursor:pointer;font-size:.82rem;font-weight:500;color:#64748b;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.au-view-groups__chip:hover{border-color:#cbd5e1}.au-view-groups__chip--active{border-color:var(--accent);background:#e945600a;color:var(--text);box-shadow:0 0 0 2px #e9456014}.au-view-groups__chip input[type=checkbox]{display:none}.au-view-groups__chip-check{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:#e2e8f0;color:transparent;font-size:11px;font-weight:700;transition:background .15s,color .15s;flex-shrink:0}.au-view-groups__chip--active .au-view-groups__chip-check{background:var(--accent);color:var(--white)}.au-view-groups__swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.au-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.au-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.75rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,var(--accent),#c73650);color:var(--white);box-shadow:0 2px 8px #e945604d;transition:box-shadow .2s,transform .15s;font-family:inherit}.au-btn-primary:hover:not(:disabled){box-shadow:0 4px 14px #e9456066;transform:translateY(-1px)}.au-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.au-btn-small{padding:.35rem .75rem;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:var(--bg);color:var(--text);transition:background .15s,border-color .15s,color .15s;font-family:inherit;white-space:nowrap}.au-btn-small:hover{background:var(--border);color:var(--text)}.au-btn-small--danger{color:#ef4444;border-color:#ef44444d}.au-btn-small--danger:hover{background:#fef2f2;border-color:#ef4444}.au-btn-small--warn{color:#b45309;border-color:#b453094d}.au-btn-small--warn:hover{background:#fffbeb;border-color:#d97706}.au-btn-small--viewas{background:#fef3c7;color:#92400e;border-color:#fde68a}.au-btn-small--viewas:hover{background:#fde68a}.au-btn-small--email-set{color:#065f46;background:#ecfdf5;border-color:#a7f3d0;cursor:default}.au-btn-small--email-missing{color:#92400e;background:#fffbeb;border-color:#fde68a}.au-btn-small--email-missing:hover{background:#fef3c7}.au-protected{font-size:.82rem;color:var(--text-light);font-style:italic}.au-table-wrapper{overflow-x:auto;scrollbar-width:none}.au-table-wrapper:hover{scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}.au-table-wrapper::-webkit-scrollbar{height:6px;display:none}.au-table-wrapper:hover::-webkit-scrollbar{display:block}.au-table{width:100%;border-collapse:collapse;font-size:.9rem}.au-table th{text-align:left;padding:1rem 1.25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#3b82f6b3;border-bottom:1px solid var(--border);white-space:nowrap}.au-table td{padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.au-table tr:hover td{background:#f8fafc}.au-table td.au-table__job-title{color:var(--text-light);font-size:.85rem}.au-table td.au-table__username{font-weight:600}.au-table td.au-table__date{white-space:nowrap;color:var(--text);font-size:.85rem}.au-badge{display:inline-block;padding:.3rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.au-badge--SUPER_USER{background:linear-gradient(135deg,#1a365d,#2b6cb0);color:var(--white);border:1px solid #2b6cb0}.au-badge--ADMIN{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.au-badge--USER{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.au-badge--CLIENT{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.au-badge--staff{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.au-badge--freelancer{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.au-actions{display:flex;gap:.5rem;align-items:center}.au-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #f1f5f9}.au-filters__search{flex:1;min-width:200px;padding:.55rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.88rem;color:var(--text);background:var(--white);font-family:inherit;transition:border-color .2s,box-shadow .2s}.au-filters__search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e945601f}.au-filters__select{padding:.55rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.88rem;color:var(--text);background:var(--white);min-width:140px;font-family:inherit}.au-empty{text-align:center;padding:2.5rem 1.5rem;color:var(--text-light);font-size:.9rem}.au-loading{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;gap:.75rem;color:var(--text-light);font-size:.9rem}.au-invite-item{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--white);border-radius:var(--radius);border:1px solid #f1f5f9;gap:.75rem;transition:border-color .15s}.au-invite-item:hover{border-color:var(--border)}.au-invite-item__info{flex:1;min-width:0}.au-invite-item__email{font-weight:600;font-size:.88rem;color:var(--text)}.au-invite-item__meta{font-size:.78rem;color:var(--text-light);margin-top:2px}.au-invite-item__meta--expired{color:var(--error)}.au-invite-item__actions{display:flex;gap:.4rem;flex-shrink:0}.au-modal-field{margin-bottom:1.1rem}.au-modal-label{display:block;font-size:.82rem;font-weight:600;color:#64748b;margin-bottom:.35rem}.au-modal-input,.au-modal-select{width:100%;padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9rem;color:var(--text);background:var(--white);font-family:inherit;transition:border-color .2s,box-shadow .2s}.au-modal-input:focus,.au-modal-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e945601f}.au-modal-perms{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;margin-top:.75rem}.au-modal-perms__title{font-size:.82rem;font-weight:700;color:var(--primary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.3px}.au-feature-section{margin-top:1.25rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.au-feature-section__title{font-size:.8rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.au-feature-section__hint{font-size:.78rem;color:var(--text-light);margin-bottom:.75rem}.au-feature-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.au-feature-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.au-feature-radio{display:inline-flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--text)}.au-feature-radio label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;font-weight:500}.au-feature-radio input[type=radio]{accent-color:var(--accent);cursor:pointer}@media(max-width:768px){.admin-users-page{padding:1rem}.au-form-grid{grid-template-columns:1fr}.au-table th,.au-table td{padding:.6rem .75rem}.au-card__body{padding:1rem}}.au-field__password-wrap{position:relative;display:flex;align-items:center}.au-field__password-wrap .au-field__input{flex:1;padding-right:52px}.au-field__eye{position:absolute;right:6px;background:none;border:1px solid var(--border, #334155);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--text-light, #94A3B8);cursor:pointer;letter-spacing:.3px;transition:color .15s,border-color .15s}.au-field__eye:hover{color:var(--text, #fff);border-color:var(--text-light, #94A3B8)}.au-field__input--masked{-webkit-text-security:disc;-moz-text-security:disc;text-security:disc}@media(max-width:768px){.admin-users-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.admin-users-tabs__btn{white-space:nowrap;padding:8px 16px;font-size:.82rem}.au-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.au-card__header{flex-direction:column;align-items:flex-start;gap:8px}.au-filters{flex-direction:column}.au-filters__search{min-width:0;width:100%}.au-filters__select{width:100%}.au-perm-grid{flex-direction:column}.au-invite-item{flex-direction:column;align-items:flex-start}.au-invite-item__actions{width:100%;justify-content:flex-end}.au-actions{flex-wrap:wrap}.au-view-groups__grid{max-height:none}}@media(max-width:480px){.admin-users-page{padding:.75rem}.admin-users-page__title{font-size:1.35rem}.au-table th,.au-table td{padding:.5rem;font-size:.8rem}.au-btn-small{min-height:44px;padding:.5rem .85rem}}.gta-page{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#111a3d,#0d1530);padding:1.5rem 1rem 3rem;color:#fff;display:flex;flex-direction:column;align-items:center}.gta-back{position:absolute;top:1.25rem;left:1.25rem;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem .45rem .75rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;text-decoration:none;font-size:.85rem;font-weight:500;transition:background .12s ease,border-color .12s ease}.gta-back:hover{background:#ffffff1a;border-color:#fff3}.gta-back__chevron{font-size:1.1rem;line-height:1;margin-top:-1px}.gta-hero{text-align:center;margin:1rem 0 2rem}.gta-hero__logo{height:56px;filter:brightness(0) invert(1);opacity:.6;margin-bottom:1rem}.gta-hero__title{font-size:3rem;font-weight:800;margin:0 0 .4rem;letter-spacing:-.03em;line-height:1}.gta-hero__title-accent{color:#e94560;margin-right:.4rem}.gta-hero__title-main{color:#fff}.gta-hero__sub{margin:0;color:#94a3b8;font-size:1rem;font-weight:500}.gta-card{width:100%;max-width:560px;display:flex;align-items:stretch;gap:1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1rem}.gta-card__body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.6rem}.gta-card__label{font-size:.7rem;font-weight:700;letter-spacing:.15em;color:#94a3b8;text-transform:uppercase}.gta-card__btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 1.25rem;border-radius:10px;font-weight:600;text-decoration:none;font-size:.95rem;transition:filter .12s ease,background .12s ease,border-color .12s ease;border:1px solid transparent}.gta-card__btn--primary{color:#fff}.gta-card__btn--ios{background:linear-gradient(180deg,#5b8def,#4a72e0)}.gta-card__btn--ios:hover{filter:brightness(1.08)}.gta-card__btn--android{background:linear-gradient(180deg,#5f8a5f,#4a724a)}.gta-card__btn--android:hover{filter:brightness(1.08)}.gta-card__btn--secondary{background:#ffffff0f;color:#cbd5e1;border-color:#ffffff1a}.gta-card__btn--secondary:hover{background:#ffffff1a;border-color:#fff3}.gta-card__qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.4rem}.gta-card__qr img{display:block;border-radius:4px;border:4px solid #fff;background:#fff}.gta-card__qr-label{font-size:.7rem;color:#94a3b8}.gta-footer-link{margin-top:1.5rem;font-size:.85rem;color:#94a3b8;text-decoration:none}.gta-footer-link:hover{color:#cbd5e1}@media(max-width:600px){.gta-hero__title{font-size:2rem}.gta-card{flex-direction:column;align-items:center}.gta-card__body{width:100%}.gta-card__qr img{width:140px;height:140px}.gta-back{top:.75rem;left:.75rem}}.hg{min-height:100vh;background:#fafafa;color:#1e293b;padding-bottom:4rem}.hg__topbar{position:sticky;top:0;z-index:10;background:#fafafaf2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #e5e7eb;padding:.75rem 1.5rem}.hg__back{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem .45rem .7rem;border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#475569;text-decoration:none;font-size:.9rem;font-weight:500;transition:background .12s ease,border-color .12s ease,color .12s ease}.hg__back:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.hg__back-chevron{font-size:1.2rem;line-height:1}.hg__back--footer{display:inline-flex;margin:2rem auto 0}.hg__hero{text-align:center;padding:2.5rem 1.5rem 1.5rem}.hg__hero h1{margin:0 0 .4rem;font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1}.hg__brand-accent{color:#e94560;margin-right:.4rem}.hg__brand-main{color:#0f172a}.hg__hero-sub{margin:0;color:#64748b;font-size:1.05rem;font-weight:500}.hg__article{max-width:760px;margin:0 auto;padding:0 1.5rem;font-size:1rem;line-height:1.65}.hg__section{margin:2.5rem 0}.hg__article h2{margin:0 0 1rem;font-size:1.6rem;font-weight:700;color:#0f172a;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.hg__article h3{margin:1.5rem 0 .6rem;font-size:1.15rem;font-weight:700;color:#1e293b}.hg__article p{margin:.75rem 0}.hg__article ul,.hg__article ol{margin:.75rem 0;padding-left:1.5rem}.hg__article li{margin:.3rem 0}.hg__article strong{color:#0f172a}.hg__article figure{margin:1.5rem 0;padding:0;text-align:center}.hg__article figure img{max-width:100%;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 12px #0000000f;background:#fff}.hg__article figure figcaption{margin-top:.6rem;font-size:.85rem;color:#64748b;font-style:italic}.hg__table-wrap{overflow-x:auto;margin:1rem 0;border-radius:8px;border:1px solid #e5e7eb}.hg__article table{width:100%;border-collapse:collapse;font-size:.92rem}.hg__article th{background:#f1f5f9;font-weight:600;text-align:left;padding:.65rem .85rem;border-bottom:1px solid #e5e7eb;color:#0f172a}.hg__article td{padding:.6rem .85rem;border-bottom:1px solid #f1f5f9}.hg__article tr:last-child td{border-bottom:none}.hg__pre{font-family:Menlo,Consolas,monospace;font-size:.78rem;line-height:1.4;background:#0f172a;color:#e2e8f0;padding:1rem 1.25rem;border-radius:10px;overflow-x:auto;margin:1rem 0}.hg__callout{background:#e9456012;border-left:3px solid #e94560;padding:.85rem 1rem;border-radius:0 8px 8px 0;margin:1rem 0}.hg__inline-link{color:#e94560;text-decoration:underline;text-underline-offset:2px}.hg__end{text-align:center;margin:3rem 0 .5rem;font-weight:700;color:#94a3b8;letter-spacing:.1em}.hg__updated{text-align:center;font-size:.8rem;color:#94a3b8;font-style:italic}.hg__footer{text-align:center;padding:0 1.5rem}@media(max-width:600px){.hg__hero h1{font-size:1.8rem}.hg__article{padding:0 1rem}.hg__article h2{font-size:1.3rem}}.nb-banner{display:flex;align-items:center;justify-content:center;gap:12px;height:34px;font-size:13px;font-weight:600;flex-shrink:0}.nb-banner--client{background:#3b82f6;color:#fff}.nb-banner--viewas{background:#f59e0b;color:#1a1a1a}.nb-banner__btn{padding:3px 12px;font-size:11px;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:opacity .15s}.nb-banner__btn:hover{opacity:.85}.nb-banner__btn--client{background:#fff;color:#3b82f6}.nb-banner__btn--viewas{background:#1a1a1a;color:#f59e0b}.nb{display:flex;align-items:center;height:52px;background:var(--primary);color:#fff;flex-shrink:0;padding:0 16px;position:relative;z-index:100}.nb__logo{flex-shrink:0;display:flex;align-items:center;margin-right:8px;text-decoration:none}.nb__logo img{height:32px;object-fit:contain}.nb__divider{width:1px;height:28px;background:#ffffff26;flex-shrink:0;margin:0 10px}.nb__spacer{flex:1;min-width:12px;display:flex;align-items:center;justify-content:center}.nb__title{text-decoration:none;color:#fff;font-size:32px;font-weight:700;letter-spacing:.5px;white-space:nowrap;pointer-events:auto;line-height:1}.nb__title-accent{color:var(--accent)}.nb__title-group{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:baseline;gap:12px;pointer-events:none;white-space:nowrap}.nb__editing{display:inline-flex;align-items:center;gap:6px;color:#f59e0b;font-size:14px;font-weight:500;white-space:nowrap;pointer-events:none;line-height:1}.nb__editing-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;flex-shrink:0;animation:nb-editing-pulse 1.2s ease-in-out infinite}@keyframes nb-editing-pulse{0%,to{opacity:1}50%{opacity:.35}}.nb__editing-text{max-width:300px;overflow:hidden;text-overflow:ellipsis}.nb__right{display:flex;align-items:center;gap:4px;flex-shrink:0}.nb__nav{display:flex;align-items:center;gap:1px}.nb__link{color:#ffffffa6;text-decoration:none;font-size:13px;font-weight:500;padding:6px 11px;border-radius:6px;white-space:nowrap;transition:background .15s,color .15s;cursor:pointer;background:none;border:none;display:flex;align-items:center}.nb__link:hover{color:#fff;background:#ffffff1a}.nb__link--active{color:#fff;background:#ffffff21}.nb__link svg{flex-shrink:0}.nb__right .nb__link{gap:5px}.nb__link-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:18px;height:18px;padding:0 6px;border-radius:4px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.nb__link--has-badge{color:#fbbf24}.nb__link--has-badge:hover{color:#fcd34d}.nb__admin-wrap{position:relative}.nb__admin-trigger{gap:2px}.nb__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;padding:6px;z-index:200;animation:nb-dropdown-in .12s ease}@keyframes nb-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nb__dropdown-item{display:block;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;border-radius:4px;transition:background .1s}.nb__dropdown-item:hover{background:var(--bg)}.nb__dropdown-item--active{color:var(--accent);font-weight:600}.nb__user{display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative}.nb__user-toggle{display:flex;align-items:center;gap:6px;color:#ffffffd9;font-size:13px;font-weight:500;padding:6px 10px;border-radius:6px;background:none;border:none;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.nb__user-toggle:hover{background:#ffffff14;color:#fff}.nb__user-toggle svg:first-of-type{opacity:.7;flex-shrink:0}.nb__user-toggle:hover svg:first-of-type{opacity:1}.nb__user-dropdown{display:block;position:absolute;top:100%;right:0;margin-top:8px;background:#1a2a3a;border:1px solid #2a3a4a;border-radius:8px;padding:4px 0;min-width:180px;box-shadow:0 8px 24px #0000004d;z-index:1000}.nb__user-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;color:#ffffffd9;font-size:13px;font-weight:500;white-space:nowrap;background:none;border:none;cursor:pointer;text-decoration:none;text-align:left;transition:background .15s,color .15s}.nb__user-dropdown-item:hover{background:#ffffff0f;color:#fff}.nb__user-dropdown-item svg{opacity:.6;flex-shrink:0}.nb__user-dropdown-item:hover svg{opacity:1}.nb__user-dropdown-item--signout{color:#ff6464e6}.nb__user-dropdown-item--signout:hover{color:#f66;background:#ff64641a}.nb__hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px;margin-left:auto}.nb__hamburger span{display:block;width:20px;height:2px;background:#fffc;border-radius:1px}.nb-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:500;animation:nb-fade-in .15s ease}@keyframes nb-fade-in{0%{opacity:0}to{opacity:1}}.nb-mobile{position:absolute;top:0;right:0;width:260px;height:100%;background:var(--primary);padding:20px 16px;overflow-y:auto;animation:nb-slide-in .2s ease}@keyframes nb-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.nb-mobile__section{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.nb-mobile__section:last-child{border-bottom:none}.nb-mobile__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffffff59;padding:4px 12px 8px}.nb-mobile__link{display:block;width:100%;text-align:left;padding:10px 12px;font-size:14px;font-weight:500;color:#ffffffb3;text-decoration:none;border-radius:6px;border:none;background:none;cursor:pointer;transition:background .1s,color .1s}.nb-mobile__link:hover{background:#ffffff14;color:#fff}.nb-mobile__link--active{color:#fff;background:#ffffff1a}.nb-mobile__link--signout{color:var(--accent)}.nb-cp-field{margin-bottom:16px}.nb-cp-field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text)}.nb-cp-input-wrap{position:relative}@media(max-width:1300px){.nb__title{font-size:22px}.nb{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.nb__nav{flex-wrap:nowrap}.nb__nav--main .nb__link{white-space:nowrap}}@media(max-width:1400px){.nb__nav--main,.nb__right,.nb__divider{display:none}.nb__spacer{flex:1;min-width:0}.nb__hamburger{display:flex}.nb{justify-content:space-between;overflow-x:visible}.nb__title{font-size:20px;display:block!important;visibility:visible!important}}@media(max-width:768px){.nb__title{font-size:18px}}@media(max-width:480px){.nb__title{font-size:16px}.nb__editing{font-size:11px;gap:4px}.nb__editing-text{max-width:180px}.nb-mobile{width:100%}.nb-mobile__link{padding:14px 12px;font-size:15px;min-height:44px}.nb-banner{font-size:11px;gap:8px;flex-wrap:wrap;height:auto;padding:6px 12px}}@media(max-width:768px){.nb__logo img{height:26px}.nb{height:46px;padding:0 10px}}@media(max-width:480px){.nb__logo img{height:22px}.nb{height:42px;padding:0 8px}.nb__hamburger{padding:8px}.nb__hamburger span{width:18px}}@media(max-height:500px)and (orientation:landscape){.nb{height:38px;padding:0 10px}.nb__logo img{height:20px}.nb__title{font-size:14px}}.nb__active-users-wrap{position:relative}.nb__active-users-trigger{display:flex;align-items:center;gap:6px}.nb__active-users-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ffffff26;border-radius:9px;font-size:11px;font-weight:600;line-height:1}.nb__active-users-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:#fff;border-radius:6px;box-shadow:0 4px 16px #00000026;overflow:hidden;z-index:200}.nb__active-users-header{padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.nb__active-users-list{max-height:300px;overflow-y:auto}.nb__active-user-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #f3f4f6;transition:background .1s}.nb__active-user-item:last-child{border-bottom:none}.nb__active-user-item:hover{background:#f9fafb}.nb__active-user-name{font-size:13px;font-weight:500;color:#1f2937}.nb__active-user-role{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.toast-container{position:fixed;bottom:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;min-width:280px;max-width:420px;padding:12px 16px;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:500;box-shadow:0 4px 16px #0003;pointer-events:auto;animation:toast-slide-in .3s ease-out}.toast--success{background:#2e7d32}.toast--error{background:#d32f2f}.toast--info{background:#1565c0}.toast__message{flex:1;line-height:1.4}.toast__close{background:none;border:none;color:#fffc;font-size:20px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.toast__close:hover{color:#fff}.toast__action{background:#ffffff2e;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:12px;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:4px;line-height:1;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em;transition:background-color .15s}.toast__action:hover{background:#ffffff52}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@font-face{font-family:Nexa;src:url(/fonts/NexaRegular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1a1a2e;--accent: #e94560;--bg: #f5f5f5;--sidebar-bg: #1a1a2e;--text: #333;--text-light: #888;--white: #ffffff;--border: #ddd;--error: #d32f2f;--success: #2e7d32;--radius: 6px;--shadow: 0 2px 8px rgba(0, 0, 0, .1)}html,body{height:100%;font-family:Nexa,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s,opacity .2s;line-height:1.4}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover:not(:disabled){background:#c73a52}.btn-secondary{background:var(--primary);color:var(--white)}.btn-secondary:hover:not(:disabled){background:#2a2a4a}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:#0000000d}.input{display:block;width:100%;padding:7px 10px;font-size:13px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);transition:border-color .2s;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e9456026}.input::placeholder{color:var(--text-light)}select.input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-fade-in{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-light);font-size:14px;text-align:center}.empty-state__title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:8px}.empty-state__description{max-width:360px;line-height:1.5}:root{--page-padding: 2rem}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){:root{--page-padding: 1rem}.btn,button,a.btn,select.input{min-height:44px}}@media(max-width:480px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=date],input[type=time],input[type=datetime-local],select,textarea,.input{font-size:16px!important}}
