@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-spin{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;animation:btn-spin .65s linear infinite;flex-shrink:0}.btn:not(.primary):not(.bronze):not(.green) .btn-spin{border-color:var(--fp-line);border-top-color:var(--fp-primary)}.btn.btn-loading:disabled{opacity:.72;cursor:wait}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.38}}.skeleton-wrap{display:flex;flex-direction:column;gap:9px}.skeleton-row{background:var(--fp-line);border-radius:6px;animation:skeleton-pulse 1.45s ease infinite}html[data-theme=dark] .skeleton-row{background:var(--fp-hover)}@media (prefers-reduced-motion: reduce){.skeleton-row{animation:none;opacity:.55}}.table-sticky thead th{position:sticky;top:0;z-index:2}.gs-kbd{display:inline-block;font-family:inherit;font-size:10px;font-weight:700;line-height:1.4;padding:0 5px;border:1px solid var(--fp-grey);border-bottom-width:2px;border-radius:4px;background:var(--fp-chip);color:var(--fp-mut);letter-spacing:0;pointer-events:none;vertical-align:middle}html[data-theme=dark] .gs-kbd{border-color:var(--fp-blue-grey);background:var(--fp-soft)}.topbar-bell-wrap{position:relative}.topbar-bell-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:5px 7px;border-radius:8px;color:var(--fp-text);transition:background .12s;display:flex;align-items:center;position:relative;line-height:1}.topbar-bell-btn:hover{background:var(--fp-hover)}.topbar-bell-badge{position:absolute;top:0;right:0;background:var(--fp-red);color:#fff;font-size:9px;font-weight:800;border-radius:10px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px;letter-spacing:0;line-height:1;font-family:inherit}.topbar-bell-drop{position:absolute;right:0;top:calc(100% + 8px);background:var(--fp-card);border:1px solid var(--fp-line);border-radius:12px;box-shadow:var(--fp-shadow);min-width:290px;max-width:360px;z-index:60;overflow:hidden;animation:pop .15s ease;display:none}.topbar-bell-drop.open{display:block}.topbar-bell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px 9px;font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--fp-mut);border-bottom:1px solid var(--fp-line)}.topbar-bell-list+.topbar-bell-head{border-top:1px solid var(--fp-line)}.topbar-bell-readall{background:none;border:none;cursor:pointer;color:var(--fp-primary);font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:none;padding:0;font-family:inherit}.topbar-bell-readall:hover{text-decoration:underline}.topbar-bell-list{max-height:340px;overflow-y:auto}.topbar-bell-empty{padding:22px 14px;text-align:center;color:var(--fp-mut);font-size:13px}.topbar-bell-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--fp-line);cursor:pointer;transition:background .12s;width:100%;text-align:left}.topbar-bell-item:last-child{border-bottom:none}.topbar-bell-item:hover{background:var(--fp-hover)}.topbar-bell-icon{font-size:14px;flex:0 0 auto;line-height:1}.topbar-bell-info{flex:1;min-width:0}.topbar-bell-date{font-size:10.5px;color:var(--fp-mut);font-weight:700;white-space:nowrap}.topbar-bell-title{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fp-text);margin-top:1px}.topbar-bell-body{font-size:11.5px;color:var(--fp-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.topbar-bell-item.unread .topbar-bell-title{font-weight:800}.topbar-bell-item.unread{background:var(--fp-hover)}.topbar-bell-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--fp-primary)}.topbar-bell-done{background:none;border:1.5px solid var(--fp-grey);border-radius:6px;cursor:pointer;color:var(--fp-mut);font-size:12px;font-weight:800;padding:3px 7px;transition:background .12s,border-color .12s,color .12s;flex:0 0 auto;font-family:inherit;line-height:1}.topbar-bell-done:hover{background:var(--fp-green);border-color:var(--fp-green);color:#fff}html[data-theme=dark] .topbar-bell-drop{background:linear-gradient(180deg,#191c24,#15171e);border-color:#262a34;box-shadow:0 18px 55px #000000b8}html[data-theme=dark] .topbar-bell-item:hover{background:var(--fp-hover)}html[data-theme=dark] .topbar-bell-done:hover{background:#2e9e6b;border-color:#2e9e6b}.fp-assist-fab{position:fixed;right:24px;bottom:24px;z-index:80;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:var(--fp-grad-bronze);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #bf844073,inset 0 0 0 1px #ffffff2e;transition:transform .18s ease,box-shadow .18s ease}.fp-assist-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 34px #bf84408c}.fp-assist-fab:active{transform:scale(.97)}.fp-assist-fab-glyph{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.fp-assist-panel{position:fixed;right:24px;bottom:24px;z-index:95;width:392px;max-width:calc(100vw - 32px);height:min(624px,calc(100vh - 110px));background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow);display:flex;flex-direction:column;overflow:hidden;animation:fp-assist-in .2s ease}@keyframes fp-assist-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.fp-assist-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--fp-line);background:var(--fp-grad);color:#fff}.fp-assist-head-title{display:flex;align-items:center;gap:11px}.fp-assist-badge{width:34px;height:34px;border-radius:10px;flex:0 0 auto;background:var(--fp-grad-bronze);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:inset 0 0 0 1px #fff3}.fp-assist-name{font-weight:700;font-size:14.5px;letter-spacing:.2px}.fp-assist-sub{font-size:10.5px;opacity:.8;text-transform:uppercase;letter-spacing:1px;margin-top:1px}.fp-assist-x{background:#ffffff1f;border:none;color:#fff;cursor:pointer;width:30px;height:30px;border-radius:8px;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .15s}.fp-assist-x:hover{background:#ffffff3d}.fp-assist-body{flex:1;overflow-y:auto;padding:16px 15px;display:flex;flex-direction:column;gap:12px;background:var(--fp-soft)}.fp-msg{display:flex;flex-direction:column;gap:6px;max-width:88%}.fp-msg.user{align-self:flex-end;align-items:flex-end}.fp-msg.assistant{align-self:flex-start;align-items:flex-start}.fp-msg-bubble{padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.fp-msg.assistant .fp-msg-bubble{background:var(--fp-card);color:var(--fp-text);border:1px solid var(--fp-line);border-bottom-left-radius:5px}.fp-msg.user .fp-msg-bubble{background:var(--fp-grad);color:#fff;border-bottom-right-radius:5px;box-shadow:var(--fp-shadow-sm)}.fp-msg.err .fp-msg-bubble{background:#c84b4b1f;color:var(--fp-red);border:1px solid rgba(200,75,75,.32)}.fp-msg-nav{align-self:flex-start;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--fp-bronze);background:#bf84401f;border:1px solid rgba(191,132,64,.3);border-radius:9px;padding:6px 11px;transition:background .15s}.fp-msg-nav:hover{background:#bf844033}.fp-typing{display:flex;gap:5px;align-items:center}.fp-typing span{width:7px;height:7px;border-radius:50%;background:var(--fp-mut);animation:fp-blink 1.3s infinite both}.fp-typing span:nth-child(2){animation-delay:.2s}.fp-typing span:nth-child(3){animation-delay:.4s}@keyframes fp-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.fp-assist-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.fp-chip{cursor:pointer;font-size:12.5px;padding:8px 12px;border-radius:11px;background:var(--fp-card);color:var(--fp-text);border:1px solid var(--fp-line);transition:border-color .15s,color .15s}.fp-chip:hover{border-color:var(--fp-bronze);color:var(--fp-bronze)}.fp-assist-input{display:flex;align-items:flex-end;gap:9px;padding:11px 12px;border-top:1px solid var(--fp-line);background:var(--fp-card)}.fp-assist-input textarea{flex:1;resize:none;max-height:120px;min-height:22px;border:1px solid var(--fp-line);border-radius:12px;padding:9px 12px;font-family:inherit;font-size:13.5px;color:var(--fp-text);background:var(--fp-input);outline:none;line-height:1.4;transition:border-color .15s}.fp-assist-input textarea:focus{border-color:var(--fp-primary)}.fp-assist-send{flex:0 0 auto;width:40px;height:40px;border-radius:12px;border:none;cursor:pointer;background:var(--fp-grad-bronze);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:var(--fp-shadow-sm);transition:opacity .15s,transform .12s}.fp-assist-send:hover:not(:disabled){transform:translateY(-1px)}.fp-assist-send:disabled{opacity:.4;cursor:not-allowed}@media (max-width:560px){.fp-assist-panel{right:0;left:0;bottom:0;top:0;width:100%;max-width:100%;height:100%;border-radius:0;border:none;padding-bottom:env(safe-area-inset-bottom)}.fp-assist-fab{right:16px;bottom:16px}.fp-msg{max-width:92%}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dash-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.dash-toolbar .btn>svg{flex:0 0 auto}.dash-presets{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border:1px solid var(--fp-line);border-radius:10px;background:var(--fp-soft)}.dash-presets-label{font-size:11px;font-weight:800;color:var(--fp-mut);letter-spacing:.3px;margin-right:2px;white-space:nowrap}.dash-preset{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--fp-mut);font-family:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap;transition:.14s}.dash-preset>svg{flex:0 0 auto}.dash-preset:hover{color:var(--fp-bronze);background:#bf844017}.dash-preset.on{color:var(--fp-bronze);border-color:#bf844080;background:#bf84401f}.dash-grid-wrap{position:relative}.dash-rgl{margin:0 -2px}.dw{display:flex;flex-direction:column;box-sizing:border-box;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);overflow:hidden;transition:box-shadow .18s,border-color .18s}.dw:hover{box-shadow:var(--fp-shadow)}.dw-head{display:flex;align-items:center;gap:9px;padding:15px 18px 11px;flex:0 0 auto}.dw-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;letter-spacing:.25px;color:var(--fp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.dw-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0;color:var(--fp-bronze)}.dw-body{flex:1 1 auto;min-height:0;overflow:auto;padding:0 18px 16px}.dw-drag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;border-radius:6px;color:var(--fp-bronze);line-height:0;cursor:grab;-webkit-user-select:none;user-select:none;transition:.12s}.dw-drag:hover{background:#bf84401a}.dw-drag:active{cursor:grabbing}.dw-width{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;border:1px solid var(--fp-line);border-radius:7px;background:var(--fp-soft);color:var(--fp-mut);line-height:0;cursor:pointer;padding:0;font-family:inherit;transition:.14s}.dw-width:hover{border-color:var(--fp-bronze);color:var(--fp-bronze);background:#bf844017}.dw-x{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;border:1px solid var(--fp-line);border-radius:7px;background:var(--fp-soft);color:var(--fp-mut);line-height:0;cursor:pointer;padding:0;font-family:inherit;transition:.14s}.dw-x:hover{border-color:var(--fp-red);color:var(--fp-red);background:#c84b4b12}.dash-editing .dw{border-style:dashed;border-color:#bf84408c}.dash-editing .react-grid-placeholder{background:var(--fp-bronze)!important;opacity:.18!important;border-radius:var(--fp-radius)}.dash-editing .react-grid-item>.react-resizable-handle{opacity:1}.dash-editing .react-grid-item>.react-resizable-handle:after{width:7px;height:7px;right:5px;bottom:5px;border-right:2.5px solid var(--fp-bronze);border-bottom:2.5px solid var(--fp-bronze)}.react-grid-item.react-draggable-dragging .dw{box-shadow:0 10px 30px #22315e47;border-color:var(--fp-bronze)}.dash-mobile{display:flex;flex-direction:column;gap:16px}.dash-mobile .dw{height:auto}.dash-mobile .dw-body{overflow:visible;max-height:460px}.dw-summary{font-size:13px;color:var(--fp-mut);margin-bottom:12px;line-height:1.5}.dw-summary b{color:var(--fp-text);font-variant-numeric:tabular-nums}.cal-list{display:flex;flex-direction:column;gap:3px}.cal-row{display:grid;grid-template-columns:22px 118px 1fr;gap:9px;align-items:center;padding:7px 10px;border-radius:8px;border:1px solid transparent;transition:.12s}.cal-row:hover{background:var(--fp-hover);border-color:var(--fp-line)}.cal-ico{font-size:14px;line-height:1;text-align:center}.cal-when{font-size:11.5px;color:var(--fp-mut);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-title{font-size:13px;font-weight:600;color:var(--fp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-done{opacity:.5}.cal-done .cal-title{text-decoration:line-through}.dw-notes{width:100%;height:100%;min-height:120px;resize:none;border:1px solid var(--fp-line);border-radius:10px;background:var(--fp-soft);color:var(--fp-text);padding:12px 14px;font-family:Consolas,SF Mono,monospace;font-size:13px;line-height:1.55;outline:none;transition:border-color .14s,box-shadow .14s;box-sizing:border-box}.dw-notes:focus{border-color:var(--fp-bronze);box-shadow:0 0 0 3px #bf84401f}.dw-notes::placeholder{color:var(--fp-mut)}.dw-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:6px}.dw-gcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 16px 14px;border:1.5px solid var(--fp-line);border-radius:14px;background:var(--fp-soft);transition:.16s}.dw-gcard:hover{border-color:var(--fp-bronze);box-shadow:var(--fp-shadow-sm)}.dw-gcard.added{border-color:#2e9e6b66;background:#2e9e6b0f}.dw-gicon{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:var(--fp-primary)}.dw-gtitle{font-size:14px;font-weight:800;color:var(--fp-text);letter-spacing:.2px}.dw-gdesc{font-size:12px;color:var(--fp-mut);line-height:1.45;flex:1 1 auto}.dw-gbtn{margin-top:8px;align-self:stretch}.wdg-footer{margin-top:14px;padding-top:10px;border-top:1px solid var(--fp-line);text-align:right}.wdg-footer-link{display:inline-block;font-size:12px;font-weight:700;color:var(--fp-bronze);text-decoration:none;letter-spacing:.3px;cursor:pointer;background:none;border:none;font-family:inherit;padding:0;transition:.12s}.wdg-footer-link:hover{color:var(--fp-primary)}html[data-theme=dark] .wdg-footer-link:hover{color:#aec0e8}.quick-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px 10px;border-radius:12px;border:1.5px solid var(--fp-line);background:var(--fp-soft);cursor:pointer;font-family:inherit;line-height:1.3;transition:.18s;text-align:center}.quick-tile-ico{display:inline-flex;align-items:center;justify-content:center;line-height:0;margin-bottom:2px;color:var(--fp-primary);transition:color .18s}.quick-tile.primary-tile .quick-tile-ico{color:var(--fp-bronze)}.quick-tile-label{font-size:13px;font-weight:800;color:var(--fp-text)}.quick-tile-sub{font-size:11px;color:var(--fp-mut);font-weight:600;letter-spacing:.2px}.quick-tile:hover{border-color:var(--fp-bronze);background:#bf844012;transform:translateY(-2px);box-shadow:var(--fp-shadow-sm)}.quick-tile:hover .quick-tile-label,.quick-tile:hover .quick-tile-ico{color:var(--fp-bronze)}.quick-tile:hover .quick-tile-sub{color:var(--fp-bronze);opacity:.75}.quick-tile.primary-tile{border-color:#37549e4d;background:var(--fp-primary-light)}.quick-tile.primary-tile .quick-tile-label{color:var(--fp-primary)}html[data-theme=dark] .quick-tile.primary-tile{background:#37549e24;border-color:#37549e52}html[data-theme=dark] .quick-tile.primary-tile .quick-tile-label{color:#aec0e8}.quick-tile.primary-tile:hover{background:var(--fp-primary);border-color:var(--fp-primary);box-shadow:0 4px 14px #37549e61;transform:translateY(-2px)}.quick-tile.primary-tile:hover .quick-tile-label,.quick-tile.primary-tile:hover .quick-tile-sub{color:#fff;opacity:1}.quick-tile.primary-tile:hover .quick-tile-ico{color:#fff}.empty-cta{padding:22px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.empty-cta-text{color:var(--fp-mut);font-size:13px;line-height:1.55}tr.clickable-row{cursor:pointer}tr.clickable-row:hover td{background:var(--fp-hover)!important}html[data-theme=dark] tr.clickable-row:hover td{background:#cba53b0d!important}.activity-feed{display:flex;flex-direction:column;gap:4px}.activity-row{display:grid;grid-template-columns:110px 1fr 50px 112px;gap:8px;align-items:center;padding:6px 10px;border-radius:8px;border:1px solid transparent;transition:.12s}.activity-row:hover{background:var(--fp-hover);border-color:var(--fp-line)}.activity-user{font-size:12px;font-weight:700;color:var(--fp-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme=dark] .activity-user{color:#aec0e8}.activity-path{font-size:11.5px;color:var(--fp-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,monospace}.activity-status{font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.activity-sok{background:#2e9e6b29;color:#2e9e6b}html[data-theme=dark] .activity-sok{color:#5bd1a0;background:#2e9e6b24}.activity-serr{background:#c84b4b24;color:#c84b4b}html[data-theme=dark] .activity-serr{color:#e89090}.activity-time{font-size:11px;color:var(--fp-mut);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}@media (max-width: 700px){.quick-tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.activity-row{grid-template-columns:90px 1fr 44px}.activity-time{display:none}.cal-row{grid-template-columns:20px 92px 1fr}}.seg{display:inline-flex;gap:3px;padding:3px;background:var(--fp-chip);border:1px solid var(--fp-line);border-radius:12px;margin-bottom:4px}.seg button{font-family:inherit;font-size:12.5px;font-weight:700;color:var(--fp-mut);background:none;border:none;border-radius:9px;padding:7px 16px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.seg button:hover{color:var(--fp-primary)}.seg button.on{color:#fff;background:var(--fp-grad);box-shadow:var(--fp-shadow-sm)}html[data-theme=dark] .seg button.on{color:var(--fp-text)}.suggest{position:relative}.suggest-input{display:flex;align-items:center;gap:8px;border:1.5px solid var(--fp-grey);border-radius:10px;padding:0 10px;background:var(--fp-input);transition:border-color .15s,box-shadow .15s}.suggest-input:focus-within{border-color:var(--fp-primary);box-shadow:0 0 0 3px var(--fp-primary-light)}.suggest-input svg{flex:0 0 auto;color:var(--fp-mut)}.suggest-input input{border:none!important;box-shadow:none!important;padding:9px 0!important;background:transparent}.suggest-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:12px;box-shadow:var(--fp-shadow);padding:5px}.suggest-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;font-family:inherit;color:var(--fp-text)}.suggest-item:hover{background:var(--fp-hover)}.suggest-item .si-name{font-size:13px;font-weight:700}.suggest-item .si-meta{font-size:11.5px;color:var(--fp-mut);margin-top:2px}.suggest-hint{font-size:11px;color:var(--fp-mut);margin:4px 2px 0}.suggest-hint.err{color:var(--fp-red)}.len-hint{font-size:10.5px;font-weight:700;letter-spacing:.4px;color:var(--fp-mut);margin:4px 2px 10px}.len-hint.bad{color:var(--fp-red)}.subsection{border:1px dashed var(--fp-line);border-radius:12px;padding:12px 14px 4px;margin:4px 0 12px}.subsection>.subsection-title{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--fp-mut);margin-bottom:8px}.bc-list{display:flex;flex-direction:column;gap:8px}.bc-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px}.bc-num{font-size:11.5px;font-weight:800;color:var(--fp-mut);text-align:center}.bc-row.main .bc-num{color:var(--fp-bronze)}.bc-row input{font-variant-numeric:tabular-nums;letter-spacing:.4px}.bc-del{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--fp-line);border-radius:9px;background:var(--fp-card);color:var(--fp-mut);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.bc-del:hover{color:var(--fp-red);border-color:var(--fp-red);background:var(--fp-hover)}.bc-empty,.bc-hint{font-size:12px;color:var(--fp-mut);line-height:1.5}.bc-empty{padding:10px 0}.bc-add{margin-top:10px}.bc-hint{margin-top:6px}.art-cell{display:flex;align-items:center;gap:6px}.prod-thumb{width:32px;height:32px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--fp-soft)}.bc-cell{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;cursor:default}.imp-preview{margin-top:12px}.imp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12.5px;color:var(--fp-mut)}.imp-result{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.imp-errors{margin:8px 0 0 18px;color:var(--fp-red);font-size:12.5px;line-height:1.6}.imp-note{margin-top:10px;padding:10px 12px;border:1px solid var(--fp-line);border-radius:10px;background:var(--fp-soft);color:var(--fp-mut);font-size:12.5px;line-height:1.55}.stock-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px;padding:16px 20px;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm)}.stock-filters .filter-field{display:flex;flex-direction:column;min-width:150px}.stock-filters .filter-field label{margin-bottom:5px}.stock-filters .filter-field.stock-search{min-width:220px;flex:1}.stock-filters select,.stock-filters input{min-width:0}.stock-filters .filter-actions{margin-left:auto}.stock-total{margin-top:12px;padding-top:12px;border-top:1px dashed var(--fp-line);font-size:13px;color:var(--fp-mut)}.stock-total b{color:var(--fp-text)}@media (max-width: 720px){.stock-filters .filter-field,.stock-filters .filter-actions{width:100%;margin-left:0}.stock-filters .filter-actions .btn{width:100%}}.map-cell.editing{border-style:dashed;cursor:pointer}.map-cell.editing:hover{border-color:var(--fp-bronze)}.map-cell .mc-pencil{position:absolute;top:3px;right:3px;opacity:0;color:var(--fp-bronze);transition:opacity .15s ease;pointer-events:none}.map-cell.editing:hover .mc-pencil{opacity:1}.map-cell .mc-section{position:absolute;top:3px;left:3px;font-family:Montserrat,sans-serif;font-size:8.5px;font-weight:800;line-height:1.4;padding:0 3px;border-radius:4px;color:var(--fp-primary);background:var(--fp-soft)}.ret-row{cursor:pointer;transition:background .12s}.ret-row:hover{background:var(--fp-hover)}.ret-empty{display:inline-flex;flex-direction:column;align-items:center;gap:8px;color:var(--fp-mut)}.ret-hint{color:var(--fp-mut);font-size:13px;margin:6px 0}.ret-search{display:flex;align-items:center;gap:8px;border:1.5px solid var(--fp-grey);border-radius:9px;padding:0 10px;margin:4px 0 8px;color:var(--fp-mut)}.ret-search input{flex:1;border:none;background:none;padding:9px 0;font-family:inherit;font-size:13.5px;color:var(--fp-text);outline:none}.ret-found{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;max-height:220px;overflow-y:auto}.ret-found-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1.5px solid var(--fp-line);border-radius:9px;padding:8px 12px;cursor:pointer;font-family:inherit;color:var(--fp-text);transition:border-color .12s,background .12s}.ret-found-item:hover{border-color:var(--fp-bronze-light);background:var(--fp-hover)}.ret-found-art{font-family:Consolas,monospace;font-weight:700;font-size:12.5px;white-space:nowrap}.ret-found-name{flex:1;font-size:12.5px;color:var(--fp-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ret-del{background:none;border:none;cursor:pointer;color:var(--fp-mut);font-size:15px;line-height:1;padding:4px 6px;border-radius:6px;transition:color .12s,background .12s}.ret-del:hover{color:#c0392b;background:var(--fp-hover)}.ret-head{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 18px;margin-bottom:12px}.ret-head>div{display:flex;flex-direction:column;gap:3px}.ret-head-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;color:var(--fp-mut)}.ret-head-v{font-size:13.5px;font-weight:600;color:var(--fp-text)}.ret-comment{font-size:13px;line-height:1.5;color:var(--fp-text);background:var(--fp-hover);border-radius:9px;padding:10px 12px;margin-bottom:12px}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:20px;align-items:start}.kanban-col h3{display:flex;align-items:center;gap:8px}.kanban-count{margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:var(--fp-chip);color:var(--fp-mut);font-size:11.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.kanban-cards{display:flex;flex-direction:column;gap:10px}.kanban-card{width:100%;text-align:left;cursor:pointer;background:var(--fp-soft);border:1px solid var(--fp-line);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:7px;font-family:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}.kanban-card:hover{border-color:var(--fp-bronze);transform:translateY(-1px);box-shadow:var(--fp-shadow-sm)}.kc-head{display:flex;align-items:center;gap:8px}.kc-kind{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--fp-bronze)}.kc-num{margin-left:auto;font-family:Consolas,monospace;font-size:12px;color:var(--fp-text)}.kc-client{font-size:13px;font-weight:600;color:var(--fp-text)}.kc-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kc-date{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--fp-mut);white-space:nowrap}@media (max-width: 1100px){.kanban-board{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 640px){.kanban-board{grid-template-columns:1fr}}.charges-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px;padding:16px 20px;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm)}.charges-filters .filter-field{display:flex;flex-direction:column;min-width:140px}.charges-filters .filter-field label{margin-bottom:5px}.charges-filters select,.charges-filters input[type=date]{min-width:0}.charges-filters .filter-checkbox{display:flex;align-items:center;gap:8px;padding-bottom:9px}.charges-filters .filter-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.charges-filters .filter-checkbox label{margin:0;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;cursor:pointer;color:var(--fp-text)}.charge-source{font-size:12px;color:var(--fp-mut);white-space:nowrap}.edo-send-summary{display:flex;flex-wrap:wrap;gap:10px 26px;padding:12px 14px;border:1px solid var(--fp-line);border-radius:12px;background:var(--fp-soft);margin-bottom:12px;font-size:13.5px}.edo-send-summary>div{display:flex;flex-direction:column;gap:2px}.edo-send-k{font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--fp-mut)}.edo-send-from{display:flex;flex-direction:column;gap:2px;margin:8px 0;font-size:13.5px}.edo-send-demo{margin:8px 0;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,#d9a86c2e,#bf84401f);color:#bf8440;font-size:13px;font-weight:600}.edo-send-search{display:flex;gap:8px;align-items:center}.edo-send-search input{flex:1;min-width:0}.edo-send-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.edo-send-org{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--fp-line);border-radius:10px;cursor:pointer;margin:0;text-transform:none;letter-spacing:0}.edo-send-org.on{border-color:var(--fp-primary);box-shadow:0 0 0 2px #4a6fa526}.edo-send-org input[type=radio]{width:16px;height:16px;margin:0;flex:0 0 auto}.edo-send-org span{display:flex;flex-direction:column;gap:2px}.edo-send-org b{font-size:13.5px;color:var(--fp-text)}.edo-send-org i{font-size:12px;color:var(--fp-mut);font-style:normal;font-family:Consolas,monospace}.edo-send-picked{margin-top:10px;font-size:13px;color:var(--fp-text)}.edo-send-warn{margin-top:8px;font-size:12.5px;color:var(--fp-red);font-weight:600}.edo-send-note{margin-top:14px;padding:10px 13px;border-radius:10px;border:1px dashed var(--fp-line);background:var(--fp-soft);font-size:12px;color:var(--fp-mut);line-height:1.5}.pk-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.pk-main{min-width:0}.pk-scan{display:flex;align-items:center;gap:12px;background:var(--fp-card);border:2px solid var(--fp-primary);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);padding:4px 16px;margin-bottom:18px}.pk-scan-ic{color:var(--fp-primary);flex:0 0 auto}.pk-scan input{flex:1;border:none;background:none;box-shadow:none;outline:none;padding:14px 0;font-size:22px;font-weight:700;letter-spacing:.5px;color:var(--fp-text)}.pk-scan input:focus{border:none;box-shadow:none}.pk-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 20px;text-align:center;color:var(--fp-mut)}.pk-empty svg{color:var(--fp-blue-grey)}.pk-empty-t{font-size:18px;font-weight:700;color:var(--fp-text)}.pk-empty-s{font-size:13px;max-width:360px}.pk-card{background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);padding:18px 20px}.pk-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.pk-num{font-family:Consolas,monospace;font-size:20px;font-weight:800;color:var(--fp-text)}.pk-client{margin-left:auto;font-size:13px;font-weight:600;color:var(--fp-mut)}.pk-qty{font-size:13px;font-weight:700;color:var(--fp-mut);white-space:nowrap}.pk-done{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:12px;border-radius:11px;font-weight:800;font-size:15px;color:#2e9e6b;background:#2e9e6b24;border:1px solid rgba(46,158,107,.4)}html[data-theme=dark] .pk-done{color:#5bd1a0}.pk-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.pk-actions .btn svg,.pk-recent-item+.btn svg{vertical-align:-3px;margin-right:4px}.pk-aside{display:flex;flex-direction:column;gap:16px}.pk-counter{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;border-radius:var(--fp-radius);color:#fff;background:var(--fp-grad-bronze);box-shadow:var(--fp-shadow-sm)}.pk-counter-n{font-size:44px;font-weight:800;line-height:1}.pk-counter-l{font-size:12px;font-weight:600;letter-spacing:.4px;opacity:.92}.pk-counter-reset{margin-top:10px}.pk-recent{background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);padding:14px 16px}.pk-recent-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 8px;color:var(--fp-mut);font-size:12.5px}.pk-recent-item{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--fp-line)}.pk-recent-item:last-child{border-bottom:none}.pk-recent-item b{flex:1;font-family:Consolas,monospace;font-size:13px;font-weight:700;color:var(--fp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.pk-grid{grid-template-columns:1fr}.pk-aside{flex-direction:row;flex-wrap:wrap}.pk-counter,.pk-recent{flex:1 1 240px}}.chat-wrap{height:calc(100vh - 148px);min-height:440px}.chat-two{display:grid;grid-template-columns:300px 1fr;gap:14px}.chat-single{display:block}.chat-threads{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:8px;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius)}.chat-threads-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--fp-mut);font-size:13px;text-align:center;padding:20px}.chat-thread{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;cursor:pointer;border:1px solid transparent;border-radius:11px;padding:10px 11px;background:none;font-family:inherit;color:var(--fp-text);transition:background .13s,border-color .13s}.chat-thread:hover{background:var(--fp-hover)}.chat-thread.active{background:var(--fp-hover);border-color:var(--fp-bronze-light)}.chat-thread-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chat-thread-name{font-weight:700;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-time{flex:0 0 auto;font-size:11px;color:var(--fp-mut)}.chat-thread-bot{display:flex;align-items:center;gap:8px}.chat-thread-last{flex:1;min-width:0;font-size:12.5px;color:var(--fp-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--fp-grad-bronze);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.chat-lane-wrap{min-width:0;display:flex}.chat-lane{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);overflow:hidden}.chat-single .chat-lane{height:100%}.chat-lane-head{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--fp-line);font-weight:700;font-size:14px;color:var(--fp-text);background:var(--fp-soft)}.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--fp-soft)}.chat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--fp-mut);font-size:13.5px;text-align:center;padding:24px}.chat-empty-lane{height:100%;justify-content:center;background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius)}.chat-day{align-self:center;font-size:11px;font-weight:700;color:var(--fp-mut);background:var(--fp-card);border:1px solid var(--fp-line);border-radius:10px;padding:3px 11px;margin:6px 0}.chat-msg{display:flex;flex-direction:column;gap:3px;max-width:74%;align-self:flex-start;align-items:flex-start}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-msg-author{font-size:11px;font-weight:700;color:var(--fp-bronze);padding:0 4px}.chat-msg-bubble{padding:9px 13px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word;background:var(--fp-card);color:var(--fp-text);border:1px solid var(--fp-line);border-radius:14px 14px 14px 5px}.chat-msg.mine .chat-msg-bubble{background:var(--fp-grad);color:#fff;border:none;border-bottom-left-radius:14px;border-bottom-right-radius:5px;box-shadow:var(--fp-shadow-sm)}.chat-msg-time{font-size:10.5px;color:var(--fp-mut);padding:0 4px}.chat-file{display:flex;flex-direction:column;gap:8px;max-width:100%;padding:10px 12px;border:1px solid var(--fp-line);background:var(--fp-card);border-radius:14px 14px 14px 5px}.chat-msg.mine .chat-file{border-bottom-left-radius:14px;border-bottom-right-radius:5px;border-color:var(--fp-bronze-light)}.chat-file-row{display:flex;align-items:center;gap:9px;min-width:0}.chat-file-icon{flex:0 0 auto;color:var(--fp-bronze)}.chat-file-name{font-size:13px;font-weight:600;color:var(--fp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.chat-file-acts{display:flex;gap:6px}.chat-file-btn{cursor:pointer;border:1px solid var(--fp-line);border-radius:9px;background:var(--fp-soft);color:var(--fp-text);font-family:inherit;font-size:11.5px;font-weight:700;padding:4px 10px;transition:background .13s,border-color .13s}.chat-file-btn:hover:not(:disabled){background:var(--fp-hover);border-color:var(--fp-bronze-light)}.chat-file-btn:disabled{opacity:.5;cursor:not-allowed}.chat-file-img{display:block;max-width:260px;max-height:260px;width:auto;border-radius:10px;border:1px solid var(--fp-line)}.chat-input{display:flex;align-items:flex-end;gap:9px;padding:11px 12px;border-top:1px solid var(--fp-line);background:var(--fp-card)}.chat-input textarea{flex:1;resize:none;max-height:120px;min-height:22px;border:1px solid var(--fp-line);border-radius:12px;padding:9px 12px;font-family:inherit;font-size:13.5px;color:var(--fp-text);background:var(--fp-input);outline:none;line-height:1.4;transition:border-color .15s}.chat-input textarea:focus{border-color:var(--fp-primary)}.chat-send,.chat-attach{flex:0 0 auto;width:40px;height:40px;border-radius:12px;border:none;cursor:pointer;background:var(--fp-grad-bronze);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--fp-shadow-sm);transition:opacity .15s,transform .12s}.chat-attach{background:var(--fp-soft);border:1px solid var(--fp-line);color:var(--fp-mut);box-shadow:none}.chat-attach:hover:not(:disabled){color:var(--fp-bronze);border-color:var(--fp-bronze-light)}.chat-send:hover:not(:disabled),.chat-attach:hover:not(:disabled){transform:translateY(-1px)}.chat-send:disabled,.chat-attach:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 720px){.chat-wrap{height:calc(100vh - 128px)}.chat-two{grid-template-columns:1fr;grid-template-rows:minmax(120px,34%) 1fr}.chat-msg{max-width:86%}}.edo-status-line{display:flex;align-items:center;gap:12px}.edo-status-line .badge{display:inline-flex;align-items:center;gap:5px}.edo-host{font-size:12.5px;color:var(--fp-mut);font-family:Consolas,monospace}.edo-error{margin:10px 0;padding:10px 14px;border-radius:10px;background:#c84b4b1a;color:var(--fp-red);font-size:13px;font-weight:600}.edo-setup{margin:12px 0 4px;padding:16px 18px;border:1px solid var(--fp-line);border-radius:var(--fp-radius);background:var(--fp-soft);font-size:13.5px;line-height:1.6}.edo-setup-title{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:8px;color:#bf8440}.edo-setup ul{margin:6px 0 6px 18px}.edo-setup li{margin-bottom:4px}.edo-setup a{color:var(--fp-primary);font-weight:700}.edo-setup .edo-env{margin-top:8px;color:var(--fp-mut)}.edo-setup code{font-family:Consolas,monospace;font-size:12.5px;padding:1px 6px;border-radius:6px;background:var(--fp-chip);color:var(--fp-text)}.edo-orgs{margin:14px 0 4px}.edo-orgs-label{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--fp-mut);margin-bottom:8px}.edo-org{padding:12px 14px;border:1px solid var(--fp-line);border-radius:12px;margin-bottom:10px;background:var(--fp-card)}.edo-org-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.edo-org-inn{font-size:12px;color:var(--fp-mut);font-family:Consolas,monospace}.edo-boxes{display:flex;flex-wrap:wrap;gap:8px 18px}.edo-box{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--fp-text);margin:0}.edo-box input[type=radio]{width:16px;height:16px;margin:0;cursor:pointer}.edo-sign-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:11px 14px;border-radius:10px;background:var(--fp-soft);border:1px dashed var(--fp-line);font-size:12.5px;color:var(--fp-mut);line-height:1.5}.edo-sign-note svg{flex:0 0 auto;margin-top:2px}.edo-search{display:flex;gap:10px;align-items:center}.edo-search input{flex:1;min-width:0}.edo-hint{margin:8px 0 14px;font-size:12.5px;color:var(--fp-mut)}.cal-day{cursor:pointer;position:relative;transition:border-color .15s,background .15s}.cal-day:after{content:"+";position:absolute;top:5px;right:8px;font-size:15px;font-weight:800;color:var(--fp-mut);opacity:0;transition:opacity .15s;pointer-events:none;line-height:1}.cal-day:hover{border-color:var(--fp-bronze-light);background:var(--fp-hover)}.cal-day:hover:after{opacity:.5}.cal-ev.request{background:#37549e21;color:#2a4078;border-left:2.5px solid #37549e;font-weight:600}html[data-theme=dark] .cal-ev.request{background:#7e97db2e;color:#aec0e8}.cal-ev.return{background:#bf844024;color:#a56a2c;border-left:2.5px solid #bf8440}html[data-theme=dark] .cal-ev.return{background:#bf844038;color:#d8a566}.cal-ev.user-event{border-left:2.5px solid currentColor}.cal-ev.user-event.done{opacity:.42;text-decoration:line-through}.cal-event-icon{font-style:normal;margin-right:3px;font-size:9px}.cal-kind-toggle{display:flex;border:1.5px solid var(--fp-grey);border-radius:9px;overflow:hidden;margin:4px 0}.cal-kind-toggle button{flex:1;background:none;border:none;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--fp-mut);padding:7px 10px;cursor:pointer;transition:background .12s,color .12s}.cal-kind-toggle button.on{background:var(--fp-primary);color:#fff}html[data-theme=dark] .cal-kind-toggle button.on{background:var(--fp-primary-dark);color:#e8edf7}.cal-kind-toggle button:not(.on):hover{background:var(--fp-hover);color:var(--fp-text)}.cal-color-palette{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0}.cal-color-swatch{width:24px;height:24px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;flex:0 0 auto}.cal-color-swatch:hover{transform:scale(1.15)}.cal-color-swatch.active{border-color:var(--fp-text);transform:scale(1.12)}:root{--fp-primary:#37549E;--fp-primary-dark:#2A4078;--fp-navy:#1E2F58;--fp-primary-light:#E8EDF7;--fp-grey:#DADEE5;--fp-bronze:#BF8440;--fp-bronze-light:#D9A86C;--fp-blue-grey:#BFC9D8;--fp-mint:#A3C2CC;--fp-violet:#7C5CBF;--fp-green:#2E9E6B;--fp-red:#C84B4B;--fp-radius:16px;--fp-grad:linear-gradient(135deg,#37549E 0%,#2A4078 100%);--fp-grad-bronze:linear-gradient(135deg,#D9A86C 0%,#BF8440 100%);--fp-bg:#F2F5FA;--fp-card:#FFFFFF;--fp-soft:#F2F5FA;--fp-line:#E3E8F2;--fp-text:#221F20;--fp-mut:#6B7689;--fp-input:#FFFFFF;--fp-th:linear-gradient(180deg,#EDF1F9,#E5EBF6);--fp-th-text:#2A4078;--fp-hover:#F6F8FC;--fp-chip:#EAEDF3;--fp-light-accent:#E8EDF7;--fp-shadow:0 2px 8px rgba(34,49,94,.06),0 8px 28px rgba(34,49,94,.13);--fp-shadow-sm:0 1px 3px rgba(34,49,94,.05),0 3px 12px rgba(34,49,94,.09);--fp-topbar:rgba(255,255,255,.92)}html[data-theme=dark]{--fp-primary:#7E97DB;--fp-primary-dark:#5067A6;--fp-navy:#0A0B0F;--fp-bronze:#CBA53B;--fp-bronze-light:#E7CE7B;--fp-bg:#0E0F13;--fp-card:#16181F;--fp-soft:#111319;--fp-line:#262A34;--fp-text:#ECE7DD;--fp-mut:#9C9587;--fp-input:#0F1117;--fp-th:linear-gradient(180deg,#1D202A,#16181F);--fp-th-text:#CBB78A;--fp-hover:#1C1F29;--fp-chip:#20242F;--fp-primary-light:#1E2231;--fp-light-accent:#1E2231;--fp-grey:#2A2E39;--fp-blue-grey:#3C414F;--fp-grad:linear-gradient(135deg,#3D5188 0%,#2A3A6B 100%);--fp-grad-bronze:linear-gradient(135deg,#E7CE7B 0%,#BF8440 100%);--fp-shadow:0 4px 16px rgba(0,0,0,.55),0 20px 60px rgba(0,0,0,.72);--fp-shadow-sm:0 2px 8px rgba(0,0,0,.42),0 6px 22px rgba(0,0,0,.58);--fp-topbar:rgba(14,15,19,.82)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,Arial,sans-serif;background:linear-gradient(180deg,var(--fp-bg) 0%,#F5F8FD 100%) fixed;color:var(--fp-text);font-size:14px;display:flex;min-height:100vh}#root{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:100vh}body.theme-switching,body.theme-switching .card,body.theme-switching .topbar,body.theme-switching table.grid,body.theme-switching .kpi{transition:background .45s ease,color .45s ease,border-color .45s ease}::selection{background:#37549e38;color:inherit}html[data-theme=dark] ::selection{background:#cba53b40;color:inherit}::placeholder{color:var(--fp-mut);opacity:.68}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fp-blue-grey);border-radius:6px;border:2px solid var(--fp-bg)}::-webkit-scrollbar-thumb:hover{background:var(--fp-bronze)}#splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(900px 600px at 70% -10%,rgba(191,132,64,.2),transparent 55%),linear-gradient(150deg,#1b2a50,#2a4078 55%,#37549e);transition:opacity .6s ease,visibility .6s}#splash.hide{opacity:0;visibility:hidden}#splash.hide *,#splash.hide:before,#splash.hide .ring:before,#splash.hide .ring:after{animation:none!important}#splash .ring{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center}#splash .ring:before{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;border:3px solid transparent;border-top-color:var(--fp-bronze-light);border-right-color:#d9a86c59;animation:spin 1.1s linear infinite}#splash .ring:after{content:"";position:absolute;top:-26px;right:-26px;bottom:-26px;left:-26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);animation:spin 3.2s linear infinite reverse}#splash img{width:104px;animation:logoIn .9s cubic-bezier(.2,1.4,.4,1) both,breathe 2.6s ease 1s infinite}#splash .t{margin-top:34px;color:#fff;font-weight:800;letter-spacing:6px;font-size:15px;animation:fadeUp .8s .25s ease both}#splash .t span{font-weight:300}#splash .s{margin-top:6px;color:var(--fp-bronze-light);font-size:9.5px;letter-spacing:4px;font-weight:700;animation:fadeUp .8s .4s ease both}@keyframes spin{to{transform:rotate(360deg)}}@keyframes logoIn{0%{transform:scale(.4) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeUp{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.sidebar{width:236px;background:linear-gradient(180deg,#22335e,#2a4078 45%,#37549e);color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10;box-shadow:4px 0 24px #141e3c59}.sidebar:after{content:"";position:absolute;top:8%;right:0;bottom:8%;width:1px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(217,168,108,.45) 50%,transparent)}html[data-theme=dark] .sidebar{background:linear-gradient(180deg,#0a0b0f,#101117 60%,#14151c);border-right:1px solid #23262F;box-shadow:6px 0 30px #00000080}html[data-theme=dark] .sidebar:after{background:linear-gradient(180deg,transparent,rgba(203,165,59,.28) 50%,transparent)}.logo{padding:28px 22px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.logo img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(217,168,108,.35))}.logo .lt{font-size:19px;font-weight:800;letter-spacing:.5px;line-height:1.1}.logo .lt span{font-weight:300}.logo .lt small{display:block;font-size:9px;letter-spacing:4px;color:var(--fp-bronze-light);font-weight:700;margin-top:3px}.nav-group{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#ffffff4d;padding:18px 20px 6px;font-weight:700;display:flex;align-items:center;gap:7px}.nav-group:after{content:"";flex:1;height:1px;background:#ffffff14}#nav{overflow-y:auto;flex:1;padding-bottom:10px}#nav::-webkit-scrollbar-thumb{background:#fff3;border:none}#nav a{display:flex;align-items:center;gap:10px;color:#ffffffd1;text-decoration:none;padding:8px 20px;font-weight:600;font-size:13px;border-left:3px solid transparent;transition:background .18s,color .18s,border-color .18s,padding-left .18s,box-shadow .18s;position:relative}#nav a:hover{background:#ffffff14;color:#fff;padding-left:24px}.nav-ico{flex:0 0 auto;opacity:.75;transition:opacity .15s,color .15s}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--fp-bronze);color:#fff;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto}#nav a:hover .nav-ico{opacity:1}#nav a.active .nav-ico{opacity:1;color:var(--fp-bronze)}html[data-theme=dark] #nav a.active .nav-ico{color:var(--fp-bronze-light)}#nav a.active{background:linear-gradient(90deg,#bf844047,#ffffff0a 70%);border-left-color:var(--fp-bronze-light);border-left-width:4px;color:#fff;box-shadow:inset 4px 0 16px #d9a86c1f}#nav a.active:after{content:"";position:absolute;right:15px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--fp-bronze-light);box-shadow:0 0 7px #d9a86cb3;transform:translateY(-50%)}.nav-badge{font-style:normal;background:var(--fp-grad-bronze);border-radius:10px;padding:1px 8px;font-size:10.5px;margin-left:6px;box-shadow:0 2px 6px #bf844066}.nav-badge:empty{display:none}.sidebar-footer{padding:14px 20px;font-size:9.5px;color:#fff6;letter-spacing:.6px;border-top:1px solid rgba(255,255,255,.08)}main{flex:1;margin-left:236px;display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--fp-topbar);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:none;padding:16px 30px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5;box-shadow:var(--fp-shadow-sm)}.topbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--fp-line) 12%,var(--fp-line) 88%,transparent 100%)}#page-title{font-size:20px;font-weight:800;letter-spacing:.5px}#page-title:after{content:"";display:block;width:34px;height:3px;background:var(--fp-grad-bronze);border-radius:2px;margin-top:3px}.topbar-right{font-size:12.5px;color:var(--fp-mut);font-weight:600;display:flex;align-items:center;gap:10px}.user-chip{background:var(--fp-primary-light);color:var(--fp-primary);border-radius:20px;padding:5px 14px;font-weight:700;border:1px solid var(--fp-line);transition:border-color .15s,box-shadow .15s}.user-chip:hover{border-color:var(--fp-bronze);box-shadow:0 2px 8px #bf844040}.user-chip:after{content:" ▾";font-size:10px;opacity:.7}html[data-theme=dark] .user-chip{color:#aec0e8}.user-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--fp-card);border:1px solid var(--fp-line);border-radius:12px;box-shadow:var(--fp-shadow);min-width:230px;padding:6px;display:none;z-index:60;animation:pop .15s ease}.user-menu.open{display:block}.user-menu .um-head{padding:9px 12px;font-size:12px;color:var(--fp-mut);border-bottom:1px solid var(--fp-line);margin-bottom:5px;font-weight:700}.user-menu button{display:block;width:100%;text-align:left;background:none;border:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--fp-text);padding:9px 12px;border-radius:8px;cursor:pointer;transition:background .12s,color .12s}.user-menu button:hover{background:var(--fp-hover);color:var(--fp-primary)}.user-menu button.danger{color:var(--fp-red)}.user-menu button.danger:hover{background:#c84b4b1a;color:var(--fp-red)}html[data-theme=dark] .user-menu button:hover{color:#aec0e8}.view{padding:24px 36px 48px;max-width:none;width:100%}.view.anim>*{animation:fadeUp .4s ease both}.view.anim>*:nth-child(2){animation-delay:.06s}.view.anim>*:nth-child(3){animation-delay:.12s}.view.anim>*:nth-child(4){animation-delay:.18s}.view.anim>*:nth-child(5){animation-delay:.24s}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:24px}.kpi{background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);padding:22px 24px 20px;box-shadow:var(--fp-shadow-sm);position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--fp-grad)}.kpi.gold:before{background:var(--fp-grad-bronze)}.kpi.green:before{background:linear-gradient(135deg,#3dbd85,#2e9e6b)}.kpi.red:before{background:linear-gradient(135deg,#e06b6b,#c84b4b)}.kpi .n{font-size:36px;font-weight:800;margin:4px 0 2px;letter-spacing:-.6px;font-variant-numeric:tabular-nums;background:linear-gradient(155deg,var(--fp-primary) 20%,var(--fp-primary-dark) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.kpi.gold .n{background:linear-gradient(155deg,#d9a86c 20%,#bf8440);-webkit-background-clip:text;background-clip:text;color:transparent}.kpi.green .n{background:linear-gradient(155deg,#3dbd85 20%,#2e9e6b);-webkit-background-clip:text;background-clip:text;color:transparent}.kpi.red .n{background:linear-gradient(155deg,#e06b6b 20%,#c84b4b);-webkit-background-clip:text;background-clip:text;color:transparent}.kpi .l{font-size:11px;color:var(--fp-mut);font-weight:700;letter-spacing:1.1px;text-transform:uppercase}.kpi.click{cursor:pointer}.kpi.click:hover{transform:translateY(-3px);box-shadow:var(--fp-shadow);border-color:var(--fp-bronze-light)}.card{background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);padding:22px 26px;margin-bottom:24px;transition:border-color .2s,box-shadow .2s,transform .2s}.card:hover{transform:translateY(-2px);box-shadow:var(--fp-shadow);border-color:#37549e33}.card h3{font-size:15.5px;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:9px;letter-spacing:.25px}.card h3:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--fp-grad-bronze);flex:0 0 10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:20px;align-items:start}.dash-grid>.card{margin-bottom:0}.dash-grid .span2{grid-column:1/-1}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--fp-card);border:1px solid var(--fp-grey);color:var(--fp-text);border-radius:9px;padding:8px 15px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;min-height:40px;transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s,transform .18s,filter .18s,opacity .18s;box-shadow:0 1px 3px #141e3c14;position:relative;overflow:hidden}.btn:hover{border-color:var(--fp-primary);color:var(--fp-primary);transform:translateY(-1px)}html[data-theme=dark] .btn:hover{color:#aec0e8;border-color:#4a5e96}.btn.primary,.btn.bronze,.btn.green{border:none;color:#fff}.btn.primary{background:var(--fp-grad);box-shadow:0 4px 14px #37549e59}.btn.bronze{background:var(--fp-grad-bronze);box-shadow:0 4px 14px #bf844059,inset 0 1px #ffffff40}.btn.green{background:linear-gradient(135deg,#3dbd85,#2e9e6b);box-shadow:0 4px 14px #2e9e6b4d}.btn.primary:hover{color:#fff;transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 20px #37549e80,0 0 0 4px #37549e26}.btn.bronze:hover{color:#fff;transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 20px #bf84408c,0 0 0 4px #bf844024}.btn.green:hover{color:#fff;transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 20px #2e9e6b73,0 0 0 4px #2e9e6b1f}.btn:active:not(:disabled),.btn.primary:active:not(:disabled),.btn.bronze:active:not(:disabled),.btn.green:active:not(:disabled){transform:translateY(1px);filter:brightness(.93);box-shadow:none}.btn:focus-visible{outline:3px solid rgba(55,84,158,.38);outline-offset:2px}.btn.bronze:focus-visible{outline-color:#bf84406b}.btn.green:focus-visible{outline-color:#2e9e6b61}.btn.primary:after,.btn.bronze:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:.45s}.btn.primary:hover:after,.btn.bronze:hover:after{left:130%}.btn.danger{color:var(--fp-red)}.btn.danger:hover{border-color:var(--fp-red);color:var(--fp-red)}.btn.sm{padding:4px 11px;font-size:12px;min-height:34px}.btn:disabled{opacity:.45;cursor:default;transform:none}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar .spacer{flex:1}input,select,textarea{font-family:inherit;font-size:13.5px;border:1.5px solid var(--fp-grey);border-radius:10px;padding:9px 12px;min-height:38px;background:var(--fp-input);color:var(--fp-text);outline:none;transition:border-color .15s,box-shadow .15s;color-scheme:light}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color-scheme:dark}input:focus,select:focus,textarea:focus{border-color:var(--fp-primary);box-shadow:0 0 0 3px var(--fp-primary-light)}label{font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--fp-mut);display:block;margin:16px 0 4px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--fp-primary)}table.grid{width:100%;border-collapse:collapse;background:var(--fp-card);border-radius:var(--fp-radius);overflow:hidden;box-shadow:var(--fp-shadow-sm);border:1px solid var(--fp-line)}table.grid th{background:var(--fp-th);color:var(--fp-th-text);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;padding:12px 16px;border-bottom:1px solid var(--fp-line);font-weight:800;box-shadow:inset 0 -3px 8px #22315e0f}table.grid td{padding:11px 16px;border-bottom:1px solid var(--fp-line);vertical-align:middle;font-size:13.5px;line-height:1.45;font-variant-numeric:tabular-nums;transition:background .12s,box-shadow .12s}table.grid tr:last-child td{border-bottom:none}table.grid tbody tr:nth-child(odd) td{background:#37549e06}table.grid tr:hover td{background:var(--fp-hover);box-shadow:inset 2px 0 0 var(--fp-bronze)}table.grid tr:active td{background:var(--fp-primary-light);box-shadow:inset 2px 0 0 var(--fp-bronze);transition:none}html[data-theme=dark] table.grid tr:active td{background:#cba53b12;box-shadow:inset 2px 0 #cba53b66;transition:none}td .badge{vertical-align:middle}.empty{padding:34px;text-align:center;color:var(--fp-mut)}.badge{display:inline-flex;align-items:center;height:22px;font-size:11px;font-weight:700;border-radius:20px;padding:0 11px 0 9px;white-space:nowrap;letter-spacing:.3px}.badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;flex:0 0 6px;background:currentColor;margin-right:5px;opacity:.6}.badge.blue{background:var(--fp-primary-light);color:var(--fp-primary)}html[data-theme=dark] .badge.blue{color:#aec0e8}.badge.gold{background:linear-gradient(135deg,#d9a86c40,#bf844033);color:#bf8440}html[data-theme=dark] .badge.gold{color:#d9a86c}.badge.green{background:#2e9e6b29;color:#2e9e6b}html[data-theme=dark] .badge.green{color:#5bd1a0}.badge.red{background:#c84b4b24;color:#c84b4b}html[data-theme=dark] .badge.red{color:#e89090}.badge.grey{background:var(--fp-chip);color:var(--fp-mut)}.badge.violet{background:#7c5cbf26;color:var(--fp-violet)}html[data-theme=dark] .badge.violet{color:#b49de8}.tabs{display:flex;gap:2px;border-bottom:2px solid var(--fp-line);margin-bottom:16px;flex-wrap:wrap}.tabs button{background:none;border:none;font-family:inherit;font-size:13px;font-weight:700;color:var(--fp-mut);padding:9px 15px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.tabs button:hover{color:var(--fp-primary)}html[data-theme=dark] .tabs button:hover{color:#aec0e8}.tabs button.on{color:var(--fp-primary);border-bottom-color:var(--fp-bronze)}html[data-theme=dark] .tabs button.on{color:#e8edf7}.tabs button i{font-style:normal;background:var(--fp-chip);border-radius:10px;padding:0 7px;font-size:10.5px;margin-left:5px}.tabs button.on i{background:var(--fp-grad-bronze);color:#fff}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c14288c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:50;overflow:auto}.modal{background:var(--fp-card);border-radius:18px;box-shadow:0 24px 80px #0a102380;width:690px;max-width:100%;padding:24px 28px;animation:pop .18s cubic-bezier(.2,1.2,.4,1);margin-bottom:40px;border-top:4px solid var(--fp-bronze);max-height:86vh;overflow-y:auto}.modal.wide{width:1000px}@keyframes pop{0%{transform:translateY(10px) scale(.97);opacity:0}to{transform:none;opacity:1}}.modal h2{font-size:19px;font-weight:800;letter-spacing:.4px;margin-bottom:16px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:2;background:var(--fp-card);margin-left:-28px;margin-right:-28px;padding:20px 28px 12px;border-bottom:1px solid var(--fp-line)}.modal h2:before{content:"";width:26px;height:26px;background:url(/logo-dark.png) center/contain no-repeat;flex:0 0 26px}html[data-theme=dark] .modal h2:before{background-image:url(/logo-white.png)}.modal .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.modal .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px}.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--fp-line)}.modal input,.modal select,.modal textarea{width:100%}.section-label{font-size:11px;font-weight:800;color:var(--fp-primary);letter-spacing:1.4px;text-transform:uppercase;margin:16px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--fp-primary-light);display:flex;align-items:center;gap:7px}html[data-theme=dark] .section-label{color:#aec0e8}.section-label:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--fp-grad-bronze)}#toast-root{position:fixed;right:22px;bottom:22px;z-index:99;display:flex;flex-direction:column;gap:8px}.toast{background:#1a1f2eed;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);color:#fff;border-radius:12px;padding:12px 19px;font-size:13px;font-weight:600;box-shadow:0 8px 32px #00000059,0 2px 8px #0003;display:flex;align-items:center;gap:9px;animation:toastIn .35s cubic-bezier(.2,1.2,.4,1) both;max-width:430px;border-left:4px solid var(--fp-green)}@keyframes toastIn{0%{transform:translate(60px);opacity:0}to{transform:none;opacity:1}}.toast:before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--fp-green)}.toast.error{border-left-color:var(--fp-red)}.toast.error:before{background:var(--fp-red)}.login-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 700px at 65% 45%,rgba(191,132,64,.12),transparent 55%),radial-gradient(1200px 700px at 75% -10%,rgba(191,132,64,.2),transparent 55%),radial-gradient(900px 600px at -10% 110%,rgba(163,194,204,.16),transparent 50%),linear-gradient(150deg,#1b2a50,#2a4078 55%,#37549e);background-size:130% 130%;animation:bgShift 14s ease infinite}@keyframes bgShift{0%,to{background-position:0% 30%}50%{background-position:100% 70%}}.login-box{background:#ffffffed;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border-radius:22px;padding:40px 44px;width:410px;box-shadow:0 4px 16px #0000001f,0 24px 64px #00000073,0 60px 140px #0a143252,0 0 0 1px #bf844024;text-align:center;border-top:5px solid var(--fp-bronze);animation:pop .4s cubic-bezier(.2,1.2,.4,1) both}.login-box .btn{box-shadow:0 6px 24px #bf844073,inset 0 1px #fff3}.login-box .btn:hover{box-shadow:0 10px 32px #bf844099,0 0 0 4px #bf844024,inset 0 1px #ffffff40}.login-box img.lg-logo{width:120px;margin:0 auto 6px;display:block;animation:logoIn .8s cubic-bezier(.2,1.4,.4,1) both}.login-box .logo2{font-size:24px;font-weight:800;color:var(--fp-primary);letter-spacing:2px}.login-box .logo2 span{font-weight:300}.login-box p{color:#6b7689;font-size:12px;margin:6px 0 16px;letter-spacing:.4px}.login-box label{text-align:left;color:#6b7689}.login-box input{width:100%;background:#fff;color:#221f20;border-color:#dadee5;color-scheme:light}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cal-head{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--fp-mut);text-transform:uppercase;text-align:center;padding:4px}.cal-day{background:var(--fp-card);border:1px solid var(--fp-line);border-radius:10px;min-height:94px;padding:7px 9px;font-size:11.5px;box-shadow:var(--fp-shadow-sm)}.cal-day.other{opacity:.4}.cal-day.today{border-color:var(--fp-bronze);box-shadow:0 0 0 2px #bf84404d}.cal-day .d{font-weight:800;font-size:12.5px;margin-bottom:4px}.cal-day.today .d{color:var(--fp-bronze)}.cal-ev{border-radius:6px;padding:2.5px 8px;margin-bottom:3px;font-weight:600;font-size:10.5px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .15s}.cal-ev:hover{transform:translate(2px)}.cal-ev.task{background:linear-gradient(135deg,#d9a86c4d,#bf844038);color:#bf8440}html[data-theme=dark] .cal-ev.task{color:#e5be8b}.cal-ev.task.done{text-decoration:line-through;opacity:.55}.cal-ev.request{background:var(--fp-primary-light);color:var(--fp-primary)}html[data-theme=dark] .cal-ev.request{color:#aec0e8}.cal-ev.supply{background:#2e9e6b29;color:#2e9e6b}html[data-theme=dark] .cal-ev.supply{color:#5bd1a0}.cal-ev.shipment{background:#7c5cbf26;color:var(--fp-violet)}html[data-theme=dark] .cal-ev.shipment{color:#b49de8}.map-grid{display:flex;gap:14px;align-items:flex-start;margin-top:8px}.map-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.ryad-head{background:var(--fp-soft);color:var(--fp-primary);border-radius:8px;text-align:center;font-weight:800;font-size:12px;padding:4px 0;font-family:Montserrat}.map-lift{border:1px dashed var(--fp-blue-grey);border-radius:8px;text-align:center;font-size:10px;color:var(--fp-mut);padding:6px 2px;line-height:1.5}.map-cell{position:relative;overflow:hidden;width:100%;background:var(--fp-card);border:1.5px solid var(--fp-blue-grey);border-radius:8px;text-align:left;padding:6px 8px 9px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;color:var(--fp-text);font-family:inherit}.map-cell .mc-code{display:block;font-family:Consolas,monospace;font-weight:800;font-size:12px;color:var(--fp-text);line-height:1.2}.map-cell .mc-sub{display:block;font-size:9.5px;font-weight:600;color:var(--fp-mut);font-family:Montserrat}.map-cell .mc-bar{position:absolute;left:0;bottom:0;height:3px;border-radius:0 2px 0 0}.map-cell:hover{border-color:var(--fp-bronze);transform:translateY(-2px);box-shadow:var(--fp-shadow-sm)}.map-cell.full{border-color:var(--fp-red)}.map-cell.hl{outline:3px solid var(--fp-bronze);outline-offset:1px;animation:hlPulse 1.4s ease infinite}@keyframes hlPulse{0%,to{outline-color:var(--fp-bronze)}50%{outline-color:#bf844040}}.shelf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:4px 0 10px}.shelf-place{background:var(--fp-soft);border:1px solid var(--fp-line);border-radius:5px;text-align:center;font-size:8.5px;font-weight:700;color:var(--fp-mut);padding:6px 1px;font-family:Consolas,monospace}.req-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.req-head .num{font-size:19px;font-weight:800;font-family:Consolas,monospace;color:var(--fp-primary)}html[data-theme=dark] .req-head .num{color:#aec0e8}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;margin:12px 0;font-size:12px}.meta-grid b{display:block;font-size:13px}.meta-grid span{color:var(--fp-mut);font-size:9.5px;letter-spacing:1px;text-transform:uppercase;font-weight:800}.progress-wrap{background:var(--fp-chip);border-radius:6px;height:9px;margin:8px 0;display:block;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#37549e,#5b7bc8,#d9a86c);background-size:200% 100%;height:9px;border-radius:6px;transition:.4s;display:block;animation:gradMove 3s linear infinite}@keyframes gradMove{0%{background-position:0% 0}to{background-position:200% 0}}.check-item{display:flex;gap:10px;align-items:flex-start;background:var(--fp-soft);border:1px solid var(--fp-line);border-radius:10px;padding:10px 13px;margin-bottom:8px;cursor:pointer;transition:border-color .15s,transform .15s}.check-item:hover{border-color:var(--fp-bronze-light);transform:translate(2px)}.check-item.done{background:#2e9e6b21;border-color:#2e9e6b66}.check-item input{margin-top:2px}.check-item small{color:var(--fp-mut);display:block;font-size:11px}.chat-box{max-height:300px;overflow-y:auto;display:flex;flex-direction:column-reverse;gap:7px;margin-bottom:9px}.chat-msg{background:var(--fp-soft);border-radius:11px;padding:8px 12px;font-size:12.5px}.chat-msg.internal{background:#bf844024}.chat-msg.system{background:var(--fp-primary-light);font-style:italic}.chat-msg .who{font-size:10.5px;color:var(--fp-mut);font-weight:700}.price-note{color:var(--fp-mut);font-size:12px;font-style:italic;margin:2px 0 10px;line-height:1.45}.price-grid td{vertical-align:top;font-size:12.5px}.price-subhead td{background:var(--fp-soft);font-size:12px;letter-spacing:.3px}.price-tag{display:inline-block;background:var(--fp-primary-light);color:var(--fp-primary-dark);border:1px solid var(--fp-line);border-radius:8px;padding:3px 10px;font-weight:800;font-size:12.5px;white-space:nowrap}html[data-theme=dark] .price-tag{background:#bf844026;color:var(--fp-bronze-light, #BF8440);border-color:#bf844059}.p-photo{width:42px;height:42px;object-fit:cover;border-radius:8px;border:1px solid var(--fp-line);display:flex;align-items:center;justify-content:center;background:var(--fp-soft);transition:transform .15s,box-shadow .15s;cursor:zoom-in}.p-photo:hover{transform:scale(2.6);box-shadow:var(--fp-shadow);position:relative;z-index:20}.p-photo.nophoto{font-size:18px;cursor:default}.p-photo.nophoto:hover{transform:none;box-shadow:none}html[data-theme=dark] body{background:radial-gradient(1100px 620px at 80% -8%,rgba(191,132,64,.1),transparent 60%),radial-gradient(900px 600px at -6% 108%,rgba(126,151,219,.06),transparent 55%),var(--fp-bg);background-attachment:fixed}html[data-theme=dark] .card,html[data-theme=dark] .kpi,html[data-theme=dark] table.grid,html[data-theme=dark] .cal-day{background:linear-gradient(180deg,#191c24,#15171e);border-color:#262a34;box-shadow:0 1px #ffffff0a inset,var(--fp-shadow-sm)}html[data-theme=dark] .card:hover{border-color:#34394a;transform:translateY(-2px);box-shadow:0 1px #ffffff0a inset,var(--fp-shadow)}html[data-theme=dark] .topbar{background:#0e0f13b3;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-bottom:none}html[data-theme=dark] .topbar:after{background:linear-gradient(90deg,transparent 0%,rgba(203,165,59,.22) 12%,rgba(203,165,59,.22) 88%,transparent 100%)}html[data-theme=dark] #page-title,html[data-theme=dark] .modal h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:700;letter-spacing:.3px;font-size:26px}html[data-theme=dark] .modal h2{font-size:24px;background:linear-gradient(180deg,#1a1d25 92%,transparent)}html[data-theme=dark] .kpi .n{background:linear-gradient(135deg,#f2e7c6,#e7ce7b 55%,#bf8440);-webkit-background-clip:text;background-clip:text;color:transparent}html[data-theme=dark] #nav a.active{background:linear-gradient(90deg,rgba(203,165,59,.22),transparent 75%);border-left-color:var(--fp-bronze-light);box-shadow:inset 0 0 24px #cba53b14}html[data-theme=dark] #nav a.active:after{content:"";position:absolute;right:15px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--fp-bronze-light);box-shadow:0 0 9px var(--fp-bronze-light);transform:translateY(-50%)}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:var(--fp-bronze);box-shadow:0 0 0 3px #cba53b2e}html[data-theme=dark] .btn{box-shadow:0 1px 3px #00000073}html[data-theme=dark] .btn.bronze{box-shadow:0 6px 22px #bf84406b,inset 0 0 0 1px #e7ce7b40}html[data-theme=dark] .btn.primary{box-shadow:0 6px 20px #283a6b8c}html[data-theme=dark] .btn.primary:hover{color:#fff;box-shadow:0 8px 28px #3d5188b3,0 0 0 4px #7e97db33}html[data-theme=dark] .btn.bronze:hover{color:#fff;box-shadow:0 8px 28px #bf844099,0 0 0 4px #cba53b33,inset 0 0 0 1px #e7ce7b40}html[data-theme=dark] .btn.primary:active:not(:disabled),html[data-theme=dark] .btn.bronze:active:not(:disabled){transform:translateY(1px);filter:brightness(.88);box-shadow:none}html[data-theme=dark] .user-chip{background:#1c2030;border-color:#2c3142}html[data-theme=dark] .user-chip:hover{border-color:var(--fp-bronze);box-shadow:0 2px 12px #cba53b4d}html[data-theme=dark] .modal{background:linear-gradient(180deg,#1a1d25,#15171e);border-top:3px solid var(--fp-bronze);box-shadow:0 30px 90px #000000c7,0 0 0 1px #cba53b1a}html[data-theme=dark] .modal-back{background:#06070aa8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html[data-theme=dark] .section-label{color:var(--fp-bronze-light);border-bottom-color:#cba53b40}html[data-theme=dark] table.grid tbody tr:nth-child(odd) td{background:#ffffff03}html[data-theme=dark] table.grid tr:hover td{background:#cba53b0d;box-shadow:inset 2px 0 #cba53b59}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2f3340;border-color:var(--fp-bg)}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--fp-bronze)}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.menu-toggle{display:none;align-items:center;background:none;border:none;font-size:23px;line-height:1;color:var(--fp-text);cursor:pointer;padding:3px 9px;border-radius:8px;transition:.12s}.menu-toggle:hover{background:var(--fp-hover)}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a102380;z-index:35}.sidebar{transition:transform .28s ease}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.modal{position:relative}.modal h2{padding-right:30px}.modal-x{position:absolute;top:11px;right:13px;background:none;border:none;font-size:18px;line-height:1;color:var(--fp-mut);cursor:pointer;padding:4px 9px;border-radius:8px;z-index:3;transition:background .12s,color .12s,transform .2s cubic-bezier(.2,1.3,.4,1)}.modal-x:hover{background:var(--fp-hover);color:var(--fp-text);transform:rotate(90deg)}.gs-grp{margin-bottom:12px}.gs-h{font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--fp-mut);margin:0 0 5px}.gs-item{display:block;text-decoration:none;color:var(--fp-text);padding:9px 11px;border-radius:9px;font-size:13.5px;border:1px solid transparent;transition:.12s}.gs-item:hover{background:var(--fp-hover);border-color:var(--fp-line)}.gs-mut{color:var(--fp-mut);font-size:12px}.mc-confirm{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a102380;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:6;padding:16px}.mc-box{background:var(--fp-card);border-radius:14px;padding:22px 24px;box-shadow:var(--fp-shadow);max-width:380px;width:100%;text-align:center;border-top:3px solid var(--fp-bronze)}.mc-t{font-size:16.5px;font-weight:800;margin-bottom:5px}.mc-s{font-size:13px;color:var(--fp-mut);margin-bottom:16px}.mc-a{display:flex;flex-direction:column;gap:8px}.mc-a .btn{justify-content:center;padding:11px 16px}@media (max-width:1000px){.grid2{grid-template-columns:1fr}}@media (max-width:820px){.sidebar{transform:translate(-100%);z-index:40;width:266px;box-shadow:10px 0 44px #0a10238c}body.nav-open .sidebar{transform:none}body.nav-open .nav-overlay{display:block}main{margin-left:0}.menu-toggle{display:inline-flex;align-items:center}.topbar{padding:10px 13px;gap:8px}#page-title{font-size:16px}#page-title:after{margin-top:2px}html[data-theme=dark] #page-title{font-size:19px}.topbar-right{gap:7px}.view{padding:14px 12px}.kpi-row{gap:11px;grid-template-columns:repeat(2,1fr)}.grid2,.modal .row2,.modal .row3{grid-template-columns:1fr}.btn{padding:11px 16px;font-size:14px;min-height:40px}.btn.sm{padding:8px 13px;font-size:13px;min-height:36px}#nav a{padding:12px 20px;min-height:40px;display:flex;align-items:center}.menu-toggle{min-width:40px;min-height:40px;justify-content:center}.tabs button{min-height:40px}input,select,textarea{font-size:16px;padding:10px 12px;max-width:100%}img,canvas,video,pre{max-width:100%}.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs button{white-space:nowrap}.modal-back{padding:0;align-items:stretch}.modal,.modal.wide{width:100%;max-width:100%;min-height:100vh;border-radius:0;margin-bottom:0;padding:18px 15px}.modal .actions{position:sticky;bottom:0;background:var(--fp-card);margin:16px -15px 0;padding:13px 15px}#toast-root{right:12px;left:12px;bottom:12px}.toast{max-width:100%}.shelf-grid{grid-template-columns:repeat(4,1fr)}.cal-grid{gap:3px}.cal-day{min-height:62px;padding:4px 5px;font-size:10px}.map-grid{overflow-x:auto;gap:8px}.map-col{min-width:62px}.map-cell{padding:5px 5px 8px}}@media (max-width:480px){.shelf-grid{grid-template-columns:repeat(3,1fr)}.kpi .n{font-size:23px}.modal h2{font-size:16px}html[data-theme=dark] .modal h2{font-size:20px}}@media print{.sidebar,.topbar,#toast-root,#splash,.no-print,.fp-assist-fab{display:none!important}main{margin:0}body{background:#fff}.modal-x,.modal .actions{display:none!important}body:has(.modal-back .printable) #root{display:none!important}.modal-back:has(.printable){position:static!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;display:block!important}.modal:has(.printable){width:100%!important;max-width:100%!important;box-shadow:none!important;border-radius:0!important;margin:0!important}}.dw{background:var(--fp-card);border:1px solid var(--fp-line);border-radius:var(--fp-radius);box-shadow:var(--fp-shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.dw-head{height:44px;min-height:44px;flex:0 0 44px;display:flex;align-items:center;padding:0 18px;background:var(--fp-th);border-bottom:1px solid var(--fp-line);font-weight:800;font-size:13px;letter-spacing:.25px;gap:8px;color:var(--fp-th-text)}.dw-body{padding:16px 18px;overflow-y:auto;flex:1}.dw-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:128px;color:var(--fp-mut);font-size:13px;font-weight:600;flex-direction:column;gap:8px}html[data-theme=dark] .dw{background:linear-gradient(180deg,#191c24,#15171e);border-color:#262a34;box-shadow:0 1px #ffffff0a inset,var(--fp-shadow-sm)}html[data-theme=dark] .dw-head{background:var(--fp-th);color:var(--fp-th-text)}.dw-body::-webkit-scrollbar,.table-scroll::-webkit-scrollbar{width:8px;height:8px}.dw-body::-webkit-scrollbar-track,.table-scroll::-webkit-scrollbar-track{background:transparent}.dw-body::-webkit-scrollbar-thumb,.table-scroll::-webkit-scrollbar-thumb{background:var(--fp-blue-grey);border-radius:6px;border:2px solid var(--fp-bg)}.dw-body::-webkit-scrollbar-thumb:hover,.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--fp-bronze)}html[data-theme=dark] .dw-body::-webkit-scrollbar-thumb,html[data-theme=dark] .table-scroll::-webkit-scrollbar-thumb{background:#2f3340;border-color:var(--fp-bg)}html[data-theme=dark] .dw-body::-webkit-scrollbar-thumb:hover,html[data-theme=dark] .table-scroll::-webkit-scrollbar-thumb:hover{background:var(--fp-bronze)}@media (min-width:1700px){.view{padding:28px 48px 56px}.kpi-row{gap:22px}.topbar{padding:14px 28px}}html,body{overflow-x:hidden}@media (display-mode:standalone){.sidebar{padding-top:env(safe-area-inset-top,0px)}.sidebar-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.topbar{padding-top:calc(13px + env(safe-area-inset-top,0px));padding-left:calc(30px + env(safe-area-inset-left,0px));padding-right:calc(30px + env(safe-area-inset-right,0px))}#toast-root{bottom:calc(22px + env(safe-area-inset-bottom,0px));right:calc(22px + env(safe-area-inset-right,0px))}}@media (display-mode:standalone) and (max-width:820px){.topbar{padding-top:calc(10px + env(safe-area-inset-top,0px));padding-left:calc(13px + env(safe-area-inset-left,0px));padding-right:calc(13px + env(safe-area-inset-right,0px))}#toast-root{right:calc(12px + env(safe-area-inset-right,0px));left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px))}.modal .actions{padding-bottom:calc(13px + env(safe-area-inset-bottom,0px))}}
