.toast-container{bottom:var(--space-6);right:var(--space-6);z-index:9999;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);pointer-events:all;border-left-width:3px;min-width:260px;max-width:380px;animation:.2s cubic-bezier(.16,1,.3,1) both toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(24px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.toast--success{border-left-color:var(--color-success)}.toast--success .toast__icon{color:var(--color-success)}.toast--error{border-left-color:var(--color-danger)}.toast--error .toast__icon{color:var(--color-danger)}.toast--info{border-left-color:var(--color-accent)}.toast--info .toast__icon{color:var(--color-accent-dark)}.toast__icon{flex-shrink:0;align-items:center;display:flex}.toast__message{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-snug);flex:1}.toast__close{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-tertiary);transition:all var(--transition-fast);margin-left:var(--space-1);flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast__close:hover{background:var(--color-bg);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.sidebar{width:var(--sidebar-width);background:var(--color-primary);height:100vh;color:var(--color-text-inverse);z-index:100;transition:width var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar__brand{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5);min-height:var(--header-height);border-bottom:1px solid #ffffff14;display:flex}.sidebar__logo{flex-shrink:0}.sidebar__logo-icon{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));border-radius:var(--radius-md);width:34px;height:34px;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.sidebar__brand-text{white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.sidebar__brand-name{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug);line-height:var(--lh-tight);color:#fff}.sidebar__brand-tagline{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--fw-medium);color:#ffffff73;letter-spacing:var(--ls-wider);margin-top:2px}.sidebar__nav{padding:var(--space-4) var(--space-3);flex:1;overflow:hidden auto}.sidebar__menu{gap:var(--space-1);flex-direction:column;display:flex}.sidebar__link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);color:#ffffff8c;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);cursor:pointer;white-space:nowrap;display:flex}.sidebar__link:hover{color:#ffffffe6;background:#ffffff0f}.sidebar__link--active{color:#fff;font-weight:var(--fw-medium);background:#c5a47e24}.sidebar__link--active .sidebar__link-icon{color:var(--color-accent)}.sidebar__link--disabled{cursor:default;opacity:.4}.sidebar__link--disabled:hover{color:#ffffff8c;background:0 0}.sidebar__link--collapsed{padding:var(--space-3);justify-content:center}.sidebar__link-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.sidebar__link-label{text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar__badge{background:var(--color-accent);min-width:20px;height:18px;color:var(--color-primary);font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:0;font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.sidebar__coming-soon{font-size:var(--text-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-widest);color:#ffffff40;border:1px solid #ffffff1a;border-radius:4px;padding:2px 5px}.sidebar__footer{padding:var(--space-3);border-top:1px solid #ffffff14}.sidebar__toggle{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#ffffff59;font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);transition:all var(--transition-fast);display:flex}.sidebar__toggle:hover{color:#ffffffa6;background:#ffffff0f}.header{height:var(--header-height);padding:0 var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);z-index:50;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header__search{align-items:center;display:flex;position:relative}.header__search-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.header__search-input{width:380px;height:38px;padding:0 100px 0 var(--space-10);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);transition:all var(--transition-fast);outline:none}.header__search-input::placeholder{color:var(--color-text-tertiary);font-weight:var(--fw-regular)}.header__search-input:focus{border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px #c5a47e1a}.header__ai-badge{right:calc(var(--space-3) + 22px + 6px);font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);color:var(--color-accent-dark);pointer-events:none;white-space:nowrap;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#c5a47e1f,#c5a47e0f);border:1px solid #c5a47e40;border-radius:5px;align-items:center;gap:3px;padding:2px 6px;display:inline-flex;position:absolute}.header__search-input:not(:placeholder-shown)~.header__ai-badge{opacity:.5}.header__search-shortcut{right:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:22px;height:22px;color:var(--color-text-tertiary);font-size:var(--text-2xs);font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:0;justify-content:center;align-items:center;padding:0 5px;display:inline-flex;position:absolute}.header__right{align-items:center;gap:var(--space-1);display:flex}.header__icon-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.header__icon-btn:hover{background:var(--color-bg);color:var(--color-text-secondary)}.header__notification-dot{background:var(--color-danger);border:2px solid var(--color-surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.header__divider{background:var(--color-border-light);width:1px;height:24px;margin:0 var(--space-2)}.header__user{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex}.header__user:hover{background:var(--color-bg)}.header__avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));width:32px;height:32px;color:var(--color-accent-light);font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);font-feature-settings:"ss01";border-radius:50%;justify-content:center;align-items:center;display:flex}.header__user-info{flex-direction:column;gap:1px;display:flex}.header__user-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);line-height:var(--lh-tight);letter-spacing:var(--ls-normal)}.header__user-role{font-size:var(--text-2xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);line-height:var(--lh-tight);letter-spacing:var(--ls-wide)}.header__icon-btn--logout{color:var(--color-text-tertiary);margin-left:var(--space-1)}.header__icon-btn--logout:hover{color:var(--color-danger);background:var(--color-danger-bg)}.app-layout{min-height:100vh;display:flex}.app-layout__main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-slow);flex-direction:column;flex:1;display:flex}.app-layout--collapsed .app-layout__main{margin-left:var(--sidebar-collapsed-width)}.app-layout__content{padding:var(--space-8);flex:1;overflow-y:auto}.summary-cards{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.summary-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);transition:all var(--transition-base)}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.summary-card__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.summary-card__title{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);line-height:var(--lh-tight)}.summary-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.summary-card__icon--total-assets{color:var(--color-accent-dark);background:#c5a47e1f}.summary-card__icon--hotels-covered{color:#5b7a9d;background:#5b7a9d1f}.summary-card__icon--pending-approvals{background:var(--color-warning-bg);color:var(--color-warning)}.summary-card__icon--expiring-documents{background:var(--color-danger-bg);color:var(--color-danger)}.summary-card__value{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--color-text);margin-bottom:var(--space-3);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;font-feature-settings:var(--font-features-numeric);line-height:1}.summary-card__footer{align-items:center;gap:var(--space-2);display:flex}.summary-card__change{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;gap:3px;padding:2px 8px;display:inline-flex}.summary-card__change--positive{color:var(--color-success);background:var(--color-success-bg)}.summary-card__change--warning{color:var(--color-warning);background:var(--color-warning-bg)}.summary-card__change--negative{color:var(--color-danger);background:var(--color-danger-bg)}.summary-card__period{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}@media (width<=1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.summary-cards{grid-template-columns:1fr}}.summary-card--skeleton{pointer-events:none}.summary-card__skeleton-inner{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-bg) 50%, var(--color-border-light) 75%);background-size:200% 100%;height:90px;animation:1.4s infinite summary-shimmer}@keyframes summary-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recent-uploads{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-6)}.panel-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;display:flex}.panel-header__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.panel-header__subtitle{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-normal);margin-top:3px}.panel-header__action{font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);color:var(--color-accent-dark);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.panel-header__action:hover{color:var(--color-accent);background:#c5a47e14}.recent-uploads__list{flex-direction:column;display:flex}.upload-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast);display:flex}.upload-row:last-child{border-bottom:none}.upload-row:hover{background:var(--color-bg-warm);border-radius:var(--radius-md)}.upload-row__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.upload-row__icon--pdf{color:var(--color-danger);background:#c5444414}.upload-row__icon--video{color:#7d6b91;background:#7d6b911a}.upload-row__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-row__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);white-space:nowrap;text-overflow:ellipsis;line-height:var(--lh-snug);overflow:hidden}.upload-row__meta{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.upload-row__uploader{flex-direction:column;gap:2px;min-width:120px;display:flex}.upload-row__uploader-name{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text-secondary);letter-spacing:var(--ls-normal);line-height:var(--lh-snug)}.upload-row__time{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.upload-row__size{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-align:right;font-variant-numeric:tabular-nums;min-width:56px}.upload-row__status{font-size:var(--text-2xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);border-radius:20px;justify-content:center;align-items:center;min-width:74px;padding:3px 9px;display:inline-flex}.upload-row__status--approved{background:var(--color-success-bg);color:var(--color-success)}.upload-row__status--pending{background:var(--color-warning-bg);color:var(--color-warning)}.upload-row__status--in_review{background:var(--color-info-bg);color:var(--color-info)}.upload-row__more{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.upload-row__more:hover{background:var(--color-bg);color:var(--color-text-secondary)}.upload-row--skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-bg) 50%, var(--color-border-light) 75%);height:56px;margin-bottom:var(--space-2);background-size:200% 100%;animation:1.4s infinite upload-shimmer}@keyframes upload-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recent-uploads__empty{padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary)}.popular-categories{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-6)}.popular-categories__grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.category-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-light);transition:all var(--transition-fast);cursor:pointer;display:flex}.category-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.category-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.category-card__info{flex-direction:column;gap:2px;min-width:0;display:flex}.category-card__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);line-height:var(--lh-snug);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.category-card__count{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-variant-numeric:tabular-nums}@media (width<=1400px){.popular-categories__grid{grid-template-columns:1fr}}.ai-insights{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-5) var(--space-6)}.ai-insights__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.ai-insights__header-left{align-items:center;gap:var(--space-3);display:flex}.ai-insights__header-icon{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-accent-dark);background:linear-gradient(135deg,#c5a47e2e,#7d6b911f);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-insights__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.ai-insights__subtitle{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:2px}.ai-insights__action{font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);color:var(--color-accent-dark);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.ai-insights__action:hover{color:var(--color-accent);background:#c5a47e14}.ai-insights__grid{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.ai-insight-card{gap:var(--space-3);padding:var(--space-4) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-bg-warm);transition:all var(--transition-fast);cursor:default;flex-direction:column;display:flex}.ai-insight-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm);background:var(--color-surface)}.ai-insight-card__icon-wrap{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ai-insight-card--alert .ai-insight-card__icon-wrap{background:var(--color-danger-bg);color:var(--color-danger)}.ai-insight-card--attention .ai-insight-card__icon-wrap,.ai-insight-card--warning .ai-insight-card__icon-wrap{background:var(--color-warning-bg);color:var(--color-warning)}.ai-insight-card--info .ai-insight-card__icon-wrap{background:var(--color-success-bg);color:var(--color-success)}.ai-insight-card__text{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text);line-height:var(--lh-snug);letter-spacing:var(--ls-normal);flex:1}.ai-insight-card__tag{font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-widest);border-radius:20px;align-self:flex-start;padding:2px 8px;line-height:1.6;display:inline-flex}.ai-insight-card__tag--alert,.ai-insight-card__tag--warning{background:var(--color-danger-bg);color:var(--color-danger)}.ai-insight-card__tag--attention{background:var(--color-warning-bg);color:var(--color-warning)}.ai-insight-card__tag--info{background:var(--color-success-bg);color:var(--color-success)}@media (width<=1200px){.ai-insights__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.ai-insights__grid{grid-template-columns:1fr}}.quick-actions{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-6)}.quick-actions__grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.action-btn{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-bg-warm);transition:all var(--transition-fast);text-align:center;flex-direction:column;display:flex}.action-btn:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm);background:#c5a47e0a;transform:translateY(-1px)}.action-btn__icon{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));width:44px;height:44px;color:var(--color-accent-light);justify-content:center;align-items:center;display:flex}.action-btn__label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-normal);line-height:var(--lh-tight)}.action-btn__desc{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-snug)}.action-btn--ai{justify-content:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;background:linear-gradient(135deg,#1a1f3608 0%,#c5a47e0d 100%);border-color:#c5a47e4d;flex-direction:row;grid-column:1/-1}.action-btn--ai:hover{border-color:var(--color-accent);background:linear-gradient(135deg,#1a1f360d 0%,#c5a47e14 100%)}.action-btn--ai .action-btn__label{font-size:var(--text-base)}.action-btn--ai .action-btn__desc{margin-top:1px}.action-btn--ai .action-btn__icon--ai{background:linear-gradient(135deg, var(--color-accent-dark), var(--color-accent));color:var(--color-primary);flex-shrink:0}.action-btn--ai .action-btn__label,.action-btn--ai .action-btn__desc{display:block}.action-btn__text-group{text-align:left;flex-direction:column;gap:2px;display:flex}.pd-dashboard{gap:var(--space-6);flex-direction:column;max-width:1400px;display:flex}.pd-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.pd-hotel-badge{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-accent-dark);letter-spacing:var(--ls-wide);margin-bottom:var(--space-3);background:#c5a47e1f;border:1px solid #c5a47e3d;border-radius:20px;padding:4px 12px;display:inline-flex}.pd-title{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.pd-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);margin-top:var(--space-1)}.pd-date{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;display:flex}.pd-hotel-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.pd-hotel-chip{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.pd-stat-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.pd-stat-card{align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base), transform var(--transition-base);display:flex}.pd-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pd-stat-card__icon{border-radius:var(--radius-md);background:var(--pd-bg);width:44px;height:44px;color:var(--pd-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pd-stat-card__body{flex-direction:column;gap:3px;display:flex}.pd-stat-card__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--pd-color);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.pd-stat-card__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.pd-content-grid{gap:var(--space-6);grid-template-columns:1fr 320px;align-items:start;display:grid}.pd-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-xs)}.pd-side{gap:var(--space-5);flex-direction:column;display:flex}.pd-panel__head{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;display:flex}.pd-panel__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.pd-panel__sub{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:3px}.pd-panel__action{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-accent-dark);letter-spacing:var(--ls-wide);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;padding:0;display:inline-flex}.pd-panel__action:hover{text-decoration:underline}.pd-doc-list{gap:var(--space-1);flex-direction:column;display:flex}.pd-doc-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-base);display:flex}.pd-doc-item:hover{background:var(--color-bg)}.pd-ft-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pd-doc-item__info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pd-doc-item__title{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pd-doc-item__meta{align-items:center;gap:var(--space-2);display:flex}.pd-cat-pill{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;padding:2px 7px}.pd-doc-item__time{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.pd-doc-item--skeleton{background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-bg) 50%, var(--color-border-light) 75%);border-radius:var(--radius-md);background-size:200% 100%;height:48px;animation:1.4s infinite pd-shimmer}@keyframes pd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pd-expiry-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);background:var(--color-warning-bg);color:var(--color-warning);white-space:nowrap;letter-spacing:var(--ls-wide);border-radius:20px;flex-shrink:0;padding:3px 8px}.pd-expiry-badge--expired{background:var(--color-danger-bg);color:var(--color-danger)}.pd-empty{padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--lh-normal)}.pd-expiring-list{gap:var(--space-2);flex-direction:column;display:flex}.pd-expiring-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-bg);display:flex}.pd-expiring-item__icon{color:var(--color-warning);flex-shrink:0;margin-top:1px}.pd-expiring-item__info{flex-direction:column;gap:2px;min-width:0;display:flex}.pd-expiring-item__title{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pd-expiring-item__date{font-size:var(--text-2xs);color:var(--color-warning);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide)}.pd-quick-links{gap:var(--space-1);flex-direction:column;display:flex}.pd-quick-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-snug);transition:background var(--transition-base);background:0 0;border:none;display:flex}.pd-quick-link:hover{background:var(--color-bg)}.pd-quick-link span{align-items:center;gap:var(--space-2);flex:1;display:flex}.pd-quick-link__arrow{color:var(--color-text-tertiary);flex-shrink:0}.pd-quick-link__badge{font-size:var(--text-2xs);font-weight:var(--fw-bold);background:var(--color-warning-bg);color:var(--color-warning);letter-spacing:var(--ls-wide);border-radius:20px;padding:2px 7px}@media (width<=1100px){.pd-content-grid{grid-template-columns:1fr}}@media (width<=768px){.pd-header{gap:var(--space-3);flex-direction:column}.pd-stat-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.pd-stat-cards{grid-template-columns:1fr}}.rd-dashboard{gap:var(--space-6);flex-direction:column;max-width:1400px;display:flex}.rd-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.rd-cluster-badge{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:#7d6b91;letter-spacing:var(--ls-wide);margin-bottom:var(--space-3);background:#7d6b911a;border:1px solid #7d6b9138;border-radius:20px;padding:4px 12px;display:inline-flex}.rd-title{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.rd-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);margin-top:var(--space-1)}.rd-date{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;display:flex}.rd-stat-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.rd-stat-card{align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base), transform var(--transition-base);display:flex}.rd-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.rd-stat-card__icon{border-radius:var(--radius-md);background:var(--rd-bg);width:44px;height:44px;color:var(--rd-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}.rd-stat-card__body{flex-direction:column;gap:3px;display:flex}.rd-stat-card__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--rd-color);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.rd-stat-card__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.rd-content-grid{gap:var(--space-6);grid-template-columns:1fr 300px;align-items:start;display:grid}.rd-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-xs)}.rd-side{gap:var(--space-5);flex-direction:column;display:flex}.rd-panel__head{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;display:flex}.rd-panel__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.rd-panel__sub{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:3px}.rd-panel__action{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-accent-dark);letter-spacing:var(--ls-wide);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.rd-panel__action:hover{text-decoration:underline}.rd-doc-list{gap:var(--space-1);flex-direction:column;display:flex}.rd-doc-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-base);display:flex}.rd-doc-item:hover{background:var(--color-bg)}.rd-ft-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.rd-doc-item__info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.rd-doc-item__title{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rd-doc-item__meta{align-items:center;gap:var(--space-2);display:flex}.rd-cat-pill{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;padding:2px 7px}.rd-doc-item__time{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.rd-doc-item--skeleton{background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-bg) 50%, var(--color-border-light) 75%);border-radius:var(--radius-md);background-size:200% 100%;height:48px;animation:1.4s infinite rd-shimmer}@keyframes rd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rd-expiry-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);background:var(--color-warning-bg);color:var(--color-warning);white-space:nowrap;letter-spacing:var(--ls-wide);border-radius:20px;flex-shrink:0;padding:3px 8px}.rd-expiry-badge--expired{background:var(--color-danger-bg);color:var(--color-danger)}.rd-empty{padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary)}.rd-hotel-list{gap:var(--space-1);flex-direction:column;display:flex}.rd-hotel-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-base);display:flex}.rd-hotel-item:hover{background:var(--color-bg)}.rd-hotel-item__icon{color:var(--color-text-tertiary);flex-shrink:0}.rd-hotel-item__info{flex-direction:column;gap:1px;min-width:0;display:flex}.rd-hotel-item__name{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rd-hotel-item__city{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.rd-hotel-more{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);padding:var(--space-2) var(--space-3)}.rd-quick-links{gap:var(--space-1);flex-direction:column;display:flex}.rd-quick-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-snug);transition:background var(--transition-base);background:0 0;border:none;display:flex}.rd-quick-link:hover{background:var(--color-bg)}.rd-quick-link span{align-items:center;gap:var(--space-2);flex:1;display:flex}.rd-quick-link__arrow{color:var(--color-text-tertiary);flex-shrink:0}.rd-quick-link__badge{font-size:var(--text-2xs);font-weight:var(--fw-bold);background:var(--color-warning-bg);color:var(--color-warning);letter-spacing:var(--ls-wide);border-radius:20px;padding:2px 7px}@media (width<=1100px){.rd-content-grid{grid-template-columns:1fr}}@media (width<=768px){.rd-header{gap:var(--space-3);flex-direction:column}.rd-stat-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.rd-stat-cards{grid-template-columns:1fr}}.dashboard{gap:var(--space-6);flex-direction:column;max-width:1400px;display:flex}.dashboard__header{justify-content:space-between;align-items:flex-start;display:flex}.dashboard__title{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.dashboard__subtitle{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);line-height:var(--lh-normal);margin-top:var(--space-1)}.dashboard__date{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);white-space:nowrap;display:flex}.dashboard__grid{gap:var(--space-6);grid-template-columns:1fr 380px;display:grid}.dashboard__grid-main{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.dashboard__grid-side{gap:var(--space-6);flex-direction:column;display:flex}@media (width<=1200px){.dashboard__grid{grid-template-columns:1fr}.dashboard__grid-side{grid-template-columns:repeat(2,1fr);display:grid}}@media (width<=768px){.dashboard__grid-side{grid-template-columns:1fr}.dashboard__header{gap:var(--space-3);flex-direction:column}}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-panel--brand{background:var(--color-primary);padding:var(--space-10) var(--space-12);flex-direction:column;display:flex;position:relative;overflow:hidden}.login-panel--brand:before{content:"";pointer-events:none;background:radial-gradient(circle,#c5a47e1f 0%,#0000 70%);border-radius:50%;width:460px;height:460px;position:absolute;top:-120px;right:-120px}.login-panel--brand:after{content:"";pointer-events:none;background:radial-gradient(circle,#c5a47e12 0%,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;bottom:-80px;left:-80px}.login-brand{align-items:center;gap:var(--space-3);z-index:1;display:flex;position:relative}.login-brand__logo{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));width:38px;height:38px;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.login-brand__name{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--fw-semibold);color:#fff;letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.login-brand__content{z-index:1;padding:var(--space-12) 0 var(--space-8);flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.login-brand__headline{font-family:var(--font-sans);font-size:1.875rem;font-weight:var(--fw-bold);color:#fff;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:var(--space-5);max-width:380px}.login-brand__body{font-size:var(--text-base);font-weight:var(--fw-regular);color:#ffffff80;line-height:var(--lh-relaxed);letter-spacing:var(--ls-wide);max-width:380px;margin-bottom:var(--space-8)}.login-brand__features{gap:var(--space-3);flex-direction:column;display:flex}.login-brand__feature-item{align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-regular);color:#fff9;letter-spacing:var(--ls-wide);line-height:var(--lh-snug);display:flex}.login-brand__feature-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:5px;height:5px}.login-brand__footer{font-size:var(--text-xs);font-weight:var(--fw-medium);color:#ffffff47;letter-spacing:var(--ls-wider);z-index:1;position:relative}.login-panel--form{background:var(--color-bg-warm);padding:var(--space-8);justify-content:center;align-items:center;display:flex}.login-form-wrapper{width:100%;max-width:420px}.login-form-header{margin-bottom:var(--space-8)}.login-form-header__title{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:var(--space-2)}.login-form-header__subtitle{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-primary);letter-spacing:var(--ls-snug);line-height:var(--lh-snug);margin-bottom:var(--space-1)}.login-form-header__desc{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-normal)}.login-form{gap:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.login-form__error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);border:1px solid #c44d4d33;animation:.35s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.login-form__field{gap:var(--space-2);flex-direction:column;display:flex}.login-form__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-wide)}.login-form__input-wrap{align-items:center;display:flex;position:relative}.login-form__input-icon{left:var(--space-4);color:var(--color-text-tertiary);pointer-events:none;transition:color var(--transition-fast);position:absolute}.login-form__input{width:100%;height:44px;padding:0 var(--space-10) 0 calc(var(--space-4) + 17px + var(--space-3));background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);font-feature-settings:var(--font-features);transition:all var(--transition-fast);outline:none}.login-form__input::placeholder{color:var(--color-text-tertiary);font-weight:var(--fw-regular)}.login-form__input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #1a1f3612}.login-form__input:focus+.login-form__input-icon,.login-form__input-wrap:focus-within .login-form__input-icon{color:var(--color-primary)}.login-form__input--error{border-color:var(--color-danger)}.login-form__input--error:focus{box-shadow:0 0 0 3px #c44d4d14}.login-form__toggle-pw{right:var(--space-3);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-tertiary);transition:color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute}.login-form__toggle-pw:hover{color:var(--color-text-secondary)}.login-form__options{margin-top:calc(var(--space-1) * -1);justify-content:flex-end;display:flex}.login-form__forgot{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-accent-dark);letter-spacing:var(--ls-wide);transition:color var(--transition-fast)}.login-form__forgot:hover{color:var(--color-accent)}.login-form__submit{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;width:100%;height:46px;font-size:var(--text-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);justify-content:center;align-items:center;gap:var(--space-2);transition:all var(--transition-fast);margin-top:var(--space-1);display:flex}.login-form__submit:hover:not(:disabled){background:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-form__submit:active:not(:disabled){transform:translateY(0)}.login-form__submit--loading,.login-form__submit:disabled{opacity:.7;cursor:not-allowed}.login-form__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.login-demo-note{margin-top:var(--space-5);font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-normal);text-align:center;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.login-demo-note strong{color:var(--color-text-secondary);font-weight:var(--fw-semibold)}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-panel--brand{padding:var(--space-8) var(--space-6);min-height:auto}.login-brand__content{padding:var(--space-8) 0 var(--space-6)}.login-brand__headline{font-size:var(--text-2xl)}.login-brand__body,.login-brand__features{display:none}}@media (width<=480px){.login-form{padding:var(--space-6)}.login-panel--form{padding:var(--space-4)}}.access-control{flex-direction:column;gap:0;min-height:100%;display:flex}.ac-page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-start;display:flex}.ac-page-title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin-bottom:var(--space-1)}.ac-page-subtitle{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-snug)}.ac-tabs{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-6);padding-bottom:0;display:flex}.ac-tab{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-normal);transition:all var(--transition-fast);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.ac-tab:hover{color:var(--color-text);background:var(--color-bg-warm);border-radius:var(--radius-md) var(--radius-md) 0 0}.ac-tab--active{color:var(--color-primary);border-bottom-color:var(--color-accent);font-weight:var(--fw-semibold)}.ac-tab--active:hover{background:0 0}.ac-tab svg{color:inherit;flex-shrink:0}.ac-content{flex:1}.ac-panel-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.ac-panel-header__left{gap:var(--space-1);flex-direction:column;display:flex}.ac-panel-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.ac-panel-subtitle{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.ac-panel-header__right{align-items:center;gap:var(--space-3);display:flex}.ac-table-wrap{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);overflow:hidden}.ac-table{border-collapse:collapse;width:100%}.ac-table thead{background:var(--color-bg-warm);border-bottom:1px solid var(--color-border-light)}.ac-table th{padding:var(--space-3) var(--space-5);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;text-align:left;white-space:nowrap}.ac-table td{padding:var(--space-4) var(--space-5);font-size:var(--text-sm);color:var(--color-text);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.ac-table tbody tr:last-child td{border-bottom:none}.ac-table tbody tr:hover td{background:var(--color-bg-warm)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-normal);transition:all var(--transition-fast);white-space:nowrap;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-accent-light)}.btn--primary:hover{background:var(--color-primary-light)}.btn--primary:active{transform:scale(.97)}.btn--secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:active{transform:scale(.97)}.btn--ghost{color:var(--color-text-tertiary);padding:var(--space-2)}.btn--ghost:hover{background:var(--color-bg);color:var(--color-text-secondary)}.btn--ghost:active{transform:scale(.95)}.btn--danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #0000}.btn--danger:hover{border-color:var(--color-danger);background:#f8d7d7}.btn--danger:active{transform:scale(.97)}.ac-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.ac-search{align-items:center;display:flex;position:relative}.ac-search__icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;flex-shrink:0;position:absolute;top:50%;transform:translateY(-50%)}.ac-search__input{height:36px;padding:0 var(--space-4) 0 var(--space-9);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), width var(--transition-base);outline:none;width:240px}.ac-search__input::placeholder{color:var(--color-text-tertiary)}.ac-search__input:focus{border-color:var(--color-accent);background:var(--color-surface);width:280px;box-shadow:0 0 0 3px #c5a47e1a}.ac-select{height:36px;padding:0 var(--space-8) 0 var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;transition:all var(--transition-fast);outline:none}.ac-select:focus{border-color:var(--color-accent);background-color:var(--color-surface);box-shadow:0 0 0 3px #c5a47e1a}.ac-status{font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);align-items:center;gap:6px;display:inline-flex}.ac-status__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ac-status--active .ac-status__dot{background:var(--color-success)}.ac-status--inactive .ac-status__dot{background:var(--color-text-tertiary)}.ac-status--active{color:var(--color-success)}.ac-status--inactive{color:var(--color-text-tertiary)}.form-group{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.form-group:last-child{margin-bottom:0}.form-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.form-input,.form-select,.form-textarea{height:38px;padding:0 var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);transition:all var(--transition-fast);outline:none;width:100%}.form-textarea{height:auto;padding:var(--space-3);resize:vertical;min-height:80px;line-height:var(--lh-normal)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px #c5a47e1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8);cursor:pointer}.form-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-snug)}.hotel-pills{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.hotel-pill{font-size:var(--text-2xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border-light);white-space:nowrap;border-radius:4px;align-items:center;padding:2px 7px;display:inline-flex}.hotel-pill--more{color:var(--color-text-tertiary);font-weight:var(--fw-regular);background:0 0;border:none;padding:2px 4px}.ac-error-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--space-4);background:#ef44440f;border:1px solid #ef444433;display:flex}.ac-error-banner span{flex:1}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;padding:var(--space-4);animation:overlay-in var(--transition-fast) ease;background:#11182773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;animation:modal-in var(--transition-base) ease;outline:none;flex-direction:column;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal--sm{max-width:440px}.modal--md{max-width:560px}.modal--lg{max-width:720px}.modal__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.modal__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--color-bg);color:var(--color-text-secondary)}.modal__body{padding:var(--space-6);flex:1;overflow-y:auto}.modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);flex-shrink:0;display:flex}.drawer-overlay{z-index:200;pointer-events:none;transition:background var(--transition-slow);background:#11182700;position:fixed;inset:0}.drawer-overlay--open{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;background:#11182766}.drawer{background:var(--color-surface);height:100vh;box-shadow:var(--shadow-xl);transition:transform var(--transition-slow) cubic-bezier(.4, 0, .2, 1);outline:none;flex-direction:column;max-width:100vw;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.drawer--open{transform:translate(0)}.drawer__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex}.drawer__header-text{gap:var(--space-1);flex-direction:column;display:flex}.drawer__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.drawer__subtitle{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-snug)}.drawer__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.drawer__close:hover{background:var(--color-bg);color:var(--color-text-secondary)}.drawer__body{padding:var(--space-6);flex:1;overflow-y:auto}.drawer__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);flex-shrink:0;display:flex}.roles-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1200px){.roles-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.roles-grid{grid-template-columns:1fr}}.role-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-5);gap:var(--space-4);cursor:pointer;transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-fast);outline:none;flex-direction:column;display:flex}.role-card:hover{box-shadow:var(--shadow-md);border-color:#c5a47e4d;transform:translateY(-2px)}.role-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.role-card__top{justify-content:space-between;align-items:center;display:flex}.role-card__icon{border-radius:var(--radius-md);width:40px;height:40px;transition:transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.role-card:hover .role-card__icon{transform:scale(1.1)}.scope-pill{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.role-card__body{flex:1}.role-card__name{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight);margin-bottom:var(--space-2)}.role-card__desc{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed)}.role-card__perms{gap:var(--space-1);flex-wrap:wrap;display:flex}.perm-tag{font-size:var(--text-2xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:4px;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.perm-tag svg{color:var(--color-success);flex-shrink:0}.role-card__perms-more{font-size:var(--text-2xs);color:var(--color-text-tertiary);padding-left:var(--space-1);align-self:center}.role-card__footer{padding-top:var(--space-3);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.role-card__user-count{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.role-card__user-num{font-weight:var(--fw-semibold);color:var(--color-text-secondary)}.role-card__actions{align-items:center;gap:var(--space-2);display:flex}.role-card__system-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);color:var(--color-accent-dark);background:#c5a47e1a;border:1px solid #c5a47e33;border-radius:20px;padding:1px 7px}.role-drawer-hero{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-bg-warm);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);margin-bottom:var(--space-5);display:flex}.role-drawer-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.role-drawer-hero__info{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.role-drawer-hero__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.role-drawer-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed);letter-spacing:var(--ls-wide)}.role-drawer-stats{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:var(--space-5);display:flex}.role-drawer-stat{flex-direction:column;gap:2px;display:flex}.role-drawer-stat__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.role-drawer-stat__label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.role-drawer-stat-divider{background:var(--color-border-light);width:1px;height:36px}.role-drawer-section{margin-bottom:var(--space-5)}.role-drawer-section-title{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--space-4);display:flex}.role-drawer-section-title svg{color:var(--color-text-tertiary);flex-shrink:0}.role-drawer-perm-groups{gap:var(--space-3);flex-direction:column;display:flex}.perm-group{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.perm-group__header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-warm);border-bottom:1px solid var(--color-border-light);display:flex}.perm-group__icon{color:var(--color-text-tertiary);flex-shrink:0}.perm-group__label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);flex:1}.perm-group__count{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:20px;padding:1px 6px}.perm-group__items{grid-template-columns:1fr 1fr;gap:0;display:grid}.perm-group__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light);transition:background var(--transition-fast);display:flex}.perm-group__item:nth-child(2n){border-right:none}.perm-group__item:last-child,.perm-group__item:nth-last-child(2):nth-child(odd){border-bottom:none}.perm-group__item--granted{background:#2d8f5e08}.perm-group__item--denied{opacity:.45}.perm-group__dot{background:var(--color-border);border-radius:50%;flex-shrink:0;width:7px;height:7px}.perm-group__dot--granted{background:var(--color-success)}.perm-group__name{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.role-drawer-empty{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-style:italic}.role-drawer-users{gap:var(--space-2);flex-direction:column;display:flex}.role-drawer-user{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-fast);display:flex}.role-drawer-user:hover{box-shadow:var(--shadow-xs)}.role-drawer-user__avatar{width:34px;height:34px;font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-drawer-user__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.role-drawer-user__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);line-height:var(--lh-tight)}.role-drawer-user__dept{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.role-detail__meta{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.role-detail__system-note{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.role-detail__perms{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (width<=480px){.role-detail__perms{grid-template-columns:1fr}}.perm-checkbox{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);border:1px solid var(--color-border-light);display:flex}.perm-checkbox:hover{background:var(--color-bg-warm)}.perm-checkbox--active{background:var(--color-bg-warm);border-color:#c5a47e40}.perm-checkbox__input{width:15px;height:15px;accent-color:var(--color-accent-dark);cursor:pointer;flex-shrink:0}.perm-checkbox__input:disabled{cursor:not-allowed;opacity:.6}.perm-checkbox__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);-webkit-user-select:none;user-select:none}.roles-loading{align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);font-size:var(--text-sm);padding:var(--space-8) var(--space-4);justify-content:center;display:flex}.users-filters{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.user-row{cursor:pointer;transition:background var(--transition-fast)}.user-row:hover td{background:var(--color-bg-warm)}.user-cell{align-items:center;gap:var(--space-3);display:flex}.user-avatar{font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);font-feature-settings:"ss01";transition:transform var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-row:hover .user-avatar{transform:scale(1.08)}.user-cell__info{flex-direction:column;gap:2px;display:flex}.user-cell__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);line-height:var(--lh-tight)}.user-cell__email{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.role-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.user-dept{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.user-date{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.users-all-hotels{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-style:italic}.user-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.user-row:hover .user-actions{opacity:1}.users-empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);padding:var(--space-10) var(--space-4)!important}.users-table-footer{padding:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);border-top:1px solid var(--color-border-light);background:var(--color-bg-warm)}.profile-hero{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-bg-warm);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);margin-bottom:var(--space-5);display:flex}.profile-hero__avatar{width:52px;height:52px;font-size:var(--text-base);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);font-feature-settings:"ss01";border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-hero__info{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.profile-hero__name{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.profile-hero__email{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);display:flex}.profile-hero__email svg{color:var(--color-text-tertiary);flex-shrink:0}.profile-hero__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-section{margin-bottom:var(--space-5)}.profile-section-title{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--space-3);display:flex}.profile-section-title svg{color:var(--color-text-tertiary);flex-shrink:0}.profile-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light);display:flex}.profile-row:last-child{border-bottom:none}.profile-row__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);flex-shrink:0;min-width:96px}.profile-row__value{font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:var(--ls-normal)}.profile-activity{margin-bottom:var(--space-5)}.profile-activity__grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.profile-activity__card{align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);text-align:center;transition:box-shadow var(--transition-fast);flex-direction:column;display:flex}.profile-activity__card:hover{box-shadow:var(--shadow-sm)}.profile-activity__icon{color:var(--color-accent-dark);margin-bottom:2px}.profile-activity__value{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.profile-activity__value--sm{font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal)}.profile-activity__label{font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-transform:uppercase}.profile-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-tag{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;padding:3px 10px;display:inline-flex}.profile-tag--cluster{color:var(--color-primary-lighter);background:#1a1f360f}.profile-hotels-list{gap:var(--space-2);flex-direction:column;display:flex}.profile-hotel-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-warm);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);display:flex}.profile-hotel-name{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.profile-all-hotels{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-style:italic}.edit-user-profile{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-warm);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);margin-bottom:var(--space-6);display:flex}.edit-user-avatar{width:48px;height:48px;font-size:var(--text-sm);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.edit-user-name{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.edit-user-email,.edit-user-joined{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:2px}.hotel-checklist{gap:var(--space-1);border:1px solid var(--color-border-light);border-radius:var(--radius-md);max-height:260px;padding:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.hotel-check-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);display:flex}.hotel-check-item:hover{background:var(--color-bg-warm)}.hotel-check-input{width:15px;height:15px;accent-color:var(--color-accent-dark);cursor:pointer;flex-shrink:0}.hotel-check-label{align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none;display:flex}.hotel-check-code{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);color:var(--color-accent-dark);text-align:center;background:#c5a47e1a;border-radius:4px;min-width:52px;padding:1px 6px}.hotel-check-name{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.invite-email-wrap{align-items:center;display:flex;position:relative}.invite-email-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.invite-email-input{padding-left:2.25rem!important}.create-mode-toggle{background:var(--color-bg-warm);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-5);gap:0;padding:3px;display:flex}.create-mode-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;background:0 0;border:none;flex:1;display:inline-flex}.create-mode-btn svg{flex-shrink:0}.create-mode-btn--active{background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-xs)}.pw-field-wrap{align-items:center;display:flex;position:relative}.pw-field-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.pw-field-input{padding-left:2.25rem!important;padding-right:2.25rem!important}.pw-toggle-btn{right:var(--space-3);cursor:pointer;color:var(--color-text-tertiary);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute}.pw-toggle-btn:hover{color:var(--color-text)}.pw-pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.form-error-msg{font-size:var(--text-xs);color:#c0392b;letter-spacing:var(--ls-wide);margin-top:4px;display:block}.form-input--error{background:#c0392b0a!important;border-color:#c0392b!important}.email-invite-notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed);background:#ffc10714;border:1px solid #ffc1074d;display:flex}.email-invite-notice__icon{color:#b8860b;flex-shrink:0;margin-top:1px}.email-invite-notice strong{color:var(--color-text);font-weight:var(--fw-semibold)}.hotels-filters{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.hotel-row{transition:background var(--transition-fast)}.hotel-row--inactive td{opacity:.55}.hotel-cell{align-items:center;gap:var(--space-3);display:flex}.hotel-cell__icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-primary-lighter);transition:all var(--transition-fast);background:#1a1f360f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hotel-row:hover .hotel-cell__icon{color:var(--color-accent-dark);background:#c5a47e1f}.hotel-cell__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal)}.hotel-code{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);color:var(--color-accent-dark);background:#c5a47e1a;border-radius:4px;align-items:center;padding:2px 7px;display:inline-flex}.hotel-location{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);align-items:center;gap:4px;display:flex}.hotel-location svg{color:var(--color-text-tertiary);flex-shrink:0}.cluster-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);color:var(--color-primary-lighter);white-space:nowrap;background:#1a1f360f;border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.cluster-badge--none{background:var(--color-bg);color:var(--color-text-tertiary);border:1px dashed var(--color-border)}.hotel-stars{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-accent-dark);letter-spacing:1px;display:inline-flex}.hotel-stars__label{font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.hotel-hq-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);color:var(--color-accent-dark);background:#c5a47e1f;border-radius:4px;padding:2px 8px;display:inline-flex}.hotel-stat{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.hotel-stat-with-icon{font-size:var(--text-sm);color:var(--color-text-secondary);align-items:center;gap:5px;display:flex}.hotel-stat-with-icon svg{color:var(--color-text-tertiary);flex-shrink:0}.hotel-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.hotel-row:hover .hotel-row-actions{opacity:1}.btn--ghost-danger:hover{color:var(--color-danger)!important;background:var(--color-danger-bg)!important}.hotels-empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);padding:var(--space-10) var(--space-4)!important}.hotels-table-footer{padding:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);border-top:1px solid var(--color-border-light);background:var(--color-bg-warm)}.hotel-form{flex-direction:column;gap:0;display:flex}.hotel-form__row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=560px){.hotel-form__row{grid-template-columns:1fr}}.form-input--error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px #c44d4d14!important}.form-error{font-size:var(--text-xs);color:var(--color-danger);letter-spacing:var(--ls-wide);align-items:center;gap:4px;margin-top:2px;display:flex}.delete-confirm__icon{color:var(--color-danger)}.delete-confirm__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed);letter-spacing:var(--ls-wide)}.delete-confirm__text strong{color:var(--color-text);font-weight:var(--fw-semibold)}.hotel-detail-stats{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=540px){.hotel-detail-stats{grid-template-columns:repeat(2,1fr)}}.hotel-detail-stat{align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);text-align:center;flex-direction:column;display:flex}.hotel-detail-stat__value{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.hotel-detail-stat__label{font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-transform:uppercase}.hotel-detail-info{gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);flex-direction:column;display:flex}.hotel-detail-row{align-items:center;gap:var(--space-3);display:flex}.hotel-detail-row__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-transform:uppercase;flex-shrink:0;min-width:72px}.hotel-detail-row__value{font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:var(--ls-normal)}.hotel-detail-users__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-transform:uppercase;margin-bottom:var(--space-3);display:block}.hotel-detail-empty{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-style:italic}.hotel-detail-users__list{gap:var(--space-2);flex-direction:column;display:flex}.hotel-detail-user-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-warm);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);display:flex}.hotel-detail-user-avatar{width:30px;height:30px;color:var(--color-primary-lighter);font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);background:#1a1f3614;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hotel-detail-user-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);display:block}.hotel-detail-user-dept{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);display:block}.clusters-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1200px){.clusters-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.clusters-grid{grid-template-columns:1fr}}.cluster-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-5);gap:var(--space-4);transition:box-shadow var(--transition-base), transform var(--transition-base);flex-direction:column;display:flex}.cluster-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.cluster-card__header{justify-content:space-between;align-items:center;display:flex}.cluster-card__icon-wrap{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.cluster-region-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;padding:3px 10px;display:inline-flex}.cluster-card__body{flex:1}.cluster-card__name{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight);margin-bottom:var(--space-2)}.cluster-card__desc{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed)}.cluster-card__stats{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);display:flex}.cluster-stat{align-items:center;gap:var(--space-2);display:flex}.cluster-stat__icon{color:var(--color-text-tertiary);flex-shrink:0}.cluster-stat__value{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums}.cluster-stat__label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.cluster-stat-divider{background:var(--color-border-light);width:1px;height:24px}.cluster-card__hotels-label{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--space-2);display:block}.cluster-hotels-empty{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-style:italic}.cluster-hotels-list{gap:var(--space-1);flex-direction:column;display:flex}.cluster-hotel-item{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);display:flex}.cluster-hotel-item:hover{background:var(--color-bg-warm)}.cluster-hotel-code{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);color:var(--color-accent-dark);text-align:center;background:#c5a47e1a;border-radius:4px;flex-shrink:0;min-width:52px;padding:1px 6px}.cluster-hotel-name{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cluster-hotels-more{margin-top:var(--space-1);font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);color:var(--color-accent-dark);cursor:pointer;transition:all var(--transition-fast);background:#c5a47e14;border:1px solid #c5a47e40;border-radius:20px;align-self:flex-start;padding:3px 10px}.cluster-hotels-more:hover{background:#c5a47e2e;border-color:#c5a47e80}.cluster-hotels-modal-list{flex-direction:column;gap:2px;max-height:60vh;padding-right:2px;display:flex;overflow-y:auto}.cluster-hotel-item--modal{border-bottom:1px solid var(--color-border-light)}.cluster-hotel-item--modal:last-child{border-bottom:none}.cluster-hotel-city{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);flex-shrink:0;margin-left:auto}.cluster-card__footer{padding-top:var(--space-3);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.cluster-card__manager{flex-direction:column;gap:2px;display:flex}.cluster-card__manager-label{font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-transform:uppercase}.cluster-card__manager-name{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-secondary);letter-spacing:var(--ls-normal)}.cluster-chips{gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);flex-wrap:wrap;min-height:44px;display:flex}.cluster-chip{align-items:center;gap:var(--space-1);font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--color-accent-dark);animation:chip-in var(--transition-fast) ease;background:#c5a47e1f;border:1px solid #c5a47e40;border-radius:20px;padding:3px 8px 3px 6px;display:inline-flex}@keyframes chip-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.cluster-chip__code{font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide)}.cluster-chip__name{color:var(--color-accent-dark);opacity:.75}.cluster-chip__remove{width:16px;height:16px;color:var(--color-accent-dark);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;margin-left:2px;display:flex}.cluster-chip__remove:hover{color:var(--color-accent);background:#c5a47e4d}.form-required{color:var(--color-danger);margin-left:2px}.clusters-loading{align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);font-size:var(--text-sm);padding:var(--space-8) var(--space-4);justify-content:center;display:flex}.clusters-empty-state{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--color-text-tertiary);text-align:center;flex-direction:column;display:flex}.clusters-empty-state p{font-size:var(--text-sm);max-width:380px;line-height:var(--lh-relaxed)}.settings-page{flex-direction:column;gap:0;min-height:100%;display:flex}.masters-stats{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);margin-bottom:var(--space-6);display:flex}.masters-stat{flex-direction:column;gap:2px;display:flex}.masters-stat__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.masters-stat__value--success{color:var(--color-success)}.masters-stat__label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.masters-stat-divider{background:var(--color-border-light);width:1px;height:36px}.categories-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1280px){.categories-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.categories-grid{grid-template-columns:1fr}}.cat-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-5);gap:var(--space-4);transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-fast);flex-direction:column;display:flex}.cat-card:hover{box-shadow:var(--shadow-md);border-color:#c5a47e47;transform:translateY(-2px)}.cat-card__top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.cat-card__icon{border-radius:var(--radius-md);width:44px;height:44px;transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cat-card:hover .cat-card__icon{transform:scale(1.08)}.cat-card__top-right{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.cat-code-pill{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.cat-card__body{flex:1}.cat-card__name{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight);margin-bottom:var(--space-2)}.cat-card__desc{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed)}.cat-card__footer{padding-top:var(--space-3);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.cat-card__assets{align-items:baseline;gap:4px;display:flex}.cat-card__assets-num{font-size:var(--text-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.cat-card__assets-label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.cat-card__actions{align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.cat-card:hover .cat-card__actions{opacity:1}.cat-card__delete-btn:hover{color:var(--color-danger)!important;background:var(--color-danger-bg)!important}.categories-empty{align-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);flex-direction:column;display:flex}.color-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.color-swatch{cursor:pointer;width:26px;height:26px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:2px solid #0000;border-radius:50%;outline:none;flex-shrink:0}.color-swatch:hover{transform:scale(1.15);box-shadow:0 0 0 3px #00000014}.color-swatch--selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-text)}.icon-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.icon-swatch{border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-bg);width:38px;height:38px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-swatch:hover{background:var(--color-bg-warm);color:var(--color-text-secondary);border-color:var(--color-border)}.icon-swatch--selected{border-width:2px}.delete-confirm{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;flex-direction:column;display:flex}.delete-confirm__icon{border-radius:var(--radius-lg);width:60px;height:60px;margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.delete-confirm__text{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug)}.delete-confirm__sub{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed);max-width:320px}.form-error{font-size:var(--text-xs);color:var(--color-danger);letter-spacing:var(--ls-wide)}.form-input--error{border-color:var(--color-danger)!important}.dept-row{cursor:pointer;transition:background var(--transition-fast)}.dept-row:hover td{background:var(--color-bg-warm)}.dept-cell{align-items:center;gap:var(--space-3);display:flex}.dept-cell__icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-primary-lighter);transition:transform var(--transition-fast);background:#1a1f360f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dept-row:hover .dept-cell__icon{transform:scale(1.1)}.dept-cell__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal)}.dept-code-badge{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);color:var(--color-primary-lighter);background:#1a1f360f;border-radius:4px;align-items:center;padding:2px 8px;display:inline-flex}.dept-desc-cell{letter-spacing:var(--ls-wide);white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden;font-size:var(--text-xs)!important;color:var(--color-text-tertiary)!important}.dept-asset-count{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.dept-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.dept-row:hover .dept-row-actions{opacity:1}.dept-delete-btn:hover{color:var(--color-danger)!important;background:var(--color-danger-bg)!important}.dept-empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);padding:var(--space-10) var(--space-4)!important}.dept-table-footer{padding:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);border-top:1px solid var(--color-border-light);background:var(--color-bg-warm)}.dept-drawer-hero{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-bg-warm);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);margin-bottom:var(--space-5);display:flex}.dept-drawer-icon{border-radius:var(--radius-md);width:52px;height:52px;color:var(--color-primary-lighter);background:#1a1f3612;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dept-drawer-hero__info{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.dept-drawer-hero__meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dept-drawer-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed);letter-spacing:var(--ls-wide)}.dept-drawer-stats{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:var(--space-5);display:flex}.dept-drawer-stat{flex-direction:column;gap:2px;display:flex}.dept-drawer-stat__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.dept-drawer-stat__label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.upb-container{bottom:var(--space-5);right:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-lg);z-index:9000;animation:.22s upb-slide-up;position:fixed;overflow:hidden}@keyframes upb-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.upb-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-warm);border-bottom:1px solid var(--color-border-light);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);display:flex}.upb-list{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.upb-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast);display:flex}.upb-item:last-child{border-bottom:none}.upb-item--success{background:#2d8f5e08}.upb-item--error{background:#c44d4d08}.upb-item__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.upb-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary-lighter);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite upb-spin}@keyframes upb-spin{to{transform:rotate(360deg)}}.upb-icon--success{color:var(--color-success)}.upb-icon--error{color:#c44d4d}.upb-item__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.upb-item__name{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;letter-spacing:var(--ls-normal);overflow:hidden}.upb-bar-wrap{align-items:center;gap:var(--space-2);background:var(--color-border-light);border-radius:2px;flex:1;height:4px;display:flex;position:relative;overflow:hidden}.upb-bar{background:var(--color-primary-lighter);border-radius:2px;transition:width .15s;position:absolute;inset:0 auto 0 0}.upb-pct{color:var(--color-text-tertiary);white-space:nowrap;margin-left:var(--space-2);flex-shrink:0;font-size:10px}.upb-item__sub{letter-spacing:var(--ls-wide);font-size:11px}.upb-item__sub--success{color:var(--color-success)}.upb-item__sub--warn{color:#c5932e}.upb-item__sub--error{color:#c44d4d}.upb-item__actions{align-items:center;gap:var(--space-1);flex-shrink:0;margin-top:2px;display:flex}.upb-btn{border-radius:var(--radius-sm);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;padding:2px 6px;display:flex}.upb-btn--retry{color:#c5932e;background:#c5932e1a;border:1px solid #c5932e33}.upb-btn--retry:hover{background:#c5932e2e}.upb-btn--dismiss{color:var(--color-text-tertiary);border:1px solid var(--color-border-light);background:0 0;width:20px;height:20px;padding:0}.upb-btn--dismiss:hover{background:var(--color-bg-warm);color:var(--color-text-secondary)}.datepicker{width:100%;position:relative}.datepicker--disabled{opacity:.6;pointer-events:none}.datepicker__trigger{align-items:center;gap:var(--space-2);width:100%;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:38px;font-family:inherit;font-size:var(--text-sm);color:var(--color-text);letter-spacing:var(--ls-normal);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);text-align:left;display:flex}.datepicker__trigger:hover{border-color:var(--color-accent);background:var(--color-surface-hover)}.datepicker__trigger--open{border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px #c5a47e26}.datepicker__trigger--empty .datepicker__trigger-label{color:var(--color-text-tertiary);font-weight:var(--fw-regular)}.datepicker__trigger-icon{color:var(--color-accent-dark);flex-shrink:0}.datepicker__trigger-label{font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.datepicker__clear{width:20px;height:20px;color:var(--color-text-tertiary);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.datepicker__clear:hover{color:var(--color-danger);background:#c44d4d14}.datepicker__pop{z-index:200;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:284px;box-shadow:var(--shadow-lg);padding:var(--space-3);animation:.16s datepicker-in;position:absolute;top:calc(100% + 6px);left:0;right:auto}.datepicker__pop--right{left:auto;right:0}@keyframes datepicker-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.datepicker__head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-2);display:flex}.datepicker__month{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug)}.datepicker__nav{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.datepicker__nav:hover{background:var(--color-bg-warm);color:var(--color-text)}.datepicker__weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.datepicker__weekday{text-align:center;font-size:10px;font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-wider);text-transform:uppercase;padding:4px 0}.datepicker__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepicker__cell{height:32px;font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:var(--ls-normal);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.datepicker__cell:hover{background:var(--color-bg-warm);border-color:var(--color-border-light)}.datepicker__cell--muted{color:var(--color-text-tertiary);opacity:.55}.datepicker__cell--disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.datepicker__cell--today{color:var(--color-accent-dark);font-weight:var(--fw-bold);border-color:#c5a47e59}.datepicker__cell--selected{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);font-weight:var(--fw-semibold)}.datepicker__cell--selected:hover{background:var(--color-primary-light);border-color:var(--color-primary-light)}.datepicker__quick{padding:var(--space-3) var(--space-1) var(--space-1);margin-top:var(--space-2);border-top:1px solid var(--color-border-light);flex-wrap:wrap;gap:6px;display:flex}.datepicker__chip{background:var(--color-bg-warm);border:1px solid var(--color-border-light);font-family:inherit;font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);cursor:pointer;transition:all var(--transition-fast);border-radius:20px;align-items:center;padding:4px 10px;display:inline-flex}.datepicker__chip:hover{color:var(--color-accent-dark);background:#c5a47e1f;border-color:#c5a47e59}.datepicker__chip--none{color:var(--color-text-tertiary);margin-left:auto}.datepicker__chip--none:hover{color:var(--color-danger);background:#c44d4d14;border-color:#c44d4d40}.atl-root{padding:var(--space-4) 0 0}.atl-heading{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.atl-state{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);padding:var(--space-2) 0;display:flex}.atl-state--error{color:var(--color-danger)}@keyframes atl-spin{to{transform:rotate(360deg)}}.atl-spin{animation:.9s linear infinite atl-spin}.atl-list{flex-direction:column;display:flex}.atl-entry{gap:var(--space-3);display:flex;position:relative}.atl-entry__icon-col{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.atl-entry__icon{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.atl-entry__line{background:var(--color-border-light);flex:1;width:1px;min-height:8px;margin:3px 0}.atl-entry:last-child .atl-entry__line{display:none}.atl-entry__body{min-width:0;padding-bottom:var(--space-4);flex:1;padding-top:4px}.atl-entry__top{align-items:baseline;gap:var(--space-1);flex-wrap:wrap;margin-bottom:2px;display:flex}.atl-entry__action{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug)}.atl-entry__by{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.atl-entry__detail{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-style:italic;overflow:hidden}.atl-entry__detail--reject{color:var(--color-danger)}.atl-entry__time{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);display:block}.apt-overlay{-webkit-backdrop-filter:blur(5px);z-index:200;padding:var(--space-6);animation:apt-overlay-in var(--transition-base) ease;background:#11182794;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes apt-overlay-in{0%{opacity:0}to{opacity:1}}.apt-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:1240px;height:90vh;max-height:900px;animation:apt-modal-in var(--transition-base) ease;outline:none;flex-direction:column;display:flex;overflow:hidden}@keyframes apt-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.apt-topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-warm);flex-shrink:0;display:flex}.apt-topbar__title{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.apt-topbar__info{flex-direction:column;gap:3px;min-width:0;display:flex}.apt-topbar__heading{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;max-width:600px;overflow:hidden}.apt-topbar__sub{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);align-items:center;gap:6px;display:flex}.apt-topbar__dot{color:var(--color-border)}.apt-topbar__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.apt-action{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;text-decoration:none;display:inline-flex}.apt-action:hover{border-color:var(--color-accent);color:var(--color-text);background:var(--color-surface-hover)}.apt-action--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.apt-action--primary:hover{background:var(--color-primary-light);border-color:var(--color-primary-light);color:var(--color-text-inverse)}.apt-action--reader{color:#fff;background:#c5a47e;border-color:#b08b62;font-weight:700}.apt-action--reader:hover{color:#fff;background:#a07850;border-color:#8a6540}.apt-action--reader-primary{order:-1;color:#fff!important;background:#c5a47e!important;border-color:#b08b62!important;font-weight:700!important}.apt-action--approve{color:#2d8f5e;background:#2d8f5e1a;border-color:#2d8f5e40}.apt-action--approve:hover{color:#fff;background:#2d8f5e;border-color:#2d8f5e}.apt-action--reject{color:var(--color-danger);background:#c44d4d14;border-color:#c44d4d33}.apt-action--reject:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.apt-close{border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:4px;display:flex}.apt-close:hover{background:var(--color-bg);color:var(--color-text-secondary)}.apt-body{flex:1;grid-template-columns:minmax(0,1fr) 400px;min-height:0;display:grid;overflow:hidden}@media (width<=1024px){.apt-body{grid-template-columns:1fr;overflow-y:auto}.apt-modal{height:95vh}}.apt-preview-col{padding:var(--space-5);background:var(--color-bg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.apt-preview-caption{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:0 var(--space-2);display:flex}.apt-preview-caption__filename{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.apt-preview-caption__note{font-size:var(--text-2xs);color:var(--color-warning);letter-spacing:var(--ls-wide);font-weight:var(--fw-semibold);align-items:center;gap:4px;display:inline-flex}.apt-meta-col{padding:var(--space-5) var(--space-6);border-left:1px solid var(--color-border-light);background:var(--color-surface);overflow-y:auto}.apt-filetype-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.apt-badges{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.apt-status-badge,.apt-ft-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;padding:3px 10px;display:inline-flex}.apt-preview{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-light);min-height:0;box-shadow:var(--shadow-sm);flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.apt-preview--real{background:#0a0a0a;padding:0;position:relative}.apt-real-video{object-fit:contain;background:#0a0a0a;width:100%;height:100%;max-height:100%;display:block}.apt-real-image{object-fit:contain;background:var(--color-bg);width:100%;height:100%;max-height:100%;display:block}.apt-preview--image.apt-preview--real{background:var(--color-bg)}.apt-preview--pdf.apt-preview--real{background:#525659}.apt-real-pdf{border:none;width:100%;height:100%;display:block}.apt-preview--pdf-clickable{cursor:pointer;position:relative}.apt-pdf-read-overlay{opacity:0;pointer-events:none;z-index:2;transition:opacity .18s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.apt-preview--pdf-clickable:hover .apt-pdf-read-overlay{opacity:1;pointer-events:auto}.apt-pdf-read-overlay__btn{color:#fff;cursor:pointer;white-space:nowrap;background:#c5a47ef5;border:none;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.8rem;font-weight:600;transition:background .15s;display:flex;box-shadow:0 2px 12px #00000038}.apt-pdf-read-overlay__btn:hover{background:#a07850}.apt-preview--fallback{gap:var(--space-3);color:var(--color-text-muted);background:var(--color-bg-alt);flex-direction:column}.apt-preview-fallback__msg{text-align:center;max-width:220px;color:var(--color-text-muted);font-size:.8rem;line-height:1.5}.apt-preview--video{gap:var(--space-3);color:#fff9;background:#0a0a0a;flex-direction:column;min-height:320px}.apt-preview-video__play{width:84px;height:84px;transition:background var(--transition-fast);cursor:pointer;background:#ffffff1a;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;display:flex}.apt-preview-video__play:hover{background:#ffffff2e}.apt-preview-video__label{font-size:var(--text-sm);color:#ffffff80;letter-spacing:var(--ls-wide)}.apt-preview--pptx{background:var(--color-primary);gap:var(--space-4);min-height:320px;padding:var(--space-8);border:none;flex-direction:column}.apt-preview-pptx__icon{color:#c5a47e99}.apt-preview-pptx__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:#ffffffe6;letter-spacing:var(--ls-snug);text-align:center}.apt-preview-pptx__sub{font-size:var(--text-xs);color:#fff6;letter-spacing:var(--ls-wide)}.apt-preview-pptx__slides{gap:var(--space-3);margin-top:var(--space-3);display:flex}.apt-preview-pptx__slide{background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;width:88px;height:56px;overflow:hidden}.apt-preview-pptx__slide-inner{background:#c5a47e4d;border-radius:2px;width:60%;height:6px;margin:12px auto 6px}.apt-preview--image{background:var(--color-bg);gap:var(--space-3);flex-direction:column;min-height:320px}.apt-preview-image__icon{color:var(--color-border)}.apt-preview-image__label{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.apt-preview--doc{min-height:320px;padding:var(--space-8);justify-content:flex-start;align-items:stretch;gap:var(--space-5);background:#fff;flex-direction:column;overflow-y:auto}.apt-preview-doc__header{gap:var(--space-2);flex-direction:column;display:flex}.apt-preview-doc__title-bar{background:var(--color-border-light);border-radius:2px;width:55%;height:12px}.apt-preview-doc__title-bar--short{width:35%;height:8px}.apt-preview-doc__body{flex-direction:column;gap:9px;display:flex}.apt-preview-doc__line{background:var(--color-border-light);border-radius:2px;height:6px}.apt-preview-doc__footer{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);margin-top:auto;display:flex}.apt-preview--office-state{text-align:center;background:#f7f5f2;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:260px;padding:32px 24px}.apt-preview--office-legacy{background:#faf8f5}.apt-office-state__spinner{color:#c5a47e;flex-shrink:0;animation:1s linear infinite apt-spin}@keyframes apt-spin{to{transform:rotate(360deg)}}.apt-office-state__msg{color:#374151;margin:0;font-size:.875rem;font-weight:600}.apt-office-state__hint{color:#9ca3af;max-width:280px;font-size:.75rem;line-height:1.5}.apt-section{margin-bottom:var(--space-5)}.apt-section-title{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--space-3);display:flex}.apt-meta-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);display:flex}.apt-meta-row:last-child{border-bottom:none}.apt-meta-row__icon{color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px}.apt-meta-row__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);flex-shrink:0;min-width:100px}.apt-meta-row__value{font-size:var(--text-sm);color:var(--color-text-secondary);flex:1;min-width:0}.apt-meta-neutral{color:var(--color-text-secondary)}.apt-meta-note{color:var(--color-text-tertiary);font-style:italic}.apt-meta-unassigned{color:var(--color-text-tertiary);font-style:italic;font-size:var(--text-xs)}.apt-meta-warn{color:#c5932e;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.apt-meta-expired{color:var(--color-danger)}.apt-expiry-pill{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);color:#c5932e;background:#c5932e1f;border-radius:20px;align-items:center;padding:1px 6px;display:inline-flex}.apt-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.apt-chip{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);color:var(--color-primary-lighter);background:#1a1f3612;border-radius:4px;align-items:center;padding:2px 7px;display:inline-flex}.apt-chip--dept{color:var(--color-accent-dark);background:#c5a47e1a}.apt-category-pill{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.apt-uploader{align-items:center;gap:var(--space-2);display:flex}.apt-uploader__avatar{width:24px;height:24px;font-size:9px;font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.apt-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed);letter-spacing:var(--ls-wide)}.apt-read-fallback-link{border-radius:var(--radius-md);color:#fff;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#c5a47e,#a07850);border:none;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;padding:9px 0;font-family:inherit;font-size:.82rem;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.apt-read-fallback-link:hover{opacity:.9;transform:translateY(-1px)}.apt-read-fallback-link:active{transform:translateY(0)}@media (width<=720px){.apt-action span{display:none}.apt-action--reader span{display:inline}.apt-action{padding:7px 9px}.apt-topbar__heading{font-size:var(--text-base);max-width:240px}}.upload-center{flex-direction:column;min-height:100%;display:flex}.upload-layout{gap:var(--space-6);grid-template-columns:1fr 320px;align-items:start;display:grid}@media (width<=1100px){.upload-layout{grid-template-columns:1fr}.upload-sidebar{order:-1}}.upload-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);overflow:hidden}.upload-section{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-light)}.upload-section:last-of-type{border-bottom:none}.upload-section__head{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--space-4);display:flex}.upload-section__head svg{color:var(--color-accent-dark)}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-base);background:var(--color-bg);flex-direction:column;display:flex}.dropzone:hover{border-color:var(--color-accent);background:#c5a47e08}.dropzone--dragging{border-color:var(--color-accent);background:#c5a47e0f;box-shadow:0 0 0 4px #c5a47e1a}.dropzone--selected{border:1px solid var(--color-border-light);background:var(--color-bg-warm);padding:var(--space-4) var(--space-5);cursor:default;align-items:stretch;gap:var(--space-3);flex-direction:column}.dropzone-input{display:none}.dropzone__icon{color:var(--color-text-tertiary);transition:color var(--transition-fast), transform var(--transition-base)}.dropzone__icon--active{color:var(--color-accent-dark);transform:scale(1.15)translateY(-3px)}.dropzone__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug)}.dropzone__sub{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.dropzone__browse{color:var(--color-accent-dark);font-weight:var(--fw-semibold);text-underline-offset:2px;text-decoration:underline}.dropzone__formats{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:var(--space-1)}.dropzone-file{align-items:center;gap:var(--space-3);display:flex}.dropzone-file__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.dropzone-file__info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dropzone-file__name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-normal);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropzone-file__meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);display:flex}.dropzone-file__type{font-weight:var(--fw-semibold)}.dropzone-file__dot{color:var(--color-border)}.dropzone-replace{font-size:var(--text-xs);color:var(--color-text-tertiary);text-underline-offset:2px;cursor:pointer;letter-spacing:var(--ls-wide);transition:color var(--transition-fast);align-self:flex-start;text-decoration:underline}.dropzone-replace:hover{color:var(--color-text-secondary)}.upload-chips{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.upload-chip{align-items:center;gap:var(--space-1);font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);animation:chip-in var(--transition-fast) ease;background:#c5a47e1a;border:1px solid #c5a47e33;border-radius:20px;padding:3px 8px 3px 6px;display:inline-flex}.upload-chip__code{font-weight:var(--fw-bold);color:var(--color-accent-dark);letter-spacing:var(--ls-wider)}.upload-chip__name{letter-spacing:var(--ls-wide)}.upload-chip__remove{width:16px;height:16px;color:var(--color-text-tertiary);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;display:flex}.upload-chip__remove:hover{color:var(--color-danger);background:#00000014}.upload-scope-options{gap:var(--space-3);flex-wrap:wrap;display:flex}.upload-scope-opt{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast);flex:1;min-width:140px;display:flex}.upload-scope-opt:hover{background:var(--color-bg-warm);border-color:var(--color-border)}.upload-scope-opt--active{border-color:var(--color-accent);background:#c5a47e0f}.upload-scope-dot{background:var(--color-border);width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%;flex-shrink:0}.upload-scope-opt--active .upload-scope-dot{background:var(--color-accent-dark)}.upload-scope-label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-wide)}.upload-scope-opt--active .upload-scope-label{color:var(--color-accent-dark);font-weight:var(--fw-semibold)}.upload-status-options{gap:var(--space-3);flex-wrap:wrap;display:flex}.upload-status-opt{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast);flex:1;min-width:120px;display:flex}.upload-status-opt:hover{background:var(--color-bg-warm);border-color:var(--color-border)}.upload-status-input{display:none}.upload-status-dot{background:var(--color-border);width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%;flex-shrink:0}.upload-status-label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-secondary);letter-spacing:var(--ls-wide);white-space:nowrap}.upload-field-error{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-danger);letter-spacing:var(--ls-wide);margin-top:var(--space-1);display:flex}.upload-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-border-light);background:var(--color-bg-warm);display:flex}.upload-submit{justify-content:center;min-width:160px}@keyframes success-container-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes success-check-pop{0%{opacity:0;transform:scale(.8)}55%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.upload-success{text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);flex-direction:column;animation:.22s ease-out both success-container-in;display:flex}.upload-success__icon{width:64px;height:64px;color:var(--color-success);background:#2d8f5e1a;border-radius:50%;justify-content:center;align-items:center;animation:.28s cubic-bezier(.34,1.56,.64,1) .1s both success-check-pop;display:flex}@media (prefers-reduced-motion:reduce){.upload-success,.upload-success__icon{animation:none}}.upload-success__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug)}.upload-success__sub{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);max-width:360px}.upload-success__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.upload-sidebar{gap:var(--space-4);top:var(--space-6);flex-direction:column;display:flex;position:sticky}.recent-list{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);overflow:hidden}.recent-list__title{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-light);display:flex}.recent-list__title svg{color:var(--color-accent-dark)}.recent-list__items{padding:var(--space-2)}.recent-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit;display:flex}.recent-item:hover{background:var(--color-bg-warm)}.recent-list__state{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.recent-list__state--empty,.recent-list__state--error{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);flex-direction:row}.recent-list__state--error{color:var(--color-danger)}.recent-list__retry{margin-left:var(--space-1);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--color-accent-dark);text-underline-offset:2px;cursor:pointer;letter-spacing:var(--ls-wide);background:0 0;border:none;text-decoration:underline}.recent-list__skel{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-bg-warm), var(--color-bg), var(--color-bg-warm));background-size:200% 100%;height:44px;animation:1.4s infinite skel-shimmer}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recent-item__icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.recent-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.recent-item__title{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-item__meta{color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);align-items:center;gap:4px;font-size:10px;display:flex}.recent-item__dot{color:var(--color-border)}.recent-item__status{color:var(--color-text-tertiary);flex-shrink:0}.recent-list__link{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-accent-dark);letter-spacing:var(--ls-wide);border-top:1px solid var(--color-border-light);transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.recent-list__link:hover{background:var(--color-bg-warm)}.upload-guide{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);padding:var(--space-4)}.upload-guide__title{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-text-tertiary);letter-spacing:var(--ls-widest);text-transform:uppercase;margin-bottom:var(--space-3);display:flex}.upload-guide__title svg{color:var(--color-text-tertiary)}.upload-guide__types{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.upload-guide__badge{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);border-radius:4px;align-items:center;padding:2px 8px;display:inline-flex}.upload-guide__note{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);line-height:var(--lh-relaxed)}.asset-library{flex-direction:column;min-height:100%;display:flex}.lib-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.lib-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.lib-stats{grid-template-columns:1fr}}.lib-stat{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-fast);display:flex}.lib-stat:hover{box-shadow:var(--shadow-sm)}.lib-stat__icon{border-radius:var(--radius-md);background:var(--color-bg-warm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.lib-stat__body{flex-direction:column;gap:2px;display:flex}.lib-stat__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums;line-height:1}.lib-stat__label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.lib-filter-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.lib-search{flex:1;min-width:200px;max-width:280px;position:relative}.lib-search__input{width:100%!important}.lib-search__clear{right:var(--space-3);color:var(--color-text-tertiary);align-items:center;display:flex;position:absolute}.lib-search__clear:hover{color:var(--color-text-secondary)}.lib-filter-row__right{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.lib-clear-filters{align-items:center;gap:var(--space-1);color:var(--color-text-tertiary);font-size:var(--text-xs);letter-spacing:var(--ls-wide);display:flex}.lib-filter-count{background:var(--color-danger);color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:var(--fw-bold);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.lib-view-toggle{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);align-items:center;display:flex;overflow:hidden}.lib-view-btn{width:36px;height:34px;color:var(--color-text-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.lib-view-btn:hover{color:var(--color-text-secondary);background:var(--color-bg-warm)}.lib-view-btn--active{background:var(--color-primary);color:var(--color-accent-light)}.lib-view-btn--active:hover{background:var(--color-primary-light);color:var(--color-accent-light)}.lib-result-meta{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-bottom:var(--space-4)}.lib-result-meta strong{color:var(--color-text-secondary)}.lib-filtered-note{font-style:italic}.lib-ft-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.lib-table th:last-child{width:110px}.lib-row{cursor:pointer;transition:background var(--transition-fast)}.lib-row:hover td{background:var(--color-bg-warm)}.lib-row:hover td:first-child{box-shadow:inset 3px 0 0 var(--color-accent-dark)}.lib-name-cell{align-items:center;gap:var(--space-3);display:flex}.lib-name-cell__info{flex-direction:column;gap:3px;display:flex}.lib-name-cell__title{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);text-overflow:ellipsis;white-space:nowrap;max-width:240px;display:block;overflow:hidden}.lib-name-cell__file{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);align-items:center;gap:4px;display:flex}.lib-ft-badge{font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider)}.lib-name-cell__dot{color:var(--color-border)}.lib-cat-pill{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);white-space:nowrap;border-radius:20px;align-items:center;padding:3px 8px;display:inline-flex}.lib-cat-pill--sm{padding:2px 7px;font-size:10px}.lib-dept-chips,.lib-hotel-pills{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.lib-dept-chip{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);color:var(--color-accent-dark);background:#c5a47e1a;border-radius:4px;align-items:center;padding:2px 6px;display:inline-flex}.lib-more{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.lib-empty-val{font-size:var(--text-xs);color:var(--color-text-tertiary)}.lib-all-props{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);font-style:italic}.lib-brand-scope{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-accent-dark);letter-spacing:var(--ls-wide);white-space:nowrap;background:#c5a47e1a;border:1px solid #c5a47e33;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.lib-status-cell{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}.lib-status-badge{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.lib-expiry{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);white-space:nowrap}.lib-expiry--soon{color:#c5932e}.expiry-tag{font-size:10px;font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);border-radius:20px;align-items:center;padding:1px 6px;display:inline-flex}.expiry-tag--soon{color:#c5932e;background:#c5932e1a}.expiry-tag--expired{color:#c44d4d;background:#c44d4d1a}.lib-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.lib-row:hover .lib-row-actions{opacity:1}.lib-archive-btn:hover{color:var(--color-danger)!important;background:var(--color-danger-bg)!important}.lib-table-footer{padding:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);border-top:1px solid var(--color-border-light);background:var(--color-bg-warm)}.lib-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1280px){.lib-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=960px){.lib-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.lib-grid{grid-template-columns:1fr}}.lib-grid-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);cursor:pointer;transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.lib-grid-card:hover{box-shadow:var(--shadow-md);border-color:#c5a47e59;transform:scale(1.01)}.lib-grid-card__hero{height:80px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:flex-end;display:flex}.lib-grid-card__hero-icon{opacity:.9}.lib-grid-card__ft{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);padding-top:var(--space-2);align-self:flex-start}.lib-grid-card__body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.lib-grid-card__title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.lib-grid-card__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.lib-grid-card__meta{align-items:center;gap:var(--space-2);display:flex}.lib-grid-card__version{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.lib-grid-card__actions{top:var(--space-2);right:var(--space-2);opacity:0;transition:opacity var(--transition-fast);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:2px;padding:2px;display:flex;position:absolute}.lib-grid-card:hover .lib-grid-card__actions{opacity:1}.lib-empty{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);flex-direction:column;display:flex}.lib-loading{align-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);flex-direction:column;display:flex}.lib-loading__spinner{animation:1s linear infinite spin}.lib-banner{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-xs);letter-spacing:var(--ls-wide);margin-bottom:var(--space-4);display:flex}.lib-banner--warn{color:#c5932e;background:#c5932e1a;border:1px solid #c5932e40}.lib-banner--error{color:#c44d4d;background:#c44d4d14;border:1px solid #c44d4d33}.edit-asset-strip{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-warm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:var(--space-5);display:flex}.edit-asset-strip__name{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-normal);white-space:nowrap;text-overflow:ellipsis;max-width:300px;display:block;overflow:hidden}.edit-asset-strip__size{color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:2px;font-size:10px;display:block}.approvals-page{flex-direction:column;min-height:100%;display:flex}.apr-page-count{min-width:26px;height:26px;color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--fw-bold);letter-spacing:0;padding:0 var(--space-2);margin-left:var(--space-3);vertical-align:middle;background:#c5932e1f;border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.apr-filter-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.apr-search{flex:1;min-width:220px;max-width:320px}.apr-filter-row__count{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);white-space:nowrap;margin-left:auto}.apr-list{gap:var(--space-3);flex-direction:column;display:flex}.apr-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-base);animation:.2s ease-out both card-in;display:flex}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.apr-card:hover{box-shadow:var(--shadow-md);border-color:#c5a47e59;transform:translateY(-1px)}.apr-card__icon-col{flex-shrink:0;padding-top:2px}.apr-ft-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.apr-card__body{cursor:pointer;flex:1;min-width:0}.apr-card__header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.apr-card__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:var(--ls-snug);line-height:var(--lh-tight)}.apr-card__ft{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider)}.apr-card__meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.apr-card__sep{color:var(--color-border)}.apr-card__uploader{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-weight:var(--fw-medium);display:inline-flex}.apr-card__avatar{width:20px;height:20px;color:var(--color-primary-lighter);font-size:9px;font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);background:#1a1f3614;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.apr-card__time{align-items:center;gap:3px;display:inline-flex}.apr-card__tags{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.apr-tag{font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:2px 7px;display:inline-flex}.apr-tag--cat{border-radius:20px}.apr-tag--dept{color:var(--color-accent-dark);background:#c5a47e1a}.apr-tag--hotel{color:var(--color-primary-lighter);background:#1a1f3612}.apr-tag--expiry{color:#c5932e;background:#c5932e1a}.apr-card__actions{align-items:center;gap:var(--space-2);flex-shrink:0;padding-top:2px;display:flex}.apr-preview-btn{color:var(--color-text-tertiary)}.apr-btn{border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:7px 14px;display:inline-flex}.apr-btn--approve{color:#2d8f5e;background:#2d8f5e1a;border-color:#2d8f5e40}.apr-btn--approve:hover:not(:disabled){color:#fff;background:#2d8f5e;border-color:#2d8f5e}.apr-btn--approve:active:not(:disabled){background:#25795f;transform:scale(.96)}.apr-btn--reject{color:var(--color-danger);background:#c44d4d14;border-color:#c44d4d33}.apr-btn--reject:hover:not(:disabled){background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.apr-btn--reject:active:not(:disabled){background:#b04444;transform:scale(.96)}.apr-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes apr-spin{to{transform:rotate(360deg)}}.apr-loading{align-items:center;gap:var(--space-3);padding:80px var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);flex-direction:column;display:flex}.apr-empty{align-items:center;gap:var(--space-3);padding:80px var(--space-4);color:var(--color-text-tertiary);flex-direction:column;display:flex}.apr-empty__icon{color:var(--color-success);opacity:.5}.apr-empty__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--color-text-secondary);letter-spacing:var(--ls-snug)}.apr-empty__sub{font-size:var(--text-sm);letter-spacing:var(--ls-wide)}.apr-confirm{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.apr-confirm__icon{width:60px;height:60px;margin-bottom:var(--space-2);border-radius:50%;justify-content:center;align-items:center;display:flex}.apr-confirm__icon--approve{color:var(--color-success);background:#2d8f5e1a}.apr-confirm__icon--reject{color:var(--color-danger);background:#c44d4d14}.apr-confirm__text{font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug)}.apr-confirm__sub{font-size:var(--text-sm);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);max-width:340px}.apr-char-count{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);text-align:right;margin-top:var(--space-1)}.apr-confirm-approve{background:var(--color-success)!important;border-color:var(--color-success)!important}@media (width<=768px){.apr-card{flex-wrap:wrap}.apr-card__actions{justify-content:flex-end;width:100%}.apr-btn span{display:none}}.audit-logs-page{flex-direction:column;min-height:100%;display:flex}.aul-filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.aul-search{flex:1;min-width:220px;max-width:340px}.aul-search .ac-search__input{width:100%}.aul-date-range{align-items:center;gap:var(--space-2);display:flex}.aul-date-input{height:36px;padding:0 var(--space-3);font-size:var(--text-xs);width:140px;color:var(--color-text-secondary)}.aul-date-sep{font-size:var(--text-sm);color:var(--color-text-tertiary)}.aul-filter-bar__right{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.aul-limit-label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);white-space:nowrap}.aul-limit-select{width:auto}.aul-total-count{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);white-space:nowrap}.aul-table-wrap{margin-bottom:var(--space-4);flex:1}.aul-table th,.aul-table td{vertical-align:middle}.aul-row td{transition:background var(--transition-fast)}.aul-row:hover td{background:var(--color-bg-warm)}.aul-row:hover td:first-child{box-shadow:inset 3px 0 0 var(--color-accent)}.aul-action-badge{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 9px 3px 7px;display:inline-flex;box-shadow:inset 0 0 0 1px #00000014}.aul-asset-cell{align-items:center;gap:var(--space-2);margin-bottom:2px;display:flex}.aul-ft-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.aul-asset-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);letter-spacing:var(--ls-snug);white-space:nowrap;text-overflow:ellipsis;max-width:320px;overflow:hidden}.aul-no-asset{color:var(--color-text-tertiary)}.aul-meta-detail{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin-top:2px;font-style:italic;display:block;overflow:hidden}.aul-meta-detail--reject{color:var(--color-danger)}.aul-user{align-items:center;gap:var(--space-2);display:inline-flex}.aul-avatar{width:26px;height:26px;color:var(--color-primary-lighter);font-size:10px;font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);background:#1a1f3614;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.aul-user__name{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--fw-medium);letter-spacing:var(--ls-snug)}.aul-time{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--fw-medium);letter-spacing:var(--ls-snug);display:block}.aul-time-abs{font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide);margin-top:2px;display:block}.aul-loading{justify-content:center;align-items:center;gap:var(--space-3);padding:64px var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);display:flex}.aul-empty{align-items:center;gap:var(--space-3);padding:64px var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:var(--ls-wide);text-align:center;flex-direction:column;display:flex}.aul-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.aul-pagination__info{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:var(--ls-wide)}.aul-pagination__controls{align-items:center;gap:var(--space-1);display:flex}.aul-page-btn{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.aul-page-btn:hover:not(:disabled){background:var(--color-bg-warm);border-color:var(--color-accent);color:var(--color-text)}.aul-page-btn:disabled{opacity:.4;cursor:not-allowed}.aul-page-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:var(--fw-semibold)}.aul-page-btn--active:hover:not(:disabled){background:var(--color-primary);color:#fff}@media (width<=768px){.aul-filter-bar__right{width:100%;margin-left:0}.aul-date-range{flex-wrap:wrap}.aul-date-input{width:130px}.aul-asset-name{max-width:180px}.aul-meta-detail{max-width:200px}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.uv-root{background:#f0ede8;flex-direction:column;width:100vw;height:100vh;font-family:inherit;display:flex;overflow:hidden}.uv-header{z-index:10;background:#faf8f5;border-bottom:1px solid #e5e0d8;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex}.uv-header__left,.uv-header__center,.uv-header__right{align-items:center;gap:8px;display:flex}.uv-header__left{flex:1;min-width:0}.uv-header__center,.uv-header__right{flex-shrink:0}.uv-header__title{text-overflow:ellipsis;white-space:nowrap;color:#111827;max-width:320px;font-size:.875rem;font-weight:600;overflow:hidden}.uv-header__badge{white-space:nowrap;border-radius:99px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:600}.uv-header__type-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:700}.uv-btn{cursor:pointer;color:#4b5563;white-space:nowrap;background:#fff;border:1px solid #e8e4df;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:.8125rem;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.uv-btn:hover{color:#1a1f36;border-color:#c5a47e}.uv-btn--icon{padding:6px 8px}.uv-btn--primary{color:#fff;background:#c5a47e;border-color:#c5a47e;font-weight:600}.uv-btn--primary:hover{color:#fff;background:#a88b64;border-color:#a88b64}.uv-btn--secondary{color:#4a4a4a;background:#f0ede8;border-color:#e0d8cf;font-weight:500}.uv-btn--secondary:hover{background:#e8e4df;border-color:#d0c4b5}.uv-btn--back{color:#1a1f36;padding:6px 10px;font-weight:600}.uv-btn--back:hover{color:#1a1f36;border-color:#c5a47e}.uv-sep{background:#e8e4df;flex-shrink:0;width:1px;height:20px;margin:0 4px}.uv-progress{background:#e5e0d8;flex-shrink:0;height:4px}.uv-progress__fill{background:linear-gradient(90deg,#c5a47e,#a07850);height:100%;transition:width .3s}.uv-body{flex:1;min-height:0;display:flex;overflow:hidden}.uv-panel-left{background:#faf8f5;border-right:1px solid #e5e0d8;flex-shrink:0;width:160px;min-width:160px;transition:width .2s,min-width .2s;overflow-y:auto}.uv-panel-left[data-closed]{width:0;min-width:0;overflow:hidden}.uv-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.uv-panel-right{background:#faf8f5;border-left:1px solid #e5e0d8;flex-shrink:0;width:280px;min-width:280px;transition:width .2s,min-width .2s;overflow-y:auto}.uv-panel-right[data-closed]{width:0;min-width:0;overflow:hidden}.uv-meta{padding:16px 14px}.uv-meta__heading{letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;margin-top:0;margin-bottom:12px;font-size:.75rem;font-weight:700}.uv-meta-row{border-bottom:1px solid #f0ece7;justify-content:space-between;align-items:flex-start;gap:8px;padding:6px 0;font-size:.8125rem;display:flex}.uv-meta-row:last-of-type{border-bottom:none}.uv-meta-label{color:#9ca3af;flex-shrink:0;padding-top:1px;font-size:.75rem}.uv-meta-value{color:#111827;text-align:right;word-break:break-word;font-weight:500}.uv-meta-pill{border-radius:99px;padding:2px 8px;font-size:.75rem;font-weight:600}.uv-chip{color:#4b5563;background:#f0ece7;border-radius:4px;margin:2px 2px 0 0;padding:2px 6px;font-size:.75rem;font-weight:500;display:inline-block}.uv-mark-read{cursor:pointer;color:#4b5563;background:#fff;border:1.5px solid #e8e4df;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:16px;padding:9px;font-size:.8125rem;font-weight:600;transition:all .15s;display:flex}.uv-mark-read:hover{color:#1a1f36;border-color:#c5a47e}.uv-mark-read--done{color:#2d8f5e;background:#edf7f1;border-color:#2d8f5e}.uv-mark-read--done:hover{color:#2d8f5e;border-color:#2d8f5e}@keyframes uv-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.uv-skeleton-block{background:linear-gradient(90deg,#e8e4df 25%,#f0ece7 50%,#e8e4df 75%) 0 0/800px 100%;border-radius:4px;animation:1.4s infinite uv-shimmer}.uv-skeleton{background:#f0ede8;flex-direction:column;height:100vh;display:flex}.uv-skeleton__header{background:#faf8f5;border-bottom:1px solid #e5e0d8;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex}.uv-error{color:#4b5563;text-align:center;background:#f0ede8;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;padding:24px;display:flex}.uv-error h2{color:#111827;margin:0;font-size:1rem;font-weight:600}.uv-error p{max-width:360px;margin:0;font-size:.875rem}.uv-page-input{text-align:center;color:#111827;background:#fff;border:1px solid #e8e4df;border-radius:4px;outline:none;width:44px;padding:3px 4px;font-size:.8125rem}.uv-page-input:focus{border-color:#c5a47e}@media (width<=768px){.uv-panel-right,.uv-panel-left,.uv-btn span{display:none}.uv-btn--back span,.uv-btn--primary span{display:inline}}.pv-scroll-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.pv-pages{flex-direction:column;align-items:center;gap:16px;min-height:100%;padding:24px 20px;display:flex}.pv-page-wrap{border-radius:2px;flex-shrink:0;justify-content:center;display:flex;box-shadow:0 2px 8px #0000001f,0 6px 24px #00000012}.pv-page-wrap .react-pdf__Page{background:#fff;border-radius:2px;overflow:hidden}.pv-page-placeholder{background:#fff;border-radius:2px;animation:1.6s ease-in-out infinite pv-pulse}@keyframes pv-pulse{0%,to{opacity:1}50%{opacity:.6}}.pv-loading{color:#888;flex-direction:column;align-items:center;gap:12px;padding:80px 0;font-size:.875rem;font-weight:500;display:flex}.pv-spinner{color:#c5a47e;animation:1.1s linear infinite pv-spin}@keyframes pv-spin{to{transform:rotate(360deg)}}.pv-load-error{color:#c44d4d;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:60px 0;font-size:.875rem;display:flex}.pv-thumbs{flex-direction:column;gap:4px;padding:8px;display:flex}.pv-thumb{cursor:pointer;opacity:.6;background:0 0;border:2px solid #0000;border-radius:4px;flex-direction:column;align-items:center;width:100%;padding:2px;transition:all .15s;display:flex;overflow:hidden}.pv-thumb:hover{opacity:.9;border-color:#d0c4b5}.pv-thumb[data-active]{opacity:1;background:#faf3eb;border-color:#c5a47e}.pv-thumb .react-pdf__Thumbnail{border-radius:3px;overflow:hidden;box-shadow:0 1px 3px #00000026}.pv-thumb-num{text-align:center;color:#9ca3af;margin-top:2px;font-size:.7rem}.pv-thumb[data-active] .pv-thumb-num{color:#8b5e3c;font-weight:700}.pv-toggle-group{border:1px solid #e0d8cf;border-radius:7px;display:flex;overflow:hidden}.pv-toggle-btn{cursor:pointer;color:#888;background:0 0;border:none;justify-content:center;align-items:center;padding:5px 9px;transition:background .12s,color .12s;display:flex}.pv-toggle-btn:hover{color:#4a4a4a;background:#f5f0ea}.pv-toggle-btn[data-active]{color:#8b5e3c;background:#f0e8df}.pv-zoom-pct{color:#555;text-align:center;min-width:38px;font-size:.75rem;font-weight:600}.pv-scroll-area{flex-direction:column;align-items:center;gap:16px;width:100%;padding:24px 20px;display:flex}.uv-page-nav{align-items:center;gap:4px;display:flex}.uv-page-total{color:#9ca3af;white-space:nowrap;font-size:.8125rem}.uv-zoom-pct{color:#4b5563;text-align:center;-webkit-user-select:none;user-select:none;min-width:40px;font-size:.8125rem;font-weight:600}.uv-toggle-group{border:1px solid #e0d8cf;border-radius:6px;display:flex;overflow:hidden}.uv-toggle-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;justify-content:center;align-items:center;padding:5px 9px;transition:background .12s,color .12s;display:flex}.uv-toggle-btn:hover{color:#4b5563;background:#f5f0ea}.uv-toggle-btn--active{color:#8b5e3c;background:#f0e8df}.react-pdf__Page__textContent{color:#0000;-webkit-user-select:text;user-select:text}.react-pdf__Page__textContent ::selection{background:#c5a47e66}.iv-canvas{cursor:grab;background:#2a2520;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.iv-canvas[data-dragging]{cursor:grabbing}.iv-img-wrap{will-change:transform;justify-content:center;align-items:center;display:flex}.iv-img{-webkit-user-select:none;user-select:none;pointer-events:none;image-rendering:auto;max-width:none;max-height:none;display:block}.vv-stage{background:#0d0d0d;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.vv-video{max-width:100%;max-height:100%;display:block}.vv-controls{background:linear-gradient(#0000,#000c);padding:0 16px 12px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.vv-controls[data-hidden]{opacity:0;pointer-events:none}.vv-scrubber{accent-color:#c5a47e;cursor:pointer;width:100%;height:4px;margin-bottom:8px;display:block}.vv-ctrl-row{align-items:center;gap:12px;display:flex}.vv-ctrl-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.vv-ctrl-btn:hover{opacity:1}.vv-time{color:#fff;opacity:.9;white-space:nowrap;font-size:.8125rem}.vv-speed{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:4px;padding:2px 6px;font-size:.8125rem}.vv-vol-slider{accent-color:#c5a47e;width:64px;height:4px}.vv-loading{background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vv-spacer{flex:1}.ov-state{color:#9ca3af;text-align:center;background:#f7f5f2;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:48px;display:flex}.ov-state--error{gap:14px}.ov-state__spinner{border:3px solid #e8e4df;border-top-color:#c5a47e;border-radius:50%;flex-shrink:0;width:44px;height:44px;animation:.9s linear infinite ov-spin}@keyframes ov-spin{to{transform:rotate(360deg)}}.ov-state__icon{color:#c5a47e;background:#f0ede8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.ov-state__title{color:#1a1f36;margin:0;font-size:1.0625rem;font-weight:700}.ov-state__sub{color:#6b7280;max-width:380px;margin:0;font-size:.875rem;line-height:1.55}.ov-state__hint{color:#9ca3af;background:#ede9e3;border-radius:6px;max-width:400px;margin:0;padding:10px 14px;font-size:.75rem;line-height:1.5}:root{--color-primary:#1a1f36;--color-primary-light:#2d3354;--color-primary-lighter:#3f4672;--color-accent:#c5a47e;--color-accent-light:#d4bc9e;--color-accent-dark:#a88b64;--color-bg:#f7f5f2;--color-bg-warm:#faf8f5;--color-surface:#fff;--color-surface-hover:#fdfcfb;--color-border:#e8e4df;--color-border-light:#f0ece7;--color-text:#111827;--color-text-secondary:#4b5563;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-success:#2d8f5e;--color-success-bg:#edf7f1;--color-warning:#c5932e;--color-warning-bg:#fdf5e6;--color-danger:#c44d4d;--color-danger-bg:#fdeaea;--color-info:#4d7cc4;--color-info-bg:#eaf0fd;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-features:"cv02", "cv03", "cv04", "cv11", "ss01";--font-features-numeric:"tnum", "cv02", "cv03", "cv04", "cv11";--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.0625rem;--text-xl:1.1875rem;--text-2xl:1.375rem;--text-3xl:1.875rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.5;--lh-relaxed:1.65;--ls-tighter:-.03em;--ls-tight:-.02em;--ls-snug:-.01em;--ls-normal:0em;--ls-wide:.01em;--ls-wider:.02em;--ls-widest:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--sidebar-width:260px;--sidebar-collapsed-width:72px;--header-height:64px;--shadow-xs:0 1px 2px #1a1f360a;--shadow-sm:0 1px 3px #1a1f360f, 0 1px 2px #1a1f360a;--shadow-md:0 4px 6px -1px #1a1f360f, 0 2px 4px -1px #1a1f360a;--shadow-lg:0 10px 15px -3px #1a1f360f, 0 4px 6px -2px #1a1f3608;--shadow-xl:0 20px 25px -5px #1a1f3614, 0 10px 10px -5px #1a1f3608;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);letter-spacing:var(--ls-normal);color:var(--color-text);background-color:var(--color-bg);font-feature-settings:var(--font-features)}h1{font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}h2{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-snug)}h3{font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-normal)}h4,h5,h6{font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-normal)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;font-feature-settings:inherit;background:0 0;border:none}ul,ol{list-style:none}img{max-width:100%;display:block}input,textarea,select{font-family:inherit;font-size:inherit;font-feature-settings:var(--font-features)}input[type=number],input[type=tel]{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:var(--font-features-numeric)}@keyframes spin-icon{to{transform:rotate(360deg)}}.apr-spin{animation:.8s linear infinite spin-icon}
