.tour-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;pointer-events:none}.tour-overlay>*{pointer-events:auto}.tour-mask{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;pointer-events:auto}.tour-highlight{position:fixed;border:2px solid #c41230;border-radius:8px;box-shadow:0 0 0 4px #c4123033;z-index:10002;pointer-events:none;transition:all .3s ease;animation:tour-pulse 2s infinite}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 4px #c4123033}50%{box-shadow:0 0 0 8px #c412301a}}.tour-tooltip{position:fixed;z-index:10003;background:#fff;border-radius:16px;padding:0;width:380px;max-width:calc(100vw - 32px);box-shadow:0 20px 60px #00000026,0 4px 16px #0000001a;pointer-events:auto;animation:tour-tooltip-in .3s ease;overflow:hidden}@keyframes tour-tooltip-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-tooltip-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.tour-step-badge{display:flex;align-items:center;gap:8px}.tour-step-icon{font-size:20px;line-height:1}.tour-step-counter{font-size:12px;font-weight:600;color:#c41230;background:#fef2f2;padding:3px 10px;border-radius:20px;letter-spacing:.5px}.tour-close-btn{width:28px;height:28px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.tour-close-btn:hover{background:#e0e0e0}.tour-close-btn svg{width:14px;height:14px;color:#666}.tour-tooltip-title{font-size:18px;font-weight:700;color:#222;margin:12px 20px 6px;line-height:1.4}.tour-tooltip-content{font-size:14px;color:#666;line-height:1.7;margin:0 20px 16px;word-break:keep-all}.tour-progress{height:3px;background:#f0f0f0;margin:0 20px;border-radius:2px;overflow:hidden}.tour-progress-bar{height:100%;background:linear-gradient(90deg,#c41230,#e8334e);border-radius:2px;transition:width .4s ease}.tour-tooltip-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 16px}.tour-btn-skip{border:none;background:none;color:#999;font-size:13px;cursor:pointer;padding:6px 0;transition:color .2s}.tour-btn-skip:hover{color:#666}.tour-btn-group{display:flex;gap:8px}.tour-btn-prev{display:flex;align-items:center;gap:4px;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.tour-btn-prev:hover{border-color:#ccc;background:#fafafa}.tour-btn-next{display:flex;align-items:center;gap:4px;border:none;background:#c41230;color:#fff;font-size:14px;font-weight:600;padding:8px 20px;border-radius:8px;cursor:pointer;transition:all .2s}.tour-btn-next:hover{background:#a80f28}.tour-loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10003;text-align:center;color:#fff;pointer-events:auto}.tour-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;margin:0 auto 12px;animation:tour-spin .8s linear infinite}.tour-loading p{font-size:14px;font-weight:500}@keyframes tour-spin{to{transform:rotate(360deg)}}.tour-welcome-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;animation:tour-fade-in .3s ease}@keyframes tour-fade-in{0%{opacity:0}to{opacity:1}}.tour-welcome-modal{background:#fff;border-radius:20px;padding:40px;max-width:440px;width:calc(100% - 32px);text-align:center;animation:tour-modal-in .3s ease;box-shadow:0 20px 60px #0003}@keyframes tour-modal-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-welcome-icon{width:72px;height:72px;background:linear-gradient(135deg,#fef2f2,#fde8ec);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:32px}.tour-welcome-modal h2{font-size:22px;font-weight:700;color:#222;margin-bottom:8px}.tour-welcome-modal .tour-welcome-sub{font-size:14px;color:#888;margin-bottom:20px}.tour-welcome-modal .tour-welcome-desc{font-size:14px;color:#666;line-height:1.7;margin-bottom:28px;word-break:keep-all}.tour-welcome-actions{display:flex;gap:10px}.tour-welcome-actions .tour-btn-start{flex:1;border:none;background:#c41230;color:#fff;font-size:15px;font-weight:600;padding:14px 0;border-radius:12px;cursor:pointer;transition:background .2s}.tour-welcome-actions .tour-btn-start:hover{background:#a80f28}.tour-welcome-actions .tour-btn-later{flex:.6;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:14px;font-weight:500;padding:14px 0;border-radius:12px;cursor:pointer;transition:all .2s}.tour-welcome-actions .tour-btn-later:hover{background:#fafafa;border-color:#ccc}.tour-restart-btn{display:flex;align-items:center;gap:8px;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:14px;font-weight:500;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .2s}.tour-restart-btn:hover{border-color:#c41230;color:#c41230;background:#fef2f2}.tour-restart-btn svg{width:16px;height:16px}[data-theme=dark] .tour-tooltip{background:#2a2a2a;box-shadow:0 20px 60px #0006}[data-theme=dark] .tour-tooltip-title{color:#f5f5f5}[data-theme=dark] .tour-tooltip-content{color:#aaa}[data-theme=dark] .tour-close-btn{background:#3a3a3a}[data-theme=dark] .tour-close-btn:hover{background:#4a4a4a}[data-theme=dark] .tour-close-btn svg{color:#aaa}[data-theme=dark] .tour-progress{background:#3a3a3a}[data-theme=dark] .tour-btn-prev{background:#3a3a3a;border-color:#4a4a4a;color:#ccc}[data-theme=dark] .tour-step-counter{background:#c4123033}[data-theme=dark] .tour-welcome-modal{background:#2a2a2a}[data-theme=dark] .tour-welcome-modal h2{color:#f5f5f5}[data-theme=dark] .tour-welcome-modal .tour-welcome-sub{color:#888}[data-theme=dark] .tour-welcome-modal .tour-welcome-desc{color:#aaa}[data-theme=dark] .tour-welcome-actions .tour-btn-later{background:#3a3a3a;border-color:#4a4a4a;color:#ccc}[data-theme=dark] .tour-welcome-icon{background:linear-gradient(135deg,#c4123026,#c412301a)}@media (max-width: 480px){.tour-tooltip{width:calc(100vw - 24px);border-radius:12px}.tour-tooltip-title{font-size:16px}.tour-tooltip-content{font-size:13px}.tour-welcome-modal{padding:28px 24px}.tour-welcome-modal h2{font-size:20px}}.capture-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:captureModalFadeIn .2s ease}@keyframes captureModalFadeIn{0%{opacity:0}to{opacity:1}}.capture-modal{background:#fff;border-radius:16px;width:480px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:captureModalSlideUp .25s ease}@keyframes captureModalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.capture-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.capture-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#222}.capture-modal-close{background:none;border:none;cursor:pointer;color:#888;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center}.capture-modal-close:hover{background:#f0f0f0;color:#333}.capture-modal-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;align-items:center;justify-content:center;background:#f8f8f8}.capture-preview-img{max-width:100%;max-height:50vh;border-radius:8px;box-shadow:0 2px 12px #0000001a}.capture-modal-actions{display:flex;gap:8px;padding:16px 20px;border-top:1px solid #e0e0e0;justify-content:center}.capture-action-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:all .15s}.capture-action-btn:hover{background:#f5f5f5;border-color:#ccc}.capture-action-btn.share{background:#c41230;color:#fff;border-color:#c41230}.capture-action-btn.share:hover{background:#a80f28}.capture-action-btn.copy,.capture-action-btn.download{color:#333}.share-modal{width:400px}.share-search-wrapper{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid #f0f0f0}.share-search-wrapper input{flex:1;border:none;outline:none;font-size:14px;color:#333}.share-search-wrapper input::placeholder{color:#aaa}.share-room-list{max-height:400px;overflow-y:auto;padding:8px 0}.share-room-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;border:none;background:none;cursor:pointer;text-align:left;transition:background .15s}.share-room-item:hover{background:#f5f5f5}.share-room-item:disabled{opacity:.5;cursor:not-allowed}.share-room-avatar{width:40px;height:40px;border-radius:12px;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.share-room-info{flex:1;min-width:0}.share-room-name{display:block;font-size:14px;font-weight:500;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-room-count{font-size:12px;color:#888}.share-sending{font-size:12px;color:#c41230}.share-loading,.share-empty{padding:40px 20px;text-align:center;color:#888;font-size:14px}.chat-capture-mode .message-item{cursor:pointer;transition:background .15s}.chat-capture-mode .message-item:hover{background:#c412300d}.chat-capture-mode .message-item.capture-selected{background:#c4123014;border-left:3px solid #c41230;padding-left:4px}.chat-capture-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 8px #0000000d}.chat-capture-bar-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.chat-capture-bar-info .count{font-weight:600;color:#c41230}.chat-capture-bar-actions{display:flex;gap:8px}.capture-bar-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:13px;color:#333;transition:all .15s}.capture-bar-btn:hover{background:#f5f5f5}.capture-bar-btn.primary{background:#c41230;color:#fff;border-color:#c41230}.capture-bar-btn.primary:hover{background:#a80f28}.capture-bar-btn.cancel{color:#888}.crop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001;cursor:crosshair}.crop-overlay-bg{position:absolute;top:0;left:0;right:0;bottom:0}.crop-selection{position:absolute;border:2px solid #c41230;box-shadow:0 0 0 9999px #0006;z-index:1}.crop-toolbar{position:absolute;bottom:-44px;right:0;display:flex;gap:6px;background:#fff;border-radius:8px;padding:6px;box-shadow:0 2px 12px #00000026;z-index:2}.crop-toolbar button{padding:6px 14px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.crop-toolbar .crop-confirm{background:#c41230;color:#fff}.crop-toolbar .crop-confirm:hover{background:#a80f28}.crop-toolbar .crop-cancel{background:#f0f0f0;color:#666}.crop-toolbar .crop-cancel:hover{background:#e0e0e0}.capture-submenu{padding-left:16px}.capture-submenu button{font-size:13px!important;padding:8px 12px!important;color:#555}.capture-submenu button svg{width:16px;height:16px}.chat-capture-render{position:fixed;left:-9999px;top:0;background:#fff;padding:16px;width:400px;z-index:-1}.chat-capture-render .capture-message-item{display:flex;gap:8px;padding:8px 0}.chat-capture-render .capture-avatar{width:36px;height:36px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666;flex-shrink:0}.chat-capture-render .capture-msg-content{flex:1}.chat-capture-render .capture-sender-name{font-size:13px;font-weight:600;color:#333;margin-bottom:4px}.chat-capture-render .capture-msg-bubble{display:inline-block;background:#f0f0f0;padding:8px 12px;border-radius:12px;font-size:14px;color:#222;line-height:1.4;max-width:280px;word-break:break-word}.chat-capture-render .capture-msg-bubble.me{background:#c41230;color:#fff}.chat-capture-render .capture-msg-time{font-size:11px;color:#999;margin-top:4px}.chat-capture-render .capture-msg-image img{max-width:200px;border-radius:8px}.chat-capture-render .capture-header{text-align:center;padding:8px;margin-bottom:8px;border-bottom:1px solid #eee}.chat-capture-render .capture-header .room-name{font-size:14px;font-weight:600;color:#333}.chat-capture-render .capture-header .capture-date{font-size:12px;color:#999;margin-top:2px}.chat-capture-render .capture-watermark{text-align:center;padding:8px;margin-top:8px;border-top:1px solid #eee;font-size:11px;color:#bbb}.chat-container{position:fixed;top:125px;left:0;right:0;bottom:0;display:flex;background:#f5f5f5;overflow:hidden;z-index:10}.chat-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666}.chat-sidebar{width:320px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.chat-sidebar-header{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid #e0e0e0}.chat-sidebar-header h2{margin:0;font-size:18px;font-weight:600;flex:1}.chat-sidebar-header .btn-back{width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.chat-sidebar-header .btn-back:hover{background:#f0f0f0;color:#333}.btn-new-chat{width:36px;height:36px;border:none;background:#4a90d9;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-new-chat:hover{background:#3a7bc8}.chat-room-list{flex:1;overflow-y:auto}.no-rooms{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#888}.no-rooms button{margin-top:12px;padding:8px 16px;background:#4a90d9;color:#fff;border:none;border-radius:6px;cursor:pointer}.chat-room-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f0f0}@media (hover: hover){.chat-room-item:hover{background:#f8f8f8}}.chat-room-item.active{background:#e8f2fc}.room-avatar{width:48px;height:48px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0;color:#666;font-weight:600;font-size:18px}.room-info{flex:1;min-width:0}.room-name-row{display:flex;align-items:center;gap:6px}.room-name{font-weight:500;font-size:15px;color:#333}.member-count{font-size:12px;color:#888}.room-last-message{margin:4px 0 0;font-size:13px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.room-time{font-size:11px;color:#aaa}.unread-badge{min-width:18px;height:18px;padding:0 6px;background:#ff5722;color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.chat-main{flex:1;display:flex;flex-direction:column;background:#fff;min-width:0;overflow:hidden}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888}.chat-empty svg{color:#ddd;margin-bottom:16px}.chat-empty h3{margin:0 0 8px;color:#666}.chat-empty p{margin:0 0 20px;text-align:center;line-height:1.5}.chat-empty button{padding:10px 24px;background:#4a90d9;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.chat-header-info h3{margin:0;font-size:16px;font-weight:600}.chat-member-count{font-size:13px;color:#888;margin-left:8px}.chat-header-actions button{width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.chat-header-actions button:hover{background:#f0f0f0}.chat-messages{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa;min-height:0}.loading-more{text-align:center;padding:10px;color:#888;font-size:13px}.message-date-divider{display:flex;align-items:center;justify-content:center;margin:20px 0}.message-date-divider span{background:#e0e0e0;padding:4px 12px;border-radius:12px;font-size:12px;color:#666}.message-item{display:flex;margin-bottom:16px}.message-item.me{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-avatar span{font-size:14px;font-weight:600;color:#666}.message-item.me .message-avatar{margin-right:0;margin-left:10px}.message-content-wrapper{max-width:70%}.message-sender{display:block;font-size:12px;color:#666;margin-bottom:4px}.message-item.me .message-sender{display:none}.message-bubble{background:#fff;padding:10px 14px;border-radius:12px;box-shadow:0 1px 2px #0000001a}.message-item.me .message-bubble{background:#4a90d9;color:#fff}.message-bubble p{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-bubble-wrapper{display:flex;align-items:center;gap:4px}.message-item.me .message-bubble-wrapper{flex-direction:row-reverse}.message-delete-btn{opacity:0;background:none;border:none;padding:4px;cursor:pointer;color:#999;border-radius:4px;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.message-item:hover .message-delete-btn{opacity:1}.message-delete-btn:hover{background:#0000001a;color:#c41230}.message-bubble.deleted-message{background:#f5f5f5!important;color:#999!important}.message-item.me .message-bubble.deleted-message{background:#4a90d94d!important;color:#ffffffb3!important}.deleted-text{font-style:italic;margin:0;font-size:14px}.delete-confirm-modal{width:320px;max-width:90vw;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 20px #00000026}.delete-modal-body{padding:24px 20px;text-align:center}.delete-modal-title{margin:0 0 8px;font-size:16px;font-weight:600;color:#333}.delete-modal-desc{margin:0;font-size:13px;color:#888;line-height:1.5}.delete-modal-buttons{display:flex;border-top:1px solid #e5e5e5}.delete-modal-buttons button{flex:1;padding:14px;border:none;background:none;font-size:15px;cursor:pointer;transition:background .2s}.delete-cancel-btn{color:#666;border-right:1px solid #e5e5e5}.delete-cancel-btn:hover{background:#f5f5f5}.delete-confirm-btn{color:#c41230;font-weight:600}.delete-confirm-btn:hover{background:#fff5f5}.message-bubble.image-bubble{padding:4px;background:transparent;box-shadow:none}.message-item.me .message-bubble.image-bubble{background:transparent}.message-image img{max-width:240px;max-height:240px;border-radius:8px;cursor:pointer;object-fit:cover}.message-image img:hover{opacity:.9}.message-file{display:flex;align-items:center;gap:8px}.message-file svg{flex-shrink:0;color:#666}.message-item.me .message-file svg{color:#fffc}.message-file a{color:#4a90d9;text-decoration:none;font-size:14px;word-break:break-all}.message-file a:hover{text-decoration:underline}.message-item.me .message-file a{color:#fff}.message-meta{display:flex;align-items:center;gap:4px;margin-top:4px}.message-item.me .message-meta{justify-content:flex-end}.message-unread-count{font-size:11px;color:#c41230;font-weight:600}.message-read-status{font-size:11px;cursor:pointer;padding:2px 6px;border-radius:8px;transition:background-color .15s}.message-read-status:hover{background-color:#0000000d}.message-read-status .unread-indicator{color:#c41230;font-weight:600}.message-read-status .read-indicator{color:#888}.message-time{display:block;font-size:11px;color:#aaa}.message-item.me .message-time{text-align:right}.chat-input-wrapper{padding:12px 16px;border-top:1px solid #e0e0e0;background:#fff;flex-shrink:0}.chat-input-form{display:flex;align-items:center;gap:10px}.chat-input-form textarea{flex:1;padding:12px 16px;border:1px solid #e0e0e0;border-radius:20px;font-size:14px;outline:none;transition:border-color .2s;resize:none;min-height:44px;max-height:120px;line-height:1.4;font-family:inherit;overflow-y:auto}.chat-input-form textarea:focus{border-color:#4a90d9}.chat-input-form button{width:44px;height:44px;border:none;background:#4a90d9;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.chat-input-form button:disabled{background:#ccc;cursor:not-allowed}.chat-input-form button:not(:disabled):hover{background:#3a7bc8}.modal-content.chat-modal{background:#fff;border-radius:12px;width:400px;max-width:90%;max-height:80vh;display:flex;flex-direction:column}.modal-close{width:32px;height:32px;border:none;background:transparent;font-size:24px;cursor:pointer;color:#666}.modal-body{flex:1;overflow-y:auto;padding:16px}.user-search-input{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;background:#f8f9fa}.user-search-input input{flex:1;border:none;background:transparent;font-size:14px;outline:none}.user-search-input svg{flex-shrink:0}.selected-users-bar{display:flex;flex-wrap:wrap;gap:8px;padding:10px;margin-bottom:12px;background:#f0f7ff;border-radius:8px;border:1px solid #d0e3f7}.selected-user-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#4a90d9;color:#fff;border-radius:16px;font-size:13px}.selected-user-tag button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;line-height:1;opacity:.8}.selected-user-tag button:hover{opacity:1}.no-search-result{text-align:center;padding:20px;color:#888;font-size:14px}.group-name-input{margin-bottom:16px}.group-name-input input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px}.contact-list{display:flex;flex-direction:column}.contact-item{display:flex;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}@media (hover: hover){.contact-item:hover{background:#f5f5f5}}.contact-item.selected{background:#e8f2fc}.contact-avatar{width:40px;height:40px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;margin-right:12px;overflow:hidden}.contact-avatar img{width:100%;height:100%;object-fit:cover}.contact-avatar span{font-weight:600;color:#666}.contact-info{flex:1}.contact-name{display:block;font-weight:500;font-size:14px}.contact-dept{display:block;font-size:12px;color:#888;margin-top:2px}.contact-check{width:24px;display:flex;align-items:center;justify-content:center}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #e0e0e0}.modal-footer .btn-cancel{padding:10px 20px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer}.modal-footer .btn-primary{padding:10px 20px;border:none;background:#4a90d9;color:#fff;border-radius:6px;cursor:pointer}.modal-footer .btn-primary:disabled{background:#ccc;cursor:not-allowed}.chat-input-wrapper{position:relative;flex-shrink:0;background:#fff}.mention-popup{position:absolute;bottom:100%;left:16px;right:16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 -4px 12px #00000026;max-height:200px;overflow-y:auto;margin-bottom:4px;z-index:100}.mention-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .2s}@media (hover: hover){.mention-item:hover{background:#f5f5f5}}.mention-item.no-result{color:#888;cursor:default;justify-content:center}.mention-item.no-result:hover{background:transparent}.mention-avatar{width:32px;height:32px;border-radius:50%;background:#e8f4fd;display:flex;align-items:center;justify-content:center;font-size:14px;color:#4a90d9;overflow:hidden}.mention-avatar img{width:100%;height:100%;object-fit:cover}.mention-info{display:flex;flex-direction:column}.mention-name{font-size:14px;font-weight:500}.mention-highlight{color:#1976d2;font-weight:500;background:#1976d21a;padding:1px 4px;border-radius:3px}.room-menu-container{position:relative}.room-menu-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:100;overflow:hidden;margin-top:4px}.room-menu-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:14px;color:#333;border-radius:0}@media (hover: hover){.room-menu-dropdown button:hover{background:#f5f5f5}}.room-menu-dropdown button.menu-danger{color:#dc3545}@media (hover: hover){.room-menu-dropdown button.menu-danger:hover{background:#fff5f5}}.chat-search-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0}.chat-search-bar input{flex:1;border:none;background:transparent;font-size:14px;outline:none}.chat-search-bar .search-result-count{font-size:12px;color:#666;white-space:nowrap}.chat-search-bar button{width:28px;height:28px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.chat-search-bar button:hover{background:#e0e0e0}.image-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;flex-direction:column;z-index:2000}.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#00000080;flex-shrink:0}.viewer-close{width:40px;height:40px;border:none;background:#ffffff1a;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}.viewer-close:hover{background:#fff3}.viewer-info{display:flex;flex-direction:column;align-items:center;gap:4px}.viewer-sender{color:#fff;font-size:14px;font-weight:500}.viewer-time{color:#ffffffb3;font-size:12px}.viewer-counter{color:#fff;font-size:14px;font-weight:500;padding:6px 12px;background:#ffffff1a;border-radius:16px}.image-viewer-body{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;width:100%}.image-viewer-container{display:flex;align-items:center;justify-content:center;max-width:calc(100% - 160px);max-height:100%}.image-viewer-container img{max-width:100%;max-height:70vh;object-fit:contain}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:none;background:#ffffff26;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;z-index:10}.viewer-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.viewer-prev{left:40px}.viewer-next{right:40px}.viewer-toolbar{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 20px;background:#00000080;flex-shrink:0}.viewer-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:8px 4px;max-width:100%;-webkit-overflow-scrolling:touch}.viewer-thumbnails::-webkit-scrollbar{height:4px}.viewer-thumbnails::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.viewer-thumbnails::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.viewer-thumbnail{width:60px;height:60px;flex-shrink:0;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s;opacity:.6}.viewer-thumbnail:hover{opacity:.8}.viewer-thumbnail.active{border-color:#4a90d9;opacity:1}.viewer-download{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#ffffff26;color:#fff;text-decoration:none;border-radius:24px;font-size:14px;transition:background .2s}.viewer-download:hover{background:#ffffff40}.chat-menu-modal{width:320px;max-width:90%}.chat-menu-list{padding:8px}.chat-menu-list button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;background:transparent;font-size:15px;text-align:left;cursor:pointer;border-radius:8px;color:#333}@media (hover: hover){.chat-menu-list button:hover{background:#f5f5f5}}.chat-menu-list button.menu-danger{color:#dc3545}@media (hover: hover){.chat-menu-list button.menu-danger:hover{background:#fff5f5}}.image-load-error{display:inline-block;padding:20px;background:#f5f5f5;color:#888;border-radius:8px;font-size:13px}.media-modal{width:600px;max-width:90%;max-height:80vh;display:flex;flex-direction:column}.media-tabs{display:flex;border-bottom:1px solid #e0e0e0;padding:0 16px}.media-tabs button{flex:1;padding:12px 16px;border:none;background:transparent;font-size:14px;color:#666;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.media-tabs button:hover{color:#333}.media-tabs button.active{color:#4a90d9;border-bottom-color:#4a90d9}.media-content{flex:1;overflow-y:auto;padding:16px;min-height:300px;max-height:500px}.media-content .empty-text{text-align:center;color:#888;padding:40px 0}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.media-grid-item{aspect-ratio:1;cursor:pointer;overflow:hidden;border-radius:4px}.media-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.media-grid-item:hover img{transform:scale(1.05)}.media-list{display:flex;flex-direction:column;gap:8px}.media-file-item,.media-link-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;text-decoration:none;color:#333;transition:background .2s}.media-file-item:hover,.media-link-item:hover{background:#e9ecef}.media-file-item svg,.media-link-item svg{flex-shrink:0;color:#666}.media-file-item .file-name,.media-link-item .link-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.media-file-item .file-date{font-size:12px;color:#888}@media (max-width: 768px){.chat-sidebar{width:100%;position:absolute;left:0;top:0;bottom:0;z-index:10}.chat-main{width:100%}.media-grid{grid-template-columns:repeat(3,1fr)}}body:has(.chat-container) .ai-chat-fab{display:none}.chat-attach-btn{width:44px;height:44px;border:none;background:#f0f0f0;border-radius:50%;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.chat-attach-btn:hover{background:#e0e0e0;color:#333}.chat-attach-btn:disabled{opacity:.5;cursor:not-allowed}.chat-attach-btn .spin{animation:spin 1s linear infinite}.chat-capture-btn{width:44px;height:44px;border:none;background:#f0f0f0;border-radius:50%;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;position:relative}.chat-capture-btn:hover{background:#e0e0e0;color:#333}.capture-popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.capture-popup{position:absolute;bottom:100%;left:48px;margin-bottom:8px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:6px;display:flex;flex-direction:column;min-width:160px;z-index:100;animation:capturePopupFadeIn .15s ease}@keyframes capturePopupFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.capture-popup button{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#333;border-radius:8px;transition:background .15s;white-space:nowrap}.capture-popup button:hover{background:#f5f5f5}.capture-popup button svg{color:#8e44ad;flex-shrink:0}.attach-modal{background:#fff;border-radius:16px;padding:20px;min-width:280px;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.attach-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.attach-modal-header h4{margin:0;font-size:18px;font-weight:600}.attach-modal-header button{width:28px;height:28px;border:none;background:transparent;font-size:24px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center}.attach-modal-options{display:flex;gap:24px;justify-content:center}.attach-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border:none;background:transparent;cursor:pointer;transition:transform .15s}@media (hover: hover){.attach-option:hover{transform:scale(1.05)}}.attach-option-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}.attach-option-icon.image{background:linear-gradient(135deg,#34c759,#32d74b);color:#fff}.attach-option-icon.file{background:linear-gradient(135deg,#007aff,#5ac8fa);color:#fff}.attach-option-icon.contact{background:linear-gradient(135deg,#ff9500,#fc0);color:#fff}.attach-option-icon.capture{background:linear-gradient(135deg,#8e44ad,#c39bd3);color:#fff}.attach-option span{font-size:13px;color:#333}.image-preview-modal{background:#fff;border-radius:12px;width:500px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.image-preview-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.image-preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden}.image-preview-item img{width:100%;height:100%;object-fit:cover}.image-preview-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-preview-remove:hover{background:#000c}.contact-share-icon{flex-shrink:0;opacity:0;transition:opacity .15s}.contact-item:hover .contact-share-icon{opacity:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.members-list{max-height:400px;overflow-y:auto}.member-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f0f0}.member-avatar{width:40px;height:40px;border-radius:50%;background:#e9ecef;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar span{font-size:16px;color:#666;font-weight:500}.member-info{flex:1;min-width:0}.member-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#333}.admin-badge{font-size:11px;padding:2px 6px;background:gold;color:#333;border-radius:4px;font-weight:500}.me-badge{font-size:11px;padding:2px 6px;background:#e8f5e9;color:#2e7d32;border-radius:4px;font-weight:500}.no-members{padding:40px 20px;text-align:center;color:#888}.readers-modal{width:400px;max-width:90%}.readers-tabs{display:flex;border-bottom:1px solid #e0e0e0}.readers-tabs button{flex:1;padding:14px 16px;border:none;background:transparent;font-size:14px;color:#666;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.readers-tabs button:hover{color:#333;background:#f8f9fa}.readers-tabs button.active{color:#4a90d9;border-bottom-color:#4a90d9;font-weight:500}.readers-modal .members-list{max-height:350px}.loading-readers{padding:40px 20px;text-align:center;color:#888}.member-info .read-time{font-size:12px;color:#888;margin-top:2px;display:block}.contact-list.dept-grouped{max-height:350px;overflow-y:auto}.dept-group{border-bottom:1px solid #f0f0f0}.dept-group:last-child{border-bottom:none}.dept-header{display:flex;align-items:center;gap:8px;padding:12px;background:#f8f9fa;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:1}@media (hover: hover){.dept-header:hover{background:#f0f0f0}}.dept-arrow{transition:transform .2s;flex-shrink:0;color:#666}.dept-arrow.expanded{transform:rotate(90deg)}.dept-name{font-weight:600;font-size:14px;color:#333;flex:1}.dept-count{font-size:12px;color:#888;margin-right:4px}.dept-select-btn{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}@media (hover: hover){.dept-select-btn:hover{background:#0000000d}}.dept-members{padding-left:8px}.dept-members .contact-item{padding-left:20px}.dept-members .contact-info .contact-dept{display:none}.chat-modal .form-group{margin-bottom:16px}.chat-modal .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.chat-modal .form-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.chat-modal .form-input:focus{border-color:#4a90d9}.admin-page{padding:0}.admin-page-header{padding:24px 32px 0;background:#fff}.admin-page-header h1{margin:0;font-size:24px;font-weight:600;color:#222}.admin-tabs{display:flex;gap:4px;padding:16px 32px;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tabs::-webkit-scrollbar{height:4px}.admin-tabs::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.admin-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.admin-tab:hover{background:#f5f5f5;border-color:#ccc}.admin-tab.active{background:#c41230;border-color:#c41230;color:#fff}.admin-tab .tab-icon{font-size:16px}.admin-tab .tab-name{font-size:14px}.admin-tab-content{background:#f8f9fa;min-height:calc(100vh - 200px)}.admin-tab-content .page-container{padding:24px 32px;background:transparent}.admin-tab-content .page-container h1{display:none}.no-permission{display:flex;align-items:center;justify-content:center;height:300px;color:#888;font-size:16px}@media (max-width: 768px){.admin-page-header{padding:16px 16px 0}.admin-page-header h1{font-size:20px}.admin-tabs{padding:12px 16px;gap:6px}.admin-tab{padding:8px 12px;font-size:13px}.admin-tab .tab-icon{font-size:14px}.admin-tab .tab-name{display:none}.admin-tab.active .tab-name{display:inline}.admin-tab-content .page-container{padding:16px}}.privacy-policy-page{min-height:100vh;min-height:100dvh;background:#f5f5f5;padding:40px 20px}.privacy-container{max-width:800px;margin:0 auto;background:#fff;border-radius:12px;padding:40px;box-shadow:0 2px 8px #0000001a}.privacy-policy-page h1{font-size:28px;color:#222;margin-bottom:8px;text-align:center}.privacy-policy-page .last-updated{text-align:center;color:#888;font-size:14px;margin-bottom:40px}.privacy-policy-page section{margin-bottom:32px}.privacy-policy-page h2{font-size:18px;color:#c41230;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee}.privacy-policy-page p{font-size:15px;line-height:1.7;color:#444;margin-bottom:12px}.privacy-policy-page ul{padding-left:20px;margin:12px 0}.privacy-policy-page li{font-size:15px;line-height:1.8;color:#444;margin-bottom:4px}.privacy-policy-page strong{color:#222}.privacy-policy-page .contact-info{background:#f9f9f9;padding:16px 20px;border-radius:8px}.privacy-policy-page .contact-info p{margin-bottom:6px}.privacy-policy-page .contact-info p:last-child{margin-bottom:0}.privacy-footer{margin-top:40px;padding-top:20px;border-top:1px solid #eee;text-align:center}.privacy-footer p{font-size:13px;color:#888;margin-bottom:4px}@media (prefers-color-scheme: dark){.privacy-policy-page{background:#1a1a1a}.privacy-container{background:#2a2a2a}.privacy-policy-page h1{color:#fff}.privacy-policy-page h2{border-bottom-color:#444}.privacy-policy-page p,.privacy-policy-page li{color:#ccc}.privacy-policy-page strong{color:#fff}.privacy-policy-page .contact-info{background:#333}.privacy-footer{border-top-color:#444}}@media (max-width: 600px){.privacy-policy-page{padding:20px 16px}.privacy-container{padding:24px 20px}.privacy-policy-page h1{font-size:24px}.privacy-policy-page h2{font-size:16px}}.about-page{min-height:100vh;min-height:100dvh;background:#1a1a1a;color:#fff}.about-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#1a1a1ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.header-content{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-weight:700;font-size:16px}.header-logo img{width:32px;height:32px}.header-nav{display:flex;align-items:center;gap:12px}.btn-login{padding:8px 20px;background:transparent;color:#fff;border:1px solid #444;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;white-space:nowrap}.btn-login:hover{border-color:#c41230;color:#c41230}.btn-signup{padding:8px 20px;background:#c41230;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;white-space:nowrap}.btn-signup:hover{background:#a30f28}.text-primary{color:#c41230}.about-hero{position:relative;height:60vh;min-height:500px;padding-top:65px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#000000b3,#00000080,#1a1a1a)}.hero-content{position:relative;z-index:10;text-align:center;padding:0 20px}.hero-subtitle{color:#c41230;font-weight:500;letter-spacing:.2em;margin-bottom:16px;font-size:14px}.hero-title{font-size:clamp(32px,6vw,56px);font-weight:700;margin-bottom:24px;line-height:1.3}.hero-description{color:#888;font-size:clamp(16px,2vw,20px);max-width:600px;margin:0 auto}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);animation:bounce 2s infinite}.scroll-mouse{width:24px;height:40px;border:2px solid #666;border-radius:12px;display:flex;justify-content:center}.scroll-dot{width:4px;height:12px;background:#c41230;border-radius:2px;margin-top:8px;animation:pulse 1.5s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.about-section{padding:80px 20px;max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:48px}.section-subtitle{color:#c41230;font-weight:500;letter-spacing:.15em;margin-bottom:8px;font-size:13px}.section-title{font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:16px}.section-description{color:#888;max-width:600px;margin:0 auto}.about-stats{background:#222;padding:60px 20px;max-width:none}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto}.stat-card{text-align:center;padding:32px 24px;background:#2a2a2a;border:1px solid #333;border-radius:12px;transition:all .3s}.stat-card:hover{border-color:#c4123080;transform:translateY(-4px)}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#c412301a;color:#c41230;border-radius:50%;margin-bottom:16px}.stat-value{font-size:36px;font-weight:700;margin-bottom:4px;font-variant-numeric:tabular-nums;min-width:120px;display:inline-block}.stat-suffix{color:#c41230}.stat-label{color:#888;font-size:14px}.about-ceo{background:#1a1a1a}.ceo-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.ceo-message .section-subtitle,.ceo-message .section-title{text-align:left}.message-text{color:#ccc;line-height:1.8}.message-text p{margin-bottom:16px}.message-text strong{color:#fff}.ceo-signature{margin-top:32px;display:flex;align-items:center;gap:16px}.signature-logo{width:64px;height:64px;background:linear-gradient(135deg,#c41230,#8b0d22);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.signature-company{font-weight:700;margin-bottom:4px}.signature-name{color:#888;font-size:14px}.ceo-vision{position:relative}.vision-card{position:relative;background:#222;border:1px solid #333;border-radius:16px;padding:32px}.vision-card:before{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;background:linear-gradient(135deg,rgba(196,18,48,.2),transparent);border-radius:24px;z-index:-1;filter:blur(20px)}.vision-subtitle{color:#c41230;font-size:13px;letter-spacing:.1em;margin-bottom:8px;text-align:center}.vision-title{font-size:24px;font-weight:700;text-align:center;margin-bottom:24px;line-height:1.4}.vision-list{display:flex;flex-direction:column;gap:12px}.vision-item{display:flex;align-items:center;gap:12px;padding:12px;background:#2a2a2a;border-radius:8px;color:#ccc}.check-icon{width:20px;height:20px;color:#c41230;flex-shrink:0}.about-values{background:#222;padding:80px 20px;max-width:none}.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1200px;margin:0 auto}.value-card{text-align:center;padding:32px 20px;background:#2a2a2a;border:1px solid #333;border-radius:12px;transition:all .3s}.value-card:hover{border-color:#c41230}.value-card:hover .value-number{background:#c41230;color:#fff}.value-number{width:48px;height:48px;margin:0 auto 16px;background:#c412301a;color:#c41230;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;transition:all .3s}.value-title{font-size:18px;font-weight:700;margin-bottom:12px}.value-description{color:#888;font-size:14px;line-height:1.6}.about-timeline{background:#1a1a1a}.timeline-container{position:relative;max-width:800px;margin:0 auto}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#c41230,rgba(196,18,48,.3),transparent);transform:translate(-50%)}.timeline-item{position:relative;display:flex;margin-bottom:32px}.timeline-item.left{justify-content:flex-end;padding-right:calc(50% + 32px)}.timeline-item.right{justify-content:flex-start;padding-left:calc(50% + 32px)}.timeline-marker{position:absolute;left:50%;top:24px;width:16px;height:16px;background:#c41230;border:4px solid #1a1a1a;border-radius:50%;transform:translate(-50%);z-index:1}.timeline-card{padding:24px;background:#222;border:1px solid #333;border-radius:12px;transition:all .3s;max-width:320px}.timeline-card:hover{transform:scale(1.02)}.timeline-card.highlight{background:linear-gradient(135deg,#c4123033,#8b0d221a);border-color:#c4123080}.timeline-year{display:inline-block;padding:4px 12px;background:#333;color:#ccc;border-radius:20px;font-size:13px;font-weight:500;margin-bottom:12px}.timeline-year.highlight{background:#c41230;color:#fff}.timeline-title{font-size:18px;font-weight:700;margin-bottom:8px}.timeline-description{color:#888;font-size:14px;line-height:1.5}.about-stores{background:#222;padding:80px 20px;max-width:none}.stores-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1200px;margin:0 auto}.store-card{padding:20px;background:#2a2a2a;border:1px solid #333;border-radius:12px;transition:all .3s}.store-card:hover{border-color:#c4123080}.store-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.store-icon{width:20px;height:20px;color:#c41230}.store-name{font-weight:700}.store-info{font-size:14px;color:#888}.store-info p{margin-bottom:4px}.info-label{color:#666}.store-desc{color:#c41230;font-size:12px;margin-top:8px}.about-departments{background:#1a1a1a}.departments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto 48px}.department-card{position:relative;padding:32px 24px;background:#222;border:1px solid #333;border-radius:12px;transition:all .3s;overflow:hidden}.department-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:linear-gradient(225deg,rgba(196,18,48,.1),transparent);border-radius:0 12px 0 80px}.department-card:hover{border-color:#c4123080}.dept-icon{font-size:40px;margin-bottom:16px}.dept-name{font-size:18px;font-weight:700;margin-bottom:8px}.dept-description{color:#888;font-size:14px}.departments-quote{padding:32px;background:linear-gradient(90deg,#c412301a,#222,#c412301a);border:1px solid #333;border-radius:16px;text-align:center;max-width:1000px;margin:0 auto}.departments-quote p{font-size:20px;line-height:1.6}.about-footer{padding:64px 20px;background:linear-gradient(to top,#000,#1a1a1a);text-align:center}.about-footer h2{font-size:clamp(24px,4vw,32px);margin-bottom:16px}.about-footer>p{color:#888;margin-bottom:32px}.footer-buttons{display:flex;gap:16px;justify-content:center}.btn-primary{padding:12px 32px;background:#c41230;color:#fff;border:none;border-radius:8px;font-weight:500;text-decoration:none;transition:all .2s}.btn-primary:hover{background:#a30f28}.btn-secondary{padding:12px 32px;background:#333;color:#fff;border:1px solid #444;border-radius:8px;font-weight:500;text-decoration:none;transition:all .2s}.btn-secondary:hover{background:#444}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:repeat(3,1fr)}.stores-grid,.departments-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.about-section{padding:60px 16px}.ceo-content{grid-template-columns:1fr;gap:32px}.values-grid{grid-template-columns:repeat(2,1fr)}.timeline-line{left:16px}.timeline-item.left,.timeline-item.right{padding-left:48px;padding-right:0;justify-content:flex-start}.timeline-marker{left:16px}.timeline-card{max-width:none}.stores-grid,.departments-grid{grid-template-columns:1fr}.departments-quote p{font-size:16px}.footer-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:200px;text-align:center}}@media (max-width: 480px){.about-hero{min-height:400px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:24px 16px}.stat-value{font-size:28px}.values-grid{grid-template-columns:1fr}}.my-signatures-page{max-width:800px;margin:0 auto;padding:24px}.my-signatures-page .page-header{margin-bottom:24px}.my-signatures-page .page-header h1{margin:0 0 8px;font-size:24px;color:#222}.my-signatures-page .page-description{margin:0;color:#666;font-size:14px}.filter-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #e0e0e0;padding-bottom:12px}.filter-tab{padding:8px 16px;border:none;background:transparent;color:#666;font-size:14px;cursor:pointer;border-radius:20px;transition:all .2s}.filter-tab:hover{background:#f5f5f5}.filter-tab.active{background:#c41230;color:#fff}.signatures-list{display:flex;flex-direction:column;gap:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.signature-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:box-shadow .2s}.signature-card:hover{box-shadow:0 4px 12px #0000001a}.signature-card.overdue{border-color:#ff6b6b}.signature-card .card-header{display:flex;gap:8px;padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-pending{background:#fff3cd;color:#856404}.badge-viewed{background:#cce5ff;color:#004085}.badge-signed{background:#d4edda;color:#155724}.badge-rejected{background:#f8d7da;color:#721c24}.badge-cancelled{background:#e0e0e0;color:#666}.overdue-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;background:#f8d7da;color:#721c24}.signature-card .card-body{padding:16px}.signature-card .document-title{margin:0 0 8px;font-size:18px;color:#222}.signature-card .document-category{margin:0 0 8px}.category-tag{display:inline-block;padding:4px 8px;background:#f0f0f0;border-radius:4px;font-size:12px;color:#666}.signature-card .request-message{margin:8px 0 0;font-size:14px;color:#666;padding:12px;background:#f9f9f9;border-radius:8px}.signature-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-top:1px solid #e0e0e0}.meta-info{display:flex;flex-wrap:wrap;gap:12px}.meta-item{font-size:12px;color:#888}.btn-sign,.btn-view{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-sign{background:#c41230;border:none;color:#fff}.btn-sign:hover{background:#a30f28}.btn-view{background:#fff;border:1px solid #ddd;color:#666}.btn-view:hover{background:#f5f5f5}.btn-view.rejected{border-color:#dc3545;color:#dc3545}.btn-view.rejected:hover{background:#f8d7da}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#888}@media (max-width: 768px){.my-signatures-page{padding:16px}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-tab{white-space:nowrap}.signature-card .card-footer{flex-direction:column;gap:12px}.meta-info{width:100%}.btn-sign,.btn-view{width:100%;text-align:center}}.signature-pad-container{display:flex;flex-direction:column;gap:8px}.signature-pad-label{font-size:14px;font-weight:500;color:#333}.signature-canvas{width:100%;height:200px;border:2px solid #ddd;border-radius:8px;cursor:crosshair;touch-action:none;background:#fff}.signature-canvas:hover{border-color:#c41230}.signature-pad-hint{font-size:12px;color:#888;text-align:center}.signature-pad-actions{display:flex;gap:8px;justify-content:center}.signature-pad-actions .btn-clear,.signature-pad-actions .btn-save{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.signature-pad-actions .btn-clear{background:#f0f0f0;border:1px solid #ddd;color:#666}.signature-pad-actions .btn-clear:hover{background:#e0e0e0}.signature-pad-actions .btn-save{background:#c41230;border:none;color:#fff}.signature-pad-actions .btn-save:hover{background:#a30f28}.signature-page{max-width:800px;margin:0 auto;padding:24px}.signature-header{margin-bottom:24px}.btn-back{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:0;margin-bottom:12px}.btn-back:hover{color:#c41230}.signature-header h1{margin:0 0 8px;font-size:24px;color:#222}.signature-header .meta{display:flex;gap:16px;font-size:14px;color:#888}.status-message{padding:16px;border-radius:8px;margin-bottom:20px;font-size:14px}.status-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.rejected{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.request-message-box{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:20px}.request-message-box strong{display:block;margin-bottom:8px;color:#333}.request-message-box p{margin:0;color:#666}.document-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;margin-bottom:20px}.document-title-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;font-weight:500;color:#333}.doc-icon{font-size:18px}.document-body{padding:24px;line-height:1.8;color:#333;max-height:500px;overflow-y:auto;overflow-x:auto;word-break:keep-all}.document-body h1,.document-body h2,.document-body h3{margin-top:24px;margin-bottom:12px}.document-body p{margin-bottom:12px}.document-body ul,.document-body ol{margin-bottom:12px;padding-left:24px}.document-body table{border-collapse:collapse!important;width:100%!important;max-width:100%!important;margin:16px 0;table-layout:fixed!important}.document-body table th,.document-body table td{border:1px solid #ddd;padding:10px 12px;text-align:left;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word;width:auto!important;min-width:0!important}.document-body table th{background-color:#f5f5f5;font-weight:600}.document-body table tr:nth-child(2n){background-color:#fafafa}.document-body colgroup,.document-body col{width:auto!important}.document-body strong,.document-body b{font-weight:700}.document-body em,.document-body i{font-style:italic}.document-body u{text-decoration:underline}.document-body s,.document-body strike{text-decoration:line-through}.document-body blockquote{border-left:3px solid #c41230;margin:16px 0;padding:8px 16px;background:#f9f9f9}.document-body hr{border:none;border-top:1px solid #ddd;margin:20px 0}.document-body pre{background:#f5f5f5;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace}.document-body code{background:#f5f5f5;padding:2px 4px;border-radius:2px;font-family:monospace}.attachments-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:20px}.attachments-section h3{margin:0 0 12px;font-size:16px;color:#333}.attachment-list{list-style:none;padding:0;margin:0}.attachment-list li{padding:8px 0;border-bottom:1px solid #f0f0f0}.attachment-list li:last-child{border-bottom:none}.attachment-list a{color:#c41230;text-decoration:none}.attachment-list a:hover{text-decoration:underline}.attachment-link{background:none;border:none;color:#c41230;cursor:pointer;font-size:14px;padding:0;text-decoration:none}.attachment-link:hover{text-decoration:underline}.file-size{color:#888;font-size:12px;margin-left:8px}.signature-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:20px}.signature-section h3{margin:0 0 16px;font-size:18px;color:#333}.signature-section.completed{background:#f9f9f9}.signature-preview{margin-top:16px;padding:16px;background:#f9f9f9;border-radius:8px}.signature-preview h4{margin:0 0 12px;font-size:14px;color:#666}.signature-preview img{max-width:300px;border:1px solid #ddd;border-radius:4px;background:#fff}.completed-signature{padding:16px;text-align:center}.completed-signature img{max-width:300px;border:1px solid #ddd;border-radius:4px;background:#fff}.pdf-download-section{margin-top:20px;text-align:center}.btn-pdf-download{background:#c41230;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-pdf-download:hover{background:#a30f28}.agreement-check{margin:20px 0;padding:16px;background:#fff8e1;border:1px solid #ffcc80;border-radius:8px}.agreement-check label{display:flex;align-items:center;gap:8px;cursor:pointer}.agreement-check input[type=checkbox]{width:18px;height:18px;cursor:pointer}.agreement-check span{font-size:14px;color:#333}.action-buttons{display:flex;gap:12px;justify-content:center;margin-top:20px}.btn-reject,.btn-submit{padding:12px 32px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-reject{background:#fff;border:1px solid #ddd;color:#666}.btn-reject:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-submit{background:#c41230;border:none;color:#fff}.btn-submit:hover:not(:disabled){background:#a30f28}.btn-submit:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.modal-content{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:400px}.modal-content h3{margin:0 0 12px;font-size:18px;color:#333}.modal-content p{margin:0 0 16px;font-size:14px;color:#666}.modal-content textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit}.modal-content textarea:focus{outline:none;border-color:#c41230}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.btn-cancel,.btn-confirm-reject{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel{background:#f0f0f0;border:none;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-confirm-reject{background:#dc3545;border:none;color:#fff}.btn-confirm-reject:hover:not(:disabled){background:#c82333}.btn-confirm-reject:disabled{opacity:.5;cursor:not-allowed}.success-modal{text-align:center;padding:32px}.success-icon{width:64px;height:64px;background:#d4edda;color:#28a745;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 20px}.success-modal h3{font-size:20px;color:#222;margin-bottom:8px}.success-modal p{color:#666;margin-bottom:24px}.btn-confirm-success{background:#c41230;color:#fff;border:none;padding:12px 48px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.btn-confirm-success:hover{background:#a30f28}.loading,.error{display:flex;align-items:center;justify-content:center;padding:60px;color:#888}.error{color:#dc3545}@media (max-width: 768px){.signature-page{padding:16px}.signature-header h1{font-size:20px}.signature-header .meta{flex-direction:column;gap:4px}.document-body{padding:16px;max-height:400px}.action-buttons{flex-direction:column}.btn-reject,.btn-submit{width:100%}.signature-preview img,.completed-signature img{max-width:100%}}.approvals-page{padding:24px;max-width:1200px;margin:0 auto}.approvals-page .page-header{margin-bottom:24px;background:transparent;padding:0;text-align:left}.approvals-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0 0 8px}.approvals-page .page-description{color:#666;font-size:14px;margin:0}.approvals-page .header-actions{display:flex;gap:12px;margin-top:16px}.approvals-page .btn-primary{background:#c41230;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s}.approvals-page .btn-primary:hover{background:#a30f28}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s}.stat-card:hover{border-color:#c41230;box-shadow:0 4px 12px #c412301a}.stat-card.active{border-color:#c41230;background:#fff5f7}.stat-card .stat-value{font-size:32px;font-weight:700;color:#c41230;margin-bottom:4px}.stat-card .stat-label{font-size:13px;color:#666;white-space:nowrap}.stat-card.pending .stat-value{color:#f59e0b}.stat-card.approved .stat-value{color:#10b981}.stat-card.rejected .stat-value{color:#ef4444}.stat-card .stat-desc{font-size:11px;color:#999;margin-top:2px}.main-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.main-tab{position:relative;background:none;border:none;padding:14px 24px;font-size:15px;font-weight:500;color:#666;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .2s}.main-tab:hover{color:#222}.main-tab.active{color:#c41230}.main-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#c41230}.main-tab .tab-count{font-size:13px;color:#888;font-weight:400}.main-tab.active .tab-count{color:#c41230}.main-tab .tab-badge{background:#c41230;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.filter-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.filter-tab{background:#fff;border:1px solid #e0e0e0;padding:8px 16px;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.filter-tab:hover{border-color:#c41230;color:#c41230}.filter-tab.active{background:#c41230;border-color:#c41230;color:#fff}.approvals-page .search-box .btn-primary{padding:10px 20px;border-radius:6px;white-space:nowrap}.approvals-page .search-box .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap;transition:all .2s}.approvals-page .search-box .btn-secondary:hover{border-color:#c41230;color:#c41230}.documents-list{display:flex;flex-direction:column;gap:12px}.load-more-btn{width:100%;padding:14px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;color:#666;cursor:pointer;transition:all .2s}.load-more-btn:hover:not(:disabled){background:#eee;color:#c41230}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.document-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.document-card:hover{border-color:#c41230;box-shadow:0 4px 12px #00000014}.document-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.document-card .document-number{font-size:12px;color:#888;font-family:monospace}.document-card .card-body{margin-bottom:12px}.document-card .document-title{font-size:16px;font-weight:600;color:#222;margin:0 0 8px}.document-card .document-info{display:flex;gap:16px;flex-wrap:wrap}.document-card .info-item{font-size:13px;color:#666}.document-card .info-item strong{color:#222}.document-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.document-card .progress-info{display:flex;align-items:center;gap:8px}.document-card .progress-bar{width:100px;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.document-card .progress-fill{height:100%;background:#c41230;border-radius:3px;transition:width .3s}.document-card .progress-text{font-size:12px;color:#666}.document-card .meta-info{display:flex;gap:12px;font-size:12px;color:#888}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.draft{background:#f3f4f6;color:#6b7280}.status-badge.pending,.status-badge.in_progress{background:#fef3c7;color:#d97706}.status-badge.approved{background:#d1fae5;color:#059669}.status-badge.rejected{background:#fee2e2;color:#dc2626}.status-badge.cancelled{background:#f3f4f6;color:#9ca3af}.amount{font-weight:600;color:#c41230}.empty-state{text-align:center;padding:60px 20px;color:#888}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;display:block}.empty-state p{font-size:14px;margin:0}.loading{text-align:center;padding:60px;color:#888}.approval-write-page{padding:24px;max-width:900px;margin:0 auto}.approval-write-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background:transparent;padding:0}.approval-write-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0}.approval-write-page .header-buttons{display:flex;gap:8px}.approval-write-page .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.approval-write-page .btn-secondary:hover{border-color:#c41230;color:#c41230}.form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.form-section h3{font-size:16px;font-weight:600;color:#222;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:500;color:#444;margin-bottom:6px}.form-group label .required{color:#c41230;margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#c41230}.form-group textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.approval-line-editor{margin-top:12px}.approval-line-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;margin-bottom:8px}.approval-line-item .step-number{width:28px;height:28px;background:#c41230;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.approval-line-item .approver-info{flex:1}.approval-line-item .approver-name{font-weight:500;color:#222}.approval-line-item .approver-dept{font-size:12px;color:#888}.approval-line-item .approval-type{font-size:12px;color:#666;background:#fff;padding:4px 8px;border-radius:4px}.approval-line-item .btn-remove{background:none;border:none;color:#999;cursor:pointer;padding:4px;font-size:18px}.approval-line-item .btn-remove:hover{color:#c41230}.btn-add-approver{width:100%;padding:12px;background:#fff;border:1px dashed #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.btn-add-approver:hover{border-color:#c41230;color:#c41230}.expense-table{width:100%;border-collapse:collapse;margin-top:12px}.expense-table th,.expense-table td{padding:10px;text-align:left;border-bottom:1px solid #e0e0e0;font-size:13px}.expense-table th{background:#f8f9fa;font-weight:500;color:#444}.expense-table input{width:100%;padding:8px;border:1px solid #e0e0e0;border-radius:4px;font-size:16px}.expense-table .amount-input{text-align:right}.expense-table select{width:100%;padding:8px;border:1px solid #e0e0e0;border-radius:4px;font-size:16px;background:#fff}.expense-table .btn-remove-row{background:none;border:none;color:#999;cursor:pointer;font-size:16px}.expense-table .btn-remove-row:hover{color:#c41230}.expense-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:2px solid #222}.expense-total .label{font-weight:500;color:#444}.expense-total .value{font-size:20px;font-weight:700;color:#c41230}.document-type-selector{display:flex;gap:12px;flex-wrap:wrap}.document-type-selector .type-btn{flex:1 1 auto;min-width:120px;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.document-type-selector .type-btn:hover{border-color:#c41230;color:#c41230}.document-type-selector .type-btn.active{border-color:#c41230;background:#fff5f7;color:#c41230;font-weight:600}.document-type-selector .type-btn:disabled{cursor:not-allowed;opacity:.6}.form-row{display:flex;gap:16px;margin-bottom:12px}.form-row .form-group{flex:1;margin-bottom:0}.attachments-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.attachment-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8f9fa;border-radius:6px}.attachment-item .file-icon{font-size:20px}.attachment-item .file-info{flex:1}.attachment-item .file-name{font-size:13px;color:#222}.attachment-item .file-size{font-size:11px;color:#888}.attachment-item .btn-remove{background:none;border:none;color:#999;cursor:pointer}.file-upload-area{display:block;width:100%;border:2px dashed #e0e0e0;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;box-sizing:border-box}.file-upload-area:hover{border-color:#c41230}.file-upload-area input{display:none}.file-upload-area p{margin:0;color:#666;font-size:14px}.approval-detail-page{padding:24px;max-width:900px;margin:0 auto}.approval-detail-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;background:transparent;padding:0}.approval-detail-page .document-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px}.approval-detail-page .document-number{font-size:13px;color:#888;font-family:monospace}.approval-detail-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0}.approval-detail-page .header-buttons{display:flex;gap:8px;flex-shrink:0}.approval-detail-page .header-buttons button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.approval-detail-page .btn-primary{background:#c41230;color:#fff;border:none}.approval-detail-page .btn-primary:hover{background:#a30f28}.approval-detail-page .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666}.approval-detail-page .btn-secondary:hover{border-color:#c41230;color:#c41230}.approval-detail-page .btn-danger{background:#dc2626;color:#fff;border:none}.approval-detail-page .btn-danger:hover{background:#b91c1c}.approval-flow{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.approval-flow h3{font-size:16px;font-weight:600;margin:0 0 20px}.flow-steps{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:8px}.flow-step{display:flex;flex-direction:column;align-items:center;min-width:120px;position:relative}.flow-step:not(:last-child):after{content:"";position:absolute;top:24px;right:-40px;width:80px;height:2px;background:#e0e0e0}.flow-step.completed:not(:last-child):after{background:#10b981}.flow-step.current:not(:last-child):after{background:linear-gradient(to right,#f59e0b 50%,#e0e0e0 50%)}.flow-step .step-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:8px;background:#f3f4f6;color:#9ca3af}.flow-step.completed .step-icon{background:#d1fae5;color:#059669}.flow-step.current .step-icon{background:#fef3c7;color:#d97706;animation:pulse 2s infinite}.flow-step.rejected .step-icon{background:#fee2e2;color:#dc2626}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.flow-step .step-info{text-align:center}.flow-step .approver-name{font-weight:500;font-size:14px;color:#222}.flow-step .approver-title{font-size:12px;color:#888}.flow-step .step-status{font-size:11px;margin-top:4px}.flow-step .step-date{font-size:11px;color:#888}.document-content{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.document-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}.document-info-grid .info-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0}.document-info-grid .info-label{min-width:80px;font-size:13px;color:#888;font-weight:500}.document-info-grid .info-value{flex:1;font-size:14px;color:#222}@media (max-width: 600px){.document-info-grid{grid-template-columns:1fr}}.document-content h3{font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.content-body{font-size:14px;line-height:1.7;color:#333;white-space:pre-wrap}.approval-actions{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.approval-actions h3{font-size:16px;font-weight:600;margin:0 0 16px}.action-buttons{display:flex;gap:12px}.btn-approve{flex:1;padding:14px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-approve:hover{background:#059669}.btn-reject{flex:1;padding:14px;background:#fff;color:#ef4444;border:2px solid #ef4444;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-reject:hover{background:#fef2f2}.comment-input{margin-bottom:16px}.comment-input textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;min-height:80px;resize:vertical}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:18px}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer}.modal-body{padding:20px;overflow-y:auto;flex:1}.search-input{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;margin-bottom:16px}.user-list{display:flex;flex-direction:column;gap:8px}.user-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.user-item:hover{border-color:#c41230;background:#fff5f7}.user-item .user-avatar{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:16px;color:#888}.user-item .user-info{flex:1}.user-item .user-name{font-weight:500;color:#222}.user-item .user-dept{font-size:12px;color:#888}.surveys-page{padding:24px;max-width:1200px;margin:0 auto}.surveys-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;background:transparent;padding:0}.surveys-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0 0 8px}.surveys-page .page-description{color:#666;font-size:14px;margin:0}.surveys-page .header-actions{display:flex;gap:12px;flex-shrink:0}.surveys-page .btn-primary{background:#c41230;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s}.surveys-page .btn-primary:hover{background:#a30f28}.surveys-page .main-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.surveys-page .main-tab{position:relative;background:none;border:none;padding:14px 24px;font-size:15px;font-weight:500;color:#666;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .2s;white-space:nowrap}.surveys-page .main-tab:hover{color:#222}.surveys-page .main-tab.active{color:#c41230}.surveys-page .main-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#c41230}.surveys-page .main-tab .tab-count{font-size:13px;color:#888;font-weight:400}.surveys-page .main-tab.active .tab-count{color:#c41230}.surveys-page .main-tab .tab-badge{background:#c41230;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.surveys-page .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:24px}.surveys-page .stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s}.surveys-page .stat-card:hover{border-color:#c41230;box-shadow:0 4px 12px #c412301a}.surveys-page .stat-card.active{border-color:#c41230;background:#fff5f7}.surveys-page .stat-card .stat-value{font-size:32px;font-weight:700;color:#c41230;margin-bottom:4px}.surveys-page .stat-card .stat-label{font-size:13px;color:#666;white-space:nowrap}.surveys-page .stat-card .stat-desc{font-size:11px;color:#999;margin-top:2px}.surveys-page .stat-card.active-survey .stat-value{color:#2563eb}.surveys-page .stat-card.closed-survey .stat-value{color:#d97706}.surveys-page .stat-card.published-survey .stat-value{color:#059669}.surveys-page .filter-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.surveys-page .filter-tab{background:#fff;border:1px solid #e0e0e0;padding:8px 16px;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.surveys-page .filter-tab:hover{border-color:#c41230;color:#c41230}.surveys-page .filter-tab.active{background:#c41230;border-color:#c41230;color:#fff}.surveys-page .search-box{display:flex;gap:8px;margin-bottom:16px}.surveys-page .search-box .search-input{flex:1;padding:10px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s}.surveys-page .search-box .search-input:focus{outline:none;border-color:#c41230}.surveys-page .search-box .btn{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap;transition:all .2s}.surveys-page .search-box .btn-primary{background:#c41230;color:#fff;border:none}.surveys-page .search-box .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666}.surveys-page .search-box .btn-secondary:hover{border-color:#c41230;color:#c41230}.surveys-page .search-result-info{font-size:14px;color:#666;margin-bottom:16px}.surveys-page .search-result-info .search-type{color:#c41230;font-weight:500}.survey-cards{display:flex;flex-direction:column;gap:12px}.survey-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s}.survey-card:hover{border-color:#c41230;box-shadow:0 4px 12px #00000014}.survey-card.unresponded{border-left:3px solid #c41230}.survey-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.survey-card .card-header-left{display:flex;align-items:center;gap:8px}.survey-card .card-date{font-size:12px;color:#888}.survey-card .card-body{margin-bottom:12px}.survey-card .survey-title{font-size:16px;font-weight:600;color:#222;margin:0 0 8px}.survey-card .survey-meta{display:flex;gap:16px;flex-wrap:wrap}.survey-card .meta-item{font-size:13px;color:#666}.survey-card .meta-item strong{color:#222}.survey-card .card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.survey-card .survey-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#f3f4f6;color:#6b7280}.survey-card .survey-tag.anonymous{background:#fef3c7;color:#d97706}.survey-card .survey-tag.target{background:#dbeafe;color:#2563eb}.survey-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.response-progress{display:flex;align-items:center;gap:10px;flex:1}.response-progress .progress-bar{flex:1;max-width:200px;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.response-progress .progress-fill{height:100%;background:#c41230;border-radius:4px;transition:width .3s}.response-progress .progress-text{font-size:13px;color:#666;white-space:nowrap}.survey-card .card-footer .deadline-text{font-size:12px;color:#888}.survey-card .card-footer .deadline-text.urgent{color:#dc2626;font-weight:500}.status-badge.survey-draft{background:#f3f4f6;color:#6b7280}.status-badge.survey-active{background:#dbeafe;color:#2563eb}.status-badge.survey-closed{background:#fef3c7;color:#d97706}.status-badge.survey-published{background:#d1fae5;color:#059669}.unresponded-dot{display:inline-block;width:8px;height:8px;background:#c41230;border-radius:50%;margin-left:4px}.survey-detail-page{padding:24px;max-width:900px;margin:0 auto}.survey-detail-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;background:transparent;padding:0}.survey-detail-page .survey-meta-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.survey-detail-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0}.survey-detail-page .header-buttons{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.survey-detail-page .header-buttons button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.survey-detail-page .btn-primary{background:#c41230;color:#fff;border:none}.survey-detail-page .btn-primary:hover{background:#a30f28}.survey-detail-page .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666}.survey-detail-page .btn-secondary:hover{border-color:#c41230;color:#c41230}.survey-detail-page .btn-danger{background:#dc2626;color:#fff;border:none}.survey-detail-page .btn-danger:hover{background:#b91c1c}.survey-detail-page .btn-success{background:#10b981;color:#fff;border:none}.survey-detail-page .btn-success:hover{background:#059669}.survey-detail-page .btn-warning{background:#d97706;color:#fff;border:none}.survey-detail-page .btn-warning:hover{background:#b45309}.survey-detail-page .form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.survey-detail-page .form-section h3{font-size:16px;font-weight:600;color:#222;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.survey-detail-page .document-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}.survey-detail-page .info-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0}.survey-detail-page .info-label{min-width:80px;font-size:13px;color:#888;font-weight:500}.survey-detail-page .info-value{flex:1;font-size:14px;color:#222}.survey-detail-page .survey-description{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px;font-size:14px;line-height:1.7;color:#333;white-space:pre-wrap}.survey-detail-page .response-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.survey-detail-page .response-stat-item{text-align:center;padding:16px;background:#f8f9fa;border-radius:8px}.survey-detail-page .response-stat-value{font-size:28px;font-weight:700;color:#222}.survey-detail-page .response-stat-value.responded{color:#059669}.survey-detail-page .response-stat-value.not-responded{color:#dc2626}.survey-detail-page .response-stat-label{font-size:13px;color:#666;margin-top:4px}.survey-detail-page .response-progress-large{margin-top:16px}.survey-detail-page .response-progress-large .progress-bar{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.survey-detail-page .response-progress-large .progress-fill{height:100%;background:linear-gradient(90deg,#c41230,#e63950);border-radius:6px;transition:width .5s ease}.survey-detail-page .response-progress-large .progress-label{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:#666}.question-preview-list{display:flex;flex-direction:column;gap:16px}.question-item{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px}.question-item .question-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.question-item .question-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#c41230;color:#fff;border-radius:50%;font-size:13px;font-weight:600;flex-shrink:0}.question-item .question-text{font-size:15px;font-weight:500;color:#222;flex:1}.question-item .question-required{color:#c41230;font-weight:600;font-size:14px}.question-item .question-type-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#f3f4f6;color:#6b7280;flex-shrink:0}.question-item .question-options{display:flex;flex-direction:column;gap:8px;margin-top:8px}.question-item.question-conditional{margin-left:24px;border-left:3px solid #f59e0b}.question-condition-label{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:#92400e;background:#fffbeb;padding:4px 8px;border-radius:4px}.question-condition-label .condition-arrow{font-size:14px;font-weight:600}.question-handle{cursor:grab;color:#ccc;font-size:18px;padding:4px;display:flex;align-items:center}.question-handle:active{cursor:grabbing}.radio-option{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s}.radio-option:hover{background:#f0f0f0}.radio-option .radio-circle{width:18px;height:18px;border:2px solid #d0d0d0;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.radio-option.selected .radio-circle{border-color:#c41230}.radio-option.selected .radio-circle:after{content:"";width:10px;height:10px;background:#c41230;border-radius:50%}.radio-option .option-text{font-size:14px;color:#333}.radio-option.selected .option-text{color:#222;font-weight:500}.checkbox-option{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s}.checkbox-option:hover{background:#f0f0f0}.checkbox-option .checkbox-box{width:18px;height:18px;border:2px solid #d0d0d0;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.checkbox-option.selected .checkbox-box{border-color:#c41230;background:#c41230}.checkbox-option.selected .checkbox-box:after{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}.checkbox-option .option-text{font-size:14px;color:#333}.checkbox-option.selected .option-text{color:#222;font-weight:500}.rating-selector{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.rating-btn{width:44px;height:44px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.rating-btn:hover{border-color:#c41230;color:#c41230}.rating-btn.selected{background:#c41230;border-color:#c41230;color:#fff}.rating-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:#888}.survey-results-page{padding:24px;max-width:900px;margin:0 auto}.result-question-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.result-question-card h4{font-size:15px;font-weight:600;color:#222;margin:0 0 16px}.result-bars{display:flex;flex-direction:column;gap:10px}.result-bar{display:flex;align-items:center;gap:12px}.result-bar .bar-label{min-width:120px;font-size:14px;color:#333;text-align:right}.result-bar .bar-track{flex:1;height:24px;background:#f3f4f6;border-radius:4px;overflow:hidden;position:relative}.result-bar .bar-fill{height:100%;background:linear-gradient(90deg,#c41230,#e63950);border-radius:4px;transition:width .5s ease;min-width:2px}.result-bar .bar-value{min-width:60px;font-size:13px;color:#666;text-align:right}.result-bar .bar-value strong{color:#222}.text-responses{display:flex;flex-direction:column;gap:8px}.text-response-item{padding:12px 16px;background:#f8f9fa;border-radius:6px;font-size:14px;color:#333;line-height:1.5}.rating-result{text-align:center;padding:24px}.rating-average{font-size:48px;font-weight:700;color:#c41230}.rating-average-label{font-size:14px;color:#666;margin-top:4px}.survey-write-page .question-edit-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;margin-bottom:16px;position:relative}.survey-write-page .question-edit-card.dragging{opacity:.5;border-style:dashed}.survey-write-page .question-edit-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.survey-write-page .question-edit-header .question-handle{cursor:grab;color:#ccc;font-size:20px;padding:4px}.survey-write-page .question-edit-header .question-handle:active{cursor:grabbing}.survey-write-page .question-edit-header input{flex:1;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:15px}.survey-write-page .question-edit-header input:focus{outline:none;border-color:#c41230}.survey-write-page .question-edit-controls{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.survey-write-page .question-edit-controls select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff}.survey-write-page .question-edit-controls label{display:flex;align-items:center;gap:6px;font-size:14px;color:#444;cursor:pointer}.survey-write-page .option-edit-list{display:flex;flex-direction:column;gap:8px}.survey-write-page .option-edit-item{display:flex;align-items:center;gap:8px}.survey-write-page .option-edit-item input{flex:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px}.survey-write-page .option-edit-item input:focus{outline:none;border-color:#c41230}.survey-write-page .option-edit-item .btn-remove{background:none;border:none;color:#999;cursor:pointer;font-size:18px;padding:4px}.survey-write-page .option-edit-item .btn-remove:hover{color:#c41230}.survey-write-page .btn-add-option{width:100%;padding:10px;background:#fff;border:1px dashed #d0d0d0;border-radius:6px;color:#666;cursor:pointer;font-size:13px;margin-top:8px;transition:all .2s}.survey-write-page .btn-add-option:hover{border-color:#c41230;color:#c41230}.survey-write-page .btn-add-question{width:100%;padding:16px;background:#fff;border:2px dashed #d0d0d0;border-radius:12px;color:#666;cursor:pointer;font-size:15px;font-weight:500;transition:all .2s}.survey-write-page .btn-add-question:hover{border-color:#c41230;color:#c41230}.survey-write-page .question-edit-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #f0f0f0}.survey-write-page .question-edit-footer button{background:none;border:none;color:#888;cursor:pointer;font-size:13px;padding:6px 12px;border-radius:4px;transition:all .2s}.survey-write-page .question-edit-footer button:hover{background:#f8f9fa;color:#c41230}.survey-respond-page{padding:24px;max-width:900px;margin:0 auto}.survey-respond-page .page-header{margin-bottom:24px;background:transparent;padding:0}.survey-respond-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0 0 8px}.survey-respond-page .survey-info-banner{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:24px;font-size:14px;color:#444;line-height:1.6}.survey-respond-page .question-respond-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:16px}.survey-respond-page .question-respond-card.required-unanswered{border-color:#dc2626}.survey-respond-page textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;min-height:100px;resize:vertical;transition:border-color .2s}.survey-respond-page textarea:focus{outline:none;border-color:#c41230}.survey-respond-page .submit-section{display:flex;justify-content:center;gap:12px;margin-top:24px}.survey-respond-page .submit-section .btn-primary{background:#c41230;color:#fff;border:none;padding:14px 48px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.survey-respond-page .submit-section .btn-primary:hover{background:#a30f28}.survey-respond-page .submit-section .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666;padding:14px 32px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s}.survey-respond-page .submit-section .btn-secondary:hover{border-color:#c41230;color:#c41230}.survey-respond-page .page-header{display:flex;justify-content:space-between;align-items:flex-start}.survey-respond-page .page-header h1{margin-bottom:8px}.survey-respond-page .page-description{color:#666;font-size:14px;margin:0 0 12px;line-height:1.6}.survey-respond-page .header-buttons{display:flex;gap:8px;flex-shrink:0}.survey-respond-page .header-buttons button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.survey-respond-page .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666}.survey-respond-page .btn-secondary:hover{border-color:#c41230;color:#c41230}.survey-respond-page .btn-primary{background:#c41230;color:#fff;border:none}.survey-respond-page .btn-primary:hover{background:#a30f28}.survey-respond-page .btn-primary:disabled{background:#ccc;cursor:not-allowed}.survey-respond-meta{display:flex;gap:16px;flex-wrap:wrap}.survey-respond-meta .meta-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#666}.survey-respond-meta .anonymous-badge{color:#2563eb;background:#dbeafe;padding:3px 10px;border-radius:12px;font-weight:500}.respond-notice{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.respond-notice .notice-content{display:flex;align-items:flex-start;gap:12px}.respond-notice .notice-content svg{color:#16a34a;flex-shrink:0;margin-top:2px}.respond-notice .notice-content strong{display:block;color:#166534;font-size:15px;margin-bottom:4px}.respond-notice .notice-content p{color:#15803d;font-size:13px;margin:0}.respond-progress{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px 20px;margin-bottom:24px}.respond-progress .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:#666}.respond-progress .progress-header span:last-child{font-weight:600;color:#c41230}.progress-bar-track{width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:#c41230;border-radius:3px;transition:width .3s ease}.questions-respond{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.question-respond-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px}.question-respond-item .question-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.question-respond-item .question-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:24px;padding:0 8px;border-radius:12px}.required-mark{color:#c41230;font-size:18px;font-weight:700;margin-left:2px}.question-respond-item .question-text{font-size:16px;font-weight:600;color:#222;margin:0 0 20px;padding-bottom:0;border-bottom:none;line-height:1.5}.survey-respond-page .radio-option,.survey-respond-page .checkbox-option{border:1px solid #e0e0e0;padding:14px 16px;border-radius:8px}.survey-respond-page .radio-option:hover,.survey-respond-page .checkbox-option:hover,.survey-respond-page .radio-option.selected,.survey-respond-page .checkbox-option.selected{border-color:#c41230;background:#fff5f7}.radio-custom{width:20px;height:20px;border:2px solid #d0d0d0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s}.radio-option.selected .radio-custom{border-color:#c41230}.radio-dot{width:10px;height:10px;background:#c41230;border-radius:50%}.checkbox-custom{width:20px;height:20px;border:2px solid #d0d0d0;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.checkbox-option.selected .checkbox-custom{background:#c41230;border-color:#c41230}.checkbox-custom svg{color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-answer-area textarea{width:100%;min-height:100px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s;line-height:1.6}.text-answer-area textarea:focus{outline:none;border-color:#c41230}.survey-respond-page .rating-selector{align-items:center}.rating-label-min,.rating-label-max{font-size:13px;color:#888;white-space:nowrap}.rating-buttons{display:flex;gap:8px;flex-wrap:wrap}.survey-respond-page .rating-btn.active{background:#c41230;border-color:#c41230;color:#fff}.submit-area{text-align:center;padding:24px 0}.submit-btn{width:100%;max-width:400px;padding:16px 32px;font-size:16px;font-weight:600;border-radius:10px}.submit-hint{font-size:13px;color:#888;margin-top:12px}.survey-results-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;background:transparent;padding:0}.survey-results-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0 0 8px}.survey-results-page .page-description{color:#666;font-size:14px;margin:0}.survey-results-page .header-buttons{display:flex;gap:8px;flex-shrink:0}.survey-results-page .header-buttons button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.survey-results-page .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666}.survey-results-page .btn-secondary:hover{border-color:#c41230;color:#c41230}.survey-results-page .btn-primary{background:#c41230;color:#fff;border:none}.survey-results-page .btn-primary:hover{background:#a30f28}.survey-results-page .btn-primary:disabled{background:#ccc;cursor:not-allowed}.results-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.results-stat-card{text-align:center;padding:16px 12px;background:#f8f9fa;border-radius:8px}.results-stat-value{font-size:28px;font-weight:700;color:#c41230;margin-bottom:4px}.results-stat-label{font-size:13px;color:#666}.results-questions{display:flex;flex-direction:column;gap:16px}.result-question-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:0}.result-question-section h3{border-bottom:none!important;padding-bottom:0!important}.result-question-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.result-response-count{margin-left:auto;font-size:13px;color:#888}.result-question-text{font-size:16px;font-weight:600;color:#222;margin:0 0 20px;line-height:1.5}.result-choices{display:flex;flex-direction:column;gap:12px}.result-choice-item{padding:0}.result-choice-item.top .result-choice-text{color:#c41230;font-weight:600}.result-choice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.result-choice-text{font-size:14px;color:#333}.result-choice-count{font-size:13px;color:#666;white-space:nowrap;margin-left:12px}.result-choices .result-bar,.result-rating .result-bar{display:block;width:100%;height:24px;background:#e9ecef;border-radius:4px;overflow:hidden}.result-bar-fill{height:100%;background:#c41230;border-radius:4px;transition:width .5s ease;min-width:0}.result-choice-item.top .result-bar-fill{background:#c41230}.result-rating{display:flex;gap:32px;align-items:flex-start}.result-rating-summary{text-align:center;flex-shrink:0;min-width:120px}.result-rating-avg{margin-bottom:4px}.result-rating-avg .avg-number{font-size:40px;font-weight:700;color:#c41230}.result-rating-avg .avg-total{font-size:18px;color:#888;font-weight:500}.result-rating-summary .avg-label{font-size:13px;color:#888}.result-rating-distribution{flex:1;display:flex;flex-direction:column;gap:8px}.result-dist-item{display:flex;align-items:center;gap:10px}.result-dist-item .dist-label{font-size:13px;color:#666;min-width:32px;text-align:right}.result-dist-item .result-bar{flex:1;height:20px}.result-dist-item .dist-count{font-size:13px;color:#666;min-width:40px;text-align:right}.result-text-answers{display:flex;flex-direction:column;gap:8px}.result-text-item{background:#f8f9fa;border-radius:8px;padding:14px 16px}.result-text-author{font-size:12px;color:#888;margin-bottom:6px;font-weight:500}.result-text-content{font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap}.result-text-empty{text-align:center;padding:24px;color:#888;font-size:14px}.btn-more-text{width:100%;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:14px;cursor:pointer;transition:all .2s;margin-top:4px}.btn-more-text:hover{border-color:#c41230;color:#c41230}.survey-respond-page .form-section,.survey-results-page .form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.survey-respond-page .form-section h3,.survey-results-page .form-section h3{font-size:16px;font-weight:600;color:#222;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.survey-respond-page .loading,.survey-results-page .loading{text-align:center;padding:60px;color:#888}.survey-respond-page .empty-state,.survey-results-page .empty-state,.surveys-page .empty-state{text-align:center;padding:60px 20px;color:#888}.surveys-page .empty-state .empty-icon{font-size:48px;margin-bottom:16px;display:block}.surveys-page .empty-state p{font-size:14px;margin:0}.surveys-page .loading,.survey-detail-page .loading{text-align:center;padding:60px;color:#888}.survey-detail-page .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}.survey-detail-page .modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.survey-detail-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.survey-detail-page .modal-header h3{margin:0;font-size:18px}.survey-detail-page .modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer}.survey-detail-page .modal-body{padding:20px;overflow-y:auto;flex:1}[data-theme=dark] .surveys-page .page-header h1,[data-theme=dark] .survey-detail-page .page-header h1{color:var(--text-dark)}[data-theme=dark] .surveys-page .page-description,[data-theme=dark] .surveys-page .main-tab{color:var(--text-gray)}[data-theme=dark] .surveys-page .main-tab:hover{color:var(--text-dark)}[data-theme=dark] .surveys-page .main-tabs{border-bottom-color:var(--border-color)}[data-theme=dark] .surveys-page .main-tab .tab-count{color:var(--text-light)}[data-theme=dark] .surveys-page .stat-card{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .surveys-page .stat-card.active{background:#c412301a;border-color:#c41230}[data-theme=dark] .surveys-page .stat-card .stat-label{color:var(--text-gray)}[data-theme=dark] .surveys-page .stat-card .stat-desc{color:var(--text-muted)}[data-theme=dark] .surveys-page .filter-tab{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .surveys-page .search-box .search-input{background:var(--bg-input);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .surveys-page .search-box .btn-secondary{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .surveys-page .search-result-info{color:var(--text-gray)}[data-theme=dark] .survey-card{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-card:hover{border-color:#c41230}[data-theme=dark] .survey-card .survey-title{color:var(--text-dark)}[data-theme=dark] .survey-card .meta-item{color:var(--text-gray)}[data-theme=dark] .survey-card .meta-item strong{color:var(--text-dark)}[data-theme=dark] .survey-card .card-date{color:var(--text-light)}[data-theme=dark] .survey-card .card-footer{border-top-color:var(--border-light)}[data-theme=dark] .survey-card .card-footer .deadline-text{color:var(--text-light)}[data-theme=dark] .survey-card .survey-tag{background:#ffffff14;color:var(--text-gray)}[data-theme=dark] .response-progress .progress-bar{background:#ffffff1a}[data-theme=dark] .response-progress .progress-text{color:var(--text-gray)}[data-theme=dark] .survey-detail-page .form-section{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-detail-page .form-section h3{color:var(--text-dark);border-bottom-color:var(--border-light)}[data-theme=dark] .survey-detail-page .info-row{border-bottom-color:var(--border-light)}[data-theme=dark] .survey-detail-page .info-label{color:var(--text-light)}[data-theme=dark] .survey-detail-page .info-value{color:var(--text-dark)}[data-theme=dark] .survey-detail-page .survey-description{background:var(--bg-gray);color:var(--text-gray)}[data-theme=dark] .survey-detail-page .response-stat-item{background:var(--bg-gray)}[data-theme=dark] .survey-detail-page .response-stat-value{color:var(--text-dark)}[data-theme=dark] .survey-detail-page .response-stat-label{color:var(--text-gray)}[data-theme=dark] .survey-detail-page .response-progress-large .progress-bar{background:#ffffff1a}[data-theme=dark] .survey-detail-page .response-progress-large .progress-label{color:var(--text-gray)}[data-theme=dark] .survey-detail-page .btn-secondary{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .survey-detail-page .modal-content{background:var(--bg-card)}[data-theme=dark] .survey-detail-page .modal-header{border-bottom-color:var(--border-color)}[data-theme=dark] .survey-detail-page .modal-header h3{color:var(--text-dark)}[data-theme=dark] .survey-detail-page .modal-close{color:var(--text-gray)}[data-theme=dark] .question-item.question-conditional{border-left-color:#f59e0b}[data-theme=dark] .question-condition-label{background:#f59e0b1a;color:#fbbf24}[data-theme=dark] .question-item{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .question-item .question-text{color:var(--text-dark)}[data-theme=dark] .question-item .question-type-badge{background:#ffffff14;color:var(--text-gray)}[data-theme=dark] .radio-option{background:var(--bg-gray)}[data-theme=dark] .radio-option:hover{background:#ffffff14}[data-theme=dark] .radio-option .option-text{color:var(--text-gray)}[data-theme=dark] .radio-option.selected .option-text{color:var(--text-dark)}[data-theme=dark] .checkbox-option{background:var(--bg-gray)}[data-theme=dark] .checkbox-option:hover{background:#ffffff14}[data-theme=dark] .checkbox-option .option-text{color:var(--text-gray)}[data-theme=dark] .checkbox-option.selected .option-text{color:var(--text-dark)}[data-theme=dark] .rating-btn{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .result-question-card{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .result-question-card h4{color:var(--text-dark)}[data-theme=dark] .result-bar .bar-label{color:var(--text-gray)}[data-theme=dark] .result-bar .bar-track{background:#ffffff0f}[data-theme=dark] .result-bar .bar-value{color:var(--text-gray)}[data-theme=dark] .result-bar .bar-value strong{color:var(--text-dark)}[data-theme=dark] .text-response-item{background:var(--bg-gray);color:var(--text-gray)}[data-theme=dark] .survey-write-page .question-edit-card{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-write-page .question-edit-header input,[data-theme=dark] .survey-write-page .question-edit-controls select,[data-theme=dark] .survey-write-page .option-edit-item input{background:var(--bg-input);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .survey-write-page .btn-add-option,[data-theme=dark] .survey-write-page .btn-add-question{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .survey-write-page .question-edit-footer{border-top-color:var(--border-light)}[data-theme=dark] .survey-write-page .question-edit-footer button{color:var(--text-gray)}[data-theme=dark] .survey-write-page .question-edit-footer button:hover{background:var(--bg-gray)}[data-theme=dark] .survey-respond-page .survey-info-banner{background:var(--bg-gray);color:var(--text-gray)}[data-theme=dark] .survey-respond-page .question-respond-card{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-respond-page textarea{background:var(--bg-input);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .survey-respond-page .submit-section .btn-secondary{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .surveys-page .empty-state{color:var(--text-light)}[data-theme=dark] .survey-respond-page .page-header h1{color:var(--text-dark)}[data-theme=dark] .survey-respond-page .page-description{color:var(--text-gray)}[data-theme=dark] .survey-respond-page .btn-secondary{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .survey-respond-meta .meta-item{color:var(--text-gray)}[data-theme=dark] .survey-respond-meta .anonymous-badge{background:#2563eb26;color:#93c5fd}[data-theme=dark] .respond-notice{background:#10b9811a;border-color:#10b9814d}[data-theme=dark] .respond-notice .notice-content strong{color:#6ee7b7}[data-theme=dark] .respond-notice .notice-content p{color:#a7f3d0}[data-theme=dark] .respond-progress{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .respond-progress .progress-header{color:var(--text-gray)}[data-theme=dark] .progress-bar-track{background:#ffffff1a}[data-theme=dark] .question-respond-item{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .question-respond-item .question-text{color:var(--text-dark)}[data-theme=dark] .question-type-badge{background:#ffffff14;color:var(--text-gray)}[data-theme=dark] .survey-respond-page .radio-option,[data-theme=dark] .survey-respond-page .checkbox-option{background:var(--bg-gray);border-color:var(--border-color)}[data-theme=dark] .survey-respond-page .radio-option:hover,[data-theme=dark] .survey-respond-page .checkbox-option:hover{background:#c412300d;border-color:#c41230}[data-theme=dark] .survey-respond-page .radio-option.selected,[data-theme=dark] .survey-respond-page .checkbox-option.selected{background:#c412301a;border-color:#c41230}[data-theme=dark] .radio-custom,[data-theme=dark] .checkbox-custom{border-color:var(--text-muted)}[data-theme=dark] .text-answer-area textarea{background:var(--bg-input);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .rating-label-min,[data-theme=dark] .rating-label-max,[data-theme=dark] .submit-hint{color:var(--text-muted)}[data-theme=dark] .survey-respond-page .form-section,[data-theme=dark] .survey-results-page .form-section{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-respond-page .form-section h3,[data-theme=dark] .survey-results-page .form-section h3{color:var(--text-dark);border-bottom-color:var(--border-light)}[data-theme=dark] .survey-results-page .page-header h1{color:var(--text-dark)}[data-theme=dark] .survey-results-page .page-description{color:var(--text-gray)}[data-theme=dark] .survey-results-page .btn-secondary{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .results-stat-card{background:var(--bg-gray)}[data-theme=dark] .results-stat-label{color:var(--text-gray)}[data-theme=dark] .result-question-section{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .result-question-text{color:var(--text-dark)}[data-theme=dark] .result-response-count{color:var(--text-light)}[data-theme=dark] .result-choice-text,[data-theme=dark] .result-choice-count{color:var(--text-gray)}[data-theme=dark] .result-choices .result-bar,[data-theme=dark] .result-rating .result-bar{background:#ffffff0f}[data-theme=dark] .result-rating-avg .avg-total,[data-theme=dark] .result-rating-summary .avg-label{color:var(--text-muted)}[data-theme=dark] .result-dist-item .dist-label,[data-theme=dark] .result-dist-item .dist-count{color:var(--text-gray)}[data-theme=dark] .result-text-item{background:var(--bg-gray)}[data-theme=dark] .result-text-author{color:var(--text-light)}[data-theme=dark] .result-text-content{color:var(--text-gray)}[data-theme=dark] .result-text-empty{color:var(--text-muted)}[data-theme=dark] .btn-more-text{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .btn-more-text:hover{border-color:#c41230;color:#c41230}[data-theme=dark] .survey-respond-page .empty-state,[data-theme=dark] .survey-results-page .empty-state{color:var(--text-light)}@media (max-width: 768px){.surveys-page{padding:16px}.surveys-page .page-header{flex-direction:column;gap:12px}.surveys-page .header-actions{width:100%}.surveys-page .header-actions .btn-primary{width:100%;justify-content:center}.surveys-page .main-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.surveys-page .main-tab{padding:12px 16px;font-size:14px}.surveys-page .stats-grid{grid-template-columns:repeat(2,1fr)}.surveys-page .stat-card .stat-value{font-size:24px}.surveys-page .search-box{flex-direction:column}.surveys-page .search-box .search-input,.surveys-page .search-box .btn{width:100%}.survey-card{padding:16px}.survey-card .survey-meta{flex-direction:column;gap:4px}.response-progress .progress-bar{max-width:120px}.survey-detail-page{padding:16px}.survey-detail-page .page-header{flex-direction:column;gap:12px}.survey-detail-page .header-buttons{width:100%;flex-wrap:wrap}.survey-detail-page .header-buttons button{flex:1;min-width:0}.survey-detail-page .document-info-grid{grid-template-columns:1fr}.survey-detail-page .response-stats{grid-template-columns:repeat(3,1fr);gap:8px}.survey-detail-page .response-stat-value{font-size:22px}.question-item{padding:16px}.rating-selector{gap:6px}.rating-btn{width:38px;height:38px;font-size:14px}.result-bar{flex-direction:column;align-items:flex-start;gap:4px}.result-bar .bar-label{min-width:unset;text-align:left}.result-bar .bar-track{width:100%}.survey-write-page{padding:16px}.survey-write-page .page-header{flex-direction:column;gap:12px;align-items:flex-start}.survey-write-page .header-buttons{width:100%}.survey-write-page .header-buttons button{flex:1}.survey-respond-page{padding:16px}.survey-respond-page .page-header{flex-direction:column;gap:12px}.survey-respond-page .header-buttons{width:100%}.survey-respond-page .header-buttons button{flex:1}.survey-respond-page .submit-section{flex-direction:column}.survey-respond-page .submit-section .btn-primary,.survey-respond-page .submit-section .btn-secondary{width:100%}.respond-notice{flex-direction:column;align-items:flex-start;gap:12px}.respond-notice .btn-primary{width:100%}.question-respond-item{padding:16px}.survey-respond-page .rating-selector{flex-direction:column;align-items:flex-start;gap:8px}.rating-buttons{width:100%;justify-content:flex-start}.survey-respond-page .rating-btn{width:40px;height:40px;font-size:14px}.submit-btn{max-width:100%}.survey-results-page{padding:16px}.survey-results-page .page-header{flex-direction:column;gap:12px}.survey-results-page .header-buttons{width:100%}.survey-results-page .header-buttons button{flex:1}.results-stats-grid{grid-template-columns:repeat(2,1fr)}.results-stat-value{font-size:24px}.result-rating{flex-direction:column;gap:16px}.result-rating-summary{width:100%}.result-question-section{padding:16px}}.form-help-text{margin:4px 0 0 24px;font-size:12px;color:#888}[data-theme=dark] .form-help-text{color:#999}.survey-write-page{padding:24px;max-width:900px;margin:0 auto}.survey-write-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background:transparent;padding:0}.survey-write-page .page-header h1{font-size:24px;font-weight:700;color:#222;margin:0}.survey-write-page .header-buttons{display:flex;gap:8px}.survey-write-page .btn-primary{background:#c41230;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.survey-write-page .btn-primary:hover{background:#a30f28}.survey-write-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.survey-write-page .btn-secondary{background:#fff;border:1px solid #e0e0e0;color:#666;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.survey-write-page .btn-secondary:hover{border-color:#c41230;color:#c41230}.survey-write-page .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.survey-write-page .form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;margin-bottom:20px}.survey-write-page .form-section h3{font-size:16px;font-weight:600;color:#222;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.survey-write-page .form-group{margin-bottom:16px}.survey-write-page .form-group:last-child{margin-bottom:0}.survey-write-page .form-group label{display:block;font-size:13px;font-weight:500;color:#444;margin-bottom:6px}.survey-write-page .form-group label .required{color:#c41230;margin-left:2px}.survey-write-page .form-group input[type=text],.survey-write-page .form-group input[type=number],.survey-write-page .form-group input[type=datetime-local],.survey-write-page .form-group select,.survey-write-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:16px;transition:border-color .2s;background:#fff;color:#222}.survey-write-page .form-group input:focus,.survey-write-page .form-group select:focus,.survey-write-page .form-group textarea:focus{outline:none;border-color:#c41230}.survey-write-page .form-group textarea{min-height:100px;resize:vertical}.survey-write-page .form-row{display:flex;gap:16px;margin-bottom:12px}.survey-write-page .form-row .form-group{flex:1;margin-bottom:0}.survey-write-page .checkbox-group{display:flex;align-items:center}.survey-write-page .checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#444;-webkit-user-select:none;user-select:none}.survey-write-page .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#c41230;cursor:pointer;flex-shrink:0}.survey-write-page .document-type-selector{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.survey-write-page .document-type-selector .type-btn{flex:1 1 auto;min-width:100px;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.survey-write-page .document-type-selector .type-btn:hover{border-color:#c41230;color:#c41230}.survey-write-page .document-type-selector .type-btn.active{border-color:#c41230;background:#fff5f7;color:#c41230;font-weight:600}.survey-write-page .department-list{display:flex;flex-wrap:wrap;gap:12px;padding:12px 0}.survey-write-page .department-check-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;color:#444;transition:all .2s;-webkit-user-select:none;user-select:none}.survey-write-page .department-check-item:hover{border-color:#c41230}.survey-write-page .department-check-item input[type=checkbox]{accent-color:#c41230;width:16px;height:16px;cursor:pointer}.survey-write-page .individual-target{padding:8px 0}.survey-write-page .selected-users-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.survey-write-page .user-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:20px;font-size:13px;color:#1e40af}.survey-write-page .user-chip button{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:16px;line-height:1;padding:0;display:flex;align-items:center}.survey-write-page .user-chip button:hover{color:#c41230}.survey-write-page .btn-add-approver{width:100%;padding:12px;background:#fff;border:1px dashed #d0d0d0;border-radius:8px;color:#666;cursor:pointer;font-size:14px;transition:all .2s}.survey-write-page .btn-add-approver:hover{border-color:#c41230;color:#c41230}.survey-write-page .question-count{font-size:14px;font-weight:400;color:#888;margin-left:4px}.survey-write-page .questions-list{display:flex;flex-direction:column;gap:16px}.survey-write-page .question-card{display:flex;gap:12px;padding:20px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;position:relative;transition:all .2s}.survey-write-page .question-card:hover{border-color:#c41230;box-shadow:0 2px 8px #0000000a}.survey-write-page .question-card.dragging{opacity:.5;border-style:dashed}.survey-write-page .question-card.drag-over{border-color:#c41230;border-width:2px;background:#fff5f7}.survey-write-page .question-handle{display:flex;align-items:center;cursor:grab;padding:4px;color:#bbb;flex-shrink:0;-webkit-user-select:none;user-select:none}.survey-write-page .question-handle:active{cursor:grabbing}.survey-write-page .question-handle .handle-icon{font-size:16px;letter-spacing:-2px;line-height:1}.survey-write-page .question-number{width:28px;height:28px;background:#c41230;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;margin-top:2px}.survey-write-page .question-content{flex:1;min-width:0}.survey-write-page .question-content .form-row{margin-bottom:12px}.survey-write-page .question-text-input{font-size:15px!important;font-weight:500}.survey-write-page .btn-remove-question{position:absolute;top:12px;right:12px;background:none;border:none;color:#999;cursor:pointer;font-size:20px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.survey-write-page .btn-remove-question:hover{background:#fee2e2;color:#c41230}.survey-write-page .condition-setting{margin-bottom:12px;padding:10px 12px;background:#fff8f0;border:1px solid #fde68a;border-radius:8px}.survey-write-page .condition-setting>.checkbox-label{margin-bottom:0}.survey-write-page .condition-setting>.checkbox-label span{font-size:13px;color:#92400e}.survey-write-page .condition-selectors{display:flex;align-items:center;gap:8px;margin-top:8px;padding-left:26px;flex-wrap:wrap}.survey-write-page .condition-select{padding:6px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;background:#fff;color:#222;max-width:220px;min-width:0}.survey-write-page .condition-select:focus{outline:none;border-color:#c41230}.survey-write-page .condition-connector{font-size:13px;color:#666;white-space:nowrap}.survey-write-page .preview-conditional{margin-left:24px;border-left:3px solid #f59e0b}.survey-write-page .preview-condition-badge{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:#92400e;background:#fffbeb;padding:4px 8px;border-radius:4px}.survey-write-page .preview-condition-badge .condition-arrow{font-size:14px}.survey-write-page .preview-conditional-tag{font-size:11px;color:#f59e0b;font-weight:500;margin-left:4px}.survey-write-page .options-list{margin-top:12px}.survey-write-page .option-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}.survey-write-page .option-marker{font-size:18px;color:#bbb;flex-shrink:0;width:24px;text-align:center}.survey-write-page .option-input{flex:1;padding:8px 12px!important;border:1px solid #e0e0e0;border-radius:6px;font-size:14px!important;background:#fff}.survey-write-page .option-input:focus{outline:none;border-color:#c41230}.survey-write-page .btn-remove-option{background:none;border:none;color:#ccc;cursor:pointer;font-size:18px;padding:4px;transition:color .2s;flex-shrink:0}.survey-write-page .btn-remove-option:hover:not(:disabled){color:#c41230}.survey-write-page .btn-remove-option:disabled{opacity:.3;cursor:not-allowed}.survey-write-page .btn-add-option{background:none;border:none;color:#888;cursor:pointer;font-size:13px;padding:6px 0 6px 32px;transition:color .2s}.survey-write-page .btn-add-option:hover{color:#c41230}.survey-write-page .rating-preview{margin-top:12px}.survey-write-page .rating-range{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.survey-write-page .rating-range .form-group{margin-bottom:0}.survey-write-page .rating-range input[type=number]{width:80px;text-align:center}.survey-write-page .range-separator{font-size:18px;color:#888;padding-bottom:10px}.survey-write-page .rating-dots{display:flex;gap:16px;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow-x:auto}.survey-write-page .rating-dot{display:flex;flex-direction:column;align-items:center;gap:6px}.survey-write-page .dot-circle{width:20px;height:20px;border:2px solid #d0d0d0;border-radius:50%}.survey-write-page .dot-label{font-size:12px;color:#666}.survey-write-page .text-preview{margin-top:12px}.survey-write-page .text-preview-box{padding:12px;background:#fff;border:1px dashed #d0d0d0;border-radius:6px;color:#bbb;font-size:13px;min-height:60px}.survey-write-page .btn-add-question{width:100%;padding:16px;background:#fff;border:2px dashed #d0d0d0;border-radius:10px;color:#888;cursor:pointer;font-size:15px;font-weight:500;margin-top:16px;transition:all .2s}.survey-write-page .btn-add-question:hover{border-color:#c41230;color:#c41230;background:#fff5f7}.survey-write-page .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}.survey-write-page .modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.survey-write-page .modal-preview{max-width:640px;max-height:90vh}.survey-write-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.survey-write-page .modal-header h3{margin:0;font-size:18px;border-bottom:none;padding-bottom:0}.survey-write-page .modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer}.survey-write-page .modal-body{padding:20px;overflow-y:auto;flex:1}.survey-write-page .search-input{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;margin-bottom:16px}.survey-write-page .search-input:focus{outline:none;border-color:#c41230}.survey-write-page .user-list{display:flex;flex-direction:column;gap:8px}.survey-write-page .user-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.survey-write-page .user-item:hover{border-color:#c41230;background:#fff5f7}.survey-write-page .user-item.selected{background:#f0f0f0;opacity:.6}.survey-write-page .user-avatar{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:16px;color:#888;overflow:hidden;flex-shrink:0}.survey-write-page .user-avatar img{width:100%;height:100%;object-fit:cover}.survey-write-page .user-info{flex:1}.survey-write-page .user-name{font-weight:500;color:#222}.survey-write-page .user-dept{font-size:12px;color:#888}.survey-write-page .preview-survey{padding:0}.survey-write-page .preview-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #c41230}.survey-write-page .preview-header h2{font-size:22px;font-weight:700;color:#222;margin:0 0 8px}.survey-write-page .preview-description{font-size:14px;color:#666;margin:0 0 8px;line-height:1.6;white-space:pre-wrap}.survey-write-page .preview-deadline{font-size:13px;color:#888;margin:0}.survey-write-page .preview-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;margin-top:8px}.survey-write-page .preview-badge.anonymous{background:#f3f4f6;color:#6b7280}.survey-write-page .preview-question{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;padding:20px;margin-bottom:16px}.survey-write-page .preview-question-header{display:flex;align-items:flex-start;gap:4px;margin-bottom:8px}.survey-write-page .preview-q-number{font-weight:700;color:#c41230;font-size:15px}.survey-write-page .preview-q-text{font-weight:600;color:#222;font-size:15px;flex:1}.survey-write-page .preview-required{color:#c41230;font-size:16px;font-weight:700}.survey-write-page .preview-q-type{font-size:12px;color:#888;margin-bottom:12px}.survey-write-page .preview-options{display:flex;flex-direction:column;gap:8px}.survey-write-page .preview-option-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#444;cursor:default}.survey-write-page .preview-option-item input{accent-color:#c41230;width:16px;height:16px}.survey-write-page .preview-text-input{width:100%;min-height:60px;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;resize:vertical;background:#fff}.survey-write-page .preview-rating{display:flex;gap:16px;flex-wrap:wrap}.survey-write-page .preview-rating-item{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:default;font-size:13px;color:#666}.survey-write-page .preview-rating-item input{accent-color:#c41230}.survey-write-page .empty-state{text-align:center;padding:40px 20px;color:#888}.survey-write-page .empty-state p{font-size:14px;margin:0}.survey-write-page .loading{text-align:center;padding:60px;color:#888}[data-theme=dark] .survey-write-page .page-header h1{color:var(--text-dark)}[data-theme=dark] .survey-write-page .form-section{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-write-page .form-section h3{color:var(--text-dark);border-bottom-color:var(--border-light)}[data-theme=dark] .survey-write-page .form-group label{color:var(--text-gray)}[data-theme=dark] .survey-write-page .form-group input,[data-theme=dark] .survey-write-page .form-group select,[data-theme=dark] .survey-write-page .form-group textarea{background:var(--bg-input);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .survey-write-page .btn-secondary{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .survey-write-page .btn-secondary:hover{border-color:#c41230;color:#c41230}[data-theme=dark] .survey-write-page .document-type-selector .type-btn{background:var(--bg-card);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .survey-write-page .document-type-selector .type-btn:hover{border-color:#c41230;color:#c41230}[data-theme=dark] .survey-write-page .document-type-selector .type-btn.active{border-color:#c41230;background:#c412301a;color:#c41230}[data-theme=dark] .survey-write-page .condition-setting{background:#f59e0b14;border-color:#f59e0b4d}[data-theme=dark] .survey-write-page .condition-setting>.checkbox-label span{color:#fbbf24}[data-theme=dark] .survey-write-page .condition-select{background:var(--bg-card);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .survey-write-page .condition-connector{color:var(--text-gray)}[data-theme=dark] .survey-write-page .preview-conditional{border-left-color:#f59e0b}[data-theme=dark] .survey-write-page .preview-condition-badge{background:#f59e0b1a;color:#fbbf24}[data-theme=dark] .survey-write-page .preview-conditional-tag{color:#fbbf24}[data-theme=dark] .survey-write-page .question-card{background:var(--bg-input);border-color:var(--border-color)}[data-theme=dark] .survey-write-page .question-card:hover{border-color:#c41230}[data-theme=dark] .survey-write-page .question-card.drag-over{background:#c412300d}[data-theme=dark] .survey-write-page .question-handle{color:var(--text-muted)}[data-theme=dark] .survey-write-page .option-input{background:var(--bg-card)!important;border-color:var(--border-color)!important;color:var(--text-dark)!important}[data-theme=dark] .survey-write-page .option-marker,[data-theme=dark] .survey-write-page .btn-remove-option{color:var(--text-muted)}[data-theme=dark] .survey-write-page .btn-remove-option:hover:not(:disabled){color:#c41230}[data-theme=dark] .survey-write-page .btn-add-option{color:var(--text-muted)}[data-theme=dark] .survey-write-page .btn-add-option:hover{color:#c41230}[data-theme=dark] .survey-write-page .btn-remove-question{color:var(--text-muted)}[data-theme=dark] .survey-write-page .btn-remove-question:hover{background:#c4123026;color:#c41230}[data-theme=dark] .survey-write-page .rating-dots{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .survey-write-page .dot-circle{border-color:var(--text-muted)}[data-theme=dark] .survey-write-page .dot-label{color:var(--text-gray)}[data-theme=dark] .survey-write-page .text-preview-box,[data-theme=dark] .survey-write-page .btn-add-question{background:var(--bg-card);border-color:var(--border-color);color:var(--text-muted)}[data-theme=dark] .survey-write-page .btn-add-question:hover{border-color:#c41230;color:#c41230;background:#c412300d}[data-theme=dark] .survey-write-page .btn-add-approver{background:var(--bg-card);border-color:var(--border-color);color:var(--text-muted)}[data-theme=dark] .survey-write-page .btn-add-approver:hover{border-color:#c41230;color:#c41230}[data-theme=dark] .survey-write-page .department-check-item{background:var(--bg-input);border-color:var(--border-color);color:var(--text-gray)}[data-theme=dark] .survey-write-page .department-check-item:hover{border-color:#c41230}[data-theme=dark] .survey-write-page .user-chip{background:#1e40af26;border-color:#93c5fd4d;color:#93c5fd}[data-theme=dark] .survey-write-page .checkbox-label{color:var(--text-gray)}[data-theme=dark] .survey-write-page .modal-content{background:var(--bg-card)}[data-theme=dark] .survey-write-page .modal-header{border-bottom-color:var(--border-color)}[data-theme=dark] .survey-write-page .modal-header h3{color:var(--text-dark)}[data-theme=dark] .survey-write-page .modal-close{color:var(--text-gray)}[data-theme=dark] .survey-write-page .search-input{background:var(--bg-input);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .survey-write-page .user-item{border-color:var(--border-color)}[data-theme=dark] .survey-write-page .user-item:hover{border-color:#c41230;background:#c412300d}[data-theme=dark] .survey-write-page .user-avatar{background:var(--bg-input);color:var(--text-muted)}[data-theme=dark] .survey-write-page .user-name{color:var(--text-dark)}[data-theme=dark] .survey-write-page .user-dept{color:var(--text-muted)}[data-theme=dark] .survey-write-page .preview-header h2{color:var(--text-dark)}[data-theme=dark] .survey-write-page .preview-description{color:var(--text-gray)}[data-theme=dark] .survey-write-page .preview-question{background:var(--bg-input);border-color:var(--border-color)}[data-theme=dark] .survey-write-page .preview-q-text{color:var(--text-dark)}[data-theme=dark] .survey-write-page .preview-option-item{color:var(--text-gray)}[data-theme=dark] .survey-write-page .preview-text-input{background:var(--bg-card);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .survey-write-page .preview-badge.anonymous{background:#ffffff1a;color:var(--text-gray)}@media (max-width: 600px){.survey-write-page{padding:16px}.survey-write-page .page-header{flex-direction:column;gap:12px;align-items:flex-start}.survey-write-page .header-buttons{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.survey-write-page .header-buttons button{padding:8px 0;font-size:13px;text-align:center}.survey-write-page .form-section{padding:16px}.survey-write-page .form-row{flex-direction:column;gap:12px}.survey-write-page .question-card{flex-wrap:wrap;padding:16px}.survey-write-page .question-content{width:100%}.survey-write-page .question-content .form-row{flex-direction:column}.survey-write-page .document-type-selector{gap:8px}.survey-write-page .document-type-selector .type-btn{min-width:80px;padding:10px 12px;font-size:13px}.survey-write-page .rating-dots{gap:10px}.survey-write-page .modal-content{width:95%}.survey-write-page .modal-preview{max-height:85vh}}.mobile-document-body{word-break:keep-all}.mobile-document-body table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.mobile-document-body table th,.mobile-document-body table td{border:1px solid #ddd;padding:8px 10px;text-align:left;vertical-align:top;word-wrap:break-word}.mobile-document-body table th{background-color:#f5f5f5;font-weight:600}.mobile-document-body table tr:nth-child(2n){background-color:#fafafa}.mobile-document-body strong,.mobile-document-body b{font-weight:700}.mobile-document-body em,.mobile-document-body i{font-style:italic}.mobile-document-body u{text-decoration:underline}.mobile-document-body s,.mobile-document-body strike{text-decoration:line-through}.mobile-document-body ul,.mobile-document-body ol{margin:8px 0;padding-left:20px}.mobile-document-body li{margin:4px 0}.mobile-document-body blockquote{border-left:3px solid #c41230;margin:12px 0;padding:8px 12px;background:#f9f9f9}.mobile-document-body hr{border:none;border-top:1px solid #ddd;margin:16px 0}.mobile-document-body h1,.mobile-document-body h2,.mobile-document-body h3{margin-top:16px;margin-bottom:8px}.mobile-document-body p{margin-bottom:8px}.mobile-document-body a{color:#c41230;text-decoration:underline}.mobile-document-body pre{background:#f5f5f5;padding:10px;border-radius:4px;overflow-x:auto;font-family:monospace;font-size:12px}.mobile-document-body code{background:#f5f5f5;padding:2px 4px;border-radius:2px;font-family:monospace;font-size:12px}.mobile-surveys-page{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:80px;background:#f5f5f5;min-height:100vh;min-height:100dvh}.mobile-surveys-page:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:#f5f5f5;z-index:0}.mobile-surveys-page .page-header{margin-bottom:16px;background:transparent!important;padding:0!important;border-radius:0;text-align:left}.mobile-surveys-page .page-header h1{font-size:20px;font-weight:700;color:#222!important;margin:0 0 4px;background:transparent}.mobile-surveys-page .mobile-main-tabs{background:#fff}.mobile-survey-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer}.mobile-survey-card:active{background:#f8f9fa}.mobile-survey-card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.survey-status-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.mobile-survey-card .survey-deadline{font-size:11px;color:#888}.mobile-survey-card .survey-title{font-size:15px;font-weight:600;color:#222;margin:0 0 8px;line-height:1.4}.mobile-survey-card .survey-info{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#666;margin-bottom:8px}.mobile-survey-card .survey-author{color:#666}.mobile-survey-card .survey-question-count{color:#888}.survey-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.survey-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.survey-tag.anonymous{background:#f3e8ff;color:#7c3aed}.survey-tag.target{background:#f0fdf4;color:#16a34a}.survey-tag.unanswered{background:#fef2f2;color:#dc2626}.survey-tag.responded{background:#d1fae5;color:#059669}.survey-response-rate{display:flex;align-items:center;gap:10px}.response-rate-bar{flex:1;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.response-rate-fill{height:100%;background:#c41230;border-radius:3px;transition:width .3s ease}.response-rate-text{font-size:11px;color:#888;flex-shrink:0}.mobile-survey-detail{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(140px + env(safe-area-inset-bottom,0px));background:#f5f5f5;min-height:100vh;min-height:100dvh}.survey-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.survey-detail-header h1{flex:1;font-size:16px;font-weight:600;color:#222;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survey-info-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px}.survey-info-card .info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f5f5f5}.survey-info-card .info-row:last-of-type{border-bottom:none}.survey-info-card .info-label{font-size:13px;color:#888}.survey-info-card .info-value{font-size:13px;color:#222;font-weight:500}.survey-info-card .info-description{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0;font-size:13px;color:#666;line-height:1.6}.mobile-survey-completed{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:32px 20px;margin-bottom:16px;text-align:center}.mobile-survey-completed .completed-icon{margin-bottom:16px}.mobile-survey-completed h3{font-size:16px;font-weight:600;color:#222;margin:0 0 8px}.mobile-survey-completed p{font-size:13px;color:#888;margin:0}.completed-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.completed-actions .btn-view-result{padding:10px 20px;background:#c41230;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.completed-actions .btn-edit-response{padding:10px 20px;background:#fff;color:#666;border:1px solid #d0d0d0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.survey-question-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:12px}.survey-question-card .question-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.survey-question-card .question-number{font-size:13px;font-weight:700;color:#c41230}.survey-question-card .question-required{color:#dc2626;font-size:14px;font-weight:700}.survey-question-card .question-text{font-size:14px;font-weight:500;color:#222;margin:0 0 14px;line-height:1.5}.question-options{display:flex;flex-direction:column;gap:4px}.radio-option-item,.checkbox-option-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.radio-option-item:active,.checkbox-option-item:active{background:#f8f9fa}.radio-option-item input,.checkbox-option-item input{display:none}.radio-mark{width:22px;height:22px;border:2px solid #d0d0d0;border-radius:50%;flex-shrink:0;position:relative;transition:all .2s}.radio-option-item input:checked+.radio-mark{border-color:#c41230}.radio-option-item input:checked+.radio-mark:after{content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;background:#c41230;border-radius:50%}.checkbox-mark{width:22px;height:22px;border:2px solid #d0d0d0;border-radius:4px;flex-shrink:0;position:relative;transition:all .2s}.checkbox-option-item input:checked+.checkbox-mark{border-color:#c41230;background:#c41230}.checkbox-option-item input:checked+.checkbox-mark:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.option-text{font-size:14px;color:#333;flex:1}.survey-textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;color:#222;resize:vertical;min-height:100px;font-family:inherit;box-sizing:border-box}.survey-textarea::placeholder{color:#aaa}.score-rating{display:flex;gap:10px;justify-content:center;padding:8px 0}.score-button{width:48px;height:48px;border:2px solid #e0e0e0;border-radius:50%;background:#fff;font-size:16px;font-weight:600;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-tap-highlight-color:transparent}.score-button.active{border-color:#c41230;background:#c41230;color:#fff}.survey-submit-bar{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px));left:0;right:0;background:#fff;border-top:1px solid #e0e0e0;padding:12px 16px;display:flex;gap:12px;z-index:1001}.survey-submit-bar .btn-cancel-edit{flex:1;padding:14px;background:#fff;border:2px solid #d0d0d0;border-radius:8px;color:#666;font-size:15px;font-weight:600;cursor:pointer}.survey-submit-bar .btn-submit-survey{flex:2;padding:14px;background:#c41230;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.survey-submit-bar .btn-submit-survey:disabled{opacity:.6;cursor:not-allowed}.mobile-survey-result{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:80px;background:#f5f5f5;min-height:100vh;min-height:100dvh}.survey-result-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.survey-result-header h1{flex:1;font-size:16px;font-weight:600;color:#222;margin:0}.result-summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;margin-bottom:16px}.result-summary-card h3{font-size:15px;font-weight:600;color:#222;margin:0 0 16px;line-height:1.4}.result-summary-stats{display:flex;align-items:center}.result-stat{flex:1;text-align:center}.result-stat .stat-value{display:block;font-size:22px;font-weight:700;color:#c41230;line-height:1.2}.result-stat .stat-label{display:block;font-size:11px;color:#888;margin-top:4px}.result-stat-divider{width:1px;height:32px;background:#e0e0e0}.result-question-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:12px}.result-question-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.result-question-header .question-number{font-size:13px;font-weight:700;color:#c41230}.question-type-badge{font-size:11px;padding:2px 6px;border-radius:4px;background:#f3f4f6;color:#6b7280}.result-question-text{font-size:14px;font-weight:500;color:#222;margin:0 0 14px;line-height:1.5}.result-bar-chart{display:flex;flex-direction:column;gap:10px}.result-bar-item{display:flex;flex-direction:column;gap:4px}.result-bar-item .bar-label{display:flex;justify-content:space-between;align-items:center}.result-bar-item .bar-text{font-size:13px;color:#333}.result-bar-item .bar-count{font-size:12px;color:#888}.result-bar-item .bar-track{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.result-bar-item .bar-fill{height:100%;background:#c41230;border-radius:4px;transition:width .5s ease;min-width:0}.result-rating{margin-bottom:8px}.rating-average{display:flex;align-items:baseline;gap:6px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.rating-average .average-label{font-size:13px;color:#888}.rating-average .average-value{font-size:28px;font-weight:700;color:#c41230}.rating-average .average-max{font-size:14px;color:#aaa}.result-text-list{display:flex;flex-direction:column;gap:8px}.result-text-item{padding:12px;background:#f8f9fa;border-radius:8px}.result-text-item p{font-size:13px;color:#333;margin:0;line-height:1.5}.result-text-item .respondent-name{display:block;font-size:11px;color:#aaa;margin-top:6px}.result-text-list .no-response{font-size:13px;color:#aaa;text-align:center;padding:20px}.mobile-survey-create{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:100px;background:#f5f5f5;min-height:100vh;min-height:100dvh}.mobile-survey-create .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;background:transparent!important;padding:0!important;gap:8px}.mobile-survey-create .page-header h1{font-size:16px;font-weight:600;margin:0;color:#222!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-survey-create .page-header>div{display:flex;gap:6px;flex-shrink:0}.mobile-survey-create .btn-save{background:#fff;color:#666;border:1px solid #d0d0d0;padding:8px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.mobile-survey-create .btn-submit{background:#c41230;color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.mobile-survey-create .btn-submit:disabled,.mobile-survey-create .btn-save:disabled{opacity:.6;cursor:not-allowed}.mobile-survey-create .form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px}.mobile-survey-create .form-section h3{font-size:14px;font-weight:600;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.mobile-survey-create .form-group{margin-bottom:12px}.mobile-survey-create .form-group label{display:block;font-size:13px;color:#444;margin-bottom:6px}.mobile-survey-create .form-group label .required{color:#dc2626}.mobile-survey-create .form-group input,.mobile-survey-create .form-group select,.mobile-survey-create .form-group textarea{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:6px;font-size:16px;color:#222;box-sizing:border-box;font-family:inherit}.mobile-survey-create .form-group textarea{resize:vertical;min-height:80px}.toggle-group{display:flex;align-items:center;justify-content:space-between}.toggle-group label{margin-bottom:0!important}.toggle-btn{width:48px;height:28px;border-radius:14px;border:none;background:#d0d0d0;position:relative;cursor:pointer;transition:background .2s;padding:0}.toggle-btn.active{background:#c41230}.toggle-slider{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-btn.active .toggle-slider{transform:translate(20px)}.department-checkboxes{display:flex;flex-direction:column;gap:2px}.create-question-card{border:1px solid #e8e8e8;border-radius:10px;margin-bottom:12px;overflow:hidden}.question-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e8e8e8}.question-card-header .question-number{font-size:13px;font-weight:700;color:#c41230}.question-card-actions{display:flex;gap:4px}.question-card-actions .btn-move,.question-card-actions .btn-delete-question{width:32px;height:32px;border:none;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#888}.question-card-actions .btn-move:disabled{opacity:.3;cursor:not-allowed}.question-card-actions .btn-delete-question{color:#dc2626}.question-card-body{padding:12px}.question-meta-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.question-meta-row .type-select{flex:1;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#444;background:#fff}.required-toggle{display:flex;align-items:center;gap:4px;font-size:13px;color:#666;cursor:pointer;white-space:nowrap}.required-toggle input{accent-color:#c41230}.mobile-condition-setting{margin-bottom:10px;padding:8px 10px;background:#fff8f0;border:1px solid #fde68a;border-radius:6px}.mobile-condition-setting .condition-toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#92400e;cursor:pointer}.mobile-condition-setting .condition-toggle-label input{accent-color:#f59e0b}.mobile-condition-selectors{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-left:22px}.mobile-condition-selectors select{padding:6px 8px;border:1px solid #e0e0e0;border-radius:6px;font-size:12px;background:#fff;color:#222;max-width:160px;flex:1;min-width:0}.condition-connector-text{font-size:12px;color:#666;white-space:nowrap}.question-input{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#222;margin-bottom:10px;box-sizing:border-box}.question-input::placeholder{color:#aaa}.options-list{display:flex;flex-direction:column;gap:6px}.option-input-row{display:flex;align-items:center;gap:8px}.option-input-row .option-num{font-size:13px;color:#888;flex-shrink:0;width:20px}.option-input-row input{flex:1;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#222}.option-input-row input::placeholder{color:#bbb}.option-input-row .btn-remove-option{width:28px;height:28px;border:none;background:none;color:#ccc;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-input-row .btn-remove-option:hover{color:#dc2626}.btn-add-option{padding:10px;background:#f8f9fa;border:1px dashed #d0d0d0;border-radius:6px;font-size:13px;color:#888;cursor:pointer;margin-top:4px}.rating-preview{padding:12px;background:#f8f9fa;border-radius:8px;text-align:center}.rating-preview-label{display:block;font-size:12px;color:#888;margin-bottom:8px}.rating-preview-dots{display:flex;gap:10px;justify-content:center}.rating-preview-dot{width:32px;height:32px;border:1px solid #d0d0d0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:#aaa}.text-preview{padding:16px 12px;background:#f8f9fa;border-radius:8px;text-align:center}.text-preview-label{font-size:12px;color:#aaa}.mobile-back-btn{background:none;border:none;padding:4px;cursor:pointer;color:#333;display:flex;align-items:center;flex-shrink:0}.mobile-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:14px;color:#888}.survey-draft{background:#f3f4f6;color:#6b7280}.survey-active{background:#dbeafe;color:#2563eb}.survey-closed{background:#fef3c7;color:#d97706}.survey-published{background:#d1fae5;color:#059669}.mobile-about{min-height:100vh;min-height:100dvh;background:#1a1a1a;color:#fff;padding-bottom:env(safe-area-inset-bottom)}.mobile-about-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1a1a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-about-header .header-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-weight:700;font-size:15px}.mobile-about-header .header-logo img{width:28px;height:28px}.mobile-about-header .btn-login{padding:8px 16px;background:#c41230;color:#fff;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none}.mobile-about-hero{padding:80px 20px 40px;text-align:center;background:linear-gradient(180deg,#1a1a1a,#222)}.mobile-about-hero .hero-label{color:#c41230;font-size:12px;font-weight:600;letter-spacing:.15em;margin-bottom:12px}.mobile-about-hero h1{font-size:28px;font-weight:700;line-height:1.3;margin-bottom:12px}.mobile-about-hero h1 span{color:#c41230}.mobile-about-hero .hero-sub{color:#888;font-size:14px}.mobile-about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:20px 16px;background:#222}.stat-item{text-align:center;padding:16px 8px;background:#2a2a2a;border-radius:10px}.stat-num{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.stat-unit{font-size:14px;color:#c41230;font-weight:600}.stat-label{display:block;font-size:11px;color:#888;margin-top:4px}.mobile-about-section{padding:32px 20px}.mobile-about-section.dark{background:#222}.mobile-about-section h2{font-size:18px;font-weight:700;margin-bottom:16px;text-align:center}.ceo-card{background:#2a2a2a;border-radius:12px;padding:20px}.ceo-card p{font-size:14px;line-height:1.7;color:#ccc;margin-bottom:12px}.ceo-card strong{color:#fff}.ceo-signature{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #333}.logo-circle{width:40px;height:40px;background:linear-gradient(135deg,#c41230,#8b0d22);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.ceo-signature span{font-size:13px;color:#888}.vision-text{font-size:20px;font-weight:600;text-align:center;line-height:1.5;color:#fff}.values-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.value-chip{padding:10px 20px;background:#2a2a2a;border:1px solid #333;border-radius:20px;font-size:14px;font-weight:500}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#2a2a2a;border-radius:10px}.timeline-item.highlight{background:linear-gradient(135deg,#c4123033,#8b0d221a);border:1px solid rgba(196,18,48,.3)}.timeline-item .year{font-size:14px;font-weight:700;color:#c41230;min-width:50px}.timeline-item .title{font-size:14px;color:#ccc}.stores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.store-chip{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#2a2a2a;border-radius:10px}.store-chip .name{font-size:14px;font-weight:600}.store-chip .size{font-size:12px;color:#c41230}.dept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dept-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#2a2a2a;border-radius:12px}.dept-item .icon{font-size:28px}.dept-item .name{font-size:13px;font-weight:500}.mobile-about-footer{padding:40px 20px;text-align:center;background:linear-gradient(180deg,#1a1a1a,#111)}.mobile-about-footer h3{font-size:20px;font-weight:700;margin-bottom:24px}.mobile-about-footer h3 span{color:#c41230}.mobile-about-footer .btn-start{display:block;width:100%;max-width:280px;margin:0 auto 12px;padding:14px;background:#c41230;color:#fff;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none}.mobile-about-footer .btn-signup-link{display:inline-block;color:#888;font-size:14px;text-decoration:none}.mobile-about-footer .btn-signup-link:hover{color:#c41230}.mobile-approvals-page{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:80px;background:#f5f5f5;min-height:100vh;min-height:100dvh}.mobile-approvals-page:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:#f5f5f5;z-index:0}.mobile-approvals-page .page-header{margin-bottom:16px;background:transparent!important;padding:0!important;border-radius:0;text-align:left}.mobile-approvals-page .page-header h1{font-size:20px;font-weight:700;color:#222!important;margin:0 0 4px;background:transparent}.mobile-approvals-page .mobile-main-tabs{background:#fff}.mobile-approvals-page .page-description{font-size:13px;color:#888;margin:0}.mobile-main-tabs{display:flex;background:#fff;border-radius:10px;padding:4px;margin-bottom:16px;border:1px solid #e0e0e0}.mobile-main-tab{flex:1;background:none;border:none;padding:12px 16px;font-size:14px;font-weight:500;color:#666;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.mobile-approvals-page .mobile-main-tab.active,.mobile-main-tabs .mobile-main-tab.active{background:#c41230!important;color:#fff!important;border-bottom-color:#c41230!important}.mobile-main-tab .tab-badge{background:#fff;color:#c41230;font-size:11px;padding:2px 6px;border-radius:10px;font-weight:600}.mobile-main-tab.active .tab-badge{background:#ffffffe6}.mobile-stats-scroll{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.mobile-stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 8px;text-align:center;cursor:pointer;flex:1 1 calc(33.333% - 6px);min-width:80px;max-width:calc(33.333% - 6px);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center}.mobile-stat-card.active{border-color:#c41230;background:#fff5f7}.mobile-stat-card .stat-value{font-size:18px;font-weight:700;color:#c41230;line-height:1.2;text-align:center;width:100%}.mobile-stat-card.pending .stat-value{color:#f59e0b}.mobile-stat-card.approved .stat-value{color:#10b981}.mobile-stat-card .stat-label{font-size:10px;color:#666;margin-top:2px;white-space:nowrap;text-align:center;width:100%}.mobile-stat-card .stat-desc{font-size:9px;color:#aaa;margin-top:1px}.mobile-stat-card.rejected .stat-value{color:#ef4444}.mobile-stats-scroll:has(.mobile-stat-card:nth-child(2):last-child) .mobile-stat-card{flex:1 1 calc(50% - 4px)}.mobile-fab{position:fixed;bottom:80px;right:16px;width:56px;height:56px;background:#c41230;color:#fff;border:none;border-radius:50%;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #c412304d;cursor:pointer;z-index:100}.mobile-filter-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;-webkit-overflow-scrolling:touch}.mobile-filter-tabs::-webkit-scrollbar{display:none}.mobile-filter-tab{flex-shrink:0;background:#fff;border:1px solid #e0e0e0;padding:8px 14px;border-radius:18px;font-size:13px;color:#666;white-space:nowrap}.mobile-filter-tab.active{background:#c41230;border-color:#c41230;color:#fff}.mobile-document-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:12px}.mobile-document-card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mobile-document-card .doc-number{font-size:11px;color:#888;font-family:monospace}.mobile-document-card .doc-title{font-size:15px;font-weight:600;color:#222;margin:0 0 8px}.mobile-document-card .doc-info{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#666}.mobile-document-card .doc-amount{color:#c41230;font-weight:600}.mobile-document-card .card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.mobile-document-card .progress-info{display:flex;align-items:center;gap:8px}.mobile-document-card .progress-bar{width:60px;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.mobile-document-card .progress-fill{height:100%;background:#c41230}.mobile-document-card .progress-text,.mobile-document-card .date-info{font-size:11px;color:#888}.mobile-status-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.mobile-status-badge.draft{background:#f3f4f6;color:#6b7280}.mobile-status-badge.in_progress{background:#fef3c7;color:#d97706}.mobile-status-badge.approved{background:#d1fae5;color:#059669}.mobile-status-badge.rejected{background:#fee2e2;color:#dc2626}.mobile-status-badge.pending{background:#e0e7ff;color:#4f46e5}.mobile-status-badge.cancelled{background:#f3f4f6;color:#9ca3af}.mobile-more-page{padding:16px 16px 80px}.mobile-more-page .user-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:20px}.mobile-more-page .user-avatar{width:56px;height:56px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:24px;color:#888;overflow:hidden}.mobile-more-page .user-avatar img{width:100%;height:100%;object-fit:cover}.mobile-more-page .user-info{flex:1}.mobile-more-page .user-name{font-size:18px;font-weight:600;color:#222}.mobile-more-page .user-dept{font-size:13px;color:#888;margin-top:2px}.mobile-more-page .btn-mypage{padding:8px 14px;background:#f5f5f5;border:none;border-radius:6px;font-size:13px;color:#666}.mobile-more-page .menu-section{margin-bottom:20px}.mobile-more-page .menu-section-title{font-size:12px;color:#888;padding:0 4px;margin-bottom:8px}.mobile-more-page .menu-list{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.mobile-more-page .menu-item{display:flex;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0;cursor:pointer}.mobile-more-page .menu-item:last-child{border-bottom:none}.mobile-more-page .menu-item:active{background:#f8f9fa}.mobile-more-page .menu-icon{width:24px;font-size:18px;margin-right:12px}.mobile-more-page .menu-label{flex:1;font-size:15px;color:#222}.mobile-more-page .menu-badge{background:#c41230;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;margin-right:8px}.mobile-more-page .menu-arrow{color:#ccc;font-size:14px}.mobile-more-page .btn-logout{width:100%;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;font-size:15px;color:#c41230;margin-top:20px}.mobile-approval-write{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:100px;background:#f5f5f5;min-height:100vh;min-height:100dvh}.mobile-approval-write .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;background:transparent!important;padding:0!important;gap:8px}.mobile-approval-write .page-header h1{font-size:16px;font-weight:600;margin:0;color:#222!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-approval-write .page-header>div{display:flex;gap:6px;flex-shrink:0}.mobile-approval-write .btn-save{background:#fff;color:#666;border:1px solid #d0d0d0;padding:8px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.mobile-approval-write .btn-submit{background:#c41230;color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.mobile-approval-write .btn-submit:disabled,.mobile-approval-write .btn-save:disabled{opacity:.6;cursor:not-allowed}.mobile-approval-write .form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px}.mobile-approval-write .form-section h3{font-size:14px;font-weight:600;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.mobile-approval-write .form-group{margin-bottom:12px}.mobile-approval-write .form-group label{display:block;font-size:13px;color:#444;margin-bottom:6px}.mobile-approval-write .form-group input,.mobile-approval-write .form-group select,.mobile-approval-write .form-group textarea{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:6px;font-size:16px}.mobile-approval-line{display:flex;align-items:center;gap:10px;padding:12px;background:#f8f9fa;border-radius:8px;margin-bottom:8px}.mobile-approval-line .step-num{width:24px;height:24px;background:#c41230;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.mobile-approval-line .approver-info{flex:1}.mobile-approval-line .approver-name{font-size:14px;font-weight:500}.mobile-approval-line .approver-dept{font-size:11px;color:#888}.mobile-approval-line .btn-remove{background:none;border:none;color:#999;font-size:18px;padding:4px}.mobile-btn-add{width:100%;padding:14px;background:#fff;border:1px dashed #d0d0d0;border-radius:8px;font-size:14px;color:#666}.mobile-approval-detail{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(140px + env(safe-area-inset-bottom,0px));background:#f5f5f5;min-height:100vh;min-height:100dvh}.mobile-approval-detail .doc-header{background:transparent!important;padding:0!important}.mobile-approval-detail .doc-header{margin-bottom:16px}.mobile-approval-detail .doc-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mobile-approval-detail .doc-number{font-size:12px;color:#888;font-family:monospace}.mobile-approval-detail .doc-title{font-size:18px;font-weight:600;margin:0}.mobile-approval-flow{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px}.mobile-approval-flow h3{font-size:14px;font-weight:600;margin:0 0 16px}.mobile-flow-list{display:flex;flex-direction:column;gap:0}.mobile-flow-step{display:flex;align-items:flex-start;gap:12px;position:relative;padding-bottom:20px}.mobile-flow-step:last-child{padding-bottom:0}.mobile-flow-step:not(:last-child):before{content:"";position:absolute;left:16px;top:36px;width:2px;height:calc(100% - 16px);background:#e0e0e0}.mobile-flow-step.completed:not(:last-child):before{background:#10b981}.mobile-flow-step .step-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:#f3f4f6;color:#9ca3af;flex-shrink:0;z-index:1}.mobile-flow-step.completed .step-icon{background:#d1fae5;color:#059669}.mobile-flow-step.current .step-icon{background:#fef3c7;color:#d97706}.mobile-flow-step.rejected .step-icon{background:#fee2e2;color:#dc2626}.mobile-flow-step .step-content{flex:1;padding-top:4px}.mobile-flow-step .approver-name{font-size:14px;font-weight:500}.mobile-flow-step .approver-dept{font-size:12px;color:#888}.mobile-flow-step .step-status{font-size:11px;margin-top:4px}.mobile-action-bar{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px));left:0;right:0;background:#fff;border-top:1px solid #e0e0e0;padding:12px 16px;display:flex;gap:12px;z-index:1001}.mobile-action-bar .btn-reject{flex:1;padding:14px;background:#fff;border:2px solid #ef4444;border-radius:8px;color:#ef4444;font-size:15px;font-weight:600}.mobile-action-bar .btn-approve{flex:1;padding:14px;background:#10b981;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600}.mobile-search-bar{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.mobile-search-select{padding:8px 10px;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;color:#444;background:#fff;flex-shrink:0;min-width:72px}.mobile-search-input{flex:1;min-width:0;padding:8px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff;color:#222}.mobile-search-input::placeholder{color:#aaa}.mobile-search-btn{padding:8px 14px;background:#c41230;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;flex-shrink:0;cursor:pointer}.mobile-search-reset-btn{padding:8px 12px;background:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;flex-shrink:0;cursor:pointer}.mobile-search-result-info{font-size:13px;color:#666;margin-bottom:12px;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.mobile-search-result-info .search-type-label{color:#c41230;font-weight:600}.mobile-empty-state{text-align:center;padding:40px 20px;color:#888}.mobile-empty-state .empty-icon{font-size:40px;margin-bottom:12px}.mobile-empty-state p{font-size:14px;margin:0}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#222;font-size:15px;line-height:1.6}a{text-decoration:none;color:inherit}ul,ol{list-style:none}button{font-family:inherit}:root{--primary-color: #c41230;--max-width: 1400px;--text-dark: #222;--text-gray: #666;--text-light: #888;--text-muted: #999;--border-color: #e0e0e0;--border-light: #f0f0f0;--bg-gray: #fafafa;--bg-dark: #222;--bg-main: #fff;--bg-card: #fff;--bg-input: #fff}[data-theme=dark]{--text-dark: #f5f5f5;--text-gray: #d1d5db;--text-light: #9ca3af;--text-muted: #6b7280;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .05);--bg-gray: #1a1a1a;--bg-dark: #0a0a0a;--bg-main: #0a0a0a;--bg-card: #121212;--bg-input: #1a1a1a}[data-theme=light]{--text-dark: #222;--text-gray: #666;--text-light: #888;--text-muted: #999;--border-color: #e0e0e0;--border-light: #f0f0f0;--bg-gray: #fafafa;--bg-dark: #222;--bg-main: #fff;--bg-card: #fff;--bg-input: #fff}.header{background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header-top{max-width:var(--max-width);margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:24px;font-weight:800;color:var(--primary-color);letter-spacing:-.5px}.logo span{color:var(--text-dark);font-weight:400}.header-utils{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--text-gray)}.header-utils a:hover,.header-utils button:hover{color:var(--primary-color)}.header-utils button{background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-gray)}.header-utils .logout-btn{min-height:36px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.header-utils .mypage-link{position:relative;display:inline-flex;align-items:center;gap:4px}.header-utils .mypage-link .nav-badge.new{font-size:9px;padding:2px 4px;border-radius:3px;background:var(--primary-color);color:#fff;font-weight:600;animation:pulse 2s infinite}.admin-menu-wrapper{position:relative}.admin-menu-trigger{padding:6px 12px;border-radius:4px;transition:all .2s}.admin-menu-trigger:hover,.admin-menu-trigger.active{background:var(--bg-light);color:var(--primary-color)!important}.admin-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:150px;z-index:1000;overflow:hidden}.admin-dropdown a{display:block;padding:12px 16px;color:var(--text-dark);font-size:14px;transition:background .2s}.admin-dropdown a:hover{background:var(--bg-light);color:var(--primary-color)}.user-info{display:flex;align-items:center;gap:8px}.user-name{font-weight:600;color:var(--text-dark)}.nav{background:var(--bg-dark)}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 40px;display:flex}.nav-item{padding:16px 32px;color:#fff;font-size:15px;font-weight:500;position:relative;transition:background .2s;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--primary-color)}.main-visual{background:linear-gradient(135deg,#1a1a1a,#333);padding:80px 40px;text-align:center;color:#fff}.main-visual h1{font-size:42px;font-weight:300;letter-spacing:-1px;margin-bottom:16px}.main-visual h1 strong{font-weight:700;color:var(--primary-color)}.main-visual p{font-size:16px;color:#999;letter-spacing:2px}.container{max-width:var(--max-width);margin:0 auto;padding:60px 40px}.section-title{font-size:13px;font-weight:700;color:var(--primary-color);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}.section-heading{font-size:28px;font-weight:700;color:var(--text-dark);margin-bottom:40px;letter-spacing:-.5px}.quick-menu{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-color);margin-bottom:60px}.quick-menu-item{background:var(--bg-gray);padding:40px 24px;text-align:center;cursor:pointer;transition:all .2s}.quick-menu-item:hover{background:#fff}.quick-menu-item:hover .quick-menu-title{color:var(--primary-color)}.quick-menu-icon{width:48px;height:48px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.quick-menu-icon svg{width:32px;height:32px;stroke:var(--text-dark);stroke-width:1.5;fill:none}.quick-menu-title{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:8px;transition:color .2s}.quick-menu-desc{font-size:13px;color:var(--text-light)}.quick-menu-item.disabled{cursor:not-allowed;opacity:.6}.quick-menu-item.disabled:hover{background:var(--bg-gray)}.quick-menu-item.disabled:hover .quick-menu-title{color:var(--text-dark)}.quick-menu-item.disabled .quick-menu-desc{color:#f59e0b;font-weight:500}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.notice-section,.files-section{border-top:2px solid var(--text-dark)}.notice-header,.files-header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-color)}.notice-title,.files-title{font-size:18px;font-weight:700;color:var(--text-dark)}.notice-more,.files-more{font-size:13px;color:var(--text-light)}.notice-more:hover,.files-more:hover{color:var(--primary-color)}.notice-item,.file-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-light);cursor:pointer}.notice-item:hover .notice-item-title,.file-item:hover .file-name{color:var(--primary-color)}.notice-item-left,.file-item-left{display:flex;align-items:center;gap:12px;flex:1}.notice-badge{padding:4px 8px;font-size:11px;font-weight:600;border:1px solid}.notice-badge.important{border-color:var(--primary-color);color:var(--primary-color)}.notice-badge.normal{border-color:#ccc;color:var(--text-light)}.notice-item-title,.file-name{font-size:15px;color:var(--text-dark);transition:color .2s}.notice-item-date,.file-meta{font-size:13px;color:var(--text-muted)}.file-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:1px solid var(--border-color)}.file-icon.pdf{color:#c41230;border-color:#c41230}.file-icon.xls,.file-icon.xlsx{color:#0f7b0f;border-color:#0f7b0f}.file-icon.doc,.file-icon.docx{color:#2b579a;border-color:#2b579a}.file-icon.hwp,.file-icon.hwpx{color:#0085ca;border-color:#0085ca}.systems-section{margin-top:60px;padding-top:60px;border-top:1px solid var(--border-color)}.systems-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.system-card{border:1px solid var(--border-color);padding:32px 24px;text-align:center;cursor:pointer;transition:all .2s}.system-card:hover{border-color:var(--primary-color)}.system-card:hover .system-name{color:var(--primary-color)}.system-icon{width:56px;height:56px;margin:0 auto 20px;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.system-icon svg{width:28px;height:28px;stroke:var(--text-dark);stroke-width:1.5;fill:none}.system-name{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:8px;transition:color .2s}.system-desc{font-size:13px;color:var(--text-light)}.footer{background:var(--bg-dark);color:var(--text-light);padding:40px;margin-top:80px}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-logo{font-size:18px;font-weight:700;color:#fff}.footer-logo span{color:var(--primary-color)}.footer-info{font-size:13px;text-align:right}.footer-info p{margin-bottom:4px}.login-wrapper{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.login-container{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 20px;background:#f5f5f5}.login-box{width:100%;max-width:420px;background:#fff;padding:60px 48px;border:1px solid var(--border-color)}.login-logo{text-align:center;margin-bottom:48px}.login-logo h1{font-size:28px;font-weight:800;color:var(--primary-color);letter-spacing:-.5px}.login-logo h1 span{color:var(--text-dark);font-weight:400}.login-logo p{font-size:13px;color:var(--text-light);margin-top:8px;letter-spacing:1px}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:var(--text-dark)}.form-group input,.form-group select,.form-group textarea{padding:14px 16px;border:1px solid var(--border-color);font-size:16px;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--text-dark)}.form-group input::placeholder,.form-group textarea::placeholder{color:#bbb}.login-options{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.remember-me{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-gray);cursor:pointer;white-space:nowrap}.remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer}.forgot-password{font-size:13px;color:var(--text-light)}.forgot-password:hover{color:var(--primary-color)}.btn{padding:14px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--bg-dark);color:#fff}.btn-primary:hover{background:var(--primary-color)}.btn-secondary{background:#fff;color:var(--text-dark);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--text-dark)}.btn-danger{background:var(--primary-color);color:#fff}.btn-danger:hover{background:#a00f28}.btn-login{margin-top:16px;padding:16px;background:var(--bg-dark);color:#fff;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;width:100%}.btn-login:hover{background:var(--primary-color)}.btn-login:disabled{background:#ccc;cursor:not-allowed}.login-footer{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light);text-align:center}.login-footer p{font-size:13px;color:var(--text-light)}.login-footer a{color:var(--primary-color);font-weight:600}.login-footer a:hover{text-decoration:underline}.page-header{background:var(--bg-dark);padding:48px 40px;text-align:center;color:#fff}.page-header h1{font-size:32px;font-weight:700;letter-spacing:-.5px}.page-header p{font-size:14px;color:var(--text-muted);margin-top:8px}.table-container{border-top:2px solid var(--text-dark)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:16px;text-align:left;border-bottom:1px solid var(--border-light)}.table th{font-weight:600;background:var(--bg-gray);font-size:14px}.table td{font-size:15px}.table tr:hover{background:var(--bg-gray)}.table .center{text-align:center}.pagination{display:flex;justify-content:center;gap:4px;margin-top:40px}.pagination button{padding:8px 14px;border:1px solid var(--border-color);background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.pagination button:hover,.pagination button.active{background:var(--bg-dark);color:#fff;border-color:var(--bg-dark)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.post-view{border-top:2px solid var(--text-dark)}.post-header{padding:24px 0;border-bottom:1px solid var(--border-color)}.post-title{font-size:24px;font-weight:700;margin-bottom:16px}.post-meta{display:flex;gap:24px;font-size:14px;color:var(--text-light)}.post-content{padding:40px 0;min-height:300px;line-height:1.8;border-bottom:1px solid var(--border-color);white-space:pre-wrap;word-break:break-word}.post-attachments{padding:24px 0;border-bottom:1px solid var(--border-color)}.post-attachments h4{font-size:14px;font-weight:600;margin-bottom:12px}.attachment-item{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-gray);cursor:pointer}.attachment-item:hover{background:#f0f0f0}.post-actions{display:flex;justify-content:space-between;padding:24px 0}.comments-section{margin-top:40px}.comments-header{display:flex;align-items:center;gap:8px;margin-bottom:24px}.comments-header h3{font-size:18px;font-weight:700}.comments-count{color:var(--primary-color);font-weight:700}.comment-form{display:flex;gap:12px;margin-bottom:24px}.comment-form textarea{flex:1;padding:12px;border:1px solid var(--border-color);resize:none;font-family:inherit;font-size:16px}.comment-list{display:flex;flex-direction:column}.comment-item{padding:20px 0;border-bottom:1px solid var(--border-light)}.comment-item.reply{padding-left:40px;background:var(--bg-gray);margin-left:40px}.comment-author{font-weight:600;margin-right:12px}.comment-content{margin-top:8px;line-height:1.6}.comment-actions{margin-top:8px;display:flex;gap:12px}.comment-actions button{font-size:13px;color:var(--text-light);background:none;border:none;cursor:pointer}.comment-actions button:hover{color:var(--primary-color)}.comment-thread{border-bottom:1px solid var(--border-light)}.comment-thread:last-child{border-bottom:none}.comment-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-reply{font-size:13px;color:var(--text-light);background:none;border:none;cursor:pointer;padding:2px 8px}.btn-reply:hover{color:var(--primary-color)}.btn-delete{font-size:13px;color:var(--text-light);background:none;border:none;cursor:pointer;padding:2px 8px}.btn-delete:hover{color:#e74c3c}.reply-form{margin-top:12px;padding:12px;background:var(--bg-gray);border-radius:8px}.reply-form textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:4px;resize:none;font-family:inherit;font-size:16px;margin-bottom:8px}.reply-form-actions{display:flex;justify-content:flex-end;gap:8px}.reply-form-actions .btn{padding:6px 16px;font-size:13px}.replies-list{margin-left:24px;border-left:2px solid var(--border-light);padding-left:16px}.replies-list .comment-item{padding:12px 0;border-bottom:none}.replies-list .comment-item:last-child{padding-bottom:20px}.reply-icon{color:var(--text-light);margin-right:4px}.form-page{max-width:800px;margin:0 auto}.form-page .form-group{margin-bottom:24px}.form-page textarea{min-height:300px}.form-actions{display:flex;justify-content:center;gap:12px;margin-top:40px}.alert{padding:16px;margin-bottom:24px;font-size:14px}.alert-error{background:#fef2f2;color:#c41230;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.loading{display:flex;justify-content:center;align-items:center;padding:60px;color:var(--text-light)}.empty-state{text-align:center;padding:60px;color:var(--text-light)}.empty-state p{font-size:15px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.search-box{display:flex;gap:8px}.search-box input{padding:10px 16px;border:1px solid var(--border-color);width:250px}.search-box button{padding:10px 20px;background:var(--bg-dark);color:#fff;border:none;cursor:pointer}@media (max-width: 1024px){.quick-menu{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:1fr;gap:40px}.systems-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.header-top{padding:16px 20px}.header-utils{gap:16px;font-size:13px}.nav-inner{padding:0 20px;overflow-x:auto}.nav-item{padding:14px 20px;white-space:nowrap}.main-visual{padding:60px 20px}.main-visual h1{font-size:28px}.container{padding:40px 20px}.quick-menu{grid-template-columns:repeat(2,1fr)}.systems-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:24px;text-align:center}.footer-info{text-align:center}.login-box{padding:40px 24px}.toolbar{flex-direction:column;gap:16px}.post-meta{flex-wrap:wrap}}.auth-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:40px 20px}.auth-box{width:100%;max-width:420px;background:#fff;padding:48px;border:1px solid var(--border-color)}.auth-logo{text-align:center;margin-bottom:40px}.auth-logo a{font-size:28px;font-weight:800;color:var(--primary-color)}.auth-logo a span{color:var(--text-dark);font-weight:400}.auth-title{font-size:24px;font-weight:700;text-align:center;margin-bottom:32px}.auth-links{margin-top:24px;text-align:center;font-size:14px;color:var(--text-light)}.auth-links a{color:var(--primary-color);font-weight:600}.error-message{background:#fef2f2;color:#c41230;padding:12px 16px;margin-bottom:20px;font-size:14px;border:1px solid #fecaca}.btn-block{width:100%;margin-top:16px}.dashboard{max-width:var(--max-width);margin:0 auto;padding:40px}.welcome-section{margin-bottom:40px}.welcome-section h1{font-size:28px;font-weight:700;margin-bottom:8px}.welcome-section p{color:var(--text-gray)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.dashboard-card{background:#fff;border:1px solid var(--border-color);padding:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.card-header h2{font-size:18px;font-weight:700}.more-link{font-size:13px;color:var(--text-light)}.more-link:hover{color:var(--primary-color)}.dashboard-card .notice-list li,.dashboard-card .event-list li{padding:12px 0;border-bottom:1px solid var(--border-light)}.dashboard-card .notice-list li:last-child,.dashboard-card .event-list li:last-child{border-bottom:none}.dashboard-card .notice-list a{display:flex;justify-content:space-between}.dashboard-card .notice-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-card .notice-date{color:var(--text-light);font-size:13px;margin-left:16px}.dashboard-card .todo-list li{display:flex;align-items:center;padding:10px 0}.dashboard-card .todo-list li.completed span{text-decoration:line-through;color:var(--text-light)}.dashboard-card .todo-list label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}.dashboard-card .todo-list .due-date{font-size:12px;color:var(--text-light)}.dashboard-card .event-list li{display:flex;align-items:center;gap:12px}.event-color{width:8px;height:8px;border-radius:50%}.event-title{flex:1}.event-date{font-size:13px;color:var(--text-light)}.quick-links .link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-link{display:flex;flex-direction:column;align-items:center;padding:20px;background:var(--bg-gray);transition:all .2s}.quick-link:hover{background:#f0f0f0}.quick-link .icon{font-size:24px;margin-bottom:8px}.empty{color:var(--text-light);text-align:center;padding:20px 0}.page-container{max-width:var(--max-width);margin:0 auto;padding:40px}.page-container .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:transparent;padding:0;text-align:left}.page-container .page-header h1{font-size:28px;color:var(--text-dark)}.header-actions{display:flex;gap:12px}.board-list table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-dark)}.board-list th,.board-list td{padding:16px;border-bottom:1px solid var(--border-light)}.board-list th{background:var(--bg-gray);font-weight:600;font-size:14px;text-align:center}.board-list td{font-size:15px}.board-list .col-no{width:80px;text-align:center}.board-list .col-title{text-align:left}.board-list .col-author{width:100px;text-align:center}.board-list .col-date{width:120px;text-align:center}.board-list .col-views{width:80px;text-align:center}.board-list tr:hover{background:var(--bg-gray)}.badge{display:inline-block;padding:4px 8px;font-size:11px;font-weight:600;margin-right:8px}.badge-pin{background:var(--primary-color);color:#fff}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-secondary{background:#e5e7eb;color:#374151}.badge-danger{background:#fee2e2;color:#991b1b}.badge-admin{background:var(--primary-color);color:#fff;margin-left:8px}.comment-count{color:var(--primary-color);font-weight:600;margin-left:4px}.icon-attach{margin-left:4px}.btn-page{min-width:36px}.post-form{max-width:900px}.post-form .form-group{margin-bottom:24px}.post-form input[type=text],.post-form textarea{width:100%}.checkbox-group{display:flex;flex-direction:row!important;align-items:center;gap:24px;flex-wrap:wrap}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.checkbox-group .help-text,.form-group .help-text{display:block;margin-top:4px;font-size:12px;color:#888}.file-list{margin-top:12px}.file-list li{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-gray);margin-bottom:4px}.btn-remove{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:18px}.btn-remove:hover{color:var(--primary-color)}.rich-editor-container{border:1px solid var(--border-color);border-radius:8px;background:#fff;overflow:hidden}.rich-editor-container.focused{border-color:var(--primary-color);box-shadow:0 0 0 2px #c412301a}.rich-editor-container.disabled{background:var(--bg-gray);pointer-events:none;opacity:.7}.rich-editor-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:var(--bg-gray);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.toolbar-group{display:flex;gap:2px}.toolbar-divider{width:1px;height:24px;background:var(--border-color);margin:0 8px}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-gray);font-size:14px;transition:all .15s}.toolbar-btn:hover{background:#fff;color:var(--text-dark)}.toolbar-btn:active{background:var(--border-color)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.rich-editor-content{padding:16px;outline:none;overflow-y:auto;line-height:1.7;font-size:15px;color:var(--text-dark)}.rich-editor-content:empty:before{content:attr(data-placeholder);color:var(--text-light);pointer-events:none}.rich-editor-content img{max-width:100%;height:auto;border-radius:4px;margin:8px 0}.rich-editor-content a{color:var(--primary-color);text-decoration:underline}.rich-editor-content ul,.rich-editor-content ol{margin:8px 0;padding-left:24px}.rich-editor-content li{margin:4px 0}.rich-editor-uploading{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#c412300d;color:var(--primary-color);font-size:13px}.upload-spinner{width:16px;height:16px;border:2px solid var(--primary-color);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.rich-editor-hint{padding:8px 12px;font-size:12px;color:var(--text-light);background:var(--bg-gray);border-top:1px solid var(--border-color)}@media (max-width: 768px){.rich-editor-toolbar{padding:6px 8px;gap:2px}.toolbar-btn{width:36px;height:36px}.toolbar-divider{margin:0 4px}.rich-editor-content{padding:12px;font-size:16px;-webkit-overflow-scrolling:touch}.rich-editor-hint{padding:6px 8px;font-size:11px}}.post-content-html{line-height:1.8;font-size:15px;color:var(--text-dark);word-break:break-word}.post-content-html img{max-width:500px;width:100%;height:auto;border-radius:4px;margin:12px 0;cursor:pointer}.post-content-html a{color:var(--primary-color);text-decoration:underline}.post-content-html ul,.post-content-html ol{margin:12px 0;padding-left:24px}.post-content-html li{margin:6px 0}.post-content-html p{margin:8px 0}.image-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.image-viewer-container{position:relative;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-viewer-container img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px;transform-origin:center center}.image-viewer-overlay .viewer-close{position:absolute;top:20px;right:20px;width:48px;height:48px;border:none;background:#ffffff1a;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}.image-viewer-overlay .viewer-close:hover{background:#fff3}.viewer-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:none;background:#ffffff26;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.viewer-nav-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.viewer-nav-btn:disabled{opacity:.2;cursor:not-allowed}.viewer-nav-btn.viewer-prev{left:24px}.viewer-nav-btn.viewer-next{right:24px}.viewer-counter{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:8px 20px;border-radius:20px;font-size:14px;font-weight:500;z-index:10}.viewer-zoom-level{position:absolute;top:20px;right:80px;background:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;z-index:10}.viewer-bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:10}.viewer-hint{background:#0009;color:#fffc;padding:8px 16px;border-radius:20px;font-size:13px}.image-viewer-overlay .viewer-thumbnails{display:flex;gap:8px;padding:8px 12px;background:#0009;border-radius:12px;max-width:80vw;overflow-x:auto}.image-viewer-overlay .viewer-thumbnail{flex-shrink:0;width:60px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.6;transition:all .2s}.image-viewer-overlay .viewer-thumbnail:hover{opacity:.9;border-color:#ffffff80}.image-viewer-overlay .viewer-thumbnail.active{opacity:1;border-color:#fff;box-shadow:0 0 8px #ffffff80}.image-viewer-overlay .viewer-thumbnail img{width:100%;height:100%;object-fit:cover}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:14px}.breadcrumb-item{background:none;border:none;cursor:pointer;color:var(--text-gray)}.breadcrumb-item:hover{color:var(--primary-color)}.breadcrumb-item.current{color:var(--text-dark);font-weight:600}.separator{color:var(--text-light)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px}.folder-item{display:flex;flex-direction:column;align-items:center;padding:24px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s;position:relative}.folder-item:hover{border-color:var(--primary-color);background:var(--bg-gray)}.folder-icon{font-size:48px;margin-bottom:12px}.folder-name{font-weight:600;margin-bottom:4px}.folder-info{font-size:12px;color:var(--text-light)}.folder-item .btn-delete{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-light);cursor:pointer;font-size:12px;opacity:0;transition:opacity .2s}.folder-item:hover .btn-delete{opacity:1}.folder-item .btn-delete:hover{color:var(--primary-color)}.file-table table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-dark)}.file-table th,.file-table td{padding:14px 16px;border-bottom:1px solid var(--border-light);text-align:left}.file-table th{background:var(--bg-gray);font-weight:600;font-size:14px}.file-table .file-name{display:flex;align-items:center;gap:8px}.file-table .actions{display:flex;gap:8px}.btn-sm{padding:6px 12px;font-size:13px}.btn-success{background:#059669;color:#fff}.badge-level-1{background:#d1fae5;color:#065f46}.badge-level-2{background:#dbeafe;color:#1e40af}.badge-level-3{background:#fef3c7;color:#92400e}.badge-level-4{background:#fee2e2;color:#991b1b}.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{background:#fff;padding:32px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-lg{max-width:640px}.modal h3{font-size:20px;font-weight:700;margin-bottom:24px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.datetime-input-group{display:flex;gap:8px}.datetime-input-group input[type=date]{flex:1.5}.datetime-input-group input[type=time]{flex:1}.datetime-input-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-file-list{margin-top:12px;font-size:13px;color:var(--text-gray)}.upload-file-list li{padding:4px 0}.calendar-page{padding:24px 40px}.calendar-layout{display:grid;grid-template-columns:1fr 320px;gap:32px}.calendar-main{background:#fff;border:1px solid var(--border-color);padding:24px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-header h2{font-size:24px;font-weight:700}.btn-nav{background:none;border:1px solid var(--border-color);padding:8px 16px;cursor:pointer;transition:all .2s}.btn-nav:hover{border-color:var(--text-dark)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-light)}.calendar-weekday{padding:12px;text-align:center;font-weight:600;font-size:14px;background:var(--bg-gray)}.calendar-day{min-height:100px;padding:8px;background:#fff;cursor:pointer;transition:all .2s}.calendar-day:hover{background:var(--bg-gray)}.calendar-day.other-month{color:var(--text-light);background:#fafafa}.calendar-day.today{background:#fef3c7}.calendar-day.selected{background:#dbeafe}.day-number{font-weight:600;margin-bottom:4px}.day-events{display:flex;flex-wrap:wrap;gap:4px}.event-dot{width:8px;height:8px;border-radius:50%}.more-events{font-size:11px;color:var(--text-light)}.calendar-sidebar{display:flex;flex-direction:column;gap:24px}.sidebar-section{background:#fff;border:1px solid var(--border-color);padding:20px}.sidebar-section h3{font-size:16px;font-weight:700;margin-bottom:16px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.section-actions{display:flex;gap:8px}.sidebar-section .event-list,.sidebar-section .todo-list{max-height:300px;overflow-y:auto}.sidebar-section .event-item,.sidebar-section .todo-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-light)}.event-info{flex:1}.event-info .event-title{display:block;font-size:14px}.event-info .event-type{font-size:12px;color:var(--text-light)}.participant-count{color:#1976d2;cursor:help}.btn-delete{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:16px}.btn-delete:hover{color:var(--primary-color)}.event-actions{display:flex;gap:4px}.btn-edit{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px}.btn-edit:hover{background:#f0f0f0;color:var(--primary-color)}.mypage-layout{display:grid;grid-template-columns:280px 1fr;gap:32px}.mypage-sidebar{display:flex;flex-direction:column;gap:24px}.profile-card{background:#fff;border:1px solid var(--border-color);padding:32px;text-align:center}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--primary-color);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.profile-name{font-size:20px;font-weight:700;margin-bottom:4px}.profile-email{font-size:14px;color:var(--text-gray);margin-bottom:12px}.profile-dept,.profile-position{font-size:13px;color:var(--text-light)}.mypage-nav{background:#fff;border:1px solid var(--border-color)}.mypage-nav button{display:block;width:100%;padding:16px 20px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;font-size:15px;transition:all .2s}.mypage-nav button:last-child{border-bottom:none}.mypage-nav button:hover,.mypage-nav button.active{background:var(--bg-gray);color:var(--primary-color)}.mypage-content{background:#fff;border:1px solid var(--border-color);padding:32px}.mypage-content h2{font-size:20px;font-weight:700;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.info-table{width:100%}.info-table th,.info-table td{padding:14px 16px;border-bottom:1px solid var(--border-light)}.info-table th{width:120px;background:var(--bg-gray);font-weight:600;font-size:14px}.mypage-content .post-list li,.mypage-content .comment-list li{border-bottom:1px solid var(--border-light)}.mypage-content .post-list a,.mypage-content .comment-list a{display:flex;justify-content:space-between;padding:14px 0}.mypage-content .post-list a:hover,.mypage-content .comment-list a:hover{color:var(--primary-color)}.password-form{max-width:400px}.password-form .form-group{margin-bottom:20px}.signatures-section .empty-message{text-align:center;padding:60px 20px;color:var(--text-light)}.signatures-list{display:flex;flex-direction:column;gap:12px}.signature-item{padding:16px;background:var(--bg-gray);border-radius:8px;cursor:pointer;transition:all .2s;border-left:3px solid var(--primary-color)}.signature-item:hover{background:#f0f0f0;transform:translate(2px)}.signature-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.signature-title{font-weight:600;font-size:15px;color:var(--text-dark)}.signature-item-meta{display:flex;justify-content:space-between;font-size:13px;color:var(--text-muted);margin-bottom:8px}.template-name,.due-date{color:var(--text-muted)}.due-date.overdue{color:#dc3545;font-weight:500}.signature-item-date{font-size:12px;color:var(--text-light)}.version-section h3{font-size:16px;font-weight:600;margin:24px 0 16px;color:var(--text-dark)}.version-info-card{display:flex;align-items:center;gap:20px;padding:24px;background:var(--bg-gray);border-radius:12px;margin-bottom:24px}.version-logo img{border-radius:12px}.version-details h3{font-size:18px;font-weight:700;margin:0 0 8px}.version-number{font-size:24px;font-weight:700;color:var(--primary-color);margin:0 0 4px}.version-copyright{font-size:13px;color:var(--text-light);margin:0}.changelog-list{display:flex;flex-direction:column;gap:16px}.changelog-item{padding:16px;background:var(--bg-gray);border-radius:8px;border-left:3px solid var(--primary-color)}.changelog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.changelog-version{font-weight:700;color:var(--primary-color)}.changelog-date{font-size:13px;color:var(--text-light)}.changelog-changes{padding-left:20px;list-style:disc}.changelog-changes li{margin-bottom:6px;font-size:14px;color:var(--text-gray)}.mypage-nav button{position:relative}.nav-badge{display:inline-block;padding:2px 6px;margin-left:8px;font-size:10px;font-weight:700;border-radius:4px;vertical-align:middle}.nav-badge.new{background:var(--primary-color);color:#fff;animation:pulse 2s infinite}.nav-badge.approval{background:#ff6b35;color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.admin-users .filter-bar{display:flex;gap:12px;margin-bottom:24px}.admin-users .filter-bar select,.admin-users .filter-bar input{padding:10px 14px;border:1px solid var(--border-color);font-size:16px}.admin-users .filter-bar input{width:250px}.user-table table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-dark)}.user-table th,.user-table td{padding:14px 16px;border-bottom:1px solid var(--border-light);text-align:left}.user-table th{background:var(--bg-gray);font-weight:600;font-size:14px}.user-table .actions{display:flex;gap:8px}.user-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.user-table th.sortable:hover{background:#f0f0f0;color:var(--primary-color)}.selection-panel{border:1px solid var(--border-color);border-radius:8px;padding:16px;background:#fafafa;max-height:400px;overflow-y:auto}.selection-controls{display:flex;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.selection-group{background:#fff;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;overflow:hidden}.selection-group:last-child{margin-bottom:0}.selection-group .group-header{background:#f5f5f5;padding:10px 14px;border-bottom:1px solid var(--border-color)}.selection-group .group-select{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.selection-group .group-select input[type=checkbox]{width:18px;height:18px;cursor:pointer}.selection-group .group-name{color:var(--primary-color);font-weight:600}.selection-group .group-count{font-size:12px;color:#888;font-weight:400}.selection-group .group-items{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px}.selection-item{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:13px;transition:all .15s;min-width:100px}.selection-item:hover{border-color:var(--primary-color);background:#fff5f6}.selection-item.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.selection-item input[type=checkbox]{display:none}.selection-item span{white-space:nowrap}.admin-organization .tab-nav{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--border-color);padding-bottom:0}.admin-organization .tab-btn{padding:12px 24px;background:none;border:none;font-size:15px;font-weight:500;color:var(--text-gray);cursor:pointer;position:relative;transition:color .2s}.admin-organization .tab-btn:hover{color:var(--primary-color)}.admin-organization .tab-btn.active{color:var(--primary-color);font-weight:600}.admin-organization .tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary-color)}.admin-organization .tab-content{background:#fff;border-radius:8px;padding:24px;border:1px solid var(--border-color)}.admin-organization .content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-organization .content-header h3{font-size:18px;font-weight:600}.admin-organization .content-header .hint{font-size:13px;color:var(--text-light);margin:0}.admin-organization .org-table table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-dark)}.admin-organization .org-table th,.admin-organization .org-table td{padding:14px 16px;border-bottom:1px solid var(--border-light);text-align:left}.admin-organization .org-table th{background:var(--bg-gray);font-weight:600;font-size:14px}.admin-organization .org-table tr.inactive{opacity:.5}.admin-organization .org-table .actions{display:flex;gap:8px}.org-chart-preview{display:flex;flex-direction:column;align-items:center;padding:40px 20px;background:var(--bg-light);border-radius:8px;overflow-x:auto}.org-chart-preview .org-level{display:flex;flex-direction:column;align-items:center;width:100%}.org-chart-preview .org-level-label{font-size:12px;color:var(--text-light);margin-bottom:8px;font-weight:500}.org-chart-preview .org-boxes{display:flex;gap:12px;justify-content:center;flex-wrap:nowrap}.org-chart-preview .org-boxes-wrap{flex-wrap:wrap;max-width:100%}.org-chart-preview .org-box{padding:12px 20px;border-radius:8px;text-align:center;min-width:100px;cursor:pointer;transition:transform .2s,box-shadow .2s}.org-chart-preview .org-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.org-chart-preview .org-box-title{font-size:12px;font-weight:600;margin-bottom:4px}.org-chart-preview .org-box-name{font-size:14px}.org-chart-preview .org-box-ceo{background:#7c3aed;color:#fff}.org-chart-preview .org-box-coo{background:#f59e0b;color:#fff}.org-chart-preview .org-box-level1{background:#3b82f6;color:#fff}.org-chart-preview .org-box-level2{background:#10b981;color:#fff}.org-chart-preview .org-box-level3{background:#fff;border:1px solid var(--border-color);color:var(--text-dark)}.org-chart-preview .org-connector{width:2px;height:24px;background:var(--border-color);margin:8px 0}.comments-section h3{font-size:18px;font-weight:700;margin-bottom:20px}.comment-form{margin-bottom:24px}.comment-form textarea{width:100%;padding:14px;border:1px solid var(--border-color);margin-bottom:12px;font-family:inherit;font-size:16px;resize:vertical}.comment-item{padding:16px 0;border-bottom:1px solid var(--border-light)}.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.comment-author{font-weight:600}.comment-date{font-size:13px;color:var(--text-light)}.btn-comment-delete{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:13px}.btn-comment-delete:hover{color:var(--primary-color)}.comment-content{line-height:1.6}.nav-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;min-width:200px;box-shadow:0 4px 12px #00000026;z-index:1000}.dropdown-group{border-bottom:1px solid var(--border-light)}.dropdown-group:last-child{border-bottom:none}.dropdown-group-title{padding:12px 16px;font-size:12px;font-weight:700;color:var(--text-light);background:var(--bg-gray);text-transform:uppercase;letter-spacing:.5px}.dropdown-item{display:block;padding:12px 16px;color:var(--text-dark);font-size:14px;transition:all .2s}.dropdown-item:hover{background:var(--bg-gray);color:var(--primary-color)}.board-table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-dark)}.board-table th,.board-table td{padding:14px 16px;border-bottom:1px solid var(--border-light)}.board-table th{background:var(--bg-gray);font-weight:600;font-size:14px;text-align:center}.board-table td{font-size:15px}.board-table .col-num{width:80px;text-align:center}.board-table .col-title{text-align:left}.board-table .col-author{width:100px;text-align:center}.board-table .col-date{width:120px;text-align:center}.board-table .col-view{width:80px;text-align:center}.board-table tr:hover{background:var(--bg-gray)}.board-table tr.pinned{background:#fff7ed}.board-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.toolbar-left{font-size:14px;color:var(--text-gray)}.toolbar-right{display:flex;gap:12px}.badge-important{background:#fee2e2;color:#991b1b}.attachment-icon{margin-left:4px}.admin-page .admin-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:2px solid var(--text-dark)}.admin-page .tab{padding:14px 32px;background:var(--bg-gray);border:none;cursor:pointer;font-size:15px;font-weight:500;color:var(--text-gray);transition:all .2s}.admin-page .tab:hover{background:#e5e7eb}.admin-page .tab.active{background:var(--text-dark);color:#fff}.admin-section{margin-bottom:40px}.admin-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-section .section-header h2{font-size:20px;font-weight:700}.admin-table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-dark)}.admin-table th,.admin-table td{padding:14px 16px;border-bottom:1px solid var(--border-light);text-align:left}.admin-table th{background:var(--bg-gray);font-weight:600;font-size:14px}.admin-table tr.inactive{opacity:.5;background:#fafafa}.admin-table .actions{display:flex;gap:8px}.status{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:2px}.status.active{background:#d1fae5;color:#065f46}.status.inactive{background:#f3f4f6;color:#6b7280}.drag-table tr{cursor:grab;transition:background-color .15s,box-shadow .15s}.drag-table tr:active{cursor:grabbing}.drag-table tr.dragging{opacity:.5;background:#f0f9ff}.drag-table tr.drag-over{background:#dbeafe;box-shadow:inset 0 -2px 0 var(--primary-color)}.drag-table .drag-col{width:36px;text-align:center}.drag-table .drag-handle{width:36px;text-align:center;color:#9ca3af;font-size:16px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-table .drag-handle:hover{color:#6b7280}.drag-table tr:active .drag-handle{cursor:grabbing}.folder-permission{display:flex;gap:4px;margin-top:8px}.badge-inherit{background:#dbeafe;color:#1e40af}.badge-dept{background:#fef3c7;color:#92400e}.folder-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.folder-item:hover .folder-actions{opacity:1}.folder-actions button{padding:4px 8px;background:#fff;border:1px solid var(--border-color);cursor:pointer;font-size:14px;transition:all .2s}.folder-actions button:hover{border-color:var(--primary-color)}.btn-edit{background:none;border:none;cursor:pointer}.board-main-page .board-main-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;min-height:500px}.board-main-page .board-sidebar{background:#fff;border:1px solid var(--border-color);padding:20px}.board-main-page .board-group{margin-bottom:24px}.board-main-page .board-group:last-child{margin-bottom:0}.board-main-page .board-group-title{font-size:13px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--border-light)}.board-main-page .board-list-menu{list-style:none}.board-main-page .board-menu-item{padding:10px 12px;cursor:pointer;font-size:14px;color:var(--text-gray);transition:all .2s;border-radius:4px}.board-main-page .board-menu-item:hover{background:var(--bg-gray);color:var(--text-dark)}.board-main-page .board-menu-item.active{background:var(--primary-color);color:#fff}.board-main-page .board-content{background:#fff;border:1px solid var(--border-color);padding:24px}.board-main-page .board-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.board-main-page .board-content-header h2{font-size:22px;font-weight:700}.board-main-page .board-content-actions{display:flex;gap:8px}.board-main-page .board-description{font-size:14px;color:var(--text-gray);margin-bottom:20px}.board-main-page .recent-posts h3{font-size:16px;font-weight:600;margin-bottom:16px}@media (max-width: 900px){.board-main-page .board-main-layout{grid-template-columns:1fr}.board-main-page .board-sidebar{order:2}}.home-page{background:#fff}.home-page .main-visual{margin-bottom:0}.home-page .container{padding-top:40px}.home-page .welcome-section{margin-top:40px;margin-bottom:40px;padding:32px;background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid var(--border-color)}.home-page .welcome-greeting h2{font-size:24px;font-weight:400;margin-bottom:8px}.home-page .welcome-greeting h2 strong{font-weight:700;color:var(--primary-color)}.home-page .welcome-greeting p{color:var(--text-gray);font-size:15px}.home-page .dashboard-grid{margin-top:0}.home-page .notice-item.empty,.home-page .file-item.empty{padding:24px;text-align:center;color:var(--text-light);border-bottom:none}.home-page .file-icon.ppt{color:#d24726;border-color:#d24726}.home-page .file-icon.img{color:#7c3aed;border-color:#7c3aed}.home-page .file-icon.file{color:#6b7280;border-color:#6b7280}.post-actions{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--border-color);margin-top:40px}.post-actions .actions-left,.post-actions .actions-right{display:flex;gap:8px}.post-attachments{background:#f8f9fa;border:1px solid var(--border-color);border-radius:8px;padding:20px;margin:20px 0}.post-attachments h4{font-size:14px;font-weight:600;color:var(--text-gray);margin-bottom:12px}.attachment-list{display:flex;flex-direction:column;gap:8px}.attachment-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:12px 16px;cursor:pointer;transition:all .2s ease}.attachment-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}.attachment-icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;flex-shrink:0}.attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-name{font-size:14px;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:12px;color:var(--text-light)}.attachment-download{color:var(--text-light);padding:8px;border-radius:4px;transition:all .2s ease}.attachment-item:hover .attachment-download{color:var(--primary-color);background:#c412301a}.attachment-download-btn{background:none;border:none;cursor:pointer;color:var(--primary-color);font-size:14px;padding:4px 0;display:flex;align-items:center;gap:4px;text-decoration:none}.attachment-download-btn:hover{text-decoration:underline}.board-table .col-title .attachment-icon{display:inline-block;margin-left:6px;vertical-align:middle}.file-type-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:20px;border-radius:3px;font-size:10px;font-weight:600;color:#fff;margin-right:8px;vertical-align:middle}.attachment-clip{display:inline-block;margin-left:6px;vertical-align:middle;color:var(--text-light)}.toast-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;animation:toastIn .3s ease;pointer-events:auto;min-width:300px;max-width:450px}@keyframes toastIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.toast-icon{width:24px;height:24px;flex-shrink:0}.toast-icon svg{width:100%;height:100%}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-message{font-size:15px;color:var(--text-dark);font-weight:500}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease}.confirm-modal{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;animation:modalIn .3s ease;box-shadow:0 20px 60px #0003}@keyframes modalIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-icon{width:56px;height:56px;margin:0 auto 20px;color:var(--primary-color)}.confirm-icon svg{width:100%;height:100%}.confirm-message{font-size:16px;color:var(--text-dark);margin-bottom:24px;line-height:1.6}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions .btn{min-width:100px}.board-layout{display:flex;width:100%;min-height:calc(100vh - 140px);min-height:calc(100dvh - 140px)}.board-sidebar-fixed{width:180px;flex-shrink:0;background:#fff;border-right:1px solid var(--border-color);padding:0;position:sticky;top:60px;height:fit-content;max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto}.board-sidebar-fixed .sidebar-header{padding:20px;border-bottom:1px solid var(--border-color);background:var(--bg-gray)}.board-sidebar-fixed .sidebar-header h3{font-size:16px;font-weight:700;color:var(--text-dark)}.board-sidebar-fixed .sidebar-nav{padding:16px}.board-sidebar-fixed .board-group{margin-bottom:20px}.board-sidebar-fixed .board-group:last-child{margin-bottom:0}.board-sidebar-fixed .board-group-title{font-size:12px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;margin-bottom:4px}.board-sidebar-fixed .board-list-menu{list-style:none}.board-sidebar-fixed .board-menu-item{padding:10px 12px;cursor:pointer;font-size:14px;color:var(--text-gray);transition:all .2s;border-radius:6px;margin-bottom:2px}.board-sidebar-fixed .board-menu-item:hover{background:var(--bg-gray);color:var(--text-dark)}.board-sidebar-fixed .board-menu-item.active{background:var(--primary-color);color:#fff;font-weight:500}.board-main-content{flex:1;min-width:0;padding:0;background:#fafafa}.board-content-area{background:#fff;border:1px solid var(--border-color);padding:24px;min-height:500px}.board-content-area .page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-light);display:block;background:transparent;text-align:left}.board-content-area .page-header h1{font-size:24px;color:var(--text-dark)}.board-content-area .page-desc{font-size:14px;color:var(--text-gray);margin-top:8px}.board-content-area.board-main-page .board-sidebar-preview{display:none}.board-content-area.board-main-page .board-main-layout{display:block}.board-content-area.board-main-page .board-content{background:transparent;border:none;padding:0}@media (max-width: 900px){.board-layout{flex-direction:column}.board-sidebar-fixed{width:100%;position:static;max-height:none;border-right:none;border-bottom:1px solid var(--border-color)}.board-main-content{padding:16px}}.search-box{display:flex;gap:8px;align-items:center;margin-bottom:20px;padding:16px;background:var(--bg-gray);border:1px solid var(--border-color);border-radius:8px}.search-box .search-select{padding:10px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;background:#fff;min-width:100px}.search-box .search-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;min-width:200px}.search-box .search-input:focus,.search-box .search-select:focus{outline:none;border-color:var(--primary-color)}.search-box .btn{padding:10px 20px;border-radius:6px}.search-result-info{padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:20px;font-size:14px;color:#1e40af}.search-result-info .search-type{font-weight:600}.search-result-info strong{color:var(--primary-color)}.file-dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#fafafa}.file-dropzone:hover{border-color:var(--primary-color);background:#f0f7ff}.file-dropzone.active{border-color:var(--primary-color);background:#e8f4ff;border-style:solid}.file-dropzone.has-files{padding:24px 20px}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.dropzone-icon{width:48px;height:48px;color:var(--text-light)}.file-dropzone:hover .dropzone-icon,.file-dropzone.active .dropzone-icon{color:var(--primary-color)}.dropzone-text{font-size:16px;font-weight:500;color:var(--text-dark);margin:0}.dropzone-hint{font-size:13px;color:var(--text-light);margin:0}.file-upload-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.file-upload-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid var(--border-color);border-radius:8px}.file-upload-item .file-info{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.file-upload-item .file-name{font-size:14px;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-upload-item .file-size{font-size:12px;color:var(--text-light);flex-shrink:0}.btn-file-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-light);cursor:pointer;border-radius:4px;transition:all .2s}.btn-file-remove:hover{background:#fee2e2;color:#dc2626}.form-hint{margin-top:8px;font-size:13px;color:var(--text-gray)}.form-hint strong{color:var(--primary-color)}.color-picker-group{display:flex;align-items:center;gap:16px}.color-picker-group input[type=color]{width:50px;height:40px;padding:2px;border:1px solid var(--border-color);border-radius:6px;cursor:pointer}.color-preview{flex:1;padding:10px 16px;border-radius:6px;color:#fff;font-size:14px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2)}.participant-selector select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;margin-bottom:8px}.selected-participants{display:flex;flex-wrap:wrap;gap:6px}.participant-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#e8f4fd;border-radius:16px;font-size:13px;color:#1976d2}.participant-tag button{background:none;border:none;color:#1976d2;cursor:pointer;font-size:14px;line-height:1;padding:0;margin-left:2px}.participant-tag button:hover{color:#c41230}.file-item-link{display:flex;align-items:center;justify-content:space-between;width:100%;text-decoration:none;color:inherit;transition:all .2s}.file-item:hover{background:var(--bg-gray)}.file-item-link:hover .file-name{color:var(--primary-color)}.board-main-dashboard{padding:16px;height:100%;width:100%}.board-search-section{margin-bottom:16px}.board-search-form{display:flex;gap:10px;max-width:600px}.board-search-input-wrapper{flex:1;display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--border-color);border-radius:8px;background:#fff}.board-search-input-wrapper input{flex:1;border:none;outline:none;font-size:16px}.board-search-input-wrapper .btn-clear-search{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.board-search-results{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:16px}.search-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.search-results-header h3{font-size:16px;font-weight:600;margin:0}.btn-back-to-list{background:none;border:1px solid var(--border-color);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.btn-back-to-list:hover{background:var(--bg-gray)}.search-results-list{list-style:none;padding:0;margin:0}.search-results-list li{padding:12px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .15s}.search-results-list li:hover{background:#f8f9fa}.search-results-list li:last-child{border-bottom:none}.search-result-board{font-size:12px;color:var(--primary-color);font-weight:500;margin-bottom:4px}.search-result-title{font-size:15px;font-weight:500;margin-bottom:6px}.search-result-meta{display:flex;gap:12px;font-size:12px;color:#888}.search-loading,.search-no-results{text-align:center;padding:40px 20px;color:#888}.board-latest-section{background:#fff;border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;overflow:hidden}.board-latest-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-gray)}.board-latest-header h3{font-size:15px;font-weight:700;margin:0}.board-latest-list{list-style:none;padding:0;margin:0}.board-latest-list li{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s;font-size:14px}.board-latest-list li:last-child{border-bottom:none}.board-latest-list li:hover{background:#f8f9fa}.latest-board-name{flex-shrink:0;font-size:12px;color:var(--primary-color);font-weight:600;background:#fff0f3;padding:2px 8px;border-radius:4px;min-width:60px;text-align:center}.latest-post-title{flex:1;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-latest-list .comment-count{flex-shrink:0;font-size:12px;color:var(--primary-color);font-weight:600}.latest-post-meta{flex-shrink:0;display:flex;gap:8px;font-size:12px;color:var(--text-light)}.board-grid-4{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:16px;height:calc(100vh - 400px);height:calc(100dvh - 400px);min-height:500px}.board-slot{background:#fff;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.board-slot-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-gray)}.board-slot-header h3{font-size:16px;font-weight:700;cursor:pointer;transition:color .2s}.board-slot-header h3:hover{color:var(--primary-color)}.board-slot-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-gray);transition:all .2s}.btn-icon:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.board-slot-content{flex:1;overflow-y:auto;padding:0}.board-slot-posts{list-style:none}.board-slot-posts li{padding:14px 20px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .2s}.board-slot-posts li:hover{background:var(--bg-gray)}.board-slot-posts li.pinned{background:#fffbf0}.board-slot-posts li.pinned:hover{background:#fff3d6}.post-title-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.post-title-row .post-title{flex:1;font-size:14px;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-title-row .badge{flex-shrink:0}.post-title-row .comment-count{flex-shrink:0;font-size:12px;color:var(--primary-color);font-weight:600}.board-slot-posts .post-meta{display:flex;gap:12px;font-size:12px;color:var(--text-light)}.board-slot-posts .post-author{color:var(--text-gray)}.empty-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--text-light)}.empty-slot p{margin-bottom:12px}.board-slot-footer{padding:12px 20px;border-top:1px solid var(--border-color);text-align:center}.btn-more{background:none;border:none;color:var(--text-gray);font-size:13px;cursor:pointer;padding:4px 12px}.btn-more:hover{color:var(--primary-color);text-decoration:underline}.modal-desc{font-size:14px;color:var(--text-gray);margin-bottom:20px}.board-select-list{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:6px}.board-select-group-title{padding:12px 16px;font-size:13px;font-weight:700;color:var(--text-gray);background:var(--bg-gray);border-bottom:1px solid var(--border-light)}.board-select-list ul{list-style:none}.board-select-list ul li{padding:12px 16px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.board-select-list ul li:hover{background:var(--bg-gray)}.board-select-list ul li.selected{background:#e8f4ff;color:var(--primary-color);font-weight:600}.already-used{font-size:11px;color:var(--text-light);background:var(--border-light);padding:2px 8px;border-radius:10px}@media (max-width: 1024px){.board-grid-4{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(250px,1fr));height:auto}}.mobile-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:#f5f5f5}.mobile-content{flex:1;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));overflow-y:auto}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:flex-start;padding-top:8px;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px);transition:transform .2s ease-out}.mobile-bottom-nav.keyboard-active{transform:translateY(100%)}body.keyboard-open .mobile-chat-room{bottom:0}.swipe-back-indicator{position:fixed;top:50%;left:0;width:50px;height:50px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50px) scale(.5);opacity:0;z-index:9999;pointer-events:none;transition:none}.swipe-back-indicator svg{color:#fff}.swipe-back-indicator.ready{background:#c41230}.mobile-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;color:#222!important;cursor:pointer;padding:0;margin-left:-8px}.mobile-back-btn svg{width:24px;height:24px;stroke:#222!important}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 16px;background:none;border:none;cursor:pointer;color:var(--text-light);transition:all .2s}.mobile-nav-item.active{color:var(--primary-color)}.mobile-nav-icon{display:flex;align-items:center;justify-content:center;position:relative}.mobile-nav-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;background:var(--primary-color);color:#fff;font-size:10px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003;z-index:1}.mobile-nav-label{font-size:11px;font-weight:500}.mobile-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-light)}.mobile-empty{text-align:center;padding:40px 24px;color:var(--text-light);font-size:14px}.mobile-empty p{margin-bottom:16px}.mobile-empty button{padding:12px 24px;background:#4a90d9;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.mobile-page-header{display:flex;align-items:center;gap:12px;padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top,0px));background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.mobile-page-header h1{flex:1;font-size:18px;font-weight:700;margin:0}.mobile-menu-btn,.mobile-back-btn,.mobile-write-btn,.mobile-close-btn,.mobile-list-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;color:var(--text-dark)}.mobile-header-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--primary-color);border:none;border-radius:50%;cursor:pointer;color:#fff;transition:background .2s}@media (hover: hover){.mobile-header-btn:hover{background:#a00f28}}.mobile-header-btn svg{stroke:#fff}.mobile-home{padding-bottom:20px}.mobile-profile-section{background:linear-gradient(135deg,var(--primary-color) 0%,#a00f28 100%);padding:32px 20px}.mobile-profile-card{display:flex;align-items:center;gap:12px;color:#fff;flex-wrap:wrap}.mobile-profile-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0}.mobile-profile-avatar img{width:100%;height:100%;object-fit:cover}.mobile-profile-avatar .avatar-placeholder{width:100%;height:100%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.mobile-profile-name{font-size:18px;font-weight:700;margin-bottom:2px;white-space:nowrap}.mobile-profile-position{font-size:13px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.mobile-profile-info{flex:1;min-width:100px}.mobile-profile-actions{display:flex;align-items:center;gap:8px}.mobile-admin-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#fff3;color:#fff;cursor:pointer;transition:background .2s}@media (hover: hover){.mobile-admin-btn:hover{background:#ffffff4d}}.mobile-admin-btn:active{background:#ffffff4d}.mobile-logout-btn{min-width:44px;min-height:44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#fff3;color:#fff;cursor:pointer;transition:background .2s}@media (hover: hover){.mobile-logout-btn:hover{background:#ffffff4d}}.mobile-logout-btn:active{background:#ffffff4d}.mobile-version-btn,.mobile-mypage-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer}.version-new-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#ff3b30;color:#fff;font-size:10px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}.mobile-version-modal{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:340px;width:90%;max-height:70vh;display:flex;flex-direction:column;margin:0!important}.mobile-version-modal .modal-body{padding:20px;overflow-y:auto;flex:1;max-height:calc(70vh - 60px)}.mobile-version-modal .version-changelog{max-height:none}.version-info-header{text-align:center;padding-bottom:20px;border-bottom:1px solid var(--border-light);margin-bottom:20px}.version-app-name{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.mobile-version-modal .version-number{font-size:28px;font-weight:700;color:var(--primary-color);margin-bottom:4px}.mobile-version-modal .version-copyright{font-size:12px;color:var(--text-light)}.version-changelog h4{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-dark)}.version-changelog .changelog-item{padding:12px;background:var(--bg-gray);border-radius:8px;margin-bottom:10px;border-left:3px solid var(--primary-color)}.version-changelog .changelog-header{display:flex;justify-content:space-between;margin-bottom:8px}.version-changelog .changelog-version{font-weight:600;color:var(--primary-color);font-size:13px}.version-changelog .changelog-date{font-size:12px;color:var(--text-light)}.version-changelog .changelog-changes{padding-left:16px;list-style:disc}.version-changelog .changelog-changes li{font-size:13px;color:var(--text-gray);margin-bottom:4px}.mobile-company-section{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);margin:16px;border-radius:16px;padding:20px;color:#fff}.mobile-datetime{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-date{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.mobile-day{font-size:12px;color:var(--primary-color);background:#c4123033;padding:2px 8px;border-radius:4px}.mobile-time{font-size:20px;font-weight:700;font-family:SF Mono,Monaco,monospace}.mobile-mini-slider{position:relative;width:100%;height:120px;border-radius:12px;overflow:hidden;margin-bottom:12px}.mini-slider-track{display:flex;height:100%;transition:transform .4s ease}.mini-slider-slide{flex:0 0 100%;height:100%}.mini-slider-slide img{width:100%;height:100%;object-fit:cover}.mini-slide-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center}.mini-slide-title{font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.mini-slide-subtitle{font-size:12px;color:#fffc;margin-top:4px}.mini-slider-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:6px}.mini-dot{width:6px;height:6px;border-radius:50%;background:#fff6;border:none;padding:0;cursor:pointer;transition:all .2s}.mini-dot.active{background:#fff;width:18px;border-radius:3px}.mobile-slogan-card{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px;margin-bottom:12px}.slogan-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;margin-bottom:8px}.slogan-label svg{color:var(--primary-color)}.slogan-text{font-size:12px;font-weight:500;color:#e5e7eb;text-align:center;line-height:1.5;margin:0;font-style:italic}.mobile-vision-card{background:#c4123026;border:1px solid rgba(196,18,48,.3);border-radius:12px;padding:16px;margin-bottom:12px}.vision-label,.values-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;margin-bottom:8px}.vision-label svg,.values-label svg{color:var(--primary-color)}.vision-text{font-size:13px;font-weight:600;color:#fff;text-align:center;line-height:1.5;margin:0}.mobile-values-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px}.mobile-values-grid{display:flex;flex-wrap:nowrap;gap:6px;justify-content:center}.value-tag{padding:6px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:20px;font-size:11px;font-weight:600;color:#e5e7eb;white-space:nowrap}.mobile-quick-stats{display:flex;justify-content:center;align-items:center;gap:24px;padding-top:12px}.mobile-stat{text-align:center}.mobile-stat .stat-label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-bottom:4px}.mobile-stat .stat-value{font-size:18px;font-weight:900;color:#fff}.mobile-quick-stats .stat-divider{width:1px;height:30px;background:#fff3}.mobile-quick-actions{background:#fff;margin:16px;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d;padding-bottom:16px}.mobile-quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px}.mobile-quick-action-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:#f8f9fa;border-radius:10px;text-decoration:none;color:#333;border:none;cursor:pointer;font-family:inherit;transition:background .2s}.mobile-quick-action-card:active{background:#e9ecef}.mobile-quick-action-card.executive{background:linear-gradient(135deg,#fff5f5,#ffe3e8)}.mobile-quick-action-card.executive:active{background:linear-gradient(135deg,#ffe3e8,#ffd1d8)}.mobile-quick-action-icon{width:42px;height:42px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #00000014}.mobile-quick-action-card.executive .mobile-quick-action-icon{background:#c41230;color:#fff}.mobile-quick-action-card.executive .mobile-quick-action-icon svg{stroke:#fff}.mobile-quick-action-icon svg{stroke:#555}.mobile-quick-action-label{font-size:12px;font-weight:600;color:#444;text-align:center;line-height:1.3}.mobile-quick-action-card.executive .mobile-quick-action-label{color:#c41230}.mobile-section{background:#fff;margin:16px;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.mobile-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-light)}.mobile-section-header h3{font-size:16px;font-weight:700;margin:0}.mobile-section-more{font-size:13px;color:var(--text-light);background:none;border:none;cursor:pointer}.mobile-section-content{padding:12px 20px}.mobile-notice-list{list-style:none;padding:0;margin:0}.mobile-notice-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-light);cursor:pointer}.mobile-notice-item:last-child{border-bottom:none}.mobile-notice-badge{font-size:10px;font-weight:600;color:#fff;background:var(--primary-color);padding:2px 6px;border-radius:4px;flex-shrink:0}.mobile-notice-badge.normal{background:#666}.mobile-notice-title{flex:1;font-size:14px;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-notice-date{font-size:12px;color:var(--text-light);flex-shrink:0}.mobile-notice-empty{padding:20px;text-align:center;color:var(--text-light);font-size:14px}.mobile-todo-list{list-style:none;padding:0;margin:0}.mobile-todo-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.mobile-todo-item:last-child{border-bottom:none}.mobile-todo-item.completed .mobile-todo-title{text-decoration:line-through;color:var(--text-light)}.mobile-todo-checkbox{position:relative;width:22px;height:22px;flex-shrink:0}.mobile-todo-checkbox input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.mobile-todo-checkbox .checkmark{position:absolute;top:0;left:0;width:22px;height:22px;border:2px solid var(--border-color);border-radius:50%;transition:all .2s}.mobile-todo-checkbox input:checked+.checkmark{background:var(--primary-color);border-color:var(--primary-color)}.mobile-todo-checkbox input:checked+.checkmark:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.mobile-todo-title{flex:1;font-size:14px;color:var(--text-dark)}.mobile-todo-date{font-size:12px;color:var(--text-light)}.mobile-event-list{list-style:none;padding:0;margin:0}.mobile-event-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.mobile-event-item:last-child{border-bottom:none}.mobile-event-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mobile-event-info{flex:1;display:flex;flex-direction:column;gap:2px}.mobile-event-title{font-size:14px;color:var(--text-dark)}.mobile-event-date{font-size:12px;color:var(--text-light)}.mobile-event-desc{font-size:12px;color:var(--text-gray)}.mobile-message-page{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);display:flex;flex-direction:column}.mobile-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-light)}.mobile-empty-state svg{margin-bottom:20px;opacity:.5}.mobile-empty-state h3{font-size:18px;color:var(--text-dark);margin-bottom:8px}.mobile-empty-state p{font-size:14px}.mobile-boards{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);background:#fff}.mobile-board-search{padding:12px 16px;background:#fff;border-bottom:1px solid var(--border-color)}.mobile-board-search-form{display:flex;gap:10px}.mobile-board-search-input{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:#f8f9fa}.mobile-board-search-input input{flex:1;border:none;background:transparent;font-size:16px;outline:none}.mobile-board-search-input .btn-clear{background:none;border:none;padding:0;cursor:pointer}.mobile-board-search-form .btn-search{padding:0 16px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500}.mobile-search-results{background:#fff;min-height:calc(100vh - 180px);min-height:calc(100dvh - 180px)}.mobile-search-results-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid var(--border-color);font-size:14px}.mobile-search-results-header button{background:none;border:1px solid var(--border-color);padding:6px 12px;border-radius:6px;font-size:13px}.mobile-search-results-list{list-style:none;padding:0;margin:0}.mobile-search-results-list li{padding:14px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer}.mobile-search-results-list li:active{background:var(--bg-gray)}.mobile-search-loading,.mobile-search-no-results{text-align:center;padding:40px 20px;color:#888}.mobile-posts-list{padding:0}.mobile-post-item{padding:16px 20px;border-bottom:1px solid var(--border-light);cursor:pointer}.mobile-post-item:active{background:var(--bg-gray)}.mobile-post-board-name{font-size:12px;color:var(--primary-color);margin-bottom:6px;font-weight:500}.mobile-post-title{font-size:15px;font-weight:500;color:var(--text-dark);margin-bottom:8px;line-height:1.4}.mobile-post-title .badge{vertical-align:middle;margin-right:6px}.mobile-post-title .comment-count{color:var(--primary-color);font-size:13px;margin-left:4px}.mobile-post-meta{display:flex;gap:12px;font-size:12px;color:var(--text-light)}.mobile-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000}.mobile-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background:#fff;z-index:1001;overflow-y:auto;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.mobile-sidebar-header h2{font-size:18px;font-weight:700}.mobile-sidebar-nav{padding:16px}.mobile-board-group{margin-bottom:20px}.mobile-board-group-title{font-size:12px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;margin-bottom:4px}.mobile-board-group ul{list-style:none}.mobile-board-group ul li{padding:12px;font-size:14px;color:var(--text-gray);cursor:pointer;border-radius:6px;transition:all .2s}@media (hover: hover){.mobile-board-group ul li:hover{background:var(--bg-gray);color:var(--text-dark)}}.mobile-board-notice-shortcut{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.mobile-notice-link{display:flex;align-items:center;gap:10px;padding:14px 12px;background:linear-gradient(135deg,#fff5f5,#fff);border:1px solid #fecaca;border-radius:8px;cursor:pointer;transition:all .2s}@media (hover: hover){.mobile-notice-link:hover{background:linear-gradient(135deg,#fee2e2,#fff5f5);border-color:#f87171}}.mobile-notice-link svg{color:#c41230;flex-shrink:0}.mobile-notice-link span{font-size:15px;font-weight:600;color:#c41230}.mobile-latest-board-badge{flex-shrink:0;font-size:11px;color:var(--primary-color);font-weight:600;background:#fff0f3;padding:2px 6px;border-radius:4px}.mobile-latest-section{border-bottom:2px solid var(--primary-color)}.mobile-board-sections{padding:0}.mobile-board-section{background:#fff;margin-bottom:12px}.mobile-board-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-gray);border-bottom:1px solid var(--border-color);cursor:pointer}.mobile-board-section-header h3{font-size:15px;font-weight:700;color:var(--text-dark);margin:0}.mobile-more-btn{font-size:13px;color:var(--text-light)}.mobile-board-posts{list-style:none;padding:0;margin:0}.mobile-board-posts li{padding:14px 20px;border-bottom:1px solid var(--border-light);cursor:pointer}.mobile-board-posts li:last-child{border-bottom:none}.mobile-board-posts li:active{background:var(--bg-gray)}.mobile-post-title-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.mobile-post-title-row .post-title{flex:1;font-size:14px;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-post-title-row .comment-count{font-size:12px;color:var(--primary-color);font-weight:600;flex-shrink:0}.mobile-board-detail{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);background:#fff}.mobile-load-more{display:block;width:100%;padding:16px;background:var(--bg-gray);border:none;font-size:14px;color:var(--text-gray);cursor:pointer}@media (hover: hover){.mobile-load-more:hover{background:#f0f0f0;color:var(--primary-color)}}.mobile-calendar{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);background:#fff;padding-top:env(safe-area-inset-top)}.mobile-calendar-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.mobile-calendar-nav h2{font-size:18px;font-weight:700}.mobile-calendar-nav button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:1px solid var(--border-color);border-radius:8px;cursor:pointer}.mobile-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-light);padding:0 16px 16px}.mobile-calendar-header-cell{padding:12px 4px;text-align:center;font-size:12px;font-weight:600;color:var(--text-gray);background:#fff}.mobile-calendar-header-cell.sunday{color:var(--primary-color)}.mobile-calendar-header-cell.saturday{color:#3b82f6}.mobile-calendar-cell{aspect-ratio:1;padding:8px 4px;background:#fff;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:background .2s}@media (hover: hover){.mobile-calendar-cell:hover{background:var(--bg-gray)}}.mobile-calendar-cell.empty{background:#fafafa}.mobile-calendar-cell.today{background:#fef3c7}.mobile-calendar-cell.selected{background:#dbeafe}.mobile-calendar-cell.sunday .mobile-calendar-day{color:var(--primary-color)}.mobile-calendar-cell.saturday .mobile-calendar-day{color:#3b82f6}.mobile-calendar-day{font-size:14px;font-weight:500;color:var(--text-dark)}.mobile-calendar-dots{display:flex;gap:3px;margin-top:4px}.mobile-calendar-dot{width:6px;height:6px;border-radius:50%}.mobile-calendar-events{padding:20px;border-top:1px solid var(--border-color)}.mobile-calendar-events h3{font-size:16px;font-weight:700;margin-bottom:16px}.mobile-contacts{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);background:#fff}.mobile-org-tree{padding:16px}.mobile-dept-item{margin-bottom:4px}.mobile-dept-header{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-gray);border-radius:8px;cursor:pointer;transition:background .2s}@media (hover: hover){.mobile-dept-header:hover{background:#e5e7eb}}.mobile-dept-header.expanded{background:#e5e7eb}.mobile-dept-arrow{display:flex;align-items:center;color:var(--text-light)}.mobile-dept-name{flex:1;font-size:14px;font-weight:600;color:var(--text-dark)}.mobile-dept-count{font-size:12px;color:var(--text-light)}.mobile-dept-content{padding-left:16px;margin-top:8px}.mobile-user-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--border-light)}.mobile-user-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0;overflow:hidden}.mobile-user-avatar img{width:100%;height:100%;object-fit:cover}.mobile-user-info{flex:1;display:flex;flex-direction:column;gap:2px}.mobile-user-name{font-size:14px;font-weight:600;color:var(--text-dark)}.mobile-user-position{font-size:12px;color:var(--text-light)}.mobile-user-phone{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#d1fae5;color:#059669;border-radius:50%}.mobile-chat{flex:1;display:flex;flex-direction:column;background:#fff}.mobile-chat-list{flex:1;overflow-y:auto}.mobile-chat-item{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-light);cursor:pointer}.mobile-chat-item:active{background:#f5f5f5}.mobile-chat-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#4a90d9,#67b8de);display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0;font-weight:600;font-size:18px;color:#fff}.mobile-chat-info{flex:1;min-width:0}.mobile-chat-name-row{display:flex;align-items:center;gap:6px}.mobile-chat-name{font-weight:600;font-size:15px}.mobile-chat-count{font-size:12px;color:var(--text-light)}.mobile-chat-last{margin-top:4px;font-size:13px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-chat-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.mobile-chat-time{font-size:11px;color:var(--text-muted)}.mobile-chat-badge{min-width:18px;height:18px;padding:0 6px;background:#ff5722;color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.mobile-chat-room{position:fixed;top:0;left:0;right:0;bottom:calc(70px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;background:#f5f5f5;z-index:200}.mobile-chat-header{display:flex;align-items:center;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));background:#fff;border-bottom:1px solid var(--border-color);flex-shrink:0;position:sticky;top:0;z-index:100}.mobile-chat-header .back-btn{width:40px;height:40px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-right:8px}.mobile-chat-header-info{flex:1}.mobile-chat-header-info h3{font-size:16px;font-weight:600;margin:0}.mobile-chat-header-info span{font-size:12px;color:var(--text-light)}.mobile-chat-header-actions{display:flex;gap:8px}.mobile-chat-header-actions button{width:36px;height:36px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-gray)}.mobile-chat-offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#fff3cd;color:#856404;font-size:13px;font-weight:500;border-bottom:1px solid #ffc107;animation:offlinePulse 2s ease-in-out infinite}.mobile-chat-offline-banner svg{flex-shrink:0;color:#856404}@keyframes offlinePulse{0%,to{opacity:1}50%{opacity:.7}}.mobile-chat-messages{flex:1;overflow-y:auto;padding:16px;min-height:0}.mobile-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px}.mobile-message-date{display:flex;justify-content:center;margin:16px 0}.mobile-message-date span{background:#e0e0e0;padding:4px 12px;border-radius:12px;font-size:12px;color:#666}.mobile-message{display:flex;margin-bottom:12px}.mobile-message.me{flex-direction:row-reverse}.mobile-message-avatar{width:36px;height:36px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;margin-right:8px;flex-shrink:0;font-size:14px;font-weight:600;color:#666}.mobile-message.me .mobile-message-avatar{display:none}.mobile-message-content{max-width:75%}.mobile-message-sender{display:block;font-size:12px;color:#666;margin-bottom:4px}.mobile-message.me .mobile-message-sender{display:none}.mobile-message-bubble{background:#fff;padding:10px 14px;border-radius:12px;box-shadow:0 1px 2px #0000001a}.mobile-message.me .mobile-message-bubble{background:#4a90d9;color:#fff}.mobile-message-bubble p{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.mobile-deleted-text{margin:0;font-size:14px;font-style:italic;color:#999!important}.mobile-message.me .mobile-deleted-text{color:#fff9!important}.action-menu-list .delete-action{color:#c41230!important}.action-menu-list .delete-action svg{stroke:#c41230}.mobile-message-meta{display:flex;align-items:center;gap:4px;margin-top:4px}.mobile-message.me .mobile-message-meta{justify-content:flex-end}.mobile-message-time{font-size:11px;color:#aaa}.mobile-unread-count{font-size:11px;color:#c41230;font-weight:600}.mobile-read-status{font-size:11px;cursor:pointer;padding:2px 6px;border-radius:8px;transition:background-color .15s}.mobile-read-status:active{background-color:#0000001a}.mobile-read-status .mobile-unread-indicator{color:#c41230;font-weight:600}.mobile-read-status .mobile-read-indicator{color:#888}.mobile-readers-tabs{display:flex;border-bottom:1px solid #e0e0e0}.mobile-readers-tabs button{flex:1;padding:14px 16px;border:none;background:transparent;font-size:14px;color:#666;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.mobile-readers-tabs button:active{background:#f0f0f0}.mobile-readers-tabs button.active{color:#4a90d9;border-bottom-color:#4a90d9;font-weight:500}.mobile-members-list{max-height:350px;overflow-y:auto}.mobile-member-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f0f0}.mobile-member-item:last-child{border-bottom:none}.mobile-member-avatar{width:40px;height:40px;border-radius:50%;background:#e9ecef;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.mobile-member-avatar img{width:100%;height:100%;object-fit:cover}.mobile-member-avatar span{font-size:16px;color:#666;font-weight:500}.mobile-member-info{flex:1;min-width:0;display:flex;flex-direction:column}.mobile-member-name{font-size:14px;font-weight:500;color:#333}.mobile-read-time{font-size:12px;color:#888;margin-top:2px}.mobile-loading-readers,.mobile-no-members{padding:40px 20px;text-align:center;color:#888}.mobile-chat-input-wrapper{position:relative;flex-shrink:0}.mobile-chat-input{display:flex;align-items:center;padding:10px 12px;background:#fff;border-top:1px solid var(--border-color);gap:8px;flex-shrink:0}.mobile-chat-input .attach-btn{width:40px;height:40px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;flex-shrink:0}.mobile-chat-input input,.mobile-chat-input textarea{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:20px;font-size:16px;outline:none;min-width:0;font-family:inherit;line-height:1.4}.mobile-chat-input textarea{height:40px;min-height:40px;max-height:100px;resize:none;overflow-y:auto}.mobile-chat-input input:focus,.mobile-chat-input textarea:focus{border-color:#4a90d9}.mobile-chat-input .send-btn{width:40px;height:40px;border:none;background:var(--primary-color);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-chat-input .send-btn:disabled{background:#ccc}.mobile-mention-popup{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:12px 12px 0 0;box-shadow:0 -4px 16px #00000026;max-height:220px;overflow-y:auto;z-index:100}.mobile-mention-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s}@media (hover: hover){.mobile-mention-item:hover{background:#f5f5f5}}.mobile-mention-item:active{background:#f5f5f5}.mobile-mention-item.no-result{color:#888;cursor:default;justify-content:center;padding:20px}@media (hover: hover){.mobile-mention-item.no-result:hover{background:transparent}}.mobile-mention-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4a90d9,#67b8de);display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;font-weight:600;overflow:hidden;flex-shrink:0}.mobile-mention-avatar img{width:100%;height:100%;object-fit:cover}.mobile-mention-info{display:flex;flex-direction:column;gap:2px}.mobile-mention-name{font-size:14px;font-weight:500;color:#333}.mobile-mention-dept{font-size:12px;color:#888}.mobile-selected-mentions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#f8f9fa;border-top:1px solid #e0e0e0}.mobile-mention-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:13px;font-weight:500}.mobile-mention-tag button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:#1976d233;border-radius:50%;color:#1976d2;font-size:14px;cursor:pointer;margin-left:2px}.mobile-mention-highlight{color:#1976d2;font-weight:500;background:#1976d21a;padding:1px 4px;border-radius:3px}.mobile-message.me .mobile-mention-highlight{color:#fff;background:#ffffff40}.mobile-members-modal{padding:16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:calc(100% - 40px);max-width:400px;max-height:70vh;background:#fff;border-radius:16px;overflow:hidden}.mobile-members-list{display:flex;flex-direction:column;gap:12px}.mobile-member-item{display:flex;align-items:center;gap:12px}.mobile-member-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4a90d9,#67b8de);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.mobile-member-info{flex:1}.mobile-member-name{font-weight:500;font-size:14px}.mobile-member-dept{font-size:12px;color:#999}.mobile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.mobile-modal{background:#fff;width:100%;max-width:400px;max-height:70vh;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.mobile-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.mobile-modal-header button{width:32px;height:32px;border:none;background:transparent;font-size:24px;cursor:pointer}.mobile-modal-body{flex:1;overflow-y:auto;padding:16px;min-height:0}.mobile-modal-input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;margin-bottom:16px}.mobile-search-input{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;background:#f8f9fa}.mobile-search-input input{flex:1;border:none;background:transparent;font-size:16px;outline:none}.mobile-search-input svg{flex-shrink:0}.mobile-selected-users{display:flex;flex-wrap:wrap;gap:8px;padding:10px;margin-bottom:12px;background:#f0f7ff;border-radius:8px;border:1px solid #d0e3f7}.mobile-selected-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#4a90d9;color:#fff;border-radius:16px;font-size:13px}.mobile-selected-tag button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;line-height:1;opacity:.8}@media (hover: hover){.mobile-selected-tag button:hover{opacity:1}}.mobile-no-result{text-align:center;padding:20px;color:#888;font-size:14px}.mobile-contact-list{display:flex;flex-direction:column}.mobile-contact-item{display:flex;align-items:center;padding:12px;border-radius:8px;cursor:pointer}.mobile-contact-item.selected{background:#e8f2fc}.mobile-contact-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#4a90d9,#67b8de);display:flex;align-items:center;justify-content:center;margin-right:12px;font-weight:600;color:#fff}.mobile-contact-info{flex:1}.mobile-contact-name{display:block;font-weight:500;font-size:15px}.mobile-contact-dept{display:block;font-size:12px;color:var(--text-light);margin-top:2px}.mobile-modal-footer{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color);flex-shrink:0;background:#fff}.mobile-modal-footer .btn-cancel{flex:1;padding:12px;border:1px solid var(--border-color);background:#fff;border-radius:8px;font-size:15px;cursor:pointer}.mobile-modal-footer .btn-primary{flex:1;padding:12px;border:none;background:#4a90d9;color:#fff;border-radius:8px;font-size:15px;cursor:pointer}.mobile-menu-modal{max-height:70vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:calc(100% - 40px);max-width:400px}.mobile-menu-list{padding:8px}.mobile-menu-list button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;background:transparent;font-size:15px;text-align:left;cursor:pointer;border-radius:8px}@media (hover: hover){.mobile-menu-list button:hover{background:#f5f5f5}}.mobile-menu-list button.danger{color:#e74c3c}@media (hover: hover){.mobile-menu-list button.danger:hover{background:#fef2f2}}.admin-badge{display:inline-block;padding:2px 6px;background:#4a90d9;color:#fff;font-size:10px;border-radius:4px;margin-left:6px}.me-badge{display:inline-block;padding:2px 6px;background:#27ae60;color:#fff;font-size:10px;border-radius:4px;margin-left:6px}.mobile-system-message{display:flex;justify-content:center;padding:12px}.mobile-system-message span{background:#f0f0f0;padding:6px 14px;border-radius:12px;font-size:12px;color:#666}.mobile-message-image{cursor:pointer;max-width:200px}.mobile-message-image img{width:100%;border-radius:8px;display:block}.mobile-message-file{display:flex;align-items:center;gap:10px;padding:10px;background:#f5f5f5;border-radius:8px;text-decoration:none;color:inherit}.mobile-message.me .mobile-message-file{background:#fff3}.mobile-message-file .file-info{display:flex;flex-direction:column}.mobile-message-file .file-name{font-size:13px;font-weight:500;word-break:break-all}.mobile-message-file .file-size{font-size:11px;color:#999}.mobile-message.me .mobile-message-file .file-size{color:#ffffffb3}.upload-spinner{width:20px;height:20px;border:2px solid #ddd;border-top-color:#4a90d9;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-image-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px}.mobile-image-viewer img{max-width:100%;max-height:100%;object-fit:contain}.mobile-image-viewer .close-btn{position:absolute;top:20px;right:20px;width:44px;height:44px;border:none;background:#ffffff1a;color:#fff;font-size:28px;border-radius:50%;cursor:pointer}.mobile-search-modal{max-height:80vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:calc(100% - 40px);max-width:400px}.mobile-search-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.mobile-search-form .mobile-modal-input{height:44px;font-size:16px}.mobile-search-form .date-input-wrapper{position:relative}.mobile-search-form .date-input-wrapper input[type=date]{width:100%;height:44px;padding:10px 12px 10px 40px;border:1px solid #ddd;border-radius:8px;font-size:16px;background:#fff;color:#333;-moz-appearance:none;appearance:none;-webkit-appearance:none}.mobile-search-form .date-input-wrapper input[type=date]::-webkit-calendar-picker-indicator{position:absolute;left:0;top:0;width:100%;height:100%;background:transparent;color:transparent;cursor:pointer}.mobile-search-form .date-input-wrapper:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-size:contain;pointer-events:none;z-index:1}.mobile-search-form .date-input-wrapper input[type=date]:not(:valid):before{content:"날짜 선택";position:absolute;left:40px;color:#999}.mobile-search-form .btn-primary{height:48px;font-size:16px;font-weight:600;border-radius:8px;margin-top:4px}.mobile-search-results{max-height:50vh;overflow-y:auto}.search-result-item{padding:12px;border-bottom:1px solid #eee;cursor:pointer}@media (hover: hover){.search-result-item:hover{background:#f5f5f5}}.search-result-item .search-result-header{display:flex;justify-content:space-between;margin-bottom:4px}.search-result-item .sender{font-weight:600;font-size:13px}.search-result-item .date{font-size:11px;color:#999}.search-result-item .content{font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-media-modal{max-height:85vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:calc(100% - 40px);max-width:400px}.mobile-media-tabs{display:flex;border-bottom:1px solid #eee}.mobile-media-tabs button{flex:1;padding:12px;border:none;background:none;font-size:13px;color:#666;cursor:pointer}.mobile-media-tabs button.active{color:#4a90d9;border-bottom:2px solid #4A90D9;font-weight:600}.mobile-media-content{max-height:60vh;overflow-y:auto}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}.media-item{aspect-ratio:1;overflow:hidden;cursor:pointer;border-radius:4px}.media-item img{width:100%;height:100%;object-fit:cover}.media-list{padding:8px}.media-file-item,.media-link-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #eee;text-decoration:none;color:inherit}@media (hover: hover){.media-file-item:hover,.media-link-item:hover{background:#f5f5f5}}.media-file-item .file-info,.media-link-item .link-info{flex:1;min-width:0}.media-file-item .file-name,.media-link-item .link-url{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-file-item .file-meta,.media-link-item .link-meta{font-size:11px;color:#999}.empty-text{text-align:center;color:#999;padding:40px 20px;font-size:14px}.scroll-bottom-btn{position:absolute;bottom:80px;right:16px;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}@media (hover: hover){.scroll-bottom-btn:hover{background:#f5f5f5}}.highlight{animation:highlight-fade 2s ease-out}@keyframes highlight-fade{0%{background-color:#4a90d94d}to{background-color:transparent}}.mobile-form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#333}.mobile-image-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;touch-action:pan-y}.mobile-image-viewer img{max-width:100%;max-height:90vh;object-fit:contain}.mobile-image-viewer .close-btn{position:absolute;top:16px;right:16px;width:44px;height:44px;border:none;background:#fff3;color:#fff;font-size:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10001}.mobile-image-viewer .nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:#fff3;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10001;transition:background .2s}@media (hover: hover){.mobile-image-viewer .nav-btn:hover{background:#ffffff4d}}.mobile-image-viewer .prev-btn{left:16px}.mobile-image-viewer .next-btn{right:16px}.mobile-image-viewer .image-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:8px 20px;border-radius:20px;font-size:14px;z-index:10001}.mobile-image-viewer-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background:#000;z-index:999999;display:flex;flex-direction:column;isolation:isolate}.mobile-image-viewer-fullscreen .viewer-header{position:absolute;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);z-index:10;transition:opacity .3s,transform .3s}.mobile-image-viewer-fullscreen.hide-controls .viewer-header{opacity:0;transform:translateY(-100%);pointer-events:none}.viewer-close-btn{width:44px;height:44px;border:none;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.viewer-close-btn:active{background:#ffffff1a}.viewer-counter{color:#fff;font-size:16px;font-weight:500}.viewer-sender-info{display:flex;flex-direction:column;align-items:center;gap:2px}.viewer-sender-name{color:#fff;font-size:15px;font-weight:600}.viewer-sent-time{color:#ffffffb3;font-size:12px}.viewer-image-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;touch-action:none}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;transition:transform .2s ease-out}.viewer-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:#0000004d;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;opacity:.7;transition:opacity .2s,background .2s}.viewer-nav-btn:active{background:#00000080;opacity:1}.mobile-image-viewer-fullscreen.hide-controls .viewer-nav-btn{opacity:0;pointer-events:none}.viewer-prev-btn,.viewer-nav-btn.prev{left:12px}.viewer-next-btn,.viewer-nav-btn.next{right:12px}.mobile-image-viewer-fullscreen .viewer-header.visible{opacity:1;transform:translateY(0)}.viewer-zoom-indicator{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;z-index:10}.viewer-image-container img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;transform-origin:center center}.viewer-toolbar{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.6) 60%,transparent 100%);z-index:10;transition:opacity .3s,transform .3s}.mobile-image-viewer-fullscreen.hide-controls .viewer-toolbar{opacity:0;transform:translateY(100%);pointer-events:none}.viewer-image-counter{color:#fff;font-size:14px;opacity:.9}.viewer-thumbnails{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:4px 0;-webkit-overflow-scrolling:touch}.viewer-thumbnail{width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;border:2px solid transparent;opacity:.6;transition:opacity .2s,border-color .2s}.viewer-thumbnail.active{border-color:#fff;opacity:1}.viewer-thumbnail img{width:100%;height:100%;object-fit:cover}.viewer-thumbnails-mobile{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:10px 14px;background:#0009;border-radius:12px;max-width:85vw;overflow-x:auto;-webkit-overflow-scrolling:touch;z-index:10}.viewer-thumbnail-mobile{width:50px;height:50px;border-radius:8px;overflow:hidden;flex-shrink:0;border:2px solid transparent;opacity:.5;transition:opacity .2s,border-color .2s,transform .2s}.viewer-thumbnail-mobile.active{border-color:#fff;opacity:1;transform:scale(1.1)}.viewer-thumbnail-mobile img{width:100%;height:100%;object-fit:cover}.viewer-actions{display:flex;gap:16px;justify-content:center;width:100%;padding-top:8px}.viewer-action-btn{display:flex;flex-direction:column;align-items:center;gap:6px;border:none;background:#ffffff26;color:#fff;cursor:pointer;padding:12px 24px;border-radius:12px;min-width:80px}.viewer-action-btn:active{background:#ffffff40}.viewer-action-btn svg{width:24px;height:24px}.viewer-action-btn span{font-size:13px;font-weight:500}.viewer-tool-btn{display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:transparent;color:#fff;cursor:pointer;padding:8px;border-radius:8px}.viewer-tool-btn:active{background:#ffffff1a}.viewer-tool-btn span{font-size:11px;opacity:.9}.mobile-context-menu{background:#fff;border-radius:16px;width:calc(100% - 40px);max-width:320px;animation:centerModalIn .2s ease-out;box-shadow:0 20px 60px #0000004d;overflow:hidden}.context-menu-header{padding:16px 20px;border-bottom:1px solid var(--border-color)}.context-menu-title{font-size:16px;font-weight:600;color:var(--text-dark)}.context-menu-items{padding:8px 0}.context-menu-item{display:flex;align-items:center;gap:16px;width:100%;padding:14px 20px;border:none;background:none;font-size:15px;color:var(--text-dark);text-align:left;cursor:pointer}.context-menu-item:active{background:var(--bg-gray)}.context-menu-item svg{color:var(--text-gray);flex-shrink:0}.context-menu-item.danger{color:#e74c3c}.context-menu-item.danger svg{color:#e74c3c}.context-menu-cancel{width:calc(100% - 32px);margin:8px 16px;padding:14px;border:none;background:var(--bg-gray);border-radius:12px;font-size:15px;font-weight:500;color:var(--text-dark);cursor:pointer}.context-menu-cancel:active{background:var(--border-color)}.mobile-image-preview-modal{max-width:500px;width:90%;max-height:80vh}.mobile-image-preview-modal .mobile-modal-body{padding:16px;overflow-y:auto;max-height:60vh}.image-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f0f0f0}.preview-item img{width:100%;height:100%;object-fit:cover}.preview-item .remove-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;background:#0009;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}@media (hover: hover){.preview-item .remove-btn:hover{background:#000c}}.mobile-chat-input .attach-btn.plus-btn{background:#f0f0f0;color:#666}.mobile-chat-input .attach-btn{flex-shrink:0}.mobile-attach-modal{background:#fff;border-radius:16px;padding:20px;min-width:280px;animation:modalSlideUp .2s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-attach-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mobile-attach-header h4{margin:0;font-size:18px;font-weight:600}.mobile-attach-header button{width:28px;height:28px;border:none;background:transparent;font-size:24px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-attach-options{display:flex;gap:20px;justify-content:center}.mobile-attach-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border:none;background:transparent;cursor:pointer;transition:transform .15s}.mobile-attach-option:active{transform:scale(.95)}.mobile-attach-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}.mobile-attach-icon.image{background:linear-gradient(135deg,#34c759,#32d74b);color:#fff}.mobile-attach-icon.file{background:linear-gradient(135deg,#007aff,#5ac8fa);color:#fff}.mobile-attach-icon.contact{background:linear-gradient(135deg,#ff9500,#fc0);color:#fff}.mobile-attach-option span{font-size:13px;color:#333}.mobile-contact-share-icon{flex-shrink:0;opacity:.5}.mobile-contact-item:active .mobile-contact-share-icon{opacity:1}.kakao-image-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;z-index:9999;display:flex;flex-direction:column}.kakao-image-picker{flex:1;display:flex;flex-direction:column;background:#000}.kakao-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1a1a1a;flex-shrink:0}.kakao-picker-close{width:40px;height:40px;border:none;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.kakao-picker-title{color:#fff;font-size:16px;font-weight:500}.kakao-picker-send{padding:8px 20px;background:#fee500;color:#000;border:none;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer}.kakao-picker-send:disabled{background:#555;color:#888}.kakao-selected-thumbnails{display:flex;gap:8px;padding:12px 16px;background:#1a1a1a;overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch}.kakao-selected-thumbnails::-webkit-scrollbar{display:none}.kakao-thumbnail-item{position:relative;width:60px;height:60px;flex-shrink:0;border-radius:8px;overflow:hidden}.kakao-thumbnail-item img{width:100%;height:100%;object-fit:cover}.kakao-thumbnail-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#000000b3;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.kakao-thumbnail-order{position:absolute;bottom:2px;left:2px;width:18px;height:18px;background:#fee500;color:#000;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.kakao-picker-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;overflow-y:auto;background:#1a1a1a}.kakao-picker-item{position:relative;aspect-ratio:1;cursor:pointer;overflow:hidden}.kakao-picker-item img{width:100%;height:100%;object-fit:cover}.kakao-picker-item.selected{border:3px solid #fee500}.kakao-item-order{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#fee500;color:#000;border-radius:50%;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.kakao-item-checkbox{position:absolute;top:8px;right:8px;width:24px;height:24px;border:2px solid white;border-radius:50%;background:#0000004d}.kakao-picker-loading,.kakao-picker-empty{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;height:200px;color:#888;font-size:14px}.mobile-message-image-group{display:grid;gap:3px;border-radius:12px;overflow:hidden;width:240px;background:#e0e0e0}.mobile-message-image-group.count-2{grid-template-columns:1fr 1fr;width:240px;height:120px}.mobile-message-image-group.count-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;width:240px;height:160px}.mobile-message-image-group.count-3 .image-item:first-child{grid-row:span 2}.mobile-message-image-group.count-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:240px;height:240px}.mobile-message-image-group .image-item{cursor:pointer;overflow:hidden;min-height:0}.mobile-message-image-group .image-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}@media (hover: hover){.mobile-message-image-group .image-item:hover img{transform:scale(1.05)}}.mobile-message-image-group .image-item.more-overlay{position:relative}.mobile-message-image-group .image-item.more-overlay:after{content:attr(data-more);position:absolute;top:0;left:0;right:0;bottom:0;background:#0000008c;color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center}.mobile-message-image-group .image-count-badge{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.mobile-reply-preview{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8f9fa;border-top:1px solid var(--border-color);border-left:3px solid var(--primary-color)}.mobile-reply-preview .reply-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.mobile-reply-preview .reply-label{font-size:11px;color:var(--primary-color);font-weight:600}.mobile-reply-preview .reply-to-name{font-size:13px;font-weight:600;color:var(--text-dark)}.mobile-reply-preview .reply-content-preview{font-size:12px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-reply-preview .cancel-reply-btn{width:32px;height:32px;border:none;background:none;cursor:pointer;color:var(--text-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-message-reply-preview{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#0000000d;border-left:2px solid var(--primary-color);border-radius:4px;margin-bottom:4px;font-size:12px}.mobile-message .me .mobile-message-reply-preview{background:#ffffff26;border-left-color:#ffffff80}.mobile-message-reply-preview .reply-sender{font-weight:600;color:var(--text-dark)}.mobile-message .me .mobile-message-reply-preview .reply-sender{color:#ffffffe6}.mobile-message-reply-preview .reply-content{color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.mobile-message .me .mobile-message-reply-preview .reply-content{color:#ffffffb3}.mobile-message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.mobile-message-reactions .reaction-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:12px;font-size:13px;cursor:pointer;transition:all .15s}@media (hover: hover){.mobile-message-reactions .reaction-badge:hover{background:#e8e8e8}}.mobile-message-reactions .reaction-badge.reacted{background:#e3f2fd;border-color:#90caf9}.mobile-message-reactions .reaction-badge .emoji{font-size:14px}.mobile-message-reactions .reaction-badge .count{font-size:12px;color:var(--text-dark);font-weight:500}.mobile-context-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:1100}.mobile-context-menu{position:fixed;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;overflow:hidden;min-width:140px;z-index:1101}.mobile-context-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;background:none;font-size:14px;color:var(--text-dark);cursor:pointer;text-align:left}@media (hover: hover){.mobile-context-menu button:hover{background:#f5f5f5}}.mobile-context-menu button:active{background:#ebebeb}.mobile-context-menu button svg{flex-shrink:0}.mobile-emoji-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:20px;z-index:1101;box-shadow:0 8px 32px #00000040;min-width:280px}.emoji-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.emoji-picker-header h4{margin:0;font-size:16px;font-weight:600}.emoji-picker-header button{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--text-light);cursor:pointer}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.emoji-grid .emoji-btn{width:100%;aspect-ratio:1;border:none;background:#f5f5f5;border-radius:12px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}@media (hover: hover){.emoji-grid .emoji-btn:hover{background:#e8e8e8;transform:scale(1.1)}}.emoji-grid .emoji-btn:active{transform:scale(.95)}.mobile-member-item{display:flex;align-items:center;gap:12px;padding:12px 0}.mobile-member-item .kick-btn{width:36px;height:36px;border:none;background:#fee2e2;color:#ef4444;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}@media (hover: hover){.mobile-member-item .kick-btn:hover{background:#fecaca}}.mobile-member-item .kick-btn svg{stroke:#ef4444}.mobile-message-bubble{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.mobile-message-action-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:300px;background:#fff;border-radius:16px;padding:12px;z-index:1101;box-shadow:0 10px 40px #00000040;animation:popupModal .15s ease-out}@keyframes popupModal{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.emoji-reaction-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border-bottom:1px solid #f0f0f0;margin-bottom:4px}.emoji-reaction-bar .emoji-quick-btn{width:100%;aspect-ratio:1;max-width:52px;margin:0 auto;border:none;background:#f5f5f5;border-radius:12px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}@media (hover: hover){.emoji-reaction-bar .emoji-quick-btn:hover{background:#e8e8e8}}.emoji-reaction-bar .emoji-quick-btn:active{transform:scale(.9);background:#ddd}.action-menu-list{display:flex;flex-direction:column}.action-menu-list button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;border:none;background:none;font-size:15px;color:var(--text-dark);cursor:pointer;text-align:left;border-radius:8px}@media (hover: hover){.action-menu-list button:hover{background:#f5f5f5}}.action-menu-list button:active{background:#ebebeb}.action-menu-list button svg{flex-shrink:0;color:var(--text-gray)}.mobile-post-view{padding-bottom:80px}.mobile-post-content-wrapper{padding:0 16px}.mobile-post-header{padding:16px 0;border-bottom:1px solid var(--border-color)}.mobile-post-title-view{font-size:18px;font-weight:600;line-height:1.4;margin-bottom:12px}.mobile-post-title-view .badge{margin-right:8px}.mobile-post-info{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--text-gray)}.mobile-post-info .author{font-weight:500;color:var(--text-dark)}.mobile-attachments{padding:16px 0;border-bottom:1px solid var(--border-color)}.mobile-attachments h4{font-size:14px;margin-bottom:12px}.mobile-attachment-list{display:flex;flex-direction:column;gap:8px}.mobile-attachment-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-gray);border-radius:8px;cursor:pointer}.mobile-attachment-item .attachment-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.mobile-attachment-item .attachment-info{flex:1;min-width:0}.mobile-attachment-item .attachment-info .name{display:block;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-attachment-item .attachment-info .size{font-size:12px;color:var(--text-gray)}.mobile-post-body{padding:20px 0;font-size:15px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.mobile-comments-section{padding:16px;background:var(--bg-gray)}.mobile-comments-section h3{font-size:16px;margin-bottom:16px}.mobile-comment-form{display:flex;gap:8px;margin-bottom:16px}.mobile-comment-form textarea{flex:1;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;resize:none}.mobile-comment-form button{padding:12px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:500;white-space:nowrap}.mobile-comment-form button:disabled{background:#ccc}.mobile-comment-list{display:flex;flex-direction:column;gap:12px}.mobile-comment-item{padding:12px;background:#fff;border-radius:8px}.mobile-comment-item.deleted .comment-deleted{color:var(--text-gray);font-style:italic}.mobile-comment-item .comment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.mobile-comment-item .comment-author{font-weight:600}.mobile-comment-item .comment-date{color:var(--text-gray)}.mobile-comment-item .comment-delete-btn{margin-left:auto;padding:4px 8px;background:none;border:none;color:#ef4444;font-size:12px}.mobile-comment-item .comment-body{font-size:14px;line-height:1.6}.mobile-empty-comment{text-align:center;color:var(--text-gray);padding:20px}.mobile-comment-thread{margin-bottom:8px}.mobile-comment-item .comment-reply-btn{padding:4px 8px;background:none;border:none;color:var(--primary-color);font-size:12px;cursor:pointer}.mobile-reply-form{margin-top:12px;padding:12px;background:var(--bg-gray);border-radius:8px}.mobile-reply-form textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;resize:none;margin-bottom:8px}.mobile-reply-form .reply-form-actions{display:flex;justify-content:flex-end;gap:8px}.mobile-reply-form .reply-form-actions button{padding:8px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.mobile-reply-form .reply-form-actions button[type=submit]{background:var(--primary-color);color:#fff}.mobile-reply-form .reply-form-actions button[type=submit]:disabled{background:#ccc}.mobile-reply-form .reply-form-actions .btn-cancel{background:#f0f0f0;color:var(--text-gray)}.mobile-replies{margin-left:20px;margin-top:8px;padding-left:12px;border-left:2px solid var(--border-color)}.mobile-comment-item.reply{background:#f9f9f9}.mobile-comment-item.reply .comment-header .reply-icon{color:var(--text-gray);font-size:14px}.mobile-post-write{min-height:100vh;min-height:100dvh;background:#fff}.mobile-submit-btn{padding:8px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:14px}.mobile-submit-btn:disabled{background:#ccc}.mobile-write-form{padding:16px}.mobile-board-name{padding:12px 16px;background:var(--bg-gray);border-radius:8px;margin-bottom:16px;font-size:14px;color:var(--text-gray)}.mobile-write-options{display:flex;gap:16px;margin-bottom:16px}.mobile-checkbox{display:flex;align-items:center;gap:8px;font-size:14px}.mobile-checkbox input{width:18px;height:18px}.mobile-write-title{width:100%;padding:16px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;margin-bottom:16px}.mobile-write-content{width:100%;padding:16px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;line-height:1.6;resize:vertical;min-height:300px;margin-bottom:16px}.mobile-file-section{border-top:1px solid var(--border-color);padding-top:16px}.mobile-file-add-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-gray);border:1px dashed var(--border-color);border-radius:8px;font-size:14px;color:var(--text-gray);cursor:pointer;width:100%;justify-content:center}.mobile-file-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.mobile-file-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-gray);border-radius:8px}.mobile-file-item .file-name{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-file-item .file-size{font-size:12px;color:var(--text-gray)}.mobile-file-item .file-remove-btn{width:32px;height:32px;border:none;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-file-item .file-remove-btn svg{stroke:#ef4444}.mobile-header-actions{display:flex;gap:8px}.mobile-header-actions button{width:36px;height:36px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-header-actions button.danger svg{stroke:#ef4444}.mobile-calendar .mobile-header-btn{width:36px;height:36px;border:none;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff}.mobile-calendar .mobile-header-btn svg{stroke:#fff}.mobile-add-menu{position:absolute;top:60px;right:16px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;z-index:100}.mobile-add-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;border:none;background:none;font-size:14px;cursor:pointer;white-space:nowrap}@media (hover: hover){.mobile-add-menu button:hover{background:var(--bg-gray)}}.mobile-calendar-dot.todo{background-color:#10b981!important}.mobile-event-section,.mobile-todo-section{margin-bottom:16px}.mobile-event-section h4,.mobile-todo-section h4{font-size:13px;color:var(--text-gray);margin-bottom:8px}.mobile-todo-list{display:flex;flex-direction:column;gap:8px}.mobile-todo-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid var(--border-color)}.mobile-todo-item.completed .mobile-todo-title{text-decoration:line-through;color:var(--text-gray)}.mobile-todo-checkbox{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.mobile-todo-checkbox input{width:20px;height:20px;flex-shrink:0}.mobile-todo-title{font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.priority-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.mobile-todo-due{font-size:12px;color:var(--text-gray);white-space:nowrap}.mobile-delete-btn{width:28px;height:28px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;opacity:.5}@media (hover: hover){.mobile-delete-btn:hover{opacity:1}}.mobile-delete-btn svg{stroke:#999}.mobile-event-actions{display:flex;gap:4px;flex-shrink:0}.mobile-edit-btn{width:28px;height:28px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;opacity:.5}@media (hover: hover){.mobile-edit-btn:hover{opacity:1}}.mobile-edit-btn:active{opacity:1}.mobile-edit-btn svg{stroke:#666}.mobile-selected-participants{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mobile-participant-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#e8f4fd;border-radius:16px;font-size:13px;color:#1976d2}.mobile-participant-tag button{background:none;border:none;color:#1976d2;cursor:pointer;font-size:14px;line-height:1;padding:0;margin-left:2px}.mobile-all-todos{padding:16px;background:var(--bg-gray);margin-top:16px}.mobile-all-todos h3{font-size:16px;margin-bottom:12px}.mobile-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow:auto}.mobile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.mobile-modal-header h3{font-size:18px;margin:0}.mobile-modal-header button{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--text-gray);cursor:pointer}.mobile-modal-body{padding:20px}.mobile-form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.mobile-form-group input,.mobile-form-group select,.mobile-form-group textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:16px}.mobile-form-group textarea{resize:vertical}.mobile-color-picker{display:flex;gap:8px}.mobile-color-picker .color-btn{width:36px;height:36px;border:2px solid transparent;border-radius:50%;cursor:pointer}.mobile-color-picker .color-btn.selected{border-color:#333}.mobile-modal-footer{display:flex;gap:12px;padding-top:16px;border-top:1px solid var(--border-color);margin-top:20px}.mobile-modal-footer button{flex:1;padding:14px;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer}.mobile-modal-footer .btn-cancel{background:var(--bg-gray);color:var(--text-dark)}.mobile-modal-footer .btn-primary{background:var(--primary-color);color:#fff}.mobile-modal-footer .btn-primary:disabled{background:#ccc}.board-select-modal{max-height:70vh}.board-select-body{padding:0!important}.board-select-group{border-bottom:1px solid var(--border-color)}.board-select-group:last-child{border-bottom:none}.board-select-group-title{padding:12px 20px;font-size:13px;font-weight:600;color:var(--text-gray);background:var(--bg-gray)}.board-select-list{list-style:none;margin:0;padding:0}.board-select-list li{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color);cursor:pointer}.board-select-list li:last-child{border-bottom:none}.board-select-list li:hover{background:var(--bg-gray)}.board-select-list li svg{stroke:#999}.mobile-boards .mobile-header-btn{width:36px;height:36px;border:none;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff}.mobile-boards .mobile-header-btn svg{stroke:#fff}.mobile-tabs{display:flex;border-bottom:1px solid var(--border-color);background:#fff}.mobile-tab{flex:1;padding:14px;border:none;background:none;font-size:15px;font-weight:500;color:var(--text-gray);cursor:pointer;position:relative}.mobile-tab.active{color:var(--primary-color)}.mobile-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary-color)}.mobile-tab-content{flex:1;overflow:auto}.mobile-org-chart{padding:16px;overflow-x:auto;background:linear-gradient(180deg,#f8fafc,#f1f5f9);min-height:100%}.org-section{background:#fff;border-radius:16px;padding:20px 16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.org-section-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;padding-left:4px}.org-section-content{display:flex;flex-direction:column;align-items:center}.org-section-executive{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe}.org-section-departments{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.org-section-stores{background:linear-gradient(135deg,#fefce8,#fef9c3);border:1px solid #fde68a}.org-section-level1{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.org-section-coo{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border:1px solid #e9d5ff}.org-section-level2{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.org-level{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.org-level-wrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.org-connector-vertical{width:2px;height:20px;background:linear-gradient(180deg,#94a3b8,#cbd5e1);margin:8px auto;border-radius:1px}.org-box{min-width:90px;padding:12px 14px;border-radius:12px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.org-box:active{transform:scale(.98)}.org-box-title{font-size:11px;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.org-box-name{font-size:14px;font-weight:500}.org-box-ceo{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.org-box-coo{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.org-box-tf,.org-box-level1{background:#fff;border:2px solid #0ea5e9;color:#0369a1;box-shadow:0 2px 8px #0ea5e926}.org-box-level2{background:#fff;border:2px solid #22c55e;color:#166534;box-shadow:0 2px 8px #22c55e26}.org-box-store{background:#fff;border:2px solid #f59e0b;color:#b45309;box-shadow:0 2px 8px #f59e0b26}.org-edit-notice{margin-top:8px;padding:14px 16px;background:#fff;border-radius:12px;text-align:center;border:1px solid #e2e8f0}.org-edit-notice p{margin:0;font-size:13px;color:#64748b}.org-box.clickable{cursor:pointer;transition:all .2s ease}.org-box.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.org-box.clickable:active{transform:translateY(0)}.org-box-count{font-size:11px;color:#94a3b8;margin-top:2px}.mobile-dept-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;padding:20px}.mobile-dept-modal{background:#fff;border-radius:16px;width:100%;max-width:340px;max-height:70vh;animation:centerModalIn .25s ease-out;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}@keyframes centerModalIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mobile-dept-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e5e7eb}.mobile-dept-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.mobile-modal-close{background:none;border:none;padding:8px;color:#6b7280;cursor:pointer;border-radius:50%}@media (hover: hover){.mobile-modal-close:hover{background:#f3f4f6}}.mobile-dept-modal-content{flex:1;overflow-y:auto;padding:16px 20px 32px}.mobile-dept-members{display:flex;flex-direction:column;gap:12px}.mobile-dept-member-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:12px}.mobile-dept-member-item .member-rank{min-width:44px;font-size:11px;color:#c41230;font-weight:600}.mobile-dept-empty{padding:40px 20px;text-align:center;color:#9ca3af}.mobile-contact-list.dept-grouped{display:flex;flex-direction:column;gap:4px}.mobile-dept-group{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.mobile-contact-list .mobile-dept-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none}.mobile-contact-list .mobile-dept-header:active{background:#e5e7eb}.mobile-dept-arrow{transition:transform .2s ease}.mobile-dept-arrow.expanded{transform:rotate(90deg)}.mobile-contact-list .mobile-dept-name{flex:1;font-size:14px;font-weight:600;color:#374151}.mobile-contact-list .mobile-dept-count{font-size:12px;color:#6b7280;margin-right:8px}.mobile-dept-select-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;padding:0}.mobile-dept-select-btn:active{background:#0000001a}.mobile-dept-group .mobile-dept-members{border-top:1px solid #e5e7eb;padding:0;gap:0}.mobile-dept-group .mobile-dept-members .mobile-contact-item{margin:0;border-radius:0;border-bottom:1px solid #f3f4f6;padding:10px 14px 10px 28px}.mobile-dept-group .mobile-dept-members .mobile-contact-item:last-child{border-bottom:none}.mobile-contacts-list{padding:16px}.mobile-search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-gray);border-radius:10px;margin-bottom:16px}.mobile-search-box input{flex:1;border:none;background:none;font-size:16px;outline:none}.mobile-search-box .clear-btn{width:24px;height:24px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-search-results .result-count{font-size:13px;color:var(--text-gray);margin-bottom:12px}.mobile-todo-page{min-height:100vh;min-height:100dvh;background:var(--bg-gray)}.mobile-todo-page .mobile-page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid var(--border-color)}.mobile-todo-page .mobile-page-header h1{font-size:18px;font-weight:600;margin:0;flex:1;text-align:center}.mobile-back-btn,.mobile-add-btn{width:40px;height:40px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-add-btn{color:var(--primary-color)}.mobile-todo-filters{display:flex;padding:12px 16px;gap:8px;background:#fff;border-bottom:1px solid var(--border-color)}.mobile-filter-btn{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:20px;background:#fff;font-size:13px;font-weight:500;color:var(--text-gray);cursor:pointer;transition:all .2s}.mobile-filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.mobile-todo-content{padding:16px}.mobile-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.mobile-empty-state svg{margin-bottom:16px}.mobile-empty-state p{font-size:15px;color:var(--text-gray);margin-bottom:20px}.mobile-empty-state button{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.mobile-todo-group{margin-bottom:20px}.mobile-todo-date{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:10px;padding-left:4px}.mobile-todo-date.no-date{color:var(--text-gray)}.mobile-todo-date-full{font-size:12px;font-weight:400;color:var(--text-gray)}.mobile-todo-items{list-style:none;margin:0;padding:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.mobile-todo-page .mobile-todo-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-light)}.mobile-todo-page .mobile-todo-item:last-child{border-bottom:none}.mobile-todo-page .mobile-todo-item.completed .mobile-todo-title{text-decoration:line-through;color:var(--text-gray)}.mobile-todo-page .mobile-todo-checkbox{position:relative;width:24px;height:24px;flex-shrink:0}.mobile-todo-page .mobile-todo-checkbox input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}.mobile-todo-page .mobile-todo-checkbox .checkmark{position:absolute;top:0;left:0;width:24px;height:24px;border:2px solid #ddd;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.mobile-todo-page .mobile-todo-item.completed .checkmark{background:var(--primary-color);border-color:var(--primary-color)}.mobile-todo-page .mobile-todo-info{flex:1;min-width:0}.mobile-todo-page .mobile-todo-info .mobile-todo-title{font-size:15px;color:var(--text-dark);display:block}.mobile-todo-page .mobile-todo-time{font-size:12px;color:var(--text-gray);margin-top:2px;display:block}.mobile-todo-delete{width:32px;height:32px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5;flex-shrink:0}@media (hover: hover){.mobile-todo-delete:hover{opacity:1}}.mobile-todo-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mobile-todo-actions{display:flex;gap:2px;flex-shrink:0;align-items:center}.mobile-todo-edit{width:32px;height:32px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5;flex-shrink:0}@media (hover: hover){.mobile-todo-edit:hover{opacity:1}}.mobile-todo-edit:active{opacity:1}.mobile-priority-selector{display:flex;gap:8px}.mobile-priority-btn{flex:1;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#666;cursor:pointer;text-align:center;transition:all .2s}.mobile-priority-btn.active{border-color:#4a90a4;background:#f0f7fa;color:#4a90a4;font-weight:600}.mobile-priority-btn.important.active{border-color:#f59e0b;background:#fef9c3;color:#ca8a04}.mobile-priority-btn.urgent.active{border-color:#ef4444;background:#fef2f2;color:#ef4444}.mobile-todo-page .mobile-todo-info{cursor:pointer}.todo-page{padding:24px 32px;max-width:900px;margin:0 auto}.todo-page .page-header{margin-bottom:24px}.todo-page .page-header h1{font-size:24px;font-weight:700;margin:0 0 8px}.todo-page .page-desc{color:var(--text-light);font-size:14px;margin:0}.todo-stats{display:flex;gap:16px;margin-bottom:24px}.stat-card{flex:1;background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px;text-align:center}.stat-card .stat-number{font-size:32px;font-weight:700;color:var(--text-dark)}.stat-card .stat-label{font-size:14px;color:var(--text-light);margin-top:4px}.stat-card.pending .stat-number{color:#f59e0b}.stat-card.completed .stat-number{color:#10b981}.todo-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.todo-filters{display:flex;gap:8px}.filter-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:#fff;font-size:14px;color:var(--text-light);cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.todo-actions{display:flex;gap:12px;align-items:center}.btn-text{background:none;border:none;color:var(--text-light);font-size:14px;cursor:pointer}.btn-text:hover{color:var(--primary-color)}.todo-add-form,.todo-edit-form{background:#f8f9fa;border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-bottom:16px}.todo-add-form .form-row,.todo-edit-form{display:flex;gap:12px;align-items:center}.todo-add-form input[type=text],.todo-edit-form input[type=text]{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:16px}.todo-add-form input[type=date],.todo-edit-form input[type=date]{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:16px}.todo-add-form select,.todo-edit-form select{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;min-width:80px}.btn-cancel{background:#f1f1f1;border:none;padding:10px 16px;border-radius:8px;font-size:14px;cursor:pointer}.btn-small{padding:8px 12px;border:none;border-radius:6px;font-size:13px;cursor:pointer;background:var(--primary-color);color:#fff}.btn-small.btn-cancel{background:#e5e5e5;color:var(--text-dark)}.todo-list{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.todo-empty{padding:60px 20px;text-align:center}.todo-empty svg{margin-bottom:16px}.todo-empty p{font-size:15px;color:var(--text-light);margin-bottom:20px}.todo-empty button{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.todo-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-light);transition:background .2s}.todo-item:last-child{border-bottom:none}.todo-item:hover{background:#fafafa}.todo-item.completed{background:#f9f9f9}.todo-item.completed .todo-title{text-decoration:line-through;color:var(--text-light)}.todo-checkbox{position:relative;width:24px;height:24px;flex-shrink:0}.todo-checkbox input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1}.todo-checkbox .checkmark{position:absolute;top:0;left:0;width:24px;height:24px;border:2px solid #ddd;border-radius:6px;transition:all .2s}.todo-checkbox input:checked+.checkmark{background:var(--primary-color);border-color:var(--primary-color)}.todo-checkbox input:checked+.checkmark:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:12px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.todo-content{flex:1;min-width:0}.todo-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.todo-title{font-size:15px;color:var(--text-dark)}.todo-due{font-size:13px;color:var(--text-light);margin-top:4px;display:block}.priority-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.priority-badge.urgent{background:#fef2f2;color:#ef4444}.priority-badge.important{background:#fef9c3;color:#ca8a04}.due-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.due-badge.overdue{background:#fee2e2;color:#dc2626}.due-badge.today{background:#fef3c7;color:#d97706}.due-badge.tomorrow{background:#e0f2fe;color:#0284c7}.due-badge.soon{background:#f1f5f9;color:#64748b}.todo-actions-inline{display:flex;gap:8px;opacity:0;transition:opacity .2s}.todo-item:hover .todo-actions-inline{opacity:1}.btn-icon{width:32px;height:32px;border:none;background:#f1f1f1;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-light);transition:all .2s}.btn-icon:hover{background:#e5e5e5;color:var(--text-dark)}.btn-icon.delete:hover{background:#fee2e2;color:#dc2626}.notification-dropdown{position:relative}.notification-btn{position:relative;width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-gray);transition:all .2s}.notification-btn:hover{background:#f5f5f5;color:var(--primary-color)}.notification-btn.has-unread{color:var(--primary-color)}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;background:var(--primary-color);color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;overflow:hidden}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.notification-header h3{margin:0;font-size:16px;font-weight:600}.mark-all-read{font-size:13px;color:var(--primary-color);background:none;border:none;cursor:pointer}.mark-all-read:hover{text-decoration:underline}.notification-list{max-height:400px;overflow-y:auto}.notification-loading{padding:40px;text-align:center;color:var(--text-light)}.notification-empty{padding:60px 20px;text-align:center;color:var(--text-light)}.notification-empty svg{margin-bottom:12px}.notification-empty p{margin:0;font-size:14px}.notification-item{display:flex;gap:12px;padding:14px 20px;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border-light)}@media (hover: hover){.notification-item:hover{background:#f8f9fa}}.notification-item.unread{background:#fef3f5}@media (hover: hover){.notification-item.unread:hover{background:#fde8ec}}.notification-icon{width:32px;height:32px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-gray)}.notification-item.unread .notification-icon{background:var(--primary-color);color:#fff}.notification-content{flex:1;min-width:0}.notification-title{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--text-dark);line-height:1.4}.notification-message{margin:0 0 6px;font-size:13px;color:var(--text-gray);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:12px;color:var(--text-light)}.mobile-notification-btn{position:relative;width:40px;height:40px;border:none;background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#666;cursor:pointer}.mobile-notification-btn.has-unread{color:var(--primary-color)}.mobile-notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;background:var(--primary-color);color:#fff;border-radius:9px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.mobile-notifications{min-height:100vh;min-height:100dvh;background:#f5f5f5}.mobile-notifications-header{display:flex;align-items:center;gap:12px;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:10}.mobile-notifications-header h1{flex:1;margin:0;font-size:18px;font-weight:600}.mobile-notifications-actions{display:flex;gap:8px}.mobile-notifications-actions button{padding:6px 12px;background:#f1f1f1;border:none;border-radius:6px;font-size:13px;color:#666;cursor:pointer}.mobile-notifications-actions button.delete{color:#dc2626}.mobile-notifications-list{background:#fff}.mobile-notification-item{display:flex;gap:12px;padding:16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.mobile-notification-item:active{background:#f5f5f5}.mobile-notification-item.unread{background:#fef3f5}.mobile-notification-icon{width:40px;height:40px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#666}.mobile-notification-item.unread .mobile-notification-icon{background:var(--primary-color);color:#fff}.mobile-notification-content{flex:1;min-width:0}.mobile-notification-title{margin:0 0 4px;font-size:14px;font-weight:500;color:#222;line-height:1.4}.mobile-notification-message{margin:0 0 6px;font-size:13px;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-notification-time{font-size:12px;color:#999}.mobile-notifications-empty{padding:80px 20px;text-align:center;background:#fff}.mobile-notifications-empty svg{margin-bottom:16px}.mobile-notifications-empty p{margin:0;font-size:14px;color:#999}.mobile-admin{background:var(--bg-gray);min-height:100vh;min-height:100dvh}.mobile-admin .mobile-back-btn{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-admin-filter{display:flex;gap:8px;padding:12px 16px;background:#fff;overflow-x:auto;border-bottom:1px solid var(--border-color)}.mobile-admin-filter button{flex-shrink:0;padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.mobile-admin-filter button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.mobile-admin-list{padding:12px 16px}.mobile-admin-user-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-radius:12px;margin-bottom:12px;box-shadow:0 1px 3px #00000014}.mobile-admin-user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.mobile-admin-user-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#e91e63);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.mobile-admin-user-details{display:flex;flex-direction:column;gap:4px;min-width:0}.mobile-admin-user-name{font-size:15px;font-weight:600;color:#222}.mobile-admin-user-meta{font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-admin-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.mobile-admin-badge.pending{background:#fff3e0;color:#e65100}.mobile-admin-user-actions{display:flex;gap:8px;flex-shrink:0}.mobile-admin-user-actions button{padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.mobile-admin-user-actions .approve-btn{background:#4caf50;color:#fff}.mobile-admin-user-actions .reject-btn{background:#f44336;color:#fff}.mobile-admin-user-actions .edit-btn{background:var(--bg-gray);color:#666}.mobile-admin-org{padding:12px 16px}.mobile-admin-section{background:#fff;border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 3px #00000014}.mobile-admin-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color)}.mobile-admin-section-header h3{margin:0;font-size:15px;font-weight:600;color:#222}.mobile-add-btn{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.mobile-admin-section .mobile-admin-list{padding:8px 16px}.mobile-admin-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.mobile-admin-item:last-child{border-bottom:none}.mobile-admin-item-info{display:flex;flex-direction:column;gap:4px}.mobile-admin-item-name{font-size:14px;font-weight:500;color:#222}.mobile-admin-item-meta{font-size:12px;color:#888}.mobile-admin-item-level{font-size:12px;color:#666;background:var(--bg-gray);padding:4px 8px;border-radius:4px}.mobile-admin-item-info{flex:1;cursor:pointer}.mobile-admin-item-actions{display:flex;gap:4px;align-items:center}.mobile-admin-item-actions .mobile-edit-btn,.mobile-admin-item-actions .mobile-delete-btn{width:32px;height:32px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;transition:background .2s}.mobile-admin-item-actions .mobile-edit-btn{color:#666}@media (hover: hover){.mobile-admin-item-actions .mobile-edit-btn:hover{background:#f0f0f0;color:#1976d2}}.mobile-admin-item-actions .mobile-edit-btn:active{background:#f0f0f0;color:#1976d2}.mobile-admin-item-actions .mobile-delete-btn{color:#999}@media (hover: hover){.mobile-admin-item-actions .mobile-delete-btn:hover{background:#fff0f0;color:#f44336}}.mobile-admin-item-actions .mobile-delete-btn:active{background:#fff0f0;color:#f44336}.mobile-delete-btn{width:36px;height:36px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999}@media (hover: hover){.mobile-delete-btn:hover{color:#f44336}}.mobile-admin-menu-list{padding:8px 0}.mobile-admin-menu-item{display:flex;align-items:center;width:100%;padding:16px 20px;border:none;background:#fff;cursor:pointer;text-align:left;border-bottom:1px solid #f0f0f0;transition:background .15s}@media (hover: hover){.mobile-admin-menu-item:hover{background:#f8f9fa}}.mobile-admin-menu-item:active{background:#f0f0f0}.mobile-admin-menu-icon{width:44px;height:44px;border-radius:12px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#475569}.mobile-admin-menu-text{flex:1;margin-left:14px;display:flex;flex-direction:column;gap:3px}.mobile-admin-menu-name{font-size:15px;font-weight:600;color:#222}.mobile-admin-menu-desc{font-size:12px;color:#888}.mobile-admin-menu-arrow{flex-shrink:0;margin-left:8px}.mobile-admin-tab-wrapper{padding:0;overflow-x:hidden;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.mobile-admin-tab-wrapper .admin-page-header,.mobile-admin-tab-wrapper .admin-tabs{display:none}.mobile-admin-tab-wrapper .admin-tab-content{padding:0}.mobile-admin-tab-wrapper table{font-size:13px}.mobile-admin-tab-wrapper table th,.mobile-admin-tab-wrapper table td{padding:8px 10px;white-space:nowrap}.mobile-admin-tab-wrapper .admin-section{margin:0;border-radius:0}.mobile-admin-tab-wrapper input,.mobile-admin-tab-wrapper select,.mobile-admin-tab-wrapper textarea{font-size:16px!important}.mobile-admin-no-permission{display:flex;align-items:center;justify-content:center;min-height:200px;color:#888;font-size:15px}.mobile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.mobile-modal{width:100%;max-width:400px;max-height:80vh;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.mobile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;border-bottom:1px solid var(--border-color)}.mobile-modal-header h3{margin:0;font-size:17px;font-weight:600}.mobile-modal-close{width:32px;height:32px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666}.mobile-form-group{margin-bottom:16px}.mobile-form-group label{display:block;font-size:13px;font-weight:600;color:#666;margin-bottom:8px}.mobile-form-group input,.mobile-form-group select{width:100%;padding:12px 14px;border:1px solid var(--border-color);border-radius:10px;font-size:16px;outline:none;background:#fff}.mobile-form-group input:focus,.mobile-form-group select:focus{border-color:var(--primary-color)}.mobile-datetime-row{display:flex;gap:8px}.mobile-datetime-row input[type=date]{flex:1.2}.mobile-datetime-row input[type=time]{flex:1}.mobile-datetime-row input:disabled{background:#f5f5f5;opacity:.6}.mobile-modal-footer{display:flex;gap:12px;padding:16px;border-top:1px solid var(--border-color)}.mobile-btn-cancel,.mobile-btn-confirm{flex:1;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.mobile-btn-cancel{background:var(--bg-gray);color:#666}.mobile-btn-confirm{background:var(--primary-color);color:#fff}.readers-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.readers-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:70vh;display:flex;flex-direction:column;animation:centerModalIn .25s ease-out;box-shadow:0 20px 60px #0000004d}.readers-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.readers-modal-header h3{font-size:17px;font-weight:600;color:#222}.readers-modal-close{width:32px;height:32px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#666}@media (hover: hover){.readers-modal-close:hover{background:var(--bg-gray)}}.readers-modal-tabs{display:flex;border-bottom:1px solid var(--border-color)}.readers-tab{flex:1;padding:14px;border:none;background:none;font-size:14px;font-weight:500;color:#888;cursor:pointer;position:relative}.readers-tab.active{color:var(--primary-color);font-weight:600}.readers-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary-color)}.readers-modal-content{flex:1;overflow-y:auto;padding:8px 0}.readers-list{list-style:none;padding:0;margin:0}.reader-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}@media (hover: hover){.reader-item:hover{background:var(--bg-gray)}}.reader-info{display:flex;align-items:center;gap:8px}.reader-name{font-size:14px;font-weight:500;color:#222}.reader-dept{font-size:12px;color:#888}.reader-time{font-size:12px;color:#999}.readers-empty,.readers-loading{padding:40px 20px;text-align:center;color:#888;font-size:14px}.chat-modal.readers-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:centerModalIn .25s ease-out;overflow:hidden}.chat-modal.readers-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:#fff}.chat-modal.readers-modal .modal-header h3{font-size:17px;font-weight:600;color:#222;margin:0}.chat-modal.readers-modal .modal-close{width:32px;height:32px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#666;font-size:24px}.chat-modal.readers-modal .modal-close:hover{background:var(--bg-gray)}.chat-modal.readers-modal .readers-tabs{display:flex;border-bottom:1px solid var(--border-color);background:#fff}.chat-modal.readers-modal .readers-tabs button{flex:1;padding:14px;border:none;background:none;font-size:14px;font-weight:500;color:#888;cursor:pointer;position:relative;transition:color .2s}.chat-modal.readers-modal .readers-tabs button:hover{color:#444}.chat-modal.readers-modal .readers-tabs button.active{color:var(--primary-color);font-weight:600}.chat-modal.readers-modal .readers-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary-color)}.chat-modal.readers-modal .modal-body{flex:1;overflow-y:auto;padding:8px 0;max-height:400px}.chat-modal.readers-modal .members-list{list-style:none;padding:0;margin:0}.chat-modal.readers-modal .member-item{display:flex;align-items:center;padding:12px 20px;gap:12px}.chat-modal.readers-modal .member-item:hover{background:var(--bg-gray)}.chat-modal.readers-modal .member-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.chat-modal.readers-modal .member-avatar img{width:100%;height:100%;object-fit:cover}.chat-modal.readers-modal .member-avatar span{color:#fff;font-weight:600;font-size:16px}.chat-modal.readers-modal .member-info{display:flex;flex-direction:column;gap:2px}.chat-modal.readers-modal .member-name{font-size:14px;font-weight:500;color:#222}.chat-modal.readers-modal .read-time{font-size:12px;color:#888}.chat-modal.readers-modal .no-members,.chat-modal.readers-modal .loading-readers{padding:40px 20px;text-align:center;color:#888;font-size:14px}.chat-container .modal-overlay{z-index:10000}.read-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0f5ff;border:1px solid #d0e0ff;border-radius:4px;font-size:12px;color:#4a7de0;margin-left:8px;cursor:pointer;white-space:nowrap}.read-badge:hover{background:#e0ebff;border-color:#b0c8ff}.read-badge svg{width:12px;height:12px}.mobile-read-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#f0f5ff;border:1px solid #d0e0ff;border-radius:4px;font-size:11px;color:#4a7de0;margin-left:6px}.mobile-read-badge svg{width:10px;height:10px}.project-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.project-list-page .header-actions{display:flex;align-items:center;gap:16px}.filter-tabs{display:flex;background:#f5f5f5;border-radius:8px;padding:4px}.filter-tab{padding:8px 16px;border:none;background:none;font-size:14px;color:#666;cursor:pointer;border-radius:6px;transition:all .2s}.filter-tab:hover{color:#333}.filter-tab.active{background:#fff;color:var(--primary-color);font-weight:500;box-shadow:0 1px 3px #0000001a}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.project-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s;border-left:4px solid transparent}.project-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.project-card-header{padding:20px;border-left:4px solid;margin-left:-4px}.project-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-card-header h3{font-size:18px;font-weight:600;margin:0;color:#222}.project-type-badge{flex-shrink:0;padding:4px 8px;border-radius:4px;font-size:12px;color:#fff}.project-description{margin-top:8px;font-size:14px;color:#666;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-body{padding:16px 20px}.project-progress{margin-bottom:16px}.project-progress .progress-header{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px;color:#666}.progress-value{font-weight:600;color:#222}.progress-bar{height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.project-stats{display:flex;gap:20px}.project-stats .stat{display:flex;flex-direction:column}.stat-label{font-size:12px;color:#888}.stat-value{font-size:18px;font-weight:600;color:#333}.project-dates{margin-top:12px;font-size:13px;color:#888}.project-card-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.project-manager{font-size:13px;color:#666}.manager-name{font-weight:500;color:#333;margin-left:4px}.project-more-menu{position:relative}.btn-more{background:none;border:none;font-size:18px;color:#888;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.btn-more:hover{background:#f0f0f0;color:#333}.more-dropdown{position:absolute;right:0;bottom:100%;margin-bottom:4px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 2px 8px #0000001f;min-width:80px;z-index:10;overflow:hidden}.more-dropdown-item{display:block;width:100%;padding:8px 14px;font-size:13px;text-align:left;background:none;border:none;cursor:pointer;white-space:nowrap}.more-dropdown-item:hover{background:#f5f5f5}.more-dropdown-item.danger{color:#ef4444}.more-dropdown-item.danger:hover{background:#fef2f2}.project-detail-page{padding:24px;max-width:1600px;margin:0 auto}.project-header{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:24px;border-left:4px solid}.project-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-back{background:none;border:none;font-size:14px;color:#666;cursor:pointer;padding:4px 8px;margin-left:-8px}.btn-back:hover{color:var(--primary-color)}.project-info h1{font-size:24px;margin:0 0 8px}.project-desc{font-size:15px;color:#666;margin-bottom:16px}.project-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.meta-item{font-size:14px;color:#666}.meta-item strong{color:#333;font-weight:500}.project-progress-bar{max-width:400px}.project-progress-bar .progress-info{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:6px}.project-progress-bar .progress-track{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.project-progress-bar .progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.project-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.view-tabs{display:flex;background:#f5f5f5;border-radius:8px;padding:4px}.view-tab{padding:8px 20px;border:none;background:none;font-size:14px;color:#666;cursor:pointer;border-radius:6px;transition:all .2s}.view-tab:hover{color:#333}.view-tab.active{background:#fff;color:var(--primary-color);font-weight:500;box-shadow:0 1px 3px #0000001a}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;min-height:400px}.kanban-column{flex:1;min-width:260px;max-width:320px;background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column}.kanban-column.drag-over{background:#e8f4ff}.kanban-column-header{padding:16px;border-bottom:3px solid;display:flex;justify-content:space-between;align-items:center}.column-title{font-weight:600;font-size:14px;color:#333}.column-count{background:#fff;padding:2px 10px;border-radius:12px;font-size:13px;color:#666}.kanban-column-body{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.kanban-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:14px;cursor:pointer;transition:all .2s}.kanban-card:hover{box-shadow:0 3px 8px #0000001a}.kanban-card.dragging{opacity:.5;transform:rotate(3deg)}.kanban-card.overdue{border-left:3px solid #ef4444}.kanban-card-header{display:flex;align-items:flex-start;gap:8px}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.priority-dot.priority-low{background:#94a3b8}.priority-dot.priority-medium{background:#f59e0b}.priority-dot.priority-high{background:#ef4444}.priority-dot.priority-urgent{background:#dc2626}.kanban-card .task-title{font-size:14px;font-weight:500;color:#222;line-height:1.4}.kanban-card .task-description{font-size:13px;color:#666;margin:8px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.assignee-badge{width:26px;height:26px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.kanban-card .task-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#888}.kanban-card .due-date{padding:2px 6px;background:#f5f5f5;border-radius:4px}.kanban-card .due-date.overdue{background:#fef2f2;color:#ef4444}.kanban-card .due-date.soon{background:#fffbeb;color:#f59e0b}.kanban-empty{text-align:center;padding:40px 20px;color:#999;font-size:13px}.gantt-chart{display:flex;background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;min-height:400px}.gantt-sidebar{width:240px;flex-shrink:0;border-right:1px solid var(--border-color);background:#fafafa}.gantt-header-row{height:64px;padding:0 16px 8px;display:flex;align-items:flex-end;font-weight:500;font-size:13px;color:#666;border-bottom:1px solid var(--border-color)}.gantt-task-row{height:40px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f0;cursor:pointer}.gantt-task-row:hover{background:#f5f5f5}.gantt-task-row .task-info{display:flex;align-items:center;gap:8px;overflow:hidden}.gantt-task-row .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gantt-task-row .task-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-task-row .task-assignee{font-size:12px;color:#888;white-space:nowrap}.gantt-timeline{flex:1;overflow-x:auto;display:flex;flex-direction:column}.gantt-months{display:flex;height:32px;border-bottom:1px solid var(--border-color)}.gantt-month{font-size:13px;font-weight:500;color:#333;padding:8px 12px;border-right:1px solid var(--border-color);white-space:nowrap}.gantt-days{position:relative;height:32px;border-bottom:1px solid var(--border-color)}.gantt-day{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-width:32px;font-size:11px;border-right:1px solid #f0f0f0;box-sizing:border-box}.gantt-day .day-number{font-weight:500;color:#333}.gantt-day .day-name{color:#888;font-size:10px}.gantt-day.today{background:#e8f4ff}.gantt-day.today .day-number{color:var(--primary-color)}.gantt-day.weekend{background:#fafafa}.gantt-bars{flex:1;position:relative}.gantt-bar-row{position:absolute;left:0;right:0;height:40px;display:flex;align-items:center}.gantt-bar{position:absolute;height:24px;border-radius:4px;padding:0 8px;display:flex;align-items:center;cursor:pointer;transition:all .2s;overflow:hidden}.gantt-bar:hover{filter:brightness(1.1);box-shadow:0 2px 6px #0003}.gantt-bar .bar-label{font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar.no-date{width:100px;transform:translate(-50%)}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--primary-color);z-index:10}.weekend-bg{position:absolute;top:0;bottom:0;background:#00000005}.task-list-view{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.task-table{width:100%;border-collapse:collapse}.task-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:500;color:#666;background:#fafafa;border-bottom:1px solid var(--border-color)}.task-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #f0f0f0}.task-title-link{color:#222;font-weight:500;cursor:pointer}.task-title-link:hover{color:var(--primary-color)}.status-select{padding:4px 8px;font-size:16px;border:2px solid;border-radius:4px;background:#fff;cursor:pointer}.priority-badge{display:inline-block;padding:2px 8px;font-size:12px;border-radius:4px}.priority-badge.priority-low{background:#f1f5f9;color:#64748b}.priority-badge.priority-medium{background:#fef3c7;color:#b45309}.priority-badge.priority-high{background:#fecaca;color:#dc2626}.priority-badge.priority-urgent{background:#dc2626;color:#fff}.btn-icon{width:28px;height:28px;border:none;background:none;font-size:18px;color:#999;cursor:pointer;border-radius:4px}.btn-icon:hover{background:#f5f5f5;color:#ef4444}.project-modal{max-width:560px}.task-modal{max-width:480px}.project-modal .form-row,.task-modal .form-row{display:flex;gap:16px}.project-modal .form-row .form-group,.task-modal .form-row .form-group{flex:1}.color-input{width:48px;height:36px;padding:2px;cursor:pointer}.member-selector select,.member-selector .selected-members{width:100%}.selected-members{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.member-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#e8f4ff;border-radius:4px;font-size:13px}.member-tag button{background:none;border:none;font-size:14px;cursor:pointer;color:#666;padding:0;line-height:1}.member-tag button:hover{color:#c41230}.member-selector.search-mode{display:flex;flex-direction:column;gap:8px}.member-search-wrapper{position:relative}.member-search-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px}.member-search-input:focus{outline:none;border-color:var(--primary-color)}.member-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100}.member-search-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-light)}.member-search-item:last-child{border-bottom:none}.member-search-item:hover{background:#f5f5f5}.member-search-item .member-name{font-weight:500;color:var(--text-dark)}.member-search-item .member-dept{font-size:12px;color:var(--text-gray)}.member-list{border:1px solid var(--border-color);border-radius:8px;max-height:200px;overflow-y:auto}.member-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-light)}.member-item:last-child{border-bottom:none}.member-item.manager{background:#f8f9fa}.member-item .badge{font-size:11px;padding:2px 6px;background:var(--primary-color);color:#fff;border-radius:4px;margin-left:8px}.member-item .btn-remove{background:none;border:none;color:#dc3545;font-size:18px;cursor:pointer;padding:0 4px}.member-item .btn-remove:hover{color:#a71d2a}.add-member-section{margin-top:12px}.add-member-section select{width:100%;padding:10px;border:1px dashed var(--border-color);border-radius:8px;background:#fafafa;cursor:pointer}.member-tag button{background:none;border:none;font-size:14px;color:#666;cursor:pointer;padding:0;line-height:1}.member-tag button:hover{color:#ef4444}.project-list-page .empty-state,.project-content .empty-state{text-align:center;padding:60px 20px}.empty-state p{color:#888;margin-bottom:16px}.mobile-projects-page{padding-bottom:80px}.mobile-tab-bar{display:flex;padding:0 16px;gap:8px;margin-bottom:16px}.mobile-tab{flex:1;padding:12px;border:none;background:#f5f5f5;font-size:14px;font-weight:500;color:#666;border-radius:8px;cursor:pointer}.mobile-tab.active{background:var(--primary-color);color:#fff!important}.mobile-projects-list{padding:0 16px}.mobile-project-card{display:flex;background:#fff;border:1px solid var(--border-color);border-radius:12px;margin-bottom:12px;overflow:hidden}.mobile-project-card .project-color-bar{width:4px;flex-shrink:0}.mobile-project-card .project-card-content{flex:1;padding:16px}.mobile-project-card .project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.mobile-project-card h3{font-size:16px;font-weight:600;margin:0}.mobile-project-card .project-type{font-size:11px;padding:2px 6px;background:#f0f0f0;border-radius:4px;color:#666}.mobile-project-card .project-desc{font-size:13px;color:#666;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-project-card .project-progress-mini{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mobile-project-card .project-progress-mini span{font-size:12px;font-weight:600;color:#333;min-width:32px}.mobile-project-card .project-progress-mini .progress-bar{flex:1;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden}.mobile-project-card .project-progress-mini .progress-fill{height:100%;border-radius:2px}.mobile-project-card .project-card-footer{display:flex;justify-content:space-between;font-size:12px;color:#888}.mobile-tasks-list{padding:0 16px}.mobile-task-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;padding:14px;margin-bottom:10px}.mobile-task-card.overdue{border-left:3px solid #ef4444}.mobile-task-card .task-card-main{display:flex;align-items:flex-start;gap:10px}.mobile-task-card .task-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.mobile-task-card .task-info{flex:1;min-width:0}.mobile-task-card h4{font-size:15px;font-weight:500;margin:0 0 4px}.mobile-task-card .task-project,.mobile-task-card .task-assignee{font-size:12px;color:#888}.mobile-task-card .task-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0}.mobile-task-card .task-due{font-size:12px;color:#666;padding:2px 6px;background:#f5f5f5;border-radius:4px}.mobile-task-card .task-due.overdue{background:#fef2f2;color:#ef4444}.mobile-task-card .task-status-select{font-size:12px;padding:4px 8px;border:2px solid;border-radius:4px;background:#fff}.mobile-task-card .task-status-label{font-size:12px;font-weight:500}.mobile-task-card .priority-badge{font-size:11px;padding:2px 6px;border-radius:4px}.mobile-task-card .priority-badge.priority-low{background:#f1f5f9;color:#64748b}.mobile-task-card .priority-badge.priority-medium{background:#fef3c7;color:#b45309}.mobile-task-card .priority-badge.priority-high{background:#fecaca;color:#dc2626}.mobile-task-card .priority-badge.priority-urgent{background:#dc2626;color:#fff}.mobile-project-detail-page{padding-bottom:100px}.mobile-project-info{margin:0 16px 16px;padding:16px;background:#fff;border:1px solid var(--border-color);border-radius:12px;border-left:4px solid}.mobile-project-info .project-desc{font-size:14px;color:#666;margin-bottom:16px}.mobile-project-info .project-progress-section .progress-info{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:6px}.mobile-project-info .progress-bar{height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.mobile-project-info .progress-fill{height:100%;border-radius:3px}.mobile-filter-scroll{display:flex;padding:0 16px 16px;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-filter-chip{flex-shrink:0;padding:8px 14px;border:1px solid var(--border-color);background:#fff;border-radius:20px;font-size:13px;color:#666;cursor:pointer}.mobile-filter-chip.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.mobile-fab{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px));right:20px;width:56px;height:56px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;font-size:28px;line-height:1;box-shadow:0 4px 12px #c412304d;cursor:pointer;z-index:50}.mobile-form-row .mobile-form-group{flex:1}.mobile-btn-danger{background:#ef4444!important;color:#fff!important}.mobile-projects-page-v2{min-height:100vh;min-height:100dvh;background:#f8f9fa;padding-bottom:80px;padding-top:env(safe-area-inset-top)}.mobile-main-tab-bar{display:flex;background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;padding-top:env(safe-area-inset-top)}.mobile-main-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px;border:none;background:none;font-size:15px;color:#666;cursor:pointer;border-bottom:2px solid transparent}.mobile-main-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.mobile-main-tab svg{opacity:.7}.mobile-main-tab.active svg{opacity:1}.mobile-sub-tab-bar{display:flex;padding:12px 16px;gap:8px;background:#fff;border-bottom:1px solid var(--border-color)}.mobile-sub-tab{flex:1;padding:10px;border:1px solid var(--border-color);background:#fff;border-radius:8px;font-size:14px;color:#666;cursor:pointer}.mobile-sub-tab.active,.mobile-sub-tab-bar .mobile-sub-tab.active{background:#c41230!important;border-color:#c41230!important;color:#fff!important}.mobile-projects-content,.mobile-calendar-view{padding:16px}.mobile-calendar-view .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-calendar-view .calendar-header h2{font-size:18px;font-weight:600;color:#222}.mobile-calendar-view .month-nav-btn{width:40px;height:40px;border:none;background:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-calendar-view .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.mobile-calendar-view .weekday{text-align:center;font-size:12px;color:#888;padding:8px 0}.mobile-calendar-view .calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mobile-calendar-view .calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;padding:4px;background:#fff;border-radius:8px;cursor:pointer}.mobile-calendar-view .calendar-day.other-month{opacity:.4}.mobile-calendar-view .calendar-day.today .day-number{background:var(--primary-color);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.mobile-calendar-view .day-number{font-size:13px;font-weight:500;color:#222}.mobile-calendar-view .day-events{display:flex;gap:2px;margin-top:2px}.mobile-calendar-view .day-event-dot{width:6px;height:6px;border-radius:50%}.mobile-calendar-view .more-events{font-size:9px;color:#888}.mobile-fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:1000;display:flex;flex-direction:column}.mobile-modal-header-fixed{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border-color);background:#fff}.mobile-modal-header-fixed h3{font-size:17px;font-weight:600;color:#222}.modal-back-btn{width:40px;height:40px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#222}.modal-submit-btn{padding:8px 16px;border:none;background:var(--primary-color);color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.mobile-modal-body{flex:1;overflow-y:auto;padding:16px}.mobile-form-section{margin-bottom:20px}.mobile-form-section label{display:block;font-size:13px;font-weight:500;color:#666;margin-bottom:8px}.mobile-form-section.half{flex:1}.mobile-form-row{display:flex;gap:12px}.mobile-input,.mobile-select,.mobile-textarea{width:100%;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;color:#222;background:#fff;-webkit-appearance:none}.mobile-input:focus,.mobile-select:focus,.mobile-textarea:focus{outline:none;border-color:var(--primary-color)}.mobile-textarea{resize:none}.mobile-select-group{display:flex;gap:8px}.mobile-select-group.wrap{flex-wrap:wrap}.mobile-select-btn{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--border-color);background:#fff;border-radius:8px;font-size:14px;color:#666;cursor:pointer;white-space:nowrap}.mobile-select-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.mobile-color-picker{display:flex;gap:12px}.mobile-color-picker .color-option{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer}.mobile-color-picker .color-option.active{border-color:#222}.mobile-member-search{position:relative;margin-top:12px}.mobile-member-search .search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10;max-height:200px;overflow-y:auto}.mobile-member-search .search-result-item{display:flex;justify-content:space-between;padding:12px 14px;cursor:pointer;border-bottom:1px solid #f0f0f0}.mobile-member-search .search-result-item:last-child{border-bottom:none}.mobile-member-search .search-result-item:active{background:#f5f5f5}.mobile-member-search .user-name{font-size:14px;color:#222;font-weight:500}.mobile-member-search .user-dept{font-size:13px;color:#888}.selected-members{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.member-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f0f0f0;border-radius:16px;font-size:13px;color:#222}.member-chip button{width:18px;height:18px;border:none;background:#999;color:#fff;border-radius:50%;font-size:14px;line-height:1;cursor:pointer}.mobile-project-detail-v2{min-height:100vh;min-height:100dvh;background:#f8f9fa;padding-bottom:100px}.mobile-detail-header{background:#fff;padding:16px;border-bottom:3px solid}.mobile-detail-header .header-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.mobile-detail-header .back-btn,.mobile-detail-header .settings-btn{width:40px;height:40px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#222}.mobile-detail-header h1{flex:1;font-size:18px;font-weight:600;color:#222}.mobile-detail-header .project-desc{font-size:14px;color:#666;margin-bottom:16px}.mobile-detail-header .progress-section{margin-top:12px}.mobile-detail-header .progress-info{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:6px}.mobile-detail-header .progress-bar{height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.mobile-detail-header .progress-fill{height:100%;border-radius:3px}.mobile-filter-bar{display:flex;padding:12px 16px;gap:8px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--border-color)}.mobile-filter-bar .filter-chip{flex-shrink:0;padding:8px 14px;border:1px solid var(--border-color);background:#fff;border-radius:20px;font-size:13px;color:#666;cursor:pointer}.mobile-filter-bar .filter-chip.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.task-list-container{padding:16px}.task-card{background:#fff;border-radius:12px;padding:14px;margin-bottom:10px;border:1px solid var(--border-color);cursor:pointer}.task-card.overdue{border-color:#ef4444;background:#fef2f2}.task-card .task-main{display:flex;align-items:flex-start;gap:12px}.task-card .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}.task-card .task-content{flex:1;min-width:0}.task-card .task-content h4{font-size:15px;font-weight:500;color:#222;margin-bottom:4px}.task-card .task-meta{display:flex;align-items:center;gap:8px}.task-card .assignee{font-size:13px;color:#666}.task-card .priority{font-size:11px;padding:2px 6px;border-radius:4px;background:#f0f0f0;color:#666}.task-card .priority.priority-low{background:#f1f5f9;color:#64748b}.task-card .priority.priority-medium{background:#fef3c7;color:#b45309}.task-card .priority.priority-high{background:#fecaca;color:#dc2626}.task-card .priority.priority-urgent{background:#dc2626;color:#fff}.task-card .task-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0}.task-card .due-date{font-size:12px;color:#888}.task-card .due-date.overdue{color:#ef4444;font-weight:500}.task-card .status-label{font-size:12px;font-weight:500}.member-list{margin-bottom:12px}.member-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8f9fa;border-radius:8px;margin-bottom:6px}.member-item.manager{background:#fef3c7}.member-name{font-size:14px;color:#222}.member-badge{font-size:11px;padding:2px 8px;background:#b45309;color:#fff;border-radius:10px}.member-remove-btn{width:24px;height:24px;border:none;background:#ef4444;color:#fff;border-radius:50%;font-size:16px;line-height:1;cursor:pointer}.mobile-btn-danger{width:100%;padding:14px;border:1px solid #ef4444;background:#fff;color:#ef4444;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer}.mobile-readonly-field{display:flex;align-items:center;padding:12px 14px;background:#f8f9fa;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:#222;cursor:pointer}.mobile-priority-badge{flex-shrink:0;font-size:11px;padding:2px 8px;border-radius:4px;background:#f0f0f0;color:#666}.mobile-priority-badge.priority-low{background:#f1f5f9;color:#64748b}.mobile-priority-badge.priority-medium{background:#fef3c7;color:#b45309}.mobile-priority-badge.priority-high{background:#fecaca;color:#dc2626}.mobile-priority-badge.priority-urgent{background:#dc2626;color:#fff}.mobile-task-card{cursor:pointer;transition:background .15s}.mobile-task-card:active{background:#f0f0f0}.executive-dashboard-page{padding:24px}.executive-dashboard-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.executive-dashboard-page .page-header-left{display:flex;align-items:center;gap:12px}.executive-dashboard-page .back-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#f5f5f5;color:#666;transition:all .2s}.executive-dashboard-page .back-link:hover{background:#e0e0e0;color:#222}.executive-dashboard-page .dashboard-info{font-size:14px;color:#888}.executive-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.summary-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e0e0e0}.summary-card .summary-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.summary-card.total .summary-icon{background:#e0f2fe;color:#0284c7}.summary-card.active .summary-icon{background:#dbeafe;color:#2563eb}.summary-card.completed .summary-icon{background:#dcfce7;color:#16a34a}.summary-card.overdue .summary-icon{background:#fee2e2;color:#dc2626}.summary-card .summary-content{display:flex;flex-direction:column}.summary-card .summary-value{font-size:28px;font-weight:700;color:#222;line-height:1.2}.summary-card .summary-label{font-size:13px;color:#666;margin-top:4px}.executive-section{background:#fff;border-radius:12px;border:1px solid #e0e0e0;padding:24px;margin-bottom:24px}.executive-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.executive-section .section-header h2{font-size:18px;font-weight:600;color:#222;display:flex;align-items:center;gap:8px}.executive-section .section-header.warning h2{color:#dc2626}.executive-section .overdue-count{font-size:14px;color:#dc2626;background:#fee2e2;padding:4px 12px;border-radius:20px;font-weight:500}.department-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.department-stat-card{padding:20px;background:#fafafa;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:all .2s}.department-stat-card:hover{border-color:#e0e0e0}.department-stat-card.selected{border-color:var(--primary-color);background:#fff5f5}.department-stat-card .dept-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.department-stat-card h3{font-size:16px;font-weight:600;color:#222}.department-stat-card .dept-project-count{font-size:13px;color:#888}.department-stat-card .dept-progress{margin-bottom:12px}.department-stat-card .progress-info{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:6px}.department-stat-card .progress-value{font-weight:600;color:#222}.department-stat-card .progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.department-stat-card .progress-fill{height:100%;border-radius:4px;transition:width .3s}.department-stat-card .dept-tasks{display:flex;gap:16px}.department-stat-card .task-stat{display:flex;flex-direction:column}.department-stat-card .stat-label{font-size:12px;color:#888}.department-stat-card .stat-value{font-size:18px;font-weight:600;color:#222}.department-stat-card .stat-value.completed{color:#16a34a}.project-table-wrapper{overflow-x:auto}.project-table{width:100%;border-collapse:collapse}.project-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#666;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.project-table td{padding:14px 16px;font-size:14px;color:#222;border-bottom:1px solid #f0f0f0}.project-table tr{cursor:pointer;transition:background .15s}.project-table tbody tr:hover{background:#fafafa}.project-table tr.delayed{background:#fef2f2}.project-table tr.delayed:hover{background:#fee2e2}.project-table .empty-row{text-align:center;color:#888;padding:40px}.project-name-cell{display:flex;align-items:center;gap:10px}.project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-name{font-weight:500}.project-table .type-badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:4px;color:#fff}.progress-cell{display:flex;align-items:center;gap:10px}.progress-cell .progress-bar.small{width:80px;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.progress-cell .progress-fill{height:100%;border-radius:3px}.progress-cell .progress-text{font-size:13px;color:#666;min-width:45px}.project-table .status-badge{display:inline-block;font-size:12px;padding:4px 10px;border-radius:20px;font-weight:500}.project-table .status-badge.active{background:#dbeafe;color:#1d4ed8}.project-table .status-badge.completed{background:#dcfce7;color:#15803d}.project-table .status-badge.delayed{background:#fee2e2;color:#dc2626}.overdue-tasks-list{display:flex;flex-direction:column;gap:8px}.overdue-task-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.overdue-task-card .task-main{display:flex;align-items:center;gap:10px}.overdue-task-card .priority-dot{width:8px;height:8px;border-radius:50%}.overdue-task-card .task-title{font-size:14px;font-weight:500;color:#222}.overdue-task-card .task-meta{display:flex;align-items:center;gap:16px}.overdue-task-card .task-assignee{font-size:13px;color:#666}.overdue-task-card .task-due{font-size:13px;color:#888}.overdue-task-card .task-due.overdue{color:#dc2626;font-weight:500}.overdue-task-card .task-status{font-size:12px;font-weight:500}@media (max-width: 1024px){.executive-summary-cards,.department-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.executive-dashboard-page{padding:16px}.executive-summary-cards,.department-stats-grid{grid-template-columns:1fr}.project-table th,.project-table td{padding:10px 12px;font-size:13px}.overdue-task-card{flex-direction:column;align-items:flex-start;gap:10px}}.mobile-executive-dashboard{min-height:100vh;min-height:100dvh;background:#f5f5f5}.mobile-exec-header{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-bottom:1px solid #e0e0e0}.mobile-exec-header .back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#666;cursor:pointer}.mobile-exec-header h1{font-size:18px;font-weight:600;color:#222}.mobile-exec-summary{padding:16px;background:#fff;border-bottom:1px solid #e0e0e0}.mobile-exec-summary .summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mobile-exec-summary .summary-item{text-align:center;padding:12px 8px;background:#f8f9fa;border-radius:8px}.mobile-exec-summary .summary-item.active{background:#dbeafe}.mobile-exec-summary .summary-item.completed{background:#dcfce7}.mobile-exec-summary .summary-item.overdue{background:#fee2e2}.mobile-exec-summary .summary-value{display:block;font-size:24px;font-weight:700;color:#222;line-height:1.2}.mobile-exec-summary .summary-label{display:block;font-size:12px;color:#666;margin-top:4px}.mobile-exec-tabs{display:flex;background:#fff;border-bottom:1px solid #e0e0e0}.mobile-exec-tabs .exec-tab{flex:1;padding:14px;font-size:14px;font-weight:500;color:#666;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.mobile-exec-tabs .exec-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.mobile-exec-content{padding:16px}.dept-overview-list{display:flex;flex-direction:column;gap:12px}.dept-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.dept-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dept-card-header h3{font-size:16px;font-weight:600;color:#222}.dept-project-count{font-size:12px;color:#888}.dept-progress{margin-bottom:12px}.dept-progress .progress-info{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:6px}.dept-progress .progress-value{font-weight:600;color:#222}.dept-progress .progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.dept-progress .progress-fill{height:100%;border-radius:4px;transition:width .3s}.dept-stats{display:flex;gap:24px}.dept-stats .stat{display:flex;flex-direction:column}.dept-stats .stat-label{font-size:12px;color:#888}.dept-stats .stat-value{font-size:18px;font-weight:600;color:#222}.dept-stats .stat-value.completed{color:#16a34a}.exec-project-card{display:flex;background:#fff;border-radius:12px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 3px #00000014}.exec-project-card.delayed{border:1px solid #fecaca;background:#fef2f2}.exec-project-card .project-color-bar{width:4px;flex-shrink:0}.exec-project-card .project-content{flex:1;padding:14px}.exec-project-card .project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.exec-project-card .project-header h4{font-size:15px;font-weight:600;color:#222}.exec-project-card .project-type{font-size:11px;padding:2px 8px;background:#e5e7eb;color:#374151;border-radius:4px}.exec-project-card .project-meta{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:10px}.exec-project-card .due-date.overdue{color:#dc2626;font-weight:500}.exec-project-card .project-progress{display:flex;align-items:center;gap:10px;margin-bottom:8px}.exec-project-card .progress-bar{flex:1;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.exec-project-card .progress-fill{height:100%;border-radius:3px}.exec-project-card .progress-text{font-size:13px;font-weight:500;color:#222;min-width:45px;text-align:right}.exec-project-card .project-stats{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#888}.exec-project-card .delayed-badge{padding:2px 8px;background:#dc2626;color:#fff;border-radius:4px;font-weight:500}.overdue-list{display:flex;flex-direction:column;gap:10px}.overdue-list .overdue-task-card{background:#fff;border-radius:10px;padding:14px;border:1px solid #fecaca;background:#fef2f2}.overdue-list .task-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.overdue-list .priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.overdue-list .task-title{font-size:14px;font-weight:500;color:#222}.overdue-list .task-info{display:flex;justify-content:space-between;align-items:center;font-size:13px}.overdue-list .assignee{color:#666}.overdue-list .due-date{color:#888}.overdue-list .due-date.overdue{color:#dc2626;font-weight:500}.overdue-list .status{font-weight:500}.mobile-exec-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-bottom:16px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer}.mobile-exec-link svg{opacity:.9}.home-page .project-section{margin-top:32px}.home-project-list{display:flex;flex-direction:column;gap:12px}.home-project-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;transition:background .15s}.home-project-item:hover{background:#f0f1f3}.home-project-item .project-color-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.home-project-item .project-info{flex:1;min-width:0}.home-project-item h4{font-size:14px;font-weight:600;color:#222;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-project-item .project-progress{display:flex;align-items:center;gap:10px}.home-project-item .progress-bar{flex:1;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.home-project-item .progress-fill{height:100%;border-radius:3px;transition:width .3s}.home-project-item .progress-text{font-size:12px;font-weight:600;color:#666;min-width:35px;text-align:right}.home-task-list{display:flex;flex-direction:column;gap:10px}.home-task-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f8f9fa;border-radius:8px}.home-task-item .task-status-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.home-task-item .task-info{flex:1;min-width:0}.home-task-item .task-title{display:block;font-size:14px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.home-task-item .task-meta{display:flex;align-items:center;gap:12px;font-size:12px}.home-task-item .task-status{font-weight:500}.home-task-item .task-due{color:#888}.home-task-item .task-due.overdue{color:#dc2626;font-weight:500}.mobile-home-project-list{display:flex;flex-direction:column;gap:10px}.mobile-home-project-item{display:flex;background:#f8f9fa;border-radius:10px;overflow:hidden;cursor:pointer}.mobile-home-project-item .project-color-bar{width:4px;flex-shrink:0}.mobile-home-project-item .project-content{flex:1;padding:12px}.mobile-home-project-item h4{font-size:14px;font-weight:600;color:#222;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-home-project-item .project-progress{display:flex;align-items:center;gap:10px}.mobile-home-project-item .progress-bar{flex:1;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.mobile-home-project-item .progress-fill{height:100%;border-radius:3px}.mobile-home-project-item .progress-text{font-size:12px;font-weight:600;color:#666;min-width:30px;text-align:right}.mobile-home-task-list{display:flex;flex-direction:column;gap:8px}.mobile-home-task-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f8f9fa;border-radius:8px}.mobile-home-task-item .task-status-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.mobile-home-task-item .task-content{flex:1;min-width:0}.mobile-home-task-item .task-title{display:block;font-size:14px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.mobile-home-task-item .task-meta{display:flex;align-items:center;gap:12px;font-size:12px}.mobile-home-task-item .task-status{font-weight:500}.mobile-home-task-item .task-due{color:#888}.mobile-home-task-item .task-due.overdue{color:#dc2626;font-weight:500}.task-detail-modal{width:600px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.task-detail-header{padding:20px 24px 0;border-bottom:1px solid var(--border-color)}.task-detail-title-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.task-detail-title-row h3{flex:1;font-size:18px;font-weight:600;margin:0;color:#222}.task-detail-title-row .btn-close{background:none;border:none;font-size:24px;cursor:pointer;color:#888;padding:0;line-height:1}.task-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:#fff}.task-detail-tabs{display:flex;gap:4px;margin-top:8px}.task-detail-tabs .tab-btn{padding:10px 20px;background:none;border:none;font-size:14px;font-weight:500;color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.task-detail-tabs .tab-btn:hover{color:#222}.task-detail-tabs .tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.task-detail-tabs .comment-count{font-size:12px;color:#888}.task-detail-body{flex:1;overflow-y:auto;padding:20px 24px}.task-detail-content .task-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.task-detail-content .info-item{display:flex;flex-direction:column;gap:4px}.task-detail-content .info-item label{font-size:12px;color:#888;font-weight:500}.task-detail-content .info-item span{font-size:14px;color:#222}.task-detail-content .overdue-text{color:#dc2626!important;font-weight:500}.task-description-section{margin-bottom:20px}.task-description-section label{display:block;font-size:12px;color:#888;font-weight:500;margin-bottom:8px}.task-description-section p{font-size:14px;color:#444;line-height:1.6;background:#f9f9f9;padding:12px;border-radius:6px}.task-subtasks-section{margin-bottom:20px}.task-subtasks-section label{display:block;font-size:12px;color:#888;font-weight:500;margin-bottom:8px}.subtask-list{list-style:none;padding:0;margin:0}.subtask-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.subtask-list li:last-child{border-bottom:none}.subtask-list li.completed{color:#888;text-decoration:line-through}.subtask-check{color:#22c55e;font-weight:700}.quick-status-section{margin-top:24px;padding-top:20px;border-top:1px solid #f0f0f0}.quick-status-section label{display:block;font-size:12px;color:#888;font-weight:500;margin-bottom:10px}.status-buttons{display:flex;flex-wrap:wrap;gap:8px}.status-btn{padding:6px 12px;border:1px solid;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.status-btn:hover{opacity:.9}.task-comments-content{display:flex;flex-direction:column;height:100%;min-height:300px}.comments-list{flex:1;overflow-y:auto;margin-bottom:16px}.empty-comments{text-align:center;padding:40px 20px;color:#888}.empty-comments p{margin-bottom:4px}.empty-comments .hint{font-size:13px;color:#aaa}.comment-item{padding:12px 0;border-bottom:1px solid #f0f0f0}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment-author{font-weight:600;font-size:14px;color:#222}.comment-date{font-size:12px;color:#888}.btn-delete-comment{margin-left:auto;background:none;border:none;font-size:12px;color:#888;cursor:pointer;padding:2px 6px}.btn-delete-comment:hover{color:#dc2626}.comment-content{font-size:14px;color:#444;line-height:1.6;white-space:pre-wrap}.mention-highlight{color:var(--primary-color);font-weight:500;background:#c4123014;padding:1px 4px;border-radius:3px}.comment-input-section{padding-top:16px;border-top:1px solid #f0f0f0}.comment-input-wrapper{position:relative;margin-bottom:10px}.comment-input-wrapper textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;resize:vertical;min-height:80px;font-family:inherit}.comment-input-wrapper textarea:focus{outline:none;border-color:var(--primary-color)}.btn-submit-comment{width:100%}.mention-dropdown{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 -4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100;margin-bottom:4px}.mention-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;transition:background .15s}.mention-item:hover,.mention-item.active{background:#f5f5f5}.mention-name{font-weight:500;color:#222}.mention-dept{font-size:12px;color:#888}.task-detail-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border-color);background:#fafafa}.kanban-card .assignee-name{font-size:12px;color:#666;background:#f5f5f5;padding:2px 8px;border-radius:10px;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card .comment-indicator{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#888}.kanban-card .comment-indicator svg{color:#888}.loading-text{text-align:center;padding:40px 20px;color:#888;font-size:14px}@media (max-width: 768px){.task-detail-modal{width:100%;height:100%;max-height:100vh;max-height:100dvh;border-radius:0}.task-detail-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.task-detail-content .task-info-grid{grid-template-columns:1fr}.status-buttons{flex-direction:column}.status-btn{width:100%;text-align:center}}.task-files-content{display:flex;flex-direction:column;gap:16px;min-height:300px}.file-upload-section{margin-bottom:4px}.file-upload-area{display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-color);border-radius:8px;padding:24px;cursor:pointer;transition:all .2s;background:#fafafa}.file-upload-area:hover{border-color:var(--primary-color);background:#fff5f6}.upload-placeholder{display:flex;align-items:center;gap:8px;color:#888;font-size:14px}.upload-placeholder .upload-icon{font-size:20px}.upload-progress{text-align:center;padding:12px;color:var(--primary-color);font-size:14px;font-weight:500}.file-list{display:flex;flex-direction:column;gap:0}.empty-files{text-align:center;padding:40px 20px;color:#888}.empty-files p{margin:0;font-size:14px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #f0f0f0;border-radius:6px;margin-bottom:8px;transition:background .15s}.file-item:hover{background:#f9f9f9}.file-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.file-icon{font-size:24px;flex-shrink:0}.file-details{display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-size:14px;font-weight:500;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;color:#888}.file-actions{display:flex;gap:6px;flex-shrink:0;margin-left:12px}.btn-file-action{padding:4px 10px;border:1px solid var(--border-color);border-radius:4px;background:#fff;font-size:12px;color:#555;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-file-action:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-file-delete:hover{border-color:#dc2626;color:#dc2626}.btn-edit-comment{background:none;border:none;font-size:12px;color:#888;cursor:pointer;padding:2px 6px}.btn-edit-comment:hover{color:var(--primary-color)}.comment-edit-section{margin-top:6px}.comment-edit-section textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;resize:vertical;min-height:70px;font-family:inherit}.comment-edit-section textarea:focus{outline:none;border-color:var(--primary-color)}.comment-edit-actions{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}.btn-sm{padding:4px 12px!important;font-size:12px!important}.file-count,.task-detail-tabs .file-count{font-size:12px;color:#888}@media (max-width: 768px){.file-item{flex-direction:column;align-items:flex-start;gap:8px}.file-actions{margin-left:0;width:100%}.btn-file-action{flex:1;text-align:center}.file-upload-area{padding:16px}}.ai-chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #6366f166;transition:all .3s ease;z-index:1000}.ai-chat-fab:hover{transform:scale(1.05);box-shadow:0 6px 20px #6366f180}.ai-fab-text{font-size:16px;font-weight:700;letter-spacing:-.5px}.ai-chat-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-chat-modal{width:95vw;height:90vh;max-width:1200px;background:#f9fafb;border-radius:16px;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-chat-sidebar{width:280px;min-width:280px;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;transition:all .3s ease;overflow:hidden}.ai-chat-sidebar.closed{width:0;min-width:0;opacity:0;pointer-events:none}.ai-sidebar-header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #333}.ai-sidebar-header h2{font-size:18px;font-weight:600}.ai-sidebar-close{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.ai-sidebar-close:hover{color:#fff;background:#333}.ai-new-chat-btn{margin:16px;padding:12px 16px;background:#333;border:1px solid #444;color:#fff;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.ai-new-chat-btn:hover:not(:disabled){background:#444}.ai-new-chat-btn:disabled{opacity:.5;cursor:not-allowed}.ai-session-list{flex:1;overflow-y:auto;padding:0 8px}.ai-session-list-label{padding:12px 8px 8px;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.ai-session-empty{padding:20px;text-align:center;color:#666;font-size:13px}.ai-session-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:2px}.ai-session-item:hover{background:#2a2a2a}.ai-session-item.active{background:#333}.ai-session-item .session-icon{color:#888;flex-shrink:0}.ai-session-item .session-info{flex:1;min-width:0}.ai-session-item .session-title{display:block;font-size:14px;color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-session-item .session-date{font-size:11px;color:#666}.ai-session-item .session-delete-btn{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:all .2s}.ai-session-item:hover .session-delete-btn{opacity:1}.ai-session-item .session-delete-btn:hover{background:#c41230;color:#fff}.ai-sidebar-footer{padding:16px;border-top:1px solid #333;font-size:11px;color:#666;text-align:center}.ai-chat-main{flex:1;display:flex;flex-direction:column;background:#fff}.ai-chat-main-header{padding:16px 24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #e5e7eb;background:#fff}.ai-chat-main-header h3{flex:1;font-size:16px;font-weight:500;color:#374151}.ai-sidebar-toggle{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center}.ai-sidebar-toggle:hover{background:#f3f4f6;color:#222}.ai-modal-close{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center}.ai-modal-close:hover{background:#fee2e2;color:#c41230}.ai-character-tabs{display:flex;gap:8px;padding:12px 24px;background:#f8fafc;border-bottom:1px solid #e5e7eb;overflow-x:auto;-webkit-overflow-scrolling:touch}.ai-character-tabs::-webkit-scrollbar{display:none}.ai-character-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-size:14px;color:#374151}.ai-character-tab:hover:not(.disabled){border-color:#6366f1;background:#f5f3ff}.ai-character-tab.active{border-color:#6366f1;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.ai-character-tab.active .tab-emoji{filter:brightness(1.1)}.ai-character-tab.disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6}.ai-character-tab .tab-emoji{font-size:18px}.ai-character-tab .tab-name{font-weight:500}.ai-character-tab .tab-badge{font-size:10px;padding:2px 6px;background:#fef3c7;color:#92400e;border-radius:10px;margin-left:4px}.ai-character-tab.active .tab-badge{background:#ffffff4d;color:#fff}.ai-chat-messages-container{flex:1;overflow-y:auto;background:#f9fafb}.ai-chat-welcome-full{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.ai-chat-welcome-full .welcome-icon{font-size:64px;margin-bottom:24px}.ai-chat-welcome-full h2{font-size:28px;font-weight:600;color:#111827;margin-bottom:12px}.ai-chat-welcome-full>p{font-size:16px;color:#6b7280;margin-bottom:32px}.ai-data-notice{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px 20px;margin-bottom:24px;max-width:500px;font-size:14px;color:#92400e;line-height:1.6;text-align:left}.welcome-suggestions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.welcome-suggestions button{padding:12px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.welcome-suggestions button:hover{background:#f3f4f6;border-color:#c41230;color:#c41230}.ai-chat-messages-full{max-width:800px;margin:0 auto;padding:24px}.ai-message-row{display:flex;gap:16px;margin-bottom:24px}.ai-message-row.user{flex-direction:row-reverse}.ai-message-avatar{width:40px;height:40px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ai-message-row.user .ai-message-avatar{background:#c41230}.ai-message-wrapper{flex:1;max-width:80%}.ai-message-row.user .ai-message-wrapper{text-align:right}.ai-message-role{font-size:13px;font-weight:500;color:#6b7280;margin-bottom:6px}.ai-message-text{background:#fff;padding:16px 20px;border-radius:16px;font-size:15px;line-height:1.7;color:#1f2937;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 3px #0000000d;display:inline-block;text-align:left}.ai-message-row.user .ai-message-text{background:#c41230;color:#fff}.ai-message-time{font-size:11px;color:#9ca3af;margin-top:6px}.ai-typing-indicator{display:flex;gap:6px;padding:16px 20px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d}.ai-typing-indicator span{width:10px;height:10px;background:#9ca3af;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.ai-typing-indicator span:nth-child(2){animation-delay:.2s}.ai-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.ai-chat-input-container{padding:16px 24px 24px;background:#fff;border-top:1px solid #e5e7eb}.ai-chat-input-wrapper{max-width:800px;margin:0 auto;display:flex;gap:12px;align-items:flex-end;background:#f3f4f6;border-radius:16px;padding:8px 8px 8px 20px}.ai-chat-input-wrapper textarea{flex:1;border:none;background:transparent;font-size:16px;line-height:1.5;resize:none;outline:none;min-height:24px;max-height:200px;padding:8px 0}.ai-chat-input-wrapper textarea::placeholder{color:#9ca3af}.ai-send-btn{width:44px;height:44px;border-radius:12px;background:#c41230;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-send-btn:hover:not(:disabled){background:#9e0f27}.ai-send-btn:disabled{background:#d1d5db;cursor:not-allowed}.ai-input-hint{max-width:800px;margin:8px auto 0;font-size:12px;color:#9ca3af;text-align:center}@media (max-width: 768px){.ai-chat-fab{bottom:calc(150px + env(safe-area-inset-bottom,0px));right:16px;left:auto;width:48px;height:48px}.ai-fab-text{font-size:14px}.ai-chat-modal{width:100%;height:100%;max-width:none;border-radius:0}.ai-chat-sidebar{position:absolute;left:0;top:0;bottom:0;z-index:100;width:280px;min-width:280px;transform:translate(0);opacity:1;pointer-events:auto}.ai-chat-sidebar.closed{transform:translate(-100%);opacity:0;pointer-events:none}.ai-chat-welcome-full h2{font-size:22px}.welcome-suggestions{flex-direction:column}.welcome-suggestions button{width:100%}.ai-chat-messages-full{padding:16px}.ai-message-wrapper{max-width:90%}.ai-character-tabs{padding:10px 16px;gap:6px}.ai-character-tab{padding:8px 12px;font-size:13px}.ai-character-tab .tab-emoji{font-size:16px}.ai-character-tab .tab-badge{font-size:9px;padding:1px 5px}}.admin-ai-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon.users{background:#dbeafe;color:#2563eb}.stat-icon.sessions{background:#dcfce7;color:#16a34a}.stat-icon.messages{background:#fef3c7;color:#d97706}.stat-icon.today{background:#fce7f3;color:#db2777}.stat-icon.weekly{background:#e0e7ff;color:#4f46e5}.stat-icon.active{background:#d1fae5;color:#059669}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#111827;line-height:1.2}.stat-label{font-size:13px;color:#6b7280;margin-top:4px}.admin-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.admin-section h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px}.admin-table-container{overflow-x:auto}.admin-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{font-size:13px;font-weight:600;color:#6b7280;background:#f9fafb}.admin-table td{font-size:14px;color:#374151}.admin-table .user-name{font-weight:500;color:#111827}.admin-table .empty-row{text-align:center;color:#9ca3af;padding:40px}.btn-view{padding:6px 12px;font-size:13px;color:#4f46e5;background:#eef2ff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-view:hover{background:#e0e7ff}.btn-back{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#6b7280;display:flex;align-items:center}.btn-back:hover{background:#f3f4f6;color:#111827}.page-header-left{display:flex;align-items:center;gap:8px}.user-sessions-list{display:flex;flex-direction:column;gap:12px}.session-card{padding:16px;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s}.session-card:hover{border-color:#4f46e5;background:#f5f3ff}.session-title{font-size:15px;font-weight:500;color:#111827;margin-bottom:8px}.session-meta{display:flex;gap:16px;font-size:13px;color:#6b7280}.session-messages-view{display:flex;flex-direction:column;gap:16px;max-height:600px;overflow-y:auto}.admin-message{padding:16px;border-radius:12px;background:#f3f4f6}.admin-message.assistant{background:#eef2ff;border-left:4px solid #4f46e5}.admin-message.user{background:#f9fafb;border-left:4px solid #9ca3af}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-role{font-size:13px;font-weight:600;color:#374151}.admin-message.assistant .message-role{color:#4f46e5}.message-time{font-size:12px;color:#9ca3af}.message-content{font-size:14px;color:#374151;line-height:1.6;white-space:pre-wrap}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af;font-size:15px}.action-buttons{display:flex;gap:8px}.btn-profile{padding:6px 12px;font-size:13px;background:#f0fdf4;color:#16a34a;border:1px solid #86efac;border-radius:6px;cursor:pointer;transition:all .2s}.btn-profile:hover{background:#dcfce7}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.profile-header h2{margin:0;font-size:18px;color:#111827}.btn-analyze{padding:8px 16px;font-size:14px;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-analyze:hover:not(:disabled){background:#4338ca}.btn-analyze:disabled{background:#9ca3af;cursor:not-allowed}.profile-content{background:#fff;border-radius:12px;padding:24px}.profile-meta{display:flex;gap:24px;padding-bottom:20px;border-bottom:1px solid #e5e7eb;margin-bottom:24px;font-size:14px;color:#6b7280}.profile-section{margin-bottom:28px}.profile-section:last-child{margin-bottom:0}.profile-section h3{font-size:15px;font-weight:600;color:#374151;margin:0 0 12px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.tag.interest{background:#dbeafe;color:#1d4ed8}.tag.work{background:#dcfce7;color:#15803d}.empty-text{color:#9ca3af;font-size:14px}.style-info{display:flex;gap:16px;align-items:center}.style-badge{display:inline-block;padding:8px 16px;background:#f3f4f6;border-radius:8px;font-size:14px;font-weight:500;color:#374151}.avg-length{font-size:14px;color:#6b7280}.topic-bars{display:flex;flex-direction:column;gap:12px}.topic-bar{display:flex;align-items:center;gap:12px}.topic-name{width:60px;font-size:14px;color:#374151}.topic-bar-outer{flex:1;height:24px;background:#f3f4f6;border-radius:12px;overflow:hidden}.topic-bar-inner{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:12px;transition:width .3s ease}.topic-percent{width:40px;text-align:right;font-size:13px;color:#6b7280}.word-cloud{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline}.word-item{color:#4f46e5;font-weight:500}.word-item small{color:#9ca3af;font-size:11px}@media (max-width: 768px){.admin-ai-stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-icon{width:40px;height:40px}.stat-value{font-size:22px}.admin-table th,.admin-table td{padding:10px 12px;font-size:13px}}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.category-btn{padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.category-btn:hover{border-color:#c41230;color:#c41230}.category-btn.active{background:#c41230;border-color:#c41230;color:#fff}.company-info-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.company-info-list .info-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:all .2s}.company-info-list .info-card:hover{box-shadow:0 4px 12px #00000026}.company-info-list .info-card.inactive{opacity:.6;background:#f9fafb}.info-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.info-category{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1d4ed8;border-radius:12px;font-size:12px;font-weight:500}.info-priority{font-size:12px;color:#9ca3af}.info-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 12px;line-height:1.4}.info-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:#6b7280;margin-bottom:16px}.inactive-badge{padding:2px 8px;background:#fee2e2;color:#dc2626;border-radius:4px;font-size:11px}.info-actions{display:flex;gap:8px}.info-actions button{padding:6px 12px;font-size:13px;border-radius:6px;cursor:pointer;transition:all .2s}.btn-edit{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.btn-edit:hover{background:#e5e7eb}.btn-toggle{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.btn-toggle:hover{background:#fde68a}.btn-toggle.activate{background:#dcfce7;border-color:#86efac;color:#166534}.btn-delete{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.btn-delete:hover{background:#fecaca}.modal-content{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:20px;font-weight:700;color:#111827;margin:0}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .2s}.modal-close:hover{background:#e5e7eb;color:#374151}.company-info-modal{max-width:600px;width:95%}.company-info-modal .form-group{margin-bottom:20px}.company-info-modal label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.company-info-modal input,.company-info-modal select,.company-info-modal textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:16px}.company-info-modal textarea{resize:vertical;min-height:150px;font-family:inherit;line-height:1.6}.company-info-modal input:focus,.company-info-modal select:focus,.company-info-modal textarea:focus{outline:none;border-color:#c41230}.form-hint{margin-top:4px;font-size:12px;color:#9ca3af}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-cancel{padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer}.btn-submit{padding:10px 24px;background:#c41230;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer}.btn-submit:hover{background:#a00f28}@media (max-width: 768px){.page-container{padding:20px 16px}.page-container .page-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px}.page-container .page-header h1{font-size:22px}.page-container .page-header .btn{width:100%;text-align:center;justify-content:center}.company-info-list{grid-template-columns:1fr}.category-filter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;-webkit-overflow-scrolling:touch;margin-bottom:16px}.category-btn{flex-shrink:0;padding:8px 14px;font-size:13px}.info-card{padding:16px}.info-title{font-size:15px}.info-actions{flex-wrap:wrap}.info-actions button{padding:8px 12px;font-size:12px}.modal-overlay{padding:16px;align-items:flex-start;padding-top:10vh}.modal-content{width:100%;max-width:none;max-height:80vh;margin:0;padding:20px;border-radius:12px}.company-info-modal{width:100%;max-width:none;max-height:80vh}.modal-header{margin-bottom:16px;padding-bottom:12px}.modal-header h2{font-size:18px}.company-info-modal textarea{min-height:120px}.form-actions{flex-direction:column-reverse;gap:8px}.form-actions button{width:100%}.btn-cancel,.btn-submit{padding:12px 16px}}.chat-shortcut-btn{position:fixed;right:24px;bottom:100px;z-index:999;width:52px;height:52px;border-radius:50%;background:#c41230;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #c4123059;transition:background .2s,transform .2s}.chat-shortcut-btn:hover{background:#a30f28;transform:scale(1.05)}.chat-shortcut-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid white}@media (max-width: 1024px){.chat-shortcut-btn{display:none}}.mobile-files{padding-bottom:80px}.mobile-folder-list{padding:16px}.mobile-folder-group{margin-bottom:20px}.mobile-folder-group-title{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;background:var(--bg-gray);border-radius:8px;margin-bottom:8px}.mobile-folder-item{display:flex;align-items:center;padding:14px 12px;background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:background .2s}.mobile-folder-item:active{background:#f5f5f5}.mobile-folder-item.active{background:#c412300d;border:1px solid var(--primary-color)}.mobile-folder-item .folder-icon{margin-right:12px;display:flex}.mobile-folder-item .folder-name{flex:1;font-size:15px;font-weight:500;color:var(--text-dark)}.mobile-folder-item .folder-count{font-size:13px;color:var(--text-light);background:var(--bg-gray);padding:2px 8px;border-radius:10px}.mobile-file-list{padding:16px}.mobile-file-info{font-size:13px;color:var(--text-light);margin-bottom:12px;padding-left:4px}.mobile-file-item{display:flex;align-items:center;padding:14px 12px;background:#fff;border-radius:10px;margin-bottom:8px;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:background .2s}.mobile-file-item:active{background:#f5f5f5}.mobile-file-item .file-icon{margin-right:12px;display:flex}.mobile-file-item .file-info{flex:1;min-width:0}.mobile-file-item .file-name{font-size:14px;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.mobile-file-item .file-meta{display:flex;gap:8px;font-size:12px;color:var(--text-light)}.mobile-file-item .file-meta span{position:relative}.mobile-file-item .file-meta span:not(:last-child):after{content:"·";position:absolute;right:-6px;color:var(--border-color)}.mobile-file-item .file-download{padding:8px;color:var(--text-light)}.mobile-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 0;margin-top:12px}.mobile-pagination button{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;font-size:14px;color:var(--text-gray);cursor:pointer}.mobile-pagination button:disabled{opacity:.4;cursor:not-allowed}.mobile-pagination span{font-size:14px;color:var(--text-gray)}.main-banner{display:flex;min-height:550px;background:#121212;border-radius:2.5rem;margin:1.5rem;overflow:hidden;position:relative;box-shadow:0 25px 50px -12px #00000040;border:1px solid rgba(255,255,255,.05)}.banner-branding{width:28%;min-width:280px;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:20;background:linear-gradient(to right,#121212 70%,transparent)}.portal-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#c412301a;border:1px solid rgba(196,18,48,.2);border-radius:50px;width:fit-content;margin-bottom:1.5rem}.badge-dot{width:8px;height:8px;background:#c41230;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.badge-text{font-size:11px;font-weight:700;color:#c41230;letter-spacing:.05em}.brand-title{font-size:3rem;font-weight:900;color:#fff;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em}.brand-highlight{color:#c41230}.brand-slogan{font-size:1.1rem;color:#9ca3af;line-height:1.6;margin-bottom:2.5rem;font-weight:300}.brand-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-brand-primary{display:flex;align-items:center;gap:8px;padding:1rem 2rem;background:#c41230;color:#fff;font-weight:700;border-radius:1rem;text-decoration:none;transition:all .3s}.btn-brand-primary:hover{background:#a30f28;transform:translateY(-4px);box-shadow:0 10px 30px #c412304d}.btn-brand-primary svg{width:20px;height:20px;transition:transform .3s}.btn-brand-primary:hover svg{transform:translate(4px)}.btn-brand-secondary{padding:1rem 2rem;background:#ffffff0d;color:#fff;font-weight:500;border-radius:1rem;border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:all .3s}.btn-brand-secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.banner-visual{flex:1;position:relative;overflow:hidden;min-height:400px}.visual-slides{position:absolute;top:0;right:0;bottom:0;left:0}.visual-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1s ease-in-out;background-size:cover;background-position:center;background-color:#1a1a1a}.visual-slide.active{opacity:1}.visual-slide:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#3b82f64d,#00000080)}.slide-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(135deg,#3b82f633,#0006)}.play-button{width:80px;height:80px;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.play-button:hover{transform:scale(1.1);background:#ffffff26;border-color:#ffffff4d}.play-button svg{width:32px;height:32px;color:#fff}.slide-placeholder p{color:#fff;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.visual-caption{position:absolute;bottom:2rem;left:2rem;right:2rem;background:#0006;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;z-index:30;box-shadow:0 8px 32px #0000004d}.caption-badge{display:block;font-size:10px;font-weight:800;color:#c41230;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.caption-title{font-size:1.1rem;font-weight:700;color:#fff;margin:0}.caption-desc{font-size:12px;color:#9ca3af;margin:4px 0 0}.slide-dots{display:flex;gap:8px}.slide-dot{width:8px;height:8px;border-radius:4px;background:#ffffff4d;border:none;cursor:pointer;transition:all .3s}.slide-dot.active{width:24px;background:#c41230}.main-banner>.banner-info{width:20%;min-width:260px;background:#1a1a1a!important;border-left:1px solid rgba(255,255,255,.1);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;z-index:20}.main-banner .info-card{display:flex;flex-direction:column;gap:.75rem;background:transparent!important;box-shadow:none!important;padding:0!important}.main-banner .info-label{display:flex;align-items:center;gap:8px;color:#9ca3af}.main-banner .info-label svg{width:16px;height:16px}.main-banner .info-label span{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.main-banner .info-content{padding:1.25rem;border-radius:1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.main-banner .info-content:hover{background:#ffffff0d;transform:scale(1.02)}.main-banner .info-content p{font-size:14px;color:#d1d5db;line-height:1.6;margin:0;font-style:italic}.main-banner .info-content.vision{background:#c4123026;border-color:#c412304d}.main-banner .info-content.vision p{color:#fff;font-weight:700;text-align:center}.main-banner .core-values-card{flex:1}.main-banner .core-values-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.main-banner .core-value-item{width:calc(33.33% - .35rem);display:flex;align-items:center;justify-content:center;padding:.6rem .4rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;font-size:11px;font-weight:600;color:#e5e7eb;text-align:center;transition:all .3s}.main-banner .core-value-item:hover{background:#c4123033;border-color:#c4123066;color:#fff}.main-banner .events-card{flex:1;margin-top:.5rem}.main-banner .events-list{display:flex;flex-direction:column;gap:.5rem}.main-banner .event-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:1rem;cursor:pointer;transition:all .3s}.main-banner .event-item:hover{background:#ffffff0d;border-color:#c412304d}.main-banner .event-item.empty{justify-content:center;padding:1rem}.main-banner .event-item.empty p{font-size:12px;color:#6b7280;margin:0}.main-banner .event-type{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.main-banner .event-type span{font-size:10px;font-weight:800;text-transform:uppercase}.main-banner .event-info{flex:1;min-width:0}.main-banner .event-info h4{font-size:12px;color:#fff;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-banner .event-info p{font-size:10px;color:#9ca3af;margin:3px 0 0}.main-banner .today-datetime{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;text-align:center}.main-banner .datetime-date{font-size:13px;font-weight:600;color:#e5e7eb;display:flex;align-items:center;gap:.5rem}.main-banner .datetime-day{font-size:11px;font-weight:500;color:#c41230;background:#c4123026;padding:2px 8px;border-radius:4px}.main-banner .datetime-time{font-size:1.5rem;font-weight:900;color:#fff;margin-top:4px;font-family:Roboto Mono,monospace;letter-spacing:.05em}.main-banner .quick-stats{display:flex;align-items:center;justify-content:space-around;padding-top:1rem;margin-top:auto;border-top:1px solid rgba(255,255,255,.08)}.main-banner .stat-item{text-align:center}.main-banner .stat-label{display:block;font-size:10px;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.main-banner .stat-value{display:block;font-size:1.5rem;font-weight:900;color:#fff;margin-top:4px}.main-banner .stat-divider{width:1px;height:40px;background:#ffffff1a}.banner-glow{position:absolute;top:0;right:0;width:40%;height:100%;background:#c412300d;filter:blur(120px);pointer-events:none}@media (max-width: 1024px){.main-banner{flex-direction:column;min-height:auto}.main-banner .banner-branding{width:100%;padding:2rem;background:#121212}.main-banner .brand-title{font-size:2.5rem}.main-banner .banner-visual{min-height:300px}.main-banner>.banner-info{width:100%;min-width:auto;flex-direction:row;flex-wrap:wrap;gap:1rem;padding:1.5rem}.main-banner .info-card{flex:1;min-width:200px}.main-banner .core-values-card{flex:2;margin-top:0}.main-banner .core-values-grid{gap:.5rem}.main-banner .core-value-item{width:calc(20% - .5rem);padding:.5rem}.main-banner .quick-stats{width:100%;padding:1rem 0 0;border-top:none}}@media (max-width: 768px){.main-banner{margin:.75rem;border-radius:1.5rem}.main-banner .banner-branding{padding:1.5rem}.main-banner .brand-title{font-size:2rem}.main-banner .brand-slogan{font-size:1rem}.main-banner .brand-actions{flex-direction:column}.main-banner .btn-brand-primary,.main-banner .btn-brand-secondary{width:100%;justify-content:center}.main-banner .banner-visual{min-height:250px}.main-banner .visual-caption{left:1rem;right:1rem;bottom:1rem;padding:1rem}.main-banner .caption-title{font-size:.95rem}.main-banner .slide-dots{display:none}.main-banner>.banner-info{flex-direction:column;padding:1rem}.main-banner .info-card{min-width:100%}}.admin-site-settings .tab-nav{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.admin-site-settings .tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--text-gray);cursor:pointer;border-radius:8px;transition:all .2s}.admin-site-settings .tab-btn:hover{background:#f5f5f5}.admin-site-settings .tab-btn.active{background:var(--primary-color);color:#fff}.settings-panel{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 8px #0000000d}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{font-size:16px;font-weight:600;margin-bottom:1.5rem;color:var(--text-dark)}.banners-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.banners-panel .panel-desc{color:var(--text-gray);font-size:14px;margin:0}.banner-list{display:flex;flex-direction:column;gap:1rem}.banner-card{display:flex;gap:1.5rem;padding:1.5rem;background:#fff;border:1px solid var(--border-color);border-radius:12px;transition:all .2s}.banner-card:hover{box-shadow:0 4px 12px #00000014}.banner-card.inactive{opacity:.6;background:#f9f9f9}.banner-preview{width:160px;height:90px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f0f0f0}.banner-preview img{width:100%;height:100%;object-fit:cover}.banner-preview .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}.banner-card .banner-info{flex:1;min-width:0}.banner-card .banner-info .banner-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.banner-card .banner-info h4{font-size:15px;font-weight:600;margin:0}.banner-card .banner-info .status-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.banner-card .banner-info .status-badge.active{background:#dcfce7;color:#16a34a}.banner-card .banner-info .status-badge.inactive{background:#f3f4f6;color:#6b7280}.banner-card .banner-info .banner-subtitle{font-size:13px;color:var(--text-gray);margin:0 0 .5rem}.banner-card .banner-info .banner-meta{display:flex;gap:1rem;font-size:12px;color:#999}.banner-actions{display:flex;flex-direction:column;gap:.5rem;align-self:center}.banner-actions .btn-sm{padding:6px 12px;font-size:12px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.banner-actions .btn-sm:hover{background:#f5f5f5}.banner-actions .btn-sm.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.banner-actions .btn-sm.btn-danger{color:#dc2626;border-color:#dc2626}.banner-actions .btn-sm.btn-danger:hover{background:#dc2626;color:#fff}.banner-modal{max-width:600px}.banner-modal .image-upload{display:flex;flex-direction:column;gap:1rem}.banner-modal .image-preview{width:100%;max-width:300px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.banner-modal .image-preview img{width:100%;height:auto}.banner-modal .uploading{color:var(--primary-color);font-size:13px}.site-footer{background:#121212;color:#fff;padding:3rem 2rem 2rem;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand .brand-name{font-size:1.25rem;font-weight:900;color:#c41230;font-style:italic;letter-spacing:-.02em}.footer-brand .brand-tagline{font-size:12px;color:#666;letter-spacing:.2em;font-weight:300}.footer-copyright{font-size:11px;color:#666}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:11px;color:#666;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:600;transition:color .2s}.footer-links a:hover{color:#c41230}@media (max-width: 768px){.site-footer{padding:2rem 1rem}.footer-content{flex-direction:column;text-align:center;gap:1.5rem}.footer-brand{flex-direction:column;gap:.5rem}.footer-links{flex-wrap:wrap;justify-content:center}}@media (max-width: 768px){.banner-card{flex-direction:column}.banner-preview{width:100%;height:150px}.banner-actions{flex-direction:row;width:100%}.banner-actions .btn-sm{flex:1}}.home-page.home-v2{background:var(--home-bg, #0a0a0a);color:var(--home-text, #fff);min-height:100vh;min-height:100dvh;padding-bottom:4rem;transition:background .3s ease,color .3s ease}[data-theme=dark] .home-page.home-v2,.home-page.home-v2{--home-bg: #0a0a0a;--home-text: #fff;--home-text-secondary: #d1d5db;--home-text-muted: #9ca3af;--home-text-subtle: #6b7280;--home-card-bg: #121212;--home-card-bg-secondary: #1a1a1a;--home-card-border: rgba(255, 255, 255, .05);--home-card-border-hover: rgba(196, 18, 48, .3);--home-glass-bg: rgba(255, 255, 255, .02);--home-glass-border: rgba(255, 255, 255, .05)}[data-theme=light] .home-page.home-v2{--home-bg: #f5f5f5;--home-text: #222;--home-text-secondary: #444;--home-text-muted: #666;--home-text-subtle: #888;--home-card-bg: #fff;--home-card-bg-secondary: #fafafa;--home-card-border: rgba(0, 0, 0, .08);--home-card-border-hover: rgba(196, 18, 48, .2);--home-glass-bg: rgba(255, 255, 255, .8);--home-glass-border: rgba(0, 0, 0, .1)}.greeting-section{max-width:var(--max-width);margin:0 auto;padding:0 2rem 3rem}.signature-alert-banner{display:flex;align-items:center;gap:16px;padding:16px 24px;margin-bottom:20px;background:linear-gradient(135deg,#fff3cd,#ffe69c);border:1px solid #ffda6a;border-radius:16px;color:#664d03;cursor:pointer;transition:all .3s ease;text-decoration:none}.signature-alert-banner:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ffc1074d}.signature-alert-icon{font-size:28px;flex-shrink:0}.signature-alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.signature-alert-content strong{font-size:16px;font-weight:700;color:#664d03}.signature-alert-content span{font-size:13px;color:#997404}.signature-alert-arrow{flex-shrink:0}.signature-alert-arrow svg{width:20px;height:20px;color:#997404}@media (max-width: 768px){.signature-alert-banner{padding:12px 16px;border-radius:12px}.signature-alert-icon{font-size:24px}.signature-alert-content strong{font-size:14px}.signature-alert-content span{font-size:12px}}.greeting-content{display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;background:var(--home-glass-bg);border:1px solid var(--home-glass-border);border-radius:2.5rem;transition:all .3s ease}@media (min-width: 768px){.greeting-content{flex-direction:row;align-items:flex-end;justify-content:space-between}}.greeting-text h2{font-size:1.75rem;font-weight:700;color:var(--home-text);margin-bottom:.5rem}.greeting-text h2 .highlight{color:#c41230}.greeting-text p{color:var(--home-text-muted);font-weight:300;font-style:italic}.my-activity-stats{display:flex;gap:1.5rem;align-items:center}.activity-stat{text-align:right;padding:0 1.5rem}.activity-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--home-text-subtle);margin-bottom:.25rem}.activity-value{font-size:1.5rem;font-weight:900;color:var(--home-text)}.activity-divider{width:1px;height:40px;background:var(--home-glass-border)}.communication-hub{max-width:var(--max-width);margin:0 auto;padding:0 2rem 3rem;display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 1024px){.communication-hub{grid-template-columns:1fr 1fr}}.hub-card{background:#121212;border:1px solid rgba(255,255,255,.05);border-radius:2.5rem;padding:2.5rem;transition:all .3s ease}.hub-card:hover{border-color:#c4123033}.hub-card.files-card:hover{border-color:#3b82f633}.hub-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.hub-card-icon{width:40px;height:40px;border-radius:1rem;display:flex;align-items:center;justify-content:center}.hub-card-icon.notice-icon{background:#c412301a;color:#c41230}.hub-card-icon.files-icon{background:#3b82f61a;color:#3b82f6}.hub-card-icon svg{width:20px;height:20px}.hub-card-header h3{font-size:1.25rem;font-weight:700;color:#fff;flex:1}.hub-more{display:flex;align-items:center;gap:.25rem;font-size:12px;color:#6b7280;transition:color .2s}.hub-more:hover{color:#fff}.hub-more svg{width:14px;height:14px}.hub-list{display:flex;flex-direction:column}.hub-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:1rem;border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s}.hub-item:last-child{border-bottom:none}.hub-item:hover{background:#ffffff08}.hub-item.empty{justify-content:center;color:#6b7280;font-size:14px;padding:2rem}.hub-item-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.hub-item-link{display:flex;align-items:center;justify-content:space-between;width:100%}.hub-badge{padding:.25rem .5rem;font-size:10px;font-weight:700;border-radius:4px;flex-shrink:0}.hub-badge.important{background:#c41230;color:#fff}.hub-badge.normal{background:#374151;color:#9ca3af}.hub-item-title{font-size:14px;font-weight:500;color:#d1d5db;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.hub-item:hover .hub-item-title{color:#c41230}.files-card .hub-item:hover .hub-item-title{color:#3b82f6}.hot-dot{width:6px;height:6px;background:#c41230;border-radius:50%;animation:ping 1s cubic-bezier(0,0,.2,1) infinite;flex-shrink:0}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.hub-item-date{font-size:12px;color:#6b7280;font-family:SF Mono,Monaco,monospace;flex-shrink:0}.file-type-badge{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:10px;font-weight:900;font-style:italic;flex-shrink:0}.file-type-badge.pdf{background:#c412301a;color:#c41230}.file-type-badge.xls,.file-type-badge.xlsx{background:#22c55e1a;color:#22c55e}.file-type-badge.doc,.file-type-badge.docx{background:#3b82f61a;color:#3b82f6}.file-type-badge.hwp,.file-type-badge.hwpx{background:#0085ca1a;color:#0085ca}.file-type-badge.ppt,.file-type-badge.pptx{background:#f973161a;color:#f97316}.file-type-badge.img{background:#8b5cf61a;color:#8b5cf6}.file-type-badge.file{background:#6b72801a;color:#6b7280}.workspace-grid{max-width:var(--max-width);margin:0 auto;padding:0 2rem 3rem;display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.workspace-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.workspace-grid{grid-template-columns:repeat(4,1fr)}}.workspace-card{background:#1a1a1a;border:1px solid rgba(255,255,255,.05);border-radius:2rem;padding:2rem;min-height:220px;display:flex;flex-direction:column;transition:all .3s ease}.workspace-card:hover{border-color:#c412304d}.workspace-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.workspace-icon{width:20px;height:20px;color:#c41230}.workspace-icon svg{width:20px;height:20px}.workspace-card-header h4{font-size:14px;font-weight:700;color:#d1d5db;text-transform:uppercase;letter-spacing:-.02em;flex:1}.workspace-link{padding:.375rem;border-radius:8px;background:#ffffff0d;color:#6b7280;transition:all .2s}.workspace-link:hover{background:#ffffff1a;color:#fff}.workspace-link.accent{color:#c41230}.workspace-link svg{width:16px;height:16px}.workspace-content{flex:1;display:flex;flex-direction:column}.workspace-empty{flex:1;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(255,255,255,.05);border-radius:1rem;padding:2rem}.workspace-empty p{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#4b5563}.workspace-todo-list{display:flex;flex-direction:column;gap:.75rem}.workspace-todo-list li{display:flex;align-items:center}.workspace-todo-list li label{display:flex;align-items:center;gap:.75rem;cursor:pointer;width:100%}.workspace-todo-list li input[type=checkbox]{width:16px;height:16px;border-radius:4px;border:2px solid rgba(255,255,255,.2);background:transparent;cursor:pointer;accent-color:#c41230}.workspace-todo-list li span{font-size:13px;color:#d1d5db}.workspace-todo-list li.completed span{text-decoration:line-through;color:#6b7280}.workspace-event-list{display:flex;flex-direction:column;gap:.75rem}.workspace-event-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;background:#ffffff05}.workspace-event-list .event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.workspace-event-list .event-name{flex:1;font-size:12px;color:#d1d5db;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-event-list .event-date{font-size:11px;color:#6b7280;font-family:SF Mono,Monaco,monospace}.workspace-project-list{display:flex;flex-direction:column;gap:1rem}.workspace-project-item{display:block;padding:1rem;border-radius:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.05);transition:all .2s}.workspace-project-item:hover{background:#ffffff14}.workspace-project-item .project-tag{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c41230;margin-bottom:.5rem}.workspace-project-item h5{font-size:12px;font-weight:700;color:#fff;margin-bottom:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-project-item .project-progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.workspace-project-item .progress-fill{height:100%;background:#c41230;border-radius:2px;transition:width .3s ease}.workspace-project-item .project-percent{font-size:10px;color:#6b7280}.workspace-task-list{display:flex;flex-direction:column;gap:.75rem}.workspace-task-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;background:#ffffff05}.workspace-task-list .task-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.workspace-task-list .task-name{flex:1;font-size:12px;color:#d1d5db;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-task-list .task-status{font-size:10px;font-weight:600}.quick-actions{max-width:var(--max-width);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 768px){.quick-actions{grid-template-columns:repeat(5,1fr)}}.quick-action-item{background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);border-radius:2rem;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease}.quick-action-item:hover{background:#ffffff1a;transform:translateY(-8px)}.quick-action-item.disabled{cursor:not-allowed;opacity:.5}.quick-action-item.disabled:hover{transform:none;background:#ffffff0d}.action-icon{width:48px;height:48px;border-radius:1rem;background:#ffffff0d;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .3s ease}.quick-action-item:not(.disabled):hover .action-icon{background:#c41230}.action-icon svg{width:20px;height:20px;color:#9ca3af;transition:color .3s}.quick-action-item:not(.disabled):hover .action-icon svg{color:#fff}.quick-action-item h5{font-size:14px;font-weight:700;color:#d1d5db;margin-bottom:.25rem}.action-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b7280;transition:color .3s}.action-status.active{color:#22c55e}.action-status.warning{color:#ef4444;font-size:9px;text-transform:none;letter-spacing:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.action-icon{position:relative}.quick-action-item.disabled .action-status{color:#f59e0b}.quick-action-item:not(.disabled):hover .action-status{color:#c41230}@media (max-width: 768px){.greeting-content{padding:1.5rem;border-radius:1.5rem}.greeting-text h2{font-size:1.25rem}.my-activity-stats{flex-wrap:wrap;gap:1rem}.activity-stat{padding:0 1rem;text-align:center}.activity-value{font-size:1.25rem}.hub-card{padding:1.5rem;border-radius:1.5rem}.workspace-card{padding:1.5rem;border-radius:1.5rem;min-height:180px}.quick-action-item{padding:1rem;border-radius:1.5rem}.action-icon{width:40px;height:40px}}.executive-report-page{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#0f172a,#1e293b);padding:0}.executive-report-page .report-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:#0f172acc;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.executive-report-page .btn-back{background:#ffffff1a;border:none;width:40px;height:40px;border-radius:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.executive-report-page .btn-back:hover{background:#fff3}.executive-report-page .header-info h1{font-size:1.5rem;color:#fff;font-weight:700}.executive-report-page .header-info .report-period{font-size:.875rem;color:#fff9}.executive-report-page .btn-refresh{margin-left:auto;background:#3b82f633;border:1px solid rgba(59,130,246,.3);width:40px;height:40px;border-radius:10px;color:#60a5fa;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.executive-report-page .btn-refresh:hover{background:#3b82f64d}.executive-report-page .report-type-selector{max-width:900px;margin:3rem auto;padding:2rem;text-align:center}.executive-report-page .report-type-selector h2{color:#fff;font-size:1.5rem;margin-bottom:2rem}.executive-report-page .type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.executive-report-page .type-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.25rem 1rem;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:.75rem}.executive-report-page .type-card:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-4px)}.executive-report-page .type-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center}.executive-report-page .type-icon svg{width:24px;height:24px}.executive-report-page .type-icon.weekly{background:#3b82f633;color:#60a5fa}.executive-report-page .type-icon.custom{background:#a855f733;color:#c084fc}.executive-report-page .type-icon.ai{background:#8b5cf633;color:#a78bfa}.executive-report-page .type-icon.fund{background:#22c55e33;color:#4ade80}.executive-report-page .type-icon.gongsan{background:#f59e0b33;color:#fbbf24}.executive-report-page .type-card h3{color:#fff;font-size:1rem;line-height:1.3}.executive-report-page .type-card p{color:#fff9;font-size:.8rem;line-height:1.4}.executive-report-page .report-filter{padding:1rem 2rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05)}.executive-report-page .filter-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.executive-report-page .filter-row.custom{flex-direction:column;align-items:stretch}.executive-report-page .filter-item,.executive-report-page .filter-group{display:flex;align-items:center;gap:.5rem}.executive-report-page .filter-group{flex-direction:column;align-items:flex-start;flex:1}.executive-report-page .filter-item label,.executive-report-page .filter-group label{color:#fff9;font-size:.875rem}.executive-report-page .filter-item select,.executive-report-page .date-range input{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:.5rem .75rem;color:#fff;font-size:.875rem}.executive-report-page .filter-item select option{background:#1e293b;color:#fff}.executive-report-page .date-range{display:flex;align-items:center;gap:.5rem}.executive-report-page .date-range span{color:#fff6}.executive-report-page .btn-apply{background:#3b82f6;border:none;padding:.5rem 1.25rem;border-radius:.5rem;color:#fff;font-size:.875rem;cursor:pointer;transition:background .2s}.executive-report-page .btn-apply:hover{background:#2563eb}.executive-report-page .report-content{max-width:1200px;margin:0 auto;padding:2rem}.executive-report-page .report-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem}.executive-report-page .report-section h3{color:#fff;font-size:1.125rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.executive-report-page .section-icon{font-size:1.25rem}.executive-report-page .section-desc{color:#ffffff80;font-size:.8rem;margin-bottom:1rem}.executive-report-page .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.executive-report-page .kpi-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem}.executive-report-page .kpi-label{color:#ffffff80;font-size:.75rem;margin-bottom:.25rem}.executive-report-page .kpi-value{font-size:1.5rem;font-weight:700}.executive-report-page .kpi-value.primary{color:#60a5fa}.executive-report-page .kpi-value.positive{color:#4ade80}.executive-report-page .kpi-value.negative{color:#f87171}.executive-report-page .kpi-value.purple{color:#c084fc}.executive-report-page .kpi-value.warning{color:#fbbf24}.executive-report-page .kpi-sub{color:#fff6;font-size:.75rem}.executive-report-page .table-wrapper{overflow-x:auto}.executive-report-page .report-table{width:100%;border-collapse:collapse;font-size:.875rem}.executive-report-page .report-table th{text-align:left;padding:.75rem;color:#ffffff80;font-weight:500;border-bottom:1px solid rgba(255,255,255,.1)}.executive-report-page .report-table td{padding:.75rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.05)}.executive-report-page .report-table .text-right{text-align:right}.executive-report-page .report-table .text-center{text-align:center}.executive-report-page .report-table .muted{color:#fff6}.executive-report-page .report-table .positive{color:#4ade80;font-weight:600}.executive-report-page .report-table .negative{color:#f87171;font-weight:600}.executive-report-page .report-table .warning{color:#fbbf24;font-weight:600}.executive-report-page .report-table .purple{color:#c084fc}.executive-report-page .report-table .store-name{font-weight:600}.executive-report-page .legend{margin-top:1rem;display:flex;gap:1.5rem;font-size:.75rem;color:#ffffff80}.executive-report-page .risk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.executive-report-page .risk-card{border-radius:.75rem;padding:1rem}.executive-report-page .risk-card.declining{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.executive-report-page .risk-card.warning{background:#eab3081a;border:1px solid rgba(234,179,8,.2)}.executive-report-page .risk-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.executive-report-page .risk-card-header .store-name{color:#fff;font-weight:600}.executive-report-page .risk-card-header .store-growth.positive{color:#4ade80}.executive-report-page .risk-card-header .store-growth.negative{color:#f87171}.executive-report-page .risk-list{list-style:none}.executive-report-page .risk-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0003;border-radius:.5rem;margin-bottom:.5rem;font-size:.875rem}.executive-report-page .risk-list .category{color:#fffc}.executive-report-page .risk-list .category-growth{margin-left:auto;font-weight:600}.executive-report-page .risk-list .category-growth.negative{color:#f87171}.executive-report-page .risk-list .category-growth.warning{color:#fbbf24}.executive-report-page .risk-list .gap{color:#fff6;font-size:.75rem}.executive-report-page .all-good{text-align:center;padding:3rem}.executive-report-page .all-good-icon{font-size:3rem;display:block;margin-bottom:1rem}.executive-report-page .all-good p{color:#fff9}.executive-report-page .report-footer{text-align:center;padding:2rem;color:#fff6;font-size:.8rem}.executive-report-page .report-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem}.executive-report-page .report-loading .spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin 1s linear infinite}.executive-report-page .report-loading p{margin-top:1rem;color:#fff9}.quick-action-item.executive-report{background:linear-gradient(135deg,#1e3a5f,#0f172a)!important;border:1px solid rgba(59,130,246,.3)!important}.quick-action-item.executive-report:hover{border-color:#3b82f680!important;box-shadow:0 8px 32px #3b82f633}.quick-action-item.executive-report .action-icon{background:#3b82f633;color:#60a5fa}.quick-action-item.executive-report h5{color:#fff}.quick-action-item.executive-report .action-status.active{color:#60a5fa}@media (max-width: 768px){.executive-report-page .kpi-grid,.executive-report-page .type-cards{grid-template-columns:repeat(2,1fr)}.executive-report-page .type-card{padding:1rem .75rem}}.executive-report-page .ai-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;padding:2rem}.executive-report-page .ai-report-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.25rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:1rem}.executive-report-page .ai-report-card:hover{background:#ffffff14;border-color:#8b5cf64d;transform:translateY(-2px)}.executive-report-page .ai-report-icon{width:48px;height:48px;background:#8b5cf633;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.executive-report-page .ai-report-info{flex:1;min-width:0}.executive-report-page .ai-report-info h4{color:#fff;font-size:1rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-report-page .ai-report-info p{color:#ffffff80;font-size:.8rem}.executive-report-page .ai-content-section{max-width:900px;margin:0 auto;padding:2rem}.executive-report-page .ai-content-section h3{color:#fff;font-size:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.executive-report-page .ai-report-body{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:2rem;color:#ffffffd9;font-size:.95rem;line-height:1.8;white-space:pre-wrap}@media (max-width: 768px){.executive-report-page .ai-report-grid{grid-template-columns:1fr;padding:1rem}}.mobile-exec-report{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#0f172a,#1e293b)}.mobile-exec-report-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#0f172ae6;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:10}.mobile-exec-report-header .back-btn{background:transparent;border:none;color:#fff;padding:.25rem;cursor:pointer}.mobile-exec-report-header .header-info{flex:1}.mobile-exec-report-header h1{font-size:1.125rem;color:#fff;font-weight:600}.mobile-exec-report-header .period-label{font-size:.75rem;color:#ffffff80}.mobile-exec-report-header .filter-btn{background:#ffffff1a;border:none;padding:.5rem .75rem;border-radius:.5rem;color:#fff;display:flex;align-items:center;gap:.25rem;cursor:pointer;font-size:.8rem}.mobile-exec-report-header .filter-btn svg{width:16px;height:16px}.mobile-exec-report .type-selector{padding:1rem}.mobile-exec-report .type-btn{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;margin-bottom:.75rem;cursor:pointer;transition:all .2s}.mobile-exec-report .type-btn:active{background:#ffffff1a}.mobile-exec-report .type-icon{width:48px;height:48px;background:#3b82f633;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#60a5fa}.mobile-exec-report .type-info{flex:1;text-align:left}.mobile-exec-report .type-info h3{color:#fff;font-size:1rem;font-weight:600}.mobile-exec-report .type-info p{color:#ffffff80;font-size:.8rem}.mobile-exec-report .type-btn>svg{color:#ffffff4d}.mobile-exec-report .report-tabs{display:flex;gap:.25rem;padding:.5rem;background:#0003;overflow-x:auto}.mobile-exec-report .tab{flex:1;min-width:fit-content;padding:.5rem .75rem;background:transparent;border:none;border-radius:.5rem;color:#ffffff80;font-size:.8rem;cursor:pointer;white-space:nowrap;position:relative}.mobile-exec-report .tab.active{background:#3b82f633;color:#60a5fa}.mobile-exec-report .tab-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:.65rem;padding:.1rem .3rem;border-radius:.25rem;transform:translate(25%,-25%)}.mobile-exec-report .report-body{padding:1rem}.mobile-exec-report .tab-content{animation:fadeIn .2s ease}.mobile-exec-report .kpi-summary-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mobile-exec-report .kpi-main .label{color:#ffffff80;font-size:.75rem}.mobile-exec-report .kpi-main .value{font-size:1.75rem;font-weight:700;color:#60a5fa}.mobile-exec-report .kpi-main .sub{color:#fff6;font-size:.75rem}.mobile-exec-report .kpi-growth{text-align:right}.mobile-exec-report .kpi-growth .growth-value{display:block;font-size:1.25rem;font-weight:700}.mobile-exec-report .kpi-growth .growth-diff{font-size:.75rem;opacity:.7}.mobile-exec-report .kpi-growth.positive{color:#4ade80}.mobile-exec-report .kpi-growth.negative{color:#f87171}.mobile-exec-report .kpi-detail-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mobile-exec-report .kpi-detail{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:.875rem}.mobile-exec-report .kpi-detail .label{color:#ffffff80;font-size:.7rem;display:block;margin-bottom:.25rem}.mobile-exec-report .kpi-detail .value{font-size:1.125rem;font-weight:600;color:#fff}.mobile-exec-report .kpi-detail .value.positive{color:#4ade80}.mobile-exec-report .kpi-detail .value.negative{color:#f87171}.mobile-exec-report .kpi-detail .value.purple{color:#c084fc}.mobile-exec-report .kpi-detail .sub{color:#fff6;font-size:.7rem}.mobile-exec-report .store-list{display:flex;flex-direction:column;gap:.75rem}.mobile-exec-report .store-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem}.mobile-exec-report .store-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.mobile-exec-report .store-header .store-name{color:#fff;font-weight:600}.mobile-exec-report .store-sales{margin-bottom:.75rem}.mobile-exec-report .sales-row{display:flex;justify-content:space-between;font-size:.875rem}.mobile-exec-report .sales-row .label{color:#fff9}.mobile-exec-report .sales-row .value{color:#fff;font-weight:500}.mobile-exec-report .sales-row.sub{font-size:.75rem}.mobile-exec-report .sales-row.sub .value{color:#fff6}.mobile-exec-report .store-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mobile-exec-report .metric{background:#0003;border-radius:.5rem;padding:.5rem;text-align:center}.mobile-exec-report .metric .label{color:#ffffff80;font-size:.65rem;display:block}.mobile-exec-report .metric .value{font-size:1rem;font-weight:600;color:#fff}.mobile-exec-report .metric.positive .value{color:#4ade80}.mobile-exec-report .metric.negative .value{color:#f87171}.mobile-exec-report .metric.purple .value{color:#c084fc}.mobile-exec-report .target-list{display:flex;flex-direction:column;gap:.75rem}.mobile-exec-report .target-desc{color:#ffffff80;font-size:.75rem;margin-bottom:.5rem}.mobile-exec-report .target-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem}.mobile-exec-report .target-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.mobile-exec-report .target-header .store-name{color:#fff;font-weight:600}.mobile-exec-report .target-progress{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.mobile-exec-report .target-progress .progress-bar{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.mobile-exec-report .target-progress .progress-fill{height:100%;border-radius:4px;transition:width .3s}.mobile-exec-report .target-progress .progress-fill.success{background:#4ade80}.mobile-exec-report .target-progress .progress-fill.warning{background:#fbbf24}.mobile-exec-report .target-progress .progress-fill.danger{background:#f87171}.mobile-exec-report .target-progress .progress-text{color:#fff;font-size:.875rem;font-weight:600;min-width:48px;text-align:right}.mobile-exec-report .target-details{display:flex;gap:1rem;font-size:.75rem}.mobile-exec-report .target-details .detail{flex:1}.mobile-exec-report .target-details .label{color:#ffffff80;display:block}.mobile-exec-report .target-details .value{color:#fff}.mobile-exec-report .target-details .positive .value{color:#4ade80}.mobile-exec-report .target-details .negative .value{color:#f87171}.mobile-exec-report .risk-list{display:flex;flex-direction:column;gap:1rem}.mobile-exec-report .risk-group{margin-bottom:1rem}.mobile-exec-report .risk-title{color:#fff;font-size:.875rem;margin-bottom:.75rem}.mobile-exec-report .risk-card{border-radius:.75rem;padding:.875rem;margin-bottom:.5rem}.mobile-exec-report .risk-card.declining{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.mobile-exec-report .risk-card.warning{background:#eab3081a;border:1px solid rgba(234,179,8,.2)}.mobile-exec-report .risk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.mobile-exec-report .risk-header .store-name{color:#fff;font-weight:600;font-size:.875rem}.mobile-exec-report .risk-header .store-growth{font-size:.875rem;font-weight:600}.mobile-exec-report .risk-header .store-growth.positive{color:#4ade80}.mobile-exec-report .risk-items{list-style:none}.mobile-exec-report .risk-items li{display:flex;justify-content:space-between;padding:.4rem .6rem;background:#0003;border-radius:.375rem;margin-bottom:.375rem;font-size:.8rem}.mobile-exec-report .risk-items .category{color:#fffc}.mobile-exec-report .risk-items .growth{font-weight:600;color:#f87171}.mobile-exec-report .risk-items .growth.warning{color:#fbbf24}.mobile-exec-report .all-good{text-align:center;padding:3rem 1rem}.mobile-exec-report .all-good .icon{font-size:3rem;display:block;margin-bottom:1rem}.mobile-exec-report .all-good p{color:#fff9}.mobile-exec-report .filter-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.mobile-exec-report .filter-modal{width:100%;max-width:360px;background:#1e293b;border-radius:1rem;max-height:80vh;overflow-y:auto}.mobile-exec-report .filter-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-exec-report .filter-header h3{color:#fff;font-size:1rem}.mobile-exec-report .filter-header button{background:transparent;border:none;color:#fff9;cursor:pointer}.mobile-exec-report .filter-body{padding:1rem}.mobile-exec-report .filter-field,.mobile-exec-report .filter-group{margin-bottom:1rem}.mobile-exec-report .filter-body label{display:block;color:#fff9;font-size:.8rem;margin-bottom:.5rem}.mobile-exec-report .filter-body select,.mobile-exec-report .date-inputs input{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:.75rem;color:#fff;font-size:.875rem}.mobile-exec-report .date-inputs{display:flex;align-items:center;gap:.5rem}.mobile-exec-report .date-inputs span{color:#fff6}.mobile-exec-report .filter-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.mobile-exec-report .filter-footer .btn-apply{width:100%;background:#3b82f6;border:none;padding:.875rem;border-radius:.5rem;color:#fff;font-size:1rem;font-weight:500;cursor:pointer}.mobile-exec-report .type-icon.ai{background:#8b5cf633;color:#a78bfa}.mobile-exec-report .type-icon.fund{background:#22c55e33;color:#4ade80}.mobile-exec-report .type-icon.gongsan{background:#f59e0b33;color:#fbbf24}.mobile-exec-report .ai-report-list{padding:1rem}.mobile-exec-report .ai-report-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;margin-bottom:.75rem;cursor:pointer;transition:all .2s}.mobile-exec-report .ai-report-item:active{background:#ffffff1a}.mobile-exec-report .ai-report-icon{width:44px;height:44px;background:#8b5cf633;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#a78bfa}.mobile-exec-report .ai-report-info{flex:1;text-align:left}.mobile-exec-report .ai-report-info h4{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:.25rem}.mobile-exec-report .ai-report-info p{color:#ffffff80;font-size:.8rem}.mobile-exec-report .ai-report-item>svg:last-child{color:#ffffff4d}.mobile-exec-report .ai-report-content{padding:1rem}.mobile-exec-report .ai-report-body{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem;color:#ffffffd9;font-size:.9rem;line-height:1.7}.mobile-executive-report-btn{display:flex;align-items:center;gap:.75rem;width:100%;margin-top:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#1e3a5f,#0f172a);border:1px solid rgba(59,130,246,.3);border-radius:.75rem;cursor:pointer;transition:all .2s}.mobile-executive-report-btn:active{background:linear-gradient(135deg,#234b75,#1a2744)}.mobile-executive-report-btn svg:first-child{color:#60a5fa}.mobile-executive-report-btn span{flex:1;text-align:left;color:#fff;font-size:.9rem;font-weight:500}.mobile-executive-report-btn svg:last-child{color:#ffffff4d}.mobile-executive-report-section{margin-top:.75rem}.mobile-executive-report-section .mobile-executive-report-btn{margin-top:0}.store-missing-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.store-missing-alert{margin-top:.5rem;padding:.75rem;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;box-shadow:0 2px 8px #0000001a}.store-missing-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;color:#c41230;font-size:.75rem;font-weight:600}.store-missing-list{display:flex;flex-wrap:wrap;gap:.4rem}.store-missing-tag{background:#fee2e2;color:#991b1b;font-size:.7rem;padding:3px 8px;border-radius:4px;font-weight:500}.store-missing-more{color:#888;font-size:.7rem;padding:3px 6px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.home-popup-modal{position:relative;background:#fff;border-radius:16px;max-width:420px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.popup-close-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:#00000080;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s}.popup-close-btn svg{color:#fff}.popup-close-btn:hover{background:#000000b3}.popup-content{flex:1;overflow-y:auto}.popup-image{width:100%;max-height:300px;overflow:hidden}.popup-image img{width:100%;height:100%;object-fit:cover}.popup-text{padding:24px}.popup-title{font-size:20px;font-weight:700;color:var(--text-dark);margin-bottom:12px;line-height:1.4}.popup-description{font-size:15px;color:var(--text-gray);line-height:1.6;white-space:pre-wrap}.popup-link-btn{display:block;width:calc(100% - 48px);margin:0 24px 20px;padding:14px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.popup-link-btn:hover{background:#a30f28}.popup-footer{display:flex;border-top:1px solid var(--border-light)}.popup-footer button{flex:1;padding:16px;border:none;background:none;font-size:14px;cursor:pointer;transition:background .2s}.popup-dismiss-btn{color:var(--text-gray);border-right:1px solid var(--border-light)!important}.popup-dismiss-btn:hover{background:var(--bg-gray)}.popup-close-text-btn{color:var(--primary-color);font-weight:600}.popup-close-text-btn:hover{background:#fff5f5}@media (max-width: 768px){.home-popup-overlay{padding:16px;align-items:center}.home-popup-modal{max-width:340px;max-height:75vh;border-radius:12px}.popup-image{max-height:200px}.popup-text{padding:20px}.popup-title{font-size:18px}.popup-description{font-size:14px}.popup-link-btn{width:calc(100% - 40px);margin:0 20px 16px;padding:12px 16px;font-size:14px}.popup-footer button{padding:14px;font-size:13px}}.mobile-mypage{min-height:100vh;min-height:100dvh;background:#f5f5f5;padding-bottom:80px}.mobile-mypage-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #e0e0e0}.mobile-mypage-header h1{font-size:18px;font-weight:600;margin:0}.mobile-mypage-header .logout-btn{background:none;border:none;padding:8px;color:#666;cursor:pointer}.mobile-mypage-profile{display:flex;align-items:center;gap:16px;padding:24px 20px;background:#fff;margin-bottom:12px}.mobile-mypage-profile .profile-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#c41230,#a00f28);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;flex-shrink:0}.mobile-mypage-profile .profile-info{flex:1}.mobile-mypage-profile .profile-info h2{font-size:18px;font-weight:600;margin:0 0 4px}.mobile-mypage-profile .profile-info p{font-size:14px;color:#666;margin:0}.mobile-mypage-profile .profile-email{font-size:13px!important;color:#888!important;margin-top:4px!important}.mobile-mypage-tabs{display:flex;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-mypage-tabs::-webkit-scrollbar{display:none}.mobile-mypage-tabs button{flex:1;min-width:fit-content;padding:14px 16px;background:none;border:none;font-size:14px;font-weight:500;color:#666;cursor:pointer;position:relative;white-space:nowrap}.mobile-mypage-tabs button.active{color:#c41230}.mobile-mypage-tabs button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#c41230}.mobile-mypage-tabs button .new-badge{display:inline-block;width:16px;height:16px;background:#c41230;color:#fff;font-size:10px;font-weight:600;border-radius:50%;margin-left:4px;line-height:16px;text-align:center}.mobile-mypage-content{padding:16px}.mobile-mypage-content .info-section{background:#fff;border-radius:12px;overflow:hidden}.mobile-mypage-content .info-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #f0f0f0}.mobile-mypage-content .info-item:last-child{border-bottom:none}.mobile-mypage-content .info-item label{font-size:14px;color:#666}.mobile-mypage-content .info-item span{font-size:14px;color:#222;font-weight:500}.mobile-mypage-content .signatures-section{background:#fff;border-radius:12px}.mobile-mypage-content .empty-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:#888}.mobile-mypage-content .empty-message svg{margin-bottom:16px}.mobile-mypage-content .empty-message p{font-size:14px}.mobile-mypage-content .signatures-list{padding:8px}.mobile-mypage-content .signature-item{background:#f9f9f9;border-radius:10px;padding:14px;margin-bottom:10px;cursor:pointer;transition:background .2s}.mobile-mypage-content .signature-item:last-child{margin-bottom:0}.mobile-mypage-content .signature-item:active{background:#f0f0f0}.mobile-mypage-content .signature-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-mypage-content .signature-title{font-size:15px;font-weight:600;color:#222}.mobile-mypage-content .signature-item-meta{display:flex;gap:12px;margin-bottom:6px}.mobile-mypage-content .template-name{font-size:13px;color:#666}.mobile-mypage-content .due-date{font-size:13px;color:#888}.mobile-mypage-content .due-date.overdue{color:#dc3545}.mobile-mypage-content .signature-item-date{font-size:12px;color:#999}.mobile-mypage-content .signed-date{color:#22c55e}.mobile-mypage-content .password-section{background:#fff;border-radius:12px;padding:20px}.mobile-mypage-content .password-section .form-group{margin-bottom:16px}.mobile-mypage-content .password-section label{display:block;font-size:14px;color:#666;margin-bottom:8px}.mobile-mypage-content .password-section input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:15px;box-sizing:border-box}.mobile-mypage-content .password-section input:focus{outline:none;border-color:#c41230}.mobile-mypage-content .password-section .btn-submit{width:100%;padding:14px;background:#c41230;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px}.mobile-mypage-content .password-section .btn-submit:disabled{background:#ccc;cursor:not-allowed}.mobile-mypage-content .password-notice{font-size:13px;color:#888;text-align:center;margin-top:16px}.mobile-mypage-content .version-section{background:#fff;border-radius:12px;overflow:hidden}.mobile-mypage-content .version-header{display:flex;align-items:center;gap:16px;padding:24px 20px;background:linear-gradient(135deg,#c41230,#a00f28);color:#fff}.mobile-mypage-content .version-logo img{width:48px;height:48px}.mobile-mypage-content .version-info h3{font-size:16px;font-weight:600;margin:0 0 4px}.mobile-mypage-content .version-number{font-size:14px;opacity:.9;margin:0 0 2px}.mobile-mypage-content .version-copyright{font-size:12px;opacity:.7;margin:0}.mobile-mypage-content .changelog{padding:16px 20px}.mobile-mypage-content .changelog h4{font-size:14px;font-weight:600;color:#222;margin:0 0 16px}.mobile-mypage-content .changelog-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.mobile-mypage-content .changelog-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.mobile-mypage-content .changelog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-mypage-content .changelog-version{font-size:14px;font-weight:600;color:#c41230}.mobile-mypage-content .changelog-date{font-size:12px;color:#888}.mobile-mypage-content .changelog ul{list-style:none;margin:0;padding:0}.mobile-mypage-content .changelog li{font-size:13px;color:#555;padding:3px 0 3px 12px;position:relative}.mobile-mypage-content .changelog li:before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;background:#ccc;border-radius:50%}.secret-post{color:#999;font-style:italic;display:inline-flex;align-items:center;gap:4px;cursor:default}.secret-post .lock-icon{flex-shrink:0}.lock-icon{vertical-align:middle}.secret-post-row{cursor:default!important}.secret-post-row:hover{background:inherit!important}.board-table .secret-post-row td{color:#999}.mobile-post-item.secret-post-row{cursor:default}.mobile-post-item.secret-post-row:active{background:inherit}li.secret-post-row{cursor:default}li.secret-post-row:active{background:inherit!important}
