:root{--portal-primary:#8b6d4a;--portal-primary-hover:#7a5f3f;--portal-primary-light:#f3ede4;--portal-primary-muted:rgba(139,109,74,.08);--portal-accent:#141512;--portal-accent-light:#e4dacc;--portal-bg:#f1eee6;--portal-surface:#faf9f5;--portal-surface-raised:#fff;--portal-surface-sunken:#e4dacc;--portal-text:#141512;--portal-text-secondary:#4a4840;--portal-text-muted:#8a8578;--portal-text-inverse:#f1eee6;--portal-border:rgba(20,21,18,.08);--portal-border-strong:rgba(20,21,18,.15);--portal-success:#0d9f6e;--portal-success-bg:#ecfdf3;--portal-warning:#d97706;--portal-warning-bg:#fffbeb;--portal-error:#dc2626;--portal-error-bg:#fef2f2;--portal-info:#2563eb;--portal-info-bg:#eff6ff;--portal-max-width:1200px;--portal-radius:16px;--portal-radius-sm:10px;--portal-radius-xs:6px;--portal-shadow-sm:0 1px 2px rgba(20,21,18,.04);--portal-shadow:0 1px 3px rgba(20,21,18,.06),0 4px 16px rgba(20,21,18,.03);--portal-shadow-lg:0 4px 12px rgba(20,21,18,.08),0 16px 40px rgba(20,21,18,.06);--portal-font-heading:"Plus Jakarta Sans",sans-serif;--portal-font-body:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--portal-ease:cubic-bezier(0.22,0.61,0.36,1);--portal-duration:0.2s;--portal-duration-slow:0.4s}.portal-body{background:var(--portal-bg);color:var(--portal-text);font-family:var(--portal-font-body);font-size:.9375rem;font-weight:400;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.portal-body:before{background:radial-gradient(ellipse 80% 60% at 20% -10%,rgba(90,64,255,.04),transparent),radial-gradient(ellipse 60% 50% at 90% 100%,rgba(255,158,43,.03),transparent);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}.portal-header{align-items:center;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);background:rgba(246,246,250,.92);border-bottom:1px solid var(--portal-border);display:flex;height:68px;padding:0 1.5rem;position:sticky;top:0;z-index:100}.portal-header__inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--portal-max-width);width:100%}.portal-header__brand{align-items:center;display:flex;gap:0}.portal-header__logo{display:block;height:28px!important;width:auto!important}.portal-header__divider{background:var(--portal-border-strong);display:inline-block;flex-shrink:0;height:1.25rem;margin:0 .75rem;width:1px}.portal-header__label{color:var(--portal-primary);font-size:.8125rem;font-weight:600;letter-spacing:.08em;line-height:1;text-transform:uppercase}.portal-main{margin:0 auto;max-width:var(--portal-max-width);padding:2.5rem 1.5rem 4rem;position:relative;z-index:1}.portal-section{margin-bottom:3rem}.portal-section__title{color:var(--portal-text);font-family:var(--portal-font-heading);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;letter-spacing:-.01em;margin:0 0 1.25rem}.portal-section--welcome{margin-bottom:1.5rem}.portal-welcome__company{color:var(--portal-text);font-family:var(--portal-font-heading);font-size:2rem;font-weight:800;letter-spacing:-.025em;letter-spacing:-.02em;margin:0 0 .25rem}.portal-welcome__greeting{color:var(--portal-text-secondary);font-size:1rem;margin:0}.portal-new-request-btn{background:#161614;border:none;border-radius:var(--portal-radius-sm);color:#fff;cursor:pointer;display:inline-block;flex-shrink:0;font-family:var(--portal-font-body);font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:.5rem 1.25rem;text-decoration:none;transition:opacity var(--portal-duration) var(--portal-ease),box-shadow var(--portal-duration) var(--portal-ease);white-space:nowrap}.portal-new-request-btn:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:.85}.portal-new-request-btn:active{opacity:.75}.portal-filter-bar{align-items:flex-end;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;padding:1.25rem}.portal-filter-group{display:flex;flex-direction:column;gap:.375rem;min-width:160px}.portal-filter-group--search{flex:1;min-width:220px}.portal-filter-group__label{color:var(--portal-text-secondary);font-size:.75rem;font-weight:600;white-space:nowrap}.portal-filter-group__select{appearance:none;-webkit-appearance:none;background-color:var(--portal-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235c5c78' viewBox='0 0 16 16'%3E%3Cpath d='M8 11 3 6h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-xs);box-sizing:border-box;color:var(--portal-text);cursor:pointer;font-family:var(--portal-font-body);font-size:.875rem;font-weight:400;padding:.5rem 2.25rem .5rem .875rem;transition:border-color var(--portal-duration),box-shadow var(--portal-duration);width:100%}.portal-filter-group__select:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-muted);outline:none}.portal-filter-search{position:relative}.portal-filter-search__icon{color:#999;left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.portal-filter-search__input{background:var(--portal-surface);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-xs);box-sizing:border-box;color:var(--portal-text);font-family:var(--portal-font-body);font-size:.875rem;font-weight:400;padding:.5rem .875rem .5rem 2.375rem;transition:border-color var(--portal-duration),box-shadow var(--portal-duration);width:100%}.portal-filter-search__input::placeholder{color:#aaa}.portal-filter-search__input:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-muted);outline:none}.task-table{background:var(--portal-surface);border-collapse:separate;border-radius:var(--portal-radius);border-spacing:0;box-shadow:var(--portal-shadow);overflow:hidden;width:100%}.task-table thead{background:var(--portal-surface-sunken)}.task-table th{color:var(--portal-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;padding:.75rem 1rem;text-transform:uppercase;white-space:nowrap}.task-table td,.task-table th{border-bottom:1px solid var(--portal-border);text-align:left}.task-table td{font-size:.875rem;font-weight:400;padding:.875rem 1rem;vertical-align:middle}.task-table tbody tr:last-child td{border-bottom:none}.task-row{cursor:pointer;transition:background-color var(--portal-duration)}.task-row:hover{background:var(--portal-primary-muted)}.task-row:focus-visible{outline:2px solid var(--portal-primary);outline-offset:-2px}.task-row__subject{color:var(--portal-text);font-weight:400;max-width:320px}.task-row__due{font-size:.8125rem;font-variant-numeric:tabular-nums}.task-row__assignee,.task-row__client-owner{color:var(--portal-text-secondary);font-size:.8125rem}.task-row--overdue .task-row__due{color:var(--portal-error);font-weight:600}.task-row__overdue-icon{color:var(--portal-error);margin-right:.25rem;vertical-align:middle}.portal-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:600;letter-spacing:.02em;line-height:1.6;padding:.125rem .5rem;white-space:nowrap}.portal-badge--green{background:var(--portal-success-bg);color:var(--portal-success)}.portal-badge--blue{background:var(--portal-info-bg);color:var(--portal-info)}.portal-badge--red{background:var(--portal-error-bg);color:var(--portal-error)}.portal-badge--amber{background:var(--portal-warning-bg);color:var(--portal-warning)}.portal-badge--grey{background:var(--portal-surface-sunken);color:var(--portal-text-muted)}.portal-badge--default{background:var(--portal-surface-sunken);color:var(--portal-text-secondary)}.portal-priority--high{background:var(--portal-error-bg);color:var(--portal-error)}.portal-priority--medium{background:var(--portal-warning-bg);color:var(--portal-warning)}.portal-priority--low{background:var(--portal-surface-sunken);color:var(--portal-text-muted)}.task-back-link{align-items:center;color:var(--portal-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;margin-bottom:1.5rem;text-decoration:none;transition:color var(--portal-duration)}.task-back-link:hover{color:var(--portal-primary)}.task-detail{background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);margin-bottom:2rem;padding:2rem 2.5rem}.task-header h1{color:var(--portal-text);font-family:var(--portal-font-heading);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:0 0 .75rem}.task-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.task-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.task-badge--project{background:var(--portal-primary-light);color:var(--portal-primary)}.task-badge--status{background:var(--portal-info-bg);color:var(--portal-info)}.task-badge--status-completed{background:var(--portal-success-bg);color:var(--portal-success)}.task-badge--priority-high{background:var(--portal-error-bg);color:var(--portal-error)}.task-badge--priority-medium{background:var(--portal-warning-bg);color:var(--portal-warning)}.task-badge--priority-low{background:var(--portal-surface-sunken);color:var(--portal-text-muted)}.task-meta{border-bottom:1px solid var(--portal-border);border-top:1px solid var(--portal-border);display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:1.5rem;padding:1.25rem 0}.task-meta-item{display:flex;flex-direction:column;gap:.25rem}.task-meta-label{color:var(--portal-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.task-meta-value{color:var(--portal-text);font-size:.875rem;font-variant-numeric:tabular-nums}.task-meta-value--overdue{color:var(--portal-error);font-weight:600}.task-description{margin-bottom:2rem}.task-comments h2,.task-description h2{font-family:var(--portal-font-heading);font-size:1.25rem;font-weight:700;margin:0 0 .75rem}.task-description-body{color:var(--portal-text);font-size:.9375rem;line-height:1.7;white-space:pre-wrap}.task-description-empty{color:var(--portal-text-muted);font-style:italic}.task-comments{margin-top:2rem}.comment-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.comment-item{background:var(--portal-surface-sunken);border-left:3px solid var(--portal-border-strong);border-radius:var(--portal-radius-sm);padding:1rem 1.25rem;transition:border-color var(--portal-duration)}.comment-item--optimistic,.comment-item:hover{border-left-color:var(--portal-primary)}.comment-item--optimistic{border-left-style:dashed;opacity:.6}.comment-header{align-items:baseline;display:flex;gap:.5rem;margin-bottom:.375rem}.comment-author{color:var(--portal-text);font-size:.8125rem;font-weight:600}.comment-timestamp{color:var(--portal-text-muted);font-size:.75rem}.comment-body{color:var(--portal-text-secondary);font-size:.875rem;line-height:1.6;white-space:pre-wrap}.comment-empty{color:var(--portal-text-muted);font-size:.875rem;font-style:italic;padding:1.5rem;text-align:center}.comment-form{margin-top:1.5rem}.comment-form textarea{background:var(--portal-surface);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-sm);color:var(--portal-text);font-family:var(--portal-font-body);font-size:.875rem;line-height:1.6;min-height:100px;padding:.875rem 1rem;resize:vertical;transition:border-color var(--portal-duration),box-shadow var(--portal-duration);width:100%}.comment-form textarea:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-muted);outline:none}.comment-form-footer{align-items:center;display:flex;justify-content:space-between;margin-top:.5rem}.comment-char-count{color:var(--portal-text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.comment-char-count--warn{color:var(--portal-warning);font-weight:500}.comment-char-count--over{color:var(--portal-error);font-weight:600}.comment-form-error{color:var(--portal-error);font-size:.8125rem;margin-top:.5rem}.upload-zone{border:2px dashed var(--portal-border-strong);border-radius:var(--portal-radius);cursor:pointer;margin-top:1.5rem;padding:2rem;text-align:center;transition:border-color var(--portal-duration),background var(--portal-duration)}.upload-zone--dragover,.upload-zone:hover{background:var(--portal-primary-muted);border-color:var(--portal-primary)}.upload-zone-icon{color:var(--portal-text-muted);margin-bottom:.5rem}.upload-zone p{color:var(--portal-text-secondary);font-size:.875rem;margin:.25rem 0}.upload-zone-types{color:var(--portal-text-muted);font-size:.75rem;margin-top:.5rem}.upload-preview{align-items:center;background:var(--portal-surface-sunken);border-radius:var(--portal-radius-sm);display:flex;justify-content:space-between;margin-top:.75rem;padding:.75rem 1rem}.upload-preview-info{display:flex;flex-direction:column}.upload-preview-name{color:var(--portal-text);font-size:.875rem;font-weight:500}.upload-preview-size{color:var(--portal-text-muted);font-size:.75rem}.upload-preview-actions{display:flex;gap:.5rem}.upload-progress{margin-top:.75rem}.upload-progress-bar{background:var(--portal-surface-sunken);border-radius:2px;height:4px;overflow:hidden}.upload-progress-fill{background:var(--portal-primary);border-radius:2px;height:100%;transition:width var(--portal-duration-slow) var(--portal-ease)}.upload-progress-text{color:var(--portal-text-muted);font-size:.75rem;font-variant-numeric:tabular-nums;margin-top:.25rem;text-align:right}.upload-error{color:var(--portal-error)}.upload-error,.upload-success{font-size:.8125rem;margin-top:.5rem}.upload-success{color:var(--portal-success)}.team-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.team-card{align-items:flex-start;background:var(--portal-surface);border:1px solid transparent;border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);display:flex;gap:1rem;padding:1.25rem;transition:box-shadow var(--portal-duration),transform var(--portal-duration)}.team-card:hover{border-color:var(--portal-border);box-shadow:var(--portal-shadow);transform:translateY(-2px)}.team-card__avatar{object-fit:cover}.team-card__avatar,.team-card__avatar--initials{border-radius:50%;flex-shrink:0;height:56px;width:56px}.team-card__avatar--initials{align-items:center;background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-hover));color:var(--portal-text-inverse);display:flex;font-size:1.125rem;font-weight:600;justify-content:center}.team-card__info{flex:1;min-width:0}.team-card__name{color:var(--portal-text);font-size:.9375rem;font-weight:600;margin:0 0 .125rem}.team-card__role{color:var(--portal-text-secondary);font-size:.8125rem;margin:0 0 .5rem}.team-card__contact{color:var(--portal-primary);display:block;font-size:.8125rem;overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color var(--portal-duration);white-space:nowrap}.team-card__contact:hover{color:var(--portal-primary-hover);text-decoration:underline}.doc-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.category-filter{display:flex;flex-wrap:wrap;gap:.375rem}.category-filter__btn{appearance:none;background:var(--portal-surface);border:1px solid var(--portal-border-strong);border-radius:999px;color:var(--portal-text-secondary);cursor:pointer;font-family:var(--portal-font-body);font-size:.75rem;font-weight:500;padding:.3rem .875rem;transition:all var(--portal-duration)}.category-filter__btn:hover{border-color:var(--portal-primary);color:var(--portal-primary)}.category-filter__btn--active{background:var(--portal-primary);border-color:var(--portal-primary);color:var(--portal-text-inverse)}.search-input{appearance:none;background-color:var(--portal-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%238e8ea0' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%238e8ea0' stroke-linecap='round' stroke-width='2' d='m21 21-4.35-4.35M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16z'/%3E%3C/svg%3E");background-position:.6rem;background-repeat:no-repeat;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-xs);color:var(--portal-text);font-family:var(--portal-font-body);font-size:.8125rem;min-width:200px;padding:.4rem .75rem .4rem 2rem;transition:border-color var(--portal-duration),box-shadow var(--portal-duration)}.search-input:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-muted);outline:none}.doc-results-count{color:var(--portal-text-muted);font-size:.75rem}.doc-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.doc-card{background:var(--portal-surface);border:1px solid transparent;border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all var(--portal-duration)}.doc-card:hover{border-color:var(--portal-border);box-shadow:var(--portal-shadow);transform:translateY(-2px)}.doc-card__header{align-items:flex-start;display:flex;gap:.75rem}.doc-icon{align-items:center;border-radius:var(--portal-radius-xs);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:40px;justify-content:center;text-transform:uppercase;width:40px}.doc-icon--pdf{background:#fef2f2;color:#dc2626}.doc-icon--doc{background:#eff6ff;color:#2563eb}.doc-icon--xls{background:#ecfdf3;color:#0d9f6e}.doc-icon--img{background:var(--portal-primary-light);color:var(--portal-primary)}.doc-icon--other{background:var(--portal-surface-sunken);color:var(--portal-text-muted)}.doc-card__info{flex:1;min-width:0}.doc-card__name{color:var(--portal-text);font-size:.875rem;font-weight:600;line-height:1.35;margin:0}.doc-card__meta{align-items:center;display:flex;gap:.5rem;margin-top:.125rem}.doc-card__category{background:var(--portal-primary-light);border-radius:999px;color:var(--portal-primary);font-size:.6875rem;font-weight:500;padding:.0625rem .375rem}.doc-card__date{color:var(--portal-text-muted);font-size:.75rem;margin:0}.doc-card__download{align-items:center;border-top:1px solid var(--portal-border);color:var(--portal-primary);display:inline-flex;font-size:.8125rem;font-weight:500;gap:.25rem;margin-top:auto;padding-top:.5rem;text-decoration:none;transition:color var(--portal-duration)}.doc-card__download:hover{color:var(--portal-primary-hover)}.doc-grid__no-results{color:var(--portal-text-muted);font-size:.875rem;grid-column:1/-1;padding:2rem;text-align:center}.video-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.video-card{background:var(--portal-surface);border:1px solid transparent;border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);cursor:pointer;overflow:hidden;transition:all var(--portal-duration)}.video-card:hover{border-color:var(--portal-border);box-shadow:var(--portal-shadow);transform:translateY(-2px)}.video-card:focus-visible{outline:2px solid var(--portal-primary);outline-offset:2px}.video-card__embed{background:var(--portal-surface-sunken);height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-card__embed iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.video-card__embed-overlay{align-items:center;background:rgba(26,26,46,.3);display:flex;inset:0;justify-content:center;position:absolute;transition:background var(--portal-duration)}.video-card:hover .video-card__embed-overlay{background:rgba(26,26,46,.15)}.video-card__play-icon{align-items:center;background:var(--portal-surface);border-radius:50%;box-shadow:var(--portal-shadow-lg);display:flex;height:48px;justify-content:center;transition:transform var(--portal-duration) var(--portal-ease);width:48px}.video-card:hover .video-card__play-icon{transform:scale(1.08)}.video-card__body{padding:1rem 1.25rem 1.25rem}.video-card__title{color:var(--portal-text);font-family:var(--portal-font-heading);font-size:1.0625rem;font-weight:700;line-height:1.3;margin:0 0 .375rem}.video-card__desc{color:var(--portal-text-secondary);display:-webkit-box;font-size:.8125rem;-webkit-line-clamp:2;line-height:1.5;margin:0 0 .625rem;-webkit-box-orient:vertical;overflow:hidden}.video-card__meta{align-items:center;color:var(--portal-text-muted);display:flex;font-size:.75rem;gap:.5rem}.video-card__author{color:var(--portal-text-secondary);font-weight:500}.video-card__duration{background:var(--portal-surface-sunken);border-radius:4px;font-variant-numeric:tabular-nums;padding:.0625rem .375rem}.video-modal{align-items:center;display:none;inset:0;justify-content:center;position:fixed;z-index:1000}.video-modal--open{display:flex}.video-modal__backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(26,26,46,.75);inset:0;position:absolute}.video-modal__content{animation:portal-modal-enter var(--portal-duration-slow) var(--portal-ease);background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-lg);max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:90%;z-index:1}.video-modal__embed{background:#000;border-radius:var(--portal-radius) var(--portal-radius) 0 0;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-modal__embed iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.video-modal__body{padding:1.5rem 2rem 2rem}.video-modal__title{font-family:var(--portal-font-heading);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.video-modal__desc{color:var(--portal-text-secondary);font-size:.9375rem;line-height:1.65;margin:0 0 1rem}.video-modal__meta{color:var(--portal-text-muted);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.75rem}.video-modal__close{align-items:center;background:rgba(26,26,46,.7);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background var(--portal-duration);width:36px;z-index:2}.video-modal__close:hover{background:rgba(26,26,46,.9)}@keyframes portal-modal-enter{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.support-form{background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);max-width:640px;padding:2rem 2.5rem}.portal-page-header,.support-page-header{margin-bottom:2rem}.portal-page-title,.support-header__title{color:var(--portal-text);font-family:var(--portal-font-heading);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.support-header__intro{color:var(--portal-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.form-field{margin-bottom:1.25rem}.form-field label{color:var(--portal-text);display:block;font-size:.8125rem;font-weight:600;margin-bottom:.375rem}.form-field input[type=text],.form-field select,.form-field textarea{background:var(--portal-surface);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-sm);color:var(--portal-text);font-family:var(--portal-font-body);font-size:.875rem;padding:.6rem .875rem;transition:border-color var(--portal-duration),box-shadow var(--portal-duration);width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-muted);outline:none}.form-field textarea{line-height:1.6;min-height:120px;resize:vertical}.form-field.has-error input,.form-field.has-error textarea{border-color:var(--portal-error)}.form-field.has-error input:focus,.form-field.has-error textarea:focus{box-shadow:0 0 0 3px rgba(220,38,38,.08)}.field-hint{color:var(--portal-text-muted)}.field-error,.field-hint{font-size:.75rem;margin-top:.25rem}.field-error{color:var(--portal-error);display:none}.has-error .field-error{display:block}.char-counter{color:var(--portal-text-muted);font-size:.6875rem;font-variant-numeric:tabular-nums;margin-top:.25rem;text-align:right;transition:color var(--portal-duration)}.char-counter.is-warning{color:var(--portal-warning);font-weight:600}.priority-options{display:grid;gap:.625rem;grid-template-columns:repeat(3,1fr);margin-top:.375rem}.priority-option{background:var(--portal-surface);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-sm);cursor:pointer;padding:.75rem;position:relative;transition:all var(--portal-duration)}.priority-option:hover{border-color:var(--portal-primary)}.priority-option:has(input:checked){background:var(--portal-primary-muted);border-color:var(--portal-primary);box-shadow:0 0 0 1px var(--portal-primary)}.priority-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.priority-option-text{display:flex;flex-direction:column;gap:.125rem}.priority-option-label{color:var(--portal-text);font-size:.8125rem;font-weight:600}.priority-option-desc{color:var(--portal-text-muted);font-size:.6875rem;line-height:1.4}.error-banner{align-items:flex-start;background:var(--portal-error-bg);border:1px solid rgba(220,38,38,.15);border-radius:var(--portal-radius-sm);display:none;gap:.75rem;margin-bottom:1.25rem;padding:.875rem 1rem}.error-banner.is-visible{display:flex}.error-banner__icon{color:var(--portal-error);flex-shrink:0;margin-top:.125rem}.error-banner__body{flex:1;line-height:1.5}.error-banner__body,.error-banner__retry{color:var(--portal-error);font-size:.8125rem}.error-banner__retry{appearance:none;background:none;border:none;cursor:pointer;font-family:var(--portal-font-body);font-weight:600;padding:0;text-decoration:underline}.success-state{background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);display:none;padding:3rem 2rem;text-align:center}.success-state.is-visible{animation:portal-fade-in var(--portal-duration-slow) var(--portal-ease);display:block}.success-state__icon{align-items:center;background:var(--portal-success-bg);border-radius:50%;color:var(--portal-success);display:inline-flex;font-size:1.5rem;height:56px;justify-content:center;margin-bottom:1rem;width:56px}.success-state__title{color:var(--portal-text);font-family:var(--portal-font-heading);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.success-state__detail{color:var(--portal-text-secondary);font-size:.9375rem;line-height:1.6;margin:0 0 1.5rem}.success-state__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.success-state__link{color:var(--portal-primary);font-size:.875rem;font-weight:500;text-decoration:none}.success-state__link:hover{text-decoration:underline}.portal-breadcrumb,.support-breadcrumb{align-items:center;display:flex;font-size:.8125rem;gap:.375rem;margin-bottom:1rem}.portal-breadcrumb__link{color:var(--portal-text-secondary);text-decoration:none;transition:color var(--portal-duration)}.portal-breadcrumb__link:hover{color:var(--portal-primary)}.portal-breadcrumb__sep{color:var(--portal-text-muted)}.portal-breadcrumb__current{color:var(--portal-text);font-weight:500}.btn,.portal-btn{align-items:center;border:none;border-radius:var(--portal-radius-sm);cursor:pointer;display:inline-flex;font-family:var(--portal-font-body);font-size:.8125rem;font-weight:600;gap:.375rem;justify-content:center;padding:.5rem 1.25rem;text-decoration:none;transition:all var(--portal-duration) var(--portal-ease);white-space:nowrap}.btn--primary,.portal-btn{background:var(--portal-primary);color:var(--portal-text-inverse)}.btn--primary:hover,.portal-btn:hover{background:var(--portal-primary-hover);box-shadow:0 4px 12px rgba(90,64,255,.25);transform:translateY(-1px)}.btn--primary:active,.portal-btn:active{transform:translateY(0)}.btn--primary:disabled,.portal-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.btn--secondary,.portal-btn--outline{background:var(--portal-surface);border:1px solid var(--portal-border-strong);color:var(--portal-text)}.btn--secondary:hover,.portal-btn--outline:hover{background:var(--portal-primary-muted);border-color:var(--portal-primary);color:var(--portal-primary)}.btn--small{font-size:.75rem;padding:.375rem .875rem}.support-form__submit{margin-top:.5rem;padding:.75rem 1.5rem;width:100%}.support-form__submit .spinner{animation:portal-spin .6s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:none;height:16px;width:16px}.support-form__submit.is-loading .spinner{display:inline-block}.support-form__submit.is-loading .btn-label{opacity:.7}@keyframes portal-spin{to{transform:rotate(1turn)}}.portal-pagination{align-items:center;display:flex;gap:.25rem;justify-content:center;padding:1.25rem 0 0}.portal-pagination__btn{appearance:none;background:var(--portal-surface);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-xs);color:var(--portal-text-secondary);cursor:pointer;font-family:var(--portal-font-body);font-size:.8125rem;font-weight:500;padding:.375rem .75rem;transition:all var(--portal-duration)}.portal-pagination__btn:hover:not(:disabled){border-color:var(--portal-primary);color:var(--portal-primary)}.portal-pagination__btn:disabled{cursor:default;opacity:.35}.portal-pagination__pages{display:flex;gap:.25rem}.portal-pagination__page{appearance:none;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-xs);color:var(--portal-text-secondary);cursor:pointer;font-family:var(--portal-font-body);font-size:.8125rem;font-variant-numeric:tabular-nums;min-width:2rem;padding:.375rem .625rem;text-align:center;transition:all var(--portal-duration)}.portal-pagination__page:hover{border-color:var(--portal-primary);color:var(--portal-primary)}.portal-pagination__page--active{background:var(--portal-primary);border-color:var(--portal-primary);color:var(--portal-text-inverse);font-weight:600}.portal-loading{padding:2rem 0}.portal-skeleton-line{animation:portal-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--portal-surface-sunken) 25%,rgba(240,240,246,.5) 50%,var(--portal-surface-sunken) 75%);background-size:200% 100%;border-radius:4px;height:.875rem;margin-bottom:.625rem}.portal-skeleton-line--short{width:60%}@keyframes portal-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.doc-skeleton,.video-skeleton{background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);padding:1.25rem}.doc-skeleton__icon{animation:portal-shimmer 1.5s ease-in-out infinite;background:var(--portal-surface-sunken);border-radius:var(--portal-radius-xs);height:40px;width:40px}.doc-skeleton__line,.video-skeleton__line{animation:portal-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--portal-surface-sunken) 25%,rgba(240,240,246,.5) 50%,var(--portal-surface-sunken) 75%);background-size:200% 100%;border-radius:4px;height:.75rem;margin-top:.5rem}.doc-skeleton__line--short,.video-skeleton__line--short{width:65%}.doc-skeleton__line--xs,.video-skeleton__line--xs{width:40%}.video-skeleton__embed{animation:portal-shimmer 1.5s ease-in-out infinite;aspect-ratio:16/9;background:var(--portal-surface-sunken);border-radius:var(--portal-radius) var(--portal-radius) 0 0}.video-skeleton__body{padding:1rem 0 0}.video-skeleton__line--title{height:1rem;width:80%}.portal-error{padding:2.5rem 1.5rem;text-align:center}.portal-error__icon{align-items:center;background:var(--portal-error-bg);border-radius:50%;color:var(--portal-error);display:inline-flex;height:40px;justify-content:center;margin-bottom:.75rem;width:40px}.portal-error__message,.portal-error__msg{color:var(--portal-text-secondary);font-size:.875rem;line-height:1.5}.portal-empty{padding:2.5rem 1.5rem;text-align:center}.portal-empty__message,.portal-empty__msg{color:var(--portal-text-muted);font-size:.875rem}.portal-empty__sub{color:var(--portal-text-muted);font-size:.8125rem;margin-top:.25rem}.task-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.task-loading-spinner{animation:portal-spin .7s linear infinite;border:3px solid var(--portal-border-strong);border-radius:50%;border-top-color:var(--portal-primary);height:32px;margin-bottom:1rem;width:32px}.task-error{padding:4rem 2rem;text-align:center}.portal-footer{border-top:1px solid var(--portal-border);color:var(--portal-text-muted);font-size:.75rem;letter-spacing:.02em;padding:2rem 1.5rem;text-align:center}.portal-sr-only,.sr-only,.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.portal-chrome{display:flex;flex-direction:column;min-height:100vh}@keyframes portal-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portal-section{animation:portal-fade-in .5s var(--portal-ease) backwards}.portal-section:first-child{animation-delay:0s}.portal-section:nth-child(2){animation-delay:.06s}.portal-section:nth-child(3){animation-delay:.12s}.portal-section:nth-child(4){animation-delay:.18s}.portal-section:nth-child(5){animation-delay:.24s}.portal-section:nth-child(6){animation-delay:.3s}.doc-card,.team-card,.video-card{will-change:transform}@media (max-width:768px){.portal-main{padding:1.5rem 1rem 3rem}.portal-welcome__company{font-size:1.5rem}.portal-section__title{font-size:1.25rem}.portal-section--tasks{overflow-x:auto;-webkit-overflow-scrolling:touch}.task-table{min-width:640px}.task-detail{padding:1.5rem}.task-header h1{font-size:1.375rem}.task-meta{grid-template-columns:1fr 1fr}.support-form{padding:1.5rem}.doc-grid,.priority-options,.team-grid,.video-grid{grid-template-columns:1fr}.video-modal__content{width:95%}.video-modal__body{padding:1rem 1.25rem 1.25rem}}@media (max-width:480px){.portal-header{height:56px;padding:0 1rem}.portal-header__logo{height:24px}.portal-header__label{font-size:.625rem}.portal-welcome__company{font-size:1.25rem}.portal-page-title,.support-header__title{font-size:1.5rem}.doc-filters{align-items:stretch;flex-direction:column}.search-input{min-width:0;width:100%}.task-meta{grid-template-columns:1fr}}@media print{.comment-form,.portal-body:before,.portal-filter-bar,.portal-footer,.portal-header,.portal-new-request-btn,.portal-pagination,.upload-zone{display:none}.portal-section{animation:none}.doc-card,.task-detail,.task-table,.team-card{border:1px solid #ddd;box-shadow:none}.task-row:hover{background:transparent}}@keyframes projectSwitcherIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes progressRingFill{0%{stroke-dashoffset:var(--ring-circumference)}to{stroke-dashoffset:var(--ring-offset)}}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.project-switcher-wrapper{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.project-switcher{align-items:center;animation:projectSwitcherIn .5s ease-out both;background:var(--portal-surface-raised,#fff);border:1px solid var(--portal-border,rgba(20,21,18,.08));border-radius:var(--portal-radius,1rem);display:flex;gap:2rem;margin-bottom:0;padding:1.5rem 2rem}.project-switcher__info{flex:1;min-width:0}.project-switcher__meta-label{color:var(--portal-primary);display:block;font-size:.6875rem;font-weight:600;letter-spacing:.1em;margin:0 0 .25rem;text-transform:uppercase}.project-switcher__name{color:#141512;font-family:Plus Jakarta Sans,sans-serif;font-size:1.375rem;line-height:1.2;margin:0 0 1.5rem}.project-switcher__dates{display:flex;flex-wrap:wrap;gap:.75rem}.project-switcher__date-card{background:var(--portal-surface,#faf8f5);border-radius:.5rem;display:flex;flex-direction:column;gap:.125rem;min-width:0;padding:.5rem .875rem}.project-switcher__date-label{color:var(--portal-primary,#8b6d4a);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.project-switcher__date-value{color:#141512;font-size:.9375rem;font-weight:500;white-space:nowrap}.project-switcher__stats{display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-top:0}.project-switcher__stat-card{background:var(--portal-surface-raised,#fff);border:1px solid var(--portal-border,rgba(20,21,18,.08));border-radius:var(--portal-radius-sm,10px);box-shadow:var(--portal-shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:1rem 1.25rem;transition:background .15s ease,box-shadow .15s ease,border-color .15s ease}.project-switcher__stat-card:hover{background:#f0ede8}.project-switcher__stat-card--active{background:#f0ede8;border-color:var(--portal-primary,#8b6d4a);box-shadow:0 0 0 1px var(--portal-primary,#8b6d4a)}.project-switcher__stat-card--warning .project-switcher__stat-value{color:#b45309}.project-switcher__stat-label{color:var(--portal-primary,#8b6d4a);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.project-switcher__stat-value{color:var(--portal-text,#141512);font-size:1.5rem;font-weight:700;line-height:1.2;white-space:nowrap}.project-switcher__stat-card--skeleton{pointer-events:none}.project-switcher__stat-card--skeleton .project-switcher__stat-value{animation:portal-pulse 1.5s ease-in-out infinite;background:rgba(20,21,18,.12);border-radius:.25rem;color:transparent;min-width:2rem}.project-switcher__progress{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.375rem}.project-switcher__ring{height:72px;position:relative;width:72px}.project-switcher__ring svg{height:100%;transform:rotate(-90deg);width:100%}.project-switcher__ring-bg{fill:none;stroke:rgba(20,21,18,.06);stroke-width:5}.project-switcher__ring-fill{animation:progressRingFill 1s ease-out .3s both;fill:none;stroke:var(--portal-primary,#8b6d4a);stroke-linecap:round;stroke-width:5}.project-switcher__ring-text{align-items:center;animation:countUp .4s ease-out .6s both;color:#141512;display:flex;font-size:1.125rem;font-weight:700;inset:0;justify-content:center;position:absolute}.project-switcher__progress-label{animation:countUp .4s ease-out .8s both;color:#888;font-size:.6875rem;text-align:center;white-space:nowrap}.project-switcher__ring--skeleton .project-switcher__ring-fill{animation:none;stroke-dashoffset:var(--ring-circumference)!important}.project-switcher__ring--skeleton .project-switcher__ring-text,.project-switcher__ring--skeleton+.project-switcher__progress-label{animation:none;opacity:.3}.project-switcher__select{align-self:flex-start;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right .75rem center;border:1px solid rgba(20,21,18,.12);border-radius:.5rem;color:#141512;cursor:pointer;font-size:.8125rem;max-width:240px;min-width:160px;overflow:hidden;padding:.5rem 2.25rem .5rem .75rem;text-overflow:ellipsis;white-space:nowrap}.project-switcher__select:hover{border-color:var(--portal-primary,#8b6d4a)}.project-switcher__select:focus{outline:2px solid var(--portal-primary,#8b6d4a);outline-offset:1px}@media (max-width:640px){.project-switcher{align-items:stretch;flex-direction:column;gap:1.25rem;padding:1.25rem}.project-switcher__progress{flex-direction:row;gap:.75rem}.project-switcher__ring{height:56px;width:56px}.project-switcher__ring-text{font-size:.9375rem}.project-switcher__select{max-width:100%}.project-switcher__stats{gap:.5rem;grid-template-columns:repeat(2,1fr)}}.portal-drawer-open{overflow:hidden}.task-drawer-backdrop{background:transparent;display:flex;inset:0;justify-content:flex-end;position:fixed;transition:background .3s ease-out;z-index:1000}.task-drawer-backdrop--open{background:rgba(0,0,0,.5)}.task-drawer{background:#fff;border-radius:12px 0 0 12px;box-shadow:-4px 0 24px rgba(0,0,0,.12);display:flex;height:100vh;max-width:92vw;position:relative;transform:translateX(100%);transition:transform .3s ease-out;width:900px}.task-drawer--open{transform:translateX(0)}.task-drawer__close{align-items:center;background:transparent;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;position:absolute;right:.75rem;top:.75rem;transition:background .15s,color .15s;width:2rem;z-index:10}.task-drawer__close:hover{background:#f3f4f6;color:#141512}.task-drawer__left{border-right:1px solid rgba(20,21,18,.12);flex:0 0 58%;overflow-y:auto;padding:2rem}.task-drawer__breadcrumb{color:#888;font-size:.8125rem;margin-bottom:.5rem}.task-drawer__title{color:#141512;font-family:Plus Jakarta Sans,sans-serif;font-size:1.375rem;margin:0 0 .75rem;padding-right:2rem}.task-drawer__badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.task-drawer__meta{background:rgba(20,21,18,.08);border-radius:.5rem;display:grid;gap:1px;grid-template-columns:1fr 1fr;margin-bottom:1.5rem;overflow:hidden}.task-drawer__meta-item{background:#f9f8f5;padding:.75rem 1rem}.task-drawer__meta-item:last-child:nth-child(odd){grid-column:1/-1}.task-drawer__meta-label{color:#888;display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}.task-drawer__meta-value{color:#141512;display:block;font-size:.875rem}.task-drawer__assignee-wrap{align-items:center;cursor:pointer;display:flex;gap:.375rem;position:relative}.task-drawer__assignee-trigger{border-bottom:1px dashed #c9b99a;transition:color .15s,border-color .15s}.task-drawer__assignee-wrap:hover .task-drawer__assignee-trigger{border-color:#8b6d4a;color:#8b6d4a}.task-drawer__assignee-pencil{flex-shrink:0;opacity:0;transition:opacity .15s}.task-drawer__assignee-wrap:hover .task-drawer__assignee-pencil{opacity:1}.task-drawer__assignee-saving{opacity:.5;pointer-events:none}.task-drawer__assignee-dropdown{background:#fff;border:1px solid #e0dcd4;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);left:0;max-height:240px;min-width:220px;overflow-y:auto;position:absolute;top:calc(100% + 4px);z-index:100}.task-drawer__assignee-option{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.8125rem;justify-content:space-between;padding:.5rem .75rem;transition:background .1s}.task-drawer__assignee-option:hover{background:#f5f2ec}.task-drawer__assignee-option--active{background:#f0ebe0;font-weight:600}.task-drawer__assignee-option--empty,.task-drawer__assignee-option--loading{color:#999;cursor:default;font-style:italic;justify-content:center}.task-drawer__assignee-option--empty:hover,.task-drawer__assignee-option--loading:hover{background:transparent}.task-drawer__assignee-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-drawer__assignee-role{background:#f5f2ec;border-radius:4px;color:#8b6d4a;flex-shrink:0;font-size:.6875rem;margin-left:.5rem;padding:.125rem .375rem;white-space:nowrap}.task-drawer__date-input{-webkit-appearance:none;appearance:none;background:transparent;border:0;color:transparent;cursor:pointer;height:100%;inset:0;margin:0;opacity:0;padding:0;position:absolute;width:100%;z-index:1}.task-drawer__date-input::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;inset:0;margin:0;opacity:0;padding:0;position:absolute;width:100%}.task-drawer__description{margin-bottom:1.5rem}.task-drawer__description h3{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.task-drawer__description p{color:#333;font-size:.875rem;line-height:1.6;margin:0}.task-drawer__upload h3{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.task-drawer__file-list{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.task-drawer__file-item{align-items:center;background:rgba(20,21,18,.03);border-radius:.375rem;display:flex;gap:.5rem;padding:.375rem .5rem;transition:background .15s}.task-drawer__file-item:hover{background:rgba(20,21,18,.06)}.task-drawer__file-icon{color:#8b6d4a;flex-shrink:0}.task-drawer__file-link{color:#8b6d4a;flex:1;font-size:.8125rem;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.task-drawer__file-link:hover{text-decoration:underline}.task-drawer__file-date{color:#999;flex-shrink:0;font-size:.75rem}.task-drawer__file-delete{align-items:center;background:none;border:none;border-radius:.25rem;color:#bbb;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:1.25rem;justify-content:center;line-height:1;padding:0;transition:color .15s,background .15s;width:1.25rem}.task-drawer__file-delete:hover{background:rgba(192,57,43,.08);color:#c0392b}.task-drawer__file-delete:disabled{cursor:not-allowed;opacity:.4}.task-drawer__upload-zone{border:2px dashed rgba(20,21,18,.2);border-radius:.5rem;cursor:pointer;padding:1.5rem;text-align:center;transition:border-color .15s,background .15s}.task-drawer__upload-zone--dragover,.task-drawer__upload-zone:hover{background:rgba(139,109,74,.04);border-color:#8b6d4a}.task-drawer__upload-zone svg{display:block;margin:0 auto .5rem}.task-drawer__upload-zone p{color:#888;font-size:.8125rem;margin:0}.task-drawer__right{display:flex;flex:1;flex-direction:column;min-width:0}.task-drawer__comments-header{align-items:center;border-bottom:1px solid rgba(20,21,18,.12);display:flex;gap:.5rem;padding:1.25rem 1.5rem}.task-drawer__comments-header h3{font-size:1rem;font-weight:600;margin:0}.task-drawer__comments-list{flex:1;overflow-y:auto;padding:1rem 1.5rem}.task-drawer__comment{border-bottom:1px solid var(--portal-border,#e5e2d9);display:flex;gap:.75rem;padding:.875rem 0}.task-drawer__comment:last-child{border-bottom:none}.task-drawer__comment-avatar{align-items:center;background:#e5e2d9;border-radius:50%;color:#555;display:flex;flex-shrink:0;font-size:.6875rem;font-weight:700;height:2rem;justify-content:center;text-transform:uppercase;width:2rem}.task-drawer__comment-avatar--kongo{background:var(--portal-primary,#8b6d4a);color:#fff}.task-drawer__comment-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.25rem}.task-drawer__comment-author{font-size:.8125rem;font-weight:600}.task-drawer__comment-badge{background:#e5e2d9;border-radius:3px;color:#555;font-size:.6875rem;font-weight:600;padding:.125rem .375rem}.task-drawer__comment-badge--kongo{background:var(--portal-primary,#8b6d4a);color:#fff}.task-drawer__comment-role{color:#888;font-size:.75rem;font-style:italic}.task-drawer__comment-time{color:#999;font-size:.75rem;margin-left:auto}.task-drawer__comment-content{flex:1;min-width:0}.task-drawer__comment-body{color:#333;font-size:.875rem;line-height:1.5}.task-drawer__comment-body p{margin:0}.task-drawer__comment-body a{color:var(--portal-primary,#8b6d4a);text-decoration:underline;word-break:break-all}.task-drawer__comment-body a:hover{opacity:.8}.task-drawer__mention{color:var(--portal-primary,#8b6d4a);font-weight:600}.task-drawer__comments-empty{color:#888;font-size:.875rem;margin:0;padding:2rem 0;text-align:center}.task-drawer__comment-form{border-top:1px solid rgba(20,21,18,.12);padding:1rem 1.5rem}.task-drawer__comment-input{border:1px solid rgba(20,21,18,.12);border-radius:.375rem;box-sizing:border-box;font-family:inherit;font-size:.875rem;max-height:10rem;min-height:4rem;overflow-y:auto;padding:.625rem .75rem;transition:border-color .15s;white-space:pre-wrap;width:100%;word-wrap:break-word}.task-drawer__comment-input:empty:before{color:#999;content:attr(data-placeholder);pointer-events:none}.task-drawer__comment-input:focus{border-color:#8b6d4a;outline:none}.task-drawer__comment-input .mention-chip{color:var(--portal-primary,#8b6d4a);font-weight:600;pointer-events:none}.task-drawer__comment-actions{align-items:center;display:flex;justify-content:space-between;margin-top:.5rem}.task-drawer__char-count{color:#888;font-size:.75rem}.task-drawer__send-btn{background:#8b6d4a;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;transition:opacity .15s}.task-drawer__send-btn:hover:not(:disabled){opacity:.9}.task-drawer__send-btn:disabled{cursor:default;opacity:.5}.mention-dropdown{background:#fff;border:1px solid var(--portal-border,#e5e2d9);border-radius:var(--portal-radius-sm,6px);bottom:100%;box-shadow:0 4px 16px rgba(0,0,0,.12);left:0;margin-bottom:.25rem;max-height:14rem;overflow-y:auto;position:absolute;right:0;z-index:100}.mention-dropdown__group{color:#888;font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:.5rem .75rem .25rem;text-transform:uppercase}.mention-dropdown__item{align-items:center;cursor:pointer;display:flex;gap:.5rem;padding:.375rem .75rem;transition:background .1s}.mention-dropdown__item--active,.mention-dropdown__item:hover{background:#f5f3ee}.mention-dropdown__name{font-size:.8125rem;font-weight:500}.mention-dropdown__role{color:#888;font-size:.75rem;margin-left:auto}.integration-tier-bar{background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);margin-bottom:1rem;padding:1.25rem 1.5rem}.integration-tier-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.integration-tier-name{color:var(--portal-text);font-family:Plus Jakarta Sans,sans-serif;font-size:1.125rem}.integration-tier-events{color:var(--portal-text-muted);font-size:.875rem}.integration-tier-percent{font-size:.875rem;font-weight:600}.integration-tier-track{background:var(--portal-surface-sunken);border-radius:999px;height:10px;overflow:hidden;width:100%}.integration-tier-fill{border-radius:999px;height:100%;max-width:100%;transition:width .6s ease,background-color .3s ease}.integration-tier-fill--green{background:var(--portal-success)}.integration-tier-fill--amber{background:var(--portal-warning)}.integration-tier-fill--red{background:var(--portal-error)}.integration-overage-banner{border-radius:var(--portal-radius-sm);display:none;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;padding:.875rem 1.25rem}.integration-overage-banner--warning{background:var(--portal-warning-bg);border:1px solid var(--portal-warning);color:var(--portal-warning);display:block}.integration-overage-banner--critical{background:var(--portal-error-bg);border:1px solid var(--portal-error);color:var(--portal-error);display:block}.integration-summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.integration-summary-card{background:var(--portal-surface);border:1px solid transparent;border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);padding:1.25rem 1.5rem;transition:box-shadow var(--portal-duration),transform var(--portal-duration)}.integration-summary-card:hover{border-color:var(--portal-border);box-shadow:var(--portal-shadow);transform:translateY(-2px)}.integration-summary-card__value{color:var(--portal-text);font-family:Plus Jakarta Sans,sans-serif;font-size:2rem;line-height:1.2;margin-bottom:.25rem}.integration-summary-card__label{color:var(--portal-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.integration-summary-card__subtext{color:var(--portal-text-muted);font-size:.8125rem}.integration-chart-container{background:var(--portal-surface);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);margin-bottom:2rem;padding:1.5rem}.integration-chart-container h2{color:var(--portal-text);font-family:Plus Jakarta Sans,sans-serif;font-size:1.125rem;margin-bottom:1rem}.integration-chart-container canvas{max-height:300px;width:100%!important}.integration-table-wrapper{margin-bottom:2rem}.integration-table-wrapper h2{color:var(--portal-text);font-family:Plus Jakarta Sans,sans-serif;font-size:1.125rem;margin-bottom:1rem}.integration-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.integration-table{background:var(--portal-surface);border-collapse:separate;border-radius:var(--portal-radius);border-spacing:0;box-shadow:var(--portal-shadow);overflow:hidden;width:100%}.integration-table thead{background:var(--portal-surface-sunken)}.integration-table th{color:var(--portal-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;padding:.75rem 1rem;text-transform:uppercase;white-space:nowrap}.integration-table td,.integration-table th{border-bottom:1px solid var(--portal-border);text-align:left}.integration-table td{font-size:.875rem;padding:.875rem 1rem;vertical-align:middle}.integration-table tbody tr:last-child td{border-bottom:none}.integration-table .text-right{text-align:right}.integration-error-row{background:var(--portal-error-bg);cursor:pointer}.integration-error-row:hover{background:#fde8e8}.integration-error-details{display:none}.integration-error-details.is-open{display:table-row}.integration-error-details td{background:#fef8f8;color:var(--portal-error);font-size:.8125rem;padding:.75rem 1rem .75rem 2rem}.integration-error-details ul{list-style:disc;margin:0;padding:0 0 0 1rem}.integration-error-details li{margin-bottom:.25rem}.integration-billing-table .overage-present{color:var(--portal-warning);font-weight:600}.integration-billing-table .usage-green{color:var(--portal-success)}.integration-billing-table .usage-amber{color:var(--portal-warning)}.integration-billing-table .usage-red{color:var(--portal-error)}.integration-empty{color:var(--portal-text-muted);font-size:.9375rem;padding:3rem 1.5rem;text-align:center}.integration-empty__icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.4}@media (max-width:640px){.integration-summary-grid{grid-template-columns:1fr}.integration-tier-header{align-items:flex-start;flex-direction:column;gap:.5rem}.integration-summary-card__value{font-size:1.5rem}.integration-chart-container canvas{max-height:200px}}.gantt{background:#fff;border:1px solid rgba(20,21,18,.08);border-radius:.75rem;overflow:hidden}.gantt__toolbar{align-items:center;border-bottom:1px solid rgba(20,21,18,.08);display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 1rem}.gantt__toolbar-left,.gantt__toolbar-right{align-items:center;display:flex;gap:.5rem}.gantt__zoom-select{padding:.25rem .5rem}.gantt__nav-btn,.gantt__share-btn,.gantt__today-btn,.gantt__zoom-select{background:#fff;border:1px solid rgba(20,21,18,.12);border-radius:.375rem;font-family:inherit;font-size:.8125rem}.gantt__nav-btn,.gantt__share-btn,.gantt__today-btn{cursor:pointer;padding:.25rem .625rem}.gantt__today-btn{font-weight:600}.gantt__share-btn{align-items:center;display:flex;gap:.375rem}.gantt__viewport{display:flex;max-height:600px;overflow:hidden}.gantt__sidebar{border-right:1px solid rgba(20,21,18,.08);flex-shrink:0;overflow-y:auto;width:280px}.gantt__timeline-wrapper{flex:1;overflow:auto;position:relative}.gantt__mobile-fallback{color:#666;display:none;font-size:.875rem;padding:2rem;text-align:center}@media (max-width:768px){.gantt__mobile-fallback{display:block}.gantt__toolbar,.gantt__viewport{display:none}}.portal-tasks-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.portal-view-toggle{border:1px solid rgba(20,21,18,.12);border-radius:.5rem;display:flex;gap:0;overflow:hidden}.portal-view-toggle__btn{align-items:center;background:#fff;border:none;color:#666;cursor:pointer;display:flex;font-family:inherit;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.375rem .75rem}.portal-view-toggle__btn--active{background:#8b6d4a;color:#fff}.portal-view-toggle__btn svg{flex-shrink:0}@media (max-width:768px){.portal-view-toggle__btn[data-view=gantt]{display:none}}.gantt__sidebar-header{align-items:center;border-bottom:1px solid rgba(20,21,18,.08);color:#8b8178;display:flex;font-size:.6875rem;font-weight:600;height:52px;letter-spacing:.04em;padding:0 1rem;text-transform:uppercase}.gantt__phase-header{align-items:center;background:#f5f0eb;border-bottom:1px solid rgba(20,21,18,.06);cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;user-select:none}.gantt__phase-chevron{color:#8b6d4a;flex-shrink:0;height:14px;transition:transform .15s ease-out;width:14px}.gantt__phase-group--collapsed .gantt__phase-chevron{transform:rotate(-90deg)}.gantt__phase-name{color:#5a4a3a;flex:1;font-family:Plus Jakarta Sans,sans-serif;font-size:.8125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt__phase-count{color:#8b8178;flex-shrink:0;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:400}.gantt__task-row{align-items:center;border-bottom:1px solid rgba(20,21,18,.04);cursor:pointer;display:flex;height:36px;padding:0 1rem 0 2rem;transition:background .1s}.gantt__task-row--hover,.gantt__task-row:hover{background:rgba(139,109,74,.06)}.gantt__phase-group--collapsed .gantt__task-row{display:none}.gantt__task-name{color:#3a3a3a;flex:1;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt__task-no-dates{color:#b5aea6;flex-shrink:0;font-size:.6875rem;margin-left:.5rem}.gantt__timeline-header{background:#fff;border-bottom:1px solid rgba(20,21,18,.08);display:flex;flex-direction:column;position:sticky;top:0;z-index:10}.gantt__timeline-header-months,.gantt__timeline-header-periods{align-items:center;display:flex;height:26px}.gantt__header-month{color:#5a4a3a;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;padding:0 .5rem;white-space:nowrap}.gantt__header-month,.gantt__header-period{align-items:center;border-right:1px solid rgba(20,21,18,.06);display:flex;font-size:.6875rem}.gantt__header-period{color:#8b8178;font-weight:500;justify-content:center;text-align:center}.gantt__header-period--weekend{background:#faf7f4}.gantt__timeline-body{position:relative}.gantt__timeline-row{border-bottom:1px solid rgba(20,21,18,.04);height:36px;position:relative}.gantt__timeline-row--phase{background:#f5f0eb}.gantt__phase-group--collapsed .gantt__timeline-row:not(.gantt__timeline-row--phase){display:none}.gantt__bar{align-items:center;border-radius:6px;cursor:pointer;display:flex;height:28px;overflow:hidden;padding:0 8px;position:absolute;top:4px;transition:box-shadow .15s ease,transform .15s ease;z-index:2}.gantt__bar:hover{box-shadow:0 2px 8px rgba(0,0,0,.12);transform:translateY(-1px);z-index:3}.gantt__bar-label{color:#fff;font-size:.6875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt__bar--todo{background:#e8ddd3;border:1px solid #8b6d4a}.gantt__bar--todo .gantt__bar-label{color:#5a4a3a}.gantt__bar--in-progress{background:#8b6d4a}.gantt__bar--blocked{background:#d4553a;background-image:repeating-linear-gradient(-45deg,transparent,transparent 4px,hsla(0,0%,100%,.2) 0,hsla(0,0%,100%,.2) 8px)}.gantt__bar--review{background:#c4963c}.gantt__bar--completed{background:#6b8e5e;opacity:.5}.gantt__bar--not-prioritised{background:#c5bdb4}.gantt__bar--not-prioritised .gantt__bar-label{color:#5a4a3a}.gantt__today-line{background:#8b6d4a;bottom:0;pointer-events:none;position:absolute;top:0;width:2px;z-index:5}.gantt__today-diamond{background:#8b6d4a;border-radius:1px;height:10px;left:-4px;position:absolute;top:-4px;transform:rotate(45deg);width:10px}.gantt__grid-line{border-left:1px dashed #ede8e3;bottom:0;pointer-events:none;position:absolute;top:0;width:1px;z-index:1}.gantt__tooltip{background:#fff;border:1px solid rgba(20,21,18,.12);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);font-size:.8125rem;max-width:280px;opacity:0;padding:.75rem 1rem;pointer-events:none;position:fixed;transition:opacity .15s ease;z-index:1000}.gantt__tooltip--visible{opacity:1}.gantt__tooltip-title{color:#141512;font-weight:600;margin:0 0 .375rem}.gantt__tooltip-dates{color:#666;font-size:.75rem;margin:0 0 .25rem}.gantt__tooltip-meta{align-items:center;display:flex;gap:.5rem;margin-top:.25rem}.gantt-share-modal{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.gantt-share-modal__backdrop{background:rgba(0,0,0,.5);inset:0;position:absolute}.gantt-share-modal__content{background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.16);max-width:480px;padding:2rem;position:relative;width:90%}.gantt-share-modal__close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;position:absolute;right:1rem;top:1rem}.gantt-share-modal__title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.125rem;margin:0 0 .5rem}.gantt-share-modal__desc{color:#666;font-size:.875rem;margin:0 0 1.25rem}.gantt-share-modal__url-row{display:flex;gap:.5rem}.gantt-share-modal__url{background:#f9f8f6;border:1px solid rgba(20,21,18,.12);border-radius:.375rem;color:#3a3a3a;flex:1;font-family:monospace;font-size:.8125rem;padding:.5rem .75rem}.gantt-share-modal__copy{background:#8b6d4a;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;white-space:nowrap}.gantt-share-modal__copy:hover{opacity:.9}.gantt-share-modal__expiry{color:#8b8178;font-size:.75rem;margin:.75rem 0 0}