.linijart-spinner{border-radius:50%;border:3px solid transparent;border-top-color:var(--brand-primary);border-right-color:var(--brand-accent);animation:linijart-spin .7s linear infinite;box-shadow:0 0 10px #00c2ff59}.fullscreen-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:transparent;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;z-index:9999;pointer-events:auto}.inDiv-loader{position:relative;display:flex;align-items:center;justify-content:center}@keyframes linijart-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.linijart-spinner{width:28px!important;height:28px!important}}@media(max-width:480px){.linijart-spinner{width:24px!important;height:24px!important}}.trash-spin{animation:trash-rotate .8s linear infinite}@keyframes trash-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.linijart-spinner-v2{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.08);border-top-color:#000;animation:linijart-spin .6s linear infinite,linijart-fade .2s ease-out;box-sizing:border-box}@keyframes linijart-spin{to{transform:rotate(360deg)}}@keyframes linijart-fade{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.no-exist-page{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f8f9fa;color:#343a40;font-size:2rem;font-weight:700}.no-exist-page:before{content:"⚠️";font-size:5rem;margin-bottom:1rem}.sidebar{width:210px;height:100vh;position:sticky;top:0;border-right:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08);background:#18181866;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease,background-color var(--transition-speed),border-color var(--transition-speed)}[data-theme=light] .sidebar{background:#ffffff0d;border-right:1px solid rgba(0,0,0,.08);border-top:1px solid rgba(0,0,0,.08)}.sidebar.collapsed.icon-mode{width:40px;overflow:hidden}.sidebar-top{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:30px;padding:2px 5px}.sidebar.collapsed .sidebar-top{justify-content:center;padding-inline:0}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:25px;cursor:pointer;font-size:18px;color:var(--color-text);-webkit-user-select:none;user-select:none;transition:opacity .2s ease}.sidebar-toggle:hover{opacity:.7}.sidebar-search{flex:1 1 auto;min-width:0}.sidebar-search-field{min-width:0}.sidebar-search input{width:100%;box-sizing:border-box;padding:7px 8px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:#ffffff14;color:var(--color-text);font:inherit}.sidebar-search input::placeholder{color:var(--color-text);opacity:.6}[data-theme=light] .sidebar-search input{border-color:#00000029;background:#0000000d}.sidebar-content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding-top:0}.sidebar-item,.popup-item{color:inherit;text-decoration:none}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 5px;cursor:pointer;color:var(--color-text);transition:opacity .2s ease}.sidebar-item:hover{opacity:.7}.sidebar-item-active,.sidebar-item-keyboard-active{background:transparent;opacity:1;font-weight:600}[data-theme=light] .sidebar-item-active,[data-theme=light] .sidebar-item-keyboard-active{background:transparent}.sidebar.collapsed .sidebar-item-active,.sidebar.collapsed .sidebar-item-keyboard-active{border-left:3px solid var(--color-accent)}.sidebar-children{padding-left:16px}.sidebar-children .sidebar-item{padding-top:8px;padding-bottom:8px}.sidebar-icon{font-size:20px;width:24px;text-align:center}.sidebar.collapsed .sidebar-text{display:none}.sidebar-popup-overlay{position:fixed;inset:0;z-index:9999}.sidebar-popup{background:#1e1e1e;border:1px solid rgba(0,0,0,.14);padding:10px 0;border-radius:2px;width:220px;max-height:calc(100vh - 16px);overflow-y:auto;position:fixed;box-shadow:0 0 20px #0006}[data-theme=light] .sidebar-popup{background:#fff;color:var(--color-text)}.popup-title{font-size:18px;padding:4px 14px 10px;opacity:.9}.popup-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.08)}.popup-item:hover{background:#ffffff0d}.popup-item-active{background:transparent;font-weight:600}.popup-icon{font-size:20px}.popup-text{font-size:15px}.avatar-wrapper{margin-left:auto;position:relative;-webkit-user-select:none;user-select:none}.avatar{width:20px;height:20px;border-radius:50%;background:var(--color-bg-secondary);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.avatar:hover{background:var(--color-bg)}.avatar-emoji{font-size:14px}.user-dropdown-menu{position:absolute;top:30px;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;min-width:160px;padding:6px 0;box-shadow:var(--brand-shadow);z-index:200;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.user-dropdown-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.menu-item{padding:10px 14px;cursor:pointer;font-size:14px;color:var(--color-text)}.menu-item:hover{background:var(--color-bg)}.menu-item.logout{color:#ff4d4d}.notification-wrapper{position:relative;-webkit-user-select:none;user-select:none}.notification-menu{position:absolute;top:30px;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--brand-radius);min-width:200px;padding:6px 0;box-shadow:var(--brand-shadow);z-index:20;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,background-color var(--transition-speed),border-color var(--transition-speed)}.notification-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.notif-item{padding:10px 14px;font-size:14px;color:var(--color-text)}.notif-item:hover{background:var(--brand-primary-dark);color:#fff}.notif-badge{position:absolute;top:-4px;right:-6px;background:var(--brand-gradient);color:#fff;font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 6px #00c2ff73;animation:notif-pop .25s ease}@keyframes notif-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:480px){.notif-badge{width:14px;height:14px;font-size:9px;top:-3px;right:-5px}}.priority-wrapper{position:relative;-webkit-user-select:none;user-select:none}.priority-icon{font-size:18px;line-height:1;cursor:pointer;transition:opacity .2s ease}.priority-icon:hover{opacity:.7}.priority-icon.low{color:#888}.priority-icon.medium{color:#e6c300}.priority-icon.high{color:#ff4d4d}.priority-menu{position:absolute;top:30px;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--brand-radius);min-width:160px;padding:6px 0;box-shadow:var(--brand-shadow);z-index:20;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,background-color var(--transition-speed),border-color var(--transition-speed)}.priority-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.priority-item{padding:10px 14px;font-size:14px;cursor:pointer;color:var(--color-text)}.priority-item:hover{background:var(--brand-primary-dark);color:#fff}.priority-item.low{color:#888}.priority-item.medium{color:#e6c300}.priority-item.high{color:#ff4d4d}.app-shell{display:flex;height:100vh;overflow:hidden}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:30px;display:flex;align-items:center;padding:0 20px;position:sticky;top:0;z-index:50;isolation:isolate;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}[data-theme=light] .topbar{background:#ffffff8c;border-bottom:1px solid rgba(0,0,0,.08)}.topbar-title{font-size:18px;font-weight:600;color:var(--color-text)}.topbar-left{display:flex;align-items:center;gap:20px;flex:1 1 auto;min-width:0;overflow:hidden}.topbar-left>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:20px;flex:0 0 auto;margin-left:auto}.topbar-icons{display:flex;align-items:center;gap:16px}.content{flex:1;min-height:0;overflow-y:auto;padding-bottom:30px}.footer{position:fixed;bottom:0;left:0;width:calc(100% - 240px);height:30px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0 20px;z-index:50}.footer-links{display:flex;gap:20px;margin-left:auto}.main-flex{display:flex;gap:8px;margin-bottom:10px}.editor-area-resizer{z-index:999!important}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background:var(--bg-color);color:var(--text-color)}.login-form{background:var(--card-bg);color:var(--text-color);padding:20px;border-radius:2px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px;animation:slideIn .4s ease-out;border:1px solid var(--border-color)}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.login-form h2{text-align:center;margin-bottom:40px;color:var(--text-color);font-size:28px;font-weight:600}.logo-container{display:flex;justify-content:center;margin-bottom:30px}.company-logo{max-width:120px;max-height:120px;object-fit:contain;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.input-group{margin-bottom:25px;position:relative}.input-icon{display:flex;align-items:center;gap:12px;margin-bottom:8px}.input-icon img{width:24px;height:24px;object-fit:contain;opacity:.7}.input-icon label{font-size:14px;font-weight:500;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px}.login-form .basic-input{width:100%!important;padding:12px 15px!important;border:2px solid var(--border-color)!important;border-radius:2px!important;font-size:14px!important;transition:all .3s ease!important;box-sizing:border-box!important;background:var(--card-bg)!important;color:var(--text-color)!important}.login-form .basic-input:focus{outline:none!important;border-color:var(--accent-color)!important;box-shadow:0 0 0 3px #667eea1a!important}.login-button:hover{transform:translateY(-2px)!important}.login-button:active{transform:translateY(0)!important}.login-footer{display:flex;gap:10px;margin-top:16px}.login-footer-button{flex:1;font-size:12px!important;padding:8px 10px!important}.terms-content{font-size:14px;line-height:1.6;color:var(--text-color);padding:4px 2px}.terms-content p{margin:0 0 10px}.terms-content ul{margin:0 0 12px 20px}.terms-content li{margin-bottom:6px}.terms-content a{color:var(--accent-color);text-decoration:underline}.terms-cancel-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:6px 12px;border-radius:4px}.terms-accept-btn{background:var(--accent-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;box-shadow:0 2px 6px #00000014}.terms-accept-btn:hover{filter:brightness(.95)}@media(max-width:480px){.login-form{padding:40px 25px}.login-form h2{font-size:24px;margin-bottom:30px}.input-group{margin-bottom:20px}.input-icon img{width:20px;height:20px}}.checkin-dashboard{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%;box-sizing:border-box;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ci-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px;flex-wrap:wrap}.ci-header__title{font-size:clamp(1.6rem,5vw,2.6rem);font-weight:800;letter-spacing:.5px}.ci-header__clock{font-size:clamp(1.2rem,4vw,1.8rem);font-variant-numeric:tabular-nums;font-weight:600;opacity:.85}.ci-grid{flex:1;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);align-content:center;padding:8px 0}.ci-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:140px;padding:18px;border:none;border-radius:18px;color:#fff;font-size:clamp(1.1rem,3.5vw,1.5rem);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 6px 16px #0000002e;transition:transform .08s ease,filter .15s ease,box-shadow .15s ease}.ci-btn:active{transform:scale(.97);filter:brightness(.95);box-shadow:0 3px 8px #00000038}.ci-btn__icon{font-size:clamp(2.4rem,9vw,3.6rem);line-height:1}.ci-btn__label{text-align:center;line-height:1.15}.ci-btn--arrival{background:linear-gradient(135deg,#16a34a,#22c55e)}.ci-btn--departure{background:linear-gradient(135deg,#dc2626,#ef4444)}.ci-btn--outing{background:linear-gradient(135deg,#d97706,#f59e0b)}.ci-btn--snack{background:linear-gradient(135deg,#db2777,#ec4899)}.ci-btn--info{background:linear-gradient(135deg,#0891b2,#06b6d4)}.ci-btn--absence{background:linear-gradient(135deg,#6d28d9,#8b5cf6)}.ci-btn--return{background:linear-gradient(135deg,#2563eb,#3b82f6)}.ci-btn--help{background:linear-gradient(135deg,#475569,#64748b)}.ci-footer{text-align:center;padding:14px 4px;font-size:clamp(.9rem,3vw,1.05rem);opacity:.7}.ci-employee{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;margin:4px 0 8px;border-radius:14px;background:var(--color-bg-secondary, #fff);box-shadow:0 2px 10px #0000001f}.ci-employee__name{font-size:1.3rem;font-weight:700}.ci-employee__status{font-size:1rem;font-weight:700;color:#16a34a;text-transform:capitalize}.ci-employee__finish{margin-left:auto;min-height:48px;padding:0 18px;border:none;border-radius:12px;background:#64748b;color:#fff;font-weight:700;cursor:pointer}@media(min-width:768px){.ci-grid{grid-template-columns:repeat(3,1fr);gap:20px}.ci-btn{min-height:200px}}@media(min-width:1100px){.ci-grid{grid-template-columns:repeat(4,1fr)}}@media(max-height:560px){.ci-btn{min-height:110px}.ci-header{padding:8px 4px}}.pinpad-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.pinpad{width:min(420px,100%);background:var(--color-bg-secondary, #fff);color:var(--color-text, #111);border-radius:20px;padding:22px;box-shadow:0 12px 40px #00000059}.pinpad__title{text-align:center;font-size:1.4rem;font-weight:700;margin-bottom:14px}.pinpad__dots{display:flex;justify-content:center;gap:14px;margin-bottom:16px}.pinpad__dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--brand-primary, #00c2ff)}.pinpad__dot.is-filled{background:var(--brand-primary, #00c2ff)}.pinpad__dots.is-error .pinpad__dot{border-color:#dc2626}.pinpad__dots.is-error .pinpad__dot.is-filled{background:#dc2626}.pinpad__error{text-align:center;color:#dc2626;margin-bottom:10px;font-weight:600}.pinpad__keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pinpad__key{min-height:64px;font-size:1.6rem;font-weight:700;border:none;border-radius:14px;background:var(--color-bg, #f0f0f0);color:var(--color-text, #111);cursor:pointer;-webkit-user-select:none;user-select:none}.pinpad__key:active{transform:scale(.96)}.pinpad__key--util{background:#e2e8f0}.pinpad__actions{display:flex;gap:12px;margin-top:16px}.pinpad__cancel,.pinpad__ok{flex:1;min-height:56px;font-size:1.1rem;font-weight:700;border:none;border-radius:14px;cursor:pointer}.pinpad__cancel{background:#e2e8f0;color:#111}.pinpad__ok{background:var(--brand-primary, #00c2ff);color:#fff}.pinpad__ok:disabled{opacity:.5;cursor:not-allowed}.pinpad__candidates{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.pinpad__candidate{min-height:56px;padding:0 16px;font-size:1.15rem;font-weight:700;border:none;border-radius:12px;background:var(--color-bg, #f0f0f0);color:var(--color-text, #111);cursor:pointer;text-align:left}.pinpad__candidate:active{transform:scale(.98)}:root{--z-index-dropdown:9999;--bg:#fff;--text:#1b1b1b;--accent:#ff4500;--secondary:#e0e0e0;--highlight:#00c896;--font-heading:"Bebas Neue",sans-serif;--font-body:"Inter",sans-serif;--bg-color:#fff;--text-color:#111;--accent-color:#646cffaa;--card-radius:2px;--card-shadow:0 4px 12px rgba(0,0,0,.1);--font-family:"Segoe UI",sans-serif;--btn-view-bg:var(--accent-color,#646cffaa);--btn-edit-bg:#4caf50;--btn-delete-bg:#f44336;--btn-text-color:#fff;--bg-light:#fff;--bg-dark:#1e1e1e;--text-light:#000;--text-dark:#f0f0f0;--accent-light:#0078d4;--accent-dark:#00b7c3;--border-light:#ccc;--border-dark:#444;--cld-bg-color:rgba(0,0,0,.03);--bc-color:var(--text-muted,#666);--editor-border:#ccc;--input-bg:#fff;--input-text:#333;--bg-card-header:#ababab;--color-bg-DebounceSelect:#fff;--table-bg:#2995a3;--table-color:#fff;--table-hover-bg:#e4e4e4;--table-hover-color:#000;--table-bg-nth-child:#f7f7f7;--tabs-bg:#f0e9e9;--tab-inactive-bg:#c9c9c9;--tab-active-bg:#2995a3;--tab-bg:#2995a3;--tab-color:#fff;--border-color:#2995a3}.basic-button{background:linear-gradient(90deg,#007bff,#00bfff);box-shadow:0 2px 4px #0000001a;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:background .3s ease,transform .2s ease}.basic-button-small{background:#999;border:none;border-radius:2px;color:#fff;cursor:pointer;flex:1;padding:6px}.basic-button:disabled{background:#ccc;color:#666}.basic-input{background-color:#fff;border:1px solid #ccc;box-sizing:border-box;color:#333;font-size:1rem;font-weight:400;height:34px;outline:none;padding:0 .75rem;transition:border-color .3s ease,box-shadow .2s ease;width:100%}.basic-select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m35 50 35 35 35-35' stroke='%23333' stroke-width='15' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;color:#333;cursor:pointer;font-size:1rem;font-weight:400;height:34px;outline:none;padding:0 .75rem;transition:border-color .3s ease,box-shadow .2s ease;width:100%}.basic-input-dropdown-item{padding:8px;transition:background-color .2s ease}.modal-btn{border:none;border-radius:2px;cursor:pointer;padding:.5rem 1rem}.basic-input::-webkit-search-cancel-button{cursor:pointer}.react-select__menu{z-index:9999}.filter-select.light{border:1px solid #ccc;color:#333}.filter-select.dark{border:1px solid #555;color:#eee}.filters-wrapper.light{color:var(--text-light)}.filters-wrapper.dark{color:var(--text-dark)}.filters-header{flex-wrap:wrap;gap:.5rem;justify-content:flex-start;margin-bottom:10px}.filters-header,.filters-title{align-items:center;display:flex}.filters-title{font-size:20px;font-weight:700}.collapse-toggle,.filter-reset{background-color:var(--accent-light);border:none;border-radius:2px;cursor:pointer;font-weight:700;transition:background-color .2s ease,border-color .2s ease}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding-left:10px}.filters-container>:first-child{margin-left:0}.filter-input,.filter-select{border:1px solid #ccc;border-radius:2px;color:#000;font-size:.95rem;height:auto;line-height:1.5;min-width:180px;padding:.5rem .75rem}.collapse-toggle:focus,.dropdown-toggle:focus,.export-btn:focus,.filter-input:focus,.filter-reset:focus,.filter-select:focus{border-color:#999;outline:none}.filter-select[multiple]{height:100px}.filter-icon{align-items:center;border-radius:2px;cursor:pointer;display:inline-flex;font-size:1.2rem;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.filter-icon:hover{background-color:#0000000d}.filter-multiselect{flex:1;min-width:200px}.filter-date{align-items:center;display:flex;gap:.5rem;position:relative}.date-clear{color:#888;cursor:pointer;font-size:1rem;margin-left:6px;transition:color .2s ease}.date-clear:hover{color:#000}.filter-input-wrapper{align-items:center;display:flex;gap:.5rem;position:relative}.input-clear{color:#888;cursor:pointer;font-size:1rem;margin-left:6px;transition:color .2s ease}.input-clear:hover{color:#000}.filters-actions,.filters-buttons{align-items:center;display:flex;gap:.5rem}.button-group{align-items:center;display:flex;gap:10px}.dropdown-wrapper{display:inline-block;position:relative}.dropdown-toggle{background-color:var(--accent-light);border:none;border-radius:2px;cursor:pointer;font-weight:700;padding:.4rem .8rem;transition:background-color .2s ease}.dropdown-menu{background-color:var(--bg-light);border-radius:2px;left:0;padding:.5rem;position:absolute;top:100%;z-index:1000}.dropdown-item{background:none;border:none;cursor:pointer;display:block;padding:.4rem .6rem;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background-color:#0000000d}.multi-selected-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.tag{background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:2px;font-size:.85rem;padding:2px 6px}.tag button{background:none;border:none;cursor:pointer;margin-left:4px}.basic-input-dropdown-item{cursor:pointer;padding:6px 12px;transition:background .15s}.basic-input-dropdown-item:hover{background:#e6f0fa}.button{align-items:center;border:none;border-radius:2px;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;outline:none;padding:10px 20px;transition:all .2s ease}.button,.button__content{max-width:100%;min-width:0}.button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button:hover{opacity:.9;transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-ok{background-color:#007bff;color:#fff}.btn-ok:hover:not(:disabled){background-color:#0056b3}.btn-cancel{background-color:#dc3545;color:#fff}.btn-cancel:hover:not(:disabled){background-color:#c82333}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover:not(:disabled){background-color:#c82333}.btn-custom{background-color:#e7e7e7;color:#000}.btn-custom:hover:not(:disabled){background-color:#b8b8b8}.button--float{border-radius:2px;box-shadow:0 6px 14px #0000001f;position:fixed;z-index:9999}.button-confirm-wrapper{display:inline-block;position:relative}.button-confirm-popover{background:#fff;border:1px solid #e6e6e6;border-radius:2px;bottom:calc(100% + 6px);box-shadow:0 8px 18px #0000001f;display:flex;flex-direction:column;gap:8px;min-width:160px;padding:8px 10px;position:absolute;right:0;top:auto;z-index:10000}.button-confirm-text{color:#222;font-size:12px}.button-confirm-actions{display:flex;gap:6px;justify-content:flex-end}.button-confirm-btn{background:#f5f5f5;border:1px solid #d0d0d0;border-radius:2px;color:#111;cursor:pointer;font-size:12px;padding:4px 8px}.button-confirm-btn--danger{background:#dc3545;border-color:#dc3545;color:#fff}.switch-container{align-items:center;display:inline-flex;gap:10px}.switch{cursor:pointer;display:inline-block;position:relative}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;inset:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;border-radius:50%;content:""}.switch-medium{height:24px;width:50px}.switch-medium .slider:before{bottom:3px;height:18px;left:3px;width:18px}.switch-medium input:checked+.slider:before{transform:translate(26px)}.switch-small{height:20px;width:40px}.switch-small .slider:before{bottom:3px;height:14px;left:3px;width:14px}.switch-small input:checked+.slider:before{transform:translate(20px)}.switch-large{height:30px;width:60px}.switch-large .slider:before{bottom:3px;height:24px;left:3px;width:24px}.switch-large input:checked+.slider:before{transform:translate(30px)}.slider.checked{background-color:#007bff}.switch-disabled{cursor:not-allowed;opacity:.5}.switch-label{color:#333;font-size:14px;-webkit-user-select:none;user-select:none}.trotl-upload{font-family:inherit}.upload-dropzone{align-items:center;background:var(--trotl-upload-bg,#fafafa);border:2px dashed var(--trotl-border,#d0d7de);border-radius:2px;cursor:pointer;display:flex;justify-content:center;padding:18px;transition:background .15s ease,border-color .15s ease}.upload-dropzone.drag-over{background:var(--trotl-upload-drag-bg,#eef6ff);border-color:var(--trotl-primary,#1e88e5)}.upload-inner{align-items:center;display:flex;gap:10px;text-align:center}.upload-icon{font-size:20px}.upload-text{color:var(--trotl-text,#333)}.upload-browse{background:var(--trotl-primary,#1e88e5);border:none;border-radius:2px;color:#fff;margin-left:8px;padding:6px 10px}.upload-list{list-style:none;margin:8px 0 0;padding:0}.upload-item{background:transparent;border-radius:2px;display:flex;justify-content:space-between;padding:6px 8px}.upload-name{color:var(--trotl-text,#222)}.upload-size{color:#666;font-size:12px}.upload-actions{align-items:center;display:inline-flex;gap:8px}.upload-download,.upload-preview,.upload-remove{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:2px}.upload-remove{color:#d9534f}.upload-download{color:#0275d8}.upload-preview{color:#5bc0de}.upload-download:hover,.upload-preview:hover,.upload-remove:hover{opacity:.9}.upload-custom-text{color:#555;font-size:13px;margin-top:8px}.upload-dropzone.disabled{cursor:not-allowed;opacity:.6}.upload-download[disabled],.upload-preview[disabled],.upload-remove[disabled]{cursor:not-allowed;opacity:.5}.editable-rows{background:#fff;border:1px solid #eee;border-radius:2px;padding:12px}.row{align-items:center;display:flex;gap:8px}.drag-handle{background:#f5f5f5;border-radius:2px;padding:6px 8px}.basic-input{border:1px solid #ddd;min-width:80px;padding:6px 8px}.basic-button,.basic-input{border-radius:2px;height:32px}.basic-button{background:#1677ff;border:none;color:#fff;cursor:pointer;padding:6px 10px}.basic-button.remove{background:#ff4d4d}.basic-button:disabled{cursor:not-allowed;opacity:.6}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app,body{min-height:100vh}.app{align-items:center;display:flex;justify-content:center;padding:20px}.demo-container{background:#fff;border-radius:2px;box-shadow:0 20px 60px #0000004d;max-width:800px;padding:40px;width:100%}h1{color:#333;font-size:32px;margin-bottom:30px;text-align:center}h2{color:#555;font-size:20px;margin-bottom:15px}h3{color:#666;font-size:18px;margin-bottom:10px}.control-section{margin-bottom:30px}.position-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.position-btn{background:#fff;border:2px solid #e5e7eb;border-radius:2px;color:#555;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.position-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.position-btn.active{background:#667eea;border-color:#667eea;color:#fff}.button-group{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.btn{border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:14px 24px;text-transform:uppercase;transition:all .2s}.btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-success{background:#10b981}.btn-success:hover{background:#059669}.btn-error{background:#ef4444}.btn-error:hover{background:#dc2626}.btn-warning{background:#f59e0b}.btn-warning:hover{background:#d97706}.btn-info{background:#3b82f6}.btn-info:hover{background:#2563eb}.info-section{background:#f9fafb;border-radius:2px;margin-top:20px;padding:20px}.info-section ul{color:#666;margin-left:20px}.info-section li{line-height:1.6;margin-bottom:8px}@media(max-width:640px){.demo-container{padding:20px}h1{font-size:24px}.position-grid{grid-template-columns:repeat(2,1fr)}.button-group{grid-template-columns:1fr}}.toast-container{display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none;position:fixed;z-index:9999}.toast-container-top-left{left:20px;top:20px}.toast-container-top-center{left:50%;top:20px;transform:translate(-50%)}.toast-container-top-right{right:20px;top:20px}.toast-container-bottom-left{bottom:20px;left:20px}.toast-container-bottom-center{bottom:20px;left:50%;transform:translate(-50%)}.toast-container-bottom-right{bottom:20px;right:20px}.toast{background:#fff;border-left:4px solid;border-radius:2px;box-shadow:0 4px 12px #00000026;cursor:pointer;max-width:400px;min-width:300px;padding:10px;pointer-events:auto;transition:all .3s ease}.toast:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.toast-content{align-items:center;display:flex;gap:12px}.toast-icon{flex-shrink:0;font-size:20px;font-weight:700}.toast-message{color:#333;flex:1;font-size:14px}.toast-close{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;padding:0;transition:color .2s;width:24px}.toast-close:hover{color:#333}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-loading{border-left-color:#8b5cf6}.toast-loading .toast-icon{color:#8b5cf6}.toast-container-top-center .toast-enter,.toast-container-top-left .toast-enter,.toast-container-top-right .toast-enter{animation:slideInTop .3s ease forwards}.toast-container-top-center .toast-exit,.toast-container-top-left .toast-exit,.toast-container-top-right .toast-exit{animation:slideOutTop .3s ease forwards}.toast-container-bottom-center .toast-enter,.toast-container-bottom-left .toast-enter,.toast-container-bottom-right .toast-enter{animation:slideInBottom .3s ease forwards}.toast-container-bottom-center .toast-exit,.toast-container-bottom-left .toast-exit,.toast-container-bottom-right .toast-exit{animation:slideOutBottom .3s ease forwards}@keyframes slideInTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutBottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}:root{--overlay: rgba(0,0,0,.35);--overlay-strong: rgba(0,0,0,.6);--bg: #ffffff;--header-bg: #f5f5f5;--header-color: #000;--modal-z: 60000}[data-theme=light]{--overlay: rgba(0,0,0,.35);--overlay-strong: rgba(0,0,0,.6);--bg: #ffffff;--header-bg: #f5f5f5;--header-color: #000}[data-theme=dark]{--overlay: rgba(0,0,0,.6);--overlay-strong: rgba(0,0,0,.85);--bg: #2c2c2c;--header-bg: #3a3a3a;--header-color: #f1f1f1}.app-root{max-width:900px;margin:0 auto}button{cursor:pointer}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:40px;z-index:60000;opacity:0;transition:opacity .2s ease;pointer-events:none}.modal-overlay.visible{opacity:1;pointer-events:auto}.modal-overlay-fullscreen{padding:0}.modal-overlay.drawer-overlay{padding:0;background:var(--overlay-strong)}.modal{z-index:60001;background:var(--bg);min-width:300px;border-radius:2px;box-shadow:0 10px 30px #0000004d;overflow:hidden;display:flex;flex-direction:column;resize:both;max-width:90vw;max-height:90vh;position:absolute;opacity:0;transform:translateY(-20px) scale(.85) rotate(-4deg);transition:opacity .25s ease,transform .25s ease}.modal.overflowing:after{content:"↘";position:absolute;right:8px;bottom:8px;font-size:.75rem;color:var(--header-color);cursor:se-resize;pointer-events:none}.modal.visible{opacity:1;transform:translateY(0) scale(1) rotate(0)}.modal-fullscreen{width:100%!important;height:100%!important;min-width:0;max-width:none;max-height:none;border-radius:0;resize:none}.drawer{position:absolute;z-index:60001;background:var(--bg);min-width:300px;border-radius:2px;box-shadow:0 10px 30px #0000004d;overflow:hidden;max-width:100%;max-height:100%;opacity:0;transform:translate(0);transition:opacity var(--drawer-transition, .45s) ease,transform var(--drawer-transition, .45s) ease}.drawer.horizontal{height:100%}.drawer.vertical{width:100%}.drawer.horizontal.side-left{transform:translate(-100%)}.drawer.horizontal.side-right{transform:translate(100%)}.drawer.vertical.side-top{transform:translateY(-100%)}.drawer.vertical.side-bottom{transform:translateY(100%)}.drawer.visible{opacity:1}.drawer.visible.horizontal.side-left,.drawer.visible.horizontal.side-right{transform:translate(0)}.drawer.visible.vertical.side-top,.drawer.visible.vertical.side-bottom{transform:translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--header-bg);color:var(--header-color);cursor:grab}.modal-title{font-weight:600}.modal-actions{display:flex;align-items:center;gap:2px}.modal-fullscreen-toggle,.modal-close{border:none;background:transparent;color:inherit;padding:4px 8px}.modal-fullscreen-toggle svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.modal-close{font-size:18px}.modal-body{padding:12px;max-height:80vh;overflow:auto;flex:1 1 auto}.modal-fullscreen .modal-body{max-height:none}@media(max-width:480px){.modal{min-width:260px}}:root{--z-index-dropdown:9999;--bg:#fff;--text:#1b1b1b;--accent:#ff4500;--secondary:#e0e0e0;--highlight:#00c896;--font-heading:"Bebas Neue",sans-serif;--font-body:"Inter",sans-serif;--bg-color:#fff;--text-color:#111;--accent-color:#646cffaa;--card-radius:12px;--card-shadow:0 4px 12px rgba(0,0,0,.1);--font-family:"Segoe UI",sans-serif;--btn-view-bg:var(--accent-color,#646cffaa);--btn-edit-bg:#4caf50;--btn-delete-bg:#f44336;--btn-text-color:#fff;--bg-light:#fff;--bg-dark:#1e1e1e;--text-light:#000;--text-dark:#f0f0f0;--accent-light:#0078d4;--accent-dark:#00b7c3;--border-light:#ccc;--border-dark:#444;--cld-bg-color:rgba(0,0,0,.03);--bc-color:var(--text-muted,#666);--editor-border:#ccc;--input-bg:#fff;--input-text:#333;--bg-card-header:#ababab;--color-bg-DebounceSelect:#fff;--table-bg:#93a4a7;--table-color:#fff;--table-hover-bg:#e4e4e4;--table-hover-color:#000;--table-bg-nth-child:#f7f7f7;--tabs-bg:#f0e9e9;--tab-inactive-bg:#c9c9c9;--tab-active-bg:#2995a3;--tab-bg:#2995a3;--tab-color:#fff;--border-color:#2995a3}:root .table-cell-input{border:1px solid var(--border-light,#ccc);padding:2px 4px}:root .table-cell-input:focus{border-color:gray;outline:none}.basic-select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m35 50 35 35 35-35' stroke='%23333' stroke-width='15' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;color:#333;cursor:pointer;font-size:1rem;font-weight:400;height:34px;outline:none;padding:0 .75rem;transition:border-color .3s ease,box-shadow .2s ease;width:100%}.table-container{border-radius:2px;display:flex;flex-direction:column;height:100%;min-height:0;overflow-x:auto;overflow-y:hidden;width:100%}.table-header{background:var(--table-bg);color:var(--table-color);font-weight:700;min-width:max-content;transition:margin-right .2s ease}.header-row .table-cell{position:relative}.column-resizer{bottom:0;cursor:col-resize;position:absolute;right:0;top:0;width:10px;z-index:2}.column-resizer:hover{background:#0000000d}.header-row{background:var(--table-bg);color:var(--table-color)}.main-table{flex:1 1 auto;min-height:0;overflow:hidden;width:100%}.virtual-table{display:flex;flex-direction:column;min-width:0}.table-row{align-items:center;border-bottom:1px solid #d0d0d0;box-sizing:border-box;display:flex;overflow:hidden;width:100%}.table-row.group-row{background-color:#f5f5f5;border-bottom:2px solid #999;font-weight:700}.group-header{flex:1 1 0%;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell{border:1px solid #e0e0e0;flex:1 1 0%;max-width:100%;min-width:0;overflow:hidden;padding:8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.group-row .table-cell{border:none}.action-cell{overflow:hidden}.table-cell.action-cell{align-items:center;border:none;box-sizing:border-box;flex-wrap:nowrap;padding:4px}.row-main{display:flex;flex:1;min-width:0;overflow:hidden}:root{--z-index-dropdown:9999;--bg:#fff;--text:#1b1b1b;--accent:#ff4500;--secondary:#e0e0e0;--highlight:#00c896;--font-heading:"Bebas Neue",sans-serif;--font-body:"Inter",sans-serif;--bg-color:#fff;--text-color:#111;--accent-color:#646cffaa;--card-radius:12px;--card-shadow:0 4px 12px rgba(0,0,0,.1);--font-family:"Segoe UI",sans-serif;--btn-view-bg:var(--accent-color,#646cffaa);--btn-edit-bg:#4caf50;--btn-delete-bg:#f44336;--btn-text-color:#fff;--bg-light:#fff;--bg-dark:#1e1e1e;--text-light:#000;--text-dark:#f0f0f0;--accent-light:#0078d4;--accent-dark:#00b7c3;--border-light:#ccc;--border-dark:#444;--cld-bg-color:rgba(0,0,0,.03);--bc-color:var(--text-muted,#666);--editor-border:#ccc;--input-bg:#fff;--input-text:#333;--bg-card-header:#ababab;--color-bg-DebounceSelect:#fff;--table-bg:#2995a3;--table-color:#fff;--table-hover-bg:#e4e4e4;--table-hover-color:#000;--table-bg-nth-child:#f7f7f7;--tabs-bg:#f0e9e9;--tab-inactive-bg:#c9c9c9;--tab-active-bg:#2995a3;--tab-bg:#2995a3;--tab-color:#fff;--border-color:#2995a3}[data-theme=dark]{--tabs-bg:#1b1b1b;--tab-inactive-bg:#383838;--tab-bg:#2995a3;--tab-color:#fff;--bg:#1b1b1b;--text:#e0e0e0;--accent:#ff4500;--secondary:#333;--highlight:#00c896;--bg-color:#111;--text-color:#f5f5f5;--accent-color:#61dafbaa;--btn-view-bg:var(--accent-color,#61dafbaa);--btn-edit-bg:#81c784;--btn-delete-bg:#e57373;--btn-text-color:#fff;--cld-bg-color:hsla(0,0%,56%,.04);--bc-color:red;--bc-bg:#1b1b1b;--editor-border:#555;--input-bg:#222;--input-text:#eee;--color-bg-DebounceSelect:#1b1b1b;--table-hover-bg:#d03e1f;--table-hover-color:#fff;--table-bg-nth-child:#363636}#root,.app-container,body,html{display:flex;flex-direction:column;height:100%;margin:0;overflow:hidden}.nav-button{background:#f5f5f5;border:none;border-radius:2px;box-shadow:0 1px 2px #0000000a;color:#333;cursor:pointer;font-family:inherit;font-size:15px;font-weight:500;margin:0 2px;outline:none;padding:6px 14px;transition:background .18s,color .18s,box-shadow .18s}.nav-button:hover:not(:disabled){background:#2196f3;color:#fff}.nav-button:active:not(:disabled){background:#1976d2;color:#fff}.nav-button:disabled{background:#e0e0e0;color:#aaa;cursor:not-allowed;opacity:.7}.calendar{display:flex;flex:1;flex-direction:column;height:100%;padding:10px}.calendar-view-title{background-color:#fff;border-bottom:2px solid #ccc;flex:0 0 auto;font-weight:700;padding:.5rem;position:relative;z-index:1}.calendar-content{flex:1;min-height:0;overflow-x:auto;overflow-y:auto}.calendar-nav{align-items:center;background-color:#fff;border-bottom:2px solid #ccc;box-sizing:border-box;display:flex;flex:0 0 auto;font-weight:700;gap:.5rem;padding:.5rem;position:sticky;top:0;z-index:20}.grid{display:grid;gap:0;grid-template-columns:repeat(7,1fr)}.cell{border:1px solid #ccc;min-height:8em;overflow:visible;padding:.5rem;position:relative}.cell.today{background:#e0dcb6;font-weight:700}.cell.today,.day-view .today{background:#fafafa;font-family:Segoe UI,sans-serif;font-weight:700}.header{font-weight:700;text-align:center}.month-view{display:flex;flex-direction:column;min-height:100%}.month-view .grid{display:grid;gap:0;grid-auto-columns:auto;grid-auto-flow:row}.month-view .week-row{flex:0 0 auto}.month-view .cell{box-sizing:border-box;min-height:120px}.weeknum{background:#f0f0f0;border-right:2px solid #ccc;font-weight:700;left:0;position:sticky;text-align:center;top:0;z-index:60}.month-view .week-header{background:#fff;border-bottom:1px solid #ccc;position:sticky;top:0;z-index:10}.month-view .week-header .header{border-bottom:2px solid #ccc;padding:.5rem}.event{background:#2196f3;border-radius:4px;color:#fff;font-size:.8rem;height:auto;margin-bottom:5px;padding:4px 6px;position:relative}.event:hover{box-shadow:0 4px 8px #0000004d;transform:scale(1.02);z-index:10}.event.multi-day{background:#4caf50;border-radius:4px;color:#fff;display:inline-block;font-size:.8rem;min-width:100%;padding:4px 6px;position:relative;width:100%}.cell.drag-over{background:#e3f2fd;outline:2px dashed #2196f3}.resize-handle{background:transparent;cursor:ns-resize;height:6px;left:0;position:absolute;right:0;z-index:2}.resize-handle:hover{background:#2196f34d}.resize-handle.top{top:0}.resize-handle.bottom{bottom:0}.day-grid{background:#fff;border-left:1px solid #ddd;border-top:1px solid #ddd;overflow-y:auto;padding-bottom:20px}.day-grid,.hour-column{position:relative}.hour-label{border-bottom:1px solid #eee;box-sizing:border-box;color:#666;font-size:12px;height:60px;padding:4px 6px}.event-column{background:#fff;position:relative}.cell.drop-target{background-color:#e3f2fd;outline:2px dashed #2196f3;transition:background-color .2s ease,outline .2s ease}.cell.drop-target:hover{background-color:#bbdefb}.snap-indicator{background:#2196f3;box-shadow:0 0 4px #2196f399;height:2px;opacity:.7;pointer-events:none;transition:top .05s ease}.calendar-event{transition:transform .1s ease,box-shadow .2s ease}.calendar-event:hover{box-shadow:0 4px 8px #0000004d;transform:scale(1.02);z-index:10}.popup-overlay{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.popup{background:#fff;border-radius:2px;box-shadow:0 4px 12px #00000040;padding:10px;position:absolute;width:auto;z-index:1000}.popup h3{color:#333;font-size:18px;margin-bottom:12px;margin-top:0}.popup label{color:#555;display:block;font-size:13px;margin-bottom:10px}.popup input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:13px;margin-top:4px;padding:6px 8px;width:100%}.popup input:focus{border-color:#2196f3;box-shadow:0 0 4px #2196f366;outline:none}.popup-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.popup-actions button{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s ease}.popup-actions button:first-child{background:#2196f3;color:#fff}.popup-actions button:first-child:hover{background:#1976d2}.popup-actions button:last-child{background:#eee;color:#333}.popup-actions button:last-child:hover{background:#ddd}.popup-title{font-size:18px;font-weight:700;margin-bottom:12px}.popup-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-top:10px;padding:5px;transition:all .2s ease}.popup-btn:hover{background-color:#e0e0e0;transform:scale(1.05)}@keyframes popup-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}body{background:var(--bg-color);color:var(--text-color);margin:0;transition:background .3s ease,color .3s ease}.header-content-search{bottom:35px;left:2px;position:fixed;width:200px;z-index:10000}.body-content{box-sizing:border-box;inset:0;overflow-y:auto;padding:10px;position:absolute}.filters{top:10px}.fieldsInline{align-items:center;display:flex;gap:10px;justify-content:space-between}.left{flex:1}.right{flex:none;margin-left:auto}.spinnerOverlay{align-items:center;background:var(--overlay-bg);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:999}.spinnerOver{animation:spin 1s linear infinite;border-top:4px solid var(--spinner-border);border:4px solid var(--spinner-border);border-radius:50%;border-top-color:var(--spinner-top);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.layout-container{box-sizing:border-box;display:flex;flex-direction:column}.scroll-section{flex:1;overflow-y:auto}.first-scroll{max-height:40vh}.basic-button{background:linear-gradient(90deg,#007bff,#00bfff);border:none;box-shadow:0 2px 4px #0000001a;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:background .3s ease,transform .2s ease}.basic-button,.basic-button-small{border-radius:2px;color:#fff;cursor:pointer}.basic-button-small{background:#999;border:none;flex:1;padding:6px}.confirm{background:red}.basic-button-small:hover,.basic-button:hover{background:linear-gradient(90deg,#0056b3,#09c);transform:translateY(-1px)}.basic-button:active{box-shadow:inset 0 2px 4px #0003;transform:translateY(0)}.basic-button:disabled{background:#ccc;color:#666;cursor:not-allowed}.basic-input{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;color:#333;font-size:1rem;font-weight:400;height:34px;outline:none;padding:0 .75rem;transition:border-color .3s ease,box-shadow .2s ease;width:100%}.basic-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.basic-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.basic-select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m35 50 35 35 35-35' stroke='%23333' stroke-width='15' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;color:#333;cursor:pointer;font-size:1rem;font-weight:400;height:34px;outline:none;padding:0 .75rem;transition:border-color .3s ease,box-shadow .2s ease;width:100%}.basic-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.basic-select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.basic-checkbox{accent-color:#007bff;cursor:pointer;height:18px;margin:0;transition:transform .2s ease;width:18px}.basic-checkbox:focus{outline:none;transform:scale(1.1)}.basic-checkbox:disabled{accent-color:#ccc;cursor:not-allowed}.basic-checkbox-label{align-items:center;display:flex;font-size:1rem;gap:.5rem;height:34px}.basic-input-dropdown-menu{background-color:var(--color-bg-DebounceSelect);border:1px solid var(--color-border);border-radius:2px;box-shadow:0 2px 6px #0000001a;box-sizing:border-box;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;width:100%;z-index:var(--z-index-dropdown)}.basic-input-dropdown-item{cursor:pointer;padding:8px;transition:background-color .2s ease}.loading,.no-results-dropdown-item{color:var(--color-loading);font-style:italic;padding:8px}.modal-overlay{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999}.modal-box{background:var(--bg);border-radius:2px;box-shadow:0 4px 12px #0003;max-height:90vh;max-width:400px;max-width:90vw;overflow:auto;padding:1.5rem;position:relative;resize:both;width:100%}.modal-box.overflowing:after{bottom:8px;color:#888;content:"↘";cursor:se-resize;font-size:.75rem;pointer-events:none;position:absolute;right:8px}.modal-title{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.modal-content{margin-bottom:1.5rem;max-height:80vh;overflow:auto}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.modal-btn{border:none;border-radius:4px;cursor:pointer;padding:.5rem 1rem}.modal-btn.cancel{background-color:#ccc}.modal-btn.confirm{background-color:var(--accent-light);font-weight:700}.small-button-icon{align-items:center;background:#ffffff4d;border:none;border-radius:2;color:#fff;cursor:pointer;display:flex;font-weight:700;height:22;justify-content:center;padding:5;width:26}.event-content{cursor:help}.table-container{border-radius:2px;display:flex;flex-direction:column;width:100%}.table-header{font-weight:700;transition:margin-right .2s ease}.header-row,.table-header{background:var(--table-bg);color:var(--table-color)}.table-header.scroll-adjust{margin-right:15px}.main-table{height:calc(100vh - 250px);width:100%}.virtual-table{display:flex;flex-direction:column}.table-row{display:flex}.table-row:nth-child(2n){background-color:var(--table-bg-nth-child)}.virtual-table .table-row:not(:first-child):hover{background-color:var(--table-hover-bg);color:var(--table-hover-color);cursor:pointer}.table-cell{border:1px solid #e0e0e0;flex:1;overflow:hidden;padding:8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.checkbox-cell,.key-cell{flex:0 0 40px;text-align:center}.action-cell{flex:0 0 200px}.action-cell,.table-cell.action-cell{display:flex;gap:4px;justify-content:center}.table-cell.action-cell{align-items:center;flex-wrap:wrap;padding:4px}.action-btn-table{border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:12px;height:24px;line-height:1;padding:2px 6px;transition:background-color .2s ease;white-space:nowrap}.action-btn:hover{opacity:.9}.table-row:hover{background-color:var(--table-hover-bg,#e6f0ff);color:var(--table-hover-color,#000);cursor:pointer;transition:background-color .2s ease,color .2s ease}.highlight{background-color:#ff0;font-weight:700}.week-view{display:flex;flex-direction:column;min-height:100%}.week-view>.calendar-view-title{flex:0 0 auto;position:relative;top:auto;z-index:2}.week-hour-table{display:flex;flex:0 0 auto;flex-direction:column;min-width:100%}.week-hour-header-row{background:#fff;border-bottom:1px solid #ccc;display:grid;grid-template-columns:60px repeat(7,1fr);position:sticky;top:0;z-index:3}.week-hour-rail-header{grid-column:1}.week-hour-day-head{border-bottom:1px solid #eee;color:#555;cursor:pointer;font-size:12px;font-weight:600;padding:4px 6px;-webkit-user-select:none;user-select:none}.week-hour-day-head.today{background:#e0dcb6;font-weight:700}.week-hour-grid{background:#fff;border-left:1px solid #ddd;border-top:1px solid #ddd;display:grid;grid-template-columns:60px repeat(7,1fr);height:1440px}.week-hour-grid,.week-hour-rail{border-right:1px solid #ddd;position:relative}.week-hour-rail{background:#fafafa;width:60px}.week-hour-day{overflow:visible;position:relative}.week-hour-gridline{background:#0000000d;height:1px;left:0;pointer-events:none;position:absolute;right:0}.pdf-export-field,.pdf-export-fieldset{display:flex;flex-direction:column;gap:.4rem;margin:0 0 1rem}.pdf-export-field>span,.pdf-export-fieldset legend{font-size:.85rem;font-weight:600}.pdf-export-field input[type=date],.pdf-export-field input[type=month],.pdf-export-field select{background:#fff;border:1px solid #cbd5e1;border-radius:3px;box-sizing:border-box;color:#172033;padding:.5rem;width:100%}.pdf-export-fieldset{border:1px solid #cbd5e1;border-radius:3px;padding:.7rem .8rem}.pdf-export-fieldset label{align-items:center;display:flex;font-size:.9rem;gap:.45rem}.pdf-export-help{color:#64748b;font-size:.82rem;margin:0 0 1rem}.main .footer{position:fixed;bottom:0;left:210px;width:calc(100% - 240px);height:30px;display:flex;align-items:center;justify-content:center;padding:0 20px;z-index:50;background:#18181866;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);transition:left .25s ease,width .25s ease,background-color var(--transition-speed),border-color var(--transition-speed),color var(--transition-speed)}[data-theme=light] .main .footer{background:#ffffff8c;border-top:1px solid rgba(0,0,0,.08)}.footer-center{flex:1;text-align:center;font-size:14px;color:var(--color-text)}.footer-links{display:flex;gap:20px}.footer-link{font-size:14px;color:var(--brand-primary);cursor:pointer;transition:opacity .2s ease}.footer-link:hover{opacity:.7}.sidebar.collapsed.icon-mode~.main .footer,.sidebar.collapsed~.main .footer{left:40px;width:calc(100% - 40px)}@media(max-width:768px){.main .footer{left:0;width:100%;height:36px;padding:0 14px}.footer-links{gap:14px}.footer-link,.footer-center{font-size:13px}}@media(max-width:480px){.main .footer{left:0;width:100%;height:34px;padding:0 10px}.footer-links{gap:10px}.footer-link,.footer-center{font-size:12px}}.table-page{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0}.inline-section-table{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;width:100%}.table-container{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden}.table-page>.table-container{flex:1 1 0;height:auto;min-height:0}.table-header{flex:0 0 auto;position:sticky;top:0;z-index:10}.main-table{flex:1 1 0;min-height:0;width:100%;height:auto!important;overflow:hidden}html,body{margin:0;padding:0;height:100%}:root{--transition-speed: .25s;--sidebar-width: 240px;--sidebar-width-collapsed: 40px;--brand-primary: #00c2ff;--brand-primary-dark: #0095c2;--brand-accent: #7df0ff;--brand-gradient: linear-gradient(135deg, #00c2ff, #7df0ff);--brand-radius: 6px;--brand-shadow: 0 4px 14px rgba(0, 194, 255, .25);--color-bg: #f5f5f5;--color-bg-secondary: #ffffff;--color-text: #111;--color-text-secondary: #333;--color-border: #ddd;--color-accent: var(--brand-primary);--sidebar-bg: #ffffff;--sidebar-border: #e5e5e5;--topbar-bg: #ffffff;--topbar-border: #e5e5e5}[data-theme=dark]{--color-bg: #0f0f0f;--color-bg-secondary: #181818;--color-text: #eee;--color-text-secondary: #bbb;--color-border: #222;--color-accent: var(--brand-primary);--sidebar-bg: #111;--sidebar-border: #222;--topbar-bg: #181818;--topbar-border: #222}html,body{margin:0;padding:0;height:100%;background:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}.content{color:var(--color-text);transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}.avatar:hover{background:var(--color-bg);box-shadow:0 0 8px var(--brand-primary)}.avatar-menu{border-radius:var(--brand-radius);box-shadow:var(--brand-shadow)}.menu-item:hover{background:var(--brand-primary-dark);color:#fff}input[type=button],input[type=submit]{border-radius:var(--brand-radius);border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;transition:background .2s ease,border-color .2s ease}button:hover{background:var(--brand-primary-dark);border-color:var(--brand-primary-dark)}.brand-glow{background:var(--brand-gradient);box-shadow:0 0 12px #00c2ff73}.button{border-radius:5px}
