.language-switcher{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:all .2s ease}.language-switcher:hover{background:#f5f5f5;border-color:#ccc;color:#333}.language-switcher svg{flex-shrink:0}.language-switcher span{font-weight:500}@media (prefers-color-scheme: dark){.language-switcher{border-color:#444;color:#aaa}.language-switcher:hover{background:#333;border-color:#555;color:#fff}}.global-search{position:relative;flex:1;max-width:480px;margin:0 var(--spacing-lg)}.search-input-wrapper{display:flex;align-items:center;background:var(--color-gray-100);border:1px solid transparent;border-radius:var(--radius-lg);padding:0 var(--spacing-md);height:38px;transition:all .2s}.search-input-wrapper:hover{background:var(--color-gray-50);border-color:var(--color-gray-200)}.search-input-wrapper.active{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a06326}.search-icon{color:var(--color-gray-500);font-size:18px;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;outline:none;font-size:var(--font-size-sm);color:var(--color-gray-900);padding:0 var(--spacing-sm);min-width:0}.search-input::placeholder{color:var(--color-gray-500)}.search-clear{border:none;background:transparent;color:var(--color-gray-400);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s}.search-clear:hover{background:var(--color-gray-200);color:var(--color-gray-600)}.search-shortcut{font-size:11px;color:var(--color-gray-400);background:var(--color-gray-200);padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--spacing-sm);flex-shrink:0}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:0 12px 32px #0f172a26;max-height:480px;overflow:hidden;z-index:1000;display:flex;flex-direction:column}.search-filters{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-gray-100);overflow-x:auto;flex-shrink:0}.filter-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;background:var(--color-gray-100);color:var(--color-gray-600);border-radius:var(--radius-md);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-btn:hover{background:var(--color-gray-200);color:var(--color-gray-800)}.filter-btn.active{background:var(--color-primary);color:#fff}.filter-btn svg{font-size:14px}.search-results{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.search-loading,.search-empty,.search-hint{padding:var(--spacing-xl);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.search-category{margin-bottom:var(--spacing-sm)}.search-category-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-size:12px;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px}.category-icon{font-size:14px;color:var(--color-gray-400)}.category-count{margin-left:auto;background:var(--color-gray-100);padding:1px 6px;border-radius:10px;font-size:11px;font-weight:400}.search-category-items{display:flex;flex-direction:column}.search-item{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .15s}.search-item:hover{background:var(--color-gray-50)}.search-item-title{font-size:var(--font-size-sm);color:var(--color-gray-900);font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-desc{font-size:12px;color:var(--color-gray-500);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-guide{font-size:11px;color:var(--color-primary);background:#c9a0631a;padding:3px 8px;border-radius:var(--radius-sm);margin-top:4px;display:inline-block}.search-item-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;color:var(--color-gray-400)}.meta-channel{color:var(--color-primary)}.meta-icon{font-size:12px}.meta-size{margin-left:auto}.status-badge,.type-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.status-badge.status-active,.type-badge.type-public{background:#10b9811a;color:#059669}.status-badge.status-on_hold,.type-badge.type-private{background:#f59e0b1a;color:#d97706}.status-badge.status-completed{background:#6366f11a;color:#4f46e5}.status-badge.status-archived{background:var(--color-gray-100);color:var(--color-gray-500)}@media (max-width: 768px){.global-search{max-width:100%;margin:0 var(--spacing-sm)}.search-shortcut{display:none}.search-dropdown{position:fixed;top:60px;left:var(--spacing-sm);right:var(--spacing-sm);max-height:calc(100vh - 80px)}}.layout{display:flex;flex-direction:column;min-height:100vh}.layout-header{background-color:#fff;border-bottom:1px solid var(--color-gray-200);height:64px;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px #0000000a}.header-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--spacing-lg);max-width:1920px;margin:0 auto}.logo{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary);margin:0}.nav{display:flex;gap:var(--spacing-lg);flex-shrink:0}.nav a{color:var(--color-gray-700);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);transition:color .2s;position:relative}.nav a:hover{color:var(--color-primary);text-decoration:none}.nav a:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:0;height:2px;background-color:var(--color-primary);transition:width .2s}.nav a:hover:after{width:80%}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.user-menu{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:1px solid var(--color-gray-200)}.user-menu-trigger:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}.user-name{font-weight:500;color:var(--color-gray-800);font-size:var(--font-size-sm)}.dropdown-icon{font-size:10px;color:var(--color-gray-600);transition:transform .2s}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;min-width:180px;overflow:hidden;z-index:1000}.user-menu-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background-color .2s;font-size:var(--font-size-sm);color:var(--color-gray-700)}.user-menu-item:hover{background-color:var(--color-gray-50)}.user-menu-item.logout{color:var(--color-danger)}.user-menu-item.logout:hover{background-color:#fef2f2}.user-menu-divider{height:1px;background-color:var(--color-gray-200);margin:0}.layout-body{display:flex;flex:1;max-width:1920px;width:100%;margin:0 auto}.layout-sidebar{width:240px;background-color:#fafafa;border-right:1px solid var(--color-gray-200);height:calc(100vh - 64px);overflow-y:auto}.sidebar-nav{padding:var(--spacing-md) 0}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav li{margin:0}.sidebar-nav a{display:block;padding:var(--spacing-md) var(--spacing-xl);color:var(--color-gray-700);text-decoration:none;transition:all .2s;font-size:var(--font-size-base);position:relative}.sidebar-nav a:hover{background-color:#c9a06314;color:var(--color-primary)}.sidebar-nav a.active{background-color:#c9a0631f;color:var(--color-primary);font-weight:500}.nav-divider{padding:var(--spacing-md) var(--spacing-xl);font-size:15px;font-weight:600;color:var(--color-gray-700);letter-spacing:.5px;margin:var(--spacing-sm) 0 0 0;border-top:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.nav-divider:hover{color:var(--color-primary);background-color:#00000005}.nav-section-arrow{font-size:10px;transition:transform .3s ease;opacity:.5}.nav-section-arrow.open{transform:rotate(180deg)}.nav-divider:hover .nav-section-arrow{opacity:1}.nav-subsection-header{padding:var(--spacing-sm) var(--spacing-xl);padding-left:calc(var(--spacing-xl) + 4px);font-size:13px;font-weight:600;color:var(--color-gray-700);display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-subsection-header:hover{color:var(--color-primary);background-color:#00000005}.nav-subtitle{padding:var(--spacing-xs) var(--spacing-xl);padding-left:calc(var(--spacing-xl) + 4px);font-size:11px;font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.6px}.layout-main{flex:1;padding:var(--spacing-lg);background-color:var(--color-gray-50)}.logout-confirm{max-width:400px}.logout-confirm h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);color:var(--color-gray-800)}.logout-confirm p{margin:0 0 var(--spacing-xl) 0;color:var(--color-gray-600);font-size:var(--font-size-base)}.modal-content{background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:500px;box-shadow:0 10px 25px #0000001a}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}.btn-secondary{height:40px;width:auto;max-width:120px;padding:0 var(--spacing-sm);background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.btn-primary{height:40px;width:auto;max-width:120px;padding:0 var(--spacing-sm);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #c9a06333}.workflow-notification-bell{position:relative}.workflow-notification-bell .bell-button{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s}.workflow-notification-bell .bell-button:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.workflow-notification-bell .badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;background-color:var(--danger-color);color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.workflow-notification-bell .notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background-color:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid var(--border-color);display:flex;flex-direction:column;z-index:1000;overflow:hidden}.workflow-notification-bell .dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.workflow-notification-bell .dropdown-header h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.workflow-notification-bell .mark-all-read{border:none;background:none;color:var(--primary-color);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px}.workflow-notification-bell .mark-all-read:hover{background-color:var(--primary-light)}.workflow-notification-bell .notification-list{flex:1;overflow-y:auto;max-height:360px}.workflow-notification-bell .notification-item{display:flex;gap:12px;padding:14px 16px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-color)}.workflow-notification-bell .notification-item:last-child{border-bottom:none}.workflow-notification-bell .notification-item:hover{background-color:var(--bg-secondary)}.workflow-notification-bell .notification-item.unread{background-color:var(--primary-light)}.workflow-notification-bell .notification-item.unread:hover{background-color:var(--bg-secondary)}.workflow-notification-bell .notification-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);flex-shrink:0}.workflow-notification-bell .icon-success{color:var(--success-color)}.workflow-notification-bell .icon-danger{color:var(--danger-color)}.workflow-notification-bell .icon-warning{color:var(--warning-color)}.workflow-notification-bell .icon-info{color:var(--info-color)}.workflow-notification-bell .icon-primary{color:var(--primary-color)}.workflow-notification-bell .notification-content{flex:1;min-width:0}.workflow-notification-bell .notification-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-notification-bell .notification-text{font-size:13px;color:var(--text-secondary);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workflow-notification-bell .notification-meta{display:flex;justify-content:space-between;align-items:center}.workflow-notification-bell .notification-type{font-size:11px;padding:2px 6px;background-color:var(--bg-tertiary);color:var(--text-tertiary);border-radius:4px}.workflow-notification-bell .notification-time{font-size:12px;color:var(--text-tertiary)}.workflow-notification-bell .loading,.workflow-notification-bell .empty{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-tertiary);font-size:14px}.workflow-notification-bell .dropdown-footer{padding:12px 16px;border-top:1px solid var(--border-color);text-align:center}.workflow-notification-bell .dropdown-footer button{border:none;background:none;color:var(--primary-color);font-size:14px;cursor:pointer;padding:8px 16px;border-radius:6px;width:100%}.workflow-notification-bell .dropdown-footer button:hover{background-color:var(--primary-light)}.workflow-pending-card{background-color:var(--bg-secondary);border-radius:12px;padding:20px;height:100%;display:flex;flex-direction:column}.workflow-pending-card.loading{align-items:center;justify-content:center}.workflow-pending-card .loading-spinner{color:var(--text-tertiary);font-size:14px}.workflow-pending-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.workflow-pending-card .header-left{display:flex;align-items:center;gap:10px;color:var(--text-primary)}.workflow-pending-card .header-left h3{font-size:16px;font-weight:600;margin:0}.workflow-pending-card .header-right{display:flex;align-items:center;gap:12px}.workflow-pending-card .count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background-color:var(--danger-color);color:#fff;font-size:12px;font-weight:600;border-radius:12px}.workflow-pending-card .view-all{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary-color);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px}.workflow-pending-card .view-all:hover{background-color:var(--primary-light)}.workflow-pending-card .card-content{flex:1;overflow:hidden}.workflow-pending-card .empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:14px}.workflow-pending-card .task-list{display:flex;flex-direction:column;gap:8px}.workflow-pending-card .task-item{padding:12px;background-color:var(--bg-primary);border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}.workflow-pending-card .task-item:hover{border-color:var(--primary-color)}.workflow-pending-card .task-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.workflow-pending-card .task-title{font-size:14px;font-weight:500;color:var(--text-primary);flex:1;margin-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-pending-card .task-type{font-size:11px;padding:2px 6px;background-color:var(--primary-light);color:var(--primary-color);border-radius:4px;flex-shrink:0}.workflow-pending-card .task-meta{display:flex;gap:12px;font-size:12px;color:var(--text-tertiary)}.workflow-pending-card .task-meta span{display:flex;align-items:center;gap:4px}.workflow-progress{background-color:var(--bg-secondary);border-radius:8px;padding:16px;margin-top:16px}.workflow-progress .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.workflow-progress .progress-title{display:flex;align-items:center;gap:12px}.workflow-progress .progress-title h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.workflow-progress .status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 8px;border-radius:4px}.workflow-progress .status-badge.in_progress{background-color:var(--warning-light);color:var(--warning-color)}.workflow-progress .status-badge.approved{background-color:var(--success-light);color:var(--success-color)}.workflow-progress .status-badge.rejected{background-color:var(--danger-light);color:var(--danger-color)}.workflow-progress .status-badge.withdrawn{background-color:var(--bg-tertiary);color:var(--text-secondary)}.workflow-progress .status-icon{width:14px;height:14px}.workflow-progress .status-icon.approved{color:var(--success-color)}.workflow-progress .status-icon.rejected{color:var(--danger-color)}.workflow-progress .status-icon.pending{color:var(--warning-color)}.workflow-progress .status-icon.withdrawn{color:var(--text-secondary)}.workflow-progress .btn-sm{padding:6px 12px;font-size:12px;display:inline-flex;align-items:center;gap:4px}.workflow-progress .btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer}.workflow-progress .btn-secondary:hover{background-color:var(--border-color)}.workflow-progress .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.workflow-progress .progress-timeline{position:relative;padding-left:24px}.workflow-progress .timeline-item{position:relative;padding-bottom:16px}.workflow-progress .timeline-item:last-child{padding-bottom:0}.workflow-progress .timeline-item:before{content:"";position:absolute;left:-17px;top:20px;bottom:0;width:2px;background-color:var(--border-color)}.workflow-progress .timeline-item:last-child:before{display:none}.workflow-progress .timeline-item.current:before{background:linear-gradient(to bottom,var(--border-color) 50%,transparent 50%);background-size:2px 8px}.workflow-progress .timeline-dot{position:absolute;left:-24px;top:2px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary)}.workflow-progress .timeline-dot.start,.workflow-progress .timeline-dot.approve,.workflow-progress .timeline-dot.approved{background-color:var(--success-light);color:var(--success-color)}.workflow-progress .timeline-dot.reject,.workflow-progress .timeline-dot.rejected{background-color:var(--danger-light);color:var(--danger-color)}.workflow-progress .timeline-dot.transfer{background-color:var(--info-light);color:var(--info-color)}.workflow-progress .timeline-dot.pending{background-color:var(--warning-light);color:var(--warning-color)}.workflow-progress .timeline-content{background-color:var(--bg-primary);padding:10px 12px;border-radius:6px}.workflow-progress .timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.workflow-progress .timeline-node{font-size:13px;font-weight:500;color:var(--text-primary)}.workflow-progress .timeline-time{font-size:11px;color:var(--text-tertiary)}.workflow-progress .timeline-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.workflow-progress .timeline-info .approver{font-weight:500}.workflow-progress .timeline-info .action{padding:2px 6px;border-radius:4px;font-size:11px}.workflow-progress .timeline-info .action.approve{background-color:var(--success-light);color:var(--success-color)}.workflow-progress .timeline-info .action.reject{background-color:var(--danger-light);color:var(--danger-color)}.workflow-progress .timeline-info .action.transfer{background-color:var(--info-light);color:var(--info-color)}.workflow-progress .timeline-comment{margin-top:8px;padding:8px;background-color:var(--bg-secondary);border-radius:4px;font-size:12px;color:var(--text-primary)}.workflow-progress .timeline-signature{margin-top:8px}.workflow-progress .timeline-signature img{max-width:100px;max-height:50px;border:1px solid var(--border-color);border-radius:4px}.workflow-progress .action-icon{width:12px;height:12px}.workflow-progress .action-icon.approved{color:var(--success-color)}.workflow-progress .action-icon.rejected{color:var(--danger-color)}.workflow-progress .action-icon.transfer{color:var(--info-color)}.home-page{min-height:100%;padding:24px 32px;box-sizing:border-box;background:linear-gradient(135deg,#f7f1e6,#fffaf2 40%,#fff)}.home-dashboard{max-width:1180px;margin:0 auto;background:#fffffff5;border-radius:20px;box-shadow:0 18px 40px #0000000f;border:1px solid rgba(201,160,99,.18);padding:24px 32px 28px;display:flex;flex-direction:column;gap:24px}.home-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.home-header-left{flex:1}.home-title{font-size:24px;font-weight:600;color:#2f3136;margin:0 0 8px}.home-subtitle{margin:0;font-size:14px;color:#777}.home-header-right{display:flex;gap:12px}.metric-card{min-width:120px;padding:10px 16px;border-radius:12px;border:1px solid rgba(0,0,0,.04);background:#faf7f2;display:flex;flex-direction:column;gap:4px}.metric-card .metric-label{font-size:12px;color:#8c8c8c}.metric-card .metric-value{font-size:20px;font-weight:600;color:#3b3b3b}.metric-card.metric-accent{background:linear-gradient(135deg,#f2e1c5,#f7f0de);border-color:#c9a06366}.home-chat-section{margin-top:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{margin:0;font-size:18px;font-weight:600;color:#2f3136}.section-desc{margin:4px 0 0;font-size:13px;color:#8c8c8c}.home-link-btn{border:1px solid rgba(201,160,99,.6);background:#fff;color:#c9a063;padding:6px 14px;border-radius:999px;font-size:13px;cursor:pointer}.home-link-btn:hover{border-color:#c9a063}.home-chat-content{border-radius:16px;border:1px solid rgba(0,0,0,.04);background:#fff;padding:12px 14px}.home-loading,.home-empty{padding:32px 12px;text-align:center;color:#999;font-size:14px}.home-primary-btn{margin-top:12px;padding:8px 18px;border-radius:999px;border:none;background:#c9a063;color:#fff;font-size:13px;cursor:pointer}.home-chat-list{display:flex;flex-direction:column;gap:8px}.home-chat-card{display:flex;align-items:flex-start;width:100%;border:none;background:transparent;padding:10px 8px;border-radius:12px;cursor:pointer;text-align:left}.home-chat-card:hover{background:#fff8ee}.home-chat-avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-right:10px;color:#fff}.home-chat-avatar.type-public,.home-chat-avatar.type-group{background:linear-gradient(135deg,#f0c98a,#c9a063)}.home-chat-avatar.type-private{background:linear-gradient(135deg,#c8cad7,#8c90a3)}.home-chat-avatar.type-direct{background:linear-gradient(135deg,#f6a5a5,#e26d6d)}.home-chat-main{flex:1;min-width:0}.home-chat-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-chat-name{font-size:14px;font-weight:600;color:#2f3136}.home-chat-time{font-size:12px;color:#a0a0a0}.home-chat-preview{font-size:13px;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-chat-badge{min-width:24px;padding:2px 8px;border-radius:999px;background:#e94c4c;color:#fff;font-size:12px;text-align:center}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}.home-shift-section,.home-mention-section{background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.04);padding:16px}.home-shift-content,.home-mention-content{margin-top:12px}.home-empty-sm{padding:20px 12px;text-align:center;color:#999;font-size:13px}.home-shift-list{display:flex;flex-direction:column;gap:6px}.home-shift-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;background:#faf8f5}.home-shift-item.today{background:linear-gradient(135deg,#fff8ee,#f7f0de);border:1px solid rgba(201,160,99,.3)}.shift-date{font-size:13px;color:#555}.shift-name{font-size:13px;font-weight:500}.home-mention-list{display:flex;flex-direction:column;gap:6px}.home-mention-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:#faf8f5;border-radius:8px;cursor:pointer;text-align:left}.home-mention-item:hover{background:#fff8ee}.mention-icon{color:#c9a063;flex-shrink:0}.mention-content{flex:1;font-size:13px;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-time{display:flex;align-items:center;gap:3px;font-size:11px;color:#999;flex-shrink:0}.home-mention-item.unread{background:#fffbf0;border-left:3px solid #c9a063}.home-mention-item.unread .mention-content{font-weight:500;color:#333}.mention-icon.read{color:#16a34a}.mention-icon.unread{color:#c9a063}@media (max-width: 768px){.home-page{padding:16px}.home-dashboard{padding:18px 16px 20px}.home-header{flex-direction:column;align-items:flex-start}.home-header-right{width:100%;justify-content:flex-start}.home-grid{grid-template-columns:1fr}}.home-workflow-section{margin-top:8px}.home-workflow-section .workflow-pending-card{background-color:#fff;border:1px solid rgba(201,160,99,.18);box-shadow:0 2px 8px #0000000a}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);position:relative}.login-language-switcher{position:absolute;top:20px;right:20px}.login-container{background:#fff;padding:48px 40px;border-radius:12px;box-shadow:0 8px 24px #0000001a;border:1px solid #F3F4F6;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:28px;font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-sm);letter-spacing:-.5px}.login-header p{color:#6b7280;font-size:15px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-weight:500;color:#374151;font-size:14px}.login-container .form-group input{padding:12px 16px;border:2px solid #E5E7EB;border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;background-color:#fff!important;color:#1f2937}.login-container .form-group input::placeholder{color:#9ca3af}.login-container .form-group input:-webkit-autofill,.login-container .form-group input:-webkit-autofill:hover,.login-container .form-group input:-webkit-autofill:focus,.login-container .form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#1F2937!important;transition:background-color 5000s ease-in-out 0s}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631a}.form-checkbox{display:flex;align-items:center}.form-checkbox label{display:flex;align-items:center;cursor:pointer;font-size:var(--font-size-sm);color:#6b7280}.form-checkbox input[type=checkbox]{margin-right:var(--spacing-sm);cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary)}.form-checkbox span{-webkit-user-select:none;user-select:none}.btn-primary{height:44px;width:100%;max-width:200px;margin:0 auto;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #c9a0634d;display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-primary:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:0 4px 12px #c9a06366;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.login-footer{display:flex;justify-content:space-between;margin-top:var(--spacing-lg);font-size:var(--font-size-sm)}.login-footer a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}.login-footer a:hover{color:var(--color-secondary);text-decoration:underline}.device-limit-modal{max-width:500px;width:90vw}.device-limit-modal .modal-header h3{color:#1f2937;margin:0;font-size:18px;font-weight:600}.device-limit-message{color:#6b7280;margin-bottom:16px;line-height:1.5}.session-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.session-item{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .2s ease}.session-item:hover:not(.current){border-color:var(--color-primary);background-color:#fffbf5}.session-item.selected{border-color:var(--color-primary);background-color:#fffbf5}.session-item.current{cursor:default;opacity:.6;background-color:#f9fafb}.session-icon{color:#6b7280;flex-shrink:0}.session-item.selected .session-icon{color:var(--color-primary)}.session-info{flex:1;min-width:0}.session-name{font-weight:500;color:#1f2937;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.current-badge{font-size:12px;padding:2px 8px;background-color:#e5e7eb;color:#6b7280;border-radius:4px;font-weight:400}.session-details{font-size:13px;color:#9ca3af;margin-top:4px;display:flex;gap:12px;flex-wrap:wrap}.session-select{flex-shrink:0}.session-select input[type=radio]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fafafa;position:relative}.register-language-switcher{position:absolute;top:20px;right:20px}.register-container{background:#fff;padding:var(--spacing-2xl);border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;border:1px solid var(--color-gray-200);width:100%;max-width:480px}.register-header{text-align:center;margin-bottom:var(--spacing-xl)}.register-header h1{font-size:var(--font-size-3xl);color:var(--color-primary);margin-bottom:var(--spacing-sm)}.register-header p{color:var(--color-gray-600)}.register-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.error-message{padding:var(--spacing-md);background-color:#fef2f2;border:1px solid #FCA5A5;border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-size-sm)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:500;color:var(--color-gray-700)}.register-container .form-group input{padding:var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s;background-color:#fff!important;color:#1f2937!important}.register-container .form-group input::placeholder{color:#9ca3af}.register-container .form-group input:-webkit-autofill,.register-container .form-group input:-webkit-autofill:hover,.register-container .form-group input:-webkit-autofill:focus,.register-container .form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#1F2937!important;transition:background-color 5000s ease-in-out 0s}.register-container .form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631a}.btn-primary{height:40px;min-width:100px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #c9a06333;display:flex;align-items:center;justify-content:center}.btn-primary:hover{background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.register-footer{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-gray-600)}.register-footer a{color:var(--color-primary);text-decoration:none;margin-left:var(--spacing-sm);font-weight:500}.register-footer a:hover{text-decoration:underline}.profile-page{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.profile-header{margin-bottom:var(--spacing-xl)}.profile-header h1{font-size:var(--font-size-2xl);color:var(--color-gray-900)}.message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.message.success{background-color:#f0fdf4;border:1px solid #86EFAC;color:#166534}.message.error{background-color:#fef2f2;border:1px solid #FCA5A5;color:var(--color-danger)}.profile-content{display:grid;gap:var(--spacing-xl)}.profile-card{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:0 2px 8px #00000014;border:1px solid var(--color-gray-200)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-200)}.card-header h2{font-size:var(--font-size-xl);color:var(--color-gray-900)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-item label{font-weight:500;color:var(--color-gray-700);font-size:var(--font-size-sm)}.info-value{color:var(--color-gray-900);font-size:var(--font-size-base)}.info-item input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s}.info-item input:focus{outline:none;border-color:var(--color-primary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.status-badge.active{background-color:#f0fdf4;color:#166534}.status-badge.inactive{background-color:#fef2f2;color:var(--color-danger)}.form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-primary)}.profile-card .form-group input{width:100%;padding:12px 16px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;background-color:#fff;color:#1f2937}.profile-card .form-group input::placeholder{color:#9ca3af}.profile-card .form-group input:-webkit-autofill,.profile-card .form-group input:-webkit-autofill:hover,.profile-card .form-group input:-webkit-autofill:focus,.profile-card .form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #ffffff inset!important;-webkit-text-fill-color:#1F2937!important;transition:background-color 5000s ease-in-out 0s}.profile-card .form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a06326}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.btn-primary,.btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:opacity .2s;border:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50)}.no-permission{display:flex;align-items:center;justify-content:center;min-height:400px;padding:40px;text-align:center}.no-permission p{font-size:16px;color:#666;margin:0;padding:24px 32px;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px}button[disabled].permission-disabled{opacity:.5;cursor:not-allowed}.permission-guard-hidden{display:none}.platform-admin-page{padding:24px;background:#fff;min-height:100vh}.page-header{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #C9A063}.page-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:#1a1a1a;background:linear-gradient(135deg,#1a1a1a,#c9a063);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{margin:0;font-size:14px;color:#999;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.platform-admin-page .stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,#fff,#fffaf0)!important;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #c9a0631a;transition:all .3s ease;position:relative;overflow:hidden}.platform-admin-page .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c9a063,#d4af37)}.platform-admin-page .stat-card:hover{border-color:#c9a063;box-shadow:0 8px 24px #c9a06333;transform:translateY(-4px)}.platform-admin-page .stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff9e6,#fffaf0);border-radius:12px;border:2px solid #C9A063}.platform-admin-page .stat-content{flex:1}.platform-admin-page .stat-label{font-size:13px;color:#999!important;margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.platform-admin-page .stat-value{font-size:32px;font-weight:700;background:linear-gradient(135deg,#1a1a1a,#c9a063);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.platform-admin-page .section{margin-bottom:32px;padding:28px;background:linear-gradient(135deg,#fff,#fffaf0)!important;border:2px solid #e0e0e0!important;border-radius:12px;box-shadow:0 2px 8px #c9a06314;transition:all .3s ease}.platform-admin-page .section:hover{border-color:#c9a063!important;box-shadow:0 4px 16px #c9a0631f}.platform-admin-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #C9A063}.platform-admin-page .section-header h2{margin:0;font-size:22px;font-weight:700;color:#1a1a1a!important;display:flex;align-items:center;gap:8px}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.platform-admin-page .company-card{padding:20px;background:linear-gradient(135deg,#fff,#fffaf0)!important;border:2px solid #e0e0e0!important;border-radius:12px;transition:all .3s ease;position:relative}.platform-admin-page .company-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#c9a063,#d4af37);border-radius:12px 12px 0 0}.platform-admin-page .company-card:hover{border-color:#c9a063!important;box-shadow:0 8px 24px #c9a06326;transform:translateY(-4px)}.platform-admin-page .company-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.platform-admin-page .company-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a1a!important}.platform-admin-page .company-actions{display:flex;gap:8px}.platform-admin-page .company-desc{margin:0 0 12px;font-size:14px;color:#666!important;line-height:1.5}.platform-admin-page .company-meta{display:flex;gap:16px;font-size:13px;color:#999!important;padding-top:12px;border-top:1px solid #f0f0f0}.meta-item{display:flex;align-items:center;gap:4px}.platform-admin-page .quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.platform-admin-page .action-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 20px;background:linear-gradient(135deg,#fff,#fffaf0)!important;border:2px solid #e0e0e0!important;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative}.platform-admin-page .action-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#c9a063,#d4af37);border-radius:12px 12px 0 0;opacity:0;transition:opacity .3s ease}.platform-admin-page .action-btn:hover{border-color:#c9a063!important;box-shadow:0 8px 24px #c9a06326;transform:translateY(-4px)}.platform-admin-page .action-btn:hover:before{opacity:1}.platform-admin-page .action-icon{display:flex;align-items:center;justify-content:center}.platform-admin-page .action-label{font-size:14px;color:#1a1a1a!important;font-weight:600}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:linear-gradient(135deg,#c9a063,#d4af37);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #c9a0634d}.btn-primary:hover{background:linear-gradient(135deg,#d4af37,#e5c158);box-shadow:0 6px 20px #c9a06366;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{padding:12px 24px;background:#fff;color:#1a1a1a;border:2px solid #C9A063;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#fffaf0;border-color:#d4af37;color:#d4af37}.btn-link{display:inline-flex;align-items:center;padding:6px 12px;background:none;color:#c9a063;border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border-radius:4px}.btn-link:hover{background:#c9a0631a;color:#d4af37}.btn-link.danger{color:#d32f2f}.btn-link.danger:hover{background:#d32f2f1a;color:#b71c1c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:linear-gradient(135deg,#fff,#fffaf0);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;border:2px solid #e0e0e0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #C9A063}.modal-header h2{margin:0;font-size:22px;font-weight:700;color:#1a1a1a}.close-btn{width:36px;height:36px;border:none;background:#c9a0631a;font-size:24px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-btn:hover{background:#c9a06333;color:#c9a063}.modal-content form{padding:24px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#c9a063;box-shadow:0 0 0 3px #c9a0631a}.form-group textarea{resize:vertical;font-family:inherit}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e0e0e0}.quota-config{display:flex;flex-direction:column;gap:20px}.config-item{display:flex;flex-direction:column;gap:8px}.config-item label{font-size:14px;font-weight:500;color:#333}.input-with-button{display:flex;align-items:center;gap:8px}.input-with-button input{flex:0 0 150px;padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s ease;background:#fff}.input-with-button input:focus{outline:none;border-color:#c9a063;box-shadow:0 0 0 3px #c9a0631a}.input-with-button .unit{font-size:14px;color:#666;font-weight:500}.config-hint{margin:0;font-size:13px;color:#999}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.loading,.empty{padding:40px;text-align:center;color:#999;font-size:14px}.company-detail-form{padding:0}.company-detail-form .form-group{margin-bottom:20px}.company-detail-form .form-group label{display:flex;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600;color:#333}.company-detail-form .detail-value{margin:0;padding:10px 12px;background:#f8f8f8;border-radius:8px;font-size:14px;color:#333}.company-detail-form .form-hint{margin:6px 0 0;font-size:12px;color:#888}.company-detail-form input,.company-detail-form textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box}.company-detail-form input:focus,.company-detail-form textarea:focus{outline:none;border-color:#c9a063}.close-btn{background:transparent;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.user-management-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center}.filter-select{padding:8px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);min-width:150px;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--color-primary)}.filter-select:disabled{background:var(--color-gray-100);cursor:not-allowed}.search-form{display:flex;gap:var(--spacing-sm);margin-left:auto}.search-form input{padding:8px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);min-width:200px}.search-form input:focus{outline:none;border-color:var(--color-primary)}.form-group input:not([type=checkbox]):not([type=radio]),.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s;font-family:inherit}.role-list{display:flex;flex-direction:column;gap:12px;margin-top:var(--spacing-md)}.role-checkbox{display:flex;align-items:flex-start;gap:12px;padding:4px 0;color:var(--color-gray-800);font-size:var(--font-size-base)}.role-checkbox input[type=checkbox]{width:auto;flex-shrink:0;margin-top:3px;cursor:pointer}.role-checkbox span{font-weight:500}.role-checkbox small{display:block;margin-top:2px;font-size:var(--font-size-sm);color:var(--color-gray-500)}.role-management-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.page-content{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:0 2px 8px #00000014;border:1px solid var(--color-gray-200)}.table-container{overflow-x:auto}.data-table th,.data-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-gray-200)}.data-table th{background-color:var(--color-gray-50);font-weight:600;color:var(--color-gray-700);font-size:var(--font-size-sm)}.text-center{text-align:center!important;color:var(--color-gray-500)}.action-buttons{display:flex;gap:var(--spacing-sm)}.permission-modal-overlay{align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 0}.modal-content.permission-modal-content{width:95vw!important;max-width:1400px!important;height:70vh;box-sizing:border-box;display:flex;flex-direction:column;color:#eee}.permission-modal-header{margin-bottom:0}.permission-modal-body{display:flex;gap:24px;padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-top:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-gray-200);flex:1;min-height:0;overflow:hidden}.permission-modal-sidebar{width:200px;border-right:1px solid var(--color-gray-200);padding-right:var(--spacing-lg)}.permission-modal-sidebar-title{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--spacing-sm)}.permission-modal-module-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.permission-module-btn{width:100%;text-align:left;padding:6px 10px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-gray-600);font-size:var(--font-size-sm);cursor:pointer}.permission-module-btn:hover{background-color:var(--color-gray-100)}.permission-module-btn.active{background-color:var(--color-primary-light, #fff7e6);color:var(--color-primary);font-weight:600}.permission-modal-content-area{flex:1;overflow-y:auto}.permission-loading-text,.permission-empty-text{color:var(--color-gray-500);font-size:var(--font-size-sm)}.permission-list{display:flex;flex-direction:column;gap:8px}.permission-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background-color:#101010}.permission-item:hover{background-color:#1a1a1a}.permission-item input[type=checkbox]{margin-top:3px}.permission-item-text{display:flex;flex-direction:column}.permission-name{font-size:var(--font-size-sm);color:#fff}.permission-code{font-size:11px;color:#ccc}.permission-item input[type=checkbox]:focus-visible{outline:2px solid #f7c948;outline-offset:2px}.permission-item input[type=checkbox]:checked+.permission-item-text .permission-name{font-weight:600}.permission-modal-actions{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-gray-200);flex-shrink:0}.system-role-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;color:var(--color-primary);background-color:var(--color-primary-light, #fff7e6);border-radius:10px}.organization-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.page-content{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:0 2px 8px #00000014;border:1px solid var(--color-gray-200);min-height:400px}.loading,.empty{text-align:center;color:var(--color-gray-500);padding:var(--spacing-2xl)}.org-tree{padding:var(--spacing-md)}.org-item{margin-bottom:var(--spacing-md)}.org-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200);transition:border-color .2s}.org-content:hover{border-color:var(--color-primary)}.org-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.org-name{font-weight:600;color:var(--color-gray-900);font-size:var(--font-size-base)}.org-desc{color:var(--color-gray-600);font-size:var(--font-size-sm)}.org-actions{display:flex;gap:var(--spacing-sm)}.org-children{margin-top:var(--spacing-md)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);padding:4px 8px;transition:opacity .2s}.btn-link:hover{opacity:.8}.btn-link.danger{color:var(--color-danger)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);width:90%;max-width:500px;box-shadow:0 4px 16px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-200)}.modal-header h2{font-size:var(--font-size-xl);color:var(--color-gray-900)}.close-btn{background:none;border:none;font-size:28px;color:var(--color-gray-500);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:var(--color-gray-700)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-gray-700)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl)}.btn-primary,.btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;justify-content:center;min-width:100px;height:40px}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 2px 4px #c9a06333}.btn-primary:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-secondary{background-color:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-role-config{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary)}.btn-role-config:hover{color:var(--color-secondary)}.modal-content.role-config-modal{width:95vw!important;max-width:1100px!important;max-height:85vh;overflow-y:auto}.role-modal-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200);padding-bottom:var(--spacing-md)}.tab-btn{display:inline-flex;align-items:center;gap:6px;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-gray-600);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all .2s}.tab-btn:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.tab-btn.active{background:var(--color-primary);color:#fff}.loading-container{padding:var(--spacing-2xl);text-align:center}.role-config-content{padding:var(--spacing-md) 0}.role-config-section{margin-bottom:var(--spacing-xl)}.role-config-section h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--spacing-xs)}.section-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--spacing-md)}.role-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);background:#fff;cursor:pointer}.role-select:focus{outline:none;border-color:var(--color-primary)}.current-config{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.current-config h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--spacing-sm)}.current-config ul{list-style:none;padding:0;margin:0}.current-config li{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.role-type{color:var(--color-gray-500);min-width:60px}.role-name{color:var(--color-gray-800);font-weight:500}.role-templates-content{padding:var(--spacing-md) 0}.templates-desc{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--spacing-lg)}.template-grid{display:grid;gap:var(--spacing-md)}.template-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);transition:border-color .2s}.template-card:hover{border-color:var(--color-primary)}.template-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.template-info{flex:1;min-width:0}.template-info h4{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800);margin:0 0 4px}.template-info p{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permission-count{font-size:var(--font-size-xs);color:var(--color-gray-500)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);min-width:auto;height:32px;gap:4px}.template-lucide-icon{color:var(--color-primary)}.template-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.template-arrow{color:var(--color-gray-400);transition:transform .2s}.template-card:hover .template-arrow{transform:translate(4px);color:var(--color-primary)}.template-card{cursor:pointer}.template-detail-view{padding:var(--spacing-md) 0}.template-detail-header{margin-bottom:var(--spacing-lg)}.btn-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:background .2s}.btn-back:hover{background:var(--color-gray-100)}.template-detail-info{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200);margin-bottom:var(--spacing-xl)}.template-detail-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-gray-200);flex-shrink:0}.template-detail-icon .template-lucide-icon{width:28px;height:28px}.template-detail-meta{flex:1;min-width:0}.template-detail-meta h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);margin:0 0 var(--spacing-xs) 0}.template-detail-meta p{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0;line-height:1.5}.template-permissions-section{background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-lg)}.template-permissions-section h4{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-gray-200)}.template-permission-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-sm);max-height:300px;overflow-y:auto}.template-permission-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-gray-50);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700)}.template-permission-check{color:var(--color-success, #22c55e);flex-shrink:0}.template-no-permissions{color:var(--color-gray-500);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-lg)}.module-management-page{padding:24px;max-width:1400px;margin:0 auto}.module-management-page .page-header{margin-bottom:32px}.module-management-page .page-header h1{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 8px}.module-management-page .page-subtitle{font-size:14px;color:#6b7280;margin:0}.module-management-page .loading,.module-management-page .no-permission{display:flex;align-items:center;justify-content:center;height:400px;color:#6b7280;font-size:16px}.module-management-page .error-alert{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.module-management-page .category-section{margin-bottom:32px}.module-management-page .category-header{display:flex;align-items:center;justify-content:space-between;padding-left:12px;border-left:4px solid #6b7280;margin-bottom:16px}.module-management-page .category-header h2{font-size:18px;font-weight:600;color:#1f2937;margin:0}.module-management-page .module-count{font-size:13px;color:#6b7280}.module-management-page .modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.module-management-page .module-card{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s ease}.module-management-page .module-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000a}.module-management-page .module-card.enabled{border-color:#d1fae5;background:linear-gradient(135deg,#fff,#f0fdf4)}.module-management-page .module-card.core{border-color:#e5e7eb;background:#f9fafb}.module-management-page .module-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f3f4f6;border-radius:12px;flex-shrink:0}.module-management-page .module-card.enabled .module-icon{background:#dcfce7}.module-management-page .module-info{flex:1;min-width:0}.module-management-page .module-name{font-size:15px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px;margin-bottom:4px}.module-management-page .core-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:4px}.module-management-page .module-description{font-size:13px;color:#6b7280;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.module-management-page .module-deps{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;color:#f59e0b}.module-management-page .module-deps svg{flex-shrink:0}.module-management-page .module-toggle{flex-shrink:0}.module-management-page .toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.module-management-page .toggle-btn.on{background:#10b981;color:#fff}.module-management-page .toggle-btn.on:hover{background:#059669}.module-management-page .toggle-btn.off{background:#f3f4f6;color:#9ca3af}.module-management-page .toggle-btn.off:hover{background:#e5e7eb;color:#6b7280}.module-management-page .toggle-btn:disabled{opacity:.6;cursor:not-allowed}.module-management-page .toggle-btn .toggling{font-size:14px}.module-management-page .toggle-locked{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#e5e7eb;color:#6b7280;border-radius:10px}.module-management-page .confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.module-management-page .confirm-dialog{background:#fff;border-radius:16px;padding:24px;max-width:420px;width:90%;box-shadow:0 20px 40px #00000026}.module-management-page .confirm-dialog h3{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 12px}.module-management-page .confirm-dialog p{font-size:14px;color:#6b7280;margin:0 0 16px;line-height:1.5}.module-management-page .warning-box{display:flex;align-items:flex-start;gap:8px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:12px;margin-bottom:20px;font-size:13px;color:#92400e}.module-management-page .warning-box svg{flex-shrink:0;margin-top:1px}.module-management-page .dialog-actions{display:flex;justify-content:flex-end;gap:12px}.module-management-page .btn-cancel,.module-management-page .btn-confirm{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.module-management-page .btn-cancel{background:#f3f4f6;color:#4b5563}.module-management-page .btn-cancel:hover{background:#e5e7eb}.module-management-page .btn-confirm{background:#c9a227;color:#fff}.module-management-page .btn-confirm:hover{background:#b8931f}.module-management-page .btn-confirm:disabled{opacity:.6;cursor:not-allowed}.module-management-page .company-selector{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.module-management-page .company-selector svg{color:#6b7280}.module-management-page .company-select{flex:1;max-width:400px;padding:10px 14px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer}.module-management-page .company-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.module-management-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#9ca3af;gap:16px}.module-management-page .empty-state p{font-size:14px;margin:0}.module-management-page .module-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:4px;margin-top:6px}.module-management-page .module-status-badge.enabled-badge{background:#dcfce7;color:#16a34a}.module-management-page .toggle-btn.licensed{background:#f0fdf4;color:#16a34a;border-color:#86efac}.module-management-page .toggle-btn.licensed:hover,.module-management-page .toggle-btn.not-licensed{background:#fef2f2;color:#dc2626;border-color:#fecaca}.module-management-page .toggle-btn.not-licensed:hover{background:#f0fdf4;color:#16a34a;border-color:#86efac}@media (max-width: 768px){.module-management-page{padding:16px}.module-management-page .modules-grid{grid-template-columns:1fr}.module-management-page .module-card{padding:14px}.module-management-page .company-selector{flex-direction:column;align-items:stretch}.module-management-page .company-select{max-width:none}}.top-nav-header{background-color:#fff;border-bottom:1px solid var(--color-gray-200);height:64px;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px #0000000a}.top-nav-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--spacing-lg);max-width:1920px;margin:0 auto}.top-nav-logo{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary);text-decoration:none}.top-nav-logo:hover{text-decoration:none;color:var(--color-primary)}.top-nav-links{display:flex;gap:var(--spacing-lg);flex-shrink:0}.top-nav-links a{color:var(--color-gray-700);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);transition:color .2s;position:relative;text-decoration:none}.top-nav-links a:hover{color:var(--color-primary);text-decoration:none}.top-nav-links a:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:0;height:2px;background-color:var(--color-primary);transition:width .2s}.top-nav-links a:hover:after{width:80%}.top-nav-right{display:flex;align-items:center;gap:var(--spacing-md)}.top-nav-user-menu{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}.top-nav-user-trigger{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:1px solid var(--color-gray-200)}.top-nav-user-trigger:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}.top-nav-user-name{font-weight:500;color:var(--color-gray-800);font-size:var(--font-size-sm)}.top-nav-dropdown-icon{font-size:10px;color:var(--color-gray-600);transition:transform .2s}.top-nav-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;min-width:180px;overflow:hidden;z-index:1000}.top-nav-menu-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background-color .2s;font-size:var(--font-size-sm);color:var(--color-gray-700)}.top-nav-menu-item:hover{background-color:var(--color-gray-50)}.top-nav-menu-item.logout{color:var(--color-danger)}.top-nav-menu-item.logout:hover{background-color:#fef2f2}.top-nav-menu-divider{height:1px;background-color:var(--color-gray-200);margin:0}.top-nav-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.top-nav-modal-content{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);min-width:320px;max-width:90%;box-shadow:0 8px 30px #0003}.top-nav-modal-content h3{margin:0 0 var(--spacing-md) 0;color:var(--color-gray-900);font-size:var(--font-size-lg)}.top-nav-modal-content p{margin:0 0 var(--spacing-lg) 0;color:var(--color-gray-600)}.top-nav-modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md)}.top-nav-modal-actions .btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);color:var(--color-gray-700);cursor:pointer;font-weight:500;transition:all .2s}.top-nav-modal-actions .btn-secondary:hover{background-color:var(--color-gray-200)}.top-nav-modal-actions .btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:500;transition:all .2s}.top-nav-modal-actions .btn-primary:hover{background-color:var(--color-primary-dark)}.module-guard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666}.module-guard-loading .loading-spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:var(--color-primary, #C9A063);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.module-guard-disabled{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);padding:20px}.module-guard-content{text-align:center;background:#fff;padding:60px 80px;border-radius:16px;box-shadow:0 4px 20px #00000014;max-width:500px}.module-guard-icon{color:#bbb;margin-bottom:24px}.module-guard-icon-warning{color:#e6a23c}.module-guard-content h2{font-size:24px;font-weight:600;color:#333;margin:0 0 12px}.module-guard-content p{font-size:15px;color:#666;margin:0 0 8px;line-height:1.6}.module-guard-hint{font-size:13px;color:#999;margin-top:20px}@media (prefers-color-scheme: dark){.module-guard-disabled{background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.module-guard-content{background:#2a2a2a;box-shadow:0 4px 20px #0000004d}.module-guard-content h2{color:#fff}.module-guard-content p{color:#aaa}.module-guard-hint{color:#777}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{background:#fff;border-radius:16px;padding:0;width:90%;max-width:480px;max-height:90vh;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d;animation:slideUp .3s ease-out;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-bottom:1px solid #E8E8E8}.modal-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.btn-close{background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:8px}.btn-close:hover{color:#666;background:#0000000d}.modal-body{padding:24px;background:#fff;overflow-y:auto;flex:1}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid #E0E0E0;border-radius:10px;font-size:14px;transition:all .2s;font-family:inherit;background:#fafafa;color:#333}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#ccc}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px #c9a0631a}.channel-type-selector{display:flex;gap:12px;margin-bottom:20px}.channel-type-option{flex:1;padding:14px;border:1px solid #E0E0E0;border-radius:10px;cursor:pointer;transition:all .2s;text-align:center;background:#fafafa}.channel-type-option:hover{border-color:#ccc;background:#f5f5f5}.channel-type-option.selected{border-color:var(--color-primary);background:#c9a06314}.channel-type-title{font-weight:600;color:#333;margin-bottom:4px}.channel-type-desc{font-size:12px;color:#888}.member-list{max-height:200px;overflow-y:auto;border:1px solid #E0E0E0;border-radius:10px;padding:8px;background:#fafafa}.member-item{display:flex;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background-color .2s}.member-item:hover{background-color:#f0f0f0}.member-checkbox{margin-right:10px}.member-name{font-weight:500;color:#333}.member-email{font-size:13px;color:#888;margin-left:auto}.form-hint{display:block;font-size:12px;color:#999;margin-top:6px}.form-error{display:block;font-size:12px;color:#e53935;margin-top:6px}.error-message{background:#ffebee;color:#c62828;padding:12px 14px;border-radius:8px;margin-bottom:16px;font-size:14px;border:1px solid #FFCDD2}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f0f0f0;cursor:not-allowed;opacity:.7}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;background:#fafafa;border-top:1px solid #E8E8E8;flex-shrink:0}.btn-cancel,.btn-submit{padding:10px 24px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:100px;height:42px}.btn-cancel{background:#eee;color:#555}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,var(--color-primary) 0%,#D4A84B 100%);color:#fff;box-shadow:0 4px 12px #c9a0634d}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #c9a06366}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.channel-info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.channel-info-modal{background:#fff;border-radius:12px;width:420px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0003}.channel-info-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5}.channel-info-modal .modal-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.channel-info-modal .close-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s}.channel-info-modal .close-btn:hover{background:#f0f0f0;color:#333}.channel-info-modal .modal-body{padding:20px;overflow-y:auto;max-height:calc(80vh - 60px)}.channel-info-modal .info-section{margin-bottom:20px}.channel-info-modal .info-section:last-child{margin-bottom:0}.channel-info-modal .channel-title{display:flex;align-items:center;gap:12px}.channel-info-modal .channel-type-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.channel-info-modal .channel-type-icon.type-public{background:linear-gradient(135deg,#c9a063,#d4b07a)}.channel-info-modal .channel-type-icon.type-private{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.channel-info-modal .channel-type-icon.type-direct{background:linear-gradient(135deg,#10b981,#34d399)}.channel-info-modal .channel-type-icon.type-group{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.channel-info-modal .channel-name-wrapper{flex:1}.channel-info-modal .channel-name-wrapper h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#333}.channel-info-modal .channel-handle{font-size:13px;color:#888}.channel-info-modal .info-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#666;margin-bottom:6px}.channel-info-modal .info-label svg{color:#999}.channel-info-modal .info-value{font-size:14px;color:#333;padding-left:24px;line-height:1.5}.channel-info-modal .info-value.type-badge{display:inline-block;padding:4px 12px;background:#f5f5f5;border-radius:20px;font-size:13px;color:#666}.friend-panel{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-hover: #eeeeee;--text-primary: #1a1a1a;--text-secondary: #666666;--border-color: #e0e0e0;--primary-color: #C9A063;--primary-hover: #b8914f;--success-color: #4caf50;--success-hover: #43a047;--success-bg: #e8f5e9;--danger-color: #f44336;--danger-hover: #e53935;--warning-color: #ff9800;--warning-bg: #fff3e0;display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.friend-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 12px;background:var(--bg-secondary)}.friend-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;border:none;background:none;color:var(--text-secondary);cursor:pointer;font-size:14px;border-bottom:2px solid transparent;transition:all .2s;position:relative}.friend-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.friend-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.friend-badge{background:var(--danger-color);color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.friend-content{flex:1;overflow-y:auto}.friend-search-section{display:flex;flex-direction:column;height:100%}.friend-search-input{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.friend-search-input svg{color:var(--text-secondary)}.friend-search-input input{flex:1;border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.friend-search-input input:focus{outline:none;border-color:var(--primary-color)}.friend-search-input button{padding:8px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.friend-search-input button:hover{background:var(--primary-hover)}.friend-list{flex:1;overflow-y:auto}.friend-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);transition:background .2s}.friend-item:hover{background:var(--bg-hover)}.friend-avatar{position:relative;width:44px;height:44px;flex-shrink:0}.friend-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.friend-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.online-status{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary)}.online-status.online{background:var(--success-color)}.online-status.offline{background:var(--text-secondary)}.friend-info{flex:1;min-width:0}.friend-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-dept{font-size:12px;color:var(--text-secondary);margin-top:2px}.request-source{font-size:11px;color:var(--text-tertiary);margin-top:2px}.friend-actions{display:flex;gap:8px;align-items:center}.friend-action-btn{width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.friend-action-btn:hover{background:var(--primary-color);color:#fff}.friend-action-btn.accept{background:var(--success-color);color:#fff}.friend-action-btn.accept:hover{background:var(--success-hover)}.friend-action-btn.reject{background:var(--danger-color);color:#fff}.friend-action-btn.reject:hover{background:var(--danger-hover)}.friend-action-btn.add{background:var(--primary-color);color:#fff}.friend-action-btn.add:hover{background:var(--primary-hover)}.friend-action-btn.view{background:#e3f2fd;color:#1976d2}.friend-action-btn.view:hover{background:#1976d2;color:#fff}.friend-status-badge{font-size:12px;padding:4px 10px;border-radius:12px}.friend-status-badge.is-friend{background:var(--success-bg);color:var(--success-color)}.friend-status-badge.is-pending{background:var(--warning-bg);color:var(--warning-color)}.friend-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-secondary);text-align:center}.friend-empty svg{margin-bottom:16px;opacity:.5}.friend-empty p{margin:0;font-size:14px}.friend-loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.user-profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.user-profile-modal{background:var(--bg-primary);border-radius:12px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.user-profile-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.user-profile-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.user-profile-header .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px}.user-profile-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.user-profile-content{padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.user-profile-avatar{position:relative;width:80px;height:80px}.user-profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-profile-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.user-profile-avatar .online-status{width:16px;height:16px;bottom:4px;right:4px}.user-profile-info{width:100%}.user-profile-row{display:flex;padding:10px 0;border-bottom:1px solid var(--border-color)}.user-profile-row:last-child{border-bottom:none}.user-profile-row label{width:80px;flex-shrink:0;color:var(--text-secondary);font-size:14px}.user-profile-row span{flex:1;color:var(--text-primary);font-size:14px}.user-profile-row .status-online{color:var(--success-color)}.user-profile-row .status-offline{color:var(--text-secondary)}.user-profile-actions{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:center}.user-profile-actions .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.user-profile-actions .btn-primary:hover{background:var(--primary-hover)}.channel-list{width:100%;height:100%;background:#fff;border-right:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column}.channel-list .channel-list-header{padding:20px 16px 12px 20px;display:flex;justify-content:space-between;align-items:center;background:#fff;flex-shrink:0}.channel-list .channel-list-header h2{font-size:18px;font-weight:700;color:#1a1a1a;letter-spacing:-.5px;margin:0;text-transform:none;line-height:1.2}.channel-list .channel-list-tabs{display:flex;gap:4px}.channel-list .tab-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;background:transparent;color:#666;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s}.channel-list .tab-btn:hover{background:#0000000a;color:#333}.channel-list .tab-btn.active{background:var(--color-primary);color:#fff}.channel-list .tab-btn svg{flex-shrink:0}.channel-list .btn-icon{width:32px;height:32px;border:none;background:#0000000a;border-radius:50%;color:#666;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.channel-list .btn-icon:hover{background:var(--color-primary);color:#fff;transform:rotate(90deg)}.channel-list .channel-search{padding:0 16px 16px;background:#fff;position:relative;flex-shrink:0}.channel-list .channel-search .search-icon{position:absolute;left:28px;top:10px;height:36px;display:flex;align-items:center;color:#999;font-size:16px;pointer-events:none;z-index:2}.channel-list .search-input{width:100%;height:36px;padding:0 16px 0 40px;border:1px solid transparent;border-radius:12px;font-size:14px;outline:none;transition:all .2s ease;background:#f5f5f5;color:#333;line-height:36px}.channel-list .search-input:focus{background:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #c9a06326}.channel-list .search-input::placeholder{color:#aaa}.channel-list .channel-list-content{flex:1;overflow-y:auto;padding:8px 12px}.channel-list .channel-item{display:flex;align-items:flex-start;padding:8px 12px;margin-bottom:4px;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;border:1px solid transparent;width:100%;box-sizing:border-box}.channel-list .channel-item:hover{background-color:#00000005}.channel-list .channel-item.active{background-color:#fff9f0;border-color:#c9a06333}.channel-list .channel-item.active:before{display:none}.channel-list .channel-avatar{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-right:12px;flex-shrink:0;color:#fff;box-shadow:0 2px 6px #00000014;transition:transform .2s}.channel-list .channel-item:hover .channel-avatar{transform:scale(1.05)}.channel-list .channel-avatar.type-public{background:linear-gradient(135deg,#ffd6a5,#ca9c5e)}.channel-list .channel-avatar.type-private{background:linear-gradient(135deg,#a5c6ff,#5e8aca)}.channel-list .channel-avatar.type-direct{background:linear-gradient(135deg,#a5ffc9,#5eca8d)}.channel-list .channel-avatar.type-group{background:linear-gradient(135deg,#e4a5ff,#b25eca)}.channel-list .channel-item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.channel-list .channel-header{display:flex;justify-content:space-between;align-items:center;width:100%;line-height:1.4}.channel-list .channel-name{font-weight:600;color:#333;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:8px;line-height:1.4}.channel-list .channel-item.active .channel-name{color:var(--color-primary)}.channel-list .channel-name.clickable{cursor:pointer;transition:color .2s}.channel-list .channel-name.clickable:hover{color:var(--color-primary);text-decoration:underline}.channel-list .channel-time{font-size:11px;color:#999;flex-shrink:0;line-height:1.4}.channel-list .channel-footer{display:flex;justify-content:space-between;align-items:center;width:100%;line-height:1.2}.channel-list .channel-desc{font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:8px;line-height:1.4}.channel-list .channel-footer .channel-desc.empty{color:#ccc;font-style:italic;display:inline!important;padding:0!important;margin:0!important;min-height:0!important;height:auto!important;line-height:1.4}.channel-list .unread-badge{background-color:#ff4d4f;color:#fff;font-size:10px;font-weight:700;padding:0 6px;height:18px;min-width:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px #ff4d4f4d}.channel-list .channel-list-content>.loading,.channel-list .channel-list-content>.empty{text-align:center;padding:40px 20px;color:#999;font-size:14px}.channel-list-content::-webkit-scrollbar{width:4px}.channel-list-content::-webkit-scrollbar-track{background:transparent}.channel-list-content::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.channel-list-content::-webkit-scrollbar-thumb:hover{background:#0003}.message-list{flex:1;overflow-y:auto;background:var(--color-gray-50);display:flex;flex-direction:column;height:100%;min-height:0}.message-list.empty{justify-content:center;align-items:center}.empty-state{text-align:center;color:var(--color-gray-500);font-size:var(--font-size-base)}.loading{text-align:center;padding:var(--spacing-md);color:var(--color-gray-500);font-size:var(--font-size-sm)}.load-more{text-align:center;padding:var(--spacing-sm);color:var(--color-gray-400);font-size:var(--font-size-xs);border-bottom:1px solid var(--color-gray-200)}.messages-container{padding:var(--spacing-md)}.message-item{display:flex;margin-bottom:var(--spacing-md);animation:fadeIn .3s ease-in;transition:all .3s ease}.message-item.deleting{animation:messageDeleteOut .3s ease-out forwards}@keyframes messageDeleteOut{0%{opacity:1;transform:translate(0) scale(1);max-height:200px}50%{opacity:.5;transform:translate(20px) scale(.95)}to{opacity:0;transform:translate(40px) scale(.9);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}}.message-avatar{margin-right:var(--spacing-md)}.message-avatar.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.message-avatar.clickable:hover{transform:scale(1.1)}.message-avatar.clickable:hover .avatar-placeholder{box-shadow:0 4px 12px #00000026}.avatar-placeholder{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ffe9d5,#ffd6a5);color:#d48806;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;box-shadow:0 2px 4px #0000000d}.message-content-wrapper{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;margin-bottom:4px;gap:var(--spacing-sm)}.message-user{font-weight:600;color:var(--color-gray-900);font-size:var(--font-size-sm)}.message-time{font-size:11px;color:#999}.message-edited{font-size:var(--font-size-xs);color:var(--color-gray-400);font-style:italic}.message-content{background:#fff;padding:10px 14px;border-radius:12px;box-shadow:0 1px 2px #0000000d;max-width:600px;position:relative}.message-item.own-message .message-content{background:#e8f4fd}.reply-reference{display:flex;gap:8px;margin-bottom:8px;padding:6px 8px;background:#3b82f60d;border-radius:4px}.reply-bar{width:3px;background:#3b82f6;border-radius:2px;flex-shrink:0}.reply-info{display:flex;flex-direction:column;gap:2px;min-width:0}.reply-author{font-size:12px;font-weight:600;color:#3b82f6}.reply-preview{font-size:12px;color:var(--color-gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{color:var(--color-gray-900);font-size:var(--font-size-sm);line-height:1.6;word-wrap:break-word}.message-deleted{color:var(--color-gray-400);font-style:italic;font-size:var(--font-size-sm)}.message-reactions{margin-top:var(--spacing-xs);display:flex;gap:var(--spacing-xs)}.message-pinned-indicator{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-primary)}.message-item.system .message-content{background:var(--color-gray-100);border-left:3px solid var(--color-info)}.message-item.system .message-text{color:var(--color-gray-700);font-style:italic}.message-actions{margin-top:var(--spacing-xs);display:flex;gap:var(--spacing-sm);opacity:0;transition:opacity .2s}.message-item:hover .message-actions{opacity:1}.action-btn{padding:6px 10px;background:#3b82f61a;border:none;border-radius:var(--radius-md);color:#3b82f6;font-size:var(--font-size-xs);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.action-btn:hover{background:#3b82f633;transform:translateY(-1px)}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.message-list::-webkit-scrollbar-thumb:hover{background:#0003}.user-card-header .btn-close{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--color-gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.user-card-header .btn-close:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.file-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.file-selector-dialog{background:#1e1e1e;border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #333}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.close-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn:hover{background:#ffffff1a;color:#fff}.dialog-breadcrumb{display:flex;align-items:center;padding:12px 24px;background:#252525;border-bottom:1px solid #333;overflow-x:auto;gap:8px}.space-selector{padding:6px 12px;background:#1e1e1e;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;outline:none;transition:all .2s;min-width:120px}.space-selector:hover{border-color:var(--color-primary);background:#252525}.space-selector:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #d4af371a}.breadcrumb-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:none;border:none;color:#999;font-size:13px;cursor:pointer;border-radius:4px;white-space:nowrap;transition:all .2s}.breadcrumb-item:hover{background:#ffffff0d;color:#fff}.breadcrumb-separator{color:#666;flex-shrink:0}.dialog-content{flex:1;overflow-y:auto;padding:16px 24px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#999;gap:12px}.empty-state svg{color:#666}.empty-state p{margin:0;font-size:14px}.file-selector-dialog .file-list{display:flex;flex-direction:column;gap:4px}.file-selector-dialog .file-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent;background:#252525}.file-selector-dialog .file-item:hover{background:#2a2a2a;border-color:#444}.file-selector-dialog .file-item.selectable:hover{background:#d4af3726;border-color:var(--color-primary)}.file-selector-dialog .file-icon{color:var(--color-primary);flex-shrink:0;display:flex;align-items:center}.file-selector-dialog .file-info{flex:1;min-width:0}.file-selector-dialog .file-name{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-selector-dialog .file-size{font-size:12px;color:#999;margin-top:2px}.file-selector-dialog .folder-arrow{color:#666;flex-shrink:0}.dialog-footer{padding:16px 24px;border-top:1px solid #333;display:flex;justify-content:flex-end;gap:12px}.cancel-btn{padding:8px 16px;background:#333;border:1px solid #444;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#404040}@media (max-width: 768px){.file-selector-dialog{width:95%;max-height:90vh}.dialog-header,.dialog-content,.dialog-footer{padding-left:16px;padding-right:16px}}.message-input{border-top:1px solid var(--color-gray-200);background:#fff;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);flex-shrink:0;max-height:200px}.mute-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-md);color:#ca8a04;font-size:14px;font-weight:500}.input-toolbar{display:flex;gap:var(--spacing-sm);align-items:center}.emoji-picker-container{position:relative}.emoji-picker{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 8px 20px #0f172a26;padding:var(--spacing-sm);z-index:10;width:240px}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-height:180px;overflow-y:auto}.emoji-grid::-webkit-scrollbar{width:4px}.emoji-grid::-webkit-scrollbar-thumb{background:var(--color-gray-200);border-radius:2px}.emoji-item{border:none;background:transparent;font-size:20px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background .2s}.emoji-item:hover{background:var(--color-gray-100)}.toolbar-btn{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-md);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--color-gray-600)}.toolbar-btn:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.toolbar-btn.video-call-btn{color:var(--color-primary)}.toolbar-btn.video-call-btn:hover{background:#c9a0631a;color:var(--color-primary)}.toolbar-btn.video-call-btn.loading{opacity:.6;cursor:wait}.toolbar-btn.video-call-btn:disabled{opacity:.4;cursor:not-allowed}.input-area{flex:1;display:flex}.message-textarea{flex:1;min-height:40px;max-height:200px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;line-height:1.5;resize:none;outline:none;transition:border-color .2s}.message-textarea:focus{border-color:var(--color-primary)}.message-textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.input-actions{display:flex;justify-content:flex-end}.btn-send{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;min-width:100px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);box-shadow:0 2px 4px #c9a06333}.btn-send:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-send:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.5}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 40px #0003;max-width:450px;width:90%;padding:var(--spacing-xl)}.confirm-dialog h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);color:var(--color-gray-900);font-weight:600}.confirm-content{margin-bottom:var(--spacing-lg)}.confirm-content>p{margin:0 0 var(--spacing-md) 0;color:var(--color-gray-700);font-size:var(--font-size-base);line-height:1.5}.confirm-file-info{background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.confirm-file-info strong{display:block;color:var(--color-gray-900);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);word-break:break-word}.confirm-file-info .confirm-file-size{display:inline-block;color:var(--color-gray-600);font-size:var(--font-size-sm);background:#fff;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300)}.confirm-note{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:0}.confirm-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.btn-cancel,.btn-confirm{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.btn-cancel{background:var(--color-gray-200);color:var(--color-gray-700)}.btn-cancel:hover:not(:disabled){background:var(--color-gray-300)}.btn-confirm{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #c9a06333}.btn-confirm:hover:not(:disabled){background:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-cancel:disabled,.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.ai-panel-container{position:relative}.ai-btn{color:var(--color-gray-600)}.ai-btn:hover,.ai-btn.active{color:var(--color-primary);background:#c9a0631a}.ai-panel{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0f172a26;width:320px;z-index:10;overflow:hidden}.ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-gray-200);background:linear-gradient(135deg,#c9a0631a,#c9a0630d)}.ai-panel-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-800);display:flex;align-items:center;gap:var(--spacing-xs)}.ai-panel-close{border:none;background:transparent;color:var(--color-gray-500);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s}.ai-panel-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.ai-panel-body{padding:var(--spacing-md)}.ai-prompt-input{width:100%;min-height:72px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;line-height:1.5;resize:none;outline:none;transition:border-color .2s,box-shadow .2s}.ai-prompt-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a06326}.ai-prompt-input:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.ai-panel-hint{margin-top:var(--spacing-xs);font-size:12px;color:var(--color-gray-500)}.ai-panel-footer{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-gray-100);display:flex;justify-content:flex-end}.ai-generate-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;min-width:80px}.ai-generate-btn:hover:not(:disabled){background:var(--color-secondary)}.ai-generate-btn:disabled{background:var(--color-gray-300);cursor:not-allowed;opacity:.6}.thread-panel{width:400px;height:100%;background:#fff;border-left:1px solid var(--color-gray-200);display:flex;flex-direction:column}.thread-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}.thread-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900)}.thread-icon{font-size:20px;color:var(--color-primary)}.thread-root-message{padding:var(--spacing-md);border-bottom:2px solid var(--color-gray-200);background:var(--color-gray-50)}.thread-root-message .message-header{display:flex;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.thread-root-message .message-user{font-weight:600;color:var(--color-gray-900);font-size:var(--font-size-sm)}.thread-root-message .message-time{font-size:var(--font-size-xs);color:var(--color-gray-500)}.thread-root-message .message-content{color:var(--color-gray-900);font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--spacing-sm)}.thread-stats{font-size:var(--font-size-xs);color:var(--color-gray-500)}.thread-replies{flex:1;overflow-y:auto;padding:var(--spacing-md)}.reply-item{display:flex;margin-bottom:var(--spacing-md)}.reply-avatar{margin-right:var(--spacing-sm)}.reply-avatar .avatar-placeholder{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600}.reply-content-wrapper{flex:1;min-width:0}.reply-header{display:flex;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.reply-user{font-weight:600;color:var(--color-gray-900);font-size:var(--font-size-sm)}.reply-time{font-size:var(--font-size-xs);color:var(--color-gray-500)}.reply-content{background:var(--color-gray-50);padding:var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-gray-900);font-size:var(--font-size-sm);line-height:1.5}.thread-input{padding:var(--spacing-md);border-top:1px solid var(--color-gray-200);display:flex;flex-direction:column;gap:var(--spacing-sm)}.reply-textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;line-height:1.5;resize:none;outline:none;transition:border-color .2s}.reply-textarea:focus{border-color:var(--color-primary)}.reply-textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.btn-send-reply{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;min-width:100px;height:40px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #c9a06333}.btn-send-reply:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-send-reply:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.5}.loading,.empty{text-align:center;padding:var(--spacing-xl);color:var(--color-gray-500);font-size:var(--font-size-sm)}.member-panel{width:100%;height:100%;background:#fff;border-left:1px solid var(--color-gray-200);display:flex;flex-direction:column}.member-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}.member-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900)}.member-icon{font-size:20px;color:var(--color-primary)}.member-count{font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:400}.btn-close{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--color-gray-600);font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.add-member-section{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-sm)}.add-member-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);outline:none;transition:border-color .2s;font-family:inherit}.add-member-input:focus{border-color:var(--color-primary)}.add-member-input:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.btn-add-member{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:100px;height:40px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #c9a06333}.btn-add-member:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-add-member:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.5}.member-panel .member-list{flex:1;overflow-y:auto;padding:var(--spacing-md);max-height:none}.member-panel .member-list::-webkit-scrollbar{width:0;height:0}.member-panel .member-list{scrollbar-width:none;-ms-overflow-style:none}.member-item{display:flex;align-items:center;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);transition:background-color .2s}.member-item:hover{background-color:var(--color-gray-50)}.member-avatar{margin-right:var(--spacing-sm)}.member-avatar .avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600}.member-name{font-weight:500;color:var(--color-gray-900);font-size:var(--font-size-sm);margin-bottom:2px}.member-meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.role-badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.role-badge.owner{background-color:#c9a0631a;color:var(--color-primary)}.role-badge.admin{background-color:#c9a0630d;color:var(--color-secondary)}.role-badge.member{background-color:var(--color-gray-100);color:var(--color-gray-600)}.member-joined{font-size:var(--font-size-xs);color:var(--color-gray-500)}.member-actions{display:flex;gap:4px;align-items:center}.btn-action{width:32px;height:32px;border:none;background:transparent;color:var(--color-gray-600);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-action:hover{background:var(--color-gray-100)}.btn-action.btn-admin:hover{background:#3b82f61a;color:#3b82f6}.btn-action.btn-demote:hover{background:#fb923c1a;color:#fb923c}.btn-action.btn-mute:hover{background:#eab3081a;color:#eab308}.btn-action.btn-unmute:hover{background:#22c55e1a;color:#22c55e}.btn-action.btn-remove:hover{background:#ef44441a;color:#ef4444}.loading,.member-panel>.member-list>.empty{text-align:center;padding:var(--spacing-xl);color:var(--color-gray-500);font-size:var(--font-size-sm)}.member-avatar.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.member-avatar.clickable:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.user-card-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.user-card{background:#fff;border-radius:16px;width:320px;max-width:90vw;box-shadow:0 20px 60px #0003;overflow:hidden}.user-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-gray-200)}.user-card-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-gray-900)}.user-card-content{padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}.user-card-avatar{position:relative;width:80px;height:80px}.user-card-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-card-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#e0b87a 100%);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:#fff}.user-card-avatar .online-status{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:50%;border:3px solid white}.user-card-avatar .online-status.online{background:#22c55e}.user-card-avatar .online-status.offline{background:#9ca3af}.user-card-info{text-align:center;width:100%}.user-card-name{font-size:18px;font-weight:600;color:var(--color-gray-900);margin-bottom:4px}.user-card-username{font-size:14px;color:var(--color-gray-500);margin-bottom:12px}.user-card-row{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--color-gray-600);margin-bottom:8px}.user-card-row svg{color:var(--color-gray-400)}.user-card-status{margin-top:8px}.user-card-status .status-online{color:#22c55e;font-weight:500}.user-card-status .status-offline{color:#9ca3af}.user-card-actions{padding:16px 20px;border-top:1px solid var(--color-gray-200);display:flex;gap:12px}.user-card-actions .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.user-card-actions .btn-primary:hover{background:var(--color-primary-dark, #b8935a);transform:translateY(-1px)}.user-card-actions .btn-primary:disabled{background:var(--color-gray-300);cursor:not-allowed;transform:none}.user-card-actions .btn-primary.btn-pending{background:#f59e0b;color:#fff}.user-card-actions .btn-primary.btn-pending:disabled{background:#f59e0b;opacity:.8}.search-panel{width:400px;height:100%;background:#fff;border-left:1px solid var(--color-gray-200);display:flex;flex-direction:column}.search-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}.search-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900)}.btn-close{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--color-gray-600);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-close:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.search-input-section{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-sm)}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-md);color:var(--color-gray-400);z-index:1}.search-input{flex:1;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 36px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);outline:none;transition:border-color .2s;font-family:var(--font-family)}.search-input:focus{border-color:var(--color-primary)}.search-input:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.btn-search{height:40px;min-width:80px;padding:0 var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #c9a06333}.btn-search:hover:not(:disabled){background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-search:disabled{background-color:var(--color-gray-300);cursor:not-allowed;opacity:.6;box-shadow:none}.search-results{flex:1;overflow-y:auto;padding:var(--spacing-md)}.search-placeholder,.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.placeholder-icon,.empty-icon{color:var(--color-gray-300);margin-bottom:var(--spacing-md)}.placeholder-text,.empty-text{color:var(--color-gray-500);font-size:var(--font-size-sm)}.loading{text-align:center;padding:var(--spacing-xl);color:var(--color-gray-500);font-size:var(--font-size-sm)}.search-result-item{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-gray-200);cursor:pointer;transition:all .2s}.search-result-item:hover{background-color:var(--color-gray-50);border-color:var(--color-primary);box-shadow:0 2px 4px #c9a0631a}.result-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-xs)}.result-user{font-weight:600;color:var(--color-gray-900);font-size:var(--font-size-sm)}.result-time{font-size:var(--font-size-xs);color:var(--color-gray-500)}.result-content{color:var(--color-gray-700);font-size:var(--font-size-sm);line-height:1.5;word-break:break-word}.result-content mark{background-color:#fff4e6;color:var(--color-primary);padding:2px 4px;border-radius:2px;font-weight:500}.no-permission{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.no-permission p{font-size:var(--font-size-sm);color:var(--color-gray-500);padding:var(--spacing-lg);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.invite-link-modal.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080!important;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.invite-link-modal .modal-content{background:#fff!important;border-radius:var(--radius-md);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;border:1px solid #e0e0e0}.invite-link-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:2px solid #C9A063;background:linear-gradient(135deg,#fff,#fffaf0)}.invite-link-modal .modal-header h2{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-size:var(--font-size-xl);color:#1a1a1a!important;font-weight:700}.invite-link-modal .btn-close{background:#c9a0631a;border:none;cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;color:var(--color-gray-500);width:36px;height:36px;border-radius:var(--radius-md);transition:all .2s}.invite-link-modal .btn-close:hover{background-color:#c9a06333;color:#c9a063}.invite-link-modal .modal-body{padding:var(--spacing-lg);overflow-y:auto;background:#fff!important}.invite-link-modal .create-invite-section{margin-bottom:var(--spacing-xl);padding:20px;background:linear-gradient(135deg,#fff,#fffaf0);border-radius:8px;border:2px solid #e0e0e0}.invite-link-modal .create-invite-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);color:#1a1a1a!important;font-weight:700}.invite-link-modal .invite-options{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.invite-link-modal .option-group{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.invite-link-modal .option-group label{font-size:var(--font-size-sm);font-weight:600;color:#1a1a1a!important}.invite-link-modal .option-group select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid #e0e0e0;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;transition:all .3s ease;background:#fff}.invite-link-modal .option-group select:focus{outline:none;border-color:#c9a063;box-shadow:0 0 0 3px #c9a0631a}.invite-link-modal .btn-primary{width:100%;padding:12px 24px;background:linear-gradient(135deg,#c9a063,#d4af37);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px;height:44px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #c9a0634d}.invite-link-modal .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d4af37,#e5c158);box-shadow:0 6px 20px #c9a06366;transform:translateY(-2px)}.invite-link-modal .btn-primary:active{transform:translateY(0)}.invite-link-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.invite-link-modal .invites-list-section{padding:20px;background:linear-gradient(135deg,#fff,#fffaf0);border-radius:8px;border:2px solid #e0e0e0}.invite-link-modal .invites-list-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);color:#1a1a1a!important;font-weight:700}.invite-link-modal .loading,.invite-link-modal .empty{text-align:center;padding:var(--spacing-lg);color:#999!important;font-size:var(--font-size-sm)}.invite-link-modal .invites-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.invite-link-modal .invite-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border:2px solid #e0e0e0;border-radius:var(--radius-md);background:#fff!important;transition:all .3s ease}.invite-link-modal .invite-item:hover{border-color:#c9a063;box-shadow:0 2px 8px #c9a0631a}.invite-link-modal .invite-info{flex:1;min-width:0}.invite-link-modal .invite-code{font-size:var(--font-size-sm);color:#c9a063!important;font-family:monospace;margin-bottom:var(--spacing-xs);word-break:break-all;font-weight:600}.invite-link-modal .invite-meta{font-size:var(--font-size-xs);color:#666!important;display:flex;gap:var(--spacing-sm);align-items:center}.invite-link-modal .invite-actions{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-md)}.invite-link-modal .btn-icon{background:#c9a0631a;border:none;cursor:pointer;padding:var(--spacing-sm);display:flex;align-items:center;color:#666;border-radius:var(--radius-md);transition:all .2s;width:36px;height:36px}.invite-link-modal .btn-icon:hover{background-color:#c9a06333;color:#c9a063}.invite-link-modal .btn-icon.btn-danger:hover{background-color:#d32f2f1a;color:#d32f2f}.pinned-message-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.pinned-message-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:2px solid #C9A063;min-width:400px;max-width:600px;max-height:80vh;overflow:hidden;animation:slideUp .3s ease-out}.pinned-message-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(201,160,99,.2);background:linear-gradient(to bottom,#fffbf5,#fff)}.pinned-message-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#c9a063}.pinned-message-modal .close-btn{background:transparent;border:none;cursor:pointer;color:#a0845e;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.pinned-message-modal .close-btn:hover{background:#c9a0631a;color:#c9a063}.pinned-message-modal .modal-body{padding:20px;overflow-y:auto;max-height:calc(80vh - 80px)}.pinned-message-time{font-size:12px;color:#a0845e;margin-bottom:12px;font-weight:500}.pinned-message-content{font-size:14px;color:var(--color-gray-900);line-height:1.6;white-space:pre-wrap;word-wrap:break-word;background:#fffbf5;padding:16px;border-radius:8px;border:1px solid rgba(201,160,99,.3);box-shadow:0 2px 8px #c9a0631a}.chat-page-wrapper{display:flex;flex-direction:column;height:100vh;background-color:var(--color-gray-50);overflow:hidden}.chat-page{display:flex;flex:1;height:calc(100vh - 64px);background-color:var(--color-gray-50);overflow:hidden}.chat-sidebar{width:240px;background-color:#fff;border-right:1px solid var(--color-gray-200);display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-main{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.channel-info{display:flex;align-items:center;gap:var(--spacing-md)}.channel-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);margin:0}.connection-status{font-size:var(--font-size-sm);color:var(--color-gray-500)}.pinned-message-btn{margin-left:12px;padding:6px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#3b82f6;font-size:13px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.pinned-message-btn:hover{background:#3b82f633;border-color:#3b82f680;transform:translateY(-1px)}.header-actions{display:flex;gap:var(--spacing-sm)}.header-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s;min-width:100px;height:40px;justify-content:center}.header-btn:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 4px #c9a06333}.chat-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.chat-footer{border-top:1px solid var(--color-gray-200);background-color:#fff;flex-shrink:0}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;flex:1}.empty-content{text-align:center;max-width:400px;padding:var(--spacing-xl)}.empty-content h2{font-size:var(--font-size-xl);color:var(--color-gray-900);margin-bottom:var(--spacing-md)}.empty-content p{font-size:var(--font-size-base);color:var(--color-gray-600)}.thread-sidebar,.member-sidebar,.search-sidebar{width:400px;height:100%;background-color:#fff;border-left:1px solid var(--color-gray-200);display:flex;flex-direction:column;overflow:hidden}.no-permission-page{display:flex;align-items:center;justify-content:center;height:100%;flex:1}.no-permission-content{text-align:center;max-width:400px;padding:var(--spacing-xl)}.no-permission-content h2{font-size:var(--font-size-xl);color:var(--color-gray-900);margin-bottom:var(--spacing-md)}.no-permission-content p{font-size:var(--font-size-base);color:var(--color-gray-600)}@media (max-width: 768px){.chat-sidebar{width:240px}.thread-sidebar,.member-sidebar,.search-sidebar{width:320px}}@media (max-width: 576px){.chat-page{flex-direction:column}.chat-sidebar{width:100%;height:200px;border-right:none;border-bottom:1px solid var(--color-gray-200)}.thread-sidebar,.member-sidebar,.search-sidebar{width:100%;height:300px;border-left:none;border-top:1px solid var(--color-gray-200)}.header-btn span{display:none}.header-btn{min-width:auto;width:40px;padding:var(--spacing-sm)}}.meeting-page{padding:24px;width:100%;box-sizing:border-box}.meeting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-left h1{margin:0;font-size:24px;color:#2f3136}.header-icon{color:#c9a063}.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff}.btn-icon{padding:8px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f5f5f5}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#c9a063,#d4b17a);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-primary:hover{opacity:.9}.meeting-content{min-height:400px}.loading,.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#888}.empty svg{margin-bottom:16px;opacity:.5}.empty p{margin-bottom:16px}.meeting-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.meeting-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0f0}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.meeting-title{margin:0;font-size:16px;font-weight:600;color:#2f3136;display:flex;align-items:center;gap:6px}.lock-icon{color:#888}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-waiting{background:#fff3e0;color:#e65100}.status-active{background:#e8f5e9;color:#2e7d32}.status-ended{background:#f5f5f5;color:#757575}.meeting-desc{margin:0 0 12px;font-size:13px;color:#666;line-height:1.5}.meeting-meta{display:flex;gap:16px;margin-bottom:12px}.meta-item{display:flex;align-items:center;gap:4px;font-size:13px;color:#888}.card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f0f0f0}.btn-join{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px;background:#e8f5e9;color:#2e7d32;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-join:hover{background:#c8e6c9}.btn-end{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:#ffebee;color:#c62828;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-end:hover{background:#ffcdd2}.modal{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-sm{max-width:360px}.modal h2{margin:0 0 16px;font-size:20px;color:#2f3136}.modal-subtitle{margin:-8px 0 16px;color:#666;font-size:14px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#444}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#c9a063}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.btn-cancel{padding:10px 16px;background:#f5f5f5;color:#666;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-cancel:hover{background:#eee}.modal-lg{max-width:600px}.member-search{margin-bottom:8px}.selected-members{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#e8f5e9;border-radius:8px;margin-bottom:8px}.selected-count{font-size:13px;color:#2e7d32}.btn-clear{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;color:#666;border:none;font-size:12px;cursor:pointer}.btn-clear:hover{color:#333}.member-list{max-height:200px;overflow-y:auto;border:1px solid #ddd;border-radius:8px}.member-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .2s}.member-item:hover{background:#f5f5f5}.member-item.selected{background:#e3f2fd}.member-item:not(:last-child){border-bottom:1px solid #eee}.member-avatar{width:36px;height:36px;border-radius:50%;background:#c9a063;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.member-avatar span{color:#fff;font-size:14px;font-weight:500}.member-info{flex:1;min-width:0}.member-name{display:block;font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-email{display:block;font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check-icon{color:#1976d2;flex-shrink:0}.no-members{padding:24px;text-align:center;color:#888;font-size:14px}.meta-item.scheduled{color:#1976d2;font-weight:500}.meeting-type-selector{display:flex;gap:12px;margin-bottom:20px}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid #ddd;border-radius:10px;background:#fff;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.type-btn:hover{border-color:#c9a063;color:#c9a063}.type-btn.active{border-color:#c9a063;background:#c9a063;color:#fff}.member-filters{display:flex;gap:8px;margin-bottom:8px}.filter-select-sm{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#fff}.filter-select-sm:disabled{background:#f5f5f5;cursor:not-allowed}.member-search-input{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px}.form-group label{display:flex;align-items:center;gap:6px}@media (max-width: 768px){.meeting-page{padding:16px}.meeting-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;flex-wrap:wrap}.meeting-list{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}}.subtitle-toggle-btn{position:fixed;bottom:100px;left:20px;width:48px;height:48px;border-radius:50%;background:#000000b3;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100}.subtitle-toggle-btn:hover{background:#000000e6;transform:scale(1.05)}.subtitle-display{position:fixed;bottom:100px;left:20px;width:400px;max-height:300px;background:#000000d9;border-radius:12px;color:#fff;z-index:100;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.subtitle-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.subtitle-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.subtitle-actions{display:flex;align-items:center;gap:4px}.subtitle-action-btn{width:32px;height:32px;border-radius:6px;background:transparent;color:#ffffffb3;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.subtitle-action-btn:hover{background:#ffffff1a;color:#fff}.subtitle-action-btn.active{background:#3b82f64d;color:#60a5fa}.subtitle-content{flex:1;overflow-y:auto;padding:12px 16px;max-height:220px}.subtitle-content::-webkit-scrollbar{width:4px}.subtitle-content::-webkit-scrollbar-track{background:transparent}.subtitle-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.subtitle-empty{color:#ffffff80;font-size:13px;text-align:center;padding:20px 0}.subtitle-item{margin-bottom:12px;animation:fadeIn .3s ease}.subtitle-item:last-child{margin-bottom:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.subtitle-speaker{display:flex;align-items:center;gap:8px;margin-bottom:4px}.speaker-name{font-size:12px;font-weight:600;color:#60a5fa}.speaker-lang{font-size:10px;padding:2px 6px;background:#ffffff1a;border-radius:4px;color:#fff9}.subtitle-text{font-size:14px;line-height:1.5;color:#fff}.subtitle-translation{font-size:13px;line-height:1.4;color:#ffffffb3;margin-top:4px;padding-left:8px;border-left:2px solid rgba(59,130,246,.5)}.translation-lang{font-size:10px;color:#ffffff80;margin-right:6px}@media (max-width: 768px){.subtitle-display{left:10px;right:10px;width:auto;bottom:80px}.subtitle-toggle-btn{bottom:80px;left:10px}}.meeting-room{display:flex;flex-direction:column;height:100vh;background:#1a1a1a;color:#fff}.meeting-room-loading,.meeting-room-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#1a1a1a;color:#fff}.meeting-room-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#c9a063;border-radius:50%;animation:spin 1s linear infinite}.meeting-room-error button{margin-top:16px;padding:10px 20px;background:#c9a063;color:#fff;border:none;border-radius:8px;cursor:pointer}.meeting-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#252525;border-bottom:1px solid #333}.meeting-info{display:flex;align-items:center;gap:16px}.meeting-info h1{margin:0;font-size:18px;font-weight:500}.participant-count{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#333;border-radius:16px;font-size:13px}.meeting-actions{display:flex;gap:8px}.btn-icon{padding:8px;background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#444}.video-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:16px;overflow-y:auto}.video-container{position:relative;background:#2a2a2a;border-radius:12px;overflow:hidden;aspect-ratio:16 / 9;min-height:200px}.video-container.local{border:2px solid #c9a063}.video-container video{width:100%;height:100%;object-fit:cover}.video-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.video-placeholder .avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#c9a063,#d4b17a);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:#fff}.video-label{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:6px;padding:4px 10px;background:#0009;border-radius:6px;font-size:13px}.host-badge{padding:2px 6px;background:#c9a063;border-radius:4px;font-size:11px;font-weight:500}.muted-icon{position:absolute;top:8px;right:8px;padding:4px;background:#f00c;border-radius:50%;color:#fff}.controls-bar{display:flex;justify-content:center;padding:16px;background:#252525;border-top:1px solid #333}.controls-center{display:flex;align-items:center;gap:12px}.control-btn{width:56px;height:56px;border-radius:50%;border:none;background:#333;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.control-btn:hover{background:#444}.control-btn.off{background:#f44}.control-btn.active{background:#4caf50}.control-btn{position:relative}.queue-badge{position:absolute;top:-5px;right:-5px;background:#ff9800;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.control-btn.end{background:#f44}.control-btn.end:hover{background:#c00}.control-btn.end-all{width:auto;padding:0 20px;border-radius:28px;background:#f44;font-size:14px;font-weight:500}.control-btn.end-all:hover{background:#c00}.participants-panel{position:fixed;top:0;right:0;width:320px;height:100vh;background:#252525;border-left:1px solid #333;z-index:100;display:flex;flex-direction:column}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #333}.panel-header h3{margin:0;font-size:16px;font-weight:500}.btn-close{padding:4px;background:transparent;border:none;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:#fff}.participants-list{flex:1;overflow-y:auto;padding:8px;margin:0;list-style:none}.participant-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px}.participant-item:hover{background:#333}.participant-info{display:flex;align-items:center;gap:10px}.participant-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#c9a063,#d4b17a);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.participant-details{display:flex;flex-direction:column;gap:2px}.participant-name{font-size:14px}.host-tag{font-size:11px;color:#c9a063}.participant-actions{display:flex;gap:4px}.btn-icon-sm{padding:6px;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon-sm:hover{background:#444;color:#fff}.btn-icon-sm.danger:hover{background:#f44;color:#fff}@media (max-width: 768px){.meeting-header{padding:8px 16px}.meeting-info h1{font-size:14px}.video-grid{grid-template-columns:1fr;padding:8px}.video-container{min-height:150px}.control-btn{width:48px;height:48px}.participants-panel{width:100%}}@media (min-width: 1200px){.video-grid{grid-template-columns:repeat(3,1fr)}}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.share-modal{background:#2a2a2a!important;border-radius:12px;width:90%;max-width:480px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006;color:#fff}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3a3a3a}.share-modal-header h3{margin:0;font-size:18px;color:#fff}.share-modal-content{flex:1;overflow-y:auto;padding:16px 20px;background:#2a2a2a!important;color:#fff}.loading-channels{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 0;color:#888}.spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:#c9a063;border-radius:50%;animation:spin 1s linear infinite}.no-channels{text-align:center;color:#888;padding:40px 0}.share-modal .channel-list{list-style:none;padding:0;margin:0;background:#2a2a2a}.share-modal .channel-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:8px;transition:background .2s;background:#333;margin-bottom:8px;border:1px solid #444}.share-modal .channel-item:last-child{margin-bottom:0}.share-modal .channel-item:hover{background:#3d3d3d;border-color:#555}.share-modal .channel-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.share-modal .channel-name{font-size:15px;font-weight:500;color:#fff!important}.share-modal .channel-desc{font-size:12px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-share{padding:8px 16px;background:#c9a063;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-share:hover:not(:disabled){background:#d4a868}.btn-share:disabled{opacity:.6;cursor:not-allowed}.subtitle-controls{position:fixed;bottom:20px;right:20px;z-index:100}.subtitle-controls .action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#000000b3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.subtitle-controls .action-btn:hover{background:#000000e6}.subtitle-controls .action-btn.active{background:#c9a063cc}.subtitle-controls .action-btn.recording{animation:pulse-recording 2s infinite}@keyframes pulse-recording{0%,to{box-shadow:0 0 #c9a06366}50%{box-shadow:0 0 0 8px #c9a06300}}.livekit-room .meeting-content{flex:1;position:relative;overflow:hidden}.livekit-room [data-lk-theme=default]{--lk-bg: #1a1a1a;--lk-bg2: #252525;--lk-accent: #c9a063;--lk-accent-hover: #d4b17a}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width: 600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media (max-width: 600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media (max-width: 600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media (max-width: 400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-50);padding:20px}.invite-container{width:100%;max-width:500px}.loading{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;font-size:16px;color:#666}.error-state,.success-state{text-align:center;padding:60px 40px;background:#fff;border-radius:12px}.error-state h2,.success-state h2{margin:20px 0 10px;font-size:24px;color:#333}.error-state p,.success-state p{margin:10px 0;color:#666;font-size:15px}.success-state strong{color:var(--color-primary)}.redirect-hint{margin-top:20px;font-size:14px;color:#999}.channel-preview{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0003;text-align:center}.channel-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:16px;color:#fff}.channel-name{margin:0 0 10px;font-size:28px;font-weight:600;color:#333}.channel-description{margin:0 0 25px;color:#666;font-size:15px;line-height:1.6}.channel-meta{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:25px;padding:15px;background:#f5f5f5;border-radius:8px}.meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#666}.channel-type{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.channel-type.public{background:#e3f2fd;color:#1976d2}.channel-type.private{background:#fce4ec;color:#c2185b}.channel-type.group{background:#e8f5e9;color:#388e3c}.invite-info{margin:25px 0;padding:20px;background:#f9f9f9;border-radius:8px;text-align:left}.info-item{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.info-item .label{color:#666;font-weight:500}.info-item .value{color:#333}.btn-join{width:100%;height:40px;min-width:100px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #c9a06333;display:flex;align-items:center;justify-content:center}.btn-join:hover:not(:disabled){background:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-join:disabled{opacity:.6;cursor:not-allowed}.login-prompt{margin-top:20px}.login-prompt p{margin:0 0 15px;color:#666;font-size:15px}.btn-login{width:100%;height:40px;min-width:100px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #c9a06333;display:flex;align-items:center;justify-content:center}.btn-login:hover{background:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}.btn-primary{width:100%;height:40px;min-width:100px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #c9a06333;display:flex;align-items:center;justify-content:center}.btn-primary:hover{background:var(--color-secondary);box-shadow:0 4px 8px #c9a0634d}@media (max-width: 600px){.channel-preview{padding:30px 20px}.channel-name{font-size:24px}.channel-meta{flex-direction:column;gap:10px}}.space-switcher{width:100%;background:#1e1e1e;border-radius:8px;overflow:hidden}.space-switcher.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.space-switcher.empty{padding:40px 20px;text-align:center;color:#888}.space-switcher-header{padding:16px 20px;border-bottom:1px solid #333}.space-switcher-header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.space-list{padding:8px;max-height:600px;overflow-y:auto}.space-item{padding:16px;margin-bottom:8px;background:#252525;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.space-item:hover{background:#2a2a2a;border-color:#d4af37}.space-item.selected{background:#2a2a2a;border-color:#d4af37;box-shadow:0 0 0 1px #d4af3733}.space-item-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.space-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#f4d03f);border-radius:8px;color:#000}.space-info{flex:1;min-width:0}.space-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.space-type{font-size:12px;color:#888}.space-stats{margin-bottom:12px}.space-counts{display:flex;gap:16px;font-size:12px;color:#aaa}.space-counts span{display:flex;align-items:center}.space-usage{margin-top:8px}.usage-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.usage-text{font-size:11px;color:#aaa}.usage-percent{font-size:11px;font-weight:600;color:#d4af37}.usage-bar{height:4px;background:#333;border-radius:2px;overflow:hidden}.usage-fill{height:100%;background:linear-gradient(90deg,#d4af37,#f4d03f);border-radius:2px;transition:width .3s ease}.usage-fill.warning{background:linear-gradient(90deg,#ff6b6b,#ff4757)}.loading-spinner{width:24px;height:24px;border:3px solid #333;border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}.space-list::-webkit-scrollbar{width:6px}.space-list::-webkit-scrollbar-track{background:#1e1e1e}.space-list::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.space-list::-webkit-scrollbar-thumb:hover{background:#555}.share-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.share-dialog{width:90%;max-width:500px;background:#1e1e1e;border:1px solid #333;border-radius:12px;overflow:hidden;animation:slideUp .3s ease}.share-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;background:#252525;border-bottom:1px solid #333}.share-dialog-header h2{margin:0 0 4px;font-size:18px;font-weight:600;color:#fff}.share-file-name{margin:0;font-size:13px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-dialog-close{padding:6px;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;transition:all .2s ease;flex-shrink:0}.share-dialog-close:hover{background:#2a2a2a;color:#d4af37}.share-dialog-body{padding:24px}.share-type-selector{display:flex;gap:12px;margin-bottom:24px}.share-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#252525;border:2px solid #444;border-radius:8px;color:#aaa;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.share-type-btn:hover{background:#2a2a2a;border-color:#d4af37;color:#d4af37}.share-type-btn.active{background:#d4af371a;border-color:#d4af37;color:#d4af37}.share-options{display:flex;flex-direction:column;gap:20px}.form-group label{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:500;color:#ddd}.form-select,.form-input{width:100%;padding:10px 12px;background:#252525;border:1px solid #444;border-radius:6px;color:#fff;font-size:14px;font-family:inherit;transition:all .2s ease}.form-select:focus,.form-input:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a}.form-select{cursor:pointer}.btn-create-share{width:100%;padding:12px;background:linear-gradient(135deg,#d4af37,#f4d03f);border:none;border-radius:8px;color:#000;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create-share:hover:not(:disabled){background:linear-gradient(135deg,#f4d03f,#d4af37);box-shadow:0 4px 12px #d4af374d}.btn-create-share:disabled{opacity:.6;cursor:not-allowed}.internal-share-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;gap:12px;color:#555}.internal-share-placeholder svg{opacity:.3}.internal-share-placeholder p{margin:0;font-size:14px}.placeholder-desc{font-size:12px!important;color:#666!important}.share-success{display:flex;flex-direction:column;align-items:center;gap:20px}.success-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#f4d03f);border-radius:50%;color:#000;font-size:32px;font-weight:700}.share-success h3{margin:0;font-size:18px;font-weight:600;color:#fff}.share-result{width:100%;display:flex;flex-direction:column;gap:16px}.share-result-item label{display:block;margin-bottom:8px;font-size:12px;font-weight:500;color:#888;text-transform:uppercase}.share-result-value{display:flex;gap:8px}.share-link-input,.share-code-input,.share-password-input{flex:1;padding:10px 12px;background:#252525;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px;font-family:Courier New,monospace}.btn-copy{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#252525;border:1px solid #444;border-radius:6px;color:#ddd;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-copy:hover{background:#2a2a2a;border-color:#d4af37;color:#d4af37}.share-info{padding:12px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:6px;color:#d4af37;font-size:12px;text-align:center}.btn-done{width:100%;padding:12px;background:linear-gradient(135deg,#d4af37,#f4d03f);border:none;border-radius:8px;color:#000;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-done:hover{background:linear-gradient(135deg,#f4d03f,#d4af37);box-shadow:0 4px 12px #d4af374d}@media (max-width: 600px){.share-dialog{width:95%;max-width:none}.share-type-selector,.share-result-value{flex-direction:column}.btn-copy{width:100%;justify-content:center}}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.file-browser{display:flex;flex-direction:column;height:100%;background:#1e1e1e;border-radius:8px;overflow:hidden}.file-browser.empty{display:flex;align-items:center;justify-content:center;color:#888;font-size:14px}.file-browser-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#252525;border-bottom:1px solid #333}.toolbar-left,.toolbar-right{display:flex;gap:8px}.toolbar-btn{padding:8px 16px;background:transparent;border:1px solid #444;border-radius:6px;color:#aaa;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;min-width:60px;white-space:nowrap}.toolbar-btn:hover,.toolbar-btn.active{background:#2a2a2a;border-color:#d4af37;color:#d4af37}.breadcrumb{display:flex;align-items:center;padding:12px 16px;background:#252525;border-bottom:1px solid #333;overflow-x:auto;white-space:nowrap}.breadcrumb-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:none;border-radius:4px;color:#aaa;font-size:13px;cursor:pointer;transition:all .2s ease}.breadcrumb-item:hover{background:#2a2a2a;color:#d4af37}.breadcrumb-separator{color:#555;flex-shrink:0}.file-list{flex:1;overflow-y:auto;padding:16px}.file-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:12px;color:#888}.file-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px;color:#555}.file-list-empty svg{opacity:.3}.file-table{width:100%;border-collapse:collapse}.file-table thead tr{background:#252525;border-bottom:2px solid #333}.file-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase}.file-table tbody tr{border-bottom:1px solid #2a2a2a;transition:background .2s ease;cursor:pointer}.file-table tbody tr:hover{background:#252525}.file-table tbody tr.selected{background:#d4af371a}.file-table td{padding:16px;font-size:13px;color:#ddd;vertical-align:middle}.file-name-cell{display:flex;align-items:center;gap:12px}.file-icon{color:#d4af37;flex-shrink:0;display:flex;align-items:center;justify-content:center}.file-browser .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:20px;line-height:24px;display:flex;align-items:center}.action-btn{padding:4px;background:transparent;border:none;border-radius:4px;color:#888;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#333;color:#d4af37}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.file-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:#252525;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.file-card:hover{background:#2a2a2a;border-color:#d4af37}.file-card.selected{background:#2a2a2a;border-color:#d4af37;box-shadow:0 0 0 1px #d4af3733}.file-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#d4af37;margin-bottom:12px}.file-card-icon svg{width:32px;height:32px}.file-card-name{font-size:20px;color:#fff;text-align:center;word-break:break-word;margin-bottom:4px;line-height:1.2}.file-card-info{font-size:11px;color:#888}.context-menu{position:fixed;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:8px;min-width:180px;box-shadow:0 4px 12px #0000004d;z-index:1000}.context-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:#ddd;font-size:13px;text-align:left;cursor:pointer;transition:all .2s ease}.context-menu-item:hover{background:#333;color:#d4af37}.context-menu-item.danger:hover{background:#ff6b6b1a;color:#ff6b6b}.loading-spinner{width:32px;height:32px;border:3px solid #333;border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}.file-list::-webkit-scrollbar,.breadcrumb::-webkit-scrollbar{width:8px;height:8px}.file-list::-webkit-scrollbar-track,.breadcrumb::-webkit-scrollbar-track{background:#1e1e1e}.file-list::-webkit-scrollbar-thumb,.breadcrumb::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.file-list::-webkit-scrollbar-thumb:hover,.breadcrumb::-webkit-scrollbar-thumb:hover{background:#555}.file-uploader{width:100%}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;background:#252525;border:2px dashed #444;border-radius:12px;cursor:pointer;transition:all .3s ease}.upload-dropzone:hover{background:#2a2a2a;border-color:#d4af37}.upload-dropzone.dragging{background:#d4af371a;border-color:#d4af37;border-width:3px}.upload-dropzone svg{color:#d4af37;margin-bottom:20px;opacity:.8}.upload-dropzone h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#fff}.upload-dropzone p{margin:0;font-size:14px;color:#888}.upload-queue{margin-top:24px;background:#1e1e1e;border:1px solid #333;border-radius:8px;overflow:hidden}.upload-queue-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#252525;border-bottom:1px solid #333}.upload-queue-header h4{margin:0;font-size:14px;font-weight:600;color:#fff}.clear-btn{padding:6px 12px;background:transparent;border:1px solid #444;border-radius:4px;color:#aaa;font-size:12px;cursor:pointer;transition:all .2s ease}.clear-btn:hover{background:#2a2a2a;border-color:#d4af37;color:#d4af37}.upload-list{max-height:400px;overflow-y:auto}.upload-item{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #2a2a2a;transition:background .2s ease}.upload-item:last-child{border-bottom:none}.upload-item:hover{background:#252525}.upload-item-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#2a2a2a}.upload-item.uploading .upload-item-icon{background:#d4af371a;color:#d4af37}.upload-item.success .upload-item-icon{background:#4caf501a;color:#4caf50}.upload-item.error .upload-item-icon{background:#f443361a;color:#f44336}.upload-item-info{flex:1;min-width:0}.upload-item-name{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.upload-progress{display:flex;align-items:center;gap:12px}.upload-progress-bar{flex:1;height:4px;background:#333;border-radius:2px;overflow:hidden}.upload-progress-fill{height:100%;background:linear-gradient(90deg,#d4af37,#f4d03f);border-radius:2px;transition:width .3s ease}.upload-progress-text{font-size:11px;color:#d4af37;font-weight:600;min-width:40px;text-align:right}.upload-status{font-size:12px;font-weight:500}.upload-status.success{color:#4caf50}.upload-status.error{color:#f44336}.remove-btn{padding:6px;background:transparent;border:none;border-radius:4px;color:#888;cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:#333;color:#f44336}.spinning{animation:rotate 1.5s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-list::-webkit-scrollbar{width:6px}.upload-list::-webkit-scrollbar-track{background:#1e1e1e}.upload-list::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.upload-list::-webkit-scrollbar-thumb:hover{background:#555}.file-page-wrapper{display:flex;flex-direction:column;min-height:100vh;background:#121212}.file-page{display:flex;flex:1;height:calc(100vh - 64px);background:#121212;overflow:hidden}.file-sidebar{width:320px;background:#1a1a1a;border-right:1px solid #333;overflow-y:auto;flex-shrink:0}.file-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.file-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#1a1a1a;border-bottom:1px solid #333}.toolbar-title{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.toolbar-title h1{margin:0;font-size:24px;font-weight:600;color:#fff}.current-space-name{font-size:13px;color:#888}.recycle-bin-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid #444;border-radius:6px;color:#999;font-size:13px;cursor:pointer;transition:all .2s ease}.recycle-bin-btn:hover{background:#ffffff1a;border-color:#666;color:#ddd}.toolbar-actions{display:flex;gap:12px}.toolbar-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#252525;border:1px solid #444;border-radius:8px;color:#ddd;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.toolbar-action-btn:hover{background:#2a2a2a;border-color:#d4af37;color:#d4af37}.toolbar-action-btn.primary{background:linear-gradient(135deg,#d4af37,#f4d03f);border-color:#d4af37;color:#000;font-weight:600}.toolbar-action-btn.primary:hover{background:linear-gradient(135deg,#f4d03f,#d4af37);box-shadow:0 4px 12px #d4af374d}.toolbar-action-btn.ai-btn{background:linear-gradient(135deg,#d4af3726,#d4af370d);border:1px solid rgba(212,175,55,.4);color:#d4af37}.toolbar-action-btn.ai-btn:hover{background:linear-gradient(135deg,#d4af3740,#d4af371a);border-color:#d4af37;box-shadow:0 0 15px #d4af3733}.toolbar-action-btn.ai-btn svg{animation:aiSparkle 2s ease-in-out infinite}@keyframes aiSparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.error-banner{padding:12px 24px;background:#f443361a;border-bottom:1px solid rgba(244,67,54,.3);color:#f44336;font-size:14px}.file-content{flex:1;padding:20px 24px;overflow:hidden}.file-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.file-page .modal-content{width:90%;max-width:800px;max-height:90vh;background:#1e1e1e;border:1px solid #333;border-radius:12px;overflow:hidden;animation:slideUp .3s ease}.file-page .modal-content.small{max-width:500px}.file-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#252525;border-bottom:1px solid #333}.file-page .modal-header h2{margin:0;font-size:18px;font-weight:600;color:#fff}.file-page .modal-close{padding:6px;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;transition:all .2s ease}.file-page .modal-close:hover{background:#2a2a2a;color:#d4af37}.file-page .modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.file-page .form-group{margin-bottom:20px}.file-page .form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:#ddd}.file-page .form-group input,.file-page .form-group textarea{width:100%;padding:10px 12px;background:#252525;border:1px solid #444;border-radius:6px;color:#fff;font-size:14px;font-family:inherit;transition:all .2s ease}.file-page .form-group input:focus,.file-page .form-group textarea:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af3733}.file-page .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.file-page .btn-primary,.file-page .btn-secondary{padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.file-page .btn-primary{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#000}.file-page .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #d4af3766}.file-page .btn-secondary{background:#252525;color:#ddd;border:1px solid #444}.file-page .btn-secondary:hover:not(:disabled){background:#333;color:#fff}.file-page .btn-primary:disabled,.file-page .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.file-sidebar::-webkit-scrollbar,.file-page .modal-body::-webkit-scrollbar{width:8px}.file-sidebar::-webkit-scrollbar-track,.file-page .modal-body::-webkit-scrollbar-track{background:#1a1a1a}.file-sidebar::-webkit-scrollbar-thumb,.file-page .modal-body::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.file-sidebar::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 1024px){.file-sidebar{width:280px}}@media (max-width: 768px){.file-page{flex-direction:column}.file-sidebar{width:100%;height:auto;max-height:30vh;border-right:none;border-bottom:1px solid #333}.toolbar-title h1{font-size:20px}.toolbar-actions{flex-direction:column}.file-page .modal-content{width:95%;max-width:none}}.ai-doc-generator{height:100vh;max-height:100vh;background:linear-gradient(135deg,#0a0a0f,#1a1a2e,#16213e);display:flex;flex-direction:column;overflow:hidden}.ai-doc-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#0000004d;border-bottom:1px solid rgba(212,175,55,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:200}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid rgba(212,175,55,.3);border-radius:8px;color:#d4af37;cursor:pointer;transition:all .3s ease}.back-btn:hover{background:#d4af371a;border-color:#d4af37}.header-title{display:flex;align-items:center;gap:12px}.header-title .title-icon{color:#d4af37;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.header-title h1{margin:0;font-size:20px;font-weight:600;background:linear-gradient(90deg,#d4af37,#f4d03f,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{display:flex;align-items:center;gap:12px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid rgba(212,175,55,.3);border-radius:8px;color:#d4af37;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:#d4af371a;border-color:#d4af37}.action-btn.primary{background:linear-gradient(135deg,#d4af37,#b8960c);border:none;color:#0a0a0f;font-weight:500}.action-btn.primary:hover{background:linear-gradient(135deg,#f4d03f,#d4af37);transform:translateY(-1px);box-shadow:0 4px 15px #d4af374d}.download-dropdown{position:relative}.download-menu{position:absolute;top:100%;right:0;margin-top:8px;min-width:220px;background:linear-gradient(145deg,#1a1a23fa,#0f0f16fa);border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:8px;box-shadow:0 8px 32px #0006;z-index:100;animation:fadeInDown .2s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.download-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;color:#ffffffd9;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.download-menu button:hover{background:#d4af3726;color:#d4af37}.download-menu button svg{color:#d4af37;flex-shrink:0}.ai-doc-content{flex:1;display:flex;position:relative;overflow:hidden;padding:24px;gap:24px;min-height:0}.chat-panel{display:flex;flex-direction:column;background:#ffffff08;border:1px solid rgba(212,175,55,.15);border-radius:16px;overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:0;max-height:100%}.chat-panel.centered{width:100%;max-width:800px;margin:0 auto;height:100%}.chat-panel.shifted{width:45%;flex-shrink:0;height:100%}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;display:flex;flex-direction:column;gap:16px;min-height:0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#d4af3780}.welcome-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;flex:1}.welcome-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af3733,#d4af370d);border-radius:24px;margin-bottom:24px;color:#d4af37;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-section h2{margin:0 0 12px;font-size:24px;font-weight:600;color:#fff}.welcome-section p{margin:0 0 32px;color:#fff9;font-size:15px;max-width:400px}.quick-prompts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.quick-prompts button{padding:10px 18px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:20px;color:#d4af37;font-size:14px;cursor:pointer;transition:all .3s ease}.quick-prompts button:hover{background:#d4af3733;border-color:#d4af37;transform:translateY(-2px)}.message{display:flex;gap:12px;max-width:85%;animation:messageIn .3s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.message.user .message-avatar{background:linear-gradient(135deg,#d4af37,#b8960c);color:#0a0a0f}.message.assistant .message-avatar{background:#d4af3726;color:#d4af37}.message-content{padding:12px 16px;border-radius:16px;line-height:1.6;font-size:14px}.message.user .message-content{background:linear-gradient(135deg,#d4af37,#b8960c);color:#0a0a0f;border-bottom-right-radius:4px}.message.assistant .message-content{background:#ffffff0d;color:#fff;border:1px solid rgba(212,175,55,.15);border-bottom-left-radius:4px}.assistant-response{white-space:pre-wrap;word-break:break-word}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:8px;height:8px;background:#d4af37;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.chat-input-area{padding:16px 24px 24px;border-top:1px solid rgba(212,175,55,.1);background:#0003}.input-wrapper{display:flex;align-items:flex-end;gap:12px;background:#ffffff0d;border:1px solid rgba(212,175,55,.2);border-radius:16px;padding:12px 16px;transition:all .3s ease}.input-wrapper:focus-within{border-color:#d4af37;box-shadow:0 0 20px #d4af3726}.input-wrapper textarea{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:15px;line-height:1.5;resize:none;min-height:24px;max-height:150px}.input-wrapper textarea::placeholder{color:#fff6}.send-btn{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#d4af37,#b8960c);border:none;color:#0a0a0f;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #d4af3766}.send-btn:disabled{opacity:.5;cursor:not-allowed}.input-hint{margin:8px 0 0;font-size:12px;color:#fff6;text-align:center}.preview-panel{flex:1;background:#ffffff08;border:1px solid rgba(212,175,55,.15);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translate(50px);transition:all .5s cubic-bezier(.4,0,.2,1);pointer-events:none;min-height:0;max-height:100%}.preview-panel.visible{opacity:1;transform:translate(0);pointer-events:auto}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(212,175,55,.1);background:#0003}.preview-header h3{margin:0;font-size:16px;font-weight:500;color:#fff;display:flex;align-items:center;gap:8px}.preview-header h3 svg{color:#d4af37}.preview-controls{display:flex;align-items:center;gap:16px}.diff-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#ffffffb3}.diff-toggle input{accent-color:#d4af37}.version-control{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:#d4af370d;border-bottom:1px solid rgba(212,175,55,.1)}.version-btn{width:32px;height:32px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(212,175,55,.2);color:#d4af37;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.version-btn:hover:not(:disabled){background:#d4af371a;border-color:#d4af37}.version-btn:disabled{opacity:.3;cursor:not-allowed}.version-btn.history{margin-left:8px}.version-info{font-size:13px;color:#ffffffb3;min-width:100px;text-align:center}.preview-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;min-height:0}.preview-content::-webkit-scrollbar{width:6px}.preview-content::-webkit-scrollbar-track{background:#ffffff0d}.preview-content::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}.markdown-body{color:#ffffffe6;font-size:14px;line-height:1.65}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:#fff;margin-top:16px;margin-bottom:10px;font-weight:600;border-bottom:1px solid rgba(212,175,55,.2);padding-bottom:6px}.markdown-body h1{font-size:21px;border-bottom-color:#d4af3766}.markdown-body h2{font-size:17px}.markdown-body h3{font-size:15px;border-bottom:none}.markdown-body p{margin:8px 0}.markdown-body ul,.markdown-body ol{padding-left:20px;margin:8px 0}.markdown-body li{margin:4px 0}.markdown-body code{background:#d4af371a;padding:2px 6px;border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:13px;color:#d4af37}.markdown-body pre{background:#0000004d;border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:16px;overflow-x:auto;margin:16px 0}.markdown-body pre code{background:transparent;padding:0;color:#ffffffe6}.markdown-body blockquote{border-left:4px solid #d4af37;margin:16px 0;padding:12px 20px;background:#d4af370d;border-radius:0 8px 8px 0;color:#fffc}.markdown-body table{width:100%;border-collapse:collapse;margin:16px 0}.markdown-body th,.markdown-body td{border:1px solid rgba(212,175,55,.2);padding:10px 14px;text-align:left}.markdown-body th{background:#d4af371a;font-weight:600;color:#d4af37}.markdown-body tr:nth-child(2n){background:#ffffff05}.markdown-body a{color:#d4af37;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{color:#fff;font-weight:600}.markdown-body hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.3),transparent);margin:24px 0}.diff-content>div{transition:background .3s ease}.diff-added{background:#22c55e26!important;margin:4px 0;border-radius:8px}.diff-removed{background:#ef444426!important;margin:4px 0;border-radius:8px;text-decoration:line-through;opacity:.7}.diff-legend{display:flex;align-items:center;justify-content:center;gap:24px;padding:12px;border-top:1px solid rgba(212,175,55,.1);background:#0003}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#fff9}.legend-color{width:16px;height:16px;border-radius:4px}.legend-item.added .legend-color{background:#22c55e4d;border:2px solid #22c55e}.legend-item.removed .legend-color{background:#ef44444d;border:2px solid #ef4444}.save-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.save-dialog{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(212,175,55,.3);border-radius:16px;padding:24px;width:400px;max-width:90vw;animation:slideUp .3s ease}.save-dialog h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.save-dialog .form-group{margin-bottom:20px}.save-dialog .form-group label{display:block;margin-bottom:8px;font-size:14px;color:#ffffffb3}.save-dialog .form-group input{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(212,175,55,.2);border-radius:10px;color:#fff;font-size:15px;outline:none;transition:all .3s ease}.save-dialog .form-group input:focus{border-color:#d4af37;box-shadow:0 0 15px #d4af3726}.save-dialog .form-group input::placeholder{color:#fff6}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.dialog-actions .btn-cancel{padding:10px 20px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.dialog-actions .btn-cancel:hover{background:#ffffff0d;border-color:#ffffff4d}.dialog-actions .btn-save{padding:10px 24px;background:linear-gradient(135deg,#d4af37,#b8960c);border:none;border-radius:8px;color:#0a0a0f;font-weight:500;cursor:pointer;transition:all .2s ease}.dialog-actions .btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #d4af374d}.dialog-actions .btn-save:disabled{opacity:.5;cursor:not-allowed}.space-selector{position:relative}.space-selector select{width:100%;padding:12px 40px 12px 16px;background:#ffffff0d;border:1px solid rgba(212,175,55,.2);border-radius:10px;color:#fff;font-size:14px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .3s ease}.space-selector select:focus{border-color:#d4af37;box-shadow:0 0 15px #d4af3726}.space-selector .select-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#ffffff80;pointer-events:none}.folder-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:12px;font-size:13px}.breadcrumb-item{color:#fff9;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.breadcrumb-item:hover{background:#d4af371a;color:#d4af37}.breadcrumb-item.active{color:#d4af37;font-weight:500}.breadcrumb-separator{color:#ffffff4d}.folder-list{max-height:200px;overflow-y:auto;background:#0003;border-radius:10px;padding:8px}.folder-list::-webkit-scrollbar{width:4px}.folder-list::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:2px}.folder-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;color:#fffc;transition:all .2s ease}.folder-item:hover{background:#d4af371a}.folder-item.selected{background:#d4af3726;color:#d4af37}.folder-item svg{color:#d4af37;flex-shrink:0}.empty-folder-text{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;color:#ffffff80;font-size:13px}.empty-folder-text svg{color:#22c55e}.loading-text,.empty-text{padding:12px;color:#ffffff80;font-size:13px;text-align:center}.confirm-dialog{max-width:360px}.confirm-message{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 20px}.save-success-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg,#22c55ee6,#16a34ae6);border-radius:12px;color:#fff;font-size:14px;font-weight:500;box-shadow:0 4px 20px #22c55e4d;animation:toastIn .3s ease,toastOut .3s ease 2.7s forwards;z-index:1001}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}@media (max-width: 1024px){.ai-doc-content.with-preview{flex-direction:column}.chat-panel.shifted{width:100%;max-height:50vh}.preview-panel.visible{flex:1}}@media (max-width: 768px){.ai-doc-header{padding:12px 16px}.header-title h1{font-size:16px}.action-btn span{display:none}.ai-doc-content,.chat-messages{padding:16px}.chat-input-area{padding:12px 16px 16px}.welcome-section{padding:40px 16px}.welcome-icon{width:80px;height:80px}.quick-prompts{flex-direction:column}}.share-access-page{min-height:100vh;background:linear-gradient(135deg,#f9f5f0,#f3e5d0);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.share-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);padding:var(--spacing-2xl);max-width:500px;width:100%;text-align:center}.share-title{font-size:var(--font-size-3xl);font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-xl)}.loading{font-size:var(--font-size-base);color:var(--color-gray-600);padding:var(--spacing-2xl) 0}.share-error{background:#fef2f2;border:1px solid #FCA5A5;border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.share-error p{color:var(--color-danger);margin:0;font-size:var(--font-size-sm)}.password-form-container{padding:var(--spacing-lg) 0}.lock-icon{color:var(--color-primary);margin-bottom:var(--spacing-lg)}.password-form-container h2{font-size:var(--font-size-xl);color:var(--color-gray-900);margin-bottom:var(--spacing-lg)}.error-text{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.password-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.password-input{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);outline:none;transition:all .2s}.password-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631a}.submit-btn{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){background:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.file-info-container{padding:var(--spacing-lg) 0}.file-icon-large{color:var(--color-primary);margin-bottom:var(--spacing-lg);display:flex;justify-content:center}.file-info-container .file-name{font-size:var(--font-size-2xl);font-weight:600;color:#1a1a1a;margin-bottom:var(--spacing-md);word-break:break-all}.file-meta{display:flex;flex-direction:column;gap:var(--spacing-sm);color:#666;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl)}.download-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base);font-weight:600;color:#1a1a1a;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.download-btn:hover{background:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.permission-notice{color:var(--color-gray-500);font-size:var(--font-size-sm);margin-top:var(--spacing-lg)}.document-preview-page{min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.preview-header{background:var(--color-primary);color:#fff;padding:16px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000001a}.preview-header h1{flex:1;margin:0;font-size:20px;font-weight:600}.back-btn,.download-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3;border:none;border-radius:var(--radius-md);color:#000;cursor:pointer;transition:background .2s;font-size:14px}.back-btn:hover,.download-btn:hover{background:#ffffff4d}.preview-content{flex:1;padding:24px;overflow:auto}.preview-loading,.preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:var(--color-text-secondary);text-align:center;gap:16px}.preview-error{color:var(--color-error)}.pdf-preview{display:flex;flex-direction:column;align-items:center;gap:16px}.pdf-controls{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.pdf-controls button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .2s;font-size:14px}.pdf-controls button:hover:not(:disabled){opacity:.9}.pdf-controls button:disabled{opacity:.5;cursor:not-allowed}.pdf-controls span{font-size:14px;color:var(--color-text)}.pdf-controls .page-info{margin-left:16px;font-weight:500}.pdf-container{background:#fff;padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:100%;overflow:auto}.pdf-container canvas{display:block;margin:0 auto}.markdown-preview{max-width:900px;margin:0 auto;background:#fff;padding:40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);line-height:1.7;color:#1a1a1a}.markdown-preview *{color:#1a1a1a!important}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.3;color:#1a1a1a}.markdown-preview h1{font-size:32px;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.markdown-preview h2{font-size:28px;border-bottom:1px solid #e0e0e0;padding-bottom:8px}.markdown-preview h3{font-size:24px}.markdown-preview p{margin-bottom:16px}.markdown-preview code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.9em}.markdown-preview pre{margin:16px 0;border-radius:var(--radius-md);overflow:hidden}.markdown-preview ul,.markdown-preview ol{margin-bottom:16px;padding-left:32px}.markdown-preview li{margin-bottom:8px}.markdown-preview blockquote{border-left:4px solid #d4af37;padding-left:16px;margin:16px 0;color:#666!important;font-style:italic}.markdown-preview table{border-collapse:collapse;width:100%;margin:16px 0}.markdown-preview th,.markdown-preview td{border:1px solid #e0e0e0;padding:8px 12px;text-align:left;color:#1a1a1a}.markdown-preview th{background:#f5f5f5;font-weight:600}.markdown-preview img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:16px 0}.markdown-preview a{color:#d4af37!important;text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.code-preview{max-width:1200px;margin:0 auto;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.code-preview pre{margin:0!important;padding:24px!important;font-size:14px!important;line-height:1.6!important}@media (max-width: 768px){.preview-header{padding:12px 16px}.preview-header h1{font-size:16px}.back-btn,.download-btn{padding:6px 12px;font-size:12px}.preview-content{padding:16px}.markdown-preview{padding:24px 16px}.pdf-controls{flex-wrap:wrap;gap:8px;padding:12px}.pdf-controls button{padding:6px 12px;font-size:12px}.pdf-container{padding:16px}}: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(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.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{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;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;height:100%;margin:0;vertical-align:top;width:100%}.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]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.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{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.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{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.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%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;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}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.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{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@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{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.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:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.recycle-bin-page{min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.recycle-bin-header{background:var(--color-primary);color:#fff;padding:16px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000001a}.recycle-bin-header h1{flex:1;margin:0;font-size:24px;font-weight:600}.recycle-bin-header .space-name{font-size:14px;opacity:.9}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:background .2s;font-size:14px}.back-btn:hover{background:#ffffff4d}.error-banner{background:#fee;color:#c33;padding:12px 24px;display:flex;align-items:center;gap:8px;border-left:4px solid #c33}.recycle-bin-content{flex:1;padding:24px;overflow:auto}.loading{text-align:center;padding:48px;color:var(--color-text-secondary);font-size:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:var(--color-text-secondary);text-align:center;gap:16px}.empty-state svg{color:var(--color-gray-400)}.empty-state p{font-size:18px;font-weight:500;margin:0;color:var(--color-text)}.empty-state span{font-size:14px;color:var(--color-text-secondary)}.recycle-bin-list{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.list-header{display:grid;grid-template-columns:2fr 120px 180px 120px 200px;gap:16px;padding:16px 24px;background:#f5f5f5;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid var(--color-border)}.list-item{display:grid;grid-template-columns:2fr 120px 180px 120px 200px;gap:16px;padding:16px 24px;border-bottom:1px solid var(--color-border);transition:background .2s;align-items:center}.list-item:hover{background:#f9f9f9}.list-item:last-child{border-bottom:none}.col-name{display:flex;align-items:center;gap:12px;min-width:0}.file-icon{color:var(--color-primary);flex-shrink:0;display:flex;align-items:center}.recycle-bin-list .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1a1a1a;font-size:14px}.col-size,.col-delete-time,.col-expire{font-size:13px;color:#666}.col-expire .warning{color:#e63946;font-weight:600}.col-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;transition:all .2s}.action-btn.restore{background:var(--color-primary);color:#1a1a1a}.action-btn.restore:hover{opacity:.9}.action-btn.delete{background:#fee;color:#c33;border:1px solid #fcc}.action-btn.delete:hover{background:#fdd}.recycle-bin-footer{padding:16px 24px;background:#f9f9f9;border-top:1px solid var(--color-border);text-align:center}.recycle-bin-footer p{margin:0;font-size:13px;color:var(--color-text-secondary)}.recycle-bin-empty{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:var(--color-text-secondary)}@media (max-width: 1024px){.list-header,.list-item{grid-template-columns:2fr 100px 150px 100px 180px;gap:12px;padding:12px 16px}}@media (max-width: 768px){.recycle-bin-header{padding:12px 16px}.recycle-bin-header h1{font-size:18px}.recycle-bin-content{padding:16px}.list-header{display:none}.list-item{grid-template-columns:1fr;gap:8px;padding:16px}.col-name{font-weight:600}.col-size:before{content:"大小: ";font-weight:600}.col-delete-time:before{content:"删除时间: ";font-weight:600}.col-expire:before{content:"剩余: ";font-weight:600}.col-actions{justify-content:flex-start;margin-top:8px}}.projects-page-wrapper{display:flex;flex-direction:column;min-height:100vh}.projects-page{padding:24px;flex:1;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.projects-header{margin-bottom:32px}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.projects-page h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.header-actions{display:flex;gap:12px;align-items:center}.join-project-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#ffd7001a;color:gold;border:2px solid #ffd700;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.join-project-btn:hover{background:#ffd70033;transform:translateY(-2px);box-shadow:0 8px 20px #ffd70033}.create-project-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.create-project-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.header-controls{display:flex;gap:16px;align-items:center}.search-box{flex:1;max-width:400px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1e1e1e;border:1px solid #333;border-radius:8px;transition:all .3s ease}.search-box:focus-within{border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.search-box svg{color:#888}.search-box input{flex:1;background:transparent;border:none;color:#fff;font-size:14px;outline:none}.view-controls{display:flex;gap:8px;padding:4px;background:#1e1e1e;border:1px solid #333;border-radius:8px}.view-btn{padding:8px 12px;background:transparent;border:none;color:#888;border-radius:6px;cursor:pointer;transition:all .2s ease}.view-btn:hover{color:#fff;background:#2a2a2a}.view-btn.active{color:gold;background:#2a2a2a}.filter-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#1e1e1e;border:1px solid #333;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:gold}.projects-container{display:grid;gap:24px}.projects-container.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.projects-container.list{grid-template-columns:1fr}.project-card{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px;transition:all .3s ease;cursor:pointer}.project-card:hover{border-color:gold;transform:translateY(-4px);box-shadow:0 12px 24px #ffd70026}.project-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.project-card h3{font-size:20px;font-weight:600;color:#fff;margin:0}.status-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.active{background:#2ecc7133;color:#2ecc71}.status-badge.archived{background:#95a5a633;color:#95a5a6}.status-badge.closed{background:#7f8c8d33;color:#7f8c8d}.project-identifier{font-size:12px;color:#888;font-family:Courier New,monospace;margin-bottom:16px}.project-description{color:#ccc;font-size:14px;line-height:1.6;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.project-type{padding:4px 12px;background:#3498db33;color:#3498db;border-radius:16px;font-size:12px;font-weight:500;text-transform:capitalize}.public-badge{padding:4px 12px;background:#9b59b633;color:#9b59b6;border-radius:16px;font-size:12px;font-weight:500}.project-footer{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #2a2a2a}.project-action-btn{flex:1;padding:8px 16px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.project-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.project-action-btn.secondary{background:#2a2a2a;color:#fff}.project-action-btn.secondary:hover{background:#333;box-shadow:0 4px 12px #ffffff1a}.error-message{color:#e74c3c;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px}@media (max-width: 768px){.projects-page{padding:16px}.header-top{flex-direction:column;gap:16px;align-items:stretch}.header-controls{flex-direction:column}.search-box{max-width:none}.projects-container.grid{grid-template-columns:1fr}}.projects-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.projects-page .modal-content{background:#1e1e1e;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;border:1px solid #333}.projects-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #333}.projects-page .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.projects-page .close-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.projects-page .close-btn:hover{background:#2a2a2a;color:#fff}.projects-page .modal-body{padding:24px}.projects-page .form-group{margin-bottom:0}.projects-page .form-group label{display:block;margin-bottom:8px;color:#ccc;font-size:14px;font-weight:500}.projects-page .form-group input{width:100%;padding:12px 16px;background:#2a2a2a;border:1px solid #444;border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease;box-sizing:border-box}.projects-page .form-group input:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.projects-page .help-text{margin-top:8px;font-size:13px;color:#888;line-height:1.5}.projects-page .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #333}.projects-page .btn{padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;gap:8px}.projects-page .btn-secondary{background:#2a2a2a;color:#ccc;border:1px solid #444}.projects-page .btn-secondary:hover:not(:disabled){background:#333;color:#fff}.projects-page .btn-primary{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.projects-page .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.projects-page .btn:disabled{opacity:.5;cursor:not-allowed}.projects-page-wrapper,.project-detail-page,.project-settings-page,.project-members-page,.board-page,.boards-list-page,.gantt-page,.work-package-detail-page,.versions-page,.version-detail-page{background:linear-gradient(135deg,#1a1a1a,#0a0a0a);min-height:100vh}.projects-page-wrapper .loading,.project-detail-page .loading,.project-settings-page .loading,.project-members-page .loading,.board-page .loading,.boards-list-page .loading,.gantt-page .loading,.work-package-detail-page .loading,.versions-page .loading,.version-detail-page .loading{background:transparent;color:#888}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.dialog-content{background:#1e1e1e;border:1px solid #ffd700;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 20px 60px #ffd70033}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #333}.dialog-header h2{margin:0;font-size:24px;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{color:#fff;background:#2a2a2a}.project-form{padding:24px}.form-group label{display:block;margin-bottom:8px;color:#fff;font-weight:500;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.form-group small{display:block;margin-top:6px;color:#888;font-size:12px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer;accent-color:#ffd700}.checkbox-group span{color:#fff}.error-message{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.dialog-footer{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:1px solid #333}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.btn-primary{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.btn-secondary{background:#2a2a2a;color:#fff;border:1px solid #333}.btn-secondary:hover:not(:disabled){background:#333}@media (max-width: 768px){.dialog-content{width:95%;max-height:95vh}.form-row{grid-template-columns:1fr}}.work-package-form{padding:24px}.work-package-form .form-group label{color:#fff}.project-detail-page{padding:24px;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.project-header{margin-bottom:32px;background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.project-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;cursor:pointer;margin-bottom:24px;transition:all .3s ease}.project-info{flex:1}.project-title-section{display:flex;align-items:center;gap:16px;margin-bottom:12px}.project-detail-page h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.project-identifier{font-size:14px;color:#888;font-family:Courier New,monospace;margin-bottom:12px}.project-description{color:#ccc;font-size:16px;line-height:1.6;margin:0}.project-actions{display:flex;gap:24px;flex-shrink:0}.action-btn{display:flex;align-items:center;gap:10px;padding:12px 28px;background:#ffd7001a;color:gold;border:2px solid #ffd700;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ffd70026;white-space:nowrap;min-width:fit-content}.action-btn:hover{background:#ffd70033;border-color:#ffed4e;transform:translateY(-2px);box-shadow:0 6px 16px #ffd7004d}.project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.project-detail-page .stat-card{background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 40px #000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.project-detail-page .stat-card:hover{border-color:gold;box-shadow:0 18px 60px #000000e6;transform:translateY(-3px)}.project-detail-page .stat-card .stat-icon{background:radial-gradient(circle at 0% 0%,#ffd70059,#ffd7000d)}.stat-card{display:flex;align-items:center;gap:16px;background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px;transition:all .3s ease}.stat-card:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 8px 20px #ffd7001a}.stat-card.clickable{cursor:pointer}.stat-card.clickable:active{transform:translateY(0)}.stat-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,#ffd70033,#ffed4e1a);border-radius:12px;color:gold}.stat-value{font-size:32px;font-weight:700;color:#fff;line-height:1;margin-bottom:8px}.stat-label{font-size:14px;color:#888;text-transform:uppercase;letter-spacing:.5px}.work-packages-section{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.section-header h2{font-size:24px;font-weight:600;color:#fff;margin:0}.section-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#2a2a2a;color:#fff;border:1px solid #333;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative}.filter-btn:hover{background:#333;border-color:gold}.filter-badge{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:gold;border-radius:50%;font-size:0}.filters-panel{display:flex;gap:16px;padding:20px;background:#2a2a2a;border-radius:8px;margin-bottom:24px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:180px}.filter-group label{font-size:13px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:10px 14px;background:#1e1e1e;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.filter-group select:hover{border-color:gold}.filter-group select:focus{outline:none;border-color:gold;background:#2a2a2a}.clear-filters-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;color:#999;border:1px solid #333;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;height:fit-content}.clear-filters-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.search-box{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;transition:all .3s ease}.search-box:focus-within{border-color:gold}.search-box input{background:transparent;border:none;color:#fff;font-size:14px;outline:none;width:200px}.search-box input::placeholder{color:#666}.create-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.create-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.batch-mode-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#999;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.batch-mode-btn:hover{background:#333;border-color:gold;color:#fff}.batch-mode-btn.active{background:#ffd7001a;border-color:gold;color:gold}.batch-actions-bar{background:#2a2a2a;border:1px solid #ffd700;border-radius:8px;padding:16px 20px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;position:relative}.batch-info{display:flex;align-items:center;gap:12px;color:gold;font-weight:600}.batch-buttons{display:flex;gap:12px}.batch-action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#333;border:1px solid #444;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.batch-action-btn:hover{background:#3a3a3a;border-color:gold}.batch-action-btn.delete{border-color:#e74c3c;color:#e74c3c}.batch-action-btn.delete:hover{background:#e74c3c1a;border-color:#c0392b;color:#c0392b}.batch-status-menu{position:absolute;top:100%;right:120px;margin-top:8px;background:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:8px;display:flex;flex-direction:column;gap:4px;z-index:100}.batch-status-menu button{padding:8px 16px;background:transparent;border:none;border-radius:4px;color:#fff;text-align:left;cursor:pointer;transition:all .2s;white-space:nowrap}.batch-status-menu button:hover{background:#333;color:gold}.col-checkbox{width:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.col-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#ffd700}.table-row.selected{background:#ffd7001a!important;border-color:gold!important}.work-packages-table{background:#2a2a2a;border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:100px 1fr 120px 120px 150px 150px;gap:16px;padding:16px;background:#1e1e1e;border-bottom:1px solid #333;font-weight:600;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.table-body{max-height:600px;overflow-y:auto}.table-row{display:grid;grid-template-columns:100px 1fr 120px 120px 150px 150px;gap:16px;padding:16px;border-bottom:1px solid #333;transition:all .2s ease;cursor:pointer}.table-row:hover{background:#333}.table-row:last-child{border-bottom:none}.col-id{color:#888;font-family:Courier New,monospace;font-size:13px}.col-subject{color:#fff;font-weight:500}.type-badge,.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge{color:#fff;font-weight:600}.col-assignee{color:#ccc;font-size:14px}.col-progress{display:flex;align-items:center;gap:12px}.progress-text{color:#888;font-size:12px;font-weight:500;min-width:40px}.empty-state{text-align:center;padding:64px 24px;color:#888}.empty-state p{margin:8px 0;font-size:16px}@media (max-width: 1024px){.table-header,.table-row{grid-template-columns:80px 1fr 100px 100px}.col-assignee,.col-progress{display:none}}@media (max-width: 768px){.project-detail-page{padding:16px}.project-stats{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch}.section-actions{flex-direction:column}.search-box input{width:100%}.table-header,.table-row{grid-template-columns:1fr;gap:8px}.col-id,.col-type{display:none}}.project-settings-page{width:100%;padding:2rem;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.project-settings-page .settings-header{margin-bottom:2rem}.project-settings-page .back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#2a2a2a;border:1px solid #333;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;margin-bottom:1rem}.project-settings-page .back-btn:hover{background:#333;border-color:gold}.project-settings-page .settings-header h1{margin:0;font-size:2rem;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-settings-page .settings-form{background:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 2px 8px #0000004d;margin-bottom:2rem}.project-settings-page .settings-section{padding:2rem;border-bottom:1px solid #333}.project-settings-page .settings-section:last-child{border-bottom:none}.project-settings-page .settings-section h2{margin:0 0 1.5rem;font-size:1.25rem;color:#fff}.project-settings-page .form-group{margin-bottom:1.5rem}.project-settings-page .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#ccc}.project-settings-page .form-group input[type=text],.project-settings-page .form-group textarea,.project-settings-page .form-group select{width:100%;padding:.75rem;border:1px solid #333;border-radius:6px;font-size:1rem;background:#2a2a2a;color:#fff;transition:border-color .2s}.project-settings-page .form-group input[type=text]:focus,.project-settings-page .form-group textarea:focus,.project-settings-page .form-group select:focus{outline:none;border-color:gold;background:#2a2a2a}.project-settings-page .form-group textarea{resize:vertical;min-height:100px}.project-settings-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.project-settings-page .checkbox-group{display:flex;flex-direction:column;gap:0}.project-settings-page .checkbox-group label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:400;color:#ccc;margin-bottom:0}.project-settings-page .checkbox-group label span{line-height:1.5;flex:1}.project-settings-page .checkbox-group input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;flex-shrink:0}.project-settings-page .checkbox-group small{display:block;margin-top:.5rem;color:#888;font-size:.875rem}.project-settings-page .metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.project-settings-page .metadata-item{padding:1rem;background:#2a2a2a;border-radius:6px}.project-settings-page .metadata-item .label{display:block;font-size:.875rem;color:#888;margin-bottom:.25rem}.project-settings-page .metadata-item .value{display:block;font-weight:500;color:#fff}.project-settings-page .form-actions{padding:1.5rem 2rem;background:#2a2a2a;border-radius:0 0 8px 8px;display:flex;justify-content:flex-end}.project-settings-page .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.project-settings-page .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.project-settings-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.project-settings-page .danger-zone{background:#1e1e1e;border-radius:8px;box-shadow:0 2px 8px #0000004d;border:1px solid rgba(244,67,54,.3)}.project-settings-page .danger-zone h2{color:#d32f2f}.project-settings-page .danger-actions{display:flex;flex-direction:column;gap:1.5rem}.project-settings-page .danger-action{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #333;border-radius:6px}.project-settings-page .danger-action h3{margin:0 0 .25rem;font-size:1rem;color:#fff}.project-settings-page .danger-action p{margin:0;font-size:.875rem;color:#888}.project-settings-page .btn-warning,.project-settings-page .btn-danger{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.project-settings-page .btn-warning{background:#ff9800;color:#fff}.project-settings-page .btn-warning:hover:not(:disabled){background:#f57c00}.project-settings-page .btn-danger{display:inline-flex;align-items:center;gap:.5rem;background:#f44336;color:#fff}.project-settings-page .btn-danger:hover:not(:disabled){background:#d32f2f}.project-settings-page .btn-warning:disabled,.project-settings-page .btn-danger:disabled{opacity:.6;cursor:not-allowed}.project-settings-page .error-message{padding:1rem;background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.3);border-radius:6px;margin-bottom:1rem}.project-settings-page .loading{padding:2rem;text-align:center;color:#888}@media (max-width: 768px){.project-settings-page{padding:1rem}.project-settings-page .form-row{grid-template-columns:1fr}.project-settings-page .danger-action{flex-direction:column;align-items:flex-start;gap:1rem}.project-settings-page .btn-warning,.project-settings-page .btn-danger{width:100%;justify-content:center}}.project-member-management{background:#1a1a1a;border-radius:12px;padding:24px;color:#fff}.member-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #333}.member-management-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:600;color:gold}.member-management-actions{display:flex;gap:12px}.member-management-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #333}.tab-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#999;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500}.tab-btn:hover{color:#fff;background:#ffffff0d}.tab-btn.active{color:gold;border-bottom-color:gold}.members-section,.invitations-section{min-height:400px}.members-list,.invitations-list{display:flex;flex-direction:column;gap:12px}.member-card,.invitation-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#2a2a2a;border-radius:8px;border:1px solid #333;transition:all .2s}.member-card:hover,.invitation-card:hover{background:#333;border-color:#444}.member-info,.invitation-info{display:flex;align-items:center;gap:16px;flex:1}.member-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#444;display:flex;align-items:center;justify-content:center}.member-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:18px;font-weight:600;color:#999}.member-details{flex:1}.member-details h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#fff}.member-details p{margin:0 0 8px;font-size:14px;color:#999}.member-role{display:inline-block;padding:4px 8px;background:#ffd70026;color:gold;border-radius:4px;font-size:12px;font-weight:500}.member-actions{display:flex;gap:8px}.role-edit{display:flex;align-items:center;gap:8px}.role-select{padding:6px 12px;background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px;min-width:120px}.invitation-code{font-family:Courier New,monospace;font-size:14px;color:gold;margin-bottom:8px}.invitation-details p{margin:4px 0;font-size:14px;color:#ccc}.status{padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500}.status.pending{background:#f39c1226;color:#f39c12}.status.expired{background:#e74c3c26;color:#e74c3c}.status.revoked{background:#95a5a626;color:#95a5a6}.invitation-actions{display:flex;gap:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#666}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin:0 0 20px;font-size:16px}.member-management-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#666}.member-management-denied svg{margin-bottom:20px;opacity:.5}.member-management-denied h3{margin:0 0 8px;font-size:20px;color:#999}.member-management-denied p{margin:0;font-size:14px;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#1a1a1a;border-radius:12px;padding:24px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;border:1px solid #333}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #333}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.modal-body{margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #333}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#ccc}.search-input{position:relative}.search-input svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#666}.project-member-management .modal .search-input input{width:100%;padding:10px 12px 10px 40px;background:#2a2a2a;border:none!important;border-radius:6px;color:#fff;font-size:14px;box-shadow:none!important}.project-member-management .modal .search-input input:focus{outline:none;border:none!important;box-shadow:0 0 0 1px gold}.users-list{max-height:300px;overflow-y:auto;border:1px solid #333;border-radius:6px;background:#2a2a2a}.project-member-management .modal .user-checkbox{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #333;cursor:pointer;transition:background-color .2s}.user-checkbox:hover{background:#333}.user-checkbox:last-child{border-bottom:none}.project-member-management .modal .user-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#ffd700;flex-shrink:0;order:2;margin-left:12px}.project-member-management .modal .user-checkbox .user-info{display:flex;align-items:center;gap:12px;flex:1;order:1}.user-info .user-avatar{width:32px;height:32px;font-size:12px}.user-details strong{display:block;font-size:14px;color:#fff}.user-details p{margin:2px 0 0;font-size:12px;color:#999}.share-code-result{padding:16px;background:#2a2a2a;border-radius:8px;border:1px solid #333}.share-code-display{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;background:#333;border-radius:6px}.share-code-display code{flex:1;padding:8px 12px;background:#1a1a1a;border-radius:4px;font-family:Courier New,monospace;font-size:16px;color:gold;word-break:break-all}.share-code-info p{margin:4px 0;font-size:14px;color:#ccc}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:gold;color:#000}.project-member-management .modal .btn-primary:disabled{background:gold;color:#000;opacity:.85;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:#ffed4e;transform:translateY(-1px)}.btn-secondary{background:#2a2a2a;color:#999;border:1px solid #333}.btn-secondary:hover:not(:disabled){background:#333;color:#fff;border-color:#444}.btn-success{background:#2ecc71;color:#fff}.btn-success:hover:not(:disabled){background:#27ae60;transform:translateY(-1px)}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.btn-sm{padding:6px 12px;font-size:12px}@media (max-width: 768px){.project-member-management{padding:16px}.member-management-header{flex-direction:column;align-items:stretch;gap:16px}.member-management-actions{justify-content:stretch}.member-management-actions .btn{flex:1;justify-content:center}.member-card,.invitation-card{flex-direction:column;align-items:stretch;gap:16px}.member-actions,.invitation-actions{justify-content:flex-end}.modal{width:95%;padding:16px}.share-code-display{flex-direction:column;align-items:stretch;gap:8px}.share-code-display code{text-align:center}}.project-members-page{padding:24px;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.members-header{margin-bottom:32px;background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.members-header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:16px 0 0}.members-header .back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease}.members-header .back-btn:hover{background:#333;border-color:gold}.loading{text-align:center;padding:48px;color:#888;font-size:16px}.error-message{text-align:center;padding:48px;color:#f44;font-size:16px;background:#2a2a2a;border:1px solid #ff4444;border-radius:12px;margin-bottom:24px}.versions-page{width:100%;padding:2rem;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.versions-page .versions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:2rem}.versions-page .back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#2a2a2a;border:1px solid #333;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap}.versions-page .back-btn:hover{background:#333;border-color:gold}.versions-page .header-title{flex:1}.versions-page .header-title h1{margin:0;font-size:1.75rem;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.versions-page .header-title .project-name{margin:.25rem 0 0;color:#888;font-size:.875rem}.versions-page .create-version-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.versions-page .create-version-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.versions-page .error-message{padding:1rem;background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.3);border-radius:6px;margin-bottom:1rem}.versions-page .loading{padding:3rem;text-align:center;color:#888}.versions-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 2px 8px #0000004d}.versions-page .empty-state svg{color:#999;margin-bottom:1rem}.versions-page .empty-state h3{margin:0 0 .5rem;font-size:1.25rem;color:#fff}.versions-page .empty-state p{margin:0 0 1.5rem;color:#888}.versions-page .versions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.versions-page .version-card{background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:all .2s;border-left:4px solid transparent}.versions-page .version-card:hover{box-shadow:0 4px 16px #ffd70026;transform:translateY(-2px);border-color:gold}.versions-page .version-card.open{border-left-color:#2196f3}.versions-page .version-card.locked{border-left-color:#ff9800}.versions-page .version-card.closed{border-left-color:#9e9e9e;opacity:.85}.versions-page .version-card-header{margin-bottom:1rem}.versions-page .version-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.versions-page .version-title h3{margin:0;font-size:1.125rem;color:#fff;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.versions-page .version-status{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#2a2a2a;border-radius:12px;font-size:.875rem;white-space:nowrap;color:#ccc}.versions-page .version-status .status-icon{flex-shrink:0}.versions-page .version-status .status-icon.open{color:#2196f3}.versions-page .version-status .status-icon.locked{color:#ff9800}.versions-page .version-status .status-icon.closed{color:#9e9e9e}.versions-page .version-description{margin:0 0 1rem;color:#888;font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.versions-page .version-dates{display:flex;gap:1.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #333}.versions-page .date-item{display:flex;flex-direction:column;gap:.25rem}.versions-page .date-label{font-size:.75rem;color:#999;text-transform:uppercase;font-weight:500}.versions-page .date-value{font-size:.875rem;color:#fff}.versions-page .version-meta{display:flex;flex-wrap:wrap;gap:.75rem}.versions-page .meta-item{padding:.25rem .75rem;background:#2a2a2a;border-radius:12px;font-size:.75rem;color:#666}.versions-page .dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.versions-page .dialog-content{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 24px #0003}.versions-page .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #eee}.versions-page .dialog-header h2{margin:0;font-size:1.25rem;color:#1a1a1a}.versions-page .close-btn{background:transparent;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.versions-page .close-btn:hover{background:#f5f5f5;color:#333}.versions-page .version-form{padding:1.5rem}.versions-page .form-group{margin-bottom:1.5rem}.versions-page .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.versions-page .form-group input[type=text],.versions-page .form-group input[type=date],.versions-page .form-group textarea,.versions-page .form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;color:#333;transition:border-color .2s}.versions-page .form-group input[type=text]:focus,.versions-page .form-group input[type=date]:focus,.versions-page .form-group textarea:focus,.versions-page .form-group select:focus{outline:none;border-color:#d4af37}.versions-page .form-group textarea{resize:vertical;min-height:80px}.versions-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.versions-page .dialog-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #eee}.versions-page .btn-secondary,.versions-page .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.versions-page .btn-secondary{background:#f5f5f5;color:#333}.versions-page .btn-secondary:hover:not(:disabled){background:#e0e0e0}.versions-page .btn-primary{background:#d4af37;color:#fff}.versions-page .btn-primary:hover:not(:disabled){background:#b8941f}.versions-page .btn-secondary:disabled,.versions-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.versions-page{padding:1rem}.versions-page .versions-header{flex-direction:column;align-items:stretch;gap:1rem}.versions-page .header-title h1{font-size:1.5rem}.versions-page .versions-grid,.versions-page .form-row{grid-template-columns:1fr}.versions-page .dialog-content{width:95%;max-height:95vh}}.column-management-dialog{background:#121212;border-radius:16px;width:min(560px,100vw);max-height:85vh;overflow:hidden;box-shadow:0 24px 60px #000000a6;border:2px solid #d4af37;display:flex;flex-direction:column}.column-dialog-overlay{background:#000000d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.column-management-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:none;background:#121212;z-index:10}.column-management-dialog .dialog-header h2{margin:0;font-size:1.5rem;color:#d4af37}.column-management-dialog .close-btn{background:transparent;border:none;color:#666;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.column-management-dialog .close-btn:hover{background:#333;color:#ddd}.column-management-dialog .dialog-content{padding:1.5rem 2rem 2rem;background:#121212;overflow-y:auto;width:100%;border:none}.columns-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.column-item{display:flex;align-items:center;gap:12px;padding:16px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;transition:all .2s}.column-item:hover{background:#222;border-color:#333;box-shadow:0 2px 8px #0000004d}.column-name{font-weight:600;color:#fff;font-size:15px}.wip-badge{padding:4px 10px;background:#d4af371a;color:#d4af37;border-radius:12px;font-size:12px;font-weight:600}.column-actions{display:flex;gap:8px}.action-btn{padding:8px;background:transparent;border:1px solid #444;border-radius:6px;color:#aaa;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover:not(:disabled){background:#333;border-color:#666}.action-btn.save{color:#27ae60;border-color:#27ae60}.action-btn.save:hover{background:#27ae601a}.action-btn.edit{color:#d4af37;border-color:#d4af37}.action-btn.edit:hover{background:#d4af371a}.action-btn.delete:hover:not(:disabled){background:#e74c3c1a}.action-btn.cancel{color:#999}.action-btn:disabled{opacity:.3;cursor:not-allowed}.edit-input{flex:1;padding:10px 12px;border:1px solid #2a2a2a;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s;background:#0d0d0d;color:#ddd}.edit-input:focus{outline:none;border-color:#d4af37;background:#111}.edit-input.wip-input{flex:0 0 120px}.add-column-form{display:flex;flex-direction:column;gap:12px;padding:16px;background:#1a1a1a;border:2px dashed #3a3a3a;border-radius:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.btn-save{background:#d4af37;color:#fff}.btn-save:hover:not(:disabled){background:#b8941f}.btn-cancel{background:#2a2a2a;color:#ddd}.btn-cancel:hover{background:#333}.add-column-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:transparent;border:2px dashed #3a3a3a;border-radius:8px;color:#666;font-weight:600;cursor:pointer;transition:all .2s}.add-column-btn:hover{background:#1a1a1a;border-color:#d4af37;color:#d4af37}.board-page{padding:24px;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.board-header{margin-bottom:32px;background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px;display:flex;align-items:center;gap:24px}.board-info{flex:1}.board-page h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.board-description{color:#888;font-size:14px;margin:0}.board-actions{display:flex;gap:16px;align-items:center}.swimlane-controls{display:flex;gap:4px;background:#2a2a2a;padding:4px;border-radius:8px;border:1px solid #333}.swimlane-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-radius:6px;color:#999;font-weight:500;cursor:pointer;transition:all .2s;font-size:13px}.swimlane-btn:hover{background:#333;color:#fff}.swimlane-btn.active{background:#ffd70026;color:gold}.action-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.board-columns-container{display:flex;gap:24px;overflow-x:auto;padding-bottom:24px;align-items:flex-start}.board-column{min-width:320px;max-width:320px;background:#2a2a2a;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;border:2px solid #333;transition:all .3s}.board-column.near-limit{border-color:#f39c12;box-shadow:0 0 0 2px #f39c121a}.board-column.over-limit{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c1a;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 0 2px #e74c3c1a}50%{box-shadow:0 0 0 4px #e74c3c33}}.board-column:hover{border-color:gold}.column-header{padding:16px;border-bottom:1px solid #333;display:flex;align-items:center;gap:12px}.column-info{flex:1;display:flex;align-items:center;gap:12px}.column-info h3{margin:0;font-size:16px;font-weight:600;color:#fff}.card-count{padding:2px 8px;background:#2a2a2a;border-radius:12px;font-size:12px;color:#888;font-weight:600;transition:all .3s}.card-count.near{background:#f39c1233;color:#f39c12}.card-count.over{background:#e74c3c33;color:#e74c3c}.wip-limit{padding:4px 10px;background:#3498db33;color:#3498db;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;transition:all .3s}.wip-limit.near{background:#f39c1233;color:#f39c12}.wip-limit.over{background:#e74c3c33;color:#e74c3c;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.column-menu-btn{padding:4px;background:transparent;border:none;color:#888;cursor:pointer;border-radius:4px;transition:all .2s ease}.column-menu-btn:hover{background:#2a2a2a;color:#fff}.column-cards{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:calc(100vh - 300px)}.board-card{background:#2a2a2a;border:1px solid #333;border-radius:8px;padding:16px;cursor:grab;transition:all .3s ease}.board-card:active{cursor:grabbing}.board-card:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 8px 20px #ffd70026}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.priority-indicator{width:12px;height:12px;border-radius:50%}.card-id{font-size:12px;color:#888;font-family:Courier New,monospace}.card-subject{font-size:15px;font-weight:600;color:#fff;margin:0 0 8px;line-height:1.4}.card-description{font-size:13px;color:#999;margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quick-add-btn{width:100%;display:flex;align-items:center;gap:8px;padding:12px;background:transparent;border:2px dashed #333;border-radius:8px;color:#666;font-weight:600;cursor:pointer;transition:all .2s}.quick-add-btn:hover{background:#ffd7000d;border-color:gold;color:gold}.quick-add-form{padding:12px;background:#2a2a2a;border-radius:8px}.quick-add-form input{width:100%;padding:10px 12px;background:#1e1e1e;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;margin-bottom:12px}.quick-add-form input:focus{outline:none;border-color:gold}.quick-add-actions{display:flex;gap:8px;justify-content:flex-end}.quick-add-actions button{padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:13px}.btn-add{background:gold;color:#000}.btn-add:hover{background:#e6c200}.btn-cancel{background:transparent;color:#999;border:1px solid #333}.card-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px}.card-type{padding:4px 10px;background:#3498db33;color:#3498db;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.card-assignee{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,gold,#ffed4e);color:#000;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-left:auto}.card-progress{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:6px;background:#333;border-radius:3px;overflow:hidden}.progress-text{font-size:11px;color:#888;font-weight:600;min-width:35px;text-align:right}.empty-column{padding:40px 20px;text-align:center;color:#666;font-size:14px;border:2px dashed #333;border-radius:8px;background:#1a1a1a}.add-column-placeholder{flex:0 0 280px;display:flex;align-items:center;justify-content:center}.add-column-btn{width:100%;height:120px;background:#1e1e1e;border:2px dashed #333;border-radius:12px;color:#888;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.add-column-btn:hover{border-color:gold;color:gold;background:#2a2a2a}.swimlanes-container{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.swimlane{background:#1e1e1e;border:1px solid #333;border-radius:12px;overflow:hidden}.swimlane-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#2a2a2a;border-bottom:1px solid #333;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.swimlane-header:hover{background:#333}.swimlane-label{font-size:16px;font-weight:600;color:#fff;flex:1}.swimlane-color-indicator{width:24px;height:24px;border-radius:50%;border:2px solid #1e1e1e}.swimlane-columns{display:flex;gap:16px;padding:16px;overflow-x:auto}.swimlane-column{min-height:80px;min-width:320px;flex:0 0 320px;display:flex;flex-direction:column;gap:12px;padding:12px;background:#2a2a2a;border:2px solid transparent;border-radius:8px;transition:all .2s}.swimlane-column:hover{border-color:gold;background:#333}.swimlane-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #333;margin-bottom:4px}.swimlane-column-header h4{margin:0;font-size:14px;font-weight:600;color:gold}.swimlane-column-header .card-count{font-size:12px;color:#888;background:#1e1e1e;padding:2px 8px;border-radius:10px}.swimlane-column .board-card{margin:0}@media (max-width: 768px){.board-page{padding:16px}.board-header{flex-direction:column;align-items:stretch}.board-actions{justify-content:stretch}.action-btn{flex:1}.board-column{flex:0 0 280px}}.edit-board-dialog{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.edit-board-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #eee}.edit-board-dialog .dialog-header h2{margin:0;font-size:1.5rem;color:#1a1a1a}.edit-board-dialog .close-btn{background:transparent;border:none;color:#999;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-board-dialog .close-btn:hover{background:#f5f5f5;color:#333}.edit-board-dialog .error-message{margin:1.5rem 2rem 0;padding:1rem;background:#ffebee;color:#c62828;border-radius:6px;font-size:.875rem}.edit-board-dialog .dialog-form{padding:2rem}.edit-board-dialog .form-group{margin-bottom:1.5rem}.edit-board-dialog .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.875rem}.edit-board-dialog .form-group input,.edit-board-dialog .form-group select,.edit-board-dialog .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s}.edit-board-dialog .form-group input:focus,.edit-board-dialog .form-group select:focus,.edit-board-dialog .form-group textarea:focus{outline:none;border-color:#d4af37}.edit-board-dialog .form-group textarea{resize:vertical;min-height:80px}.edit-board-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #eee}.edit-board-dialog .btn-secondary,.edit-board-dialog .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.edit-board-dialog .btn-secondary{background:#f5f5f5;color:#333}.edit-board-dialog .btn-secondary:hover:not(:disabled){background:#e0e0e0}.edit-board-dialog .btn-primary{background:#d4af37;color:#fff}.edit-board-dialog .btn-primary:hover:not(:disabled){background:#b8941f}.edit-board-dialog .btn-secondary:disabled,.edit-board-dialog .btn-primary:disabled{opacity:.6;cursor:not-allowed}.boards-list-page{padding:2rem;width:100%;background:#1e1e1e;min-height:100vh}.boards-list-page .page-header{margin-bottom:2rem}.boards-list-page .back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#aaa;cursor:pointer;transition:all .2s;margin-bottom:1rem}.boards-list-page .back-btn:hover{background:#333;border-color:#666;color:#ddd}.boards-list-page .header-content h1{margin:0 0 .5rem;font-size:2rem;color:#fff}.boards-list-page .subtitle{margin:0;color:#aaa;font-size:1rem}.boards-list-page .loading{text-align:center;padding:4rem;color:#666;font-size:1.125rem}.boards-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:#2a2a2a;padding:1rem;border-radius:8px;box-shadow:0 2px 8px #0000004d}.boards-list-page .view-toggles{display:flex;gap:.5rem}.boards-list-page .view-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #444;border-radius:6px;color:#aaa;cursor:pointer;transition:all .2s;font-size:.875rem}.boards-list-page .view-btn:hover{background:#333;border-color:#666;color:#ddd}.boards-list-page .view-btn.active{background:#d4af37;border-color:#d4af37;color:#fff}.boards-list-page .create-board-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#d4af37;border:none;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.boards-list-page .create-board-btn:hover{background:#b8941f;transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.boards-list-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#2a2a2a;border-radius:8px;color:#666}.boards-list-page .empty-state svg{color:#444;margin-bottom:1rem}.boards-list-page .empty-state h3{margin:0 0 .5rem;font-size:1.5rem;color:#aaa}.boards-list-page .empty-state p{margin:0 0 2rem;color:#666}.boards-list-page .boards-container{display:grid;gap:1.5rem}.boards-list-page .boards-container.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.boards-list-page .boards-container.list{grid-template-columns:1fr}.boards-list-page .board-item{background:#2a2a2a;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:all .2s;position:relative;border:1px solid #333}.boards-list-page .board-item:hover{box-shadow:0 4px 16px #d4af3733;transform:translateY(-2px);border-color:#d4af37}.boards-list-page .board-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.boards-list-page .board-name{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:600;color:#fff}.boards-list-page .board-name svg{color:#d4af37}.boards-list-page .board-menu-btn{background:transparent;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.boards-list-page .board-menu-btn:hover{background:#333;color:#ddd}.boards-list-page .board-description{color:#aaa;font-size:.875rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.boards-list-page .board-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.boards-list-page .board-badges{display:flex;gap:.5rem;flex-wrap:wrap}.boards-list-page .badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.boards-list-page .badge.type{background:#3498db26;color:#3498db}.boards-list-page .badge.public{background:#2ecc7126;color:#2ecc71}.boards-list-page .badge.inactive{background:#95a5a626;color:#95a5a6}.boards-list-page .board-date{font-size:.75rem;color:#666}.boards-list-page .board-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #333;opacity:0;transition:opacity .2s}.boards-list-page .board-item:hover .board-actions{opacity:1}.boards-list-page .action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s;color:#666}.boards-list-page .action-btn:hover{background:#333}.boards-list-page .action-btn.edit:hover{color:#d4af37;background:#d4af371a}.boards-list-page .action-btn.delete:hover{color:#e74c3c;background:#e74c3c1a}.boards-list-page .boards-container.list .board-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}.boards-list-page .boards-container.list .board-meta{flex:1}.boards-list-page .dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.boards-list-page .create-board-dialog{background:#2a2a2a;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000080;border:1px solid #333}.boards-list-page .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #333}.boards-list-page .dialog-header h2{margin:0;font-size:1.5rem;color:#fff}.boards-list-page .close-btn{background:transparent;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.boards-list-page .close-btn:hover{background:#333;color:#ddd}.boards-list-page .error-message{padding:1rem;margin:0 2rem;background:#ffebee;color:#c62828;border-radius:6px;font-size:.875rem}.boards-list-page .dialog-form{padding:2rem}.boards-list-page .form-group{margin-bottom:1.5rem}.boards-list-page .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#ddd;font-size:.875rem}.boards-list-page .form-group input,.boards-list-page .form-group select,.boards-list-page .form-group textarea{width:100%;padding:.75rem;border:1px solid #444;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s;background:#1e1e1e;color:#ddd}.boards-list-page .form-group input:focus,.boards-list-page .form-group select:focus,.boards-list-page .form-group textarea:focus{outline:none;border-color:#d4af37}.boards-list-page .form-group textarea{resize:vertical;min-height:80px}.boards-list-page .dialog-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #333}.boards-list-page .btn-secondary,.boards-list-page .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.boards-list-page .btn-secondary{background:#333;color:#ddd}.boards-list-page .btn-secondary:hover:not(:disabled){background:#444}.boards-list-page .btn-primary{background:#d4af37;color:#fff}.boards-list-page .btn-primary:hover:not(:disabled){background:#b8941f}.boards-list-page .btn-secondary:disabled,.boards-list-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.boards-list-page{padding:1rem}.boards-list-page .toolbar{flex-direction:column;gap:1rem;align-items:stretch}.boards-list-page .view-toggles{justify-content:stretch}.boards-list-page .view-btn{flex:1}.boards-list-page .boards-container.grid,.boards-list-page .boards-container.list .board-item{grid-template-columns:1fr}.boards-list-page .board-actions{margin-top:1rem}}.time-tracker{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.tracker-title{font-size:20px;font-weight:600;color:#fff;margin:0 0 20px}.error-message{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.timer-running{display:flex;flex-direction:column;gap:16px}.timer-display{text-align:center;padding:32px;background:#2a2a2a;border-radius:12px;border:2px solid #ffd700}.timer-label{font-size:14px;color:#888;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.timer-value{font-size:48px;font-weight:700;color:gold;font-family:Courier New,monospace;margin-bottom:8px}.timer-activity{font-size:16px;color:#fff;text-transform:capitalize}.timer-comments textarea{width:100%;padding:12px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;font-family:inherit;resize:vertical;transition:all .3s ease}.timer-comments textarea:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.stop-timer-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease}.stop-timer-btn:hover:not(:disabled){background:#c0392b;transform:translateY(-2px);box-shadow:0 8px 20px #e74c3c4d}.stop-timer-btn:disabled{opacity:.5;cursor:not-allowed}.timer-controls{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#fff;font-weight:500;font-size:14px}.form-group select,.form-group input,.form-group textarea{padding:12px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.form-group textarea{font-family:inherit;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:#666}.start-timer-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease}.start-timer-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2ecc714d}.start-timer-btn:disabled{opacity:.5;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:8px 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #333}.divider span{padding:0 16px;color:#666;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.manual-entry{display:flex;flex-direction:column;gap:12px}.log-time-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.log-time-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.log-time-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.timer-value{font-size:36px}.timer-display{padding:24px}}.add-relation-dialog{max-width:600px;width:90%}.add-relation-dialog .relation-form{padding:1.5rem}.add-relation-dialog .form-group{margin-bottom:1.5rem}.add-relation-dialog .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.add-relation-dialog .form-group select,.add-relation-dialog .form-group input[type=number],.add-relation-dialog .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;color:#333;transition:border-color .2s}.add-relation-dialog .form-group select:focus,.add-relation-dialog .form-group input:focus,.add-relation-dialog .form-group textarea:focus{outline:none;border-color:#d4af37}.add-relation-dialog .form-group small{display:block;margin-top:.5rem;color:#666;font-size:.875rem}.add-relation-dialog .form-group textarea{resize:vertical;min-height:80px}.add-relation-dialog .selected-wp{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f9f9f9;border:1px solid #ddd;border-radius:6px}.add-relation-dialog .selected-wp .wp-info{display:flex;align-items:center;gap:.5rem}.add-relation-dialog .selected-wp .wp-id{font-size:.875rem;color:#666;font-weight:500}.add-relation-dialog .selected-wp .wp-subject{color:#333}.add-relation-dialog .selected-wp .clear-btn{background:transparent;border:none;color:#999;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.add-relation-dialog .selected-wp .clear-btn:hover{background:#eee;color:#333}.add-relation-dialog .search-container{position:relative}.add-relation-dialog .search-input-wrapper{position:relative;display:flex;align-items:center}.add-relation-dialog .search-input-wrapper svg{position:absolute;left:.75rem;color:#999}.add-relation-dialog .search-input-wrapper input{width:100%;padding-left:2.5rem}.add-relation-dialog .search-loading{padding:.5rem;text-align:center;color:#666;font-size:.875rem}.add-relation-dialog .search-results{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:10;margin-top:.5rem}.add-relation-dialog .search-result-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;transition:background .2s;border-bottom:1px solid #f5f5f5}.add-relation-dialog .search-result-item:last-child{border-bottom:none}.add-relation-dialog .search-result-item:hover{background:#f9f9f9}.add-relation-dialog .search-result-item .wp-id{font-size:.875rem;color:#666;font-weight:500;min-width:80px}.add-relation-dialog .search-result-item .wp-subject{flex:1;color:#333}.add-relation-dialog .search-result-item .wp-status{font-size:.75rem;padding:.25rem .5rem;background:#f5f5f5;border-radius:12px;color:#666}.add-relation-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #eee}.add-relation-dialog .btn-secondary,.add-relation-dialog .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.add-relation-dialog .btn-secondary{background:#f5f5f5;color:#333}.add-relation-dialog .btn-secondary:hover:not(:disabled){background:#e0e0e0}.add-relation-dialog .btn-primary{background:#d4af37;color:#fff}.add-relation-dialog .btn-primary:hover:not(:disabled){background:#b8941f}.add-relation-dialog .btn-secondary:disabled,.add-relation-dialog .btn-primary:disabled{opacity:.6;cursor:not-allowed}.add-relation-dialog .error-message{padding:1rem;margin:0 1.5rem 1rem;background:#ffebee;color:#c62828;border-radius:6px;font-size:.875rem}.edit-wp-dialog{background:#1e1e1e;border:1px solid #333;border-radius:12px;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.edit-wp-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #333}.edit-wp-dialog .dialog-header h2{margin:0;font-size:1.5rem;color:gold;font-weight:700}.edit-wp-dialog .close-btn{background:transparent;border:none;color:#666;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-wp-dialog .close-btn:hover{background:#333;color:gold}.edit-wp-dialog .error-message{margin:1.5rem 2rem 0;padding:1rem;background:#e74c3c33;color:#ff6b6b;border:1px solid rgba(231,76,60,.3);border-radius:6px;font-size:.875rem}.edit-wp-dialog .dialog-form{padding:2rem}.edit-wp-dialog .form-group{margin-bottom:1.5rem}.edit-wp-dialog .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#ccc;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.edit-wp-dialog .form-group input[type=text],.edit-wp-dialog .form-group input[type=date],.edit-wp-dialog .form-group input[type=number],.edit-wp-dialog .form-group select,.edit-wp-dialog .form-group textarea{width:100%;padding:.75rem;background:#2a2a2a;color:#fff;border:1px solid #444;border-radius:6px;font-size:1rem;font-family:inherit;transition:all .2s}.edit-wp-dialog .form-group input:focus,.edit-wp-dialog .form-group select:focus,.edit-wp-dialog .form-group textarea:focus{outline:none;border-color:gold;box-shadow:0 0 8px #ffd70033}.edit-wp-dialog .form-group textarea{resize:vertical;min-height:120px}.edit-wp-dialog .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.edit-wp-dialog .form-row .form-group{margin-bottom:0}.edit-wp-dialog .progress-input{display:flex;align-items:center;gap:1rem}.edit-wp-dialog .progress-input input[type=range]{flex:1;height:6px;background:#444;border-radius:3px;outline:none;-webkit-appearance:none}.edit-wp-dialog .progress-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:gold;border-radius:50%;cursor:pointer;transition:all .2s}.edit-wp-dialog .progress-input input[type=range]::-webkit-slider-thumb:hover{background:#ffed4e;transform:scale(1.1)}.edit-wp-dialog .progress-input input[type=range]::-moz-range-thumb{width:20px;height:20px;background:gold;border-radius:50%;cursor:pointer;border:none;transition:all .2s}.edit-wp-dialog .progress-input input[type=range]::-moz-range-thumb:hover{background:#ffed4e;transform:scale(1.1)}.edit-wp-dialog .progress-value{min-width:45px;text-align:right;font-weight:600;color:gold;font-size:1rem}.edit-wp-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #333}.edit-wp-dialog .btn-secondary,.edit-wp-dialog .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s}.edit-wp-dialog .btn-secondary{background:#2a2a2a;color:#aaa;border:1px solid #444}.edit-wp-dialog .btn-secondary:hover:not(:disabled){background:#333;color:#fff;border-color:#555}.edit-wp-dialog .btn-primary{background:gold;color:#000;font-weight:600}.edit-wp-dialog .btn-primary:hover:not(:disabled){background:#ffed4e;transform:translateY(-1px);box-shadow:0 4px 12px #ffd70066}.edit-wp-dialog .btn-secondary:disabled,.edit-wp-dialog .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.edit-wp-dialog{width:95%;max-height:95vh}.edit-wp-dialog .dialog-header,.edit-wp-dialog .dialog-form{padding:1.5rem}.edit-wp-dialog .form-row{grid-template-columns:1fr;gap:1.5rem}.edit-wp-dialog .form-row .form-group{margin-bottom:0}}.comments-section{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000004d}.comments-loading{text-align:center;padding:2rem;color:#999}.comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #333}.comments-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;color:#fff}.comments-header h3 svg{color:#d4af37}.watch-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#aaa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.watch-btn:hover{border-color:gold;color:gold;background:#ffd7001a}.watch-btn.watching{background:gold;border-color:gold;color:#000}.watch-btn.watching:hover{background:#ffed4e;border-color:#ffed4e}.comment-form{margin-bottom:2rem}.comment-form textarea{width:100%;padding:.75rem;border:1px solid #444;border-radius:6px;background:#2a2a2a;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s;margin-bottom:.75rem}.comment-form textarea:focus{outline:none;border-color:gold}.comment-form textarea:disabled{background:#1a1a1a;cursor:not-allowed}.comment-form .submit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:gold;border:none;border-radius:6px;color:#000;font-weight:500;cursor:pointer;transition:all .2s}.comment-form .submit-btn:hover:not(:disabled){background:#ffed4e;transform:translateY(-1px);box-shadow:0 4px 12px #ffd7004d}.comment-form .submit-btn:disabled{opacity:.6;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1.5rem}.no-comments{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:#999}.no-comments svg{color:#ddd;margin-bottom:1rem}.no-comments p{margin:0;font-size:1rem}.comment-item{display:flex;gap:1rem;padding:1rem;border-radius:6px;transition:background .2s}.comment-item:hover{background:#2a2a2a}.comment-avatar{flex-shrink:0}.avatar-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,gold,#ffed4e);color:#000;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.comment-content{flex:1}.comment-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.comment-author{font-weight:600;color:#fff;font-size:.875rem}.comment-time{font-size:.75rem;color:#666}.comment-text{margin:0 0 .75rem;color:#ccc;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.comment-actions{display:flex;gap:1rem}.comment-actions .action-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:none;color:#666;font-size:.75rem;cursor:pointer;border-radius:4px;transition:all .2s;text-decoration:none}.comment-actions .action-btn:hover{background:#333;color:#fff}.comment-actions .action-btn.delete:hover{background:#e74c3c1a;color:#e74c3c}.comment-edit{margin-top:.5rem}.comment-edit textarea{width:100%;padding:.75rem;border:1px solid #444;border-radius:6px;background:#2a2a2a;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:.75rem}.comment-edit textarea:focus{outline:none;border-color:gold}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end}.edit-actions button{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.875rem}.btn-cancel{background:#2a2a2a;color:#aaa;border:1px solid #444}.btn-save:hover{background:#ffed4e}@media (max-width: 768px){.comments-section{padding:1rem}.comments-header{flex-direction:column;align-items:flex-start;gap:1rem}.comment-item{padding:.75rem}.avatar-placeholder{width:32px;height:32px;font-size:.75rem}}.markdown-editor{border:1px solid #333;border-radius:8px;overflow:hidden;background:#1e1e1e}.markdown-toolbar{display:flex;align-items:center;gap:8px;padding:12px;background:#2a2a2a;border-bottom:1px solid #333;flex-wrap:wrap}.toolbar-group{display:flex;gap:4px;padding:0 8px;border-right:1px solid #333}.toolbar-group:last-child{border-right:none}.toolbar-group.ml-auto{margin-left:auto}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:4px;color:#999;cursor:pointer;transition:all .2s;font-size:13px}.toolbar-btn:hover{background:#333;color:#fff;border-color:#444}.toolbar-btn.active{background:#ffd7001a;color:gold;border-color:gold}.markdown-content{position:relative}.markdown-textarea{width:100%;padding:16px;background:#1e1e1e;border:none;color:#fff;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;resize:vertical;outline:none}.markdown-textarea::placeholder{color:#666}.markdown-preview{padding:16px;color:#ddd;font-size:14px;line-height:1.6;overflow-wrap:break-word}.markdown-preview h1{font-size:28px;font-weight:700;color:#fff;margin:16px 0 12px;border-bottom:2px solid #333;padding-bottom:8px}.markdown-preview h2{font-size:24px;font-weight:600;color:#fff;margin:14px 0 10px;border-bottom:1px solid #333;padding-bottom:6px}.markdown-preview h3{font-size:20px;font-weight:600;color:#fff;margin:12px 0 8px}.markdown-preview p{margin:8px 0}.markdown-preview strong{font-weight:700;color:#fff}.markdown-preview em{font-style:italic;color:#ccc}.markdown-preview code{padding:2px 6px;background:#2a2a2a;border:1px solid #333;border-radius:3px;color:#f39c12;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px}.markdown-preview pre{padding:12px;background:#2a2a2a;border:1px solid #333;border-radius:6px;overflow-x:auto;margin:12px 0}.markdown-preview pre code{padding:0;background:none;border:none;color:#ddd;font-size:13px}.markdown-preview ul,.markdown-preview ol{margin:8px 0;padding-left:24px}.markdown-preview li{margin:4px 0;color:#ddd}.markdown-preview a{color:gold;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s}.markdown-preview a:hover{border-bottom-color:gold}.markdown-help{padding:8px 16px;background:#2a2a2a;border-top:1px solid #333;font-size:12px;color:#666}.attachment-list{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.attachment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.attachment-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.upload-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:gold;border:none;border-radius:8px;color:#000;font-weight:600;cursor:pointer;transition:all .2s}.upload-btn:hover:not(:disabled){background:#e6c200}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.upload-progress{display:flex;align-items:center;gap:12px;padding:12px;background:#2a2a2a;border-radius:8px;margin-bottom:16px}.progress-fill{height:100%;background:gold;transition:width .3s}.progress-text{font-size:12px;font-weight:600;color:gold;min-width:45px;text-align:right}.empty-attachments{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#666}.empty-attachments svg{color:#444;margin-bottom:16px}.empty-attachments p{margin:4px 0}.empty-hint{font-size:13px;color:#555}.attachments-grid{display:flex;flex-direction:column;gap:12px}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;transition:all .2s}.attachment-item:hover{border-color:gold;background:#333}.attachment-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-icon{flex-shrink:0}.file-icon.image{color:#3498db}.file-icon.pdf{color:#e74c3c}.file-icon.default{color:#999}.attachment-details{flex:1;min-width:0}.attachment-name{font-size:14px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.attachment-meta{font-size:12px;color:#888}.attachment-description{font-size:13px;color:#999;margin-top:6px;font-style:italic}.attachment-actions{display:flex;gap:8px}.action-btn{padding:8px;background:transparent;border:1px solid #444;border-radius:6px;color:#999;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#3a3a3a}.action-btn.download{color:#3498db;border-color:#3498db}.action-btn.download:hover{background:#3498db1a}.action-btn.delete{color:#e74c3c;border-color:#e74c3c}.action-btn.delete:hover{background:#e74c3c1a}.activity-history{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.activity-history.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#888}.activity-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #333}.activity-history-header h3{margin:0;font-size:20px;font-weight:600;color:#fff}.activity-count{padding:4px 12px;background:#2a2a2a;border-radius:12px;font-size:13px;color:#888;font-weight:600}.no-activities{text-align:center;padding:48px 24px;color:#666}.no-activities p{margin:0;font-size:15px}.activity-timeline{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;gap:16px;padding:16px;background:#2a2a2a;border-radius:8px;border:1px solid #333;transition:all .2s}.activity-item:hover{border-color:gold;background:#333}.activity-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;background:#1e1e1e;border-radius:50%;border:2px solid #333}.activity-details{flex:1;display:flex;flex-direction:column;gap:8px}.activity-content{color:#fff;font-size:14px;line-height:1.6}.activity-actor{font-weight:600;color:gold}.activity-action{color:#999}.activity-field{color:#3498db;font-weight:500}.activity-change{color:#999}.old-value{padding:2px 8px;background:#e74c3c33;color:#e74c3c;border-radius:4px;font-weight:500}.new-value{padding:2px 8px;background:#2ecc7133;color:#2ecc71;border-radius:4px;font-weight:500}.activity-description{margin-top:8px;padding:12px;background:#1e1e1e;border-left:3px solid #ffd700;border-radius:4px;color:#ccc;font-size:13px;line-height:1.5}.activity-meta{display:flex;gap:12px;align-items:center}.activity-time{font-size:12px;color:#666}.activity-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid #333}.pagination-btn{padding:8px 16px;background:#2a2a2a;border:1px solid #333;border-radius:6px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;font-size:13px}.pagination-btn:hover:not(:disabled){background:#333;border-color:gold;color:gold}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#888;font-size:13px;font-weight:500}.activity-expand,.activity-collapse{display:flex;justify-content:center;margin-top:16px;padding-top:16px;border-top:1px solid #333}.expand-btn,.collapse-btn{padding:10px 20px;background:#2a2a2a;border:1px solid #ffd700;border-radius:6px;color:gold;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.expand-btn:hover,.collapse-btn:hover{background:gold;color:#1e1e1e}.work-package-detail-page{padding:2rem;width:100%;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.work-package-detail-page .attachments-wrapper,.work-package-detail-page .comments-wrapper,.work-package-detail-page .activity-history-wrapper{margin-top:2rem;width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease}.action-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffd7004d}.action-btn.secondary{background:#2a2a2a;color:#fff;border:1px solid #333}.action-btn.secondary:hover{background:#333;box-shadow:0 4px 12px #ffffff1a}.action-btn.danger{background:#e74c3c;color:#fff}.action-btn.danger:hover{background:#c0392b;box-shadow:0 8px 20px #e74c3c4d}.content-grid{display:grid;grid-template-columns:1fr 450px;gap:32px;max-width:100%}.main-content{display:flex;flex-direction:column;gap:24px}.wp-header{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px}.wp-id{font-size:14px;color:#888;font-family:Courier New,monospace;margin-bottom:12px}.work-package-detail-page h1{font-size:32px;font-weight:700;color:#fef9c3;margin:0 0 16px;line-height:1.3}.work-package-detail-page .wp-header h1{color:#fef9c3}.wp-meta{display:flex;gap:12px;flex-wrap:wrap}.priority-badge,.type-badge,.status-badge{padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.priority-badge{color:#fff}.type-badge{background:#3498db33;color:#3498db}.status-badge{background:#2ecc7133;color:#2ecc71}.section{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:24px;margin-bottom:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.edit-description-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#2a2a2a;border:1px solid #333;border-radius:6px;color:#999;font-weight:500;cursor:pointer;transition:all .2s;font-size:13px}.edit-description-btn:hover{background:#333;border-color:gold;color:gold}.description-editor{margin-top:16px}.editor-actions{display:flex;gap:12px;margin-top:16px;justify-content:flex-end}.btn-save,.btn-cancel{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.btn-save{background:gold;color:#000}.btn-save:hover{background:#e6c200}.btn-cancel{background:#2a2a2a;color:#999;border:1px solid #333}.btn-cancel:hover{background:#333;color:#fff}.empty-text{color:#666;font-style:italic}.section h2{font-size:20px;font-weight:600;color:#fff;margin:0 0 20px;display:flex;align-items:center;gap:8px}.description-content{color:#ccc;font-size:15px;line-height:1.7;white-space:pre-wrap}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item .label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-item .value{font-size:15px;color:#fff;font-weight:500}.progress-display{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:8px;background:#333;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,gold,#ffed4e);transition:width .3s ease}.progress-display span{min-width:40px;text-align:right;color:gold;font-weight:600}.sidebar{display:flex;flex-direction:column;gap:24px}.work-package-detail-page .sidebar .time-tracker .form-group label{color:#e5e7eb}.work-package-detail-page .sidebar .time-tracker .form-group select,.work-package-detail-page .sidebar .time-tracker .form-group input,.work-package-detail-page .sidebar .time-tracker .form-group textarea{background:#111827;border-color:#374151;color:#f9fafb}.work-package-detail-page .sidebar .time-tracker .form-group input::placeholder,.work-package-detail-page .sidebar .time-tracker .form-group textarea::placeholder{color:#6b7280}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0}.add-relation-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-relation-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffd7004d}.relations-list{display:flex;flex-direction:column;gap:12px}.relation-item{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:16px;padding:16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;transition:all .2s}.relation-item:hover{border-color:gold;background:#333}.relation-type{font-size:13px;font-weight:600;color:gold;text-transform:capitalize}.relation-target{display:flex;align-items:center;gap:12px}.relation-target .wp-id{font-size:14px;color:#fff;font-family:Courier New,monospace}.relation-lag{font-size:12px;padding:4px 8px;background:#ffd70033;color:gold;border-radius:4px}.relation-description{grid-column:1 / -1;font-size:13px;color:#999;margin-top:8px;padding-top:12px;border-top:1px solid #333}.children-list{display:grid;gap:12px}.child-item{padding:16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;cursor:pointer;transition:all .2s}.child-item:hover{border-color:gold;background:#333;transform:translate(4px)}.child-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.child-id{font-size:12px;color:#888;font-family:Courier New,monospace}.child-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:12px;line-height:1.4}.child-meta{display:flex;gap:8px;flex-wrap:wrap}.progress-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#ffd70033;color:gold}.delete-relation-btn{background:transparent;border:none;color:#666;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s}.delete-relation-btn:hover{background:#e74c3c33;color:#e74c3c}.empty-state{text-align:center;padding:40px 20px;color:#666;font-size:14px;border:2px dashed #333;border-radius:8px}.loading,.error-message{text-align:center;padding:48px;font-size:16px}.loading{color:#888}.error-message{color:#e74c3c;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px;margin-bottom:24px}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}.sidebar{order:-1}.details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.work-package-detail-page{padding:16px}.page-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{justify-content:stretch}.action-btn{flex:1}.work-package-detail-page h1{font-size:24px}}.time-entries-wrapper{margin-top:2rem;width:100%;background:#1e1e1ecc;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,215,0,.1)}.time-entries-wrapper h3{margin:0 0 1rem;color:gold;font-size:1.2rem}.time-entries-table{width:100%;border-collapse:collapse}.time-entries-table th,.time-entries-table td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(255,215,0,.1)}.time-entries-table th{color:gold;font-weight:600;background:#ffd7000d}.time-entries-table td{color:#e0e0e0}.time-entries-table tbody tr:hover{background:#ffd7000d}.gantt-page{padding:2rem;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0a0a0a)}.gantt-page .loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:#888;font-size:16px}.gantt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:24px}.gantt-header h1{flex:1;margin:0;font-size:28px;font-weight:700;color:#fff}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#2a2a2a;border:1px solid #333;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease;font-weight:500}.back-btn:hover{background:#333;border-color:gold}.gantt-toolbar{display:flex;align-items:center;gap:16px;flex:1}.gantt-controls{display:flex;gap:8px;background:#2a2a2a;padding:4px;border-radius:8px;border:1px solid #333}.gantt-navigation{display:flex;gap:4px;background:#2a2a2a;padding:4px;border-radius:8px;border:1px solid #333}.gantt-actions{display:flex;gap:8px;background:#2a2a2a;padding:4px;border-radius:8px;border:1px solid #333}.nav-btn,.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#999;cursor:pointer;transition:all .2s}.nav-btn:hover,.action-btn:hover{background:#333;color:#fff}.nav-btn.active,.action-btn.active{background:#ffd70026;color:gold}.nav-btn:disabled,.action-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.view-mode-btn{padding:8px 16px;background:transparent;border:none;border-radius:6px;color:#999;font-weight:600;cursor:pointer;transition:all .2s;font-size:13px}.view-mode-btn:hover{background:#333;color:#fff}.view-mode-btn.active{background:#ffd70026;color:gold}.gantt-container{display:flex;background:#1e1e1e;border:1px solid #333;border-radius:12px;overflow:hidden}.gantt-sidebar{width:280px;flex-shrink:0;border-right:1px solid #333;background:#2a2a2a}.gantt-sidebar-header{height:48px;display:flex;align-items:center;padding:0 16px;font-weight:600;color:#fff;background:#1e1e1e;border-bottom:1px solid #333;font-size:14px}.gantt-task-name{height:48px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid #333;color:#fff}.expand-btn{background:none;border:none;color:#999;cursor:pointer;font-size:10px;padding:2px;border-radius:2px;transition:color .2s}.expand-btn:hover{color:gold}.gantt-task-name .task-id{color:#888;font-size:11px;font-family:Courier New,monospace}.gantt-task-name .task-subject{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.gantt-timeline-container{flex:1;overflow-x:auto;overflow-y:hidden}.gantt-timeline-header{display:flex;height:48px;background:#1e1e1e;border-bottom:1px solid #333}.timeline-cell{flex-shrink:0;display:flex;align-items:center;justify-content:center;border-right:1px solid #333;color:#888;font-size:12px;font-weight:600}.gantt-chart{position:relative;min-height:calc(100vh - 300px);background-image:repeating-linear-gradient(to bottom,transparent,transparent 47px,#333 47px,#333 48px)}.timeline-column{position:absolute;top:0;bottom:0;border-right:1px solid #333;pointer-events:none}.timeline-column:nth-child(7n){background:#ffffff05}.gantt-task-bar{position:absolute;height:32px;border-radius:6px;cursor:grab;transition:all .2s;display:flex;align-items:center;padding:0 12px;box-shadow:0 2px 8px #0000004d;-webkit-user-select:none;user-select:none}.gantt-task-bar:active{cursor:grabbing}.resize-handle{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;background:#ffffff1a;transition:background .2s;z-index:10;pointer-events:auto}.resize-handle:hover{background:#ffd70080;width:16px}.resize-handle.resize-start{left:-2px;border-radius:6px 0 0 6px}.resize-handle.resize-end{right:-2px;border-radius:0 6px 6px 0}.task-progress{position:absolute;top:0;left:0;bottom:0;background:#ffffff4d;border-radius:6px 0 0 6px;pointer-events:none}.gantt-task-bar:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000080;z-index:10}.task-bar-label{color:#fff;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.5);flex:1;z-index:1;position:relative}.gantt-dependencies{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.gantt-dependencies line{transition:stroke .2s}.gantt-dependencies line:hover{stroke:gold!important;stroke-width:3!important}.gantt-task-bar.critical{box-shadow:0 0 0 2px #e74c3c,0 2px 8px #0000004d}.gantt-task-bar.milestone{background:#9b59b6!important;border-radius:50%;width:32px!important;height:32px!important;display:flex;align-items:center;justify-content:center}.gantt-task-bar.milestone .task-bar-label{display:none}.gantt-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;color:gold;font-weight:600}.timeline-column.weekend{background:#ffffff0d}.timeline-column.today{background:#ffd7001a}.gantt-task-tooltip{position:fixed;background:#2a2a2a;border:1px solid #333;border-radius:8px;padding:12px;color:#fff;font-size:12px;z-index:1001;pointer-events:none;box-shadow:0 4px 12px #00000080;max-width:300px}.gantt-task-tooltip h4{margin:0 0 8px;color:gold;font-size:14px}.gantt-task-tooltip p{margin:4px 0;color:#ccc}.gantt-task-tooltip .progress{margin-top:8px;padding-top:8px;border-top:1px solid #333}@media (max-width: 768px){.gantt-page{padding:16px}.gantt-header{flex-direction:column;align-items:stretch;gap:16px}.gantt-toolbar{flex-direction:column;gap:12px}.gantt-sidebar{width:200px}.gantt-task-name .task-subject{font-size:12px}.resize-handle{width:12px}}.erp-customer-page{padding:var(--spacing-xl)}.erp-page-header{max-width:1200px;margin:0 auto var(--spacing-lg);background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-lg) var(--spacing-xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.erp-page-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.erp-page-header-top h1{font-size:var(--font-size-2xl);color:var(--color-gray-900);margin:0}.erp-page-header-top p{margin-top:4px;font-size:var(--font-size-sm);color:var(--color-gray-500)}.erp-search-row{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.erp-search-input-wrapper{position:relative;flex:1}.erp-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-gray-400)}.erp-search-input{width:100%;padding:8px 12px 8px 36px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);font-size:var(--font-size-sm)}.erp-search-input::placeholder{color:var(--color-gray-400)}.erp-page-body{max-width:1200px;margin:0 auto}.erp-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg);background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.erp-summary-bar>div{text-align:center;padding:var(--spacing-sm) 0}@media (max-width: 768px){.erp-summary-bar{grid-template-columns:repeat(2,1fr)}}.erp-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-lg)}.erp-customer-card{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-gray-200);box-shadow:0 1px 3px #0f172a0f;transition:box-shadow .2s,transform .2s,border-color .2s}.erp-customer-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}.erp-view-toggle{display:flex;align-items:center;gap:4px}.erp-view-toggle-button{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);background-color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-gray-600);font-size:16px;transition:all .2s}.erp-view-toggle-button:hover{background-color:var(--color-gray-50)}.erp-view-toggle-button.active{border-color:var(--color-primary);color:var(--color-primary);background-color:#c9a06314}.erp-list-container{background-color:#fff;border-radius:var(--radius-md);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);overflow:hidden}.erp-list-header,.erp-list-row{display:grid;grid-template-columns:1fr 1.5fr 1fr .8fr .8fr 100px;padding:12px 16px;column-gap:12px;align-items:center}.erp-list-header.training-topics,.erp-list-row.training-topics{grid-template-columns:1fr 1.5fr 1fr .8fr .8fr 90px}.erp-list-header.training-batches,.erp-list-row.training-batches{grid-template-columns:1fr 1.5fr 1fr .8fr .8fr 110px}.erp-list-header.training-participants,.erp-list-row.training-participants{grid-template-columns:1.2fr 1fr 1fr 1fr .6fr 80px}.erp-list-header.training-participants-limited,.erp-list-row.training-participants-limited{grid-template-columns:1.2fr 1fr 1fr 1fr}.erp-list-header{background-color:var(--color-gray-50);font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:600}.erp-list-row{border-top:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-800)}.erp-list-row:hover{background-color:var(--color-gray-50)}.erp-list-primary{font-weight:600;margin-bottom:4px}.erp-list-secondary{font-size:12px;color:var(--color-gray-500)}.erp-list-contact-line{font-size:12px;color:var(--color-gray-600)}.erp-list-actions{display:flex;justify-content:flex-end;gap:4px}.erp-status-badge{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.erp-status-badge.active{background-color:#dcfce7;color:#15803d}.erp-status-badge.inactive{background-color:var(--color-gray-100);color:var(--color-gray-700)}.erp-empty-state{height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-gray-500);gap:var(--spacing-md)}.erp-empty-state-icon{font-size:40px;color:var(--color-gray-300)}.erp-pagination-bar{margin-top:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-gray-200)}.erp-pagination-info{font-size:var(--font-size-sm);color:var(--color-gray-700)}.erp-pagination{margin-top:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between}.erp-pagination-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.erp-tabs{display:flex;border-bottom:1px solid var(--color-gray-200);background-color:var(--color-gray-50)}.erp-tab{padding:12px 24px;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s}.erp-tab:hover{color:var(--color-gray-900);background-color:var(--color-gray-100)}.erp-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:#fff}.erp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.erp-modal{background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.erp-modal-large{max-width:800px}.erp-modal-header{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-900);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-gray-100)}.erp-modal-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.erp-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-gray-100)}.erp-form-group{display:flex;flex-direction:column;gap:6px}.erp-form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.erp-form-input,.erp-form-select,.erp-form-textarea{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);font-size:var(--font-size-sm);transition:border-color .2s,box-shadow .2s}.erp-form-input:focus,.erp-form-select:focus,.erp-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631a}.erp-form-input:disabled{background-color:var(--color-gray-50);cursor:not-allowed}.erp-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media (max-width: 768px){.erp-form-row{grid-template-columns:1fr}}.erp-page-body--form{margin-top:var(--spacing-lg);max-width:1100px;margin-left:auto;margin-right:auto}.erp-page-body--form form{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-2xl);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.erp-page-body--form h2{font-size:var(--font-size-xl);color:var(--color-gray-900);margin:0 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-gray-100)}.erp-page-body--form h3{font-size:var(--font-size-lg);color:var(--color-gray-900);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-xl);display:flex;align-items:center;gap:8px}.erp-page-body--form h3:first-of-type{margin-top:0}.erp-page-body--form label{font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:500}.erp-page-body--form input,.erp-page-body--form select,.erp-page-body--form textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);padding:10px 14px;font-size:var(--font-size-sm);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.erp-page-body--form input:focus,.erp-page-body--form select:focus,.erp-page-body--form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631a}.erp-page-body--form input:disabled{background-color:var(--color-gray-50);cursor:not-allowed}.erp-field-error{margin-top:6px;font-size:var(--font-size-xs);color:var(--color-danger)}.erp-required:after{content:" *";color:var(--color-danger);font-weight:500}.erp-form-label.required:after,.erp-page-body--form label.required:after,label.erp-required:after{content:" *";color:var(--color-danger);font-weight:500}.erp-form-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-gray-100)}.erp-quotation-items{display:flex;flex-direction:column;gap:8px}.erp-quotation-items-header,.erp-quotation-items-row{display:grid;grid-template-columns:1.2fr 1.5fr .8fr .8fr .8fr 1fr .8fr .6fr;gap:12px;align-items:center}.erp-quotation-items-header{font-weight:600;color:var(--color-gray-700);padding:8px 10px;background:var(--color-gray-50);border-radius:var(--radius-md)}.erp-quotation-items-row{padding:10px;background:#fff;border:1px solid var(--color-gray-100);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.erp-quotation-items-row input,.erp-quotation-items-row select{width:100%}.erp-quotation-items-footer{display:flex;justify-content:flex-start;padding-top:8px}.erp-form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.erp-form-actions{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-gray-100);display:flex;gap:var(--spacing-md);justify-content:flex-end}@media (max-width: 1200px){.erp-page-body--form{max-width:900px}}@media (max-width: 768px){.erp-customer-page{padding:var(--spacing-md)}.erp-page-header{padding:var(--spacing-md) var(--spacing-lg)}.erp-page-header-top{flex-direction:column;align-items:flex-start}.erp-search-row{flex-direction:column;align-items:stretch}.erp-pagination-bar{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.erp-page-body--form{max-width:100%}.erp-page-body--form form{padding:var(--spacing-lg)}.erp-form-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.erp-form-actions{flex-direction:column-reverse;align-items:stretch}.erp-form-actions button{width:100%;justify-content:center}}.erp-invoice-page .badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;border:1px solid var(--color-gray-200);background-color:var(--color-gray-50);color:var(--color-gray-700)}.erp-invoice-page .badge-secondary{border-color:var(--color-gray-200);background-color:var(--color-gray-50);color:var(--color-gray-700)}.erp-invoice-page .badge-primary{border-color:#c9a06359;background-color:#c9a0631f;color:var(--color-primary)}.erp-invoice-page .badge-success{border-color:#52c41a59;background-color:#52c41a1a;color:#15803d}.erp-invoice-page .badge-warning{border-color:#faad1466;background-color:#faad141a;color:#b45309}.erp-invoice-page .badge-danger{border-color:#f5222d59;background-color:#f5222d14;color:#b91c1c}.erp-invoice-header-main{display:flex;flex-direction:column;gap:6px}.erp-invoice-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.erp-invoice-title-row h1{font-size:var(--font-size-2xl);margin:0}.erp-invoice-subtitle{display:flex;flex-wrap:wrap;gap:12px;color:var(--color-gray-600);font-size:var(--font-size-sm)}.erp-invoice-subtitle strong{color:var(--color-gray-900);font-weight:600}.erp-invoice-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.erp-invoice-kpi{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.erp-invoice-kpi-label{font-size:12px;color:var(--color-gray-600);margin-bottom:6px}.erp-invoice-kpi-value{font-size:22px;font-weight:700;color:var(--color-gray-900)}.erp-invoice-kpi-value.success{color:#15803d}.erp-invoice-kpi-value.danger{color:#b91c1c}.erp-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg)}.erp-detail-section{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.erp-detail-section h3{font-size:var(--font-size-base);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-900)}.erp-detail-section--full{margin-top:var(--spacing-lg)}.erp-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:8px 0;border-bottom:1px dashed var(--color-gray-100)}.erp-detail-row:last-child{border-bottom:none}.erp-detail-label{color:var(--color-gray-600);font-size:var(--font-size-sm);flex:0 0 auto}.erp-detail-value{color:var(--color-gray-900);font-size:var(--font-size-sm);font-weight:600;text-align:right}.erp-detail-row--highlight{background:#c9a06314;border-radius:var(--radius-md);padding:10px 12px;border:1px solid rgba(201,160,99,.25)}.erp-detail-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-gray-200)}.erp-detail-table thead th{background:var(--color-gray-50);color:var(--color-gray-700);font-size:12px;font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-gray-200)}.erp-detail-table tbody td{padding:10px 12px;border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-800)}.erp-detail-table tbody tr:nth-child(2n){background:#fcfcfd}.erp-detail-table tbody tr:hover{background:var(--color-gray-50)}.erp-detail-table tbody tr:last-child td{border-bottom:none}@media (max-width: 1024px){.erp-detail-grid,.erp-invoice-kpi-grid{grid-template-columns:1fr}}.asset-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:var(--color-gray-100);border-radius:8px;width:fit-content}.asset-tab-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--color-gray-600);font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.asset-tab-btn:hover{color:var(--color-gray-900);background:#ffffff80}.asset-tab-btn.active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.asset-tab-btn svg{font-size:18px}.asset-tab-content{background:#fff;border-radius:8px;padding:20px;border:1px solid var(--color-gray-200)}.tab-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-gray-200)}.tab-content-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-gray-900)}.status-badge.active{color:#059669;background-color:#d1fae5}.status-badge.inactive{color:#6b7280;background-color:#f3f4f6}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-content.modal-large{max-width:700px}.modal-content.modal-small{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-gray-200)}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-gray-900)}.modal-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-gray-500);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.modal-close svg{font-size:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-gray-200)}.modal-hint{margin:0 0 16px;padding:12px;background:var(--color-gray-50);border-radius:6px;color:var(--color-gray-600);font-size:14px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--color-gray-700)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-gray-300);border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled{background:var(--color-gray-100);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.depreciation-filters{display:flex;gap:12px;align-items:center}.depreciation-filters .filter-select{min-width:100px}.empty-hint{margin-top:8px;font-size:13px;color:var(--color-gray-400)}.asset-type-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--color-gray-200)}.asset-type-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--color-gray-200);border-radius:8px;background:#fff;color:var(--color-gray-600);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.asset-type-btn:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}.asset-type-btn.active{border-color:var(--type-color, var(--color-primary));background:var(--type-bg, var(--color-primary-light));color:var(--type-color, var(--color-primary))}.asset-type-btn svg{font-size:18px}.asset-type-btn span{white-space:nowrap}.asset-type-selector{display:flex;flex-wrap:wrap;gap:16px}.asset-type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px;min-width:140px;border:2px solid var(--color-gray-200);border-radius:12px;background:#fff;color:var(--color-gray-600);font-size:14px;cursor:pointer;transition:all .2s}.asset-type-option:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}.asset-type-option.active{border-color:var(--type-color, var(--color-primary));background:var(--type-bg, var(--color-primary-light));color:var(--type-color, var(--color-primary))}.asset-type-option span{font-weight:600;font-size:15px}.asset-type-option small{font-size:12px;color:var(--color-gray-500);text-align:center}.asset-type-option.active small{color:var(--type-color, var(--color-primary));opacity:.8}.asset-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;padding:4px}.asset-card{background:#fff;border-radius:12px;border:1px solid var(--color-gray-200);overflow:hidden;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.asset-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #2563eb26;transform:translateY(-2px)}.asset-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--color-gray-100);background:var(--color-gray-50)}.asset-card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.asset-card-title{flex:1;min-width:0}.asset-card-name{font-size:16px;font-weight:600;color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card-code{font-size:13px;color:var(--color-gray-500);font-family:SF Mono,Monaco,monospace;margin-top:2px}.asset-card-body{padding:16px}.asset-card-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.asset-card-info{display:flex;flex-direction:column;gap:2px}.asset-card-info .info-label{font-size:12px;color:var(--color-gray-500)}.asset-card-info .info-value{font-size:14px;color:var(--color-gray-800);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card-values{display:flex;gap:16px;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;margin-bottom:12px}.asset-value-item{flex:1;text-align:center}.asset-value-item .value-label{display:block;font-size:12px;color:var(--color-gray-500);margin-bottom:4px}.asset-value-item .value-amount{display:block;font-size:15px;font-weight:600;color:var(--color-gray-800)}.asset-value-item .value-amount.highlight{color:#059669}.asset-value-item .value-amount.depreciation{color:#d97706}.asset-card-people{display:flex;gap:16px;flex-wrap:wrap}.asset-card-people .people-item{display:flex;align-items:center;gap:4px;font-size:13px}.asset-card-people .people-label{color:var(--color-gray-500)}.asset-card-people .people-name{color:var(--color-gray-700);font-weight:500}.asset-card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--color-gray-100);background:#fff}.asset-type-tag{font-size:12px;font-weight:500;padding:4px 10px;border-radius:6px}.asset-card-footer .action-buttons{display:flex;gap:4px}.asset-card-footer .btn-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-gray-500);cursor:pointer;transition:all .15s}.asset-card-footer .btn-icon:hover{background:var(--color-gray-100);color:var(--color-primary)}.asset-card-footer .btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626}.status-badge.clickable{cursor:pointer;transition:all .15s}.status-badge.clickable:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.status-options{display:flex;flex-direction:column;gap:8px}.status-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--color-gray-200);border-radius:8px;cursor:pointer;transition:all .15s}.status-option:hover{border-color:var(--status-color, var(--color-gray-400));background:var(--status-bg, var(--color-gray-50))}.status-option.active{border-color:var(--status-color, var(--color-primary));background:var(--status-bg, var(--color-primary-light))}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-option .status-label{font-size:14px;font-weight:500;color:var(--color-gray-800)}.product-name-cell{display:flex;align-items:center;gap:12px}.product-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover}.product-icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center}.product-icon svg{width:20px;height:20px}.product-name{font-size:14px;font-weight:500;color:var(--color-gray-900)}.product-brand{font-size:12px;color:var(--color-gray-500);margin-top:2px}.data-table-container{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-gray-50)}.data-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--color-gray-600);border-bottom:1px solid var(--color-gray-200)}.data-table tbody tr{border-bottom:1px solid var(--color-gray-100);transition:background-color .15s}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:12px 16px;font-size:14px;color:var(--color-gray-700)}.data-table .font-mono{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:13px}.action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--color-gray-500);cursor:pointer;transition:all .15s}.btn-icon:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.btn-icon svg{width:18px;height:18px}.btn-icon-edit:hover{background:#dcfce7;color:#166534}.btn-icon-delete:hover{background:#fee2e2;color:#b91c1c}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500}.status-badge svg{width:14px;height:14px}.empty-state{padding:48px 24px;text-align:center;color:var(--color-gray-500);font-size:14px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px;border-top:1px solid var(--color-gray-200)}.pagination-info{font-size:13px;color:var(--color-gray-500)}.pagination-buttons{display:flex;gap:8px}.btn-page{padding:6px 12px;border:1px solid var(--color-gray-300);border-radius:6px;background:#fff;font-size:13px;color:var(--color-gray-700);cursor:pointer;transition:all .15s}.btn-page:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-page:disabled{opacity:.5;cursor:not-allowed}.btn-refresh{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--color-gray-300);border-radius:6px;background:#fff;font-size:14px;color:var(--color-gray-700);cursor:pointer;transition:all .15s}.btn-refresh:hover{background:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-refresh svg{width:18px;height:18px}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:var(--color-primary);font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary svg{width:18px;height:18px}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--color-gray-300);border-radius:6px;background:#fff;font-size:14px;color:var(--color-gray-700);cursor:pointer;transition:all .15s}.btn-secondary:hover{background:var(--color-gray-50)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:480px;max-height:90vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-gray-200)}.modal-title{font-size:18px;font-weight:600;color:var(--color-gray-900);margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--color-gray-400);cursor:pointer;transition:all .15s}.modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-600)}.modal-close svg{width:20px;height:20px}.modal-body{padding:20px;overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-gray-200)}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;font-weight:500;color:var(--color-gray-700);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--color-gray-300);border-radius:6px;font-size:14px;color:var(--color-gray-900);background-color:#fff;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631a}.form-input:disabled,.form-select:disabled{background:var(--color-gray-50);cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.btn-back{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-gray-100);border-radius:8px;color:var(--color-gray-600);cursor:pointer;transition:all .15s}.btn-back:hover{background:var(--color-gray-200);color:var(--color-gray-800)}.btn-back svg{width:24px;height:24px}.product-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 768px){.product-type-selector{grid-template-columns:1fr}}.product-type-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid var(--color-gray-200);border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:all .2s}.product-type-option:hover:not(:disabled){border-color:var(--color-gray-300);background:var(--color-gray-50)}.product-type-option:disabled{opacity:.6;cursor:not-allowed}.product-type-option.active{border-color:var(--type-border, var(--color-primary));background:var(--type-bg, rgba(201, 160, 99, .08))}.product-type-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--color-gray-100);color:var(--color-gray-600);flex-shrink:0}.product-type-option.active .product-type-icon{background:var(--type-bg, rgba(201, 160, 99, .15));color:var(--type-color, var(--color-primary))}.product-type-icon svg{width:20px;height:20px}.product-type-info{display:flex;flex-direction:column;gap:4px}.product-type-label{font-size:15px;font-weight:600;color:var(--color-gray-900)}.product-type-option.active .product-type-label{color:var(--type-color, var(--color-primary))}.product-type-desc{font-size:13px;color:var(--color-gray-500);line-height:1.4}.erp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.erp-form-grid--3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.erp-form-grid,.erp-form-grid--3{grid-template-columns:1fr}}.form-group--full{grid-column:1 / -1}.erp-page .form-checkbox-group,.erp-form-section .form-checkbox-group{display:inline-flex!important;align-items:center;gap:6px;padding:8px 0;white-space:nowrap;width:fit-content!important;max-width:100%;min-width:auto!important}.erp-page .form-checkbox-group input[type=checkbox],.erp-form-section .form-checkbox-group input[type=checkbox]{width:16px!important;height:16px!important;accent-color:var(--color-primary);cursor:pointer;margin:0!important;flex-shrink:0;min-width:16px!important;max-width:16px!important}.erp-page .form-checkbox-label,.erp-form-section .form-checkbox-label{font-size:14px;color:var(--color-gray-700);cursor:pointer;white-space:nowrap;flex-shrink:0}.input-group{display:flex;gap:8px}.input-group .form-input{flex:1}.input-group .form-select{width:auto;min-width:80px}.receiver-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.receiver-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.receiver-modal-header{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.receiver-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.receiver-modal-close{background:none;border:none;padding:8px;cursor:pointer;color:#64748b;border-radius:8px;transition:all .2s}.receiver-modal-close:hover{background:#f1f5f9;color:#1e293b}.receiver-modal-search{padding:16px 24px;border-bottom:1px solid #e2e8f0}.receiver-search-input{width:100%;padding:12px 16px 12px 44px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#f8fafc;transition:all .2s}.receiver-search-input:focus{outline:none;border-color:#d4a853;background:#fff;box-shadow:0 0 0 3px #d4a85326}.receiver-search-wrapper{position:relative}.receiver-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8}.receiver-modal-body{flex:1;overflow-y:auto;padding:8px 0}.receiver-list{list-style:none;margin:0;padding:0}.receiver-item{display:flex;align-items:center;padding:12px 24px;cursor:pointer;transition:background .2s;gap:16px}.receiver-item:hover{background:#f8fafc}.receiver-item.disabled{opacity:.6;cursor:not-allowed}.receiver-item.disabled:hover{background:transparent}.receiver-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#d4a853,#b8860b);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px;flex-shrink:0;overflow:hidden}.receiver-avatar img{width:100%;height:100%;object-fit:cover}.receiver-info{flex:1;min-width:0}.receiver-name{font-size:15px;font-weight:500;color:#1e293b;margin-bottom:4px}.receiver-meta{font-size:13px;color:#64748b;display:flex;align-items:center;gap:8px}.receiver-status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.receiver-status.accepting{background:#dcfce7;color:#16a34a}.receiver-status.not-accepting{background:#fee2e2;color:#dc2626}.receiver-empty{padding:40px 24px;text-align:center;color:#94a3b8}.receiver-empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.selected-receiver-card{display:flex;align-items:flex-start;gap:16px;padding:16px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:12px;margin-top:12px}.selected-receiver-card.not-accepting{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.selected-receiver-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#d4a853,#b8860b);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:20px;flex-shrink:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.selected-receiver-avatar img{width:100%;height:100%;object-fit:cover}.selected-receiver-info{flex:1}.selected-receiver-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.selected-receiver-name{font-size:16px;font-weight:600;color:#1e293b}.selected-receiver-schedule{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.05)}.selected-receiver-schedule-title{font-size:13px;font-weight:500;color:#b8860b;margin-bottom:8px;display:flex;align-items:center;gap:6px}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.schedule-day-item{display:flex;align-items:baseline;gap:8px;font-size:13px}.schedule-day-name{font-weight:500;color:#475569;min-width:32px}.schedule-time-slots{color:#64748b}.selected-receiver-location{margin-top:8px;font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}.change-receiver-btn{background:none;border:1px solid #cbd5e1;padding:6px 12px;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.change-receiver-btn:hover{border-color:#d4a853;color:#b8860b;background:#fffbeb}.select-receiver-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;font-size:14px;color:#64748b;cursor:pointer;transition:all .2s}.select-receiver-btn:hover{border-color:#d4a853;color:#b8860b;background:#fffbeb}.visit-form-container{max-width:900px;margin:0 auto}.visit-form-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0}.visit-form-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.visit-form-section-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.visit-form-section-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.visit-form-section-icon.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.visit-form-section-icon.purple{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#9333ea}.visit-form-section-icon.orange{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#ea580c}.visit-form-section-title{font-size:16px;font-weight:600;color:#1e293b;margin:0}.visit-form-section-desc{font-size:13px;color:#64748b;margin:4px 0 0}.visit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 640px){.visit-form-grid{grid-template-columns:1fr}}.visit-form-group{display:flex;flex-direction:column;gap:6px}.visit-form-group.full-width{grid-column:1 / -1}.visit-form-label{font-size:13px;font-weight:500;color:#475569;display:flex;align-items:center;gap:4px}.visit-form-label .required{color:#ef4444}.visit-form-input,.visit-form-select,.visit-form-textarea{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;transition:all .2s}.visit-form-input:focus,.visit-form-select:focus,.visit-form-textarea:focus{outline:none;border-color:#d4a853;box-shadow:0 0 0 3px #d4a85326}.visit-form-input::placeholder,.visit-form-textarea::placeholder{color:#94a3b8}.visit-form-textarea{resize:vertical;min-height:100px}.visit-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px}.visit-settings-container{max-width:800px;margin:0 auto}.visit-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.visit-settings-title{display:flex;align-items:center;gap:16px}.visit-settings-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#d4a853,#b8860b);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 4px 14px #d4a8534d}.visit-settings-title h1{font-size:24px;font-weight:600;color:#1e293b;margin:0}.visit-settings-title p{font-size:14px;color:#64748b;margin:4px 0 0}.acceptance-toggle-card{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;margin-bottom:24px;box-shadow:0 1px 3px #0000000d}.acceptance-toggle-info{display:flex;align-items:center;gap:16px}.acceptance-toggle-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.acceptance-toggle-icon.accepting{background:#dcfce7;color:#16a34a}.acceptance-toggle-icon.not-accepting{background:#fee2e2;color:#dc2626}.acceptance-toggle-text h3{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 4px}.acceptance-toggle-text p{font-size:13px;color:#64748b;margin:0}.toggle-switch{position:relative;width:56px;height:30px;background:#e2e8f0;border-radius:15px;cursor:pointer;transition:all .3s}.toggle-switch.active{background:#22c55e}.toggle-switch-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;background:#fff;border-radius:50%;transition:all .3s;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-switch-knob{left:29px}.schedule-editor-card{background:#fff;border-radius:14px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 1px 3px #0000000d}.schedule-editor-header{padding:20px 24px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:12px}.schedule-editor-header-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex;align-items:center;justify-content:center;color:#b8860b;font-size:20px}.schedule-editor-header h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.schedule-editor-header p{font-size:13px;color:#64748b;margin:4px 0 0}.schedule-day-row{display:flex;align-items:flex-start;padding:16px 24px;border-bottom:1px solid #f1f5f9;gap:20px}.schedule-day-row:last-child{border-bottom:none}.schedule-day-label{width:48px;font-weight:600;color:#475569;padding-top:10px;font-size:14px}.schedule-day-slots{flex:1}.schedule-slot-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.schedule-slot-row:last-child{margin-bottom:0}.schedule-time-input{width:110px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#f8fafc;transition:all .2s}.schedule-time-input:focus{outline:none;border-color:#d4a853;background:#fff}.schedule-slot-separator{color:#94a3b8;font-size:13px}.schedule-slot-delete{background:none;border:none;padding:6px;cursor:pointer;color:#94a3b8;border-radius:6px;transition:all .2s}.schedule-slot-delete:hover{background:#fee2e2;color:#dc2626}.schedule-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fffbeb;border:none;border-radius:8px;font-size:13px;color:#b8860b;cursor:pointer;transition:all .2s}.schedule-add-btn:hover{background:#fef3c7}.settings-field-card{background:#fff;border-radius:14px;border:1px solid #e2e8f0;padding:20px 24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d}.settings-field-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.settings-field-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.settings-field-icon.location{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.settings-field-icon.remark{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.settings-field-header h4{font-size:14px;font-weight:600;color:#1e293b;margin:0}.settings-field-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#f8fafc;transition:all .2s}.settings-field-input:focus{outline:none;border-color:#d4a853;background:#fff;box-shadow:0 0 0 3px #d4a85326}.settings-field-textarea{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#f8fafc;transition:all .2s;resize:vertical;min-height:80px}.settings-field-textarea:focus{outline:none;border-color:#d4a853;background:#fff;box-shadow:0 0 0 3px #d4a85326}.settings-field-hint{font-size:12px;color:#94a3b8;margin-top:8px}.no-permission-card{text-align:center;padding:60px 40px;background:#fff;border-radius:16px;border:1px solid #e2e8f0}.no-permission-icon{width:80px;height:80px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#94a3b8;font-size:36px}.no-permission-card h3{font-size:18px;font-weight:600;color:#475569;margin:0 0 8px}.no-permission-card p{font-size:14px;color:#94a3b8;margin:0}.visit-filter-bar{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:20px;flex-wrap:wrap}.visit-search-wrapper{position:relative;flex:1;min-width:200px}.visit-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.visit-search-input{width:100%;padding:10px 12px 10px 40px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s}.visit-search-input:focus{outline:none;border-color:#d4a853;box-shadow:0 0 0 3px #d4a85326}.visit-filter-select{padding:10px 32px 10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right 8px center no-repeat;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:120px}.visit-filter-select:focus{outline:none;border-color:#d4a853}.visit-filter-date{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;width:140px}.visit-filter-date:focus{outline:none;border-color:#d4a853}.visit-filter-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#d4a853,#b8860b);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.visit-filter-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d4a8534d}.visit-stats-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.visit-stat-card{flex:1;min-width:100px;padding:16px 20px;background:#fff;border-radius:12px;border:2px solid #e5e7eb;text-align:center;transition:all .2s}.visit-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.visit-stat-value{font-size:28px;font-weight:700;color:#1e293b;line-height:1.2}.visit-stat-label{font-size:13px;color:#64748b;margin-top:4px}.visit-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.visit-empty-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex;align-items:center;justify-content:center;color:#b8860b;margin-bottom:20px}.visit-empty-state h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.visit-empty-state p{font-size:14px;color:#64748b;margin:0}.visit-empty-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#d4a853;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.visit-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.visit-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;transition:all .2s;position:relative}.visit-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.visit-card-role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.visit-card-role-badge.receiver{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b8860b}.visit-card-role-badge.creator{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.visit-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid #f1f5f9}.visit-card-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.visit-card-visitor{display:flex;align-items:center;gap:12px}.visit-card-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#d4a853,#b8860b);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.visit-card-visitor-info{min-width:0}.visit-card-name{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.visit-card-contact{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.visit-card-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.visit-card-body{padding:16px 20px}.visit-card-info-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:10px}.visit-card-info-row:last-child{margin-bottom:0}.visit-card-info-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#475569}.visit-card-info-item svg{color:#9ca3af;flex-shrink:0}.visit-card-reject-reason{margin-top:12px;padding:10px 12px;background:#fef2f2;border-radius:8px;font-size:13px;color:#dc2626}.visit-card-actions{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#f8fafc;border-top:1px solid #f1f5f9}.visit-action-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.visit-action-btn:disabled{opacity:.6;cursor:not-allowed}.visit-action-btn.approve{background:#059669;color:#fff}.visit-action-btn.approve:hover:not(:disabled){background:#047857}.visit-action-btn.reject{background:#dc2626;color:#fff}.visit-action-btn.reject:hover:not(:disabled){background:#b91c1c}.visit-action-btn.withdraw{background:#f59e0b;color:#fff}.visit-action-btn.withdraw:hover:not(:disabled){background:#d97706}.visit-action-btn.complete{background:#6366f1;color:#fff}.visit-action-btn.complete:hover:not(:disabled){background:#4f46e5}.visit-card-hint{font-size:13px;color:#9ca3af;font-style:italic}.visit-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding:16px}.visit-page-btn{padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#475569;cursor:pointer;transition:all .2s}.visit-page-btn:hover:not(:disabled){border-color:#d4a853;color:#b8860b}.visit-page-btn:disabled{opacity:.5;cursor:not-allowed}.visit-page-info{font-size:14px;color:#64748b}.invoice-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.header-left .subtitle{font-size:14px;color:#666;margin:0}.header-right{display:flex;gap:12px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:#c9a063;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:#b8914f}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:#fff;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s}.btn-secondary:hover{border-color:#c9a063}.stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px;color:#666}.stat-icon.draft{background:#fff3e0;color:#f57c00}.stat-icon.success{background:#e8f5e9;color:#43a047}.stat-icon.warning{background:#fff8e1;color:#ffa000}.stat-content{flex:1}.stat-value{font-size:24px;font-weight:600;color:#1a1a1a}.stat-label{font-size:13px;color:#666;margin-top:2px}.filter-bar{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.search-form{flex:1;min-width:300px}.search-input-wrapper{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.search-input-wrapper input{flex:1;border:none;outline:none;font-size:14px}.search-input-wrapper svg{color:#999}.filter-group{display:flex;align-items:center;gap:8px;padding:0 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.filter-group svg{color:#999}.filter-group select{border:none;outline:none;font-size:14px;padding:10px 0;background:transparent;cursor:pointer}.invoice-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{text-align:left;padding:14px 16px;font-size:13px;font-weight:600;color:#666;background:#fafafa;border-bottom:1px solid #eee}.invoice-table th.text-right,.invoice-table td.text-right{text-align:right}.invoice-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.invoice-table tbody tr:hover{background:#fafafa}.invoice-table tbody tr:last-child td{border-bottom:none}.invoice-number span{color:#c9a063;font-weight:500;cursor:pointer}.invoice-number span:hover{text-decoration:underline}.state-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.state-badge.draft{background:#fff3e0;color:#f57c00}.state-badge.posted{background:#e8f5e9;color:#43a047}.state-badge.canceled{background:#ffebee;color:#e53935}.state-icon{flex-shrink:0}.state-icon.draft{color:#f57c00}.state-icon.posted{color:#43a047}.state-icon.canceled{color:#e53935}.payment-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.badge-success{background:#e8f5e9;color:#43a047}.badge-warning{background:#fff8e1;color:#ffa000}.badge-secondary{background:#f5f5f5;color:#666}.actions-col{width:60px;text-align:center}.action-menu-wrapper{position:relative}.action-menu-trigger{padding:6px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#666}.action-menu-trigger:hover{background:#f0f0f0}.action-menu{position:absolute;right:0;top:100%;min-width:160px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:100;overflow:hidden}.action-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:transparent;font-size:14px;color:#333;cursor:pointer;text-align:left}.action-menu button:hover{background:#f5f5f5}.action-menu button.danger{color:#e53935}.action-menu button.danger:hover{background:#ffebee}.action-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px}.pagination button{padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer;transition:border-color .2s}.pagination button:hover:not(:disabled){border-color:#c9a063}.pagination span{font-size:14px;color:#666}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.empty-state svg{color:#ccc;margin-bottom:16px}.empty-state p{font-size:16px;color:#666;margin:0 0 20px}.loading-state,.error-state{display:flex;justify-content:center;align-items:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;font-size:16px}.loading-state{color:#666}.error-state{color:#e53935}@media (max-width: 1200px){.stats-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.invoice-page{padding:16px}.page-header{flex-direction:column;gap:16px}.stats-cards{grid-template-columns:1fr}.filter-bar{flex-direction:column}.search-form{min-width:100%}.invoice-table-wrapper{overflow-x:auto}.invoice-table{min-width:800px}}.invoice-edit-page{padding:24px;max-width:1200px;margin:0 auto}.invoice-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:24px}.form-section{margin-bottom:24px}.form-section-title{font-size:16px;font-weight:600;color:#333;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #eee}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#666}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#c9a063}.invoice-lines-section{margin-top:24px}.invoice-lines-table{width:100%;border-collapse:collapse;margin-bottom:16px}.invoice-lines-table th{text-align:left;padding:12px;font-size:13px;font-weight:600;color:#666;background:#fafafa;border-bottom:1px solid #eee}.invoice-lines-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.invoice-lines-table input,.invoice-lines-table select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.invoice-lines-table input:focus,.invoice-lines-table select:focus{outline:none;border-color:#c9a063}.invoice-lines-table .number-input{text-align:right}.invoice-lines-table .remove-btn{padding:6px;background:transparent;border:none;color:#999;cursor:pointer;border-radius:4px}.invoice-lines-table .remove-btn:hover{background:#ffebee;color:#e53935}.add-line-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px dashed #ddd;border-radius:6px;font-size:14px;color:#666;cursor:pointer;transition:border-color .2s,color .2s}.add-line-btn:hover{border-color:#c9a063;color:#c9a063}.invoice-totals{display:flex;justify-content:flex-end;margin-top:24px}.totals-table{width:300px}.totals-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.totals-row.total{font-size:16px;font-weight:600;border-top:2px solid #333;padding-top:12px;margin-top:8px}.totals-label{color:#666}.totals-value{color:#333;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #eee}.btn-cancel{padding:10px 24px;background:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#666;cursor:pointer}.btn-cancel:hover{border-color:#999}.btn-save{padding:10px 24px;background:#c9a063;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#fff;cursor:pointer}.btn-save:hover{background:#b8914f}.btn-save:disabled{opacity:.6;cursor:not-allowed}.invoice-detail-page{padding:24px;max-width:1200px;margin:0 auto}.invoice-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.invoice-detail-info{display:flex;align-items:center;gap:16px}.invoice-detail-number{font-size:24px;font-weight:600;color:#1a1a1a}.invoice-detail-actions{display:flex;gap:12px}.invoice-detail-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.card-header{padding:16px 20px;border-bottom:1px solid #eee;font-size:16px;font-weight:600;color:#333}.card-body{padding:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:13px;color:#666}.detail-value{font-size:14px;color:#333;font-weight:500}.payment-list{margin-top:16px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.payment-item:last-child{border-bottom:none}.payment-info{display:flex;flex-direction:column;gap:4px}.payment-date{font-size:14px;color:#333}.payment-method{font-size:12px;color:#666}.payment-amount{font-size:16px;font-weight:600;color:#43a047}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.payment-modal{background:#fff;border-radius:8px;width:100%;max-width:480px;box-shadow:0 8px 32px #0003}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.payment-modal-header h3{margin:0;font-size:18px;font-weight:600}.payment-modal-close{padding:4px;background:transparent;border:none;cursor:pointer;color:#666}.payment-modal-body{padding:20px}.payment-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #eee}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);width:min(420px,90%);box-shadow:var(--shadow-lg)}.modal h3{margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}.modal-content{color:var(--color-gray-600);margin-bottom:var(--spacing-lg);line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.stats-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stats-page__header{display:flex;justify-content:space-between;align-items:flex-end}.stats-page__header .subtitle{margin-top:var(--spacing-xs);color:var(--color-gray-500);font-size:var(--font-size-sm)}.scope-tabs{display:flex;gap:var(--spacing-sm)}.stats-filters{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.preset-buttons{display:flex;gap:var(--spacing-sm)}.date-range-picker{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.date-range-picker input[type=date]{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300)}.stats-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-md)}.stat-card{background:#fff;padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card .label{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--spacing-xs)}.stat-card .value{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-xs)}.stat-card .meta{font-size:var(--font-size-xs);color:var(--color-gray-500)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.chart-card{background:#fff;padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chart-card header{margin-bottom:var(--spacing-sm)}.chart-card h3{font-size:var(--font-size-lg)}.chart-empty,.stats-loading,.stats-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-gray-500)}.attendance-meta{display:flex;justify-content:space-between;gap:var(--spacing-lg);margin-top:var(--spacing-md)}.attendance-meta p{font-size:var(--font-size-sm);color:var(--color-gray-500)}.attendance-meta strong{display:block;margin-top:4px}.alert{padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.alert-error{background:#f5222d0f;color:var(--color-danger);border:1px solid rgba(245,34,45,.3)}@media (max-width: 1024px){.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.stats-page__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.stats-filters{flex-direction:column;align-items:flex-start}.stats-cards{grid-template-columns:minmax(0,1fr)}}.ai-config-page{padding:24px;max-width:1200px;margin:0 auto}.ai-config-page.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.page-header h1{font-size:24px;font-weight:600;color:#1f2937;margin:0}.header-actions{display:flex;gap:12px}.health-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:32px}.health-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.health-card.active{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#f0fdf4)}.health-card svg{color:#6b7280;flex-shrink:0}.health-card.active svg{color:#10b981}.health-info{flex:1}.health-info h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 4px}.health-info p{font-size:13px;color:#6b7280;margin:0}.health-detail{font-size:11px;color:#9ca3af;display:block;margin-top:4px}.health-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.health-indicator.green{background:#10b981;box-shadow:0 0 8px #10b98166}.health-indicator.yellow{background:#f59e0b;box-shadow:0 0 8px #f59e0b66}.health-indicator.red{background:#ef4444;box-shadow:0 0 8px #ef444466}.config-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px}.config-section h2{font-size:16px;font-weight:600;color:#374151;margin:0 0 16px}.empty-state{text-align:center;padding:40px 20px;color:#6b7280}.config-table{overflow-x:auto}.config-table table{width:100%;border-collapse:collapse}.config-table th,.config-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.config-table th{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;background:#f9fafb}.config-table td{font-size:14px;color:#374151}.type-cell{display:flex;align-items:center;gap:8px}.type-cell svg{color:#6b7280}.endpoint-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280;font-size:13px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease}.status-badge.active{background:#dcfce7;color:#15803d}.status-badge.active:hover{background:#bbf7d0}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.status-badge.inactive:hover{background:#e5e7eb}.action-buttons{display:flex;gap:8px}.btn-icon-sm{width:32px;height:32px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-icon-sm:hover{background:#f9fafb;color:#374151}.btn-icon-sm.danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.config-modal{width:480px;max-width:90vw}.config-modal .form-group{margin-bottom:16px}.config-modal .form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.config-modal .form-group input,.config-modal .form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease}.config-modal .form-group input:focus,.config-modal .form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.config-modal .form-group input::placeholder{color:#9ca3af}.config-modal .form-group select{background:#fff;cursor:pointer}@media (max-width: 768px){.ai-config-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.health-cards{grid-template-columns:1fr}.config-table{font-size:13px}.config-table th,.config-table td{padding:10px 12px}}.workflow-approval-center{--primary-color: var(--color-primary, #C9A063);--primary-light: rgba(201, 160, 99, .1);--primary-dark: #B08A4A;--success-color: var(--color-success, #52C41A);--success-light: rgba(82, 196, 26, .1);--warning-color: var(--color-warning, #FAAD14);--warning-light: rgba(250, 173, 20, .1);--danger-color: var(--color-danger, #F5222D);--danger-light: rgba(245, 34, 45, .1);--text-primary: var(--color-gray-900, #111827);--text-secondary: var(--color-gray-600, #4B5563);--text-tertiary: var(--color-gray-400, #9CA3AF);--bg-primary: var(--color-gray-50, #F9FAFB);--bg-secondary: var(--color-gray-100, #F3F4F6);--bg-tertiary: var(--color-gray-200, #E5E7EB);--border-color: var(--color-gray-200, #E5E7EB);padding:24px;height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary)}.workflow-approval-center .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.workflow-approval-center .page-header h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.workflow-approval-center .tabs{display:flex;gap:8px;margin-bottom:20px;background-color:var(--bg-secondary);padding:6px;border-radius:10px}.workflow-approval-center .tab{padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s}.workflow-approval-center .tab:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.workflow-approval-center .tab.active{background-color:var(--primary-color);color:#fff;box-shadow:0 2px 8px #00000026}.workflow-approval-center .content-wrapper{display:flex;gap:24px;flex:1;min-height:0;overflow:hidden}.workflow-approval-center .list-panel{width:420px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.workflow-approval-center .task-list{flex:1;overflow-y:auto;padding:12px}.workflow-approval-center .task-item{padding:16px;background-color:var(--bg-primary);border-radius:10px;margin-bottom:10px;cursor:pointer;transition:all .2s;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.workflow-approval-center .task-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.workflow-approval-center .task-item.selected{border-color:var(--primary-color);background-color:var(--primary-light);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.workflow-approval-center .task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.workflow-approval-center .task-title{font-weight:500;color:var(--text-primary);font-size:14px;flex:1;margin-right:8px}.workflow-approval-center .task-meta{display:flex;gap:8px;margin-bottom:8px}.workflow-approval-center .task-type{font-size:12px;padding:2px 8px;background-color:var(--primary-light);color:var(--primary-color);border-radius:4px}.workflow-approval-center .task-node{font-size:12px;color:var(--text-secondary)}.workflow-approval-center .task-info{display:flex;gap:16px;font-size:12px;color:var(--text-tertiary)}.workflow-approval-center .task-info span{display:flex;align-items:center;gap:4px}.workflow-approval-center .status-icon{width:18px;height:18px}.workflow-approval-center .status-icon.approved{color:var(--success-color)}.workflow-approval-center .status-icon.rejected{color:var(--danger-color)}.workflow-approval-center .status-icon.pending{color:var(--warning-color)}.workflow-approval-center .status-badge{font-size:12px;padding:2px 8px;border-radius:4px}.workflow-approval-center .status-badge.in_progress{background-color:var(--warning-light);color:var(--warning-color)}.workflow-approval-center .status-badge.approved{background-color:var(--success-light);color:var(--success-color)}.workflow-approval-center .status-badge.rejected{background-color:var(--danger-light);color:var(--danger-color)}.workflow-approval-center .status-badge.withdrawn{background-color:var(--bg-tertiary);color:var(--text-secondary)}.workflow-approval-center .status-badge.pending{background-color:var(--warning-light);color:var(--warning-color)}.workflow-approval-center .detail-panel{flex:1;background-color:var(--bg-secondary);border-radius:12px;padding:24px;overflow-y:auto;border:1px solid var(--border-color)}.workflow-approval-center .detail-panel.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary)}.workflow-approval-center .detail-panel.empty svg{opacity:.4}.workflow-approval-center .detail-panel.empty p{margin-top:16px;font-size:14px;color:var(--text-secondary)}.workflow-approval-center .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.workflow-approval-center .detail-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.workflow-approval-center .detail-section{margin-bottom:24px}.workflow-approval-center .detail-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.workflow-approval-center .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.workflow-approval-center .detail-item{display:flex;flex-direction:column;gap:4px}.workflow-approval-center .detail-item label{font-size:12px;color:var(--text-tertiary)}.workflow-approval-center .detail-item span{font-size:14px;color:var(--text-primary)}.workflow-approval-center .approval-timeline{position:relative;padding-left:24px}.workflow-approval-center .timeline-item{position:relative;padding-bottom:20px}.workflow-approval-center .timeline-item:last-child{padding-bottom:0}.workflow-approval-center .timeline-item:before{content:"";position:absolute;left:-17px;top:20px;bottom:0;width:2px;background-color:var(--border-color)}.workflow-approval-center .timeline-item:last-child:before{display:none}.workflow-approval-center .timeline-dot{position:absolute;left:-24px;top:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.workflow-approval-center .timeline-dot .approved{color:var(--success-color)}.workflow-approval-center .timeline-dot .rejected{color:var(--danger-color)}.workflow-approval-center .timeline-content{background-color:var(--bg-primary);padding:12px;border-radius:8px}.workflow-approval-center .timeline-header{display:flex;justify-content:space-between;margin-bottom:8px}.workflow-approval-center .timeline-node{font-weight:500;color:var(--text-primary);font-size:14px}.workflow-approval-center .timeline-time{font-size:12px;color:var(--text-tertiary)}.workflow-approval-center .timeline-approver{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.workflow-approval-center .timeline-comment{font-size:13px;color:var(--text-primary);padding:8px;background-color:var(--bg-secondary);border-radius:4px;margin-top:8px}.workflow-approval-center .timeline-signature{margin-top:8px}.workflow-approval-center .timeline-signature img{max-width:120px;max-height:60px;border:1px solid var(--border-color);border-radius:4px}.workflow-approval-center .detail-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.workflow-approval-center .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.workflow-approval-center .btn-primary{background-color:var(--primary-color);color:#fff}.workflow-approval-center .btn-primary:hover{background-color:var(--primary-dark)}.workflow-approval-center .btn-danger{background-color:var(--danger-color);color:#fff}.workflow-approval-center .btn-danger:hover{opacity:.9}.workflow-approval-center .btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.workflow-approval-center .btn-secondary:hover{background-color:var(--border-color)}.workflow-approval-center .btn-icon{padding:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px}.workflow-approval-center .btn-icon:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.workflow-approval-center .btn:disabled{opacity:.5;cursor:not-allowed}.workflow-approval-center .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--text-tertiary);background-color:var(--bg-primary);border-radius:12px;border:2px dashed var(--border-color);margin:12px}.workflow-approval-center .empty-state svg{opacity:.5}.workflow-approval-center .empty-state p{margin-top:16px;font-size:14px;color:var(--text-secondary)}.workflow-approval-center .loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.workflow-approval-center .pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--border-color);font-size:14px;color:var(--text-secondary)}.workflow-approval-center .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.workflow-approval-center .modal{background-color:var(--bg-primary);border-radius:12px;width:480px;max-width:90vw;box-shadow:0 20px 60px #0003}.workflow-approval-center .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.workflow-approval-center .modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.workflow-approval-center .modal-body{padding:24px}.workflow-approval-center .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.workflow-approval-center .form-group{margin-bottom:16px}.workflow-approval-center .form-group:last-child{margin-bottom:0}.workflow-approval-center .form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.workflow-approval-center .form-group textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;resize:vertical;background-color:var(--bg-primary);color:var(--text-primary)}.workflow-approval-center .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.workflow-approval-center .signature-canvas-wrapper{position:relative;display:inline-block;width:100%}.workflow-approval-center .signature-canvas{width:100%;height:150px;border:2px dashed var(--border-color);border-radius:8px;background-color:#fff;cursor:crosshair;touch-action:none}.workflow-approval-center .signature-canvas:hover{border-color:var(--primary-color)}.workflow-approval-center .clear-signature-btn{position:absolute;top:8px;right:8px;padding:4px 8px;font-size:12px;display:flex;align-items:center;gap:4px}.workflow-approval-center .signature-hint{font-size:12px;color:var(--text-tertiary);margin-top:8px;text-align:center}.workflow-approval-center .required{color:var(--danger-color);margin-left:2px}.workflow-approval-center .btn-sm{padding:6px 12px;font-size:12px}.workflow-approval-center .workflow-progress-chart{display:flex;align-items:flex-start;gap:8px;padding:20px 16px;background-color:var(--bg-secondary);border-radius:12px;overflow-x:auto}.workflow-approval-center .progress-node{display:flex;flex-direction:column;align-items:center;min-width:80px;gap:8px}.workflow-approval-center .progress-node .node-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;transition:all .3s}.workflow-approval-center .progress-node .node-circle.completed,.workflow-approval-center .progress-node .node-circle.approved{background-color:var(--success-color);color:#fff}.workflow-approval-center .progress-node .node-circle.rejected{background-color:var(--danger-color);color:#fff}.workflow-approval-center .progress-node .node-circle.current,.workflow-approval-center .progress-node .node-circle.pending{background-color:var(--primary-color);color:#fff;animation:pulse 2s infinite}.workflow-approval-center .progress-node .node-circle.waiting{background-color:var(--bg-tertiary);color:var(--text-secondary);border:2px dashed var(--border-color)}@keyframes pulse{0%,to{box-shadow:0 0 #c9a06366}50%{box-shadow:0 0 0 8px #c9a06300}}.workflow-approval-center .progress-node .node-label{font-size:12px;color:var(--text-primary);font-weight:500;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-approval-center .progress-node .node-assignee{font-size:11px;color:var(--primary-color);text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-approval-center .progress-connector{display:flex;align-items:center;color:var(--text-tertiary);padding-top:12px}.workflow-approval-center .pending-approvers{display:flex;flex-direction:column;gap:8px}.workflow-approval-center .pending-approver-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:var(--primary-light);border-radius:8px;border-left:3px solid var(--primary-color)}.workflow-approval-center .pending-approver-item svg{color:var(--primary-color)}.workflow-approval-center .pending-approver-item .approver-name{font-weight:500;color:var(--text-primary)}.workflow-approval-center .pending-approver-item .approver-node{font-size:12px;color:var(--text-secondary)}.workflow-approval-center .empty-timeline{text-align:center;color:var(--text-tertiary);padding:20px;font-size:14px}.workflow-definitions-page{padding:24px;height:100%;display:flex;flex-direction:column;background-color:#faf8f5}.workflow-definitions-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.workflow-definitions-page .header-left h1{font-size:24px;font-weight:600;color:#2f3136;margin:0 0 4px}.workflow-definitions-page .header-left p{font-size:14px;color:#666;margin:0}.workflow-definitions-page .header-right{display:flex;gap:12px}.workflow-definitions-page .filters{display:flex;gap:16px;margin-bottom:20px;padding:16px;background-color:#fff;border-radius:8px;border:1px solid #e8e0d5}.workflow-definitions-page .filter-group{display:flex;align-items:center;gap:8px}.workflow-definitions-page .filter-group label{font-size:14px;color:#666;font-weight:500}.workflow-definitions-page .filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;color:#333;min-width:120px;cursor:pointer}.workflow-definitions-page .definitions-list{flex:1;overflow:auto}.workflow-definitions-page .loading{display:flex;align-items:center;justify-content:center;padding:48px;color:#666}.workflow-definitions-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;color:#999;background-color:#fff;border:2px dashed #ddd;border-radius:12px}.workflow-definitions-page .empty-state p{margin:16px 0 24px;font-size:16px;color:#666}.workflow-definitions-page .definitions-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;overflow:hidden;border:1px solid #e8e0d5}.workflow-definitions-page .definitions-table th,.workflow-definitions-page .definitions-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #eee}.workflow-definitions-page .definitions-table th{font-size:13px;font-weight:600;color:#666;background-color:#f9f7f4}.workflow-definitions-page .definitions-table td{font-size:14px;color:#333}.workflow-definitions-page .definitions-table tr:last-child td{border-bottom:none}.workflow-definitions-page .definitions-table tr:hover td{background-color:#f9f7f4}.workflow-definitions-page .def-name{display:flex;flex-direction:column;gap:4px}.workflow-definitions-page .def-name .name{font-weight:500}.workflow-definitions-page .def-name .description{font-size:12px;color:#999}.workflow-definitions-page .business-type{font-size:12px;padding:4px 8px;background-color:#fff3e0;color:#c9a063;border-radius:4px;font-weight:500}.workflow-definitions-page .status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 8px;border-radius:4px}.workflow-definitions-page .status-badge.active{background-color:#e8f5e9;color:#43a047}.workflow-definitions-page .status-badge.inactive{background-color:#f5f5f5;color:#999}.workflow-definitions-page .default-star{color:#ccc}.workflow-definitions-page .default-star.active{color:#ffc107}.workflow-definitions-page .actions{display:flex;gap:4px}.workflow-definitions-page .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.workflow-definitions-page .btn-primary{background-color:#c9a063;color:#fff}.workflow-definitions-page .btn-primary:hover{background-color:#b8914f}.workflow-definitions-page .btn-icon{padding:8px;background:none;border:none;color:#666;cursor:pointer;border-radius:6px}.workflow-definitions-page .btn-icon:hover{background-color:#f0f0f0;color:#333}.workflow-definitions-page .btn-danger{color:#e53935}.workflow-definitions-page .btn-danger:hover{background-color:#ffebee}.workflow-designer{height:100vh;display:flex;flex-direction:column;background-color:#faf8f5}.workflow-designer.loading{align-items:center;justify-content:center}.workflow-designer .loading-spinner{color:#666;font-size:16px}.workflow-designer .designer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#fff;border-bottom:1px solid #e8e0d5}.workflow-designer .header-left{display:flex;align-items:center;gap:16px}.workflow-designer .header-left h1{font-size:18px;font-weight:600;color:#2f3136;margin:0}.workflow-designer .header-right{display:flex;gap:12px}.workflow-designer .designer-content{flex:1;display:flex;overflow:hidden}.workflow-designer .node-panel{width:280px;background-color:#fff;border-right:1px solid #e8e0d5;padding:20px;overflow-y:auto}.workflow-designer .node-panel h3{font-size:14px;font-weight:600;color:#2f3136;margin:0 0 12px}.workflow-designer .node-panel h3:not(:first-child){margin-top:24px}.workflow-designer .node-list{display:flex;flex-direction:column;gap:8px}.workflow-designer .node-item{display:flex;align-items:center;gap:10px;padding:12px;background-color:#faf8f5;border:1px solid #e8e0d5;border-radius:8px;cursor:pointer;transition:all .2s}.workflow-designer .node-item:hover{border-color:#c9a063;background-color:#fff3e0}.workflow-designer .node-item svg{color:#666;flex-shrink:0}.workflow-designer .node-item-content{display:flex;flex-direction:column;gap:2px}.workflow-designer .node-item-title{font-size:14px;font-weight:500;color:#333}.workflow-designer .node-item-desc{font-size:12px;color:#999}.workflow-designer .node-item span{font-size:14px;color:#333}.workflow-designer .form-group{margin-bottom:16px}.workflow-designer .form-group label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:6px}.workflow-designer .form-group input[type=text],.workflow-designer .form-group textarea,.workflow-designer .form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;color:#333;box-sizing:border-box}.workflow-designer .form-group input::placeholder,.workflow-designer .form-group textarea::placeholder{color:#999}.workflow-designer .form-group input:focus,.workflow-designer .form-group textarea:focus,.workflow-designer .form-group select:focus{outline:none;border-color:#c9a063}.workflow-designer .checkbox-group{margin-bottom:12px}.workflow-designer .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#333;font-size:14px}.workflow-designer .checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:#c9a063}.workflow-designer .canvas{flex:1;position:relative;background-color:#f5f3f0;background-image:radial-gradient(circle,#ddd 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.workflow-designer .canvas.connecting{cursor:crosshair}.workflow-designer .edges-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.workflow-designer .edge-line{stroke:#999;stroke-width:2;pointer-events:stroke;cursor:pointer}.workflow-designer .edge-line:hover,.workflow-designer .edge-line.selected{stroke:#c9a063;stroke-width:3}.workflow-designer .edge-arrow{fill:#999}.workflow-designer .canvas-node{position:absolute;display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fff;border:2px solid #ddd;border-radius:8px;cursor:move;-webkit-user-select:none;user-select:none;transition:all .2s;min-width:120px;box-shadow:0 2px 8px #00000014}.workflow-designer .canvas-node:hover{border-color:#c9a063;box-shadow:0 4px 12px #0000001f}.workflow-designer .canvas-node.selected{border-color:#c9a063;box-shadow:0 0 0 3px #c9a06333}.workflow-designer .canvas-node.start{background-color:#e8f5e9;border-color:#43a047}.workflow-designer .canvas-node.start .node-icon{color:#43a047}.workflow-designer .canvas-node.end{background-color:#ffebee;border-color:#e53935}.workflow-designer .canvas-node.end .node-icon{color:#e53935}.workflow-designer .canvas-node.approval{background-color:#fff3e0;border-color:#c9a063}.workflow-designer .canvas-node.approval .node-icon{color:#c9a063}.workflow-designer .canvas-node.condition{background-color:#fff8e1;border-color:#ffc107}.workflow-designer .canvas-node.condition .node-icon{color:#ffc107}.workflow-designer .canvas-node.countersign{background-color:#e3f2fd;border-color:#1976d2}.workflow-designer .canvas-node.countersign .node-icon{color:#1976d2}.workflow-designer .canvas-node.notify{background-color:#f3e5f5;border-color:#9c27b0}.workflow-designer .canvas-node.notify .node-icon{color:#9c27b0}.workflow-designer .node-icon{display:flex;align-items:center;justify-content:center;color:#666}.workflow-designer .node-name{font-size:14px;font-weight:500;color:#333}.workflow-designer .connect-btn{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background-color:#c9a063;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.workflow-designer .canvas-node:hover .connect-btn{opacity:1}.workflow-designer .connecting-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:10px 20px;background-color:#c9a063;color:#fff;border-radius:8px;font-size:14px}.workflow-designer .config-panel{width:300px;background-color:#fff;border-left:1px solid #e8e0d5;padding:20px;overflow-y:auto}.workflow-designer .config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.workflow-designer .config-header h3{font-size:16px;font-weight:600;color:#2f3136;margin:0}.workflow-designer .config-tip{padding:12px;background-color:#e3f2fd;border-radius:8px;margin-bottom:16px;font-size:13px;color:#1565c0;line-height:1.5}.workflow-designer .config-info{margin-top:24px;padding:12px;background-color:#f9f7f4;border-radius:8px}.workflow-designer .config-info p{font-size:12px;color:#666;margin:6px 0;line-height:1.4}.workflow-designer .config-info p strong{color:#333}.workflow-designer .config-warning{padding:12px;background-color:#fff3e0;border-radius:8px;margin-bottom:16px;font-size:13px;color:#e65100;line-height:1.5}.workflow-designer .approver-add-section{display:flex;flex-wrap:wrap;gap:8px}.workflow-designer .btn-add-approver{padding:6px 12px;font-size:13px;background-color:#f5f5f5;border:1px dashed #ccc;border-radius:6px;color:#666;cursor:pointer;transition:all .2s}.workflow-designer .btn-add-approver:hover{background-color:#e3f2fd;border-color:#1976d2;color:#1976d2}.workflow-designer .approver-list{display:flex;flex-direction:column;gap:8px}.workflow-designer .approver-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background-color:#f9f7f4;border:1px solid #e8e0d5;border-radius:6px}.workflow-designer .approver-order{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:#c9a063;color:#fff;border-radius:50%;font-size:12px;font-weight:600}.workflow-designer .approver-name{flex:1;font-size:14px;color:#333}.workflow-designer .btn-remove-approver{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;font-size:18px;cursor:pointer;border-radius:4px}.workflow-designer .btn-remove-approver:hover{background-color:#ffebee;color:#e53935}.workflow-designer .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.workflow-designer .btn-primary{background-color:#c9a063;color:#fff}.workflow-designer .btn-primary:hover{background-color:#b8914f}.workflow-designer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.workflow-designer .btn-icon{padding:8px;background:none;border:none;color:#666;cursor:pointer;border-radius:6px}.workflow-designer .btn-icon:hover{background-color:#f0f0f0;color:#333}.workflow-designer .btn-danger{color:#e53935}.workflow-designer .btn-danger:hover{background-color:#ffebee}.workflow-designer .form-hint{display:block;font-size:12px;color:#888;margin-top:4px}.workflow-designer select[multiple]{width:100%;border:1px solid #d9d0c3;border-radius:6px;padding:8px;font-size:14px;background-color:#fff}.workflow-designer select[multiple] option{padding:6px 8px}.workflow-designer select[multiple] option:checked{background-color:#d4a574;color:#fff}.workflow-designer .user-selector{margin-bottom:16px}.workflow-designer .user-search-input{width:100%;padding:8px 12px;border:1px solid #d9d0c3;border-radius:6px;font-size:14px;margin-bottom:8px}.workflow-designer .user-search-input:focus{outline:none;border-color:#d4a574}.workflow-designer .user-checkbox-list{max-height:180px;overflow-y:auto;border:1px solid #d9d0c3;border-radius:6px;background-color:#fff}.workflow-designer .user-checkbox-item{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #f0ebe3;cursor:pointer;transition:background-color .15s}.workflow-designer .user-checkbox-item:last-child{border-bottom:none}.workflow-designer .user-checkbox-item:hover{background-color:#faf8f5}.workflow-designer .user-checkbox-item input[type=checkbox]{margin-right:10px;width:16px;height:16px;cursor:pointer}.workflow-designer .user-checkbox-item label{flex:1;cursor:pointer;font-size:14px;color:#333}.workflow-designer .user-checkbox-item .user-email{font-size:12px;color:#888;margin-left:6px}.workflow-designer .selected-users-info{margin-top:8px;padding:8px 12px;background-color:#f5f0e8;border-radius:6px;font-size:13px;color:#666}.workflow-designer .multi-approver-hint{color:#d4a574;font-size:12px}.workflow-signature-page{padding:24px;max-width:800px;margin:0 auto}.workflow-signature-page.loading{display:flex;align-items:center;justify-content:center;min-height:400px}.workflow-signature-page .loading-spinner{color:var(--text-secondary);font-size:16px}.workflow-signature-page .page-header{margin-bottom:32px}.workflow-signature-page .page-header h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.workflow-signature-page .page-header p{font-size:14px;color:var(--text-secondary);margin:0}.workflow-signature-page .signature-content{background-color:var(--bg-secondary);border-radius:12px;padding:32px}.workflow-signature-page .signature-view{text-align:center}.workflow-signature-page .current-signature h3,.workflow-signature-page .no-signature h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.workflow-signature-page .signature-preview{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:24px;margin-bottom:16px;display:inline-block}.workflow-signature-page .signature-preview img{max-width:300px;max-height:150px}.workflow-signature-page .signature-info{font-size:12px;color:var(--text-tertiary);margin-bottom:24px}.workflow-signature-page .signature-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.workflow-signature-page .no-signature{padding:48px 24px}.workflow-signature-page .empty-icon{color:var(--text-tertiary);margin-bottom:16px}.workflow-signature-page .no-signature p{font-size:14px;color:var(--text-secondary);margin:0 0 24px}.workflow-signature-page .signature-draw h3,.workflow-signature-page .signature-upload h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px;text-align:center}.workflow-signature-page .signature-draw p,.workflow-signature-page .signature-upload p{font-size:14px;color:var(--text-secondary);margin:0 0 24px;text-align:center}.workflow-signature-page .canvas-container{display:flex;justify-content:center;margin-bottom:24px}.workflow-signature-page canvas{border:2px solid var(--border-color);border-radius:8px;cursor:crosshair;touch-action:none;background-color:#fff}.workflow-signature-page .draw-actions{display:flex;gap:12px;justify-content:center}.workflow-signature-page .upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:24px}.workflow-signature-page .upload-area:hover{border-color:var(--primary-color);background-color:var(--primary-light)}.workflow-signature-page .upload-area svg{color:var(--text-tertiary);margin-bottom:12px}.workflow-signature-page .upload-area span{font-size:14px;color:var(--text-secondary)}.workflow-signature-page .upload-actions{display:flex;justify-content:center}.workflow-signature-page .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.workflow-signature-page .btn-primary{background-color:var(--primary-color);color:#fff}.workflow-signature-page .btn-primary:hover{background-color:var(--primary-dark)}.workflow-signature-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.workflow-signature-page .btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.workflow-signature-page .btn-secondary:hover{background-color:var(--border-color)}.workflow-signature-page .btn-danger{background-color:var(--danger-light);color:var(--danger-color)}.workflow-signature-page .btn-danger:hover{background-color:var(--danger-color);color:#fff}.workflow-signature-page .btn-text{background:none;color:var(--text-secondary)}.workflow-signature-page .btn-text:hover{color:var(--text-primary)}.help-center-page{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.help-center-header{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-2xl) var(--spacing-xl);background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.help-center-header h1{display:flex;align-items:center;justify-content:center;gap:12px;font-size:28px;color:var(--color-gray-900);margin-bottom:8px}.help-center-header p{color:var(--color-gray-600);font-size:16px}.help-center-search{margin-bottom:var(--spacing-xl)}.search-box{display:flex;align-items:center;max-width:600px;margin:0 auto;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:10px 14px;gap:12px;box-shadow:var(--shadow-sm)}.search-box input{flex:1;border:none;background:transparent;font-size:16px;outline:none;color:var(--color-gray-900)}.search-box input::placeholder{color:var(--color-gray-400)}.search-box button{padding:10px 18px;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.search-box button:hover{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--shadow-sm)}.search-box button:active{transform:translateY(1px)}.help-center-content{display:flex;gap:32px}.help-center-sidebar{width:240px;flex-shrink:0;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);height:fit-content;position:sticky;top:calc(64px + var(--spacing-lg))}.help-center-sidebar h3{font-size:14px;color:var(--color-gray-700);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.category-list{list-style:none;padding:0;margin:0}.category-list li{padding:10px 16px;cursor:pointer;border-radius:6px;color:var(--color-gray-700);transition:background-color .2s,color .2s}.category-list li:hover{background:var(--color-gray-50);color:var(--color-gray-900)}.category-list li.active{background:#c9a0631f;color:var(--color-primary);font-weight:600}.help-center-main{flex:1;min-width:0}.article-list{display:flex;flex-direction:column;gap:16px}.article-card{background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:box-shadow .2s,border-color .2s,transform .2s}.article-card:hover{border-color:#c9a06380;box-shadow:var(--shadow-md);transform:translateY(-1px)}.article-card h3{font-size:18px;color:var(--color-gray-900);margin-bottom:8px}.article-preview{color:var(--color-gray-600);font-size:14px;line-height:1.6;margin-bottom:12px}.article-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--color-gray-500)}.category-tag{background:var(--color-gray-100);padding:4px 10px;border-radius:var(--radius-full);font-size:12px;color:var(--color-gray-700)}.article-date{flex:1}.pagination button{padding:10px 16px;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;color:var(--color-gray-800);box-shadow:var(--shadow-sm)}.pagination button:not(:disabled):hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}@media (max-width: 768px){.help-center-content{flex-direction:column}.help-center-sidebar{width:100%;position:static}.category-list{display:flex;flex-wrap:wrap;gap:8px}.category-list li{padding:8px 12px}}.help-article-page{padding:var(--spacing-xl);max-width:900px;margin:0 auto}.help-article-page.loading,.help-article-page.not-found{text-align:center;padding:48px;color:var(--color-gray-600)}.help-article-page.not-found button{margin-top:16px;padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-full);cursor:pointer;color:var(--color-gray-800);margin-bottom:24px;box-shadow:var(--shadow-sm)}.back-btn:hover{background:var(--color-gray-50)}.article-content{background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm)}.article-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-gray-200)}.article-header h1{font-size:28px;color:var(--color-gray-900);margin-bottom:16px;line-height:1.3}.article-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.article-info .category-tag{background:#c9a0631f;color:var(--color-primary);padding:4px 12px;border-radius:var(--radius-full);font-size:13px;border:1px solid rgba(201,160,99,.25)}.article-info .info-item{display:flex;align-items:center;gap:6px;color:var(--color-gray-600);font-size:14px}.article-body{color:var(--color-gray-800);line-height:1.8;font-size:16px}.markdown-content h1{font-size:24px;margin:24px 0 16px;color:var(--color-gray-900)}.markdown-content h2{font-size:20px;margin:20px 0 12px;color:var(--color-gray-900)}.markdown-content h3{font-size:18px;margin:16px 0 10px;color:var(--color-gray-900)}.markdown-content p{margin:12px 0}.markdown-content strong{font-weight:600}.markdown-content em{font-style:italic}.markdown-content code{background:var(--color-gray-100);padding:2px 6px;border-radius:var(--radius-sm);font-family:Consolas,Monaco,monospace;font-size:14px}.markdown-content pre{background:var(--color-gray-100);padding:16px;border-radius:var(--radius-lg);overflow-x:auto;margin:16px 0;border:1px solid var(--color-gray-200)}.markdown-content pre code{background:none;padding:0}.markdown-content a{color:var(--color-primary);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content ul,.markdown-content ol{margin:12px 0;padding-left:24px}.markdown-content li{margin:6px 0}.markdown-content .md-image{max-width:100%;height:auto;border-radius:var(--radius-lg);margin:16px 0;border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.article-content{padding:20px}.article-header h1{font-size:22px}}.help-admin-page{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.help-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.help-admin-header h1{font-size:24px;color:var(--color-gray-900)}.help-admin-toolbar{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.help-admin-toolbar .search-box{display:flex;align-items:center;max-width:400px;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:10px 12px;gap:8px}.help-admin-toolbar .search-box input{flex:1;border:none;background:transparent;outline:none;color:var(--color-gray-900)}.help-admin-toolbar .search-box button{padding:8px 14px;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:600}.help-admin-toolbar .search-box button:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-gray-200)}.data-table th{background:var(--color-gray-50);font-weight:600;color:var(--color-gray-600);font-size:13px}.data-table td{color:var(--color-gray-800);font-size:14px}.data-table tbody tr:hover{background:var(--color-gray-50)}.title-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px}.status-badge.published{background:#dcfce7;color:#166534}.status-badge.draft{background:#fef3c7;color:#92400e}.btn-icon{padding:6px;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;color:var(--color-gray-600);display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--color-gray-50);color:var(--color-gray-900);border-color:var(--color-gray-300)}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600}.btn-primary:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:10px 18px;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;color:var(--color-gray-800);font-size:14px}.btn-secondary:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.loading,.empty{text-align:center;padding:56px;color:var(--color-gray-600);background:#fff;border:1px dashed var(--color-gray-300);border-radius:var(--radius-lg)}.pagination button{padding:8px 16px;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;color:var(--color-gray-800);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#11182773;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:var(--radius-lg);padding:24px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-gray-200);box-shadow:var(--shadow-lg)}.article-modal{width:700px;max-width:90vw}.modal-content h2{margin-bottom:20px;color:var(--color-gray-900)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;color:var(--color-gray-700)}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:#fff;color:var(--color-gray-900);font-size:14px}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group textarea:focus{outline:none;border-color:#c9a063b3;box-shadow:0 0 0 3px #c9a06326}.form-group textarea{resize:vertical;font-family:Consolas,Monaco,monospace;line-height:1.5}.editor-toolbar{display:flex;gap:8px;margin-bottom:8px}.editor-toolbar .btn-icon{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:#fff;color:var(--color-gray-700);font-size:13px;cursor:pointer;transition:all .2s}.editor-toolbar .btn-icon:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300);color:var(--color-gray-900)}.editor-toolbar .btn-icon:disabled{opacity:.6;cursor:not-allowed}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:16px;height:16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}.announcement-title-cell{display:flex;align-items:center;gap:8px}.announcement-title-cell .pin-icon{color:var(--color-primary);font-size:16px;flex-shrink:0}.announcement-title{color:var(--color-gray-900);cursor:pointer;font-weight:500}.announcement-title:hover{color:var(--color-primary);text-decoration:underline}.category-tag{font-size:12px;padding:2px 8px;background-color:var(--color-gray-100);color:var(--color-gray-600);border-radius:4px;flex-shrink:0}.status-badge,.priority-badge,.scope-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.scope-badge{background-color:var(--color-gray-100);color:var(--color-gray-700)}.read-stats{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--color-gray-600)}.read-stats .read-icon{font-size:16px}.read-stats .divider{color:var(--color-gray-400)}.read-stats .read-count{color:var(--color-primary)}.time-cell{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--color-gray-600)}.time-cell .time-icon{font-size:14px}.btn-publish{color:#16a34a}.btn-publish:hover{background-color:#f0fdf4}.btn-archive{color:#ca8a04}.btn-archive:hover{background-color:#fefce8}.scope-type-selector{display:flex;gap:12px;margin-bottom:20px}.scope-type-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;border:2px solid var(--color-gray-200);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;min-width:100px}.scope-type-btn svg{font-size:24px;color:var(--color-gray-500)}.scope-type-btn span{font-size:14px;color:var(--color-gray-700)}.scope-type-btn:hover{border-color:var(--color-primary)}.scope-type-btn.active{border-color:var(--color-primary);background-color:#fffbf5}.scope-type-btn.active svg{color:var(--color-primary)}.scope-type-btn.active span{color:var(--color-primary);font-weight:500}.scope-selector{margin-top:16px;padding:16px;background-color:var(--color-gray-50);border-radius:8px}.scope-selector label{display:block;font-weight:500;margin-bottom:12px;color:var(--color-gray-700)}.checkbox-list{display:flex;flex-wrap:wrap;gap:12px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid var(--color-gray-200);border-radius:6px;cursor:pointer;transition:all .2s}.checkbox-item:hover{border-color:var(--color-primary)}.checkbox-item input[type=checkbox]{accent-color:var(--color-primary)}.selected-users{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.selected-user-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:var(--color-primary);color:#fff;border-radius:16px;font-size:13px}.selected-user-tag svg{cursor:pointer;font-size:16px}.selected-user-tag svg:hover{opacity:.8}.btn-add-user{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px dashed var(--color-gray-300);border-radius:6px;background:#fff;color:var(--color-gray-600);cursor:pointer;font-size:13px}.btn-add-user:hover{border-color:var(--color-primary);color:var(--color-primary)}.user-selector-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.user-selector-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.user-selector-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-gray-200)}.user-selector-header h4{margin:0;font-size:16px;font-weight:600}.user-selector-header button{background:none;border:none;font-size:20px;color:var(--color-gray-500);cursor:pointer}.user-list{flex:1;overflow-y:auto;padding:12px}.user-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background-color .2s}.user-item:hover{background-color:var(--color-gray-50)}.user-item input[type=checkbox]{accent-color:var(--color-primary)}.user-item .user-info{flex:1}.user-item .user-name{font-weight:500;color:var(--color-gray-900)}.user-item .user-dept{font-size:12px;color:var(--color-gray-500)}.user-selector-footer{padding:16px 20px;border-top:1px solid var(--color-gray-200);text-align:right}.announcement-detail{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.announcement-header{padding:24px;border-bottom:1px solid var(--color-gray-100)}.announcement-meta{display:flex;gap:8px;margin-bottom:12px}.pin-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:#fef3c7;color:#d97706;border-radius:4px;font-size:12px;font-weight:500}.category-badge{padding:4px 10px;background-color:var(--color-gray-100);color:var(--color-gray-700);border-radius:4px;font-size:12px}.announcement-detail .announcement-title{font-size:24px;font-weight:600;color:var(--color-gray-900);margin:0 0 16px;cursor:default}.announcement-detail .announcement-title:hover{color:var(--color-gray-900);text-decoration:none}.announcement-info{display:flex;flex-wrap:wrap;gap:16px}.announcement-info .info-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-gray-600)}.announcement-info .info-item svg{font-size:16px}.read-status{display:inline-flex;align-items:center;gap:4px;margin-top:12px;padding:6px 12px;background-color:#f0fdf4;color:#16a34a;border-radius:4px;font-size:13px}.read-status .read-icon{font-size:16px}.announcement-content{padding:24px;min-height:200px}.announcement-content .text-content p{margin:0 0 12px;line-height:1.8;color:var(--color-gray-800)}.announcement-footer{padding:16px 24px;background-color:var(--color-gray-50);display:flex;gap:24px;font-size:13px;color:var(--color-gray-600)}.scope-label,.expire-label{color:var(--color-gray-500)}.read-status-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.summary-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 1px 3px #0000001a}.summary-card .summary-value{font-size:28px;font-weight:600;color:var(--color-gray-900)}.summary-card .summary-label{font-size:13px;color:var(--color-gray-500);margin-top:4px}.summary-card.read{background-color:#f0fdf4}.summary-card.read .summary-value,.summary-card.read .summary-label{color:#16a34a}.summary-card.unread{background-color:#fef2f2}.summary-card.unread .summary-value,.summary-card.unread .summary-label{color:#dc2626}.summary-card.rate{background-color:#eff6ff}.summary-card.rate .summary-value,.summary-card.rate .summary-label{color:#2563eb}.read-status-progress{margin-bottom:20px}.progress-bar{height:8px;background-color:var(--color-gray-200);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:#16a34a;border-radius:4px;transition:width .3s ease}.filter-tabs{display:flex;gap:8px}.filter-tab{padding:8px 16px;border:1px solid var(--color-gray-200);border-radius:6px;background:#fff;color:var(--color-gray-600);cursor:pointer;font-size:13px;transition:all .2s}.filter-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-tab.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.user-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.user-status-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.user-status-card .user-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--color-gray-200);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.user-status-card .user-avatar img{width:100%;height:100%;object-fit:cover}.user-status-card .user-avatar svg{font-size:24px;color:var(--color-gray-400)}.user-status-card .user-info{flex:1;min-width:0}.user-status-card .user-name{font-weight:500;color:var(--color-gray-900)}.user-status-card .user-dept{font-size:12px;color:var(--color-gray-500)}.user-status-card .read-indicator{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-status-card .icon-read{font-size:20px;color:#16a34a}.user-status-card .icon-unread{font-size:20px;color:var(--color-gray-400)}.user-status-card .read-time{font-size:11px;color:var(--color-gray-500)}@media (max-width: 768px){.scope-type-selector{flex-wrap:wrap}.scope-type-btn{flex:1;min-width:calc(50% - 6px)}.read-status-summary{grid-template-columns:repeat(2,1fr)}.user-status-grid{grid-template-columns:1fr}}.legal-page{padding:24px;max-width:1200px;margin:0 auto}.legal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left{display:flex;align-items:center;gap:12px}.header-left h1{font-size:24px;font-weight:600;color:#111827;margin:0}.header-left p{font-size:14px;color:#6b7280;margin:4px 0 0}.header-icon{font-size:32px;color:#c9a063}.search-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px}.search-bar .search-icon{color:#9ca3af;font-size:20px}.search-bar input{flex:1;border:none;outline:none;font-size:14px}.contracts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.contract-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s;border:1px solid #e5e7eb}.contract-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#c9a063}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 12px;line-height:1.4}.card-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.info-row{display:flex;font-size:13px}.info-row .label{color:#6b7280;width:50px;flex-shrink:0}.info-row .value{color:#374151;flex:1}.info-row .value.amount{color:#c9a063;font-weight:600}.reviewer-info{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fef3c7;border-radius:6px;font-size:13px;color:#92400e;margin-bottom:12px}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f3f4f6}.card-footer .date{font-size:12px;color:#9ca3af}.card-actions{display:flex;gap:4px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.green{background:#d1fae5;color:#059669}.status-icon{font-size:14px}.status-icon.gray{color:#6b7280}.status-icon.blue{color:#2563eb}.status-icon.orange{color:#d97706}.status-icon.green{color:#059669}.status-icon.red{color:#dc2626}.contract-type{font-size:12px;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:4px}.review-stats{display:flex;gap:16px;margin-bottom:24px}.stat-item{flex:1;background:#fff;padding:16px 20px;border-radius:10px;text-align:center;border:1px solid #e5e7eb}.stat-item .stat-number{font-size:28px;font-weight:600;margin-bottom:4px}.stat-item .stat-label{font-size:13px;color:#6b7280}.stat-item.pending .stat-number{color:#2563eb}.stat-item.reviewing .stat-number{color:#d97706}.stat-item.approved .stat-number{color:#059669}.stat-item.rejected .stat-number{color:#dc2626}.review-tabs{display:flex;gap:8px;margin-bottom:20px;background:#f3f4f6;padding:4px;border-radius:10px;width:fit-content}.review-tabs button{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;background:transparent;border-radius:8px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s}.review-tabs button:hover{color:#374151}.review-tabs button.active{background:#fff;color:#c9a063;box-shadow:0 1px 3px #0000001a}.review-list{display:flex;flex-direction:column;gap:12px}.review-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.review-card:hover{border-color:#c9a063;box-shadow:0 2px 8px #00000014}.review-card-left{flex:1}.contract-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.contract-meta .submit-time{display:flex;align-items:center;gap:4px;font-size:12px;color:#9ca3af}.review-card .contract-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 8px}.contract-parties{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;margin-bottom:8px}.contract-parties .separator{color:#d1d5db}.contract-parties .amount{color:#c9a063;font-weight:500}.contract-submitter{display:flex;align-items:center;gap:6px;font-size:12px;color:#9ca3af}.review-card-right{display:flex;align-items:center;gap:12px}.btn-claim{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#c9a063;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-claim:hover{background:#b8924f}.btn-review{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#059669;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-review:hover{background:#047857}.completed-badge{display:flex;align-items:center;gap:4px;padding:8px 16px;background:#f3f4f6;color:#6b7280;border-radius:8px;font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:14px;margin-bottom:16px}.loading-state{text-align:center;padding:40px;color:#9ca3af}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#c9a063;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#b8924f}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;cursor:pointer}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f3f4f6;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#e5e7eb;color:#374151}.btn-icon.primary:hover{background:#dbeafe;color:#2563eb}.btn-icon.danger:hover{background:#fee2e2;color:#dc2626}.stats-cards{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{flex:1;min-width:120px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s;text-align:center}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card .stat-value{font-size:28px;font-weight:600;color:#333}.stat-card .stat-label{font-size:13px;color:#666;margin-top:4px}.stat-card.draft .stat-value{color:#6b7280}.stat-card.pending .stat-value{color:#d97706}.stat-card.approved .stat-value{color:#059669}.stat-card.rejected .stat-value{color:#dc2626}.status-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-tag.gray{background:#f3f4f6;color:#6b7280}.status-tag.orange{background:#fef3c7;color:#d97706}.status-tag.green{background:#d1fae5;color:#059669}.status-tag.red{background:#fee2e2;color:#dc2626}.status-tag.blue{background:#dbeafe;color:#2563eb}.filter-panel{display:flex;gap:16px;padding:16px;background:#f9fafb;border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:13px;color:#666;display:flex;align-items:center;gap:6px}.filter-group select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:150px}.contract-title{color:#c9a063;cursor:pointer;font-weight:500}.contract-title:hover{text-decoration:underline}.form-container{max-width:900px}.form-section{background:#fff;padding:24px;border-radius:8px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.form-section h3{font-size:16px;font-weight:600;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.form-section h3 .hint{font-size:12px;font-weight:400;color:#9ca3af}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group.full-width{grid-column:1 / -1}.form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.input-with-addon{display:flex;gap:8px}.input-with-addon select{flex-shrink:0}.input-with-addon input{flex:1}.attachments-area{padding:16px;background:#f9fafb;border-radius:8px;border:2px dashed #d1d5db}.btn-upload{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#c9a063;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-upload:hover:not(:disabled){background:#b8924f}.btn-upload:disabled{background:#d1d5db;cursor:not-allowed}.attachment-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.attachment-list.horizontal{flex-direction:row;flex-wrap:wrap}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.attachment-item .filename{flex:1;font-size:14px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item .btn-remove{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px}.attachment-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f3f4f6;border-radius:6px;color:#374151;text-decoration:none;font-size:13px}.attachment-link:hover{background:#e5e7eb}.detail-container{max-width:1200px;margin:0 auto}.detail-section{background:#fff;padding:24px;border-radius:8px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.detail-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-grid.compact{grid-template-columns:repeat(4,1fr)}.info-grid .info-item{display:flex;flex-direction:column;gap:4px}.info-grid .info-item label{font-size:12px;color:#6b7280}.info-grid .info-item span{font-size:14px;color:#111827;font-weight:500}.description-block{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.description-block label{font-size:12px;color:#6b7280;display:block;margin-bottom:8px}.description-block p{font-size:14px;color:#374151;line-height:1.6}.empty-hint{color:#9ca3af;font-size:14px;text-align:center;padding:24px}.review-timeline{display:flex;flex-direction:column;gap:16px}.review-item{padding:16px;background:#f9fafb;border-radius:8px;border-left:3px solid #d1d5db}.review-item.green{border-left-color:#059669}.review-item.red{border-left-color:#dc2626}.review-item.orange{border-left-color:#d97706}.review-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.review-header .reviewer{display:flex;align-items:center;gap:6px;font-weight:500;color:#374151}.action-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:12px}.action-tag.green{background:#d1fae5;color:#059669}.action-tag.red{background:#fee2e2;color:#dc2626}.action-tag.orange{background:#fef3c7;color:#d97706}.review-time{font-size:12px;color:#9ca3af;margin-left:auto}.review-comment{font-size:14px;color:#4b5563;line-height:1.5}.review-signature{margin-top:12px}.review-signature img{max-width:200px;max-height:80px;border:1px solid #e5e7eb;border-radius:4px;background:#fff}.review-container{max-width:800px}.review-section{background:#fff;padding:24px;border-radius:8px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.review-section h3{font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.review-section h4{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#374151;margin-bottom:12px}.action-buttons{display:flex;gap:12px;margin-bottom:20px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{border-color:#d1d5db}.action-btn.approve.active{border-color:#059669;background:#ecfdf5;color:#059669}.action-btn.reject.active{border-color:#dc2626;background:#fef2f2;color:#dc2626}.action-btn.revision.active{border-color:#d97706;background:#fffbeb;color:#d97706}.signature-section{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.signature-mode-toggle{display:flex;gap:8px;margin-bottom:16px}.signature-mode-toggle button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.signature-mode-toggle button.active{border-color:#c9a063;background:#fef7ed;color:#c9a063}.saved-signature{padding:16px;background:#f9fafb;border-radius:8px;text-align:center}.saved-signature img{max-width:300px;max-height:100px}.draw-signature{display:flex;flex-direction:column;align-items:center;gap:12px}.draw-signature canvas{border:1px solid #d1d5db;border-radius:8px;cursor:crosshair;background:#fff}.draw-signature .btn-clear{padding:6px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.no-signature-hint{padding:16px;background:#fef3c7;border-radius:8px;font-size:14px;color:#92400e}.no-signature-hint a{color:#c9a063;margin-left:4px}.review-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media (max-width: 768px){.stats-cards{flex-direction:column}.form-grid,.info-grid{grid-template-columns:1fr}.info-grid.compact{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column}}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 0;margin-top:20px}.pagination button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:#f9fafb;border-color:#c9a063;color:#c9a063}.pagination span{font-size:14px;color:#6b7280}.resubmit-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#fef3c7;color:#d97706;border-radius:10px;font-size:11px;font-weight:500}.resubmit-badge svg{font-size:12px}.space-page{padding:24px;max-width:1400px;margin:0 auto}.space-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.space-header .header-left{display:flex;align-items:center;gap:16px}.space-header .header-icon{font-size:36px;color:#c9a063}.space-header h1{margin:0;font-size:24px;color:#1f2937}.space-header p{margin:4px 0 0;color:#6b7280;font-size:14px}.space-stats{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.space-stats .stat-item{flex:1;min-width:150px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a}.space-stats .stat-item svg{font-size:28px;color:#c9a063}.space-stats .stat-item.highlight{background:linear-gradient(135deg,#c9a063,#d4b680)}.space-stats .stat-item.highlight svg,.space-stats .stat-item.highlight .stat-value,.space-stats .stat-item.highlight .stat-label{color:#fff}.space-stats .stat-info{display:flex;flex-direction:column}.space-stats .stat-value{font-size:24px;font-weight:600;color:#1f2937}.space-stats .stat-label{font-size:13px;color:#6b7280}.space-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:#f3f4f6;border-radius:10px;width:fit-content}.space-tabs button{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;border-radius:8px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s}.space-tabs button:hover{color:#1f2937}.space-tabs button.active{background:#fff;color:#c9a063;box-shadow:0 1px 3px #0000001a}.space-filters{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.type-filter{display:flex;gap:8px}.type-filter button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:20px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .2s}.type-filter button:hover{border-color:#c9a063;color:#c9a063}.type-filter button.active{background:#c9a063;border-color:#c9a063;color:#fff}.space-filters .search-box{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:280px}.space-filters .search-box svg{color:#9ca3af}.space-filters .search-box input{border:none;outline:none;flex:1;font-size:14px}.space-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.space-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s}.space-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.space-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.space-type-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:20px}.space-type-icon.desk{background:#dbeafe;color:#2563eb}.space-type-icon.meeting_room{background:#dcfce7;color:#16a34a}.space-type-icon.parking{background:#fef3c7;color:#d97706}.space-type-label{font-size:12px;color:#6b7280}.space-name{margin:0 0 12px;font-size:18px;color:#1f2937}.space-info{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.space-info .info-row{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.space-info .info-row svg{font-size:16px}.btn-reserve{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:none;background:#c9a063;color:#fff;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s}.btn-reserve:hover{background:#b8924f}.reservation-list{display:flex;flex-direction:column;gap:12px}.reservation-card{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a}.reservation-left{flex:1}.reservation-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.reservation-title{margin:0 0 8px;font-size:16px;color:#1f2937}.reservation-info{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:#6b7280}.reservation-info span{display:flex;align-items:center;gap:4px}.btn-cancel{padding:8px 16px;border:1px solid #ef4444;background:transparent;color:#ef4444;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#ef4444;color:#fff}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.blue{background:#dbeafe;color:#2563eb}.status-badge.orange{background:#fef3c7;color:#d97706}.status-badge.green{background:#dcfce7;color:#16a34a}.status-badge.gray{background:#f3f4f6;color:#6b7280}.status-badge.red{background:#fee2e2;color:#dc2626}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:18px}.btn-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.form-group textarea{min-height:80px;resize:vertical}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slot{padding:10px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;text-align:center}.time-slot:hover:not(:disabled){border-color:#c9a063;color:#c9a063}.time-slot.selected{background:#c9a063;border-color:#c9a063;color:#fff}.time-slot.unavailable{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.time-slot .reserved-by{display:block;font-size:10px;margin-top:2px}.time-range-picker{display:flex;align-items:flex-end;gap:12px}.time-input-group{flex:1}.time-input-group label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}.time-input-group input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.time-separator{padding-bottom:10px;color:#6b7280}.time-duration{margin-top:8px;font-size:13px;color:#c9a063;font-weight:500}.time-duration.error{color:#dc2626}.time-limit-hint{font-size:12px;color:#d97706;font-weight:400;margin-left:8px}.time-slot-indicator{padding:8px;border-radius:4px;font-size:12px;text-align:center}.time-slot-indicator.available{background:#dcfce7;color:#16a34a;border:1px solid #86efac}.time-slot-indicator.unavailable{background:#fecaca;color:#dc2626;border:1px solid #f87171}.form-hint{display:block;margin-top:4px;font-size:12px;color:#9ca3af}.btn-primary{padding:10px 20px;border:none;background:#c9a063;color:#fff;border-radius:8px;font-size:14px;cursor:pointer}.btn-primary:hover:not(:disabled){background:#b8924f}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 20px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;font-size:14px;cursor:pointer}.btn-secondary:hover{background:#f9fafb}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a}.admin-table{width:100%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.admin-table table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.admin-table th{background:#f9fafb;font-weight:500;font-size:13px;color:#6b7280}.admin-table td{font-size:14px;color:#1f2937}.admin-table .actions{display:flex;gap:8px}.admin-table .btn-edit,.admin-table .btn-delete{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer}.admin-table .btn-edit{background:#dbeafe;color:#2563eb}.admin-table .btn-delete{background:#fee2e2;color:#dc2626}.utilization-chart{background:#fff;padding:24px;border-radius:10px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.utilization-bar{height:24px;background:#f3f4f6;border-radius:12px;overflow:hidden;margin-top:8px}.utilization-bar .fill{height:100%;background:linear-gradient(90deg,#c9a063,#d4b680);border-radius:12px;transition:width .3s}.utilization-list{display:flex;flex-direction:column;gap:16px}.utilization-item{padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.utilization-item .item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.utilization-item .item-name{font-weight:500;color:#1f2937}.utilization-item .item-rate{font-size:18px;font-weight:600;color:#c9a063}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;font-size:14px}.empty-state svg{font-size:48px;margin-bottom:12px;opacity:.5}@media (max-width: 768px){.space-page{padding:16px}.space-stats{flex-direction:column}.space-filters{flex-direction:column;align-items:stretch}.type-filter{flex-wrap:wrap}.space-grid{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(3,1fr)}.reservation-card{flex-direction:column;align-items:flex-start;gap:12px}.reservation-right,.btn-cancel{width:100%}}.qrcode-checkin-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5e6c8,#e8d4a8);padding:20px}.qrcode-checkin-card{background:#fff;border-radius:16px;padding:40px 32px;max-width:400px;width:100%;text-align:center;box-shadow:0 10px 40px #0003}.qrcode-checkin-card h2{margin:0 0 16px;color:#333;font-size:24px}.qrcode-checkin-card .qrcode-name{color:#666;font-size:16px;margin-bottom:8px}.qrcode-checkin-card .qrcode-expires{color:#999;font-size:14px;margin-bottom:24px}.btn-checkin{width:100%;padding:16px 32px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#c9a227,#b8922a);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-checkin:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #c9a22766}.btn-checkin:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #c9a227;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qrcode-checkin-card.success .success-icon{width:80px;height:80px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:40px;color:#fff}.qrcode-checkin-card.success h2{color:#4caf50}.qrcode-checkin-card.success .success-time{color:#666;margin-bottom:24px}.qrcode-checkin-card.error .error-icon{width:80px;height:80px;background:#f44336;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:40px;color:#fff}.qrcode-checkin-card.error h2{color:#f44336}.qrcode-checkin-card .error-message{color:#666;margin-bottom:24px}.qrcode-checkin-card .error-alert{background:#fff3f3;border:1px solid #ffcdd2;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.qrcode-checkin-card .btn-primary,.qrcode-checkin-card .btn-secondary{width:100%;padding:12px 24px;font-size:16px;border-radius:8px;cursor:pointer;transition:background .2s}.qrcode-checkin-card .btn-primary{background:#c9a227;color:#fff;border:none}.qrcode-checkin-card .btn-primary:hover{background:#b8922a}.qrcode-checkin-card .btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd}.qrcode-checkin-card .btn-secondary:hover{background:#eee}.location-status{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;text-align:center}.location-status.pending{background:#fff8e1;border:1px solid #ffe082;color:#f57c00}.location-status.granted{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.location-status.denied,.location-status.unavailable{background:#fff3f3;border:1px solid #ffcdd2;color:#c62828}.location-status .location-success{margin:0}.location-status .location-error{display:flex;flex-direction:column;gap:8px}.location-status .location-error p{margin:0}.location-status .btn-link{background:none;border:none;color:#1976d2;cursor:pointer;text-decoration:underline;font-size:14px;padding:0}.location-status .btn-link:hover{color:#1565c0}@media (max-width: 480px){.qrcode-checkin-card{padding:32px 24px}.qrcode-checkin-card h2{font-size:20px}.btn-checkin{font-size:16px;padding:14px 24px}}.attendance-config-page .config-section,.attendance-config-page .qrcode-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.attendance-config-page .config-section h2,.attendance-config-page .qrcode-section h2{margin:0 0 20px;font-size:18px;color:#333;border-bottom:1px solid #eee;padding-bottom:12px}.attendance-config-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:12px}.attendance-config-page .section-header h2{margin:0;border:none;padding:0}.attendance-config-page .config-form{max-width:500px}.attendance-config-page .form-group{margin-bottom:20px}.attendance-config-page .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.attendance-config-page .form-group input[type=text],.attendance-config-page .form-group input[type=number]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.attendance-config-page .form-group input:focus{outline:none;border-color:#667eea}.attendance-config-page .form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.attendance-config-page .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.attendance-config-page .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.attendance-config-page .form-hint{margin:6px 0 0;font-size:13px;color:#888}.attendance-config-page .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.attendance-config-page .status-valid{background:#e8f5e9;color:#2e7d32}.attendance-config-page .status-expired{background:#fff3e0;color:#ef6c00}.attendance-config-page .status-revoked{background:#ffebee;color:#c62828}.attendance-config-page .btn-link{background:none;border:none;color:#667eea;cursor:pointer;padding:4px 8px;font-size:14px}.attendance-config-page .btn-link:hover{text-decoration:underline}.attendance-config-page .btn-link:disabled{color:#ccc;cursor:not-allowed}.attendance-config-page .btn-link.btn-danger{color:#f44336}.attendance-config-page .btn-link.btn-danger:hover{color:#d32f2f}.attendance-config-page .pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.attendance-config-page .page-info{color:#666;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto}.modal-content.qrcode-modal{max-width:360px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:18px;color:#333}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#333}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #eee}.checkin-records-modal{max-width:600px}.checkin-records-modal .modal-body{max-height:400px;overflow-y:auto}@media (max-width: 768px){.attendance-config-page .section-header{flex-direction:column;align-items:flex-start;gap:12px}.attendance-config-page .data-table{font-size:13px}.attendance-config-page .data-table th,.attendance-config-page .data-table td{padding:8px 6px}}:root{--color-primary: #C9A063;--color-secondary: #B8956A;--color-accent: #D4AF37;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-danger: #EF4444;--color-success: #10B981;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}.storefront-layout{min-height:100vh;background-color:var(--color-gray-50);display:flex;flex-direction:column}.storefront-header{background:linear-gradient(135deg,#1f2937,#374151);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.storefront-header-inner{max-width:1400px;margin:0 auto;padding:0 24px;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;height:64px;gap:20px}.storefront-logo{display:flex;align-items:center;gap:8px;color:#c9a063;font-size:20px;font-weight:700;text-decoration:none;flex-shrink:0}.storefront-logo:hover{text-decoration:none;color:var(--color-accent)}.storefront-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff}.storefront-nav{display:flex;align-items:center;gap:var(--spacing-xl)}.storefront-nav-link{color:#fff;font-size:var(--font-size-sm);font-weight:500;text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all .2s}.storefront-nav-link:hover{background-color:#ffffff1a;text-decoration:none}.storefront-nav-link.active{background-color:#c9a06333;color:var(--color-primary)}.storefront-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.storefront-search{position:relative;flex:1;max-width:400px;min-width:200px}.storefront-search input{width:100%;padding:8px 16px 8px 40px;border-radius:9999px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff1a;color:#fff;font-size:14px;transition:all .2s;box-sizing:border-box}.storefront-search input::placeholder{color:#ffffff80}.storefront-search input:focus{outline:none;border-color:var(--color-primary);background-color:#ffffff26}.storefront-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ffffff80}.storefront-icon-btn{position:relative;width:40px;height:40px;border-radius:9999px;border:none;background-color:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none}.storefront-icon-btn:hover{background-color:#fff3}.storefront-icon-btn .badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:var(--radius-full);background-color:var(--color-danger);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}.storefront-main{max-width:1400px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg);flex:1;width:100%;box-sizing:border-box}.storefront-hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:var(--radius-lg);padding:var(--spacing-2xl);color:#fff;margin-bottom:var(--spacing-xl);position:relative;overflow:hidden}.storefront-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:80%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.storefront-hero-content{position:relative;z-index:1;max-width:600px}.storefront-hero h1{font-size:36px;font-weight:700;margin-bottom:var(--spacing-md);line-height:1.2}.storefront-hero p{font-size:var(--font-size-lg);opacity:.9;margin-bottom:var(--spacing-lg)}.storefront-hero-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background-color:#fff;color:var(--color-secondary);border-radius:var(--radius-full);font-weight:600;text-decoration:none;transition:all .2s;box-shadow:var(--shadow-md)}.storefront-hero-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);text-decoration:none}.storefront-categories{margin-bottom:var(--spacing-xl)}.section-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.section-title:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:2px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.category-card{background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;border:1px solid var(--color-gray-200);cursor:pointer;transition:all .2s;text-decoration:none;color:inherit}.category-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #c9a06326;transform:translateY(-2px);text-decoration:none}.category-card-icon{width:60px;height:60px;margin:0 auto var(--spacing-md);border-radius:var(--radius-lg);background:linear-gradient(135deg,#c9a0631a,#d4af371a);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:24px}.category-card-name{font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-xs)}.category-card-count{font-size:var(--font-size-sm);color:var(--color-gray-500)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-lg)}.product-card{background-color:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-gray-200);transition:all .2s;text-decoration:none;color:inherit}.product-card:hover{border-color:var(--color-primary);box-shadow:0 8px 24px #0000001a;transform:translateY(-4px);text-decoration:none}.product-card-image{position:relative;width:100%;height:200px;background-color:var(--color-gray-100);overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.product-card:hover .product-card-image img{transform:scale(1.05)}.product-card-badges{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-badge{padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase}.product-badge--sale{background-color:var(--color-danger);color:#fff}.product-badge--featured{background-color:var(--color-primary);color:#fff}.product-badge--new{background-color:var(--color-info);color:#fff}.product-card-wishlist{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px;border-radius:var(--radius-full);background-color:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);transition:all .2s}.product-card-wishlist:hover{color:var(--color-danger);transform:scale(1.1)}.product-card-wishlist.active{color:var(--color-danger)}.product-card-content{padding:var(--spacing-md)}.product-card-category{font-size:var(--font-size-xs);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.product-card-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-rating{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.product-card-stars{display:flex;gap:2px;color:var(--color-warning)}.product-card-review-count{font-size:var(--font-size-xs);color:var(--color-gray-500)}.product-card-price{display:flex;align-items:center;gap:var(--spacing-sm)}.product-card-price-current{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.product-card-price-original{font-size:var(--font-size-sm);color:var(--color-gray-400);text-decoration:line-through}.product-card-action{margin-top:var(--spacing-md)}.product-card-add-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary);border-radius:var(--radius-md);background-color:transparent;color:var(--color-primary);font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.product-card-add-btn:hover{background-color:var(--color-primary);color:#fff}.cart-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1000;opacity:0;visibility:hidden;transition:all .3s}.cart-drawer-overlay.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100vh;background-color:#fff;box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform .3s;display:flex;flex-direction:column;z-index:1001}.cart-drawer.open{transform:translate(0)}.cart-drawer-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.cart-drawer-title{font-size:var(--font-size-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.cart-drawer-close{width:36px;height:36px;border-radius:var(--radius-full);border:none;background-color:var(--color-gray-100);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-600);transition:all .2s}.cart-drawer-close:hover{background-color:var(--color-gray-200)}.cart-drawer-items{flex:1;overflow-y:auto;padding:var(--spacing-md)}.cart-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.cart-item-image{width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-details{flex:1;min-width:0}.cart-item-name{font-weight:500;margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-price{color:var(--color-primary);font-weight:600;margin-bottom:var(--spacing-sm)}.cart-item-qty{display:flex;align-items:center;gap:var(--spacing-sm)}.cart-item-qty button{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.cart-item-qty button:hover{border-color:var(--color-primary);color:var(--color-primary)}.cart-item-qty span{min-width:24px;text-align:center;font-weight:500}.cart-item-remove{align-self:flex-start;padding:var(--spacing-xs);border:none;background:none;cursor:pointer;color:var(--color-gray-400);transition:color .2s}.cart-item-remove:hover{color:var(--color-danger)}.cart-drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-gray-500)}.cart-drawer-empty-icon{font-size:64px;margin-bottom:var(--spacing-md);opacity:.3}.cart-drawer-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-gray-200);background-color:var(--color-gray-50)}.cart-summary{margin-bottom:var(--spacing-md)}.cart-summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.cart-summary-row.total{font-size:var(--font-size-lg);font-weight:700;padding-top:var(--spacing-sm);border-top:1px solid var(--color-gray-200)}.cart-checkout-btn{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.cart-checkout-btn:hover{box-shadow:0 4px 12px #c9a06366;transform:translateY(-1px)}.storefront-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl)}.storefront-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.storefront-nav{display:none}.storefront-search{width:200px}.storefront-hero{padding:var(--spacing-lg)}.storefront-hero h1{font-size:24px}.product-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.cart-drawer{width:100%}}@media (max-width: 480px){.product-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}}.storefront-footer{background-color:#1f2937;color:#fff9;text-align:center;padding:var(--spacing-lg) var(--spacing-md);margin-top:auto;font-size:var(--font-size-sm)}.storefront-footer p{margin:0}.checkout-page{max-width:1200px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.checkout-header{margin-bottom:var(--spacing-xl)}.checkout-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-900)}.checkout-breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-sm)}.checkout-breadcrumb a{color:var(--color-primary)}.checkout-main{display:grid;grid-template-columns:1fr 400px;gap:var(--spacing-xl)}.checkout-form-section{background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-gray-200);margin-bottom:var(--spacing-lg)}.checkout-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.checkout-section-title .step-number{width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:700}.address-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.address-card{padding:var(--spacing-md);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;position:relative}.address-card:hover{border-color:var(--color-gray-300)}.address-card.selected{border-color:var(--color-primary);background-color:#c9a0630d}.address-card-check{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:24px;height:24px;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;display:none;align-items:center;justify-content:center}.address-card.selected .address-card-check{display:flex}.address-card-name{font-weight:600;margin-bottom:var(--spacing-xs)}.address-card-phone{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--spacing-xs)}.address-card-detail{font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1.5}.address-card-default{display:inline-block;margin-top:var(--spacing-sm);padding:2px 8px;background-color:var(--color-primary);color:#fff;font-size:11px;border-radius:var(--radius-sm)}.add-address-btn{padding:var(--spacing-md);border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);background-color:transparent;color:var(--color-gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all .2s}.add-address-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.shipping-methods{display:flex;flex-direction:column;gap:var(--spacing-sm)}.shipping-method{padding:var(--spacing-md);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s}.shipping-method:hover{border-color:var(--color-gray-300)}.shipping-method.selected{border-color:var(--color-primary);background-color:#c9a0630d}.shipping-method-info{display:flex;align-items:center;gap:var(--spacing-md)}.shipping-method-radio{width:20px;height:20px;border:2px solid var(--color-gray-300);border-radius:var(--radius-full);position:relative}.shipping-method.selected .shipping-method-radio{border-color:var(--color-primary)}.shipping-method.selected .shipping-method-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:var(--color-primary);border-radius:var(--radius-full)}.shipping-method-name{font-weight:500}.shipping-method-desc{font-size:var(--font-size-sm);color:var(--color-gray-500)}.shipping-method-price{font-weight:600;color:var(--color-primary)}.shipping-method-price.free{color:var(--color-success)}.payment-methods{display:flex;flex-direction:column;gap:var(--spacing-md)}.payment-method-card{padding:var(--spacing-lg);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.payment-method-card:hover{border-color:var(--color-gray-300)}.payment-method-card.selected{border-color:var(--color-primary);background-color:#c9a0630d}.payment-method-header{display:flex;align-items:center;gap:var(--spacing-md)}.payment-method-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);display:flex;align-items:center;justify-content:center;color:#fff}.payment-method-name{font-weight:600;font-size:var(--font-size-base)}.payment-method-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:2px}.payment-info{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.payment-info-title{font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-gray-800)}.payment-info-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.payment-info-label{color:var(--color-gray-500)}.payment-info-value{font-weight:500;color:var(--color-gray-800)}.checkout-notes textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);min-height:100px;resize:vertical}.checkout-notes textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631f}.checkout-summary{position:sticky;top:80px}.order-summary-card{background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-gray-200)}.order-summary-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-200)}.order-summary-items{margin-bottom:var(--spacing-lg)}.order-summary-item{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.order-summary-item-image{width:60px;height:60px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background-color:var(--color-gray-100)}.order-summary-item-image img{width:100%;height:100%;object-fit:cover}.order-summary-item-details{flex:1;min-width:0}.order-summary-item-name{font-size:var(--font-size-sm);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-summary-item-qty{font-size:var(--font-size-xs);color:var(--color-gray-500)}.order-summary-item-price{font-weight:600;color:var(--color-primary);font-size:var(--font-size-sm)}.order-summary-totals{border-top:1px solid var(--color-gray-200);padding-top:var(--spacing-md)}.order-summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.order-summary-row.total{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-900);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:2px solid var(--color-gray-200)}.order-summary-row.total .order-total-price{color:var(--color-primary)}.checkout-submit-btn{width:100%;margin-top:var(--spacing-lg);padding:var(--spacing-md);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s}.checkout-submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #c9a06366;transform:translateY(-1px)}.checkout-submit-btn:disabled{opacity:.5;cursor:not-allowed}.checkout-secure-note{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-gray-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:var(--font-size-lg);font-weight:600}.modal-close{width:32px;height:32px;border-radius:var(--radius-full);border:none;background-color:var(--color-gray-100);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-md);justify-content:flex-end}.order-success{max-width:600px;margin:var(--spacing-2xl) auto;text-align:center;background-color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--color-gray-200)}.order-success-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-success) 0%,#73d13d 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:36px}.order-success h1{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-sm)}.order-success p{color:var(--color-gray-600);margin-bottom:var(--spacing-lg)}.order-success-number{padding:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.order-success-number strong{color:var(--color-primary);font-size:var(--font-size-lg)}.order-success-actions{display:flex;gap:var(--spacing-md);justify-content:center}.payment-proof-section{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-gray-50);border-radius:var(--radius-md)}.payment-proof-title{font-weight:600;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.upload-area{border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all .2s;background-color:#fff}.upload-area:hover{border-color:var(--color-primary)}.upload-area.has-file{border-style:solid;border-color:var(--color-success)}.upload-area-icon{font-size:40px;color:var(--color-gray-400);margin-bottom:var(--spacing-sm)}.upload-area-text{color:var(--color-gray-600);margin-bottom:var(--spacing-xs)}.upload-area-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.upload-preview{margin-top:var(--spacing-md);position:relative;display:inline-block}.upload-preview img{max-width:200px;max-height:150px;border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.upload-preview-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:var(--radius-full);border:none;background-color:var(--color-danger);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}@media (max-width: 1024px){.checkout-main{grid-template-columns:1fr}.checkout-summary{position:static}}@media (max-width: 768px){.address-list{grid-template-columns:1fr}.order-success-actions{flex-direction:column}}.orders-page{max-width:1200px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.orders-header{margin-bottom:var(--spacing-xl)}.orders-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-gray-900);margin-bottom:var(--spacing-sm)}.orders-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm);background-color:var(--color-gray-100);border-radius:var(--radius-full);width:fit-content}.orders-filter-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-full);background-color:transparent;color:var(--color-gray-600);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.orders-filter-btn:hover{color:var(--color-gray-900)}.orders-filter-btn.active{background-color:#fff;color:var(--color-primary);box-shadow:var(--shadow-sm)}.orders-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.order-card{background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);overflow:hidden;transition:all .2s}.order-card:hover{border-color:var(--color-gray-300);box-shadow:var(--shadow-sm)}.order-card-header{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.order-card-info{display:flex;align-items:center;gap:var(--spacing-lg)}.order-number{font-weight:600;color:var(--color-gray-900)}.order-date{font-size:var(--font-size-sm);color:var(--color-gray-500)}.order-status{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.order-status--pending{background-color:#faad141a;color:var(--color-warning)}.order-status--confirmed,.order-status--processing{background-color:#1890ff1a;color:var(--color-info)}.order-status--shipped{background-color:#722ed11a;color:#722ed1}.order-status--delivered,.order-status--completed{background-color:#52c41a1a;color:var(--color-success)}.order-status--cancelled{background-color:var(--color-gray-100);color:var(--color-gray-500)}.order-card-items{padding:var(--spacing-lg)}.order-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.order-item+.order-item{border-top:1px solid var(--color-gray-100);padding-top:var(--spacing-md);margin-top:var(--spacing-sm)}.order-item-image{width:64px;height:64px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-gray-100);flex-shrink:0}.order-item-image img{width:100%;height:100%;object-fit:cover}.order-item-details{flex:1;min-width:0}.order-item-name{font-weight:500;margin-bottom:4px}.order-item-meta{font-size:var(--font-size-sm);color:var(--color-gray-500)}.order-item-price{text-align:right}.order-item-unit-price{color:var(--color-primary);font-weight:600}.order-item-qty{font-size:var(--font-size-sm);color:var(--color-gray-500)}.order-card-footer{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-gray-50);border-top:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.order-total{font-size:var(--font-size-lg)}.order-total-label{color:var(--color-gray-600);margin-right:var(--spacing-sm)}.order-total-amount{font-weight:700;color:var(--color-primary)}.order-actions{display:flex;gap:var(--spacing-sm)}.order-action-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.order-action-btn--primary{background-color:var(--color-primary);color:#fff;border:none}.order-action-btn--primary:hover{background-color:var(--color-secondary)}.order-action-btn--secondary{background-color:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.order-action-btn--secondary:hover{border-color:var(--color-gray-400)}.order-detail-page{max-width:1000px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.order-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.order-detail-back{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-gray-600);text-decoration:none;font-size:var(--font-size-sm)}.order-detail-back:hover{color:var(--color-primary);text-decoration:none}.order-detail-section{background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);margin-bottom:var(--spacing-lg);overflow:hidden}.order-detail-section-header{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.order-detail-section-content{padding:var(--spacing-lg)}.order-progress{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);margin-bottom:var(--spacing-lg)}.order-progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.order-progress-step:after{content:"";position:absolute;top:20px;left:50%;width:100%;height:2px;background-color:var(--color-gray-200);z-index:0}.order-progress-step:last-child:after{display:none}.order-progress-step.completed:after{background-color:var(--color-success)}.order-progress-step.active:after{background:linear-gradient(90deg,var(--color-success) 0%,var(--color-gray-200) 100%)}.order-progress-icon{width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--color-gray-200);color:var(--color-gray-400);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.order-progress-step.completed .order-progress-icon,.order-progress-step.active .order-progress-icon{background-color:var(--color-success);color:#fff}.order-progress-label{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-gray-500)}.order-progress-step.completed .order-progress-label,.order-progress-step.active .order-progress-label{color:var(--color-gray-900);font-weight:500}.payment-status-card{padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.payment-status-card--pending{background-color:#faad141a;border:1px solid rgba(250,173,20,.3)}.payment-status-card--paid{background-color:#52c41a1a;border:1px solid rgba(82,196,26,.3)}.payment-status-title{font-weight:600;margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.payment-status-desc{font-size:var(--font-size-sm);color:var(--color-gray-600)}.payment-proof-upload{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-gray-50);border-radius:var(--radius-md)}.payment-proof-title{font-weight:600;margin-bottom:var(--spacing-md)}.proof-upload-area{border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all .2s;background-color:#fff}.proof-upload-area:hover{border-color:var(--color-primary)}.proof-upload-area.has-file{border-style:solid;border-color:var(--color-success);background-color:#52c41a0d}.proof-upload-icon{font-size:48px;color:var(--color-gray-400);margin-bottom:var(--spacing-sm)}.proof-upload-text{margin-bottom:var(--spacing-xs)}.proof-upload-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.proof-preview{margin-top:var(--spacing-md);text-align:center}.proof-preview img{max-width:300px;max-height:200px;border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.proof-form{margin-top:var(--spacing-lg)}.proof-submit-btn{margin-top:var(--spacing-md)}.orders-empty{text-align:center;padding:var(--spacing-2xl);background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.orders-empty-icon{font-size:64px;color:var(--color-gray-300);margin-bottom:var(--spacing-md)}.orders-empty h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.orders-empty p{color:var(--color-gray-500);margin-bottom:var(--spacing-lg)}@media (max-width: 768px){.order-card-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.order-card-footer{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.order-actions{justify-content:flex-end}.order-progress{flex-wrap:wrap;gap:var(--spacing-md)}.order-progress-step{flex:0 0 auto;width:80px}.order-progress-step:after{display:none}}.promotion-list-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:24px;font-weight:600;margin:0}.filter-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-bar select,.filter-bar input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-bar input{flex:1;min-width:200px}.promotions-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.promotions-table table{width:100%;border-collapse:collapse}.promotions-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #dee2e6}.promotions-table td{padding:12px 16px;border-bottom:1px solid #dee2e6;font-size:14px}.promotions-table tbody tr:hover{background:#f8f9fa}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.actions{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;color:#6c757d;font-size:18px;display:flex;align-items:center;justify-content:center;transition:color .2s}.btn-icon:hover{color:#007bff}.btn-icon.btn-danger:hover{color:#dc3545}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.loading,.empty-state{text-align:center;padding:48px 24px;color:#6c757d}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.pagination button{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px}.pagination button:hover:not(:disabled){background:#f8f9fa}.pagination button:disabled{opacity:.5;cursor:not-allowed}.product-thumb{width:60px;height:60px;object-fit:cover;border-radius:6px;border:1px solid #eee}.no-image{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:6px;color:#999;font-size:12px}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #C9A063;--color-secondary: #8B7355;--color-accent: #D4AF37;--color-success: #52C41A;--color-warning: #FAAD14;--color-danger: #F5222D;--color-info: #1890FF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-gray-900);background-color:var(--color-gray-50);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;color:var(--color-gray-900)}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--font-size-xs);line-height:1.4;border:1px solid var(--color-gray-200);background-color:var(--color-gray-50);color:var(--color-gray-600)}.status-badge--pending{border-color:var(--color-warning);background-color:#faad1414;color:var(--color-warning)}.status-badge--approved{border-color:var(--color-success);background-color:#52c41a14;color:var(--color-success)}.status-badge--rejected{border-color:var(--color-danger);background-color:#f5222d14;color:var(--color-danger)}.status-badge--cancelled{border-color:var(--color-gray-300);background-color:var(--color-gray-100);color:var(--color-gray-500)}.status-badge--warning{border-color:var(--color-warning);background-color:#faad1414;color:var(--color-warning)}.page{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-primary)}.page-header h1{font-size:var(--font-size-2xl);color:var(--color-gray-900)}.page-content{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200)}.card-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--radius-md);background-color:#fff;border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.card-section h2{margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);color:var(--color-gray-900)}.form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form .form-group{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-gray-300);font-size:var(--font-size-base);font-family:inherit;transition:border-color .2s,box-shadow .2s;background-color:#fff;color:var(--color-gray-900)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a0631f}.form-group textarea{resize:vertical}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 2px 4px #c9a06340}.btn-primary:hover{background-color:var(--color-secondary);box-shadow:0 4px 8px #c9a06359}.btn-secondary{background-color:#fff;color:var(--color-gray-800);border:1px solid var(--color-gray-300)}.btn-secondary:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-small{padding:4px 10px;font-size:var(--font-size-xs)}.pagination{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.page-info{font-size:var(--font-size-sm);color:var(--color-gray-600)}.no-permission{padding:var(--spacing-xl);text-align:center;color:var(--color-gray-600)}.section-header{margin-bottom:var(--spacing-md)}.section-header h2{margin-bottom:4px;font-size:var(--font-size-lg);color:var(--color-gray-900)}.section-header .section-description{font-size:var(--font-size-sm);color:var(--color-gray-600)}.tabs{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:4px;border-radius:var(--radius-full);background-color:var(--color-gray-100);margin-bottom:var(--spacing-md)}.tab{padding:6px 16px;border-radius:var(--radius-full);border:none;background-color:transparent;font-size:var(--font-size-sm);color:var(--color-gray-700)}.tab:hover{background-color:var(--color-gray-200)}.tab.active{background-color:#fff;color:var(--color-primary);box-shadow:var(--shadow-sm)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filter-bar label{font-size:var(--font-size-sm);color:var(--color-gray-700)}.filter-bar select{margin-left:var(--spacing-xs);padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);background-color:#fff}.data-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.data-table thead{background-color:var(--color-gray-100)}.data-table th,.data-table td{padding:8px 12px;border-bottom:1px solid var(--color-gray-200);text-align:left}.data-table th{font-weight:600;color:var(--color-gray-800)}.data-table tbody tr:hover{background-color:var(--color-gray-50)}
