:root{--app-background-color:#333;--app-main-color:#337ab7;--app-sidebar-black:#222d32;--app-sidebar-bg:#010a0f;--app-sidebar-menu-bg:#07161e;--app-text-primary:#374767;--app-text-secondary:#666;--app-text-muted:#9a9a9a;--app-text-dark:#222;--app-text-white:#fff;--app-text-black:#000;--app-text-google:#3c4043;--app-bg-body:#ececec;--app-bg-content:#ecedef;--app-bg-footer:#dedede;--app-bg-white:#fff;--app-bg-light:#f7f9fa;--app-bg-hover:#f8f9fa;--app-bg-active:#f1f3f4;--app-bg-login-placeholder:#2b2620;--app-surface-cyan:#e8f1f3;--app-surface-cyan-soft:#e8f4f8;--app-surface-slate:#e7ecf1;--app-blue:#007bff;--app-blue-dark:#0056b3;--app-green:#28a745;--app-green-dark:#1e7e34;--app-red:#dc3545;--app-border-color:#e4e5e7;--app-border-light:#e1e6ef;--app-border-gray:#ddd;--app-border-dark:#d2d6de;--app-border-hover:#c8ccd0;--app-border-focus:#abcc00;--app-color-green:#50ab20;--app-color-success:#3c990b;--app-color-red:#e5343d;--app-color-danger:#bd000a;--app-color-violet:#8e23e0;--app-color-gray:#9a9a9a;--app-color-yellow:#ffb61e;--app-color-warning:#efa200;--app-color-info:#62d0f1;--app-color-primary:#428bca;--app-color-purple:#5b69bc;--app-color-pink:#ff8acc;--app-color-inverse:#3b3e47;--app-error-primary:#dc3545;--app-error-dark:#c53030;--app-error-bg:#fff5f5;--app-error-border:#feb2b2;--app-header-bg:#2a3f54;--app-overlay-bg:rgba(0,0,0,.4);--app-overlay-background:#000001;--app-color-phase-normal:#e8f1f3;--app-color-phase-accomp:#f0fff0;--app-color-phase-licence:#dbb8d9;--app-color-border-dark-quote:#3c4145;--app-color-border-light-quote:#a4a6a7;--app-color-success-quote:#16ff4e;--app-color-bg-light-quote:#eee;--app-color-highlight:#fafad2;--app-color-tomato:tomato;--bill-primary-color:#007bff;--bill-primary-dark:#0056b3;--bill-success-color:#40a745;--bill-success-light:#94d3a2;--bill-danger-color:#dc3545;--bill-danger-light:#f1aeb5;--bill-gray-600:#6c757d;--bill-gray-700:#495057;--bill-gray-800:#1a1a1a;--bill-gray-100:#f8f9fa;--bill-gray-200:#e9ecef;--bill-gray-300:#dee2e6;--bill-gray-400:#f1f3f5;--bill-gray-500:#e3e6f0;--bill-white:#fff;--bill-black:#000;--bill-selected-row-bg:linear-gradient(90deg,#e7f3ff 0%,#f0f8ff);--bill-selected-row-hover-bg:linear-gradient(90deg,#d4e9ff 0%,#e7f3ff);--bill-accent-blue:#007bff;--bill-accent-teal:#17a2b8;--tree-white:#fff;--tree-border-color:#ccc;--tree-border-color-hover:#999;--tree-text-color:#666;--tree-text-color-dark:#333;--tree-text-color-medium:#555;--tree-border-light:#eee;--tree-bg-light:#f8f9fa;--tree-bg-hover:#f5f5f5;--tree-bg-hover-close:#e0e0e0;--tree-primary-color:#1976d2;--tree-primary-bg:#e3f2fd;--tree-primary-bg-light:#f0f7ff;--tree-primary-bg-hover:#d0e7ff;--tree-profile-hover:#e8f5e9;--tree-border-recent:#e0e0e0;--tree-badge-color:#ff9800;--tree-error-color:#d32f2f;--tree-icon-color:#999;--player-panel-bg-color:#f5f5f5;--player-timer-color:#337ab7;--player-text-color:#666;--player-active-color:#5cb85c;--pdraft-warning-border-color:#f0ad4e;--pdraft-warning-bg-color:#fcf8e3;--pdraft-editing-bg-color:#fff3cd}[data-bs-theme=dark]{--app-bg-body:#16191c;--app-bg-content:#16191c;--app-bg-footer:#1a1d20;--app-bg-white:#212529;--app-bg-light:#2b3035;--app-bg-hover:#2b3035;--app-bg-active:#343a40;--app-surface-cyan:#1c2a2e;--app-surface-cyan-soft:#18272d;--app-surface-slate:#242a33;--app-text-primary:#dee2e6;--app-text-secondary:#adb5bd;--app-text-muted:#9aa1a9;--app-text-dark:#e9ecef;--app-text-black:#e9ecef;--app-main-color:#74aadd;--app-border-color:#373b3e;--app-border-light:#2b3035;--app-border-gray:#373b3e;--app-border-dark:#495057;--app-border-hover:#5c636a;--app-error-bg:#2b1d1f;--app-error-border:#5c3030;--app-error-dark:#e57373;--app-overlay-bg:rgba(0,0,0,.6);--app-color-phase-normal:#1c2a2e;--app-color-phase-accomp:#16261a;--app-color-phase-licence:#3a2a39;--app-color-border-light-quote:#5c636a;--app-color-bg-light-quote:#2b3035;--app-color-highlight:#4a4628;--bill-success-light:#1e3a28;--bill-danger-light:#4a2528;--bill-gray-600:#adb5bd;--bill-gray-700:#ced4da;--bill-gray-800:#e9ecef;--bill-gray-100:#2b3035;--bill-gray-200:#343a40;--bill-gray-300:#495057;--bill-gray-400:#2b3035;--bill-gray-500:#373b3e;--bill-white:#212529;--bill-black:#e9ecef;--bill-selected-row-bg:linear-gradient(90deg,#14304d 0%,#102539);--bill-selected-row-hover-bg:linear-gradient(90deg,#1a3d61 0%,#14304d);--bill-accent-blue:#6ea8fe;--bill-accent-teal:#6edff6;--tree-white:#212529;--tree-border-color:#495057;--tree-border-color-hover:#5c636a;--tree-text-color:#adb5bd;--tree-text-color-dark:#e9ecef;--tree-text-color-medium:#ced4da;--tree-border-light:#373b3e;--tree-bg-light:#2b3035;--tree-bg-hover:#2b3035;--tree-bg-hover-close:#343a40;--tree-primary-color:#5a9bd4;--tree-primary-bg:#1a2733;--tree-primary-bg-light:#161f29;--tree-primary-bg-hover:#22384a;--tree-profile-hover:#16241a;--tree-border-recent:#343a40;--player-panel-bg-color:#2b3035;--player-timer-color:#5a9bd4;--player-text-color:#adb5bd;--pdraft-warning-bg-color:#3a3320;--pdraft-editing-bg-color:#3a3320}:root[data-bs-theme=dark]{--ck-color-base-background:#212529;--ck-color-base-foreground:#2b3035;--ck-color-base-border:#495057;--ck-color-base-text:#dee2e6;--ck-color-text:#dee2e6;--ck-color-toolbar-background:#2b3035;--ck-color-toolbar-border:#495057;--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#343a40;--ck-color-button-default-active-background:#3d444b;--ck-color-button-on-background:#343a40;--ck-color-button-on-hover-background:#3d444b;--ck-color-button-on-active-background:#3d444b;--ck-color-input-background:#212529;--ck-color-input-border:#495057;--ck-color-dropdown-panel-background:#2b3035;--ck-color-dropdown-panel-border:#495057;--ck-color-list-background:#2b3035;--ck-color-list-button-hover-background:#343a40;--ck-color-list-button-on-background:#5a9bd4;--ck-color-panel-background:#2b3035;--ck-color-panel-border:#495057}[data-bs-theme=dark] .bg-white{background-color:var(--app-bg-white)!important}[data-bs-theme=dark] .table-light{--bs-table-color:var(--app-text-primary);--bs-table-bg:var(--bs-light-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--app-text-primary);--bs-table-active-color:var(--app-text-primary);--bs-table-hover-color:var(--app-text-primary)}[data-bs-theme=dark] .table-primary{--bs-table-color:var(--bs-primary-text-emphasis);--bs-table-bg:var(--bs-primary-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--bs-primary-text-emphasis);--bs-table-active-color:var(--bs-primary-text-emphasis);--bs-table-hover-color:var(--bs-primary-text-emphasis)}[data-bs-theme=dark] .table-secondary{--bs-table-color:var(--bs-secondary-text-emphasis);--bs-table-bg:var(--bs-secondary-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--bs-secondary-text-emphasis);--bs-table-active-color:var(--bs-secondary-text-emphasis);--bs-table-hover-color:var(--bs-secondary-text-emphasis)}[data-bs-theme=dark] .table-success{--bs-table-color:var(--bs-success-text-emphasis);--bs-table-bg:var(--bs-success-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--bs-success-text-emphasis);--bs-table-active-color:var(--bs-success-text-emphasis);--bs-table-hover-color:var(--bs-success-text-emphasis)}[data-bs-theme=dark] .table-danger{--bs-table-color:var(--bs-danger-text-emphasis);--bs-table-bg:var(--bs-danger-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--bs-danger-text-emphasis);--bs-table-active-color:var(--bs-danger-text-emphasis);--bs-table-hover-color:var(--bs-danger-text-emphasis)}[data-bs-theme=dark] .table-warning{--bs-table-color:var(--bs-warning-text-emphasis);--bs-table-bg:var(--bs-warning-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--bs-warning-text-emphasis);--bs-table-active-color:var(--bs-warning-text-emphasis);--bs-table-hover-color:var(--bs-warning-text-emphasis)}[data-bs-theme=dark] .table-info{--bs-table-color:var(--bs-info-text-emphasis);--bs-table-bg:var(--bs-info-bg-subtle);--bs-table-border-color:var(--app-border-color);--bs-table-striped-color:var(--bs-info-text-emphasis);--bs-table-active-color:var(--bs-info-text-emphasis);--bs-table-hover-color:var(--bs-info-text-emphasis)}[data-bs-theme=dark] .link-primary,[data-bs-theme=dark] .link-primary:focus,[data-bs-theme=dark] .link-primary:hover{color:var(--app-main-color)!important}[data-bs-theme=dark] .link-secondary,[data-bs-theme=dark] .link-secondary:focus,[data-bs-theme=dark] .link-secondary:hover{color:var(--app-text-secondary)!important}[data-bs-theme=dark] .link-success,[data-bs-theme=dark] .link-success:focus,[data-bs-theme=dark] .link-success:hover{color:var(--bs-success-text-emphasis)!important}[data-bs-theme=dark] .link-danger,[data-bs-theme=dark] .link-danger:focus,[data-bs-theme=dark] .link-danger:hover{color:var(--bs-danger-text-emphasis)!important}[data-bs-theme=dark] .link-warning,[data-bs-theme=dark] .link-warning:focus,[data-bs-theme=dark] .link-warning:hover{color:var(--bs-warning-text-emphasis)!important}[data-bs-theme=dark] .link-info,[data-bs-theme=dark] .link-info:focus,[data-bs-theme=dark] .link-info:hover{color:var(--bs-info-text-emphasis)!important}[data-bs-theme=dark] .spinner-border.text-dark,[data-bs-theme=dark] .spinner-grow.text-dark{color:var(--app-text-primary)!important}[data-bs-theme=dark] input:not(.form-control)::placeholder,[data-bs-theme=dark] textarea:not(.form-control)::placeholder{color:var(--app-text-secondary);opacity:1}[data-bs-theme=dark] .ts-control,[data-bs-theme=dark] .ts-control input,[data-bs-theme=dark] .ts-dropdown .create,[data-bs-theme=dark] .ts-dropdown .no-results,[data-bs-theme=dark] .ts-dropdown .optgroup-header,[data-bs-theme=dark] .ts-dropdown .option{color:var(--app-text-primary)}[data-bs-theme=dark] .ts-dropdown .highlight{background-color:rgba(255,237,40,.85);color:#212529}[data-bs-theme=dark] .swal2-popup{background-color:var(--app-bg-white);color:var(--app-text-primary)}[data-bs-theme=dark] .swal2-title{color:var(--app-text-primary)}[data-bs-theme=dark] .swal2-html-container{color:var(--app-text-secondary)}[data-bs-theme=dark] .swal2-close{color:var(--app-text-muted)}[data-bs-theme=dark] .swal2-input,[data-bs-theme=dark] .swal2-select,[data-bs-theme=dark] .swal2-textarea{background-color:var(--app-bg-body);border-color:var(--app-border-color);color:var(--app-text-primary)}[data-bs-theme=dark] .swal2-validation-message{background-color:var(--app-bg-light);color:var(--app-text-primary)}[data-bs-theme=dark] .swal2-footer{border-top-color:var(--app-border-color);color:var(--app-text-secondary)}.theme-toggle .theme-toggle-icon-light,[data-bs-theme=dark] .theme-toggle .theme-toggle-icon-dark{display:none}[data-bs-theme=dark] .theme-toggle .theme-toggle-icon-light{display:inline-block}@keyframes animFw{0%{width:0}to{width:100%}}@keyframes ld{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:rotate(0)}50%{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(180deg)}to{transform:rotate(1turn)}}@keyframes bullet-animation{0%{background-color:gray}to{background-color:#7cfc00}}@keyframes bullet-animation-reverse{0%{background:#7cfc00}to{background:gray}}@keyframes emphasize-badge{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes indeterminateAnimation{0%{transform:translateX(0) scaleX(0)}40%{transform:translateX(0) scaleX(.4)}to{transform:translateX(100%) scaleX(.5)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes kenBurns{0%{transform:scale(1.05)}to{transform:scale(1.12)}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideOut{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes loader{0%{width:0}to{width:100%}}@-moz-keyframes loader{0%{width:0}to{width:100%}}@keyframes loader{0%{width:0}to{width:100%}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{height:100%;margin:0;overflow-x:hidden;padding:0;width:100%}body{background:#f6f8fa;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}body:has(.login){user-select:none}h1,h2,h3,h4,h5,p{margin:0}.background{background-color:var(--app-bg-login-placeholder);position:fixed;z-index:0}.background,.background:after{height:100%;left:0;top:0;width:100%}.background:after{background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.45) 55%,rgba(0,0,0,.6));content:"";position:absolute;z-index:1}.background img{animation:kenBurns 30s ease-out forwards;display:block;filter:blur(2px);height:100vh;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out;width:100vw}.background img.is-loaded{opacity:1}@media(prefers-reduced-motion:reduce){.background img{animation:none}}.login{animation:fadeInUp .5s ease-in-out;animation-fill-mode:forwards;background:var(--app-bg-white);border-radius:12px;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);left:50%;max-width:90%;opacity:0;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:500px;z-index:10}.login-header{align-items:center;background:transparent;display:flex;height:80px;justify-content:center;padding:20px;position:relative}.login-header img{display:block;height:100%;margin:0 auto;max-height:50px;object-fit:contain}.login-content{padding:32px}.login-title{color:var(--app-text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px;margin-bottom:15px;text-align:center}.login-info{color:var(--app-text-secondary);font-size:14px;font-weight:400;line-height:1.6;margin:0 auto 24px;max-width:85%;text-align:center}.login-info.error{color:var(--app-error-primary)}.login-error{animation:slideInDown .3s ease-in-out;background-color:var(--app-error-bg);border:1px solid var(--app-error-border);border-left:4px solid var(--app-error-primary);border-radius:6px;color:var(--app-error-dark);font-size:14px;line-height:1.6;margin-bottom:24px;padding:20px 18px 20px 50px;position:relative;text-align:left}.login-error:before{content:"⚠";font-size:18px;left:18px;line-height:1;position:absolute;top:20px}.login-button-wrapper{display:flex;justify-content:center;margin-top:5px}.google-login-button{align-items:center;background:#fff;border:1px solid #e1e6ef;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);color:var(--app-text-google);cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:15px;justify-content:center;line-height:1.5;min-width:260px;outline:none;padding:20px 28px;position:relative;text-align:center;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);vertical-align:middle;white-space:nowrap}.google-login-button:hover{background:#f8f9fa;border-color:#c8ccd0;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);transform:translateY(-1px)}.google-login-button:hover .google-icon{transform:scale(1.05)}.google-login-button:active{background:#f1f3f4;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transform:translateY(0)}.google-login-button:focus-visible{border-color:var(--app-border-focus);outline:3px solid var(--app-border-focus);outline-offset:2px}.google-login-button.loading{opacity:.8;pointer-events:none}.google-login-button.loading .button-text,.google-login-button.loading .google-icon{opacity:0;transition:opacity .2s ease-in-out}.google-login-button.loading .button-loader{animation:spin 1s linear infinite;display:block}.google-icon{flex-shrink:0;transition:transform .2s ease-in-out}.button-text{transition:color .2s ease-in-out}.button-loader,.button-text{color:var(--app-text-google)}.button-loader{display:none;height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:24px}.button-loader svg{height:100%;width:100%}@media(max-width:768px){.login{border-radius:10px;max-width:420px;width:90%}.login-content{padding:24px}.login-title{font-size:24px}.login-info{font-size:13px;max-width:100%}.google-login-button{min-width:100%;width:100%}}@media(max-width:480px){.login{border-radius:8px;width:95%}.login-header{height:60px;padding:30px}.login-content{padding:20px}.login-title{font-size:22px;margin-bottom:10px}.login-info{font-size:12px;margin-bottom:20px}.login-error{font-size:13px;margin-bottom:20px;padding:15px 20px}.google-login-button{font-size:15px;padding:15px 20px}}@media(max-height:600px){.login{max-height:95vh;overflow-y:auto;top:50%;transform:translate(-50%,-50%)}}