:root{--bg:#f9f9f9;--fg:#1a1a1a;--muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--border:#e5e7eb;--surface:#ffffff;--surface-raised:#f4f4f4;--surface-muted:#ececec;--canvas:#fafafa;--danger:#dc2626;--danger-soft:#fef2f2;--radius:10px;--radius-sm:8px;--header-shadow:0 1px 0 rgba(15,23,42,0.06);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}html{font-size:85%;-webkit-text-size-adjust:100%}@media(max-width:1526px){html{font-size:clamp(11.9px,8.4322px + .3386vw,13.6px)}}@media(max-width:1024px){html{font-size:11.9px}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg)}a{color:var(--accent)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{border-bottom:1px solid var(--border);padding:1rem 1.75rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;background:var(--surface)}.app-header,.app-header--cabinet{box-shadow:var(--header-shadow)}.app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.app-nav a{text-decoration:none;color:var(--muted);font-size:.9375rem;font-weight:500;padding:.4rem .85rem;border-radius:var(--radius-sm);transition:background .12s ease,color .12s ease}.app-nav a:hover,.app-nav a[aria-current=page]{color:var(--fg);background:var(--surface-raised)}.app-nav a[aria-current=page]{font-weight:600}.app-header-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.app-title{font-weight:600;font-size:1.125rem;letter-spacing:-.02em;color:var(--fg)}.app-main{flex:1 1;max-width:56rem;width:100%;margin:0 auto}.app-main,.app-main--fluid{padding:1.75rem 1.75rem 2.5rem}.app-main--fluid{max-width:none;margin:0}.user-badge{font-size:.875rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--fg);padding:.45rem .95rem;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.875rem;font-weight:500;box-shadow:0 1px 1px rgba(15,23,42,.04);transition:background .12s ease,border-color .12s ease,color .12s ease}.btn-ghost:hover{border-color:#d1d5db;background:var(--surface-raised)}.btn-ghost:focus-visible{outline:none;box-shadow:0 1px 1px rgba(15,23,42,.04),0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--fg);padding:.45rem .95rem;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.875rem;font-weight:500;box-shadow:0 1px 1px rgba(15,23,42,.04);transition:background .12s ease,border-color .12s ease}.btn-secondary:hover:not(:disabled){background:var(--surface-raised);border-color:#d1d5db}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-primary{margin-top:.75rem;padding:.55rem 1.15rem;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background .12s ease}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{margin-top:1rem;padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--danger);background:var(--danger-soft);color:#b91c1c;cursor:pointer;font:inherit}.btn-row{margin-top:1rem;display:flex;gap:.5rem}.btn-row button{padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;font:inherit;font-weight:500}.btn-row button:hover{background:var(--surface-raised)}.home h1{margin:0 0 .5rem;font-size:1.75rem}section>h1{margin:0 0 1rem;font-size:1.5rem;letter-spacing:-.02em}section>h1,section>h2{font-weight:600;color:var(--fg)}section>h2{margin:0 0 .75rem;font-size:1.125rem}.form-narrow{margin-bottom:2rem;max-width:32rem}.field-block{display:block;margin-bottom:.65rem;font-size:.875rem;color:var(--fg)}.field-block input,.field-block select,.field-block textarea{display:block;width:100%;margin-top:.3rem;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;box-sizing:border-box}.field-block input:focus,.field-block select:focus,.field-block textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.2)}.muted{color:var(--muted);margin:0}.muted--block{margin:0 0 1rem}.mono,.small{font-size:.8125rem}.mono{font-family:ui-monospace,monospace}.form-error{color:var(--danger);margin:0;font-size:.875rem}.form-error--tight{margin-top:-.35rem}.gate-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:var(--bg)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table td,.data-table th{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border)}.data-table th{color:var(--muted);font-weight:600;font-size:.8125rem;background:var(--surface-raised)}.filter-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;max-width:24rem}.filter-row input,.filter-row select{padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit}.filter-row input:focus,.filter-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.2)}.filter-stack{margin-bottom:1rem}.link-list{list-style:none;padding:0;margin:1rem 0 0}.link-list li{margin-bottom:.35rem}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0}.inline-form input{flex:1 1;min-width:12rem;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit}.stack-form{gap:.75rem;max-width:24rem;margin:1rem 0}.stack-form,.stack-form label{display:flex;flex-direction:column}.stack-form label{gap:.25rem;font-size:.875rem}.stack-form input,.stack-form textarea{padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit}.meta-grid{display:grid;grid-template-columns:10rem 1fr;grid-gap:.35rem 1rem;gap:.35rem 1rem;font-size:.875rem;margin:1rem 0}.meta-grid dt{margin:0;color:var(--muted)}.meta-grid dd{margin:0}.code-block{font-size:.75rem;overflow:auto;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);color:var(--fg);max-height:20rem}.h2-small{font-size:1rem;margin:0 0 .5rem}.portal-screen{box-sizing:border-box;min-width:0;flex:1 1;min-height:0;display:flex;flex-direction:column}.portal-screen__top{flex-shrink:0;justify-content:space-between;gap:var(--portal-companies-top-gap)}.portal-screen__title-group,.portal-screen__top{display:flex;align-items:flex-end;flex-wrap:wrap}.portal-screen__title-group{gap:var(--portal-companies-heading-gap)}.portal-screen__title{margin:0}.portal-screen__meta{margin:0 0 .25rem;padding:0;font-family:var(--portal-font-ui);font-weight:400;font-size:clamp(.75rem,.95vw,.875rem);line-height:normal;color:var(--portal-companies-total);white-space:nowrap}.portal-screen__toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--portal-companies-toolbar-gap);margin-top:.8125rem;margin-bottom:var(--portal-companies-toolbar-margin-bottom);flex-wrap:wrap}.portal-screen__toolbar-main{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem clamp(.75rem,1.2vw,1.25rem);min-height:1.5rem}.portal-screen__toolbar-side{max-width:100%}.portal-screen__toolbar-label{font-family:var(--portal-font-button);font-weight:400;font-size:var(--portal-companies-sort-size);line-height:1.5rem;color:var(--portal-text);white-space:nowrap}.portal-screen__muted{margin:1rem 0 0;font-family:var(--portal-font-ui);font-size:clamp(.9375rem,1.2vw,1.125rem);color:var(--portal-muted)}.portal-screen__error{flex-shrink:0;margin:.75rem 0 0;font-family:var(--portal-font-ui);font-size:clamp(.875rem,1vw,1rem);color:var(--portal-accent-red)}.portal-screen-toast{position:fixed;top:calc(var(--portal-header-h) + .75rem);left:50%;transform:translateX(-50%);z-index:120;max-width:min(28rem,100vw - 2rem);padding:.75rem 1.25rem;border-radius:var(--portal-radius-lg);background:var(--portal-surface);border:1px solid var(--portal-companies-border);box-shadow:0 4px 24px rgba(37,43,66,.12);pointer-events:none;box-sizing:border-box}.portal-screen-toast__text{margin:0;font-size:clamp(.875rem,1vw,1rem);line-height:1.4;text-align:center}.portal-nav-item,.portal-screen-toast__text{font-family:var(--portal-font-ui);color:var(--portal-text)}.portal-nav-item{position:relative;display:inline-block;padding-left:.75rem;font-weight:500;font-size:var(--portal-sidebar-link-size);line-height:normal;text-decoration:none;border:none;background:none;cursor:pointer;font-style:normal;transition:color .18s ease}.portal-nav-item:hover{color:var(--portal-primary)}.portal-nav-item--active{cursor:default}.portal-nav-item--active:hover{color:var(--portal-text)}.portal-nav-item:focus-visible{outline:2px solid var(--portal-primary);outline-offset:4px;border-radius:4px}.portal-nav-item--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:33px;background:var(--portal-accent-red);border-radius:1px}.portal-sidebar-tree{margin-top:.375rem;padding-left:.25rem;padding-right:.875rem;display:flex;flex-direction:column;gap:.375rem}.portal-sidebar-tree__branch,.portal-sidebar-tree__title,.portal-sidebar-tree__toggle{width:100%;margin:0;border:none;background:rgba(0,0,0,0);color:var(--portal-text);text-align:left;font:inherit}.portal-sidebar-tree__title{display:flex;align-items:center;justify-content:space-between;gap:.625rem;padding:.125rem 0 .125rem 1.375rem;font-family:var(--portal-font-ui);font-size:.9375rem;font-weight:500}.portal-sidebar-tree__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar-tree__title-suffix{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.portal-sidebar-tree__title-suffix svg{display:block;width:1rem;height:1rem}.portal-sidebar-tree__section+.portal-sidebar-tree__section{margin-top:.25rem}.portal-sidebar-tree__toggle{display:flex;align-items:center;justify-content:space-between;gap:.625rem;padding:.125rem 0 .125rem 1.375rem;cursor:pointer;font-family:var(--portal-font-ui);font-size:.875rem;font-weight:500}.portal-sidebar-tree__toggle-label{min-width:0}.portal-sidebar-tree__toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;padding-left:.875rem;color:var(--portal-text);line-height:1}.portal-sidebar-tree__toggle-icon svg{display:block;width:1rem;height:1rem}.portal-sidebar-tree__children{list-style:none;margin:0;padding:0}.portal-sidebar-tree__children--root,.portal-sidebar-tree__node+.portal-sidebar-tree__node{margin-top:.125rem}.portal-sidebar-tree__branch,.portal-sidebar-tree__leaf{display:flex;align-items:center;gap:.375rem;min-width:0;padding:.125rem 0 .125rem calc(1.375rem + var(--portal-sidebar-tree-level, 0)*.875rem);font-family:var(--portal-font-ui);font-size:.8125rem;font-weight:500;line-height:1.35}.portal-sidebar-tree__branch{cursor:pointer;justify-content:flex-start}.portal-sidebar-tree__label,.portal-sidebar-tree__leaf{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar-tree__leaf{max-width:100%;color:var(--portal-companies-row-text)}.portal-sidebar-tree__caret{flex-shrink:0;margin-left:-1rem;color:#111827;transform:rotate(-90deg);transition:transform .15s ease}.portal-sidebar-tree__branch--open .portal-sidebar-tree__caret{transform:rotate(0deg)}.portal-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;margin:0;border:none;cursor:pointer;font-family:var(--portal-font-button);font-weight:400;line-height:normal}.portal-button--primary{min-width:var(--portal-companies-button-w);min-height:var(--portal-companies-button-h);padding:clamp(.75rem,1.3vw,1.0625rem) 1rem;border-radius:var(--portal-radius-md);background:var(--portal-primary);color:#fff;font-size:var(--portal-companies-button-size)}.portal-button--primary.portal-button--sm{min-width:8.75rem;min-height:clamp(2.625rem,3.2vw,3rem);padding:clamp(.5rem,.85vw,.6875rem) .875rem;border-radius:.625rem;font-size:clamp(1rem,1.15vw,1.125rem)}.portal-button--primary:hover{background:var(--portal-primary-hover)}.portal-button--outline{width:min(11.75rem,100%);max-width:100%;padding:clamp(.75rem,1.2vw,.9375rem) 1rem;border:2px solid var(--portal-primary);border-radius:.75rem;background:rgba(0,0,0,0);color:var(--portal-primary);font-size:clamp(1rem,1.35vw,1.25rem)}.portal-button--outline.portal-button--sm{width:auto;min-height:clamp(2.625rem,3.2vw,3rem);padding:clamp(.5rem,.85vw,.6875rem) .875rem;font-size:clamp(.9375rem,1.1vw,1.0625rem)}.portal-button--outline:hover{background:rgba(225,234,250,.35)}.portal-button--icon{width:clamp(2rem,2.6vw,2.25rem);height:clamp(2rem,2.6vw,2.25rem);padding:0;border-radius:.5rem;background:rgba(0,0,0,0);color:var(--portal-primary)}.portal-button--icon:hover{background:rgba(225,234,250,.45)}.portal-button:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-button:disabled{opacity:.45;cursor:not-allowed}.portal-sort-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:clamp(2.25rem,3vw,2.625rem);padding:0 .875rem 0 .75rem;border:none;border-radius:.625rem;background:rgba(0,0,0,0);cursor:pointer;font-family:var(--portal-font-button);font-weight:400;font-size:var(--portal-companies-sort-size);color:var(--portal-text)}.portal-sort-chip:hover{background:rgba(225,234,250,.35)}.portal-sort-chip--active{background:var(--portal-companies-sort-pill)}.portal-sort-chip__text{line-height:1.5rem}.portal-sort-chip__icon{display:flex;align-items:center}.portal-sort-chip:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-switch{position:relative;width:2.5rem;height:1.25rem;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer;flex-shrink:0}span.portal-switch{display:inline-block;vertical-align:middle;cursor:inherit}.portal-switch[aria-hidden=true]{pointer-events:none;cursor:default}.portal-switch__track{position:absolute;top:.25rem;left:0;width:2.5rem;height:.75rem;border-radius:6.375rem;background:rgba(85,112,241,.12)}.portal-switch__knob{position:absolute;top:0;left:0;width:1.25rem;height:1.25rem;border-radius:50%;background:#bac4ca;transition:transform .15s ease,background-color .15s ease}.portal-switch--on .portal-switch__track{background:rgba(85,112,241,.4)}.portal-switch--on .portal-switch__knob{transform:translateX(1.25rem);background:var(--portal-primary)}.portal-switch:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-switch-field{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;width:50%;max-width:100%;box-sizing:border-box}.portal-switch-field--compact{width:auto;gap:0}.portal-switch-field__hit{display:flex;align-items:center;gap:clamp(.875rem,1.5vw,1.25rem);width:100%;margin:0;padding:.25rem 0;border:none;border-radius:.5rem;background:rgba(0,0,0,0);cursor:pointer;text-align:left;font:inherit}.portal-switch-field__label{flex:1 1;min-width:0;font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.875rem,1vw,1rem);line-height:normal;color:var(--portal-companies-toggle-label-off);transition:color .15s ease}.portal-switch-field--compact .portal-switch-field__label{font-size:clamp(.75rem,.95vw,.875rem);color:var(--portal-companies-muted-label);white-space:nowrap}.portal-switch-field--on .portal-switch-field__label{color:var(--portal-companies-toggle-label-on)}.portal-switch-field__hint{margin:0;width:100%;font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.8125rem,.95vw,.875rem);line-height:normal;color:var(--portal-companies-add-placeholder);text-align:left}.portal-switch-field__hit:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-checkbox{display:flex;align-items:center;gap:1rem;min-height:3.25rem;padding:.4375rem .75rem;border-radius:.875rem;cursor:pointer;transition:background-color .15s ease}.portal-checkbox:hover{background:rgba(225,234,250,.28)}.portal-checkbox__control{position:relative;flex-shrink:0;width:1.75rem;height:1.75rem}.portal-checkbox__input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;z-index:1}.portal-checkbox__ui{position:relative;display:block;width:1.75rem;height:1.75rem;border-radius:.625rem;border:1px solid #ccd3dd;box-sizing:border-box;background:#fff;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.portal-checkbox__icon{position:absolute;inset:0;width:.75rem;height:.75rem;margin:auto;color:#d5e5ef;opacity:0;transform:translate(-2px) scale(.9);transition:opacity .15s ease,transform .15s ease}.portal-checkbox__label{font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.9375rem,1vw,1.0625rem);color:#98a1aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.portal-checkbox__label--strong{color:#2b2f38;font-weight:500}.portal-checkbox:hover .portal-checkbox__ui,.portal-checkbox__input:hover+.portal-checkbox__ui{border-color:#b8c7d5}.portal-checkbox:has(.portal-checkbox__input:checked) .portal-checkbox__label{color:#2b2f38}.portal-checkbox__input:checked+.portal-checkbox__ui{border-color:#4d74f4;background:#0f5aa6;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px rgba(77,116,244,.72)}.portal-checkbox__input:checked+.portal-checkbox__ui .portal-checkbox__icon{opacity:1;transform:translate(-2px) scale(1)}.portal-search-select-host{position:relative;width:var(--portal-companies-search-w);max-width:100%;flex-shrink:0}.portal-search-select{box-sizing:border-box;display:flex;flex-direction:column;width:100%;min-height:clamp(2.625rem,3.4vw,2.8125rem);padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--portal-companies-border);background:var(--portal-surface)}.portal-search-select--open{background:var(--portal-panel);border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:rgba(0,0,0,0)}.portal-search-select__input-row{display:flex;align-items:center;gap:1rem;width:100%;flex:1 1;min-height:1.75rem}.portal-search-select__prefix,.portal-search-select__suffix{display:flex;align-items:center;color:#130f26}.portal-search-select__input{flex:1 1;min-width:0;border:none;background:rgba(0,0,0,0);font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.875rem,1vw,1rem);line-height:normal;color:var(--portal-text);padding:0}.portal-search-select__input::placeholder{color:#abafb1}.portal-search-select__input:focus{outline:none}.portal-search-select__dropdown{position:absolute;top:100%;left:0;right:0;z-index:30;display:flex;flex-direction:column;padding:clamp(.875rem,1.5vw,1.25rem) 1rem 1rem;background:var(--portal-surface);border-radius:0 0 .5rem .5rem;border:1px solid var(--portal-companies-border);border-top:none;box-shadow:var(--portal-companies-row-shadow)}.portal-data-table{background:var(--portal-surface);border-radius:var(--portal-radius-lg);padding:clamp(.75rem,1vw,.9375rem) .375rem clamp(1rem,1.5vw,1.25rem);box-sizing:border-box;box-shadow:none;overflow:hidden}.portal-data-table,.portal-data-table__shell{display:flex;flex-direction:column;flex:1 1;min-height:0}.portal-data-table__shell{gap:clamp(.25rem,.5vw,.3125rem);overflow:visible}.portal-data-table__body{flex:1 1;min-height:0;min-width:0;overflow:auto;box-sizing:border-box}.portal-data-table__head-cell{padding:clamp(.875rem,1.5vw,1.25rem) .25rem;font-family:var(--portal-font-ui);font-weight:400;font-size:calc(var(--portal-companies-cell-size)*1.2);line-height:normal;text-align:center;white-space:nowrap}.portal-data-table__head-cell--align-left{text-align:left}.portal-data-table__head-button{margin:0;border:none;background:rgba(0,0,0,0);color:inherit;font:inherit;cursor:pointer}.portal-data-table__head-button:hover{text-decoration:underline;text-underline-offset:.1875rem}.portal-data-table__head-button--sorted{font-weight:600;text-decoration:underline;text-underline-offset:.25rem}.portal-data-table__head-button--sorted:hover{text-decoration:underline}.portal-data-table__head-button:focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:4px}.portal-data-table__row-surface{margin-bottom:var(--portal-companies-row-gap-bottom);padding:0 .625rem 0 1rem;border-radius:var(--portal-radius-md);background:var(--portal-surface);box-shadow:var(--portal-companies-row-shadow);transition:box-shadow .2s ease}.portal-data-table__cell{min-width:0;font-family:var(--portal-font-ui);font-weight:400;font-size:calc(var(--portal-companies-cell-size)*1.2);line-height:normal;color:var(--portal-companies-row-text);text-align:center}.portal-data-table__cell--align-left{text-align:left}.portal-data-table__cell--actions{padding-left:.25rem}.portal-data-table__toggle-cell{display:flex;justify-content:center}.portal-data-table__toggle-wrap{display:inline-flex;justify-content:center}.portal-data-table__action{position:relative;width:clamp(2rem,2.6vw,2.25rem);height:clamp(2rem,2.6vw,2.25rem)}.portal-data-table__action svg{width:1.5rem;height:1.5rem}.portal-data-table__action--danger{color:var(--portal-accent-red)}.portal-data-table__action--danger:focus-visible{outline-color:var(--portal-accent-red)}.portal-data-table__action[data-tip]:focus-visible:after,.portal-data-table__action[data-tip]:hover:after{content:attr(data-tip);position:absolute;top:calc(100% + .5rem);left:50%;transform:translateX(-50%);padding:.375rem .625rem;border-radius:.5rem;background:var(--portal-text);color:#fff;font-family:var(--portal-font-button);font-size:.75rem;font-weight:400;line-height:1.2;white-space:nowrap;z-index:40;pointer-events:none}.portal-icon-actions{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.375rem,.8vw,.625rem)}.portal-table-controls{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:1rem clamp(1rem,2vw,1.5rem);margin-top:1rem;padding-left:1.125rem;padding-right:1.125rem}.portal-table-controls__page-size{display:flex;align-items:center;gap:0}.portal-table-controls__page-size-label{margin-right:1.3125rem}.portal-table-controls__page-size-btn,.portal-table-controls__page-size-label{font-family:var(--portal-font-ui);font-weight:400;font-size:clamp(.75rem,.95vw,.875rem);color:var(--portal-companies-total)}.portal-table-controls__page-size-btn{margin:0 0 0 1.4375rem;padding:0;min-width:1.5rem;border:none;background:none;cursor:pointer}.portal-table-controls__page-size-btn:first-of-type{margin-left:0}.portal-table-controls__page-size-btn--active{color:var(--portal-primary);font-weight:600}.portal-table-controls__page-size-btn:hover{color:var(--portal-primary-hover)}.portal-table-controls__page-size-btn:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px;border-radius:4px}.portal-table-controls__pagination{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,1vw,.75rem);margin-left:auto;margin-right:auto;padding:0 .75rem;min-height:2.0625rem;background:var(--portal-surface);border-radius:.5rem}.portal-table-controls__page{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;margin:0;padding:.5rem .5625rem .5625rem;border:none;border-radius:.375rem;background:rgba(0,0,0,0);font-family:var(--portal-font-button);font-weight:400;font-size:.75rem;line-height:1rem;color:var(--portal-companies-pagination-text);cursor:pointer}.portal-table-controls__page--current{border:1.5px solid var(--portal-primary);padding:.375rem .4375rem .4375rem;cursor:default}.portal-table-controls__page:hover:not(.portal-table-controls__page--current):not(.portal-table-controls__page--ellipsis){background:rgba(225,234,250,.5)}.portal-table-controls__page:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-table-controls__page--ellipsis{cursor:default;pointer-events:none;min-width:1.5rem}.portal-table-controls__page-nav{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:none;border-radius:.375rem;background:rgba(0,0,0,0);color:var(--portal-companies-pagination-text);cursor:pointer}.portal-table-controls__page-nav:hover:not(:disabled){background:rgba(225,234,250,.5)}.portal-table-controls__page-nav:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-table-controls__page-nav--disabled,.portal-table-controls__page-nav:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.portal-table-controls__showing{margin:0 0 0 auto;font-family:var(--portal-font-ui);font-weight:400;font-size:clamp(.75rem,.95vw,.875rem);line-height:normal;color:var(--portal-companies-total);text-align:right;white-space:nowrap}.portal-modal{display:flex;flex-direction:column;pointer-events:auto;position:relative;box-sizing:border-box;width:var(--portal-modal-width);max-width:100%;max-height:100%;min-height:0;flex-shrink:1;overflow-y:auto;padding:var(--portal-modal-pad-y) var(--portal-modal-pad-x);box-shadow:var(--portal-companies-row-shadow)}.portal-modal-overlay{position:fixed;inset:0;z-index:90;background:var(--portal-modal-overlay)}.portal-modal-dock{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box;pointer-events:none}.portal-modal-dock>.portal-modal{pointer-events:auto}.portal-modal__title{margin:0 0 clamp(1.25rem,2.5vw,2.25rem);padding:0 clamp(1.25rem,3vw,2.75rem);font-family:var(--portal-font-ui);font-weight:500;font-size:var(--portal-modal-title-size);line-height:normal;text-align:center;color:var(--portal-text)}.portal-modal__body{display:flex;flex-direction:column;flex:1 1;gap:clamp(.875rem,1.5vw,1.25rem)}.portal-modal__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--portal-modal-actions-gap);margin-top:auto;padding-top:clamp(1.5rem,4vw,3rem)}.portal-form-modal{width:min(38rem,100%)}.portal-form-modal .portal-modal__title{position:relative}.portal-form-modal__close{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);color:var(--portal-text);cursor:pointer}.portal-form-modal__grid{display:flex;flex-direction:column;gap:1rem}.portal-form-modal__row--pair{grid-template-columns:1fr 1fr;column-gap:1rem}.portal-form-modal__row--single-right{grid-template-columns:minmax(0,1fr)}.portal-form-modal__input{width:100%;min-height:1.5rem;border:none;background:rgba(0,0,0,0);font:inherit;color:inherit;outline:none}.portal-form-modal__actions{display:flex;gap:1rem}.portal-form-modal__actions .portal-button{flex:1 1;width:auto}.portal-field{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.375rem;box-sizing:border-box;min-height:var(--portal-modal-field-h);padding:.4375rem 1rem .5rem;border:1px solid var(--portal-companies-border);border-radius:.5rem;background:var(--portal-surface)}.portal-field:focus-within{border-color:var(--portal-primary);outline:2px solid var(--portal-primary);outline-offset:0}.portal-field__label{flex-shrink:0;font-family:var(--portal-font-button);font-weight:400;font-size:.75rem;line-height:.75rem;color:var(--portal-companies-add-label)}.portal-field__error{margin:-.75rem 0 0;font-family:var(--portal-font-button);font-size:clamp(.8125rem,.95vw,.875rem);line-height:normal;color:var(--portal-accent-red)}.portal-field-row{display:grid;align-items:stretch}.portal-type-select,.portal-type-select__host{position:relative;width:100%}.portal-type-select__host{max-width:100%;min-width:0}.portal-type-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:1.5rem;padding:0;border:none;border-radius:0;background:rgba(0,0,0,0);font-family:var(--portal-font-ui);font-size:1rem;color:var(--portal-text);text-align:left;cursor:pointer}.portal-type-select__panel{width:100%}.portal-type-select__panel--open{border:0;background:none;min-height:auto}.portal-type-select__input-row{display:flex;align-items:center;gap:.5rem;width:100%}.portal-type-select__input{flex:1 1;min-width:0;border:none;background:rgba(0,0,0,0);font-family:var(--portal-font-ui);font-size:1rem;line-height:normal;color:var(--portal-text);padding:0}.portal-type-select__input:focus{outline:none}.portal-type-select__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-type-select__chevron,.portal-type-select__chevron-button{display:inline-flex;flex-shrink:0;color:#252b42}.portal-type-select__chevron-button{align-items:center;justify-content:center;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer}.portal-type-select__dropdown{position:absolute;top:101%;left:0;right:0;z-index:30;display:flex;flex-direction:column;padding:clamp(.875rem,1.5vw,1.25rem) 1rem 1rem;background:var(--portal-surface);border-radius:0 0 .5rem .5rem;border:1px solid var(--portal-companies-border);box-shadow:var(--portal-companies-row-shadow)}.portal-type-select__options{display:flex;flex-direction:column;gap:.375rem}.portal-type-select__option{margin:0;padding:.375rem .5rem;border:none;border-radius:.375rem;background:rgba(0,0,0,0);font:inherit;color:var(--portal-companies-row-text);text-align:left;cursor:pointer}.portal-type-select__option--active,.portal-type-select__option:hover{background:rgba(225,234,250,.6)}@media(max-width:1200px){.portal-header{min-height:auto;padding-top:.875rem;padding-bottom:.875rem}.portal-header__user{width:min(100%,28rem)}.portal-main{overflow-x:auto}.portal-dashboard__grid{grid-template-columns:1fr;grid-template-rows:auto}.portal-card--aside,.portal-card--hero,.portal-card--upload,.portal-card--wide{grid-column:1;grid-row:auto;height:auto}.portal-card--hero{min-height:clamp(17.5rem,38vw,26.25rem)}.portal-card--upload{min-height:clamp(15rem,30vw,20rem)}.portal-card--aside{min-height:clamp(9.25rem,18vw,13.125rem)}.portal-card--wide{min-height:clamp(11.25rem,24vw,15rem)}.portal-screen__toolbar{flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:.875rem 1rem}.portal-screen__toolbar-main{flex:1 1 auto;min-width:0}.portal-screen__toolbar-side,.portal-search-select-host{width:100%;flex:1 1 100%}.portal-button--primary{width:100%;min-width:0;padding-inline:.875rem;font-size:1rem}.portal-table-controls{gap:.875rem 1rem;padding-left:.75rem;padding-right:.75rem}.portal-modal-dock{padding:var(--portal-shell-pad)}}@media(max-width:960px){.portal-shell{overflow:auto}.portal-body{grid-template-columns:1fr;overflow:visible}.portal-sidebar{overflow:visible;padding-right:var(--portal-sidebar-pad-left);padding-bottom:clamp(1rem,2vw,1.5rem)}.portal-sidebar__nav{flex-direction:row;flex-wrap:wrap;gap:.75rem 1.125rem}.portal-nav-item{padding-left:0}.portal-nav-item--active:before{left:0;right:0;top:auto;bottom:-.5rem;transform:none;width:auto;height:3px}.portal-header{flex-wrap:wrap}.portal-header__user{width:100%;min-width:0}.file-dropzone__hint{left:14%;right:14%}.portal-screen__title-group{align-items:flex-start}.portal-screen__toolbar-main{gap:.625rem .875rem}.portal-screen__toolbar-label{width:100%}.portal-search-select{padding-inline:.75rem}.portal-table-controls__page-size,.portal-table-controls__pagination{justify-content:flex-start}.portal-modal__actions{flex-direction:column;align-items:stretch}.portal-button--outline,.portal-switch-field{width:100%}}@media(max-width:640px){.portal-shell{height:auto;min-height:100dvh}.portal-header__user{grid-template-columns:minmax(0,1fr) var(--portal-header-avatar-wrap-w) var(--portal-header-chevron-size);grid-template-areas:"ident ident ident" ". avatar menu";row-gap:.625rem}.portal-header__user-ident{grid-area:ident;align-items:flex-start}.portal-header__avatar-wrap{grid-area:avatar}.portal-header__account{grid-area:menu}.portal-header__dropdown{width:min(12.0625rem,100vw - 3rem)}.portal-main{padding-inline:1rem}.portal-sort-chip{width:100%;justify-content:space-between}.portal-table-controls{padding-inline:0}.portal-modal__title{text-align:left;padding-right:2rem}}.portal-cabinet-upload-stack{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:1200;display:flex;flex-direction:column;gap:.625rem;max-width:min(22rem,100vw - 2rem);max-height:min(50vh,24rem);overflow-y:auto;pointer-events:none}.portal-cabinet-upload-stack__card{pointer-events:auto;padding:.75rem .875rem;border-radius:var(--portal-radius-lg,.625rem);background:var(--portal-surface,#ffffff);border:1px solid var(--portal-companies-border,#e2e8f0);box-shadow:0 .25rem 1rem rgba(15,23,42,.12)}.portal-cabinet-upload-stack__card--success{border-color:rgba(34,160,107,.45)}.portal-cabinet-upload-stack__card--error{border-color:rgba(220,53,69,.55)}.portal-cabinet-upload-stack__name{margin:0 0 .5rem;font-family:var(--portal-font-ui);font-size:.8125rem;font-weight:500;color:#252b42;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-cabinet-upload-stack__bar{position:relative;height:.375rem;border-radius:.25rem;background:#e8edf3;overflow:hidden}.portal-cabinet-upload-stack__bar--error{background:rgba(220,53,69,.2)}.portal-cabinet-upload-stack__bar--indeterminate .portal-cabinet-upload-stack__bar-fill{width:40%!important;animation:portal-cabinet-upload-indeterminate 1.1s ease-in-out infinite}@keyframes portal-cabinet-upload-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.portal-cabinet-upload-stack__bar-fill{display:block;height:100%;border-radius:.25rem;background:var(--portal-primary,#1f6cab);transition:width .12s ease-out}.portal-cabinet-upload-stack__card--success .portal-cabinet-upload-stack__bar-fill{background:#22a06b}.portal-cabinet-upload-stack__bar--error .portal-cabinet-upload-stack__bar-fill{background:#dc3545}.portal-cabinet-upload-stack__status{margin:.375rem 0 0;font-family:var(--portal-font-ui);font-size:.6875rem;color:#6b7280;line-height:1.35}.portal-cabinet-upload-stack__card--error .portal-cabinet-upload-stack__status{color:#b02a37}.portal-cabinet-upload-stack__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}:root{--portal-screen-min:360px;--portal-screen-max:1600px;--portal-page-bg:#ffffff;--portal-panel:#f1f5fd;--portal-surface:#ffffff;--portal-header-bg:#f1f5fd;--portal-accent-red:#fa4f2d;--portal-primary:rgb(0,89,155);--portal-primary-hover:rgb(9,47,89);--portal-text:#000000;--portal-muted:#858d9d;--portal-radius-lg:clamp(1rem,1.2vw,1.25rem);--portal-radius-md:clamp(0.625rem,0.9vw,0.75rem);--portal-shell-pad:clamp(0.75rem,1.5vw,1.25rem);--portal-header-h:clamp(4.5rem,7vw,5.9375rem);--portal-sidebar-w:clamp(15rem,23vw,20.4375rem);--portal-body-gap:clamp(0.75rem,1.5vw,1.25rem);--portal-main-pad-x:clamp(1.25rem,3vw,3.125rem);--portal-main-pad-y:clamp(1.25rem,2.2vw,1.875rem);--portal-panel-pad-bottom:clamp(1.5rem,2.5vw,2.5rem);--portal-header-pad-x-start:clamp(1.25rem,3vw,2.9375rem);--portal-header-pad-x-end:clamp(1.125rem,2.6vw,2.5625rem);--portal-sidebar-pad-top:clamp(1.5rem,3vw,2.9375rem);--portal-sidebar-pad-left:clamp(1.125rem,2.5vw,2.1875rem);--portal-sidebar-pad-bottom:clamp(1.5rem,2.5vw,2.5rem);--portal-sidebar-nav-gap:clamp(1.5rem,4vw,3.625rem);--portal-header-user-gap:clamp(0.5rem,0.8vw,0.625rem);--portal-header-user-name-size:clamp(1.125rem,1.6vw,1.5rem);--portal-header-user-role-size:clamp(0.75rem,0.9vw,0.875rem);--portal-header-avatar-size:clamp(2.6rem,4vw,3.75rem);--portal-header-avatar-wrap-w:clamp(2.7rem,4.16vw,3.85rem);--portal-header-avatar-letter-size:clamp(1.5rem,2.4vw,2.4rem);--portal-header-chevron-size:clamp(2.25rem,3vw,2.625rem);--portal-sidebar-link-size:clamp(1.125rem,1.7vw,1.5rem);--portal-dashboard-title-size:clamp(1.75rem,3.2vw,3rem);--portal-dashboard-gap:clamp(1rem,2.2vw,2.1875rem);--portal-dashboard-top-gap:clamp(1.125rem,3vw,2.8125rem);--portal-dashboard-hero-h:clamp(17.5rem,30vw,28rem);--portal-dashboard-upload-h:clamp(13.75rem,18vw,16.875rem);--portal-dashboard-aside-h:clamp(7.5rem,10vw,8.9375rem);--portal-dashboard-wide-h:clamp(13.75rem,20vw,19.4375rem);--portal-dropzone-button-size:clamp(1rem,1.3vw,1.25rem);--portal-dropzone-hint-size:clamp(0.8125rem,0.95vw,0.875rem);--portal-dropzone-icon-w:clamp(4rem,5.5vw,5.1875rem);--portal-dropzone-icon-h:clamp(4.875rem,6.5vw,6.25rem);--portal-companies-heading-gap:clamp(1rem,2vw,1.875rem);--portal-companies-top-gap:clamp(1rem,2vw,1.5rem);--portal-companies-toolbar-gap:clamp(1rem,2vw,2rem);--portal-companies-toolbar-margin-bottom:clamp(1.125rem,2vw,1.5rem);--portal-companies-button-w:clamp(15rem,26vw,23.4375rem);--portal-companies-button-h:clamp(3rem,4.5vw,3.5rem);--portal-companies-button-size:clamp(1rem,1.35vw,1.25rem);--portal-companies-search-w:clamp(13.75rem,26vw,23.4375rem);--portal-companies-sort-size:clamp(0.9375rem,1.25vw,1.25rem);--portal-companies-cell-size:clamp(0.75rem,0.95vw,0.875rem);--portal-companies-grid-gap:clamp(0.25rem,0.7vw,0.5rem);--portal-companies-row-gap-bottom:clamp(0.625rem,1vw,0.9375rem);--portal-modal-width:min(620px,calc(100vw - (var(--portal-shell-pad) * 2)));--portal-modal-pad-x:clamp(1.25rem,3vw,2.1875rem);--portal-modal-pad-y:clamp(1.5rem,3vw,2.5rem);--portal-modal-title-size:clamp(1.5rem,2.4vw,2.25rem);--portal-modal-actions-gap:clamp(1rem,2vw,1.875rem);--portal-modal-field-h:clamp(3.375rem,4vw,3.625rem);--portal-font-heading:var(--font-portal-golos),ui-sans-serif,system-ui,sans-serif;--portal-font-ui:var(--font-portal-golos),ui-sans-serif,system-ui,sans-serif;--portal-font-button:var(--font-portal-golos),ui-sans-serif,system-ui,sans-serif;--portal-font-hint:var(--font-portal-golos),ui-sans-serif,system-ui,sans-serif;--portal-companies-row-text:#15253f;--portal-companies-total:#767676;--portal-companies-border:#cfd4d4;--portal-companies-muted-label:#838d8c;--portal-companies-checkbox-border:#cfd4d4;--portal-companies-checkbox-on-border:#6c7dcd;--portal-companies-sort-pill:rgba(225,234,250,0.5);--portal-companies-row-shadow:-3px 4px 10px rgba(225,234,250,0.8);--portal-companies-pagination-text:#1d2939;--portal-companies-dropdown-strong:#2b2f38;--portal-companies-add-label:#5e6366;--portal-companies-add-placeholder:#abadb1;--portal-companies-toggle-label-off:#838d8c;--portal-companies-toggle-label-on:#2b2f32;--portal-modal-overlay:rgba(15,23,42,0.18)}.portal-shell{box-sizing:border-box;height:100dvh;min-height:100dvh;padding:var(--portal-shell-pad);overflow:hidden;display:flex;flex-direction:column;background:var(--portal-page-bg)}.portal-shell__inner{flex:1 1;min-height:0;width:100%;display:flex;flex-direction:column}.portal-body{display:grid;grid-template-columns:var(--portal-sidebar-w) minmax(0,1fr);grid-gap:var(--portal-body-gap);gap:var(--portal-body-gap);margin-top:var(--portal-body-gap);flex:1 1;min-height:0;overflow:hidden;align-items:stretch}.portal-body--sidebar-only{grid-template-columns:var(--portal-sidebar-w);justify-content:start}.portal-header{flex-shrink:0;min-height:var(--portal-header-h);padding:0 var(--portal-header-pad-x-end) 0 var(--portal-header-pad-x-start);display:flex;align-items:center;justify-content:space-between;gap:var(--portal-body-gap);background:var(--portal-header-bg);border-radius:var(--portal-radius-lg);box-sizing:border-box}.portal-header__logo{margin:0;padding:0;border:none;background:none;text-decoration:none;cursor:pointer;display:flex;align-items:center;line-height:0}.portal-header__logo-img{display:block;height:2.25rem;width:auto;max-width:min(12.5rem,50vw)}.portal-header__logo:focus-visible{outline:2px solid var(--portal-primary);outline-offset:4px;border-radius:4px}.portal-header__user{display:grid;grid-template-columns:auto minmax(0,1fr) var(--portal-header-avatar-wrap-w) var(--portal-header-chevron-size);align-items:center;justify-content:end;width:min(100%,40rem);min-height:var(--portal-header-avatar-size);grid-gap:var(--portal-header-user-gap);gap:var(--portal-header-user-gap)}.portal-header__user--compact{grid-template-columns:minmax(0,auto) var(--portal-header-avatar-wrap-w) var(--portal-header-chevron-size);width:auto}.portal-header__view-toggle{display:inline-flex;align-items:center;padding:.25rem;border-radius:999px;background:rgba(225,234,250,.65);gap:.25rem}.portal-header__view-option{min-width:5.75rem;padding:.5rem .9rem;border:none;border-radius:999px;background:rgba(0,0,0,0);color:var(--portal-muted);font-family:var(--portal-font-ui);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.portal-header__view-option--active{background:var(--portal-panel);color:var(--portal-text);box-shadow:0 .2rem .6rem rgba(31,47,70,.12)}.portal-header__view-option:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-header__user-ident{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.portal-header__user-name{font-weight:600;font-size:var(--portal-header-user-name-size);color:var(--portal-text)}.portal-header__user-name,.portal-header__user-role{font-family:var(--portal-font-ui);line-height:normal}.portal-header__user-role{font-weight:500;font-size:var(--portal-header-user-role-size);color:var(--portal-muted);text-transform:lowercase}.portal-header__avatar-wrap{position:relative;width:var(--portal-header-avatar-wrap-w);height:var(--portal-header-avatar-size)}.portal-header__avatar{width:var(--portal-header-avatar-size);height:var(--portal-header-avatar-size);border-radius:100%;background:var(--portal-accent-red);display:flex;align-items:center;justify-content:center}.portal-header__avatar-letter{font-family:var(--portal-font-ui);font-weight:600;font-size:var(--portal-header-avatar-letter-size);line-height:1;color:#fff;margin:0;padding:0}.portal-header__account{position:relative;justify-self:end;width:100%;min-height:var(--portal-header-avatar-size)}.portal-header__account,.portal-header__account-summary{display:flex;align-items:center;justify-content:flex-end}.portal-header__account-summary{list-style:none;cursor:pointer;height:100%;padding:0}.portal-header__account-summary::-webkit-details-marker{display:none}.portal-header__chevron-wrap{display:flex;align-items:center;justify-content:center;width:var(--portal-header-chevron-size);height:var(--portal-header-chevron-size);border-radius:.625rem;transition:background-color .15s ease}.portal-header__account[open] .portal-header__chevron-wrap{background-color:rgba(225,234,250,.5)}.portal-header__chevron{display:block;width:1.0625rem;height:1.0625rem;color:var(--portal-accent-red);transition:transform .15s ease}.portal-header__account[open] .portal-header__chevron{transform:rotate(180deg)}.portal-header__dropdown{position:absolute;top:calc(100% - .25rem);right:0;width:12.0625rem;min-height:3.4375rem;padding:0;background:var(--portal-panel);border-radius:0 0 .625rem .625rem;box-shadow:-.1875rem .25rem .625rem rgba(225,234,250,.8);z-index:20}.portal-header__logout.portal-header__logout{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.9375rem;width:100%;min-height:3.4375rem;margin:0;padding:0 1rem 0 2rem;border:none;background:rgba(0,0,0,0);cursor:pointer;font-family:var(--portal-font-ui);font-weight:500;font-size:clamp(1.125rem,1.6vw,1.5rem);line-height:normal;color:var(--portal-text);border-radius:0 0 .625rem .625rem;box-shadow:none}.portal-header__logout:hover{background:rgba(225,234,250,.45)}.portal-header__logout:focus-visible{outline:2px solid var(--portal-primary);outline-offset:-2px}.portal-header__logout-icon{flex-shrink:0;color:var(--portal-text)}.portal-header__logout-label{white-space:nowrap}.portal-sidebar{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--portal-panel);border-radius:var(--portal-radius-lg);padding:var(--portal-sidebar-pad-top) 0 var(--portal-sidebar-pad-bottom) var(--portal-sidebar-pad-left);box-sizing:border-box}.portal-sidebar__nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--portal-sidebar-nav-gap)}.portal-sidebar-client-picker{padding:0 .875rem 1.5rem 0}.portal-sidebar-client-picker .portal-search-select-host{width:100%}.portal-sidebar-client-picker__select{min-height:2.4375rem;padding:.375rem .75rem;border-color:#bfc6d2;background:#f7f9fe;border-radius:.375rem}.portal-sidebar-client-picker__select.portal-search-select--open{background:#f7f9fe;border-color:#bfc6d2 #bfc6d2 rgba(0,0,0,0);border-bottom-left-radius:0;border-bottom-right-radius:0}.portal-sidebar-client-picker__select .portal-search-select__input-row{gap:.625rem;min-height:1.625rem}.portal-sidebar-client-picker__select .portal-search-select__prefix{color:#111827}.portal-sidebar-client-picker__select .portal-search-select__input{font-family:var(--portal-font-ui);font-size:.9375rem;color:#111827}.portal-sidebar-client-picker__select .portal-search-select__input::placeholder{color:#9ca3af}.portal-sidebar-client-picker .portal-search-select__dropdown{padding:.875rem .8125rem .8125rem;border-color:#bfc6d2;border-radius:0 0 .375rem .375rem;background:var(--portal-surface);box-shadow:0 .625rem 1.25rem rgba(37,54,84,.08)}.portal-sidebar-client-picker__options{display:flex;flex-direction:column;gap:0;max-height:min(18rem,52vh);overflow-y:auto}.portal-sidebar-client-picker__option{display:block;width:100%;margin:0;padding:.625rem .5625rem;border:none;border-radius:.3125rem;background:rgba(0,0,0,0);color:var(--portal-text);font-family:var(--portal-font-ui);font-size:.875rem;line-height:1.3;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.portal-sidebar-client-picker__option--active,.portal-sidebar-client-picker__option:hover{background:rgba(0,89,155,.08);color:var(--portal-primary)}.portal-sidebar-client-picker__empty{display:block;padding:.625rem .75rem;color:var(--portal-muted);font-family:var(--portal-font-ui);font-size:.875rem}.portal-sidebar__item{min-width:0}.portal-sidebar__item--with-context{display:flex;flex-direction:column;gap:1.5rem}.portal-sidebar__nav-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-right:.875rem}.portal-sidebar-context{margin-top:.375rem;padding-left:1.625rem;padding-right:.875rem;display:flex;flex-direction:column;gap:1rem}.portal-sidebar-context__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--portal-font-ui);font-size:1.35rem;font-weight:500;line-height:1.35;color:var(--portal-text)}.portal-sidebar-context__title-link{display:block;text-decoration:none;transition:color .18s ease}.portal-sidebar-context__title-link:hover{color:var(--portal-primary)}.portal-sidebar-context__title-link--active{cursor:default}.portal-sidebar-context__title-link--active:hover{color:var(--portal-text)}.portal-sidebar-context__link{display:inline-flex;align-items:center;min-height:1.625rem;margin:0;padding:0 0 0 1.3rem;border:none;background:rgba(0,0,0,0);font-family:var(--portal-font-ui);font-size:1.3rem;font-weight:500;line-height:1.35;color:var(--portal-companies-row-text);text-align:left;cursor:pointer;transition:color .18s ease}.portal-sidebar-context__link:hover{color:var(--portal-primary)}.portal-sidebar-context__link--active{color:var(--portal-text);cursor:default}.portal-sidebar-context__link--active:hover{color:var(--portal-text)}.portal-sidebar-context__branch{display:flex;flex-direction:column;gap:.8rem}.portal-sidebar-context__branch-head{display:flex;align-items:center;justify-content:space-between;gap:.625rem}.portal-sidebar-context__branch-head--actions{justify-content:flex-end}.portal-sidebar-context__toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin:0;padding:0;border:none;background:rgba(0,0,0,0);color:var(--portal-primary);cursor:pointer;transition:color .18s ease}.portal-sidebar-context__toggle:hover{color:var(--portal-primary-hover)}.portal-sidebar-context__children{display:flex;flex-direction:column;gap:.25rem;padding-left:2.5rem}.portal-sidebar-context__child{position:relative;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--portal-font-ui);font-size:1.2rem;font-weight:500;line-height:1.35;color:var(--portal-companies-row-text);text-decoration:none;transition:color .18s ease}.portal-sidebar-context__child:hover{color:var(--portal-primary)}.portal-sidebar-context__child--active{padding-left:.875rem;color:var(--portal-text)}.portal-sidebar-context__child--active:before{content:"";position:absolute;top:50%;left:0;width:.125rem;height:1.5rem;border-radius:999px;background:var(--portal-accent-red);transform:translateY(-50%)}.portal-sidebar-context__child--active:hover{color:var(--portal-text)}.portal-sidebar-context__child--empty{cursor:default;color:var(--portal-muted)}.portal-sidebar-context__child--empty:hover{color:var(--portal-muted)}.portal-main{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--portal-panel);border-radius:var(--portal-radius-lg);padding:var(--portal-main-pad-y) var(--portal-main-pad-x) var(--portal-panel-pad-bottom);box-sizing:border-box}.portal-companies-add-modal{width:min(38rem,100%)}.portal-companies-add-modal__form{display:flex;flex-direction:column;gap:clamp(.875rem,1.6vw,1.25rem)}.portal-companies-add-modal__field-error{margin-top:-.375rem}.portal-companies-add-modal__close{width:2.1875rem;height:2.1875rem;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:.5rem;background:rgba(0,0,0,0);color:var(--portal-text);cursor:pointer}.portal-companies-add-modal__close:hover{background:rgba(225,234,250,.5)}.portal-companies-add-modal__close:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.portal-companies-add-modal__field--lang{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.portal-companies-add-modal__field--lang:hover{border-color:rgba(0,89,155,.35);background:rgba(241,245,253,.85);box-shadow:0 1px 2px rgba(29,41,57,.06)}.portal-companies-add-modal__field--lang:focus-within{background:var(--portal-surface);box-shadow:none}.portal-companies-add-modal__input{box-sizing:border-box;width:100%;min-height:0;margin:0;padding:0;border:none;background:rgba(0,0,0,0);font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.875rem,1vw,1rem);line-height:1.25rem;height:1.25rem;color:var(--portal-companies-row-text)}.portal-companies-add-modal__input::placeholder{color:var(--portal-companies-add-placeholder)}.portal-companies-add-modal__input:focus{outline:none}.portal-companies-add-modal__input--disabled{color:var(--portal-companies-add-placeholder);cursor:not-allowed}.portal-companies-add-modal__row--lang-id{grid-template-columns:minmax(0,331fr) minmax(0,128fr);column-gap:clamp(1.25rem,6vw,5.625rem)}.portal-companies-add-modal__row--pair{grid-template-columns:minmax(0,260fr) minmax(0,260fr);column-gap:clamp(1rem,2vw,1.8125rem)}.portal-companies-add-modal__select-wrap{position:relative;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0;height:1.25rem}.portal-companies-add-modal__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:100%;min-width:0;height:1.25rem;margin:0;padding:0 1.875rem 0 0;border:none;border-radius:.25rem;background-color:rgba(0,0,0,0);background-image:none;font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.875rem,1vw,1rem);line-height:1.25rem;color:var(--portal-companies-row-text);cursor:pointer}.portal-companies-add-modal__select:hover{color:var(--portal-primary)}.portal-companies-add-modal__select:focus{outline:none}.portal-companies-add-modal__select option{font-family:var(--portal-font-button);font-weight:400;font-size:1rem;color:var(--portal-text);background:var(--portal-surface);padding:.5rem .75rem}.portal-companies-add-modal__field--lang:hover .portal-companies-add-modal__select-chevron{color:var(--portal-primary)}.portal-companies-add-modal__select-chevron{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--portal-companies-row-text);transition:color .15s ease}.portal-companies-add-modal__toggles{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(.875rem,1.6vw,1.25rem)}.portal-companies-add-modal__toggle-label{font-family:var(--portal-font-button);font-weight:400;font-size:clamp(.875rem,1vw,1rem);line-height:normal;color:var(--portal-companies-toggle-label-off);transition:color .15s ease}.portal-companies-add-modal__toggle-label--on{color:var(--portal-companies-toggle-label-on)}.portal-company{min-width:0}.portal-company__top{margin-bottom:1.125rem}.portal-company__title-group{align-items:baseline;gap:clamp(.75rem,1vw,1rem)}.portal-company__top-action{min-width:min(16.25rem,100%)}.portal-company__meta{margin-bottom:.3125rem;font-size:.6875rem;color:#8f99a8}.portal-company__hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(19rem,.72fr);grid-gap:1rem;gap:1rem;margin-bottom:1.375rem;align-items:stretch}.portal-company__summary-card,.portal-company__upload-card{min-height:11.25rem;border-radius:var(--portal-radius-lg);background:var(--portal-surface);box-shadow:var(--portal-companies-row-shadow)}.portal-company__summary-card{min-width:0;border:1px solid rgba(225,234,250,.75)}.portal-company__upload-card{position:relative;display:flex;flex-direction:column;justify-content:center;padding:.875rem;border:1px solid rgba(225,234,250,.75);overflow:hidden}.portal-company__dropzone{min-height:0;height:100%}.portal-company__dropzone--drag{background:rgba(225,234,250,.45)}.portal-company__dropzone .file-dropzone__frame{inset:10.5% 7.75%;border-width:.25rem;border-color:rgba(225,234,250,.95)}.portal-company__dropzone .file-dropzone__content{gap:.875rem;max-width:72%}.portal-company__dropzone .file-dropzone__hint{font-size:.6875rem;line-height:1.2;color:#9ba7b6}.portal-company__dropzone .file-dropzone__button{min-width:8.75rem;padding-inline:1rem}.portal-company__dropzone .file-dropzone__icon{width:clamp(3.625rem,4.8vw,4.5rem);height:clamp(4.125rem,5.5vw,5rem)}.portal-company__upload-message{margin:.75rem 0 0;font-family:var(--portal-font-ui);font-size:.875rem;color:var(--portal-muted)}.portal-company__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:.875rem}.portal-company__toolbar--editing{padding:.75rem .875rem;border-radius:.875rem;background:rgba(225,234,250,.45)}.portal-company__toolbar--embedded{margin-top:0;align-items:center;justify-content:space-between;flex-wrap:nowrap}.portal-company__toolbar--embedded .portal-company__toolbar-main{flex:0 0 auto}.portal-company__toolbar-main,.portal-company__toolbar-side{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem}.portal-company__toolbar-main{flex:1 1 auto}.portal-company__toolbar-side{justify-content:flex-end;margin-left:auto;width:100%}.portal-company__toolbar-side--embedded{width:auto;max-width:100%;flex:0 1 auto;flex-wrap:nowrap}.portal-company__archived-toggle{margin:0 auto 0 0}.portal-company__bulk-toggle{min-width:8.75rem;white-space:nowrap}.portal-company__search{display:inline-flex;align-items:center;gap:.625rem;width:min(17.5rem,100%);min-height:2.75rem;padding:0 .875rem;border:1px solid var(--portal-companies-border);border-radius:.4375rem;background:var(--portal-surface);color:#252b42;box-sizing:border-box}.portal-company__search-input{flex:1 1;min-width:0;border:none;background:rgba(0,0,0,0);font:inherit;color:#252b42;outline:none}.portal-company__search-select{min-height:2.75rem;padding-block:.4375rem;border-radius:.4375rem}.portal-company__table-card{margin-top:0}.portal-company__table-shell{min-width:0}.portal-company__table-body{padding:.625rem .75rem .875rem;scrollbar-width:thin;scrollbar-color:#c5cdd4 #f2f5f7}.portal-company__table-body::-webkit-scrollbar{width:.5rem;height:.5rem}.portal-company__table-body::-webkit-scrollbar-track{background:#f2f5f7;border-radius:.5rem}.portal-company__table-body::-webkit-scrollbar-thumb{background:#c5cdd4;border-radius:.5rem}.portal-company__grid{display:grid;grid-template-columns:2rem minmax(5.5rem,7rem) minmax(7rem,.85fr) minmax(7.25rem,1fr) 5rem 6rem 6rem minmax(7rem,1fr) minmax(3rem,1fr) 8rem;grid-column-gap:.25rem;column-gap:.25rem;align-items:center;min-height:clamp(3.25rem,4.6vw,3.75rem);box-sizing:border-box;width:100%}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil{grid-template-columns:2rem minmax(5.5rem,7rem) minmax(9rem,1fr) minmax(8rem,1fr) 6rem minmax(7rem,1fr) minmax(3rem,1fr) 8rem}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil.portal-company__grid--hide-actions{grid-template-columns:2.5rem minmax(5.5rem,6.5rem) minmax(13rem,1.35fr) minmax(10rem,1fr) 5rem minmax(9rem,.9fr)}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil.portal-company__grid--hide-inspection{grid-template-columns:2rem minmax(5.5rem,7rem) minmax(10rem,1fr) minmax(9rem,1fr) 6rem minmax(3rem,1fr) 8rem}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil.portal-company__grid--hide-inspection.portal-company__grid--hide-actions{grid-template-columns:2.5rem minmax(5.5rem,6.5rem) minmax(14rem,1.45fr) minmax(10rem,1fr) 5rem}.portal-company__grid--head{flex-shrink:0;width:calc(100% - 1.5rem);margin:0 .75rem;padding:0 .625rem;border-radius:.625rem;background:var(--portal-primary);color:#fff}.portal-company__th{text-align:center}.portal-company__th--align-left{text-align:left}.portal-company__th--actions,.portal-company__th--spacer{padding:0}.portal-company__row--link{cursor:pointer}.portal-company__row--expanded{margin-bottom:.375rem;box-shadow:0 4px 12px rgba(0,89,155,.14)}.portal-company__row:hover{box-shadow:0 4px 10px rgba(236,34,31,.1)}.portal-company__row--editing:hover{box-shadow:0 4px 10px rgba(0,89,155,.12)}.portal-company__cell--mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-company__cell--align-left{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.portal-company__cell--company{overflow:visible;white-space:normal}.portal-company__cell--spacer{min-width:0;padding:0}.portal-company__cell--actions,.portal-company__cell--toggle{display:flex;justify-content:center}.portal-company__cell--inspection{justify-self:stretch;padding-left:0}.portal-company__name-button{margin:0;border:none;background:rgba(0,0,0,0);font:inherit;color:inherit;text-align:left;cursor:pointer}.portal-company__inline-input{width:100%;min-width:0;border:1px solid rgba(0,89,155,.18);border-radius:.5rem;background:#fff;padding:.5rem .625rem;font:inherit;color:inherit;box-sizing:border-box}.portal-company__inline-input--mono{text-align:center}.portal-company__inline-input--date{max-width:100%}.portal-company__company-picker.portal-search-select-host{width:100%;max-width:100%}.portal-company__company-picker .portal-search-select{min-height:2.5rem;padding:.25rem .625rem}.portal-company__company-picker .portal-search-select__input-row{gap:.5rem;min-height:1.5rem}.portal-company__company-options{display:flex;flex-direction:column;gap:.375rem}.portal-company__company-option{margin:0;padding:.375rem .5rem;border:none;border-radius:.375rem;background:rgba(0,0,0,0);font:inherit;color:var(--portal-companies-row-text);text-align:left;cursor:pointer}.portal-company__company-option--active,.portal-company__company-option:hover{background:rgba(225,234,250,.6)}.portal-company__inspection{display:inline-flex;align-items:center;justify-content:flex-start;gap:.3125rem;color:#98a2b3;white-space:nowrap}.portal-company__inspection--dated{color:#667085}.portal-company__inspection--ok{color:#009951}.portal-company__inspection--upcoming{color:#d1a518}.portal-company__inspection--expired{color:#ec221f}.portal-company__inspection svg{flex-shrink:0;width:1.5rem;height:1.5rem}.portal-company__name-cell{display:inline-flex;align-items:center;gap:.375rem;min-width:0}.portal-company__name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-company__name-link{min-width:0;color:inherit;text-decoration:none;transition:color .18s ease}.portal-company__name-link:hover{color:var(--portal-primary)}.portal-company__status-dot{display:inline-block;width:.7rem;height:.7rem;flex-shrink:0;border-radius:999px;background:rgba(0,0,0,0)}.portal-company__status-dot--good{background:#009951}.portal-company__status-dot--pay_attention{background:#d1a518}.portal-company__status-dot--need_actions{background:#ec221f}.portal-company__toggle-wrap{display:inline-flex;justify-content:center}.portal-company__toggle{cursor:default}.portal-company__action-link{position:relative;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.portal-company__empty{margin:0;padding:2rem 1.25rem;font-family:var(--portal-font-ui);font-size:.9375rem;color:var(--portal-muted)}.portal-company__modal{width:min(38rem,100%)}.portal-company__modal .portal-modal__title{position:relative}.portal-company__modal-close{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);color:var(--portal-text);cursor:pointer}.portal-company__modal-grid{display:flex;flex-direction:column;gap:1rem}.portal-company__modal-row--pair{grid-template-columns:1fr 1fr;column-gap:1rem}.portal-company__modal-row--single-right{grid-template-columns:minmax(0,1fr)}.portal-company__modal-input{width:100%;min-height:1.5rem;border:none;background:rgba(0,0,0,0);font:inherit;color:inherit;outline:none}.portal-company__modal-select-native{-webkit-appearance:none;-moz-appearance:none;appearance:none}.portal-company__modal-switches{display:flex;gap:1.25rem}.portal-company__modal-files{display:flex;flex-direction:column;gap:.75rem}.portal-company__modal-files-title{margin:0;font-family:var(--portal-font-ui);font-size:1rem;color:var(--portal-text)}.portal-company__modal-dropzone{width:100%;height:10rem;min-height:10rem}.portal-company__modal-dropzone .file-dropzone__frame{inset:.75rem;border-width:.25rem}.portal-company__modal-dropzone .file-dropzone__hint{font-size:.875rem;line-height:1.25}.portal-company__modal-dropzone .file-dropzone__content{max-width:100%}.portal-company__modal-dropzone .file-dropzone__icon{width:3rem;height:3.5rem}.portal-company__modal-files-note{margin:0;font-size:.875rem;color:var(--portal-muted)}.portal-company__modal-actions{display:flex;gap:1rem}.portal-company__modal-actions .portal-button{flex:1 1;width:auto}.portal-vessel{min-width:0}.portal-vessel__top{margin-bottom:1.125rem;justify-content:space-between}.portal-vessel__title-group{align-items:center;gap:.75rem}.portal-vessel__title{letter-spacing:-.02em}.portal-vessel__title-input{min-width:14rem;border:none;border-bottom:.125rem solid var(--portal-accent-red);background:rgba(0,0,0,0);font:inherit;font-weight:inherit;color:inherit;outline:none}.portal-vessel__imo-label{margin:0;font-family:var(--portal-font-ui);font-size:2rem;font-weight:600;color:var(--portal-text)}.portal-vessel__imo-input{min-width:9rem;border:none;border-bottom:.125rem solid var(--portal-accent-red);background:rgba(0,0,0,0);font:inherit;font-weight:inherit;color:inherit;text-align:right;outline:none}.portal-vessel__hero{margin-bottom:1.375rem}.portal-vessel__summary-card{position:relative;padding:1.25rem;border:1px solid rgba(225,234,250,.75);border-radius:var(--portal-radius-lg);background:var(--portal-surface);box-shadow:var(--portal-companies-row-shadow)}.portal-vessel__summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem 1.25rem;gap:1rem 1.25rem}.portal-vessel__summary-grid--editing{padding-top:1.5rem}.portal-vessel__summary-item{display:flex;flex-direction:column;gap:.5rem;min-width:0}.portal-vessel__summary-item--wide{grid-column:1/-1}.portal-vessel__summary-label{font-family:var(--portal-font-ui);font-size:.9375rem;color:var(--portal-muted)}.portal-vessel__summary-input,.portal-vessel__summary-value{min-height:2.75rem;display:inline-flex;align-items:center;padding:.625rem .875rem;border:1px solid rgba(0,89,155,.18);border-radius:.5rem;background:#fff;font:inherit;color:var(--portal-text);box-sizing:border-box}.portal-vessel__summary-input{width:100%;outline:none}.portal-vessel__summary-switch{min-height:2.75rem;display:inline-flex;align-items:center}.portal-vessel__summary-actions{position:absolute;top:1.125rem;right:1.125rem;display:inline-flex;align-items:center;gap:.5rem}.portal-vessel__summary-action{color:var(--portal-primary)}.portal-vessel__details{display:flex;flex-direction:column;gap:.875rem;max-width:52rem}.portal-vessel__detail-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.portal-vessel__detail-row--split{gap:3rem}.portal-vessel__detail-group{display:inline-flex;align-items:center;gap:.75rem}.portal-vessel__detail-label,.portal-vessel__detail-value{font-family:var(--portal-font-ui);font-size:1.125rem;font-weight:500;color:var(--portal-text)}.portal-vessel__inspection,.portal-vessel__state{display:inline-flex;align-items:center;gap:.375rem;padding:0;border:none;background:rgba(0,0,0,0);font-family:var(--portal-font-ui);font-size:1.125rem;font-weight:600;box-sizing:border-box}.portal-vessel__inspection--ok,.portal-vessel__state--good{color:#009951}.portal-vessel__inspection--upcoming,.portal-vessel__state--pay_attention{color:#d1a518}.portal-vessel__inspection--expired,.portal-vessel__state--need_actions{color:#ec221f}.portal-vessel__inspection--unknown,.portal-vessel__state--empty{color:var(--portal-muted)}.portal-vessel__company-select.portal-type-select,.portal-vessel__status-select.portal-type-select{width:100%}.portal-vessel__files-meta{margin:0;font-family:var(--portal-font-ui);font-size:.9375rem;color:var(--portal-muted)}.portal-vessel__files-switch{display:inline-flex;align-items:center;flex:0 0 auto}.portal-vessel__file-tabs{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem;border:1px solid rgba(0,89,155,.18);border-radius:.5rem;background:#fff}.portal-vessel__file-tab{min-height:2.25rem;padding:.375rem .875rem;border:none;border-radius:.375rem;background:#fff;font-family:var(--portal-font-button);font-size:.9375rem;color:var(--portal-muted);cursor:pointer}.portal-vessel__file-tab--active{background:var(--portal-primary);color:#fff;box-shadow:none}.portal-vessel__files-toolbar{margin-bottom:.875rem}.portal-vessel__files-toolbar .portal-file-manager__toolbar-actions{margin-right:auto}.portal-file-manager{min-width:0}.portal-file-manager__top{margin-bottom:.875rem}.portal-file-manager__title-group{align-items:baseline;gap:.625rem}.portal-file-manager__title{letter-spacing:-.02em}.portal-file-manager__title-link{color:inherit;text-decoration:underline;text-underline-offset:.3rem;transition:color .18s ease}.portal-file-manager__title-link:hover{color:var(--portal-primary)}.portal-file-manager__meta{margin-bottom:.25rem;font-size:.6875rem;color:#8f99a8}.portal-file-manager__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:.875rem}.portal-file-manager__toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:.75rem}.portal-file-manager__search{display:inline-flex;align-items:center;gap:.625rem;width:min(17.5rem,100%);min-height:2.75rem;padding:0 .875rem;border:1px solid var(--portal-companies-border);border-radius:.4375rem;background:var(--portal-surface);color:#252b42;box-sizing:border-box}.portal-file-manager__search-input{flex:1 1;min-width:0;border:none;background:rgba(0,0,0,0);font:inherit;color:#252b42;outline:none}.portal-file-manager__content{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.75rem;gap:.75rem;min-height:0;transition:grid-template-columns .22s ease}.portal-file-manager--with-preview .portal-file-manager__content{grid-template-columns:minmax(0,1fr) minmax(32.5rem,34.5rem)}.portal-file-manager__table-card{position:relative;min-height:33rem}.portal-file-manager__table-card--compact{min-height:0;padding:.25rem .25rem .375rem;border-radius:var(--portal-radius-md)}.portal-file-manager__table-shell{position:relative;min-width:0}.portal-file-manager__table-body{padding:.5rem .75rem .875rem}.portal-file-manager__table-card--compact .portal-file-manager__table-body{padding:.125rem .25rem .25rem}.portal-file-manager__grid{display:grid;grid-template-columns:minmax(11rem,1fr) 3.5rem 5rem 9rem 12rem;grid-column-gap:.375rem;column-gap:.375rem;align-items:center;min-height:clamp(3.25rem,4.6vw,3.75rem);width:100%}.portal-file-manager__grid--selectable{grid-template-columns:2rem minmax(11rem,1fr) 3.5rem 5rem 9rem 12rem}.portal-file-manager__grid--hide-format.portal-file-manager__grid--hide-last-modified{grid-template-columns:minmax(11rem,1fr) 4.5rem 5.5rem}.portal-file-manager__grid--selectable.portal-file-manager__grid--hide-format.portal-file-manager__grid--hide-last-modified{grid-template-columns:2rem minmax(11rem,1fr) 4.5rem 5.5rem}.portal-file-manager__bulkbar{position:absolute;top:.75rem;right:1.5rem;z-index:4;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.25rem;border-radius:var(--portal-radius-md);background:hsla(0,0%,100%,.94);box-shadow:0 8px 20px rgba(27,46,73,.12)}.portal-file-manager__bulkbar-count{color:var(--portal-muted);font-size:.875rem}.portal-file-manager__multi-toggle{position:absolute;top:.85rem;right:1.75rem;z-index:4;background:hsla(0,0%,100%,.94);box-shadow:0 8px 20px rgba(27,46,73,.12)}.portal-file-manager__multi-icon{position:relative;display:inline-block;width:1.55rem;height:1.55rem}.portal-file-manager__multi-icon svg{position:absolute;top:.08rem;left:0}.portal-file-manager__multi-icon svg:last-child{top:.26rem;left:.22rem}.portal-file-manager__cell--select{justify-content:center}.portal-file-manager__grid--head{flex-shrink:0;width:calc(100% - 1.5rem);margin:0 .75rem;padding:0 .75rem;border-radius:.625rem;background:var(--portal-primary);color:#fff}.portal-file-manager__table-card--compact .portal-file-manager__grid{min-height:2.375rem;column-gap:.25rem}.portal-file-manager__table-card--compact .portal-data-table__row-surface{margin-bottom:.25rem;padding:0 .375rem 0 .5rem;border-radius:.5rem}.portal-file-manager__table-card--compact .portal-data-table__cell{font-size:.8125rem}.portal-file-manager__table-card--compact .portal-file-manager__cell--actions{padding-right:0}.portal-file-manager__table-card--compact .portal-data-table__action{width:1.75rem;height:1.75rem}.portal-file-manager__table-card--compact .portal-data-table__action svg{width:1.125rem;height:1.125rem}.portal-file-manager__th{white-space:nowrap}.portal-file-manager__cell--name{min-width:0;overflow:visible}.portal-file-manager__cell--actions{justify-content:flex-end;padding-right:.125rem}.portal-file-manager__row--folder{cursor:pointer}.portal-file-manager__row--folder:hover{box-shadow:0 4px 10px rgba(0,89,155,.12)}.portal-file-manager__row--draggable{cursor:-webkit-grab;cursor:grab}.portal-file-manager__row--draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.portal-file-manager__row--drop-hover{outline:.125rem dashed var(--portal-primary);outline-offset:-.25rem;background:rgba(225,234,250,.55)}.portal-file-manager__row--external-drop-hover{outline:.125rem dashed #22a06b;outline-offset:-.25rem;background:rgba(34,160,107,.12)}.portal-file-manager__row--active.portal-file-manager__row--folder{background:rgba(225,234,250,.4);box-shadow:inset 0 0 0 .125rem var(--portal-primary)}.portal-file-manager__name-wrap{position:relative;display:flex;align-items:center;gap:.5rem;width:100%;min-width:0;padding-left:calc(var(--portal-file-manager-depth, 0)*1.375rem)}.portal-file-manager__table-card--compact .portal-file-manager__name-wrap{gap:.375rem;padding-left:calc(var(--portal-file-manager-depth, 0)*1rem)}.portal-file-manager__name-wrap--folder{font-weight:500}.portal-file-manager__name-wrap--folder .portal-file-manager__name-text{flex:0 1 auto;max-width:calc(100% - 3rem)}.portal-file-manager__folder-caret{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;color:var(--portal-primary);transform:rotate(-90deg);transition:transform .15s ease}.portal-file-manager__folder-caret--open{transform:rotate(0deg)}.portal-file-manager__folder-spinner{position:absolute;left:calc(100% + .375rem);top:50%;width:.875rem;height:.875rem;margin-top:-.4375rem;border:.125rem solid rgba(0,89,155,.18);border-top:.125rem solid var(--portal-primary);border-radius:50%;animation:portal-file-manager-spinner .7s linear infinite;pointer-events:none}@keyframes portal-file-manager-spinner{to{transform:rotate(1turn)}}.portal-file-manager__name-text{position:relative;display:inline-flex;flex:1 1 auto;max-width:100%;min-width:0;overflow:visible}.portal-file-manager__name-text-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-file-manager__name-tooltip{position:absolute;left:0;bottom:calc(100% + .5rem);z-index:30;max-width:min(28rem,75vw);padding:.5rem .75rem;border-radius:.5rem;background:var(--portal-text);color:#fff;font-family:var(--portal-font-ui);font-size:.8125rem;font-weight:400;line-height:1.3;white-space:normal;word-break:break-word;box-shadow:0 .25rem .875rem rgba(15,23,42,.16);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s ease,visibility .14s ease}.portal-file-manager__name-text--truncated:focus-within .portal-file-manager__name-tooltip,.portal-file-manager__name-text--truncated:hover .portal-file-manager__name-tooltip{opacity:1;visibility:visible}.portal-file-manager__type-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.375rem;font-size:.5625rem;font-weight:700;line-height:1;text-transform:uppercase}.portal-file-manager__table-card--compact .portal-file-manager__type-icon{width:1.125rem;height:1.125rem;border-radius:.25rem;font-size:.4375rem}.portal-file-manager__type-icon--folder{position:relative;width:1.625rem;height:1.1875rem;border:2px solid #1f6cab;border-radius:.25rem;background:#f6fbff}.portal-file-manager__table-card--compact .portal-file-manager__type-icon--folder{width:1.25rem;height:.875rem;border-width:1.5px;border-radius:.1875rem}.portal-file-manager__type-icon--folder:before{content:"";position:absolute;top:-.375rem;left:.0625rem;width:.6875rem;height:.375rem;border:2px solid #1f6cab;border-bottom:none;border-radius:.1875rem .1875rem 0 0;background:#f6fbff}.portal-file-manager__table-card--compact .portal-file-manager__type-icon--folder:before{top:-.3125rem;left:.0625rem;width:.5rem;height:.3125rem;border-width:1.5px;border-radius:.125rem .125rem 0 0}.portal-file-manager__type-icon--pdf{background:rgba(236,34,31,.12);color:#ec221f}.portal-file-manager__type-icon--doc{background:rgba(31,108,171,.12);color:#1f6cab}.portal-file-manager__type-icon--xls{background:rgba(0,153,81,.12);color:#009951}.portal-file-manager__type-icon--file,.portal-file-manager__type-icon--img{background:rgba(143,153,168,.12);color:#667085}.portal-file-manager__inline-input,.portal-file-manager__modal-input{width:100%;border:none;background:rgba(0,0,0,0);font:inherit;color:inherit;outline:none}.portal-file-manager__inline-rename{display:inline-flex;align-items:center;min-width:0;width:100%}.portal-file-manager__inline-extension{flex-shrink:0;color:var(--portal-muted);white-space:nowrap}.portal-file-manager__preview{display:flex;flex-direction:column;min-height:0;min-height:35.5rem;border-radius:var(--portal-radius-lg);background:var(--portal-surface);box-shadow:var(--portal-companies-row-shadow);overflow:hidden;min-width:0;opacity:1;transform:translateX(0);animation:portal-file-manager-preview-in .22s ease both;transition:opacity .22s ease,transform .22s ease}.portal-file-manager__preview--closing{opacity:0;transform:translateX(.875rem);pointer-events:none}.portal-file-manager__preview-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.875rem .875rem .625rem}.portal-file-manager__preview-name{margin:0;font-family:var(--portal-font-ui);font-size:.875rem;font-weight:500;line-height:1.35;color:var(--portal-text);word-break:break-word}.portal-file-manager__preview-meta{margin:.1875rem 0 0;font-size:.8125rem;color:var(--portal-muted)}.portal-file-manager__preview-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);color:var(--portal-text);cursor:pointer}.portal-file-manager__preview-body{flex:1 1;min-height:0;padding:0 .875rem .875rem;overflow:auto}.portal-file-manager__preview-frame,.portal-file-manager__preview-image{display:block;width:100%;min-height:35rem;border:none;border-radius:.75rem;background:#fff}.portal-file-manager__preview-image{object-fit:contain}.portal-file-manager__root-drop{display:flex;align-items:center;justify-content:center;min-height:3.25rem;margin-bottom:.75rem;border:.125rem dashed rgba(22,94,164,.24);border-radius:1rem;background:hsla(0,0%,100%,.8);color:var(--portal-muted);font-size:.9375rem;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.portal-file-manager__root-drop--hover{border-color:var(--portal-primary);background:rgba(225,234,250,.55);color:var(--portal-primary)}.portal-file-manager__preview-placeholder{display:flex;align-items:center;justify-content:center;min-height:18rem;padding:1rem;border:1px dashed rgba(31,108,171,.25);border-radius:.75rem}.portal-file-manager__modal{width:min(32rem,100%)}.portal-file-manager__modal--upload{width:min(42rem,100%)}.portal-file-manager__modal-actions{display:flex;justify-content:stretch;gap:.875rem;margin-top:0}.portal-file-manager__modal-actions .portal-button{flex:1 1;width:auto;min-width:0}.portal-file-manager__dropzone .file-dropzone__frame{inset:1rem}.portal-file-manager__dropzone .file-dropzone__hint{max-width:76%}.portal-file-manager__dropzone .file-dropzone__content{gap:1rem}.portal-file-manager__dropzone .file-dropzone__icon{width:3.25rem;height:3.75rem}.portal-file-manager__dropzone+.portal-file-manager__pending,.portal-file-manager__pending-list li+li{margin-top:.25rem}.portal-file-manager__modal .portal-modal__body{gap:1rem}.portal-file-manager__modal .portal-modal__actions{padding-top:1rem}.portal-file-manager__modal-input{min-height:1.5rem}.portal-file-manager__dropzone,.portal-file-manager__modal-actions,.portal-file-manager__pending{position:relative;z-index:1}.portal-file-manager__dropzone{min-height:14rem}.portal-file-manager__dropzone--drag{background:rgba(225,234,250,.45)}.portal-file-manager__pending{display:flex;flex-direction:column;gap:.5rem}.portal-file-manager__pending-title{margin:0;font-size:.875rem;font-weight:500;color:var(--portal-text)}.portal-file-manager__pending-list{margin:0;padding-left:1rem;color:var(--portal-muted)}@keyframes portal-file-manager-preview-in{0%{opacity:0;transform:translateX(.875rem)}to{opacity:1;transform:translateX(0)}}@media(max-width:75rem){.portal-file-manager__toolbar{flex-wrap:wrap}.portal-file-manager__search{width:100%}.portal-file-manager--with-preview .portal-file-manager__content{grid-template-columns:minmax(0,1fr)}}.portal-dashboard__title{margin:0;font-family:var(--portal-font-ui);font-weight:500;font-size:var(--portal-dashboard-title-size);line-height:normal;letter-spacing:0;color:var(--portal-text)}.portal-dashboard__grid{margin-top:var(--portal-dashboard-top-gap);display:grid;grid-template-columns:767fr 434fr;grid-template-rows:var(--portal-dashboard-upload-h) var(--portal-dashboard-aside-h) var(--portal-dashboard-wide-h);grid-gap:var(--portal-dashboard-gap);gap:var(--portal-dashboard-gap);align-items:start}.portal-card{background:var(--portal-surface);border-radius:var(--portal-radius-lg);box-sizing:border-box}.portal-card--hero{grid-column:1;grid-row:1/3;height:var(--portal-dashboard-hero-h);width:100%}.portal-card--upload{grid-column:2;grid-row:1;height:var(--portal-dashboard-upload-h);width:100%;position:relative;overflow:hidden}.portal-card--aside{grid-column:2;grid-row:2;height:var(--portal-dashboard-aside-h);width:100%}.portal-card--wide{grid-column:1/-1;grid-row:3;height:var(--portal-dashboard-wide-h);width:100%}.file-dropzone{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100%;padding:1rem;border:none;background:rgba(0,0,0,0);cursor:pointer;text-align:center;border-radius:var(--portal-radius-lg);box-sizing:border-box;overflow:hidden}.file-dropzone:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.file-dropzone__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0;pointer-events:none}.file-dropzone__frame{position:absolute;inset:1rem;border:6px dashed var(--portal-panel);border-radius:var(--portal-radius-lg);pointer-events:none;box-sizing:border-box}.file-dropzone__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;max-width:28rem;margin:0 auto;pointer-events:none}.file-dropzone__hint{margin:0;font-family:var(--portal-font-hint);font-weight:400;font-size:var(--portal-dropzone-hint-size);line-height:1.25;letter-spacing:.07px;text-align:center;color:var(--portal-muted)}.file-dropzone__button{margin:0}.file-dropzone:focus-visible .file-dropzone__button,.file-dropzone:hover .file-dropzone__button{background:var(--portal-primary-hover)}.file-dropzone__icon{width:var(--portal-dropzone-icon-w);height:var(--portal-dropzone-icon-h);color:var(--portal-primary)}.file-dropzone__icon svg{display:block;width:100%;height:100%}.portal-client-home__top{margin-bottom:1rem}.portal-client-home__title-group{align-items:baseline;gap:.75rem}.portal-client-home__meta{max-width:40rem}.portal-client-home__hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.9fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}.portal-client-home__hero-card,.portal-client-home__link-card,.portal-client-home__stat-card,.portal-client-module__section,.portal-client-placeholder__card{border-radius:var(--portal-radius-lg);background:var(--portal-surface);box-shadow:var(--portal-companies-row-shadow)}.portal-client-home__hero-card{padding:1.5rem;border:1px solid rgba(225,234,250,.75)}.portal-client-home__eyebrow{margin:0 0 .625rem;color:var(--portal-primary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-client-home__headline{margin:0 0 .75rem;color:var(--portal-text);font-family:var(--portal-font-ui);font-size:clamp(1.625rem,3vw,2.25rem);font-weight:600;line-height:1.05}.portal-client-home__description,.portal-client-home__link-text,.portal-client-module__section-text,.portal-client-placeholder__text{margin:0;color:var(--portal-muted);line-height:1.5}.portal-client-home__stats{display:grid;grid-gap:1rem;gap:1rem}.portal-client-home__stat-card{display:grid;grid-gap:.25rem;gap:.25rem;padding:1.25rem;border:1px solid rgba(225,234,250,.75)}.portal-client-home__stat-value{color:var(--portal-text);font-family:var(--portal-font-ui);font-size:1.875rem;font-weight:600}.portal-client-home__stat-label{color:var(--portal-muted);font-size:.875rem}.portal-client-home__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));grid-gap:1rem;gap:1rem}.portal-client-home__link-card{display:grid;grid-gap:.5rem;gap:.5rem;min-height:9.5rem;padding:1.25rem;border:1px solid rgba(225,234,250,.75);color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.portal-client-home__link-card:hover{transform:translateY(-.125rem);border-color:rgba(236,34,31,.18);box-shadow:0 .75rem 1.5rem rgba(15,23,42,.08)}.portal-client-home__link-title,.portal-client-module__section-title,.portal-client-placeholder__title{color:var(--portal-text);font-family:var(--portal-font-ui);font-size:1.125rem;font-weight:600}.portal-client-module{display:grid;grid-gap:.875rem;gap:.875rem;align-content:start}.portal-client-module .portal-company__top{margin-bottom:0}.portal-client-module__section{padding:1rem;border:1px solid rgba(225,234,250,.75)}.portal-client-module__section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:.875rem}.portal-client-module__section-title,.portal-client-placeholder__title{margin:0 0 .375rem}.portal-client-module__files{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.75rem;gap:.75rem}.portal-client-module__files--with-preview{grid-template-columns:minmax(0,1fr) minmax(32.5rem,34.5rem)}.portal-client-module__vessel-files{margin:0 .625rem .75rem 1rem;padding:.25rem 0 .75rem}.portal-client-placeholder__card{padding:1.5rem;border:1px solid rgba(225,234,250,.75)}.portal-downloads{display:flex;flex-direction:column;gap:1.25rem;min-height:0}.portal-downloads__top{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;align-items:flex-start}.portal-downloads__title-group{flex:1 1 20rem;min-width:0}.portal-downloads__subtitle{margin-top:.375rem;max-width:40rem;color:var(--portal-muted);font-size:.875rem;line-height:1.4}.portal-downloads__selectors{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.portal-downloads__selector{display:flex;flex-direction:column;gap:.25rem;min-width:14rem}.portal-downloads__selector-label{font-size:.75rem;font-weight:600;color:var(--portal-muted);text-transform:uppercase;letter-spacing:.04em}.portal-downloads__selector-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2.5rem;padding:0 .75rem;border-radius:.5rem;border:1px solid rgba(31,108,171,.25);background:#fff;color:var(--portal-text,inherit);font:inherit;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.portal-downloads__selector-control:focus-visible{border-color:var(--portal-primary);box-shadow:0 0 0 3px rgba(31,108,171,.18)}.portal-downloads__selector-control:disabled{background:#f6f7f9;color:var(--portal-muted);cursor:not-allowed}.portal-downloads__error,.portal-downloads__placeholder{margin-top:.25rem}.portal-downloads__error{color:#b42318}.portal-downloads__coming-soon{display:flex;flex-direction:column;gap:.25rem;padding:2.5rem 1.25rem;border:1px dashed rgba(31,108,171,.35);border-radius:.75rem;background:#f6fbff;text-align:center}.portal-downloads__coming-soon-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--portal-primary)}.portal-downloads__coming-soon-text{margin:0;color:var(--portal-muted)}.portal-downloads__content{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1rem;gap:1rem;min-width:0}.portal-downloads--with-preview .portal-downloads__content{grid-template-columns:minmax(0,1fr) minmax(30rem,34rem);align-items:stretch}.portal-downloads__dropzone{position:relative;display:flex;flex-direction:column;min-height:18rem;border-radius:.75rem;transition:box-shadow .12s ease,outline-color .12s ease}.portal-downloads__dropzone--active{outline:.125rem dashed var(--portal-primary);outline-offset:-.125rem;background:rgba(225,234,250,.3)}.portal-downloads__dropzone--busy{opacity:.9;cursor:progress}.portal-downloads__dropzone-overlay{position:absolute;inset:.75rem;display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:.5rem;background:rgba(31,108,171,.08);color:var(--portal-primary);font-weight:600;letter-spacing:.02em}.portal-downloads__table-card{min-height:22rem}.portal-downloads__row--vessel{background:rgba(31,108,171,.04);font-weight:600}.portal-downloads__type-icon--vessel{border-color:#0b5aa2;background:#eaf2fb}.portal-downloads__empty{padding:2rem 1rem;text-align:center;color:var(--portal-muted)}.portal-downloads__upload-stack{margin-top:.25rem}.portal-downloads__unrecognized{margin-top:.5rem;padding:1rem 1.25rem 1.25rem;border-radius:.75rem;background:#fff7ed;border:1px solid rgba(234,88,12,.25)}.portal-downloads__unrecognized-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.portal-downloads__unrecognized-title{margin:0;font-size:1rem;font-weight:600;color:#9a3412}.portal-downloads__unrecognized-hint{margin:0;color:var(--portal-muted);font-size:.8125rem}.portal-downloads__unrecognized-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.portal-downloads__unrecognized-item{background:#fff;border-radius:.5rem;border:1px solid rgba(234,88,12,.18);overflow:hidden}.portal-downloads__unrecognized-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.625rem .75rem}.portal-downloads__unrecognized-badge{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.375rem;background:rgba(234,88,12,.12);color:#c2410c;font-size:.6875rem;font-weight:700;letter-spacing:.02em}.portal-downloads__unrecognized-meta{min-width:0;display:flex;flex-direction:column}.portal-downloads__unrecognized-name{margin:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-downloads__unrecognized-rename{display:inline-flex;align-items:baseline;gap:.25rem;min-width:0}.portal-downloads__unrecognized-input{flex:1 1 auto;min-width:0;height:1.875rem;padding:0 .5rem;border-radius:.375rem;border:1px solid rgba(31,108,171,.35);background:#fff;color:var(--portal-text,inherit);font:inherit;outline:none}.portal-downloads__unrecognized-input:focus-visible{border-color:var(--portal-primary);box-shadow:0 0 0 2px rgba(31,108,171,.15)}.portal-downloads__unrecognized-extension{color:var(--portal-muted);white-space:nowrap}.portal-downloads__unrecognized-reason{margin:0;color:var(--portal-muted);font-size:.8125rem}.portal-downloads__unrecognized-actions{display:flex;align-items:center;gap:.375rem}.portal-downloads__picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));grid-gap:.625rem;gap:.625rem;padding:.75rem;border-top:1px solid rgba(234,88,12,.18);background:#fffbf5}.portal-downloads__picker-field{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;color:var(--portal-muted)}.portal-downloads__picker-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2.25rem;padding:0 .625rem;border-radius:.375rem;border:1px solid rgba(31,108,171,.25);background:#fff;color:var(--portal-text,inherit);font:inherit}.portal-downloads__picker-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.portal-companies__add--compact{min-width:0;padding:.75rem 1.25rem;min-height:3rem;font-size:clamp(1rem,1.2vw,1.125rem)}.portal-companies__icon{flex-shrink:0;display:block}.portal-companies__icon--search,.portal-companies__icon--swap{color:#130f26}.portal-companies__dropdown-inner{max-height:20rem}.portal-companies__dropdown-list{max-height:18.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:0;scrollbar-width:thin;scrollbar-color:#c5cdd4 #f2f5f7}.portal-companies__dropdown-list::-webkit-scrollbar{width:.4375rem}.portal-companies__dropdown-list::-webkit-scrollbar-track{background:#f2f5f7;border-radius:1.25rem}.portal-companies__dropdown-list::-webkit-scrollbar-thumb{background:#c5cdd4;border-radius:1.25rem}.portal-companies__table-body{padding:.625rem .75rem .875rem;scrollbar-width:thin;scrollbar-color:#c5cdd4 #f2f5f7}.portal-companies__table-body::-webkit-scrollbar{width:.5rem;height:.5rem}.portal-companies__table-body::-webkit-scrollbar-track{background:#f2f5f7;border-radius:.5rem}.portal-companies__table-body::-webkit-scrollbar-thumb{background:#c5cdd4;border-radius:.5rem}.portal-companies__grid{display:grid;grid-template-columns:2rem minmax(8.5rem,10rem) minmax(8.75rem,16.25rem) 4.5rem minmax(8rem,10.5rem) 6rem 6rem minmax(3rem,1fr) minmax(7rem,9rem);grid-column-gap:var(--portal-companies-grid-gap);column-gap:var(--portal-companies-grid-gap);align-items:center;min-height:clamp(3.375rem,4.8vw,3.875rem);box-sizing:border-box;width:100%}.portal-companies__grid--head{flex-shrink:0;box-sizing:border-box;width:calc(100% - 1.5rem);margin:0 .75rem;padding:0 .625rem;background:var(--portal-primary);border-radius:.625rem;color:#fff}.portal-companies__th{text-align:center}.portal-companies__th--align-left{text-align:left;justify-self:stretch;width:100%;box-sizing:border-box}.portal-companies__th--actions,.portal-companies__th--spacer{padding:0}.portal-companies__th--spacer{min-width:0}.portal-companies__row:hover{box-shadow:0 4px 10px rgba(236,34,31,.14)}.portal-companies__row--archived{background:rgba(225,234,250,.4)}.portal-companies__row--archived .portal-companies__cell{opacity:.4}.portal-companies__row--archived .portal-companies__cell--actions{opacity:1}.portal-companies__cell--mono,.portal-companies__cell--num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-companies__cell--align-left,.portal-companies__cell--name,.portal-companies__cell--name-edit{text-align:left}.portal-companies__cell--align-left,.portal-companies__cell--name{justify-self:stretch}.portal-companies__cell--spacer{min-width:0;padding:0}.portal-companies__name-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;text-align:left}.portal-companies__inline-input{width:100%;box-sizing:border-box}.portal-companies__inline-input,.portal-companies__inline-select{max-width:100%;padding:.25rem .5rem;border:1px solid var(--portal-companies-border);border-radius:.5rem;font-family:var(--portal-font-ui);font-size:clamp(.75rem,.95vw,.875rem);color:var(--portal-companies-row-text)}.portal-companies__inline-select{background:var(--portal-surface)}.portal-companies__empty{margin:1.5rem .75rem;text-align:center;font-family:var(--portal-font-ui);font-size:clamp(.875rem,1vw,1rem);color:var(--portal-muted)}.portal-users__icon{flex-shrink:0;display:block}.portal-users__icon--search,.portal-users__icon--swap{color:#130f26}.portal-users__actions{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;justify-content:flex-end}.portal-users__export{display:inline-flex;align-items:center;gap:.375rem;width:auto;min-width:0;min-height:var(--portal-companies-button-h);padding:clamp(.5rem,.9vw,.75rem) clamp(.75rem,1.1vw,1rem);font-size:clamp(.875rem,1.05vw,1rem);white-space:nowrap}.portal-users__icon--export{color:currentColor}.portal-users__table-body{padding:.625rem .75rem .875rem;scrollbar-width:thin;scrollbar-color:#c5cdd4 #f2f5f7}.portal-users__table-body::-webkit-scrollbar{width:.5rem;height:.5rem}.portal-users__table-body::-webkit-scrollbar-track{background:#f2f5f7;border-radius:.5rem}.portal-users__table-body::-webkit-scrollbar-thumb{background:#c5cdd4;border-radius:.5rem}.portal-users__grid{display:grid;grid-template-columns:2.25rem minmax(10rem,14rem) minmax(9rem,12rem) minmax(7rem,10rem) 5.5rem minmax(7rem,9rem) minmax(8.5rem,11rem) minmax(6rem,8rem) minmax(6rem,8rem) minmax(6rem,8rem);grid-column-gap:var(--portal-companies-grid-gap);column-gap:var(--portal-companies-grid-gap);align-items:center;min-height:clamp(3.375rem,4.8vw,3.875rem);box-sizing:border-box;width:100%}.portal-users__grid--head{flex-shrink:0;box-sizing:border-box;width:calc(100% - 1.5rem);margin:0 .75rem;padding:0 .625rem;background:var(--portal-primary);border-radius:.625rem;color:#fff}.portal-users__th{text-align:center}.portal-users__th--align-left{text-align:left;justify-self:stretch;width:100%;box-sizing:border-box}.portal-users__th--actions,.portal-users__th--expand{padding:0}.portal-users__row:hover{box-shadow:0 4px 10px rgba(236,34,31,.14)}.portal-users__row--inactive .portal-users__cell--login,.portal-users__row--inactive .portal-users__cell--mono,.portal-users__row--inactive .portal-users__cell--name,.portal-users__row--inactive .portal-users__cell--roles{opacity:.55}.portal-users__cell--align-left{text-align:left;justify-self:stretch}.portal-users__cell--login{display:flex;flex-direction:column;gap:.125rem;min-width:0}.portal-users__login-text{font-weight:500;color:var(--portal-companies-row-text)}.portal-users__email-text,.portal-users__login-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-users__email-text{font-size:.75rem;color:var(--portal-muted)}.portal-users__name-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-align:left}.portal-users__cell--mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(.75rem,.9vw,.85rem);text-align:center}.portal-users__cell--roles,.portal-users__cell--status{text-align:center;overflow:hidden}.portal-users__cell--roles>span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-users__status{display:inline-block;padding:.125rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500;text-transform:lowercase}.portal-users__status--active{background:rgba(0,89,155,.12);color:var(--portal-primary)}.portal-users__status--inactive{background:rgba(250,79,45,.12);color:var(--portal-accent-red)}.portal-users__inline-input,.portal-users__inline-select{width:100%;max-width:100%;box-sizing:border-box;padding:.25rem .5rem;border:1px solid var(--portal-companies-border);border-radius:.5rem;font-family:var(--portal-font-ui);font-size:clamp(.75rem,.95vw,.875rem);color:var(--portal-companies-row-text);background:var(--portal-surface)}.portal-users__empty{margin:1.5rem .75rem;text-align:center;font-family:var(--portal-font-ui);font-size:clamp(.875rem,1vw,1rem);color:var(--portal-muted)}.portal-users__activity{padding:0 .75rem;margin:.125rem 0 .625rem}.portal-users__activity-inner{border:1px solid var(--portal-companies-border);border-radius:.75rem;background:rgba(241,245,253,.6);padding:.875rem 1rem}.portal-users__activity-header{font-family:var(--portal-font-ui);font-size:clamp(.875rem,1vw,1rem);font-weight:500;color:var(--portal-companies-row-text);margin-bottom:.5rem}.portal-users__activity-muted{color:var(--portal-muted)}.portal-users__activity-error,.portal-users__activity-muted{margin:0;font-family:var(--portal-font-ui);font-size:clamp(.8125rem,.95vw,.9375rem)}.portal-users__activity-error{color:var(--portal-accent-red)}.portal-users__activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.portal-users__activity-item{display:grid;grid-template-columns:minmax(9rem,11rem) 1fr auto;align-items:baseline;grid-gap:.75rem;gap:.75rem;font-family:var(--portal-font-ui);font-size:clamp(.8125rem,.95vw,.9375rem);color:var(--portal-companies-row-text)}.portal-users__activity-time{color:var(--portal-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-users__activity-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-users__activity-type{font-weight:500}.portal-users__activity-resource,.portal-users__activity-summary{color:var(--portal-muted)}.portal-users__activity-ip{justify-self:end;color:var(--portal-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-users__search{display:flex;align-items:center;gap:.5rem;height:clamp(2.5rem,3.5vw,3rem);padding:0 .75rem;border:1px solid var(--portal-companies-border);border-radius:.625rem;background:var(--portal-surface);width:var(--portal-companies-search-w);max-width:100%;box-sizing:border-box}.portal-users__search-input{flex:1 1;min-width:0;border:none;outline:none;background:rgba(0,0,0,0);font-family:var(--portal-font-ui);font-size:clamp(.875rem,1vw,1rem);color:var(--portal-companies-row-text)}.portal-users__search-input::placeholder{color:var(--portal-muted)}.portal-users__sort{gap:.5rem .75rem}.portal-users-add-modal__error{grid-column:1/-1;margin:.5rem 0 0}.portal-users-add-modal__row--pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(1rem,2vw,1.8125rem)}.portal-users-add-modal{min-height:min(44rem,100dvh - 3rem);max-height:calc(100dvh - 2rem)}.portal-users-add-modal .portal-modal__body{overflow:visible}.portal-users-add-modal__company-select{width:100%}.portal-users-add-modal__company-dropdown{display:flex;flex-direction:column;gap:.25rem;max-height:14rem;overflow:auto}.portal-users-add-modal__company-option{border:0;background:rgba(0,0,0,0);text-align:left;width:100%;padding:.5rem .625rem;border-radius:.5rem;font-family:var(--portal-font-ui);font-size:.9375rem;color:var(--portal-companies-row-text);cursor:pointer}.portal-users-add-modal__company-option--active,.portal-users-add-modal__company-option:hover{background:rgba(0,89,155,.12)}.portal-users-add-modal__hint{margin:0;padding:.25rem .125rem}.portal-users-add-modal__vessels{display:flex;flex-direction:column;gap:.375rem;max-height:14rem;overflow:auto;border:1px solid var(--portal-companies-border);border-radius:.625rem;padding:.5rem}.portal-users-add-modal__vessel-option{width:100%}.portal-audit__top{align-items:flex-start}.portal-audit__total{margin-top:.25rem}.portal-audit__top-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.portal-audit__toolbar{display:flex;flex-wrap:wrap;gap:.625rem;align-items:center;padding:.5rem 0}.portal-audit__search{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--portal-companies-border);background:var(--portal-surface);border-radius:.5rem;min-width:18rem;flex:1 1 18rem;max-width:28rem;color:var(--portal-muted)}.portal-audit__search-input{border:0;outline:0;background:rgba(0,0,0,0);font-family:var(--portal-font-ui);font-size:clamp(.8125rem,.95vw,.9375rem);color:var(--portal-companies-row-text);flex:1 1 auto;min-width:0}.portal-audit__types{position:relative}.portal-audit__types-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--portal-companies-border);background:var(--portal-surface);border-radius:.5rem;font-family:var(--portal-font-ui);font-size:clamp(.8125rem,.95vw,.9375rem);color:var(--portal-companies-row-text);cursor:pointer}.portal-audit__types--open .portal-audit__types-trigger{border-color:var(--portal-primary)}.portal-audit__types-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:rgba(0,89,155,.12);color:var(--portal-primary);font-size:.75rem;font-weight:500}.portal-audit__types-popover{position:absolute;top:calc(100% + .25rem);left:0;z-index:20;width:28rem;max-width:90vw;max-height:22rem;overflow:auto;background:var(--portal-surface);border:1px solid var(--portal-companies-border);border-radius:.625rem;box-shadow:0 14px 36px rgba(19,15,38,.14);padding:.625rem}.portal-audit__types-popover-head{display:flex;align-items:center;justify-content:space-between;padding:.125rem .25rem .375rem;border-bottom:1px solid var(--portal-companies-border);margin-bottom:.375rem}.portal-audit__types-popover-title{font-family:var(--portal-font-ui);font-size:.8125rem;font-weight:500;color:var(--portal-companies-row-text)}.portal-audit__types-clear{border:0;background:rgba(0,0,0,0);color:var(--portal-primary);font-size:.8125rem;cursor:pointer;padding:0}.portal-audit__types-list{display:flex;flex-direction:column;gap:.625rem}.portal-audit__types-group-title{font-family:var(--portal-font-ui);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--portal-muted);margin-bottom:.25rem}.portal-audit__types-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.25rem .375rem;border-radius:.375rem;cursor:pointer;font-family:var(--portal-font-ui);font-size:.8125rem;color:var(--portal-companies-row-text)}.portal-audit__types-item:hover{background:rgba(0,89,155,.06)}.portal-audit__types-item input{accent-color:var(--portal-primary)}.portal-audit__types-item-code{color:var(--portal-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.75rem}.portal-audit__types-empty{margin:.25rem .5rem;font-size:.8125rem;color:var(--portal-muted)}.portal-audit__date,.portal-audit__resource{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--portal-font-ui);font-size:.8125rem;color:var(--portal-muted)}.portal-audit__date-label,.portal-audit__resource-label{white-space:nowrap}.portal-audit__date-input,.portal-audit__resource-select{padding:.3125rem .5rem;border:1px solid var(--portal-companies-border);border-radius:.5rem;font-family:var(--portal-font-ui);font-size:.8125rem;color:var(--portal-companies-row-text);background:var(--portal-surface)}.portal-audit__card{min-width:0}.portal-audit__table-shell{overflow-x:auto}.portal-audit__table-body{padding:.625rem .75rem .875rem;scrollbar-width:thin;scrollbar-color:#c5cdd4 #f2f5f7}.portal-audit__grid{display:grid;grid-template-columns:2.25rem minmax(10rem,12rem) minmax(10rem,14rem) minmax(11rem,16rem) minmax(8rem,12rem) minmax(6rem,9rem) minmax(10rem,1fr);grid-column-gap:var(--portal-companies-grid-gap);column-gap:var(--portal-companies-grid-gap);align-items:center;min-height:3rem;box-sizing:border-box;width:100%}.portal-audit__grid--head{flex-shrink:0;box-sizing:border-box;width:calc(100% - 1.5rem);margin:0 .75rem;padding:0 .625rem;background:var(--portal-primary);border-radius:.625rem;color:#fff;min-height:2.75rem}.portal-audit__th{text-align:center;font-family:var(--portal-font-ui);font-size:.8125rem}.portal-audit__th--expand{padding:0}.portal-audit__row:hover{box-shadow:0 4px 10px rgba(236,34,31,.1)}.portal-audit__row--expanded{border-bottom-left-radius:0;border-bottom-right-radius:0}.portal-audit__cell{min-width:0;font-family:var(--portal-font-ui);font-size:.8125rem;color:var(--portal-companies-row-text)}.portal-audit__cell--expand{display:flex;align-items:center;justify-content:center}.portal-audit__cell--time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-audit__cell--actor{display:flex;flex-direction:column;gap:.125rem}.portal-audit__actor-text{font-weight:500}.portal-audit__actor-login,.portal-audit__actor-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-audit__actor-login{color:var(--portal-muted);font-size:.75rem}.portal-audit__cell--event{display:flex;flex-direction:column;gap:.125rem;min-width:0}.portal-audit__event-type{font-weight:500}.portal-audit__event-code,.portal-audit__event-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-audit__event-code{color:var(--portal-muted);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-audit__cell--resource,.portal-audit__cell--summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-audit__cell--ip{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.portal-audit__cell--mono{font-family:var(--portal-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-size:.75rem}.portal-audit__empty{margin:1.5rem .75rem;text-align:center;font-family:var(--portal-font-ui);font-size:.9375rem;color:var(--portal-muted)}.portal-audit__details{padding:0 .75rem;margin:.125rem 0 .625rem}.portal-audit__details-inner{border:1px solid var(--portal-companies-border);border-radius:.75rem;background:rgba(241,245,253,.55);padding:.75rem 1rem}.portal-audit__details-list{margin:0;display:grid;grid-template-columns:1fr;grid-gap:.5rem;gap:.5rem}.portal-audit__details-row{display:grid;grid-template-columns:8rem 1fr;grid-gap:.75rem;gap:.75rem;align-items:start;font-family:var(--portal-font-ui);font-size:.8125rem}.portal-audit__details-row dt{color:var(--portal-muted);margin:0}.portal-audit__details-row dd{margin:0;color:var(--portal-companies-row-text);min-width:0;word-break:break-all}.portal-audit__details-row--payload dd{min-width:0}.portal-audit__mono,.portal-audit__payload{font-family:var(--portal-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-size:.75rem}.portal-audit__payload{margin:0;padding:.625rem .75rem;background:var(--portal-surface);border:1px solid var(--portal-companies-border);border-radius:.5rem;color:var(--portal-companies-row-text);white-space:pre-wrap;word-break:break-all;max-height:18rem;overflow:auto}.portal-audit__footer{margin-top:.75rem}.portal-audit__error,.portal-audit__muted{margin:.5rem 0}@media(max-width:1336px){.portal-companies__grid{grid-template-columns:1.75rem minmax(7rem,8.5rem) minmax(8rem,1fr) 3.5rem minmax(5.75rem,6.5rem) 4.75rem 4.5rem minmax(.5rem,1fr) 4.25rem;column-gap:.25rem}.portal-companies__cell,.portal-companies__th{font-size:.75rem}.portal-companies__cell--actions{padding-left:0}.portal-companies__action{width:1.75rem;height:1.75rem}.portal-companies__action svg{width:1rem;height:1rem}}@media(max-width:1200px){.portal-companies__grid{grid-template-columns:1.75rem minmax(6.5rem,8rem) minmax(7rem,1fr) 3.25rem minmax(5.5rem,6.25rem) 4.25rem 4rem minmax(.25rem,1fr) 3.625rem;column-gap:.25rem}.portal-companies__cell,.portal-companies__th{font-size:.75rem}.portal-companies__cell--actions{padding-left:0}.portal-companies__action{width:1.625rem;height:1.625rem}.portal-companies__action svg{width:.9375rem;height:.9375rem}.portal-company__hero{grid-template-columns:1fr}.portal-company__grid{grid-template-columns:2rem minmax(5rem,6rem) minmax(7rem,1fr) minmax(7rem,.95fr) 4.25rem 4rem minmax(8rem,1fr) 4rem}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil{grid-template-columns:2rem minmax(5rem,6rem) minmax(8rem,1fr) minmax(7rem,.95fr) minmax(4rem,5rem) minmax(8rem,1fr) minmax(3rem,1fr) 6rem}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil.portal-company__grid--hide-actions{grid-template-columns:2.5rem minmax(5rem,6rem) minmax(12rem,1.35fr) minmax(9rem,1fr) 5rem minmax(8rem,.9fr)}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil.portal-company__grid--hide-inspection{grid-template-columns:2rem minmax(5rem,6rem) minmax(9rem,1fr) minmax(8rem,1fr) minmax(4rem,5rem) minmax(3rem,1fr) 6rem}.portal-company__grid--hide-chemistry.portal-company__grid--hide-oil.portal-company__grid--hide-inspection.portal-company__grid--hide-actions{grid-template-columns:2.5rem minmax(5rem,6rem) minmax(13rem,1.45fr) minmax(9rem,1fr) 5rem}.portal-client-home__hero,.portal-client-module__files{grid-template-columns:1fr}}@media(max-width:960px){.portal-companies__table-body{padding-inline:8px}.portal-companies__grid--head{width:calc(100% - 16px);margin-inline:8px;min-width:980px}.portal-companies__row{min-width:980px}.portal-companies-add-modal__row--lang-id,.portal-companies-add-modal__row--pair,.portal-users-add-modal__row--pair{grid-template-columns:1fr;row-gap:20px;column-gap:0}.portal-company__grid--head{width:calc(100% - 16px);margin-inline:8px;min-width:980px}.portal-company__row{min-width:980px}.portal-client-module__section-head{flex-direction:column}}@media(max-width:640px){.portal-companies__grid--head,.portal-companies__row,.portal-company__grid--head,.portal-company__row{min-width:900px}.portal-client-home__links{grid-template-columns:1fr}}.cabinet-explorer{display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 5.5rem)}.cabinet-explorer__titlebar{margin:0}.cabinet-explorer__heading{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--fg)}.cabinet-explorer__sub{margin:.25rem 0 0;font-size:.875rem}.cabinet-explorer__banner{margin:0;font-size:.875rem}.cabinet-explorer__split{flex:1 1;min-height:28rem}.resizable-split{display:grid;align-items:stretch;grid-gap:0;gap:0;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);box-shadow:0 1px 2px rgba(15,23,42,.04)}.resizable-split__left{min-width:0;background:var(--surface-raised);border-right:1px solid var(--border);display:flex;flex-direction:column}.resizable-split__gutter{margin:0;padding:0;border:none;background:var(--surface-muted);cursor:col-resize;width:6px;min-height:100%;flex-shrink:0}.resizable-split__gutter:focus-visible,.resizable-split__gutter:hover{background:var(--accent-soft);outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.resizable-split__right{min-width:0;background:var(--canvas)}.explorer-tree-wrap{display:flex;flex-direction:column;height:100%;min-height:24rem;padding:.75rem .5rem .75rem .65rem}.explorer-tree__caption{padding:.35rem .6rem .85rem;font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.explorer-tree{flex:1 1;overflow:auto;padding:.15rem 0 .5rem;outline:none}.explorer-tree:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--radius-sm)}.explorer-tree__empty{padding:1rem .75rem;font-size:.875rem;margin:0}.explorer-tree [role=group]{margin-left:.35rem;padding-left:.65rem;border-left:1px solid var(--border)}.explorer-tree__branch{font-size:.875rem}.explorer-treeitem{display:flex;align-items:center;gap:.1rem;min-height:2.1rem;border-radius:var(--radius-sm);margin-inline:.15rem;margin-bottom:.125rem;transition:background .12s ease,color .12s ease}.explorer-treeitem:not(.explorer-treeitem--selected):hover{background:rgba(15,23,42,.04)}.explorer-treeitem--selected{background:#3f3f46;outline:none;box-shadow:none}.explorer-treeitem--selected .explorer-treeitem__label{color:#fafafa}.explorer-treeitem--selected .explorer-treeitem__expand{color:#d4d4d8}.explorer-treeitem--selected .explorer-treeitem__expand:hover{color:#fff;background:hsla(0,0%,100%,.12)}.explorer-treeitem--selected .explorer-treeitem__icon{color:#a1a1aa}.explorer-treeitem__expand,.explorer-treeitem__expand-placeholder{flex:0 0 1.65rem;width:1.65rem;text-align:center;font-size:.75rem;line-height:1}.explorer-treeitem__expand{background:rgba(0,0,0,0);border:none;color:var(--muted);cursor:pointer;padding:.25rem;border-radius:6px;font:inherit;display:inline-flex;align-items:center;justify-content:center}.explorer-treeitem__expand:hover{color:var(--accent);background:var(--accent-soft)}.explorer-treeitem__expand svg{width:.95rem;height:.95rem}.explorer-treeitem__expand-placeholder{display:inline-block}.explorer-treeitem__label{flex:1 1;min-width:0;display:flex;align-items:center;gap:.45rem;background:rgba(0,0,0,0);border:none;color:var(--fg);cursor:pointer;text-align:left;padding:.35rem .5rem .35rem 0;border-radius:6px;font:inherit}.explorer-treeitem__label:hover{color:var(--accent)}.explorer-treeitem--selected .explorer-treeitem__label:hover{color:#fff}.explorer-treeitem__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.explorer-treeitem__icon svg{width:1.1rem;height:1.1rem}.explorer-treeitem__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-pane{padding:1rem 1.25rem 1.5rem;height:100%;min-height:24rem;overflow:auto}.explorer-pane__header{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.explorer-pane__title{margin:0;font-size:1.125rem;font-weight:600}.explorer-pane__meta{margin:.35rem 0 0;font-size:.8125rem;line-height:1.4;word-break:break-all}.explorer-pane__list{list-style:none;margin:0;padding:0}.explorer-pane__row{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:6px;font-size:.875rem}.explorer-pane__row:hover{background:rgba(15,23,42,.04)}.explorer-pane__icon{flex-shrink:0;font-size:1rem}.explorer-pane__name{flex:1 1;min-width:0}.explorer-pane__badge{font-size:.75rem}.explorer-pane--kb{--kb-fg:var(--fg);--kb-muted:var(--muted);--kb-border:var(--border);--kb-surface:var(--surface);--kb-surface-secondary:var(--surface-raised);--kb-radius:var(--radius);--kb-accent:var(--accent);--kb-accent-soft:var(--accent-soft);background:rgba(0,0,0,0);color:var(--kb-fg);padding:1.25rem 1.5rem 2rem}.explorer-pane--kb .muted{color:var(--kb-muted)}.explorer-pane--kb .form-error{color:var(--danger)}.explorer-pane--kb .mvp-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .25rem;margin:0;padding:0;list-style:none;font-size:.8125rem;line-height:1.4;color:var(--kb-muted)}.explorer-pane--kb .mvp-breadcrumbs__sep{color:#d1d5db;-webkit-user-select:none;-moz-user-select:none;user-select:none}.explorer-pane--kb .mvp-breadcrumbs__item{color:var(--kb-muted)}.explorer-pane--kb .mvp-breadcrumbs__item:last-child{color:var(--kb-fg);font-weight:500}.explorer-pane--kb .cabinet-kb-top{margin-bottom:1.5rem}.explorer-pane--kb .cabinet-kb-top__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.75rem}.explorer-pane--kb .cabinet-kb-title{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--kb-fg);display:flex;align-items:center;gap:.4rem}.explorer-pane--kb .cabinet-kb-title__chevron{display:inline-flex;color:var(--kb-muted);opacity:.85}.explorer-pane--kb .cabinet-kb-title__chevron svg{width:1.25rem;height:1.25rem}.explorer-pane--kb .mvp-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:1rem 1.1rem;background:var(--kb-surface)}.explorer-pane--kb .mvp-input,.explorer-pane--kb .mvp-toolbar{border:1px solid var(--kb-border);border-radius:var(--kb-radius)}.explorer-pane--kb .mvp-input{flex:1 1;min-width:12rem;padding:.5rem .85rem;font:inherit;font-size:.875rem;color:var(--kb-fg);background:var(--kb-surface-secondary);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.explorer-pane--kb .mvp-input::placeholder{color:#9ca3af}.explorer-pane--kb .mvp-input:hover{border-color:#d1d5db}.explorer-pane--kb .mvp-input:focus{border-color:var(--kb-accent);box-shadow:0 0 0 3px rgba(37,99,235,.2);background:var(--kb-surface)}.explorer-pane--kb .mvp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem 1rem;font:inherit;font-size:.875rem;font-weight:500;border-radius:var(--kb-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.explorer-pane--kb .mvp-btn:disabled{opacity:.55;cursor:not-allowed}.explorer-pane--kb .mvp-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--kb-surface),0 0 0 4px var(--kb-accent)}.explorer-pane--kb .mvp-btn--primary{background:var(--kb-accent);color:#fff;border-color:var(--accent-hover)}.explorer-pane--kb .mvp-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.explorer-pane--kb .mvp-btn--secondary{background:var(--kb-surface);color:var(--kb-fg);border-color:var(--kb-border)}.explorer-pane--kb .mvp-btn--secondary:hover:not(:disabled){background:var(--kb-surface-secondary);border-color:#d1d5db}.explorer-pane--kb .mvp-btn--ghost{padding:.35rem .65rem;font-size:.8125rem;font-weight:500;background:rgba(0,0,0,0);color:var(--kb-accent);border-color:rgba(0,0,0,0)}.explorer-pane--kb .mvp-btn--ghost:hover:not(:disabled){background:var(--kb-accent-soft)}.explorer-pane--kb .mvp-btn--ghost-danger{padding:.35rem .65rem;font-size:.8125rem;font-weight:500;background:rgba(0,0,0,0);color:#b45309;border-color:rgba(0,0,0,0)}.explorer-pane--kb .mvp-btn--ghost-danger:hover:not(:disabled){background:#fff7ed}.explorer-pane--kb .mvp-file-input-label{position:relative;display:inline-flex;overflow:hidden;cursor:pointer;border-radius:var(--kb-radius)}.explorer-pane--kb .mvp-file-input-label .mvp-btn{pointer-events:none}.explorer-pane--kb .mvp-file-input-native{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;font-size:0}.explorer-pane--kb .mvp-file-pick-name{font-size:.8125rem;color:var(--kb-muted);max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-pane--kb .mvp-vessel-toggles{margin-top:1rem;padding:1rem 1.1rem;background:var(--kb-surface-secondary);border-radius:var(--kb-radius);border:1px solid var(--kb-border)}.explorer-pane--kb .mvp-check{font-size:.875rem;color:var(--kb-fg);display:flex;align-items:center;gap:.5rem;cursor:pointer}.explorer-pane--kb .mvp-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--kb-accent);cursor:pointer}.explorer-pane--kb .mvp-check input[type=checkbox]:focus-visible{outline:2px solid var(--kb-accent);outline-offset:2px}.explorer-pane--kb .cabinet-kb-vessel-card{padding:1.25rem 1.35rem;margin-bottom:1.25rem;background:var(--kb-surface);border:1px solid var(--kb-border);border-radius:var(--kb-radius)}.explorer-pane--kb .cabinet-kb-vessel-card__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--kb-fg)}.explorer-pane--kb .cabinet-kb-section{margin-bottom:1.75rem}.explorer-pane--kb .cabinet-kb-section__label{margin:0 0 .75rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--kb-muted)}.explorer-pane--kb .cabinet-kb-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));grid-gap:1rem;gap:1rem}.explorer-pane--kb .cabinet-kb-folder-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;background:var(--kb-surface);border:1px solid var(--kb-border);border-radius:var(--kb-radius);overflow:hidden;transition:border-color .15s ease}.explorer-pane--kb .cabinet-kb-folder-card:hover{border-color:#d1d5db;background:#f9f9f9}.explorer-pane--kb .cabinet-kb-folder-card:focus-within{border-color:var(--kb-accent);box-shadow:0 0 0 2px rgba(37,99,235,.22)}.explorer-pane--kb .cabinet-kb-folder-card__main{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem 1rem .85rem;margin:0;width:100%;border:none;background:rgba(0,0,0,0);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:0}.explorer-pane--kb .cabinet-kb-folder-card__main:focus-visible{outline:none}.explorer-pane--kb .cabinet-kb-folder-card__main:focus-visible .cabinet-kb-folder-card__name{text-decoration:underline;text-underline-offset:3px}.explorer-pane--kb .cabinet-kb-folder-card__icon{display:flex;color:#9ca3af;margin-bottom:.15rem}.explorer-pane--kb .cabinet-kb-folder-card__icon svg{width:1.75rem;height:1.75rem}.explorer-pane--kb .cabinet-kb-folder-card__name{font-weight:600;font-size:.9375rem;color:var(--kb-fg);line-height:1.3;word-break:break-word}.explorer-pane--kb .cabinet-kb-folder-card__meta{font-size:.8125rem;color:var(--kb-muted);margin:0}.explorer-pane--kb .cabinet-kb-folder-card__footer{display:flex;justify-content:flex-end;padding:.5rem .65rem .65rem;border-top:1px solid var(--kb-border)}.explorer-pane--kb .cabinet-kb-files{margin-bottom:1.25rem}.explorer-pane--kb .cabinet-kb-files__box{background:var(--kb-surface-secondary);border:1px solid var(--kb-border);border-radius:var(--kb-radius);overflow:hidden}.explorer-pane--kb .cabinet-kb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.explorer-pane--kb .cabinet-kb-files__header{position:relative;display:grid;grid-template-columns:2.35rem minmax(0,1fr) 5.75rem auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.65rem 1rem;background:var(--kb-surface);border-bottom:1px solid var(--kb-border);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--kb-muted)}.explorer-pane--kb .cabinet-kb-files__list{list-style:none;margin:0;padding:.35rem}.explorer-pane--kb .cabinet-kb-file-row{display:grid;grid-template-columns:2.35rem minmax(0,1fr) 5.75rem auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.6rem .65rem;margin-bottom:.2rem;border-radius:calc(var(--kb-radius) - 2px);transition:background .12s ease}.explorer-pane--kb .cabinet-kb-file-row:last-child{margin-bottom:0}.explorer-pane--kb .cabinet-kb-file-row:hover{background:var(--kb-surface)}.explorer-pane--kb .cabinet-kb-file-row__check{display:flex;align-items:center;justify-content:center}.explorer-pane--kb .cabinet-kb-file-row__check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--kb-accent);cursor:pointer}.explorer-pane--kb .cabinet-kb-file-row__check input[type=checkbox]:focus-visible{outline:2px solid var(--kb-accent);outline-offset:2px}.explorer-pane--kb .cabinet-kb-file-row__name{display:flex;align-items:center;gap:.5rem;min-width:0;font-size:.875rem;color:var(--kb-fg)}.explorer-pane--kb .cabinet-kb-file-row__name svg{flex-shrink:0;width:1.1rem;height:1.1rem;color:#9ca3af}.explorer-pane--kb .cabinet-kb-file-row__name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-pane--kb .cabinet-kb-file-row__size{font-size:.8125rem;color:var(--kb-muted);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.explorer-pane--kb .cabinet-kb-file-row__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.explorer-pane--kb .cabinet-kb-files__empty{padding:1.25rem 1rem;margin:0;font-size:.875rem;color:var(--kb-muted);text-align:center}.explorer-pane--kb .cabinet-kb-bulk{margin-top:1rem}.explorer-pane--kb .cabinet-kb-status{margin:0 0 1rem;padding:.65rem 1rem;font-size:.8125rem;border-radius:var(--kb-radius);background:var(--kb-surface);border:1px solid var(--kb-border)}.explorer-pane--kb .mvp-check--block{display:block;margin-top:.5rem}.explorer-pane--kb .cabinet-kb-hint-spaced{margin-top:1rem}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:var(--bg)}.login-card{width:100%;max-width:22rem;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;background:var(--surface);box-shadow:0 1px 3px rgba(15,23,42,.06)}.login-card h1{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--fg)}.login-form{gap:.75rem}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:.25rem;font-size:.875rem}.login-form input{padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);color:var(--fg);font:inherit}.login-form input:hover{border-color:#d1d5db}.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.2);background:var(--surface)}.login-form button{margin-top:.5rem;padding:.6rem 1rem;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;font:inherit}.login-form button:hover:not(:disabled){background:var(--accent-hover)}.login-form button:disabled{opacity:.6;cursor:not-allowed}