:root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, .5);--swal2-container-padding: .625em;--swal2-backdrop: rgba(0, 0, 0, .4);--swal2-backdrop-transition: background-color .15s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: .3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show .3s;--swal2-hide-animation: swal2-hide .15s forwards;--swal2-icon-zoom: 1;--swal2-title-padding: .8em 1em 0;--swal2-html-container-padding: 1em 1.6em .3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: .1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color .2s, box-shadow .2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .06), 0 0 0 3px rgba(100, 150, 200, .5);--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, .3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color .2s, box-shadow .2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color .2s, box-shadow .2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: .25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: .25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: .25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show .5s;--swal2-toast-hide-animation: swal2-toast-hide .1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / .075), 0 1px 2px hsl(0deg 0% 0% / .075), 1px 2px 4px hsl(0deg 0% 0% / .075), 1px 3px 8px hsl(0deg 0% 0% / .075), 2px 4px 16px hsl(0deg 0% 0% / .075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, .7)}@media(prefers-color-scheme:dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, .7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{background-color:#0000!important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:auto}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:#0000;pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static!important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:#0000!important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0,1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0,1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0,1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none!important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0,100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px #0000;font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb,var(--swal2-confirm-button-background-color),var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb,var(--swal2-confirm-button-background-color),var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb,var(--swal2-deny-button-background-color),var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb,var(--swal2-deny-button-background-color),var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb,var(--swal2-cancel-button-background-color),var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb,var(--swal2-cancel-button-background-color),var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto!important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:#0000;color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:#0000;color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message):before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:#0000;font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4!important;grid-row:1/4!important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:auto}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:.5em 0 0;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:translate3d(0,-50px,0) scale(.9);opacity:0}to{transform:translateZ(0) scale(1);opacity:1}}@keyframes swal2-hide{0%{transform:translateZ(0) scale(1);opacity:1}to{transform:translate3d(0,-50px,0) scale(.9);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}to{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}to{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotate(45deg);opacity:0}25%{transform:rotate(-25deg);opacity:.4}50%{transform:rotate(15deg);opacity:.8}75%{transform:rotate(-5deg);opacity:1}to{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotate(2deg)}33%{transform:translateY(0) rotate(-2deg)}66%{transform:translateY(.3125em) rotate(2deg)}to{transform:translateY(0) rotate(0)}}@keyframes swal2-toast-hide{to{transform:rotate(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}to{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}to{top:.9375em;right:.1875em;width:1.375em}}:root{color-scheme:light;--bg: #f2f5fb;--bg-glow-1: rgba(61, 90, 153, .18);--bg-glow-2: rgba(14, 159, 159, .14);--surface: rgba(255, 255, 255, .78);--surface-solid: #ffffff;--surface-raised: rgba(255, 255, 255, .95);--border: rgba(30, 50, 90, .12);--border-strong: rgba(30, 50, 90, .22);--text: #16203a;--muted: #5b6a86;--primary: #3d5a99;--primary-hover: #2f4a83;--primary-soft: rgba(61, 90, 153, .12);--accent: #0e8f8f;--accent-soft: rgba(14, 143, 143, .12);--accent-border: rgba(14, 143, 143, .3);--button-surface: rgba(255, 255, 255, .9);--button-primary-bg: linear-gradient(135deg, #3d5a99 0%, #0e8f8f 100%);--button-primary-hover: linear-gradient(135deg, #2f4a83 0%, #0b7a7a 100%);--danger: #c94444;--danger-soft: rgba(201, 68, 68, .12);--success: #1f8f61;--success-soft: rgba(31, 143, 97, .12);--warning: #b97812;--warning-soft: rgba(185, 120, 18, .14);--shadow: 0 18px 50px rgba(31, 46, 84, .12);--shadow-soft: 0 8px 22px rgba(31, 46, 84, .08);--radius: 16px;--radius-sm: 10px;--sidebar-width: 248px;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}[data-theme=dark]{color-scheme:dark;--bg: #0a1120;--bg-glow-1: rgba(74, 110, 190, .25);--bg-glow-2: rgba(14, 159, 159, .12);--surface: rgba(18, 28, 48, .74);--surface-solid: #111c30;--surface-raised: rgba(22, 34, 56, .96);--border: rgba(160, 185, 235, .14);--border-strong: rgba(160, 185, 235, .26);--text: #e7eefc;--muted: #9aa9c6;--primary: #7f9fe4;--primary-hover: #9db8f2;--primary-soft: rgba(127, 159, 228, .16);--accent: #46c5c5;--accent-soft: rgba(70, 197, 197, .16);--accent-border: rgba(70, 197, 197, .34);--button-surface: rgba(22, 34, 56, .96);--button-primary-bg: linear-gradient(135deg, #7f9fe4 0%, #46c5c5 100%);--button-primary-hover: linear-gradient(135deg, #9db8f2 0%, #5ed6d6 100%);--danger: #f07b7b;--danger-soft: rgba(240, 123, 123, .14);--success: #4fd39a;--success-soft: rgba(79, 211, 154, .14);--warning: #e6b45a;--warning-soft: rgba(230, 180, 90, .14);--shadow: 0 20px 60px rgba(0, 0, 0, .45);--shadow-soft: 0 10px 26px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:radial-gradient(1000px 600px at 85% -10%,var(--bg-glow-1),transparent 60%),radial-gradient(800px 500px at 5% 110%,var(--bg-glow-2),transparent 60%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}a.btn:hover{color:var(--text)}a.btn-primary:hover{color:#fff}[data-theme=dark] a.btn-primary:hover{color:#0a1120}a.btn-ghost:hover{color:var(--text)}a.btn-secondary:hover{color:var(--accent)}a.btn-danger:hover{color:var(--danger)}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:38px;padding:.55rem .95rem;border-radius:10px;border:1px solid var(--border);background:var(--button-surface);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0c18300d;transition:transform .12s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:0 5px 14px #1f2e541a}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{border-color:transparent;background:var(--button-primary-bg);color:#fff;box-shadow:0 6px 16px var(--primary-soft)}[data-theme=dark] .btn-primary{color:#0a1120}.btn-primary:hover{background:var(--button-primary-hover);border-color:transparent;box-shadow:0 8px 22px var(--primary-soft)}.btn-ghost{background:var(--button-surface);border-color:var(--border);color:var(--muted)}.btn-ghost:hover{border-color:var(--border-strong);background:var(--primary-soft);color:var(--text)}.btn-secondary{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.btn-secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.btn-danger:hover{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.btn-sm{min-height:32px;padding:.35rem .7rem;font-size:.8rem;border-radius:8px}input[type=file]{color:var(--muted);font-size:.82rem}input[type=file]::file-selector-button{min-height:32px;margin-right:.7rem;padding:.35rem .75rem;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}input[type=file]::file-selector-button:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.icon-btn{width:36px;height:36px;padding:0;border-radius:10px}.input,.select,.textarea{width:100%;min-height:40px;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.textarea{min-height:120px;resize:vertical}.field{display:flex;flex-direction:column;gap:.4rem}.field>label,.label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.check{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.check input{accent-color:var(--primary);width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.card-pad{padding:1.25rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:var(--primary-soft);color:var(--primary);white-space:nowrap}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-muted{background:var(--border);color:var(--muted)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.muted{color:var(--muted)}.small{font-size:.8rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.row{display:flex;align-items:center;gap:.6rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.wrap{flex-wrap:wrap}.grid{display:grid;gap:1rem}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.7rem .85rem;border-radius:10px;font-size:.84rem;line-height:1.4}.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-info{background:var(--primary-soft);color:var(--primary)}.swal2-popup.tr-swal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);color:var(--text);font-family:inherit;box-shadow:var(--shadow)}.tr-swal .swal2-title{color:var(--text);font-size:1.15rem;font-weight:700}.tr-swal .swal2-html-container{color:var(--muted);font-size:.88rem;line-height:1.55}.tr-swal .swal2-actions{gap:.5rem}.swal2-toast.tr-swal-toast{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-soft);font-family:inherit}.swal2-toast.tr-swal-toast .swal2-title{color:var(--text);font-size:.82rem;font-weight:600}.swal2-timer-progress-bar{background:var(--primary)}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}.login-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;pointer-events:none}.login-orb-1{width:420px;height:420px;right:-120px;top:-120px;background:radial-gradient(circle,var(--bg-glow-1),transparent 68%);animation:float 9s ease-in-out infinite}.login-orb-2{width:340px;height:340px;left:-100px;bottom:-100px;background:radial-gradient(circle,var(--bg-glow-2),transparent 68%);animation:float 11s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-24px,18px) scale(1.05)}}.login-card{width:100%;max-width:430px;padding:2.4rem;position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.login-top-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.35rem}.login-header{text-align:center;margin-bottom:1.75rem}.login-logo{width:56px;height:56px;margin:0 auto .9rem;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:1.4rem;font-weight:800;box-shadow:0 10px 24px var(--primary-soft)}.login-title{font-size:1.35rem;font-weight:800;letter-spacing:-.01em}.login-title span{color:var(--primary)}.login-subtitle{margin-top:.3rem;color:var(--muted);font-size:.84rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field .input-wrap{position:relative}.login-field .input{padding-left:2.6rem;padding-right:2.6rem;height:46px}.input-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:flex}.pw-toggle{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);cursor:pointer;padding:.25rem;border-radius:6px}.pw-toggle:hover{color:var(--text);background:var(--primary-soft)}.login-submit{width:100%;height:46px;margin-top:.35rem}.login-notice{margin-bottom:.25rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.25rem;border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}.brand{display:flex;align-items:center;gap:.7rem;padding:.25rem .35rem}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:800;font-size:1rem}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-size:.95rem}.brand-text small{color:var(--muted);font-size:.68rem}.nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:10px;color:var(--muted);font-size:.88rem;font-weight:600;transition:background-color .16s ease,color .16s ease}.nav-link:hover{background:var(--primary-soft);color:var(--text)}.nav-link.router-link-active{background:var(--primary-soft);color:var(--primary)}.nav-link svg{flex-shrink:0}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.user-chip{display:flex;align-items:center;gap:.6rem;padding:.55rem;border-radius:10px;background:var(--primary-soft)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}[data-theme=dark] .avatar{color:#0a1120}.user-meta{min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:.8rem}.user-meta small{font-size:.7rem;color:var(--muted)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1{font-size:1.2rem;font-weight:800;letter-spacing:-.01em}.topbar-actions{display:flex;align-items:center;gap:.45rem}.content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;min-width:0;width:100%;max-width:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-head h2{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.page-head p{color:var(--muted);font-size:.86rem;margin-top:.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-card{padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.35rem}.stat-label{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.stat-value{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;line-height:1.05}.stat-hint{color:var(--muted);font-size:.76rem}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.panel-head h3{font-size:.98rem;font-weight:700}.panel-body{padding:.4rem 0}.list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.15rem;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--primary-soft)}.list-main{min-width:0;display:flex;flex-direction:column;gap:.15rem}.list-main strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-main small{color:var(--muted);font-size:.75rem}.filters{padding:1rem 1.15rem;display:grid;grid-template-columns:1.4fr .7fr .7fr auto auto;gap:.75rem;align-items:end}.filters .wide{grid-column:span 2}.filters-actions{display:flex;gap:.5rem;flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:820px}thead th{text-align:left;white-space:nowrap;padding:.7rem 1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-solid) 55%,transparent);position:sticky;top:0;z-index:1}tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover{background:var(--primary-soft)}tbody tr:last-child td{border-bottom:0}.cell-title{display:flex;flex-direction:column;gap:.2rem;max-width:380px}.cell-title strong{font-size:.85rem;line-height:1.35}.cell-title small{color:var(--muted);font-size:.74rem}.cpv-mini{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.2rem}.cpv-mini span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;padding:.1rem .35rem;border-radius:5px;background:var(--primary-soft);color:var(--primary)}.table-actions{display:flex;gap:.3rem;align-items:center}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.15rem;border-top:1px solid var(--border);flex-wrap:wrap}.pagination-info{color:var(--muted);font-size:.8rem}.detail-head{padding:1.35rem;display:flex;flex-direction:column;gap:.9rem}.detail-head h2{font-size:1.35rem;line-height:1.3;letter-spacing:-.02em}.detail-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.detail-actions{display:flex;gap:.5rem;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.detail-section{padding:1.15rem;display:flex;flex-direction:column;gap:.9rem}.detail-section h3{font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:.45rem}.detail-item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.detail-item .label{font-size:.68rem}.detail-item .value{font-size:.88rem;overflow-wrap:anywhere}.detail-item .value.highlight{font-size:1rem;font-weight:700;color:var(--primary)}.note-box{display:flex;flex-direction:column;gap:.65rem}.attachments{display:flex;flex-direction:column;gap:.5rem}.attachment{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid)}.attachment-info{min-width:0;display:flex;flex-direction:column;gap:.1rem}.attachment-info strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-info small{color:var(--muted);font-size:.72rem}details.raw{padding:1rem 1.15rem}details.raw summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted)}pre{overflow:auto;padding:.85rem;border-radius:10px;background:var(--surface-solid);border:1px solid var(--border);font-size:.75rem;line-height:1.45;max-height:340px;margin:.75rem 0 0}.watch-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.watch-card{padding:1.1rem;display:flex;flex-direction:column;gap:.75rem}.watch-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.watch-card-head h3{font-size:.98rem}.watch-filters{display:flex;flex-wrap:wrap;gap:.35rem}.watch-actions{display:flex;gap:.45rem;flex-wrap:wrap}.settings-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.segmented{display:inline-flex;padding:3px;border-radius:10px;background:var(--primary-soft);gap:2px}.segmented button{border:0;background:transparent;color:var(--muted);padding:.4rem .7rem;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600}.segmented button.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-soft)}@media(max-width:1080px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;gap:.75rem;padding:.65rem .9rem;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.brand-text,.sidebar-footer .user-chip,.sidebar-footer .btn span{display:none}.nav{flex-direction:row}.nav-link{padding:.5rem .6rem;font-size:.8rem}.nav-link span{display:none}.sidebar-footer{margin:0 0 0 auto;padding:0;border:0}.topbar{padding:.85rem 1rem}.content{padding:1rem}.filters{grid-template-columns:1fr}.filters .wide{grid-column:auto}}@media(max-width:520px){.login-card{padding:1.75rem 1.25rem}.topbar-actions .lang-label{display:none}}.impersonation-banner{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.45rem 1rem;background:#b7791f;color:#fff;font-size:.8rem;font-weight:700}.impersonation-banner .btn{color:#fff;border-color:#ffffff73;background:#ffffff1f}.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1.5rem;min-height:60px;padding:0 1.25rem;background:color-mix(in srgb,var(--bg) 88%,var(--surface-solid));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);flex-shrink:0}.brand:hover{color:var(--text)}.brand-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.78rem;font-weight:800}.brand-name{font-size:.98rem;letter-spacing:-.02em;white-space:nowrap}.brand-name strong{color:var(--primary)}.top-nav{display:flex;align-items:stretch;gap:.2rem;height:60px;overflow-x:auto;scrollbar-width:none}.top-nav::-webkit-scrollbar{display:none}.top-nav-link{display:inline-flex;align-items:center;gap:.38rem;padding:0 .8rem;border-bottom:2px solid transparent;color:var(--muted);font-size:.86rem;font-weight:600;white-space:nowrap}.top-nav-link:hover{color:var(--text)}.top-nav-link.top-nav-link--active{color:var(--primary);border-bottom-color:var(--primary)}.top-nav-icon{width:16px;height:16px;flex:0 0 16px;opacity:.8}.top-nav-link.top-nav-link--active .top-nav-icon{opacity:1}.header-actions{margin-left:auto;display:flex;align-items:center;gap:.35rem}.account-button{width:34px;height:34px;border-radius:50%;border:1px solid var(--border-strong);background:var(--primary-soft);color:var(--primary);font-size:.74rem;font-weight:800;cursor:pointer}.popover-wrap{position:relative}.popover{position:absolute;right:0;top:calc(100% + .5rem);min-width:240px;padding:.85rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow);z-index:50}.popover strong{display:block;margin-bottom:.35rem;font-size:.82rem}.popover p{margin:0}.help-popover{width:300px}.help-popover ul{margin:.4rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.78rem;line-height:1.5}.account-popover{min-width:260px;display:flex;flex-direction:column;gap:.3rem}.popover-user{display:block;padding:.4rem .5rem .6rem;border-bottom:1px solid var(--border);margin-bottom:.3rem;color:inherit;text-decoration:none}.popover-user:hover{background:var(--surface-raised)}.popover-user strong,.popover-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-user strong{font-size:.84rem}.popover-user small{color:var(--muted);font-size:.72rem}.popover-group{display:flex;flex-direction:column;gap:.12rem}.popover-divider{height:1px;margin:.2rem .35rem;background:var(--border)}.popover-link{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .55rem;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer}.popover-link:hover{background:var(--primary-soft);color:var(--primary)}.popover-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem}.popover-logout{color:var(--danger)}.tenders-page{display:flex;flex-direction:column;gap:1rem}.tenders-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.1rem;align-items:start}.filters-panel{padding:.9rem;display:flex;flex-direction:column;gap:.85rem;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow-y:auto}.filters-panel h2{font-size:.9rem;display:flex;align-items:center;gap:.45rem}.filters-panel .field{gap:.28rem}.filters-panel .input,.filters-panel .select{min-height:36px;font-size:.8rem}.filters-panel .label{font-size:.66rem;text-transform:none;letter-spacing:0}.filters-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filters-checks{display:flex;flex-direction:column;gap:.4rem;padding-top:.25rem;border-top:1px solid var(--border)}.filters-actions{display:flex;gap:.45rem;position:sticky;bottom:0;padding-top:.7rem;background:var(--surface)}.filters-actions .btn{flex:1}.tenders-main{min-width:0;display:flex;flex-direction:column;gap:.75rem}.tenders-toolbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.view-tabs{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem;border-radius:9px;background:var(--primary-soft)}.view-tabs button{border:0;background:transparent;color:var(--muted);padding:.4rem .75rem;border-radius:7px;font-size:.82rem;font-weight:600;cursor:pointer}.view-tabs button.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-soft)}.toolbar-search{flex:1;min-width:180px;max-width:320px}.toolbar-search .input{min-height:36px}.toolbar-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto}.summary-line{color:var(--muted);font-size:.78rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:7px;border:1px solid var(--border-strong);background:var(--surface-solid);color:var(--muted);font-size:.75rem}.chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;font-size:.9rem;line-height:1}.bulk-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--primary-soft);font-size:.8rem}.tenders-table-card{overflow:hidden}.tenders-table-card table{min-width:1040px}.tenders-table-card th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.col-check{width:38px;text-align:center}.col-check input{accent-color:var(--primary);width:16px;height:16px}.row-title{display:flex;flex-direction:column;gap:.2rem;max-width:340px}.row-title a{font-size:.8rem;font-weight:700;line-height:1.4;color:var(--text)}.row-title a:hover{color:var(--primary)}.row-title small{color:var(--muted);font-size:.7rem}.cost-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.deadline-cell{display:flex;flex-direction:column;gap:.1rem;white-space:nowrap;font-size:.78rem}.deadline-cell .expired{color:var(--danger);font-size:.7rem}.assignee-static{color:var(--muted);font-size:.76rem}.columns-popover{position:absolute;right:0;top:calc(100% + .5rem);min-width:180px;padding:.6rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow);z-index:40;display:flex;flex-direction:column;gap:.35rem}.columns-popover label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);cursor:pointer}.columns-popover input{accent-color:var(--primary)}.tenders-empty{padding:4rem 1rem;text-align:center;color:var(--muted);font-size:.84rem}.tenders-empty svg{opacity:.5;margin-bottom:.5rem}.mobile-filter-toggle{display:none}@media(max-width:980px){.tenders-layout{grid-template-columns:1fr}.filters-panel{display:none;position:static;max-height:none}.filters-panel.open{display:flex}.mobile-filter-toggle{display:inline-flex}}@media(max-width:760px){.app-header{gap:.75rem;padding:0 .75rem}.brand-name{display:none}.top-nav{gap:0}.top-nav-link{padding:0 .55rem;font-size:.8rem}.toolbar-search{max-width:none;width:100%;order:4}.toolbar-actions{margin-left:0}.content{padding:.9rem}}.detail-head>.btn{align-self:flex-start}.settings-form>.btn{align-self:flex-start}.forgot-link{display:block;text-align:center;font-size:.8rem;font-weight:600;color:var(--muted)}.forgot-link:hover{color:var(--primary)}.landing{min-height:100vh}.landing-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1.5rem;min-height:64px;padding:0 2rem;background:color-mix(in srgb,var(--bg) 88%,var(--surface-solid));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-nav{display:flex;gap:1.1rem;margin-left:1rem}.landing-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .35rem;color:var(--muted);font-size:.85rem;font-weight:600}.landing-nav a:hover{color:var(--text)}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:2.5rem;align-items:center;max-width:1240px;margin:0 auto;padding:5rem 2rem 4rem}.landing-hero-copy h1{font-size:clamp(2.3rem,4.6vw,4.1rem);line-height:1.04;letter-spacing:-.045em;margin:1rem 0 1.2rem}.landing-hero-copy h1 span{color:var(--primary)}.landing-hero-copy>p{max-width:620px;color:var(--muted);font-size:1.02rem;line-height:1.7;margin-bottom:1.5rem}.landing-preview{padding:.9rem;transform:rotate(-1deg)}.landing-preview-top{display:flex;gap:.3rem;padding-bottom:.7rem}.landing-preview-top span{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.landing-preview-body{display:grid;grid-template-columns:110px 1fr;gap:.8rem}.landing-preview-side{display:flex;flex-direction:column;gap:.4rem;padding:.7rem;border-radius:10px;background:var(--primary-soft);font-size:.65rem;color:var(--muted)}.landing-preview-side strong{color:var(--text);font-size:.7rem;margin-bottom:.2rem}.landing-preview-main{display:flex;flex-direction:column;gap:.7rem}.preview-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.preview-stat-row div{padding:.6rem;border-radius:9px;background:var(--surface-solid);border:1px solid var(--border)}.preview-stat-row small{display:block;color:var(--muted);font-size:.55rem}.preview-stat-row strong{font-size:.95rem}.preview-line{display:grid;grid-template-columns:1.4fr .8fr .5fr;gap:.4rem}.preview-line span{height:7px;border-radius:999px;background:var(--border)}.preview-chart{height:100px;display:flex;align-items:flex-end;gap:5px;padding:.6rem;border-radius:10px;background:var(--surface-solid);border:1px solid var(--border)}.preview-chart i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--primary),var(--accent));opacity:.8}.landing-section{max-width:1240px;margin:0 auto;padding:3.5rem 2rem}.landing-section-head{max-width:720px;margin-bottom:1.7rem}.landing-section-head h2{font-size:clamp(1.7rem,2.8vw,2.5rem);letter-spacing:-.03em;margin:.7rem 0 .5rem}.landing-section-head p{color:var(--muted)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.landing-features article{display:flex;flex-direction:column;gap:.5rem}.landing-features h3{font-size:1rem}.landing-features p{color:var(--muted);font-size:.85rem;line-height:1.6}.landing-pricing__note{max-width:68ch;margin:-.5rem 0 1.15rem;color:var(--muted);font-size:.86rem;line-height:1.6}.landing-pricing__vat{margin:-.85rem 0 1rem;color:var(--muted);font-size:.8rem}.landing-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));align-items:stretch;gap:1rem}.landing-pricing article{display:flex;flex-direction:column;gap:.65rem}.landing-pricing .featured{border-color:var(--primary);box-shadow:var(--shadow)}.landing-plan{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}@media(hover:hover)and (pointer:fine){.landing-plan:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 24px 55px #14234629;transform:translateY(-6px)}.landing-plan.featured:hover{box-shadow:0 26px 60px #14234633}}@media(prefers-reduced-motion:reduce){.landing-plan{transition:none}.landing-plan:hover{transform:none}}.landing-plan__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.landing-plan__head h3{margin:0}.landing-plan__badge{padding:.22rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.landing-plan__badge--featured{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.price{font-size:2rem;letter-spacing:-.04em}.price small{font-size:.75rem;color:var(--muted);font-weight:500}.landing-plan__period{margin:-.35rem 0 0}.landing-plan__tagline{min-height:2.7em;margin:.1rem 0 .15rem;color:var(--muted);font-size:.8rem;line-height:1.55}.landing-plan__limits{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised)}.landing-plan__limit{display:flex;flex-direction:column;gap:.1rem;min-width:0}.landing-plan__limit strong{color:var(--primary);font-size:1.35rem;line-height:1.1}.landing-plan__limit span{color:var(--muted);font-size:.7rem;line-height:1.3}.landing-plan__features-title{margin:.3rem 0 0;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.landing-plan__features{display:grid;flex:1;gap:.35rem;align-content:start;margin:0;padding:0;list-style:none}.landing-plan__features li{display:grid;grid-template-columns:1.05rem minmax(0,1fr);align-items:start;gap:.4rem;color:var(--text);font-size:.77rem;line-height:1.4}.landing-plan__features li.is-missing{color:var(--muted)}.landing-plan__mark{display:inline-grid;width:1.05rem;height:1.05rem;margin-top:.04rem;place-items:center;border-radius:50%;background:var(--success-soft);color:var(--success);font-size:.65rem;font-weight:800;line-height:1}.landing-plan__features li.is-missing .landing-plan__mark{background:var(--danger-soft);color:var(--danger)}.landing-plan>.btn{margin-top:.45rem;width:100%}.landing-register{max-width:900px}.landing-form{display:flex;flex-direction:column;gap:1rem}.landing-terms{align-items:flex-start;line-height:1.5}.landing-optional summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:600;margin-bottom:.8rem}.landing-optional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.landing-footer{max-width:1240px;margin:0 auto;padding:1.5rem 2rem 2.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media(max-width:900px){.landing-hero{grid-template-columns:1fr;padding-top:3rem}.landing-nav{display:none}.landing-header{padding:0 1rem}}@media(max-width:620px){.landing-section,.landing-hero{padding:2.5rem 1rem}.header-actions .btn-primary{display:none}}.landing-contact-grid{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1.2fr);gap:1rem;align-items:start}.landing-contact-info{display:flex;flex-direction:column;gap:.6rem}.landing-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:760px){.landing-contact-grid,.landing-contact-row{grid-template-columns:1fr}}.country-flag{display:inline-block;margin-right:.35rem;font-size:1.05em;line-height:1;vertical-align:-.05em}.app-footer{border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-solid) 88%,transparent);padding:1.4rem 1.25rem}.app-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1380px;margin:0 auto;flex-wrap:wrap}.app-footer .brand{font-size:.95rem}.app-footer .brand-mark{width:30px;height:30px;border-radius:9px;font-size:.7rem}.app-footer-tagline,.app-footer-copy{margin:0;color:var(--muted);font-size:.78rem}.app-footer-links{display:flex;gap:1rem}.app-footer-links a{color:var(--muted);font-size:.8rem;text-decoration:none}.app-footer-links a:hover{color:var(--primary)}@media(max-width:760px){.app-footer-inner{justify-content:center;text-align:center}}.pagination-info-row,.pagination-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pagination-size{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.78rem}.select.select-sm{min-height:32px;padding:.28rem .55rem;font-size:.78rem}.pagination-pages{display:flex;align-items:center;gap:.18rem;flex-wrap:wrap}.pagination-pages .page-number{min-width:32px;justify-content:center;padding-left:.45rem;padding-right:.45rem}.pagination-pages .page-number.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-ellipsis{color:var(--muted);padding:0 .25rem;font-size:.8rem}@media(max-width:760px){.pagination,.pagination-controls,.pagination-info-row{justify-content:center}}.cpv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.cpv-add-form{display:flex;align-items:center;gap:.5rem;max-width:620px}.cpv-toolbar .cpv-add-form{flex:1 1 420px}.cpv-add-form .input{flex:1 1 240px;min-width:0;max-width:360px}.cpv-add-form .btn{flex:0 0 auto;white-space:nowrap}.cpv-actions{display:flex;gap:.5rem;flex-wrap:wrap}.hidden-input{display:none}.cpv-counter{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.9rem;padding:.45rem .8rem;border:1px solid var(--border);border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.8rem;font-weight:600}.cpv-managed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.65rem;max-height:430px;overflow-y:auto;padding-right:.25rem}.cpv-managed-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.cpv-managed-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.cpv-managed-main strong{font-size:.86rem;color:var(--primary)}.cpv-managed-main small{color:var(--muted);font-size:.76rem;line-height:1.35}.cpv-remove{flex:0 0 auto;color:var(--danger);padding:.15rem .45rem!important}.cpv-catalogue-search-bar{margin-bottom:.85rem}.cpv-catalogue-search-bar .input{width:100%;font-size:.95rem}.cpv-catalogue-stats{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.cpv-stat{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .72rem;border-radius:999px;border:1px solid var(--border);font-size:.78rem}.cpv-stat strong{font-weight:700}.cpv-stat--monitored{background:var(--success-soft);color:var(--success);border-color:transparent}.cpv-stat--available{background:var(--surface-raised);color:var(--muted)}.cpv-stat--total{background:var(--primary-soft);color:var(--primary);border-color:transparent}.cpv-catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.6rem;max-height:560px;overflow-y:auto;padding-right:.25rem}.cpv-catalogue-chip{display:flex;align-items:flex-start;gap:.6rem;width:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.cpv-catalogue-chip:hover{border-color:var(--primary);transform:translateY(-1px)}.cpv-catalogue-chip.monitored{border-color:color-mix(in srgb,var(--success) 55%,transparent);background:var(--success-soft)}.cpv-catalogue-chip-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.8rem;font-weight:700;line-height:1}.cpv-catalogue-chip.monitored .cpv-catalogue-chip-toggle{background:var(--success);color:#fff}.cpv-catalogue-chip-code{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:700;color:var(--primary)}.cpv-catalogue-chip-desc{min-width:0;color:var(--muted);font-size:.78rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cpv-catalogue-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:2.4rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-solid) 55%,transparent)}.cpv-catalogue-empty strong{color:var(--text);font-size:1rem}.cpv-catalogue-empty span{max-width:55ch;font-size:.82rem;line-height:1.5}@media(max-width:640px){.cpv-add-form{flex-wrap:wrap;max-width:none}.cpv-add-form .input,.cpv-add-form .btn{flex:1 1 100%;width:100%;max-width:none}}.export-popover{min-width:230px;padding:.3rem}.export-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.55rem .65rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:.82rem;text-align:left;cursor:pointer}.export-menu-item:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.export-menu-item:disabled{opacity:.45;cursor:not-allowed}html[data-layout-size=compact] .content{padding:1rem 1.25rem}html[data-layout-size=spacious] .content{padding:2rem 2.5rem}.unread-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px var(--surface-solid)}.messages-popover{display:flex;flex-direction:column;width:min(430px,calc(100vw - 32px));max-height:min(70vh,620px);padding:0;overflow:hidden}.message-head{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.message-head small{color:var(--muted);font-size:.7rem}.message-body{display:flex;flex-direction:column;gap:.65rem;color:var(--text);font-size:.8rem;line-height:1.55}.message-body p{margin:0}.message-body a{color:var(--primary);text-decoration:none}.smtp-port-warning{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid #f0a044;border-left:4px solid #e67e22;border-radius:var(--radius-sm);background:color-mix(in srgb,#f39c12 16%,var(--surface-raised));color:var(--text)}.smtp-port-warning strong{color:#b35c00;font-size:.9rem}.smtp-port-warning p{margin:.35rem 0 0;color:color-mix(in srgb,var(--text) 82%,#8a4b00);font-size:.8rem;line-height:1.5}.message-admin-bar{display:flex;justify-content:flex-end;padding-bottom:.4rem}.message-compose{display:flex;flex-direction:column;gap:.55rem;padding:.65rem;margin-bottom:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.message-compose .textarea{min-height:100px}.workspace-message{padding:.75rem 0;border-bottom:1px solid var(--border)}.workspace-message:last-of-type{border-bottom:0}.workspace-message-body{margin:.5rem 0 0;white-space:pre-line;font-size:.8rem;line-height:1.55;color:var(--text)}.message-recipients{display:flex;flex-direction:column;gap:.3rem;max-height:150px;overflow-y:auto;padding:.45rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid)}.message-recipients .check{font-size:.78rem}.detail-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.detail-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.icon-lead{font-size:.95rem;line-height:1}.btn-icon-only{width:34px;height:34px;padding:0!important;justify-content:center;font-size:1rem}.detail-actions .btn.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.org-card{min-height:118px}.org-deadline{display:flex;align-items:baseline;gap:.45rem;color:var(--danger);font-size:.8rem}.org-deadline span{color:var(--muted);font-size:.72rem}.tenders-table{table-layout:auto;min-width:1500px}.tenders-table th,.tenders-table td{white-space:nowrap}.tenders-table td:nth-child(3){white-space:normal;min-width:180px;max-width:260px}.tenders-table .row-title{min-width:300px;max-width:420px;white-space:normal}.tenders-table .row-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.tenders-table tbody td{padding-top:.55rem;padding-bottom:.55rem}.tenders-table tbody tr{height:54px}.results-summary{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0 0 .75rem;color:var(--muted);font-size:.78rem}.results-summary span{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised)}.results-summary strong{color:var(--text)}.dashboard-stat--link{display:block;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.dashboard-stat--link:hover{border-color:var(--primary);transform:translateY(-1px)}.export-menu-item--danger{color:var(--danger)}.export-menu-item--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.landing-footer{display:block;max-width:1240px;margin:0 auto;padding:2.5rem 2rem 2rem;border-top:1px solid var(--border);color:var(--muted)}.landing-footer__inner{width:100%}.landing-footer__grid{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(140px,1fr));gap:2rem}.landing-footer__brand p{max-width:34ch;margin:.7rem 0 0;font-size:.82rem;line-height:1.6}.landing-footer__logo{display:flex;align-items:center;gap:.65rem;color:var(--text);font-size:1rem;font-weight:600}.landing-footer__col,.landing-footer__group{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.landing-footer__group+.landing-footer__group{margin-top:1.1rem}.landing-footer__col h3{margin:0 0 .25rem;color:var(--text);font-size:.8rem}.landing-footer__col a{display:inline-flex;align-items:center;min-height:44px;padding:.2rem 0;color:var(--muted);font-size:.8rem;text-decoration:none}.landing-footer__col a:hover{color:var(--primary)}.landing-footer__social{display:flex;gap:.5rem;margin-top:.4rem}.landing-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:50%}.landing-footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.1rem;border-top:1px solid var(--border);font-size:.72rem}@media(max-width:760px){.landing-footer__grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.landing-footer__grid{grid-template-columns:1fr}}.legal-page{min-height:100vh;padding:2.5rem 1.25rem 5rem;background:radial-gradient(circle at 15% 0%,var(--primary-soft),transparent 34rem),var(--bg)}.legal-page__inner{max-width:900px;margin:0 auto}.legal-page__back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1.15rem;color:var(--primary);text-decoration:none;font-size:.82rem}.legal-page__content{padding:clamp(1.35rem,4vw,2.8rem);border:1px solid var(--border);border-radius:20px;background:var(--surface-solid);box-shadow:0 24px 70px #14234614}.legal-page__header{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.legal-page__eyebrow{display:inline-block;color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.legal-page h1{margin:.45rem 0 .85rem;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.08;letter-spacing:-.035em}.legal-page__intro{max-width:68ch;margin:0 0 1rem;color:var(--muted);font-size:1rem;line-height:1.75}.legal-page__updated{margin:0;color:var(--muted);font-size:.76rem;letter-spacing:.015em}.legal-page__updated time{color:var(--text);font-weight:600}.legal-section{margin-top:1.85rem;padding-top:1.85rem;border-top:1px solid var(--border)}.legal-page__header+.legal-section{margin-top:1.6rem;padding-top:0;border-top:0}.legal-section h2{margin:0 0 .7rem;font-size:1.12rem;line-height:1.35;letter-spacing:-.01em}.legal-section p{margin:.55rem 0 0;color:var(--text);font-size:.92rem;line-height:1.8}.legal-section p:first-of-type{margin-top:0}.legal-list{display:grid;gap:.45rem;margin:.75rem 0 0;padding-left:1.25rem}.legal-list li{padding-left:.1rem;color:var(--text);font-size:.9rem;line-height:1.7}.legal-list--greek{list-style:decimal}.legal-contact{padding-top:1.5rem}.legal-contact a{color:var(--primary);font-weight:600;text-decoration:none}.legal-contact a:hover{text-decoration:underline}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;align-items:start}.admin-sidebar{position:sticky;top:5.5rem;display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.admin-sidebar h2{margin:0 0 .65rem;padding:0 .55rem;font-size:.92rem}.admin-nav-item{padding:.6rem .65rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.82rem;font-weight:600;text-decoration:none}.admin-nav-item:hover,.admin-nav-item.active{background:var(--primary-soft);color:var(--primary)}.admin-content{min-width:0}.admin-section{margin-top:1rem}.admin-link-card{text-decoration:none;color:inherit}.template-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start}.template-list{display:flex;flex-direction:column;padding:.45rem}.template-list-item{padding:.6rem .7rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);text-align:left;font-size:.8rem;cursor:pointer}.template-list-item:hover,.template-list-item.active{background:var(--primary-soft);color:var(--primary)}.template-preview{min-width:0;padding:1rem}.template-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.template-preview-head h3{margin:0 0 .2rem}.template-frame{width:100%;height:620px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f2f5fb}.template-source{max-height:320px;overflow:auto;padding:.8rem;border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--muted);font-size:.7rem}@media(max-width:760px){.admin-layout,.template-layout{grid-template-columns:1fr}.admin-sidebar{position:static;flex-direction:row;overflow-x:auto}.admin-nav-item{flex:0 0 auto;white-space:nowrap}.template-list{flex-direction:row;overflow-x:auto}.template-list-item{flex:0 0 auto;white-space:nowrap}.template-frame{height:480px}}.mobile-nav-toggle,.mobile-nav-menu{display:none}@media(max-width:1180px){.top-nav{display:none}.mobile-nav-toggle{display:inline-flex;margin-left:auto}.app-header .header-actions{margin-left:.25rem}.mobile-nav-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;position:absolute;top:100%;left:0;right:0;padding:.8rem;border-bottom:1px solid var(--border);background:var(--surface-solid);box-shadow:0 12px 30px #00000038;z-index:40}.mobile-nav-item{display:flex;align-items:center;gap:.55rem;padding:.65rem .7rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.82rem;font-weight:600;text-decoration:none}.mobile-nav-item:hover,.mobile-nav-item.active{background:var(--primary-soft);color:var(--primary)}}@media(max-width:480px){.mobile-nav-menu{grid-template-columns:1fr}}.admin-mobile-toggle{display:none}.admin-nav-item{display:flex;align-items:center;gap:.55rem}@media(max-width:760px){.admin-mobile-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font-size:.85rem;font-weight:700;cursor:pointer}.admin-sidebar{display:none;position:static;flex-direction:column;overflow:visible}.admin-sidebar.open{display:flex}.admin-nav-item{white-space:normal}}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .28rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.68rem}.filters-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.filters-close{display:none;padding:.1rem .45rem!important;font-size:1.15rem}@media(max-width:980px){.filters-close{display:inline-flex}}.file-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;white-space:nowrap}.messages-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:1rem;align-items:start}.messages-sidebar{display:flex;flex-direction:column;gap:.25rem;max-height:calc(100vh - 190px);overflow-y:auto}.message-thread-link{display:flex;flex-direction:column;gap:.2rem;width:100%;padding:.7rem .75rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;cursor:pointer}.message-thread-link:hover,.message-thread-link.active{border-color:var(--border);background:var(--surface-raised)}.message-thread-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-weight:600;font-size:.84rem}.message-unread{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .3rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.68rem}.message-thread-preview{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.76rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.messages-panel{min-height:420px}.message-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.message-thread-head h3{margin:0 0 .15rem}.message-conversation{display:flex;flex-direction:column;gap:.7rem;padding:1rem 0}.message-bubble{padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.message-bubble .message-head{border-bottom:0;padding-bottom:.25rem}.message-deleted{margin:.35rem 0 0;color:var(--muted);font-style:italic;font-size:.8rem}.message-delete{margin-top:.6rem}.message-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.65rem}.user-name-cell{display:flex;align-items:center;gap:.35rem}.message-user-btn{padding:.15rem!important;min-width:1.6rem;height:1.6rem}@media(max-width:860px){.messages-layout{grid-template-columns:1fr}.messages-sidebar{max-height:280px}}.inline-form{display:flex;align-items:center;gap:.35rem}.input-sm{width:130px;padding:.3rem .45rem!important;font-size:.78rem!important}.message-sender{display:inline-flex;align-items:center;gap:.25rem}.admin-search{max-width:420px;margin-bottom:1rem}.tenant-user-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.45rem;min-width:190px}.tenant-user-list>div{display:flex;flex-direction:column;gap:.05rem;padding-top:.35rem;border-top:1px solid var(--border)}.source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1rem}.source-card{display:flex;flex-direction:column;gap:.7rem}.source-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.source-card-head h3{margin:0}.source-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:var(--muted)}.source-meta strong{color:var(--text)}.source-counts{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--muted)}.source-card .btn{align-self:flex-start}.messages-popover-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .85rem .65rem;border-bottom:1px solid var(--border)}.messages-popover-body{flex:1 1 auto;min-height:0;padding:0 .85rem;overflow-y:auto;overscroll-behavior:contain}.messages-popover-body .empty{padding:1rem 0}.messages-popover-head strong{display:block;font-size:.9rem}.messages-popover-head small{display:block;margin-top:.1rem;color:var(--muted);font-size:.7rem}.message-preview-row{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:.55rem;width:100%;padding:.7rem 2.1rem .7rem .15rem;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.message-preview-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;font-size:.66rem;font-weight:700}.message-preview-content{display:flex;flex-direction:column;gap:.18rem;min-width:0}.message-preview-row:hover{background:var(--surface-raised)}.message-preview-top{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem}.message-preview-top strong{overflow:hidden;font-size:.8rem;white-space:nowrap;text-overflow:ellipsis}.message-preview-meta{flex:0 0 auto;color:var(--muted);font-size:.65rem}.message-preview-sender{color:var(--muted);font-size:.7rem}.message-preview-body{display:-webkit-box;overflow:hidden;color:color-mix(in srgb,var(--text) 82%,var(--muted));font-size:.73rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.message-preview-row .message-unread{position:absolute;right:.2rem;bottom:.7rem}.messages-popover-footer{flex:0 0 auto;padding:.65rem .85rem .85rem;border-top:1px solid var(--border);background:var(--surface-solid)}.messages-open-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;padding:.55rem .95rem;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.01em;text-decoration:none;box-shadow:0 6px 16px var(--primary-soft);transition:transform .12s ease,box-shadow .18s ease,filter .18s ease}.messages-open-button:hover{color:#fff;filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 20px var(--primary-soft)}.messages-open-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.chat-conversation{gap:.9rem;padding:1.15rem 0}.chat-message{display:flex;align-items:flex-end;gap:.55rem;max-width:86%}.chat-message--mine{margin-left:auto;flex-direction:row-reverse}.chat-message--system{max-width:92%}.chat-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:0}.chat-message--mine .chat-avatar{background:var(--surface-raised);color:var(--text);border:1px solid var(--border)}.chat-message--system .chat-avatar{background:#0f766e}.chat-bubble{min-width:0;padding:.7rem .85rem .55rem;border:1px solid var(--border);border-radius:16px 16px 16px 5px;background:var(--surface-raised);box-shadow:0 1px #0000000f}.chat-message--mine .chat-bubble{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:16px 16px 5px;background:color-mix(in srgb,var(--primary) 14%,var(--surface-raised))}.chat-message--system .chat-bubble{background:color-mix(in srgb,#0f766e 10%,var(--surface-raised))}.chat-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;color:var(--muted);font-size:.7rem}.chat-meta strong{color:var(--text);font-size:.76rem}.chat-message--mine .chat-meta{justify-content:flex-end}.chat-email{padding:0 .3rem;border-radius:999px;background:var(--surface-solid);font-size:.62rem}.chat-body{margin:.35rem 0 0;color:var(--text);font-size:.84rem;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.chat-cta{margin-top:.55rem}.chat-actions{display:flex;justify-content:flex-end;margin-top:.15rem}.chat-actions .btn{padding:.15rem .35rem!important;color:var(--muted)!important;font-size:.68rem!important}.chat-composer{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem;padding:.6rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid)}.chat-composer .textarea{min-height:64px;border:0;background:transparent;padding:.2rem;resize:vertical}.chat-composer .textarea:focus{outline:none}.chat-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}@media(max-width:640px){.chat-message,.chat-message--system{max-width:95%}.chat-avatar{flex-basis:28px;width:28px;height:28px;font-size:.6rem}}.source-error{margin:0;padding:.45rem .55rem;border-left:3px solid var(--danger, #c0392b);border-radius:4px;background:color-mix(in srgb,var(--danger, #c0392b) 10%,transparent);color:var(--text);font-size:.74rem;line-height:1.4;overflow-wrap:anywhere}.source-error-cell{max-width:320px;overflow-wrap:anywhere;color:var(--muted);font-size:.76rem}.match-summary{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.match-summary strong{font-size:1.35rem;color:var(--primary)}.match-reasons{margin:0;padding-left:1.1rem;color:var(--text);font-size:.82rem;line-height:1.6}.message-preview-row--unread{background:color-mix(in srgb,var(--primary) 13%,var(--surface-solid));box-shadow:inset 3px 0 0 var(--primary)}.message-preview-row--unread .message-preview-top strong{font-weight:800}.message-thread-link--unread{border-color:color-mix(in srgb,var(--primary) 22%,var(--border));background:color-mix(in srgb,var(--primary) 7%,transparent)}.watch-panel{margin-top:1.25rem}.watch-panel--disabled{opacity:.82}.watch-card--disabled{border-style:dashed}.chat-message{scroll-margin-top:90px}.chat-message:target .chat-bubble{outline:2px solid var(--primary);outline-offset:3px}.attachment-anchor{scroll-margin-top:90px}.cpv-tree-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.cpv-tree-toolbar .input{flex:1 1 320px;max-width:480px}.cpv-tree-card{max-height:calc(100vh - 260px);overflow:auto}.cpv-tree,.cpv-tree-children{list-style:none;margin:0;padding:0}.cpv-tree-item{margin:0}.cpv-tree-row{display:flex;align-items:flex-start;gap:.4rem;min-height:30px;padding-top:.25rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.cpv-tree-expander{display:inline-flex;align-items:center;justify-content:center;width:20px;height:22px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.9rem}.cpv-tree-expander--empty{cursor:default}.cpv-tree-check{display:flex;align-items:flex-start;gap:.45rem;color:var(--text);font-size:.8rem;line-height:1.45;cursor:pointer}.cpv-tree-check input{margin-top:.18rem}.cpv-tree-code{flex:0 0 auto;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;white-space:nowrap}.team-profile-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem}.team-profile-form h3{margin:1.3rem 0 .6rem}.activity-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.3rem 1rem;max-height:260px;overflow:auto;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.team-profile-cpvs{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}@media(max-width:760px){.team-profile-form .form-grid{grid-template-columns:1fr}}.support-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem;background:#070c189e}.support-dialog{width:min(620px,100%);max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 24px 80px #00000059}.support-dialog h3{margin-top:0}.support-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.support-context{display:flex;flex-direction:column;gap:.2rem;padding:.55rem;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.support-context code{color:var(--text)}.landing-support-link{display:flex;align-items:center;width:100%;min-height:44px;padding:.2rem 0;border:0;background:transparent;color:var(--muted);text-align:left;cursor:pointer;font:inherit}.landing-support-link:hover{color:var(--text)}@media(max-width:620px){.support-form .form-grid{grid-template-columns:1fr}}.app-footer-links button{padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer}.app-footer-links button:hover{color:var(--primary)}.global-loading{position:fixed;right:1.1rem;bottom:1.1rem;z-index:150;display:inline-flex;align-items:center;gap:.55rem;padding:.7rem .9rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-solid);box-shadow:0 10px 30px #0000002e;color:var(--text);font-size:.78rem;font-weight:600}.global-loading-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-top-color:var(--primary);border-radius:50%;animation:global-loading-spin .7s linear infinite}@keyframes global-loading-spin{to{transform:rotate(360deg)}}.loading-fade-enter-active,.loading-fade-leave-active{transition:opacity .16s ease,transform .16s ease}.loading-fade-enter-from,.loading-fade-leave-to{opacity:0;transform:translateY(6px)}@media(max-width:600px){.global-loading{right:.8rem;bottom:.8rem}}.file-type-icon{width:32px;height:32px;flex:0 0 32px;overflow:visible}.file-type-icon__paper{fill:#fff;stroke:currentColor;stroke-width:1.3;opacity:.92}.file-type-icon__fold{fill:none;stroke:currentColor;stroke-width:1.1;opacity:.65}.file-type-icon__badge{fill:currentColor}.file-type-icon__label{fill:#fff}.file-type-icon--pdf{color:#dc2626}.file-type-icon--word{color:#2563eb}.file-type-icon--excel{color:#15803d}.file-type-icon--powerpoint{color:#ea580c}.file-type-icon--image{color:#7c3aed}.file-type-icon--archive{color:#ca8a04}.file-type-icon--text{color:#0f766e}.file-type-icon--generic{color:#64748b}.attachment-info{flex-direction:row!important;align-items:center;gap:.6rem}.attachment-text{display:flex;min-width:0;flex-direction:column;gap:.1rem}.file-name-cell{display:flex;align-items:center;gap:.55rem;min-width:0}.files-info-card h3{margin-top:0}.reusable-links{display:flex;flex-direction:column;gap:.25rem;font-size:.76rem}.reusable-links summary{cursor:pointer;color:var(--muted)}.reusable-links a{color:var(--primary);text-decoration:none}.reusable-link-picker{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.reusable-link-picker .select{max-width:360px}.confirm-dialog{width:min(520px,100%);text-align:left}.confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:.6rem;border-radius:50%;background:color-mix(in srgb,#dc2626 14%,transparent);color:#dc2626;font-size:1.2rem;font-weight:800}.confirm-dialog h3{margin:0 0 .5rem}.confirm-message{margin:0 0 .75rem;color:var(--muted);line-height:1.5}.confirm-details{max-height:220px;overflow:auto;margin:0 0 1rem;padding:.65rem .8rem .65rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font-size:.8rem;line-height:1.55}.confirm-actions{justify-content:flex-end}.legal-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem}@media(max-width:720px){.legal-settings-grid{grid-template-columns:1fr}}.legal-site .legal-page{min-height:auto}.landing-shot{display:flex;flex-direction:column;gap:.9rem}.landing-shot-frame{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--surface-solid);box-shadow:0 30px 80px #14234638;transform:rotate(-1deg)}.landing-shot-bar{display:flex;align-items:center;gap:.3rem;padding:.65rem .9rem;border-bottom:1px solid var(--border);background:var(--surface-raised)}.landing-shot-bar span{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.landing-shot-bar em{margin-left:.5rem;overflow:hidden;color:var(--muted);font-size:.65rem;font-style:normal;white-space:nowrap;text-overflow:ellipsis}.landing-shot-frame img{display:block;width:100%;height:auto}.landing-live-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.landing-live-stats span{display:flex;flex-direction:column;padding:.65rem .8rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised)}.landing-live-stats strong{font-size:1.15rem}.landing-live-stats small{color:var(--muted);font-size:.65rem}.landing-trust{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem;color:var(--muted);font-size:.75rem}.landing-gallery{display:grid;gap:1rem}.landing-gallery-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.landing-gallery-tabs button{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer}.landing-gallery-tabs button span{color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.landing-gallery-tabs button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.landing-gallery-viewport{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"prev frame next";align-items:center;gap:.9rem}.landing-gallery-frame{position:relative;grid-area:frame;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--surface-solid);box-shadow:0 24px 70px #14234629}.landing-gallery-nav{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 70%,white);border-radius:50%;background:var(--primary);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;box-shadow:0 10px 24px #14234633;transition:background .15s ease,transform .15s ease}.landing-gallery-nav.prev{grid-area:prev}.landing-gallery-nav.next{grid-area:next}.landing-gallery-nav:hover,.landing-gallery-nav:focus-visible{background:color-mix(in srgb,var(--primary) 82%,black);outline:none}.landing-gallery-nav:active{transform:scale(.94)}.landing-gallery-frame img{display:block;width:100%;height:auto}.landing-gallery-caption{position:absolute;inset:0 0 auto;max-width:none;padding:1.15rem 1.4rem 3rem;background:linear-gradient(to bottom,rgb(15 23 42 / 94%),rgb(15 23 42 / 62%) 55%,transparent);pointer-events:none}.landing-gallery-caption h3{margin:0 0 .3rem;color:#fff}.landing-gallery-caption p{max-width:760px;margin:0;color:#ffffffc7;line-height:1.65}@media(max-width:620px){.landing-live-stats{grid-template-columns:1fr}.landing-gallery-viewport{grid-template-columns:1fr 1fr;grid-template-areas:"frame frame" "prev next"}.landing-gallery-nav{width:2.5rem;height:2.5rem;font-size:1.65rem}.landing-gallery-nav.prev{justify-self:start}.landing-gallery-nav.next{justify-self:end}}.plan-settings-group{padding:1rem 0;border-bottom:1px solid var(--border)}.plan-settings-group:first-child{padding-top:0}.plan-settings-group:last-of-type{border-bottom:0}.plan-settings-group h3{margin:0 0 .8rem}.plan-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}@media(max-width:760px){.plan-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.plan-settings-grid{grid-template-columns:1fr}}.landing-faq{max-width:920px}.faq-list{display:grid;gap:.65rem}.faq-item{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-solid) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.faq-item:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.faq-item.open{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));background:color-mix(in srgb,var(--primary-soft) 45%,var(--surface-solid));box-shadow:0 16px 40px #1423461a}.faq-question{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;width:100%;padding:1rem 1.15rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.94rem;font-weight:650;text-align:left;cursor:pointer}.faq-question:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.faq-index{color:var(--primary);font-size:.68rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.08em}.faq-chevron{color:var(--primary);font-size:1rem;line-height:1;transition:transform .24s ease}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden}.faq-answer p{max-width:75ch;margin:0;padding:0 1.15rem 1.15rem 3.2rem;color:var(--muted);font-size:.9rem;line-height:1.75}@media(max-width:620px){.faq-question{padding:.9rem 1rem;font-size:.88rem}.faq-answer p{padding:0 1rem 1rem 2.6rem;font-size:.85rem}}.landing-about{max-width:1100px}.landing-about-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr);gap:1rem;align-items:stretch}.landing-about-story,.landing-about-mission{border-radius:26px}.landing-about-story{display:flex;flex-direction:column;gap:1.1rem;padding:clamp(1.4rem,3vw,2.2rem);background:linear-gradient(145deg,color-mix(in srgb,var(--primary-soft) 55%,var(--surface-solid)),var(--surface-solid) 64%)}.landing-about-story p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.85}.landing-about-story p:first-child{color:var(--text);font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:600;letter-spacing:-.02em;line-height:1.55}.landing-about-mission{display:flex;flex-direction:column;justify-content:center;gap:.65rem;padding:clamp(1.4rem,3vw,2rem);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:radial-gradient(circle at 100% 0%,var(--primary-soft),transparent 18rem),var(--surface-solid)}.landing-about-mission .badge{align-self:flex-start}.landing-about-mission h3{margin:0;font-size:clamp(1.25rem,2vw,1.55rem);letter-spacing:-.025em}.landing-about-mission p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.75}@media(max-width:760px){.landing-about-grid{grid-template-columns:1fr}}.landing-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.landing-why-card{padding:1.35rem;border:1px solid var(--border);border-radius:20px;background:linear-gradient(155deg,color-mix(in srgb,var(--primary-soft) 38%,var(--surface-solid)),var(--surface-solid) 62%);box-shadow:0 10px 30px #1423460d;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.landing-why-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 18px 40px #1423461c;transform:translateY(-4px)}.landing-why-icon,.landing-direct-icon{display:inline-grid;width:2.45rem;height:2.45rem;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary)}.landing-why-icon svg,.landing-direct-icon svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}.landing-why-card h3{margin:1rem 0 .45rem;font-size:1rem;letter-spacing:-.015em}.landing-why-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.68}.landing-direct{max-width:1100px}.landing-direct-banner{padding:clamp(1.25rem,3vw,1.8rem);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:24px;background:radial-gradient(circle at 0% 0%,var(--primary-soft),transparent 24rem),var(--surface-solid);box-shadow:0 16px 45px #14234614}.landing-direct-banner p{max-width:78ch;margin:0;color:var(--text);font-size:.98rem;line-height:1.85}.landing-direct-title{margin:1.7rem 0 .9rem;font-size:1rem;letter-spacing:-.01em}.landing-direct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.landing-direct-card{padding:1.15rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-solid)}.landing-direct-card-head{display:flex;align-items:flex-start;gap:.7rem}.landing-direct-icon{flex:0 0 auto;width:2.15rem;height:2.15rem;border-radius:11px}.landing-direct-card h4{margin:.15rem 0 0;font-size:.9rem;line-height:1.4}.landing-direct-card p{margin:.65rem 0 0;color:var(--muted);font-size:.83rem;line-height:1.68}@media(max-width:980px){.landing-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.landing-why-grid,.landing-direct-grid{grid-template-columns:1fr}}.guides-main{max-width:1100px;margin:0 auto;padding:clamp(2rem,5vw,4rem) 1.25rem 5rem}.guides-hero{max-width:760px;margin-bottom:2rem}.guides-hero h1{margin:.6rem 0 .8rem;font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-.04em;line-height:1.08}.guides-hero p,.guide-intro{color:var(--muted);line-height:1.75}.guides-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guide-card{display:flex;flex-direction:column;gap:.7rem;color:var(--text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.guide-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-3px)}.guide-card h2{margin:0;font-size:1.1rem;line-height:1.4}.guide-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.7}.guide-card__link{margin-top:auto;color:var(--primary);font-size:.82rem;font-weight:700}.guide-back{display:inline-block;margin-bottom:1.2rem;color:var(--primary);font-size:.82rem;text-decoration:none}.guide-article{max-width:780px}.guide-article>h1{margin:.65rem 0 1rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em;line-height:1.1}.guide-updated{color:var(--muted);font-size:.76rem}.guide-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.guide-section h2{margin:0 0 .7rem;font-size:1.3rem}.guide-section p{color:var(--muted);line-height:1.8;margin:.6rem 0}.guide-section ul{color:var(--muted);line-height:1.8;padding-left:1.2rem}.guide-cta{margin-top:2.5rem;padding:1.5rem}.guide-cta h2{margin-top:0}.guide-cta p{color:var(--muted);line-height:1.7}.guide-related{display:flex;flex-direction:column;gap:.55rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.guide-related h2{margin:0 0 .35rem;font-size:.95rem}.guide-related a{color:var(--primary);font-size:.86rem;line-height:1.5;text-decoration:none}@media(max-width:700px){.guides-grid{grid-template-columns:1fr}}.systems-main{max-width:920px;margin:0 auto;padding:clamp(2rem,5vw,4rem) 1.25rem 5rem}.systems-hero{max-width:760px;margin-bottom:1.8rem}.systems-hero h1{margin:.6rem 0 .8rem;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.08;letter-spacing:-.04em}.systems-hero p{color:var(--muted);line-height:1.75}.systems-list{display:grid;gap:1rem}.systems-card{padding:clamp(1.4rem,3vw,2rem)}.systems-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.systems-index{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.08em}.systems-card h2{margin:.8rem 0 .2rem;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.03em}.systems-fullname{margin:0;color:var(--primary);font-size:.86rem;font-weight:650}.systems-definition{margin:1rem 0;color:var(--text);line-height:1.8}.systems-card ul{margin:.7rem 0 1rem;padding-left:1.2rem;color:var(--muted);line-height:1.8}.systems-link{display:inline-flex}.systems-summary{margin-top:1rem;border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:radial-gradient(circle at 100% 0%,var(--primary-soft),transparent 22rem),var(--surface-solid)}.systems-summary h2{margin-top:0}.systems-summary p{margin-bottom:0;color:var(--muted);line-height:1.8}.public-app-header{gap:1rem}.public-app-nav{display:flex;align-items:center;gap:1rem;margin-left:auto;font-size:.82rem}.public-app-nav>a:not(.btn){color:var(--muted);text-decoration:none}.public-app-nav>a:not(.btn):hover{color:var(--text)}@media(max-width:760px){.public-app-nav>a:not(.btn){display:none}}.public-tender-cta{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:radial-gradient(circle at 100% 0%,var(--primary-soft),transparent 20rem),var(--surface-solid)}.public-tender-cta h3{margin-top:0}.public-tender-cta p{color:var(--muted);line-height:1.7}.landing-register-success h3{margin-top:0}.landing-register-success p{color:var(--muted);line-height:1.75}.public-cta{margin:1.5rem 0}.public-cta__panel{padding:clamp(1.25rem,3vw,1.75rem);border-left:4px solid var(--primary);border-radius:0 18px 18px 0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 70%,white),var(--surface-solid));box-shadow:0 14px 40px #14234614}.public-cta__copy h2{margin:0 0 .5rem;font-size:clamp(1.2rem,2.4vw,1.55rem);letter-spacing:-.02em}.public-cta__copy p{margin:0;color:var(--muted);line-height:1.7}.public-cta__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.public-cta__benefit{min-height:8.5rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid)}.public-cta__icon{display:inline-grid;width:2rem;height:2rem;place-items:center;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.public-cta__icon svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.public-cta__benefit p{margin:.7rem 0 0;font-size:.84rem;line-height:1.5}.public-cta__actions{display:flex;flex-wrap:wrap;gap:.6rem}@media(max-width:760px){.public-cta__benefits{grid-template-columns:1fr}.public-cta__benefit{min-height:0}}.public-directory-page .public-directory{max-width:1100px;margin:0 auto;padding:clamp(2rem,5vw,4rem) 1.25rem 5rem}.public-directory__head{max-width:760px;margin-bottom:1.5rem}.public-directory__head h1{margin:.6rem 0 .7rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em;line-height:1.1}.public-directory__head p{color:var(--muted);line-height:1.7}.public-directory__back{display:inline-block;margin-bottom:1rem;color:var(--primary);font-size:.82rem;text-decoration:none}.public-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.public-directory__item{display:flex;flex-direction:column;gap:.35rem;color:var(--text);text-decoration:none}.public-directory__item strong{line-height:1.4}.public-directory__item span{color:var(--muted);font-size:.78rem}.public-directory__item:hover{border-color:var(--primary);box-shadow:var(--shadow)}.public-tender-list{display:grid;gap:.8rem}.public-tender-row{display:block;color:var(--text);text-decoration:none}.public-tender-row:hover{border-color:var(--primary)}.public-tender-row__top,.public-tender-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.78rem}.public-tender-row h2{margin:.6rem 0 .3rem;font-size:1.05rem;line-height:1.45}.public-tender-row p{margin:0;color:var(--muted);font-size:.86rem}.public-tender-row__meta{margin-top:.7rem}.public-tender-row__meta strong{color:var(--primary)}.public-directory__pagination{margin:1.5rem 0}@media(max-width:800px){.public-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.public-directory__grid{grid-template-columns:1fr}}.public-tenders-menu{position:relative;display:flex;align-items:center}.public-tenders-menu__trigger{display:inline-flex;align-items:center;min-height:44px;gap:.3rem;padding:0 .35rem;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;line-height:1;cursor:pointer}.public-tenders-menu__trigger:hover,.public-tenders-menu__trigger[aria-expanded=true]{color:var(--text)}.public-tenders-menu__panel{position:fixed;top:4.05rem;left:50%;z-index:50;width:min(1180px,calc(100vw - 2rem));padding:1.1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-solid);box-shadow:0 24px 70px #1423462e;transform:translate(-50%)}.public-tenders-menu__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.public-tenders-menu__group{display:flex;flex-direction:column;gap:.38rem;min-width:0}.public-tenders-menu__title{padding-bottom:.35rem;border-bottom:1px solid var(--border);color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.public-tenders-menu__item{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.78rem;line-height:1.4;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.public-tenders-menu__item:hover{color:var(--text)}.public-tenders-menu__more{margin-top:.35rem;color:var(--primary);font-size:.76rem;font-weight:700;text-decoration:none}@media(max-width:980px){.public-tenders-menu__panel{width:min(760px,calc(100vw - 2rem))}.public-tenders-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.public-tenders-menu__panel{position:fixed;top:4rem;left:1rem;width:calc(100vw - 2rem);max-height:calc(100vh - 5rem);overflow:auto;transform:none}.public-tenders-menu__grid{grid-template-columns:1fr}}.public-tenders-menu__panel:before{position:absolute;top:-1rem;right:0;left:0;height:1rem;content:""}.landing-mobile-toggle{display:none}.landing-mobile-menu{position:fixed;top:4rem;right:1rem;left:1rem;z-index:50;display:flex;flex-direction:column;max-height:calc(100vh - 5rem);padding:.9rem;overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--surface-solid);box-shadow:0 24px 70px #14234638}.landing-mobile-menu>a{padding:.65rem .55rem;color:var(--text);font-size:.9rem;font-weight:600;text-decoration:none}.landing-mobile-menu>a:hover{color:var(--primary)}.landing-mobile-menu__section{margin:.5rem 0;padding:.7rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-mobile-menu__section>strong{display:block;padding:0 .55rem .4rem;color:var(--primary);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.landing-mobile-group{padding:.25rem 0}.landing-mobile-group summary{padding:.45rem .55rem;color:var(--text);font-size:.86rem;font-weight:700;cursor:pointer}.landing-mobile-group a{display:block;padding:.38rem .75rem;color:var(--muted);font-size:.8rem;line-height:1.4;text-decoration:none}.landing-mobile-group a:hover{color:var(--text)}.landing-mobile-group__more{color:var(--primary)!important;font-weight:700}@media(max-width:980px){.landing-mobile-toggle{display:inline-flex;margin-left:auto}.landing-header .header-actions{margin-left:0}}@media(max-width:760px){.landing-header .header-actions>.btn{display:none}}.public-chart{margin:1.25rem 0}.public-chart__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.public-chart__head h2{margin:0 0 .25rem;font-size:1.25rem}.public-chart__head p{margin:0;color:var(--muted);font-size:.82rem}.public-chart__legend{display:flex;flex-wrap:wrap;gap:.9rem;color:var(--muted);font-size:.74rem}.public-chart__legend span{display:inline-flex;align-items:center;gap:.35rem}.public-chart__swatch{display:inline-block;width:1.2rem;height:.65rem;border-radius:2px}.public-chart__swatch--bar{background:#0b3558}.public-chart__swatch--line{height:3px;background:#b52f43}.public-chart__svg{display:block;width:100%;height:auto;overflow:visible}.public-chart__grid line{stroke:color-mix(in srgb,var(--border) 70%,transparent);stroke-width:1}.public-chart__axis text{fill:var(--muted);font-size:12px}.public-chart__axis text:nth-last-child(-n+2){font-size:11px}.public-chart__bars rect{fill:#0b3558}.public-chart__line{fill:none;stroke:#b52f43;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.public-chart__dots circle{fill:#b52f43;stroke:#fff;stroke-width:1.5}.public-chart__labels text{fill:var(--muted);font-size:11px}@media(max-width:700px){.public-chart__legend{flex-direction:column;gap:.3rem}}.public-list-stats{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0}.public-list-stat{min-width:9rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid)}.public-list-stat--primary{border-color:var(--primary);background:var(--primary);color:#fff}.public-list-stat strong{display:block;font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;letter-spacing:-.03em}.public-list-stat span{display:block;max-width:10rem;margin-top:.2rem;color:var(--muted);font-size:.72rem;line-height:1.35}.public-list-stat--primary span{color:#ffffffc7}.public-directory__seo-text{max-width:78ch;margin-top:1rem;color:var(--muted);font-size:.9rem;line-height:1.8}.public-list-heading{margin:2rem 0 .8rem;font-size:1.25rem;letter-spacing:-.02em}html.locale-en:not(.app-ready) #app{visibility:hidden}.public-chart{position:relative}.public-chart__tooltip{position:absolute;z-index:5;min-width:9rem;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:10px;background:var(--surface-solid);box-shadow:0 10px 28px #1423462e;pointer-events:none;transform:translate(-50%,-100%);white-space:nowrap}.public-chart__tooltip strong,.public-chart__tooltip span{display:block}.public-chart__tooltip strong{margin-bottom:.15rem;font-size:.78rem}.public-chart__tooltip span{color:var(--muted);font-size:.72rem;line-height:1.45}.public-chart__bars rect.is-active{opacity:.72}.public-chart__dots circle.is-active{r:6}.landing-mobile-close,.mobile-nav-close{position:absolute;top:.55rem;right:.65rem;z-index:2;display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-raised);color:var(--text);font-size:1.3rem;line-height:1;cursor:pointer}.mobile-nav-menu{position:absolute}@media(max-width:1180px){.mobile-nav-close{display:grid}}.popover-close{display:grid;width:1.85rem;height:1.85rem;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-solid);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer}.account-popover{padding-top:2.7rem}.account-popover>.popover-close{position:absolute;top:.55rem;right:.55rem}.messages-popover-actions{display:flex;align-items:center;gap:.4rem}.messages-popover>.popover-close{position:absolute;top:.55rem;right:.55rem}.messages-popover .messages-popover-head{padding-right:3.1rem}@media(max-width:760px){.app-header .popover{position:fixed;top:4.4rem;right:.75rem;left:.75rem;width:auto;min-width:0;max-height:calc(100vh - 5.4rem);overflow-y:auto;z-index:70}.app-header .account-popover,.app-header .messages-popover{width:auto}.app-header .messages-popover{display:flex;overflow:hidden}.app-header .messages-popover-actions .btn{display:none}}.charts-grid>*,.chart-panel,.bar-list,.bar-meta,.bar-meta>span,.messages-layout,.messages-layout>*,.messages-sidebar,.messages-panel,.message-thread-head,.message-thread-link{min-width:0}.message-body,.message-body p,.message-body a,.message-preview-body,.message-thread-preview,.message-thread-title,.message-bubble{overflow-wrap:anywhere;word-break:break-word}@media(max-width:760px){.message-thread-head{flex-direction:column;gap:.6rem}.message-thread-head>div{width:100%;min-width:0}.message-thread-head h3{overflow-wrap:anywhere;word-break:break-word}.message-thread-head .inline-form{flex-wrap:wrap}}@media(max-width:760px){.landing-header .account-popover{position:fixed;top:4.4rem;right:.75rem;left:.75rem;width:auto;min-width:0;max-height:calc(100vh - 5.4rem);overflow-y:auto;z-index:70}}body:has(.app-header) .grecaptcha-badge{visibility:hidden!important}body:has(.app-header):has(.support-dialog) .grecaptcha-badge{visibility:visible!important}.cookie-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:720px;margin:0 auto;padding:1rem 1.1rem;box-shadow:0 12px 40px #0003}.cookie-consent p{margin:.3rem 0 .45rem}.cookie-consent-actions{display:flex;flex-wrap:wrap;gap:.45rem;flex:0 0 auto}@media(max-width:640px){.cookie-consent{flex-direction:column;align-items:stretch}}.share-buttons{position:relative;display:inline-flex}.share-trigger-icon{font-size:1rem;line-height:1}.share-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:60;width:230px;padding:.4rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:0 16px 48px #1423462e}.share-option{display:flex;align-items:center;gap:.55rem;width:100%;min-height:44px;padding:.4rem .55rem;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.82rem;text-align:left;text-decoration:none;cursor:pointer}.share-option:hover,.share-option:focus-visible{background:var(--surface-2)}.share-symbol{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border-radius:7px;background:var(--surface-2);color:var(--text);font-size:.72rem;font-weight:800}.share-option--whatsapp .share-symbol{background:#25d366;color:#fff}.share-option--viber .share-symbol{background:#7360f2;color:#fff}.share-option--facebook .share-symbol{background:#1877f2;color:#fff}.share-option--linkedin .share-symbol{background:#0a66c2;color:#fff}.share-option--x .share-symbol{background:#111;color:#fff}.share-option--email .share-symbol{background:var(--primary-soft);color:var(--primary)}.share-option--native .share-symbol{background:var(--accent-soft);color:var(--accent)}
