.staff-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.staff-modal-card{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:1120px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.staff-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#fafafa;border-bottom:1px solid #e2e8f0}.staff-modal-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;color:#1e293b}.staff-modal-title i{color:#8d2a2c;font-size:20px}.staff-modal-close{background:transparent;border:none;font-size:18px;color:#64748b;cursor:pointer;border-radius:8px;padding:6px 10px;transition:all .15s ease}.staff-modal-close:hover{background:#f1f5f9;color:#0f172a}.staff-modal-alert{margin:14px 24px 0;padding:10px 16px;border-radius:8px;font-size:13.5px;display:flex;align-items:center;gap:10px;font-weight:500}.staff-modal-alert.alert-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.staff-modal-alert.alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.staff-modal-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.staff-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:22px 24px;overflow-y:auto;flex:1}.staff-modal-col{display:flex;flex-direction:column;gap:14px}.form-field-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:#334155;display:flex;align-items:center;gap:4px}.form-label.required:before{content:"*";color:#dc2626;font-weight:700}.input-with-icon{position:relative;display:flex;align-items:center;width:100%}.input-icon{position:absolute;left:12px;color:#94a3b8;font-size:14px;pointer-events:none}.input-with-icon .form-input{padding-left:36px}.input-with-action{position:relative;display:flex;align-items:center;width:100%}.input-with-action .form-input{padding-right:36px}.password-toggle-btn{position:absolute;right:10px;background:transparent;border:none;color:#64748b;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:4px;transition:color .15s}.password-toggle-btn:hover{color:#0f172a}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;border:1.5px solid #cbd5e1;border-radius:8px;font-size:13.5px;color:#1e293b;background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#8d2a2c;outline:none;box-shadow:0 0 0 3px #8d2a2c1f}.form-textarea{resize:vertical;min-height:52px;line-height:1.4}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.segmented-btn-group{display:flex;background:#f1f5f9;padding:3px;border-radius:8px;gap:4px;border:1px solid #e2e8f0}.segmented-btn{flex:1;padding:7px 12px;border:none;background:transparent;font-size:12.5px;font-weight:700;color:#64748b;border-radius:6px;cursor:pointer;transition:all .15s ease}.segmented-btn.active{background:#8d2a2c;color:#fff;box-shadow:0 2px 4px #8d2a2c40}.color-picker-row{display:flex;align-items:center;gap:10px}.color-input{width:48px;height:38px;padding:2px;border:1.5px solid #cbd5e1;border-radius:8px;cursor:pointer;background:#fff}.hex-input{flex:1}.section-divider{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:#8d2a2c;padding:4px 0 8px;border-bottom:1.5px dashed #cbd5e1;margin-top:4px}.section-divider.safebooks-divider{color:#0284c7;border-bottom-color:#bae6fd;margin-top:10px}.cccd-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cccd-card{border:1.5px dashed #cbd5e1;border-radius:10px;padding:10px;background:#f8fafc;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;transition:border-color .2s}.cccd-card:hover{border-color:#94a3b8}.cccd-card-header{font-size:12.5px;font-weight:600;color:#475569}.cccd-preview-area{width:100%;height:110px;border-radius:6px;overflow:hidden;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}.cccd-img-preview{width:100%;height:100%;object-fit:contain}.cccd-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:#94a3b8;font-size:11.5px}.cccd-placeholder i{font-size:24px;opacity:.6}.btn-upload-cccd{width:100%;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.btn-upload-cccd:hover{background:#f1f5f9;border-color:#94a3b8}.btn-ai-scan-cccd{width:100%;padding:11px 16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #2563eb40;transition:all .2s ease}.btn-ai-scan-cccd:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.btn-ai-scan-cccd:disabled{opacity:.55;cursor:not-allowed;transform:none}.staff-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fafafa;border-top:1px solid #e2e8f0}.footer-right{display:flex;align-items:center;gap:12px}.btn-modal-primary{padding:10px 22px;background:#8d2a2c;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 3px 8px #8d2a2c40;transition:all .15s ease}.btn-modal-primary:hover:not(:disabled){background:#732224;transform:translateY(-1px)}.btn-modal-primary:disabled{opacity:.55;cursor:not-allowed}.btn-modal-secondary{padding:9px 18px;background:#fff;color:#475569;border:1.5px solid #cbd5e1;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-modal-secondary:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.btn-modal-danger{padding:9px 16px;background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s ease}.btn-modal-danger:hover:not(:disabled){background:#fee2e2;border-color:#f87171}@media (max-width: 900px){.staff-modal-grid{grid-template-columns:1fr;gap:20px;padding:16px}.staff-modal-card{max-height:96vh}.form-row-3{grid-template-columns:1fr}}:root{--primary-color: #8d2a2c;--primary-dark: #721f21;--primary-light: #fbebee;--primary-soft: rgba(141, 42, 44, .08);--secondary-color: #0284c7;--accent-color: #0d9488;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--background: #f8fafc;--surface: #ffffff;--surface-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--border: #e2e8f0;--border-light: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .04);--shadow: 0 1px 3px 0 rgb(0 0 0 / .05), 0 1px 2px -1px rgb(0 0 0 / .04);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .06), 0 2px 4px -2px rgb(0 0 0 / .04);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .07), 0 4px 6px -4px rgb(0 0 0 / .04);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .04);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--transition: all .18s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .25s ease;--duni-primary: #8d2a2c;--duni-primary-dark: #721f21;--duni-primary-soft: rgba(141, 42, 44, .08);--duni-ink: #0f172a;--duni-muted: #64748b;--duni-line: #e2e8f0;--duni-line-light: #f1f5f9;--duni-paper: #f8fafc;--duni-white: #ffffff;--duni-radius-card: 16px;--duni-radius-btn: 8px;--duni-radius-pill: 999px;--duni-radius-modal: 20px;--duni-shadow-card: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--duni-shadow-hover: 0 6px 18px rgba(0, 0, 0, .07)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);min-height:100vh;color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;background:var(--background);position:relative;overflow-x:hidden}.app:before{display:none}.navigation{background:#fff;border-bottom:1px solid var(--border);padding:.75rem 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000a}.nav-container{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.nav-brand{color:var(--primary-color);font-size:1.35rem;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em;transition:var(--transition)}.nav-brand:hover{opacity:.9}.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:.35rem;flex:1;margin-left:2rem}.nav-user{display:flex;align-items:center;gap:10px;margin-left:auto}.user-info{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-weight:600;background:#f1f5f9;border:1px solid var(--border);padding:6px 12px;border-radius:var(--radius);font-size:.85rem}.logout-btn{background:#fff;color:var(--text-muted);border:1px solid var(--border);padding:6px 14px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px}.logout-btn:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.nav-item{margin:0}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem .95rem;border-radius:var(--radius);font-weight:600;font-size:.88rem;transition:var(--transition);display:inline-flex;align-items:center;gap:6px}.nav-link:hover{color:var(--primary-color);background:var(--primary-soft)}.nav-link.active{background:var(--primary-soft);color:var(--primary-color);font-weight:700}.main-content{padding:1.5rem 2rem;max-width:1600px;margin:0 auto;position:relative;z-index:1}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden;transition:var(--transition);position:relative}.card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.card-header{padding:1.25rem 1.5rem;background:#fff;border-bottom:1px solid var(--border);color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.card-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.card-content{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.15rem;border:1px solid transparent;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;text-decoration:none;cursor:pointer;transition:var(--transition);position:relative;background:var(--primary-color);color:#fff;line-height:1.3}.btn:hover{background:var(--primary-dark);color:#fff;box-shadow:var(--shadow-sm)}.btn-secondary{background:#f1f5f9;color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:#e2e8f0;color:var(--text-primary)}.btn-success{background:#16a34a;color:#fff}.btn-success:hover{background:#15803d}.btn-warning{background:#d97706;color:#fff}.btn-warning:hover{background:#b45309}.btn-error,.btn-danger{background:#dc2626;color:#fff}.btn-error:hover,.btn-danger:hover{background:#b91c1c}.btn-outline{background:transparent;border:1px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-soft);color:var(--primary-color)}.form-group{margin-bottom:1.15rem}.form-label{display:block;margin-bottom:.4rem;font-weight:600;color:var(--text-primary);font-size:.85rem}.form-input,.form-select,.form-textarea{width:100%;padding:.55rem .8rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;transition:var(--transition);background:#fff;color:var(--text-primary);box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8d2a2c1f}.form-textarea{resize:vertical;min-height:100px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.table th{background:#f8fafc;color:var(--text-secondary);padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.875rem}.table tbody tr{transition:var(--transition)}.table tbody tr:hover{background:#f8fafc}.table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:var(--radius);font-size:.75rem;font-weight:600;letter-spacing:.02em}.status-active{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.status-inactive{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-pending{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted)}.loading-spinner{width:2rem;height:2rem;border:3px solid var(--border);border-top:3px solid var(--primary-color);border-radius:50%;margin-right:.5rem}.error-message{background:#ef44441a;color:var(--error-color);padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(239,68,68,.2);margin:1rem 0;display:flex;align-items:center;gap:.5rem}.pending-changes{background:linear-gradient(135deg,#ffa726,#ff9800);color:#fff;padding:16px;border-radius:12px;margin:16px 0;box-shadow:0 4px 12px #ffa7264d;border:1px solid rgba(255,255,255,.2)}.pending-info{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:500}.pending-info i{font-size:18px}.pending-actions{display:flex;gap:8px;flex-wrap:wrap}.pending-actions .btn{padding:8px 16px;font-size:14px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.pending-actions .btn-success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.pending-actions .btn-success:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px)}.pending-actions .btn-secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.pending-actions .btn-secondary:hover{background:#ffffff4d;transform:translateY(-1px)}.success-message{background:#10b9811a;color:var(--success-color);padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(16,185,129,.2);margin:1rem 0;display:flex;align-items:center;gap:.5rem}.schedule-page,.management-checkinout-page{width:100%;min-height:calc(100vh - 60px);background:var(--duni-paper);padding:20px 24px 48px;position:relative;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.management-checkinout-page .container{max-width:100%;margin:0 auto;background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible;position:relative;padding:0}.schedule-page:before{display:none}.schedule-page{width:100%}.container{max-width:1560px;margin:0 auto;background:var(--duni-white);border-radius:26px;box-shadow:0 10px 32px #531f2014;border:1px solid var(--duni-line);overflow:hidden;position:relative}.schedule-page .container{max-width:100%!important;width:100%;margin:0;padding:20px 24px 32px;overflow:visible;box-sizing:border-box}.container:before{display:none}.schedule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px;flex-wrap:wrap}.schedule-title{font-size:26px;font-weight:800;color:var(--duni-ink);margin:0 0 6px;display:flex;align-items:center;letter-spacing:-.02em}.schedule-subtitle{font-size:14px;color:var(--duni-muted);margin:0}.schedule-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.schedule-tabs{display:inline-flex;background:var(--duni-paper);padding:4px;border-radius:12px;border:1px solid var(--duni-line);gap:4px}.schedule-tab-btn{padding:8px 16px;border-radius:9px;font-weight:600;font-size:13.5px;border:none;background:transparent;color:var(--duni-muted);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.schedule-tab-btn:hover{color:var(--duni-ink)}.schedule-tab-btn.active{background:var(--duni-primary);color:#fff;box-shadow:0 2px 8px #8d2a2c40}.btn-primary-action{background:var(--duni-primary);color:#fff;border:1px solid transparent;padding:9px 18px;border-radius:10px;font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;gap:8px;transition:var(--transition);white-space:nowrap}.btn-primary-action:hover{background:var(--duni-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.schedule-toolbar{background:var(--duni-white);border:1px solid var(--duni-line);border-radius:16px;padding:12px 18px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;box-shadow:var(--duni-shadow-card)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.week-nav-group{display:inline-flex;align-items:center;background:var(--duni-paper);border:1px solid var(--duni-line);border-radius:12px;padding:3px;gap:4px}.toolbar-nav-btn{background:var(--duni-white);border:1px solid var(--duni-line-light);color:var(--duni-ink);padding:7px 14px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.toolbar-nav-btn:hover:not(:disabled){background:#fff;border-color:var(--duni-line);color:var(--duni-primary);transform:translateY(-1px)}.toolbar-nav-btn:disabled{opacity:.45;cursor:not-allowed}.week-current-badge{padding:7px 16px;font-size:13.5px;font-weight:700;color:var(--duni-ink);display:flex;align-items:center;gap:8px}.btn-current-week{background:var(--duni-white);border:1px solid var(--duni-line);color:var(--duni-ink);padding:8px 15px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .2s}.btn-current-week:hover{border-color:var(--duni-primary-border);color:var(--duni-primary);background:var(--duni-primary-soft)}.changes-indicator-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#b45309;background:#fffbeb;border:1px solid #fde68a;padding:5px 12px;border-radius:20px}.pulsing-dot{width:8px;height:8px;border-radius:50%;background:#d97706;animation:pulseDot 1.5s infinite}@keyframes pulseDot{0%{transform:scale(.95);box-shadow:0 0 #d97706b3}70%{transform:scale(1.15);box-shadow:0 0 0 6px #d9770600}to{transform:scale(.95);box-shadow:0 0 #d9770600}}.btn-cancel-changes{background:var(--duni-white);border:1px solid var(--duni-line);color:var(--duni-muted);padding:9px 16px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .2s}.btn-cancel-changes:disabled{opacity:.4;cursor:not-allowed;background:#f8fafc}.btn-cancel-changes:not(:disabled):hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-save-changes{background:#f1f5f9;border:1px solid var(--duni-line);color:#94a3b8;padding:9px 18px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:not-allowed;display:flex;align-items:center;gap:7px;transition:all .2s}.btn-save-changes.has-changes{background:var(--duni-primary);border-color:transparent;color:#fff;cursor:pointer;box-shadow:0 4px 14px #8d2a2c47}.btn-save-changes.has-changes:hover{background:var(--duni-primary-dark);box-shadow:0 6px 18px #8d2a2c59;transform:translateY(-1px)}.schedule-layout{display:flex;gap:16px;align-items:flex-start;min-height:70vh;width:100%}.staff-panel{width:260px;flex-shrink:0;background:var(--duni-white);border:1px solid var(--duni-line);border-radius:18px;padding:16px;box-shadow:var(--duni-shadow-card);display:flex;flex-direction:column;gap:14px;box-sizing:border-box}.staff-panel-header{display:flex;justify-content:space-between;align-items:center}.staff-panel-title{font-size:15px;font-weight:800;color:var(--duni-ink);display:flex;align-items:center;gap:8px}.staff-count-badge{font-size:11.5px;font-weight:700;background:var(--duni-paper);color:var(--duni-muted);border:1px solid var(--duni-line);padding:2px 8px;border-radius:12px}.staff-panel-subtitle{font-size:12px;color:var(--duni-muted);margin:-10px 0 0;line-height:1.4}.staff-search-wrapper{position:relative;display:flex;align-items:center;width:100%}.staff-search-wrapper .search-icon{position:absolute;left:12px;color:var(--duni-muted);font-size:13px}.staff-search-input{width:100%;padding:9px 32px 9px 34px;border-radius:10px;border:1px solid var(--duni-line);font-size:13.5px;background-color:var(--duni-paper);color:var(--duni-ink);outline:none;transition:all .2s;box-sizing:border-box}.staff-search-input:focus{border-color:var(--duni-primary);background-color:var(--duni-white);box-shadow:0 0 0 3px #8d2a2c1f}.staff-status-filter-wrapper{display:flex;flex-direction:column;gap:6px}.staff-select-box{position:relative;width:100%}.staff-status-select{width:100%;padding:8px 32px 8px 12px;border-radius:10px;border:1px solid var(--duni-line);background-color:var(--duni-paper);color:var(--duni-ink);font-size:13px;font-weight:600;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all .2s ease;box-sizing:border-box;font-family:inherit}.staff-status-select:hover{border-color:#d1b9b8;background-color:#fdfaf9}.staff-status-select:focus{border-color:var(--duni-primary);background-color:var(--duni-white);box-shadow:0 0 0 3px #8d2a2c1f}.staff-select-box .select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:11px;color:var(--duni-muted)}.staff-toggles-section{display:flex;flex-direction:column;gap:8px}.toggle-deleted-label{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--duni-paper);border:1px solid var(--duni-line);border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--duni-ink);transition:all .2s;-webkit-user-select:none;user-select:none}.toggle-deleted-label:hover{background:#f5eeeb}.toggle-deleted-label.active{background:#fbf5f4;border-color:var(--duni-primary-border);color:var(--duni-primary)}.toggle-deleted-label input[type=checkbox]{accent-color:var(--duni-primary);cursor:pointer}.staff-role-filters{display:flex;flex-direction:column;gap:8px}.role-filter-label{font-size:12px;font-weight:700;color:var(--duni-muted);text-transform:uppercase;letter-spacing:.04em}.role-chips-group{display:flex;flex-wrap:wrap;gap:6px}.role-chip-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--duni-line);background:var(--duni-paper);color:var(--duni-muted);font-size:11.5px;font-weight:600;cursor:pointer;transition:all .2s}.role-chip-btn:hover{border-color:#cbd5e1;color:var(--duni-ink)}.role-chip-btn.selected{background:var(--duni-primary-soft);border-color:var(--duni-primary-border);color:var(--duni-primary);font-weight:700}.staff-list{max-height:480px;overflow-y:auto;padding-right:4px;display:flex;flex-direction:column;gap:8px}.staff-list::-webkit-scrollbar{width:5px}.staff-list::-webkit-scrollbar-track{background:var(--duni-paper);border-radius:10px}.staff-list::-webkit-scrollbar-thumb{background:#d5c8c4;border-radius:10px}.staff-item{background:var(--duni-white);border:1px solid var(--duni-line-light);border-left:4px solid var(--duni-primary);border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 6px #00000005;cursor:grab;transition:all .2s ease}.staff-item:hover{border-color:var(--duni-line);box-shadow:0 4px 12px #531f2014;transform:translateY(-1px)}.staff-item.dragging{opacity:.6;cursor:grabbing;box-shadow:0 8px 20px #0000001f}.staff-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.staff-name{font-size:13.5px;font-weight:700;color:var(--duni-ink)}.staff-status-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;text-transform:uppercase}.staff-status-badge.status-active{background:#dcfce7;color:#15803d}.staff-status-badge.status-inactive{background:#fee2e2;color:#b91c1c}.staff-role-tag{display:inline-block;font-size:10.5px;font-weight:600;color:var(--duni-muted);background:var(--duni-paper);border:1px solid var(--duni-line);padding:1px 6px;border-radius:5px;margin-top:4px}.staff-edit-btn{background:transparent;border:none;color:var(--duni-muted);width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .2s}.staff-edit-btn:hover{background:var(--duni-paper);color:var(--duni-primary)}.staff-empty-state{padding:24px 12px;text-align:center;color:var(--duni-muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px}.staff-empty-state i{font-size:24px;opacity:.4}.staff-panel-footer{margin-top:auto;padding-top:8px}.add-staff-outline-btn{width:100%;padding:10px;background:var(--duni-white);border:1px dashed var(--duni-primary-border);color:var(--duni-primary);border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.add-staff-outline-btn:hover{background:var(--duni-primary-soft);border-color:var(--duni-primary)}.schedule-grid{flex:1;min-width:0;border:1px solid var(--duni-line);border-radius:18px;overflow:hidden;box-shadow:var(--duni-shadow-card);background:var(--duni-white);display:flex;flex-direction:column}.schedule-table{width:100%;border-collapse:collapse;table-layout:fixed}.schedule-table th{background:#211c1c;color:#fff;padding:10px 4px;text-align:center;font-weight:700;font-size:12px;letter-spacing:.02em;border-right:1px solid rgba(255,255,255,.08);box-sizing:border-box}.schedule-table th:last-child{border-right:none}.day-header-title{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#fff;white-space:nowrap}.day-header-date-pill{margin-top:4px;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:8px;background:#ffffff1f;font-size:10.5px;font-weight:600;color:#f1f5f9}.day-holiday-badge{margin-top:4px;display:inline-block;background:#f59e0b;color:#1e293b;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:800}.schedule-table td{border:1px solid var(--duni-line-light);min-height:120px;height:120px;vertical-align:top;padding:6px 5px;box-sizing:border-box;background:var(--duni-white);overflow-y:auto}.shift-header-cell{width:58px!important;max-width:58px;background:#faf6f4!important;color:var(--duni-ink);font-weight:800;font-size:13.5px;text-align:center;vertical-align:middle!important;border-right:2px solid var(--duni-line)!important;-webkit-user-select:none;user-select:none;box-sizing:border-box}.shift-cell.drop-zone{transition:background .15s ease,border-color .15s ease;position:relative}.shift-cell.drop-zone:hover{background:#fdfbf9}.shift-cell.drop-zone.drag-over{background:#8d2a2c0d!important;outline:2px dashed var(--duni-primary);outline-offset:-2px}.staff-assignment{padding:4px 6px;border-radius:6px;margin-bottom:4px;font-size:11.5px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:4px;box-shadow:0 1px 3px #00000014;transition:all .15s ease;min-width:0;box-sizing:border-box}.staff-assignment:hover{transform:scale(1.02);box-shadow:0 3px 8px #0000001f}.staff-assignment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.assignment-remove-btn{background:#00000026;border:none;color:currentColor;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:9px;opacity:.8;transition:all .2s;flex-shrink:0}.assignment-remove-btn:hover{opacity:1;background:#0000004d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:var(--surface);border-radius:var(--radius-xl);padding:2rem;width:90%;max-width:500px;box-shadow:var(--shadow-xl);border:1px solid var(--border);position:relative;overflow:hidden}.modal h3{color:var(--primary-color);margin-bottom:1.5rem;text-align:center;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}.modal-actions-right{display:flex;gap:.75rem}.modal-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:.875rem;font-weight:600;transition:var(--transition-slow);display:flex;align-items:center;gap:.5rem}.modal-btn.primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.modal-btn.primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,#3730a3 100%);box-shadow:var(--shadow-lg)}.modal-btn.secondary{background:var(--text-secondary);color:#fff;box-shadow:var(--shadow-md)}.modal-btn.secondary:hover{background:#475569;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.modal-btn.danger{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%);color:#fff;box-shadow:var(--shadow-md)}.modal-btn.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:var(--shadow-lg)}.inventory-page{min-height:100vh;background:var(--background);padding:2rem;position:relative}.inventory-page:before{display:none}.filters-section{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--background);border-radius:var(--radius-xl);border:1px solid var(--border)}.add-product-form{background:var(--surface);padding:2rem;border-radius:var(--radius-xl);margin-bottom:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border)}.add-product-form h3{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.table-container{overflow-x:auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border)}.product-name{font-weight:600;color:var(--text-primary)}.quantity-controls{display:flex;align-items:center;gap:.5rem;justify-content:center}.quantity-display{min-width:3rem;text-align:center;font-weight:600;color:var(--text-primary);background:var(--background);padding:.5rem;border-radius:var(--radius);border:1px solid var(--border)}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.125rem;font-weight:500}.sales-page{min-height:100vh;background:var(--background);padding:2rem;position:relative}.sales-page:before{display:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface);padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border);text-align:center;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color)}.stat-value{font-size:2.5rem;font-weight:800;color:var(--primary-color);margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem}.chart-container{background:var(--surface);padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border);margin-bottom:2rem}.chart-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.orders-page{min-height:100vh;background:var(--background);padding:2rem;position:relative}.orders-page:before{display:none}.order-card{background:var(--surface);padding:1.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border);margin-bottom:1rem;transition:var(--transition-slow);position:relative;overflow:hidden}.order-card:hover{box-shadow:var(--shadow-lg)}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.order-id{font-weight:700;color:var(--primary-color);font-size:1.125rem}.order-date{color:var(--text-secondary);font-size:.875rem}.order-status{padding:.25rem .75rem;border-radius:var(--radius);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.order-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem}.order-detail{text-align:center}.order-detail-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.order-detail-value{color:var(--text-primary);font-weight:700;font-size:1.125rem}.order-actions{display:flex;gap:.5rem;justify-content:flex-end}.order-items{margin:1rem 0;padding:1rem;background:var(--background);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.order-items h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.75rem}.items-list{display:flex;flex-direction:column;gap:.5rem}.order-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light)}.item-name{font-weight:500;color:var(--text-primary);flex:1}.item-quantity{color:var(--text-secondary);font-size:.875rem;margin:0 1rem}.item-price{font-weight:600;color:var(--primary-color)}.orders-list{display:flex;flex-direction:column;gap:1rem}.chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted);background:var(--background);border-radius:var(--radius-lg);border:2px dashed var(--border)}.chart-placeholder i{font-size:3rem;margin-bottom:1rem;opacity:.5}.chart-placeholder p{font-size:1.125rem;font-weight:500}@media (max-width: 1024px){.main-content{flex-direction:column}.staff-panel{width:100%;max-height:50vh;order:2;border-right:none;border-top:1px solid var(--border)}.schedule-grid{order:1;padding:1rem}.schedule-table{font-size:.875rem}.schedule-table th,.schedule-table td{padding:.75rem .5rem}.shift-cell{height:100px;padding:.5rem}.staff-assignment{font-size:.75rem;padding:.375rem .5rem}}@media (max-width: 768px){.main-content{padding:1rem}.nav-container{flex-direction:column;gap:1rem;padding:0 1rem}.nav-menu{flex-direction:column;gap:.5rem;width:100%}.nav-link{text-align:center;width:100%}.header{padding:2rem 1rem}.header h1{font-size:2rem}.week-navigation{flex-direction:column;gap:1rem}.nav-btn{width:100%;justify-content:center}.change-controls{flex-direction:column;gap:.75rem}.save-btn,.cancel-btn{width:100%}.schedule-table{min-width:600px;font-size:.75rem}.schedule-table th,.schedule-table td{padding:.5rem .25rem;min-width:80px}.shift-header{font-size:.875rem;min-width:60px}.shift-cell{height:80px;padding:.25rem}.staff-assignment{font-size:.625rem;padding:.25rem .375rem;margin-bottom:.25rem}.remove-btn{width:18px;height:18px;font-size:.625rem}.staff-item{padding:.75rem;font-size:.875rem}.staff-status{font-size:.625rem;padding:.125rem .5rem}.edit-staff-btn{width:28px;height:28px;font-size:.75rem}.add-staff-form,.ai-schedule-form{padding:1rem;margin-top:1rem}.modal{width:95%;padding:1.5rem;margin:1rem}.modal h3{font-size:1.25rem;margin-bottom:1rem}.modal-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem}.modal-actions-right{width:100%;flex-direction:column;gap:.5rem}.modal-btn{width:100%;justify-content:center}}@media (max-width: 480px){.schedule-page{padding:1rem}.header h1{font-size:1.75rem}.current-week{font-size:1rem;padding:.75rem 1rem}.schedule-table{min-width:500px;font-size:.625rem}.schedule-table th,.schedule-table td{padding:.375rem .125rem;min-width:70px}.shift-header{font-size:.75rem;min-width:50px}.shift-cell{height:70px;padding:.125rem}.staff-assignment{font-size:.5rem;padding:.125rem .25rem;margin-bottom:.125rem}.remove-btn{width:16px;height:16px;font-size:.5rem}.filters-section,.form-row{grid-template-columns:1fr;gap:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.order-details{grid-template-columns:1fr 1fr;gap:.75rem}.order-actions{flex-direction:column;gap:.5rem}.order-actions .btn{width:100%;justify-content:center}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:1.5rem}.stat-value{font-size:2rem}.order-details{grid-template-columns:1fr;gap:.5rem}.order-item{flex-direction:column;align-items:flex-start;gap:.25rem}.item-quantity{margin:0}}.register-page{background:var(--background);min-height:100vh;position:relative}.register-page:before{display:none}.register-page .container{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.register-page .header{background:#fff;color:var(--text-primary);padding:1.25rem 1.75rem;border-bottom:1px solid var(--border);text-align:center;position:relative;z-index:1}.register-page .header h1{font-size:1.35rem;margin-bottom:.35rem;font-weight:700;color:#0f172a}.register-page .week-navigation{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem}.register-page .nav-btn{background:#fff;border:1px solid var(--border);color:var(--text-secondary);padding:.45rem .9rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600}.register-page .nav-btn:hover{background:var(--border-light);color:var(--text-primary);border-color:#cbd5e1}.register-page .nav-btn:disabled{opacity:.5;cursor:not-allowed}.register-page .current-week{font-size:.9rem;font-weight:600;background:var(--border-light);color:var(--text-primary);padding:.45rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.register-page .changes-indicator{font-size:.75rem;color:#b45309;font-weight:500;display:flex;align-items:center;justify-content:center;gap:3px}.register-page .control-panel{background:var(--surface);padding:1.25rem;border-bottom:1px solid var(--border)}.register-page .staff-selector{max-width:400px;margin:0 auto;text-align:center}.register-page .staff-selector h3{color:var(--primary-color);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.register-page .staff-dropdown{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background:#fff;color:var(--text-primary);cursor:pointer;transition:var(--transition)}.register-page .staff-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8d2a2c1f}.register-page .selected-staff-info{margin-top:12px;padding:10px 14px;background:var(--border-light);border-radius:var(--radius-md);border:1px solid var(--border);border-left:4px solid var(--primary-color);display:none}.register-page .selected-staff-info.show{display:block}.register-page .staff-name-display{font-weight:700;color:var(--primary-color);font-size:1rem}.register-page .instruction-text{margin-top:6px;color:var(--text-secondary);font-size:.85rem}.register-page .schedule-count{font-size:.8rem;color:#16a34a;margin-top:4px;font-weight:600;display:flex;align-items:center;gap:5px}.register-page .staff-highlight-info{font-size:.75rem;color:#0284c7;margin-top:3px;font-weight:500;display:flex;align-items:center;gap:5px}.register-page .save-controls{display:flex;justify-content:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.register-page .save-btn,.register-page .cancel-btn{background:#f1f5f9;border:1px solid var(--border);color:var(--text-secondary);padding:.5rem 1.2rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:.85rem;font-weight:600;opacity:.5;pointer-events:none;display:flex;align-items:center;gap:6px}.register-page .save-btn.has-changes,.register-page .cancel-btn.has-changes{opacity:1;pointer-events:all}.register-page .save-btn.has-changes{background:#16a34a;border-color:#15803d;color:#fff;box-shadow:var(--shadow-sm)}.register-page .save-btn.has-changes:hover{background:#15803d}.register-page .cancel-btn.has-changes{background:#dc2626;border-color:#b91c1c;color:#fff;box-shadow:var(--shadow-sm)}.register-page .cancel-btn.has-changes:hover{background:#b91c1c}.register-page .change-counter{display:inline-block;background:#ffffff4d;padding:1px 6px;border-radius:8px;font-size:.75rem;margin-left:4px}.register-page .current-week-btn{background:var(--primary-color);color:#fff;border:none;padding:.45rem .9rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:5px;margin-left:8px}.register-page .current-week-btn:hover{background:var(--primary-dark)}.register-page .instruction-banner{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;padding:.6rem 1rem;margin:1rem 1.25rem 0;border-radius:var(--radius-md);display:flex;align-items:center;gap:8px;font-size:.85rem}.register-page .instruction-banner i{font-size:1rem}.register-page .schedule-grid{padding:1.25rem;overflow:auto}.register-page .schedule-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.register-page .schedule-table th{background:#0f172a;color:#fff;padding:.9rem 1rem;text-align:center;font-weight:600;font-size:.85rem}.register-page .schedule-table td{border:1px solid var(--border-light);height:120px;vertical-align:top;position:relative}.register-page .shift-cell{background:var(--surface);position:relative;height:120px;padding:8px;box-sizing:border-box;cursor:pointer;transition:var(--transition)}.register-page .shift-cell:hover{background:#f8fafc}.register-page .shift-cell.selected-staff-ready:hover{background:#f1f5f9;border:2px solid var(--primary-color)}.register-page .shift-cell.no-staff-selected{opacity:.5;cursor:not-allowed}.register-page .shift-header{font-weight:600;color:#fff;font-size:.9rem;text-align:center;background:#1e293b;border:1px solid var(--border);height:120px;position:relative;display:flex;align-items:center;justify-content:center}.register-page .staff-assignment{background:#0f172a;color:#fff;padding:4px 8px;border-radius:6px;margin-bottom:4px;font-size:.8rem;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}.register-page .staff-assignment:hover{box-shadow:var(--shadow-sm)}.register-page .staff-assignment:not(.pending-change):not(.new-assignment){background:#475569;opacity:.9}.register-page .staff-assignment:not(.pending-change):not(.new-assignment):hover{cursor:default}.register-page .staff-assignment.pending-change{background:#f97316;border:1px solid #ea580c;animation:pulse-pending 2s infinite}.register-page .staff-assignment.new-assignment{background:#16a34a;border:1px solid #15803d;animation:pulse-new 2s infinite}.register-page .staff-assignment.selected-staff-schedule{background:#16a34a!important;color:#fff!important;border:1px solid #15803d;font-weight:600;cursor:not-allowed}.register-page .staff-assignment.selected-staff-schedule:hover{transform:none;box-shadow:0 2px 8px #28a7454d;opacity:.8}@keyframes pulse-pending{0%{box-shadow:0 0 #ff950080}70%{box-shadow:0 0 0 8px #ff950000}to{box-shadow:0 0 #ff950000}}@keyframes pulse-new{0%{box-shadow:0 0 #28a74580}70%{box-shadow:0 0 0 8px #28a74500}to{box-shadow:0 0 #28a74500}}.register-page .remove-btn{background:#fff3;border:none;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.65rem}.register-page .remove-btn:hover{background:#ffffff59}@media (max-width: 768px){.register-page .header{padding:20px 15px}.register-page .header h1{font-size:1.6rem;margin-bottom:15px}.register-page .week-navigation{flex-direction:row;gap:10px;margin-top:15px}.register-page .current-week{font-size:1rem}.register-page .nav-btn{padding:8px 12px;font-size:.8rem}.register-page .control-panel{padding:15px}.register-page .staff-selector h3{font-size:1.1rem;margin-bottom:10px}.register-page .staff-dropdown{padding:10px 12px;font-size:1rem}.register-page .save-controls{flex-direction:column;gap:8px;margin-top:10px}.register-page .save-btn,.register-page .cancel-btn{width:100%;padding:12px 15px;font-size:.9rem}.register-page .schedule-grid{padding:15px;overflow-x:auto}.register-page .schedule-table{min-width:800px;font-size:.85rem}.register-page .schedule-table th,.register-page .schedule-table td{padding:8px 5px;min-width:100px}.register-page .shift-header{font-size:.9rem;min-width:60px}.register-page .shift-cell{height:100px;padding:5px}.register-page .staff-assignment{font-size:.75rem;padding:4px 6px;margin-bottom:3px}.register-page .remove-btn{width:14px;height:14px;font-size:.55rem}}@media (max-width: 480px){.register-page .header h1{font-size:1.4rem}.register-page .current-week{font-size:.9rem}.register-page .nav-btn{padding:6px 10px;font-size:.8rem}.register-page .schedule-table{min-width:700px;font-size:.8rem}.register-page .schedule-table th,.register-page .schedule-table td{padding:6px 3px;min-width:85px}.register-page .shift-header{font-size:.8rem;min-width:50px}.register-page .shift-cell{height:80px;padding:3px}.register-page .staff-assignment{font-size:.7rem;padding:3px 5px;margin-bottom:2px}.register-page .control-panel,.register-page .schedule-grid{padding:10px}}.login-page{background:var(--background);min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.login-page:before{display:none}.login-container{width:100%;max-width:400px;padding:20px;position:relative;z-index:1}.login-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-md);text-align:center}.login-header h1{color:#0f172a;font-size:1.5rem;margin-bottom:6px;font-weight:700}.login-header p{color:var(--text-secondary);font-size:.875rem;margin-bottom:24px}.login-form{text-align:left}.login-form .form-group{margin-bottom:20px}.login-form label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:6px;font-size:.875rem}.login-form label i{margin-right:8px;width:16px}.login-form input{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background:#fff;color:var(--text-primary);transition:var(--transition);box-sizing:border-box}.login-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8d2a2c1f}.login-form input:disabled{background:var(--border-light);cursor:not-allowed;opacity:.7}.login-form .error-message{background:#fef2f2;color:#991b1b;padding:10px 14px;border-radius:var(--radius-md);margin-bottom:16px;border:1px solid #fecaca;border-left:4px solid #dc2626;display:flex;align-items:center;gap:8px;font-size:.85rem}.login-form .error-message i{font-size:1rem}.login-btn{width:100%;background:var(--primary-color);color:#fff;border:none;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.login-btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-sm)}.login-btn:disabled{background:#cbd5e1;cursor:not-allowed}.login-footer{text-align:center;color:var(--text-secondary);font-size:.85rem}.login-footer p{margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px}.login-footer p i{color:var(--primary-color)}.register-link{color:var(--primary-color);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:8px;padding:.5rem 1rem;border:1px solid var(--primary-color);border-radius:var(--radius-md);transition:var(--transition)}.register-link:hover{background:var(--primary-color);color:#fff}.auth-loading{background:var(--background);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary);text-align:center}.auth-loading .loading-spinner{font-size:3rem;margin-bottom:20px;animation:spin 1s linear infinite}.auth-loading p{font-size:1.2rem;font-weight:500}@media (max-width: 768px){.login-container{padding:15px}.login-card{padding:30px 25px}.login-header h1{font-size:2rem}.login-header p{font-size:1rem}.login-form input{padding:12px 16px;font-size:.95rem}.login-btn{padding:12px 20px;font-size:1rem}}@media (max-width: 480px){.login-card{padding:25px 20px}.login-header h1{font-size:1.8rem}.login-form input{padding:10px 14px}.login-btn{padding:10px 18px;font-size:.95rem}}.add-staff-section{margin:15px 0;text-align:center}.add-staff-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 12px #28a7454d}.add-staff-btn:hover{background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.add-staff-btn:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:#fff;color:var(--text-primary);padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a}.modal-close{background:#f1f5f9;border:1px solid var(--border);color:#64748b;width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.modal-close:hover{background:#e2e8f0;color:#0f172a}.modal-body{padding:20px}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:6px;font-size:.85rem}.modal-body .form-input{width:100%;padding:.55rem .8rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;background:#fff;color:var(--text-primary);transition:var(--transition);box-sizing:border-box}.modal-body .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8d2a2c1f}.modal-footer{background:#f8fafc;padding:14px 20px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border)}.modal-footer .btn{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px;border:none}.modal-footer .btn-secondary{background:#e2e8f0;color:#475569}.modal-footer .btn-secondary:hover{background:#cbd5e1;color:#0f172a}.modal-footer .btn-primary{background:var(--primary-color);color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-sm)}.modal-footer .btn-primary:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.modal-content{width:95%;margin:20px}.modal-header{padding:16px 20px}.modal-header h3{font-size:1.3rem}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column}.modal-footer .btn{width:100%;justify-content:center}}@media (max-width: 480px){.modal-content{width:100%;margin:10px;border-radius:8px}.modal-header{padding:12px 16px}.modal-header h3{font-size:1.2rem}.modal-body{padding:16px}.modal-footer{padding:12px 16px}}@media (max-width: 1024px){.stats-display,.stats-cards{grid-template-columns:1fr!important}}@media (max-width: 768px){.stats-display,.stats-cards{grid-template-columns:1fr!important;gap:15px!important}.shift-stats{grid-template-columns:1fr!important}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border-radius:var(--radius, 8px);background:#fff;box-shadow:0 1px 3px #0000000d}.table-responsive table{width:100%;min-width:650px;border-collapse:collapse}.table-responsive::-webkit-scrollbar{height:6px}.table-responsive::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.table-responsive::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.table-responsive::-webkit-scrollbar-thumb:hover{background:#94a3b8}.mobile-nav-toggle,.mobile-nav-drawer{display:none!important}.nav-brand{white-space:nowrap!important;flex-shrink:0!important}.nav-link{white-space:nowrap!important;word-break:keep-all!important}.nav-menu-desktop{display:flex!important;align-items:center!important;gap:.5rem!important;flex-wrap:nowrap!important}.nav-user-desktop{display:flex!important;align-items:center!important;gap:12px!important;white-space:nowrap!important;flex-shrink:0!important}.user-info,.logout-btn{white-space:nowrap!important;flex-shrink:0!important}@media (min-width: 993px) and (max-width: 1250px){.nav-container{padding:0 1rem!important;gap:10px!important}.nav-brand{font-size:1.35rem!important}.nav-link{padding:.5rem .75rem!important;font-size:.85rem!important}.user-info{padding:6px 10px!important;font-size:.8rem!important}.logout-btn{padding:6px 12px!important;font-size:.8rem!important}}.mobile-nav-toggle{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background .2s ease}.mobile-nav-toggle:hover{background:#ffffff26}@media (max-width: 992px),(max-height: 500px) and (max-width: 1100px){.main-content{padding:10px!important;max-width:100%!important}.navigation{padding:.6rem 1rem!important;position:sticky;top:0;z-index:1000}.nav-container{padding:0!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;width:100%!important;position:relative}.nav-brand{font-size:1.15rem!important;gap:8px!important;white-space:nowrap!important}.nav-menu-desktop,.nav-user-desktop{display:none!important}.mobile-nav-toggle{display:flex!important;align-items:center;justify-content:center;margin-left:auto;font-size:1.3rem!important;padding:6px 10px!important;color:#fff}.mobile-nav-drawer{display:none;position:absolute;top:100%;left:-1rem;right:-1rem;background:#1e293b;padding:16px;box-shadow:0 12px 25px #0000004d;border-radius:0 0 16px 16px;z-index:1000;flex-direction:column;gap:16px;border-top:1px solid rgba(255,255,255,.1)}.mobile-nav-drawer.is-open{display:flex!important}.mobile-nav-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.mobile-nav-menu .nav-item{width:100%}.mobile-nav-menu .nav-link{display:flex;align-items:center;padding:12px 16px;border-radius:10px;color:#ffffffe6;text-decoration:none;font-size:.95rem;font-weight:500;background:#ffffff0d}.mobile-nav-menu .nav-link.active{background:#4f46e5;color:#fff}.mobile-user-section{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);gap:12px}.mobile-user-section .user-info{font-size:.85rem!important;padding:6px 12px!important;background:#ffffff26!important}.mobile-user-section .logout-btn{padding:6px 14px!important;font-size:.85rem!important}.card,.container,.page-container{padding:14px!important;border-radius:10px!important}.filter-bar,.controls-bar,.form-row,.search-filter-row{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.filter-group,.form-group,.input-group{width:100%!important;min-width:100%!important}select,input[type=text],input[type=date],input[type=datetime-local],button{font-size:14px!important;min-height:42px!important}.button-group,.actions-group{flex-direction:column!important;width:100%!important;gap:8px!important}.button-group button,.actions-group button{width:100%!important;justify-content:center!important}}@media (max-width: 480px){.main-content{padding:10px 6px!important}.nav-brand{font-size:1.25rem!important}.user-info span{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-primary,.btn-secondary,.btn-success,.btn-danger{padding:10px 14px!important}}@media (max-width: 768px),(max-height: 500px) and (max-width: 950px){.schedule-page .main-content,.main-content{flex-direction:column!important;gap:16px!important}.staff-panel{width:100%!important;max-height:220px!important;border-right:none!important;border-bottom:1px solid var(--border)!important;margin-bottom:10px!important}.staff-list{max-height:140px!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important}.staff-item{margin-bottom:0!important;padding:6px 10px!important;font-size:.8rem!important}.schedule-grid{width:100%!important;padding:4px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.schedule-table{min-width:900px!important;table-layout:fixed!important}.schedule-table th:first-child,.schedule-table td:first-child,.shift-header{width:75px!important;min-width:75px!important;max-width:75px!important;position:sticky!important;left:0!important;z-index:10!important;background:#f8fafc!important;box-shadow:2px 0 5px #0000001a!important}.schedule-table th:not(:first-child),.schedule-table td:not(:first-child){min-width:115px!important;width:115px!important}.header{padding:1rem .75rem!important}.header h1{font-size:1.4rem!important}.week-navigation{flex-wrap:nowrap!important;gap:8px!important;width:100%!important;justify-content:space-between!important}.current-week{font-size:.8rem!important;padding:6px 10px!important;text-align:center}.nav-btn{padding:6px 10px!important;font-size:.8rem!important;white-space:nowrap}.change-controls{flex-direction:column!important;width:100%!important}.change-controls button{width:100%!important}}.staff-assignment{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:4px 6px!important;margin-bottom:4px!important;border-radius:4px!important;font-size:.75rem!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.staff-assignment span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}@media (max-width: 1024px){div[style*="7.5fr 2.5fr"]{grid-template-columns:1fr!important}}.inventory-entry-page{max-width:720px;margin:0 auto;padding:16px 0 40px;color:#1d2939}.inventory-entry-page header{margin-bottom:18px}.inventory-entry-page .eyebrow{font-size:11px;letter-spacing:.14em;color:#9b2b32;font-weight:800}.inventory-entry-page h1{margin:4px 0;font-size:30px}.inventory-entry-page p{margin:0;color:#667085}.mode-switch{display:flex;background:#f1f3f5;border-radius:14px;padding:4px;margin-bottom:14px}.mode-switch button{flex:1;border:0;background:transparent;border-radius:10px;padding:12px;font-weight:700;color:#667085}.mode-switch button.active{background:#9b2b32;color:#fff}.entry-card{background:#fff;border:1px solid #e6e9ee;border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 4px 18px #1d29390d}.entry-card label{display:block;font-weight:700;margin-bottom:8px}.entry-card select{width:100%;padding:13px;border:1px solid #d9dee7;border-radius:11px;font-size:16px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.section-heading small{display:block;color:#98a2b3;font-weight:400;margin-top:4px}.section-heading span{color:#9b2b32;font-weight:800}.sku-group{padding:14px 0;border-top:1px solid #edf0f3}.sku-group:first-of-type{border-top:0}.size-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.size-grid label{margin:0;text-align:center;font-size:12px;color:#667085}.size-grid input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px 4px;text-align:center;border:1px solid #d9dee7;border-radius:9px;font-size:16px}.submit-entry{width:100%;border:0;border-radius:13px;padding:15px;background:#9b2b32;color:#fff;font-weight:800;font-size:16px}@media (max-width:600px){.inventory-entry-page{padding:12px 0 30px}.inventory-entry-page h1{font-size:26px}.size-grid{gap:5px}.size-grid input{padding:9px 2px}}.color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.color-option{display:flex!important;align-items:center;gap:9px;margin:0!important;padding:10px;border-radius:10px;background:#f8fafc;font-weight:500!important}.color-option input{width:18px;height:18px;accent-color:#9b2b32}.sku-group-card{border:1px solid #e6e9ee;border-radius:14px;overflow:hidden;margin-top:14px}.sku-group-title{padding:11px 13px;background:#f8fafc;color:#9b2b32;font-weight:800}.sub-sku-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.sub-sku-card{border:1px solid #e6e9ee;border-radius:12px;padding:12px;background:#fff}.sub-sku-card.muted{background:#fafafa}.sub-sku-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.sub-sku-card label{font-size:12px;color:#667085;font-weight:500}.sub-sku-card input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 8px;border:1px solid #d9dee7;border-radius:9px;font-size:16px}.sub-sku-card input:disabled{background:#f2f4f7}.toggle{width:34px;height:20px;border:0;border-radius:20px;background:#cbd5e1;padding:2px;cursor:pointer}.toggle span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .18s}.toggle.on{background:#9b2b32}.toggle.on span{transform:translate(14px)}.user-layout-shell{background:#f4f6f9;min-height:100vh!important}.user-layout-shell>div:last-child{background:#f4f6f9;min-height:100vh}.user-layout-shell .inventory-entry-page{max-width:760px;margin:0 auto;padding:24px 0 48px}.user-layout-shell .inventory-entry-page header{background:transparent;padding:0 4px}.user-layout-shell .inventory-entry-page h1{color:#172b4d}.user-layout-shell .inventory-entry-page p{color:#667085}.user-layout-shell .entry-card{border-radius:16px;box-shadow:0 2px 12px #0f285012}.inventory-entry-page button.toggle{min-height:20px!important;height:20px!important;width:34px!important;max-width:34px!important;padding:2px!important;border:0!important;line-height:16px!important;font-size:0!important;display:block!important;box-shadow:none!important}.inventory-entry-page button.toggle span{display:block!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important}.history-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;width:100%;padding:12px 0;border:0;border-top:1px solid #edf0f3;background:transparent;color:inherit;text-align:left;cursor:pointer}.history-row span,.history-row small,.history-card p{color:#667085;font-size:13px}.history-detail{margin:0 0 10px;padding:12px;border-radius:10px;background:#f8fafc}.history-detail-meta{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;color:#667085;font-size:13px}.history-detail-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e7ebf0;font-size:13px}.history-detail-row strong{white-space:nowrap}@media (max-width:600px){.history-row{grid-template-columns:1fr;gap:3px}.history-detail-meta{flex-direction:column}.history-detail-row{align-items:flex-start}}:root{--duni-primary: #8d2a2c;--duni-primary-dark: #6f2022;--duni-primary-soft: #fbf5f4;--duni-primary-border: rgba(141, 42, 44, .18);--duni-paper: #fcf9f7;--duni-white: #ffffff;--duni-ink: #211c1c;--duni-muted: #726969;--duni-line: #e9deda;--duni-line-light: #f3eae7;--duni-shadow: 0 14px 34px rgba(83, 31, 32, .1);--duni-shadow-card: 0 4px 18px rgba(83, 31, 32, .06);--duni-shadow-hover: 0 16px 36px rgba(83, 31, 32, .12);--duni-radius-card: 20px;--duni-radius-btn: 12px;--duni-radius-pill: 999px;--duni-radius-modal: 26px}.bulletin-admin-container,.bulletin-board-container{max-width:1280px;margin:16px auto 40px;padding:32px 32px 64px;color:var(--duni-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--duni-paper);border-radius:26px;border:1px solid var(--duni-line);box-shadow:0 10px 32px #531f2014}.bulletin-admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px;flex-wrap:wrap}.bulletin-admin-title{font-size:26px;font-weight:800;color:var(--duni-ink);margin:0 0 6px;display:flex;align-items:center;letter-spacing:-.02em}.bulletin-admin-subtitle{font-size:14px;color:var(--duni-muted);margin:0}.bulletin-btn-create{background:var(--duni-primary);color:#fff;border:1px solid transparent;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px;transition:var(--transition);white-space:nowrap}.bulletin-btn-create:hover{background:var(--duni-primary-dark);box-shadow:var(--shadow-md)}.bulletin-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.bulletin-metric-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-sm);transition:var(--transition)}.bulletin-metric-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.metric-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.metric-info{display:flex;flex-direction:column}.metric-value{font-size:24px;font-weight:800;color:var(--duni-ink);line-height:1.2}.metric-label{font-size:11px;color:var(--duni-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}.bulletin-filter-bar{background:var(--duni-white);border:1px solid var(--duni-line);border-radius:18px;padding:14px 18px;margin-bottom:24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;box-shadow:var(--duni-shadow-card)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:13px;font-weight:700;color:var(--duni-ink);white-space:nowrap}.filter-group select{padding:8px 14px;border-radius:10px;border:1px solid var(--duni-line);background-color:var(--duni-paper);color:var(--duni-ink);font-size:13px;font-weight:600;outline:none;cursor:pointer;transition:all .2s}.filter-group select:focus{border-color:var(--duni-primary);background-color:var(--duni-white);box-shadow:0 0 0 3px #8d2a2c1f}.search-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.search-input-wrapper .search-icon{position:absolute;left:12px;color:var(--duni-muted);font-size:14px}.search-input-wrapper input{width:100%;padding:9px 36px 9px 34px;border-radius:10px;border:1px solid var(--duni-line);font-size:14px;background-color:var(--duni-paper);color:var(--duni-ink);outline:none;transition:all .2s}.search-input-wrapper input:focus{border-color:var(--duni-primary);background-color:var(--duni-white);box-shadow:0 0 0 3px #8d2a2c1f}.clear-search-btn{position:absolute;right:10px;background:transparent;border:none;color:var(--duni-muted);cursor:pointer;padding:4px}.bulletin-admin-list{display:flex;flex-direction:column;gap:16px}.bulletin-admin-card{background:var(--duni-white);border:1px solid var(--duni-line);border-radius:var(--duni-radius-card);padding:22px;box-shadow:var(--duni-shadow-card);transition:all .2s ease;position:relative}.bulletin-admin-card:hover{box-shadow:var(--duni-shadow-hover);border-color:#d8c7c3;transform:translateY(-2px)}.bulletin-admin-card.is-pinned{border-left:6px solid var(--duni-primary);background:#fdfbfb}.card-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px}.card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.category-badge{font-size:12px;font-weight:700;padding:4px 12px;border-radius:var(--duni-radius-pill);display:inline-flex;align-items:center;letter-spacing:-.01em}.priority-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--duni-radius-pill);border:1px solid}.pinned-badge{background:#8d2a2c14;color:var(--duni-primary);font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--duni-radius-pill)}.status-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--duni-radius-pill)}.status-published{background:#e8f8f5;color:#1e7e48}.status-draft{background:#f1f5f9;color:#64748b}.status-archived{background:#f8fafc;color:#94a3b8}.card-actions{display:flex;align-items:center;gap:6px}.btn-action-icon{background:var(--duni-paper);border:1px solid var(--duni-line);color:var(--duni-ink);width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;font-size:13px}.btn-action-icon:hover{background:var(--duni-primary);color:#fff;border-color:var(--duni-primary);box-shadow:0 4px 10px #8d2a2c40}.btn-action-icon.btn-delete:hover{background:#c0392b;color:#fff;border-color:#c0392b}.card-title{font-size:19px;font-weight:800;color:var(--duni-ink);margin:0 0 8px;line-height:1.4;letter-spacing:-.015em}.card-summary{font-size:14px;color:var(--duni-muted);margin:0 0 16px;line-height:1.55}.card-meta-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:14px;border-top:1px solid var(--duni-line-light);font-size:13px;color:var(--duni-muted)}.meta-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.meta-left span{display:inline-flex;align-items:center;gap:5px}.meta-attachment{background:var(--duni-primary-soft);color:var(--duni-primary);border:1px solid rgba(141,42,44,.12);padding:3px 10px;border-radius:var(--duni-radius-pill);font-weight:700;font-size:12px}.meta-ack{background:#fff8e1;color:#b7791f;padding:3px 10px;border-radius:var(--duni-radius-pill);font-weight:700;font-size:12px}.meta-read-progress{display:flex;flex-direction:column;align-items:flex-end;cursor:pointer;min-width:140px}.meta-read-progress:hover .progress-labels span{color:var(--duni-primary)}.progress-labels{font-size:12px;margin-bottom:5px;display:flex;gap:5px}.progress-labels strong{color:var(--duni-ink)}.progress-track{width:130px;height:8px;background:var(--duni-line-light);border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;transition:width .4s ease}.bulletin-state-box{background:var(--duni-white);border:2px dashed var(--duni-line);border-radius:var(--duni-radius-card);padding:50px 20px;text-align:center;color:var(--duni-muted)}.bulletin-state-box h3{color:var(--duni-ink);margin:0 0 6px;font-weight:800}.bulletin-state-box p{margin:0;font-size:14px}.bulletin-error-banner{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:14px 18px;border-radius:14px;display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:14px}.bulletin-error-banner button{margin-left:auto;background:#b91c1c;color:#fff;border:none;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.bulletin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#211c1ca6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.bulletin-modal-window{background:var(--duni-white);border-radius:var(--duni-radius-modal);width:100%;max-width:820px;max-height:92vh;display:flex;flex-direction:column;box-shadow:var(--duni-shadow);border:1px solid var(--duni-line);overflow:hidden;animation:modalFadeIn .25s ease-out}.bulletin-modal-window.tracking-window{max-width:900px}.bulletin-modal-window.preview-window,.bulletin-modal-window.user-detail-window{max-width:860px}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.bulletin-modal-header{padding:18px 26px;background:#fdfaf9;border-bottom:1px solid var(--duni-line-light);display:flex;align-items:center;justify-content:space-between}.bulletin-modal-header h2{font-size:19px;font-weight:800;color:var(--duni-ink);margin:0;display:flex;align-items:center;letter-spacing:-.015em}.modal-close-btn{background:transparent;border:none;color:var(--duni-muted);font-size:18px;cursor:pointer;padding:6px;border-radius:10px;transition:all .2s}.modal-close-btn:hover{color:var(--duni-ink);background:var(--duni-line-light)}.bulletin-form{display:flex;flex-direction:column;overflow:hidden;flex:1}.bulletin-form-body{padding:26px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{font-size:13px;font-weight:700;color:var(--duni-ink)}.form-group .req{color:var(--duni-primary)}.form-group input,.form-group select,.form-group textarea{padding:11px 15px;border:1px solid var(--duni-line);border-radius:var(--duni-radius-btn);font-size:14px;color:var(--duni-ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--duni-primary);box-shadow:0 0 0 3px #8d2a2c1f}.target-type-segmented{display:flex;background:var(--duni-paper);border:1px solid var(--duni-line);border-radius:14px;padding:4px;gap:4px}.seg-btn{flex:1;border:none;background:transparent;padding:10px 14px;font-size:13px;font-weight:700;color:var(--duni-muted);border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.seg-btn.active{background:var(--duni-white);color:var(--duni-primary);box-shadow:0 2px 8px #531f2014}.specific-staff-box{background:var(--duni-paper);border:1px solid var(--duni-line);border-radius:16px;padding:16px;margin-top:10px}.staff-box-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.staff-search-input{position:relative;flex:1;min-width:200px}.staff-search-input i{position:absolute;left:11px;top:11px;color:var(--duni-muted);font-size:13px}.staff-search-input input{width:100%;padding:8px 12px 8px 32px!important;font-size:13px!important;border-radius:10px!important}.staff-box-actions{display:flex;gap:8px}.staff-box-actions button{background:var(--duni-white);border:1px solid var(--duni-line);color:var(--duni-ink);padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.staff-box-actions button:hover{background:var(--duni-line-light)}.staff-grid-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding-right:4px}.staff-pick-item{display:flex;align-items:center;gap:10px;background:var(--duni-white);border:1px solid var(--duni-line);border-radius:10px;padding:8px 12px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.staff-pick-item:hover{background:var(--duni-primary-soft);border-color:#8d2a2c40}.staff-pick-item.selected{background:var(--duni-primary-soft);border-color:var(--duni-primary)}.staff-pick-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--duni-primary)}.pick-info{display:flex;flex-direction:column;overflow:hidden}.pick-name{font-size:13px;font-weight:700;color:var(--duni-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-code{font-size:11px;color:var(--duni-muted)}.pick-warning{color:var(--duni-primary);font-size:12px;font-weight:700;margin:8px 0 0}.media-dropzone{border:2px dashed #d9b8b5;background:var(--duni-primary-soft);border-radius:18px;padding:26px;text-align:center;cursor:pointer;transition:all .2s}.media-dropzone:hover{border-color:var(--duni-primary);background:#f8edeb}.upload-drop-icon{font-size:38px;color:var(--duni-primary);margin-bottom:8px}.drop-main-text{font-size:14px;font-weight:800;color:var(--duni-primary);margin:0 0 4px}.drop-sub-text{font-size:12px;color:var(--duni-muted);margin:0}.media-preview-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.media-chip-preview{position:relative;display:flex;align-items:center;gap:10px;background:var(--duni-white);border:1px solid var(--duni-line);border-radius:12px;padding:6px 12px 6px 6px;max-width:250px;box-shadow:0 2px 6px #531f200d}.media-chip-preview.is-new{border-color:var(--duni-primary);background:var(--duni-primary-soft)}.badge-new-upload{position:absolute;top:-7px;left:-6px;background:var(--duni-primary);color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:var(--duni-radius-pill)}.thumb-img{width:44px;height:44px;object-fit:cover;border-radius:8px}.thumb-video-placeholder{width:44px;height:44px;background:var(--duni-ink);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.thumb-name{font-size:12px;font-weight:700;color:var(--duni-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.thumb-size{font-size:11px;color:var(--duni-muted)}.btn-remove-thumb{background:transparent;border:none;color:#c0392b;cursor:pointer;padding:4px;font-size:13px;display:flex;align-items:center;justify-content:center;border-radius:6px}.btn-remove-thumb:hover{background:#fde8e8}.form-toggles-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:16px;border-top:1px solid var(--duni-line-light)}.toggle-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--duni-ink);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{width:17px;height:17px;accent-color:var(--duni-primary);cursor:pointer}.status-selector-mini{display:flex;align-items:center;gap:8px}.status-selector-mini label{font-size:12px;font-weight:700;color:var(--duni-muted)}.status-selector-mini select{padding:7px 12px;font-size:12px;font-weight:700;border-radius:8px;border:1px solid var(--duni-line)}.bulletin-modal-footer{padding:18px 26px;background:#fdfaf9;border-top:1px solid var(--duni-line-light);display:flex;justify-content:flex-end;gap:12px}.btn-cancel{background:var(--duni-white);border:1px solid var(--duni-line);color:var(--duni-muted);padding:10px 20px;border-radius:var(--duni-radius-btn);font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--duni-line-light);color:var(--duni-ink)}.btn-submit{background:linear-gradient(135deg,var(--duni-primary),var(--duni-primary-dark));color:#fff;border:none;padding:10px 24px;border-radius:var(--duni-radius-btn);font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 14px #8d2a2c47;display:flex;align-items:center;transition:all .2s}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,var(--duni-primary-dark),#561618);transform:translateY(-1px);box-shadow:0 6px 18px #8d2a2c61}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.tracking-header-info{padding:22px 26px;background:#fdfaf9;border-bottom:1px solid var(--duni-line-light)}.track-title{font-size:18px;font-weight:800;color:var(--duni-ink);margin:0 0 14px;letter-spacing:-.01em}.track-summary-bars{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px}.track-stat-item{display:flex;align-items:center;gap:6px;font-size:13px}.stat-label{color:var(--duni-muted)}.stat-val{font-weight:800}.text-success{color:#1e7e48}.text-danger{color:#c0392b}.text-primary{color:var(--duni-primary)}.track-progress-bar{width:100%;height:8px;background:var(--duni-line-light);border-radius:999px;overflow:hidden}.track-progress-bar .bar-fill{height:100%;background:linear-gradient(90deg,var(--duni-primary),#1e7e48);border-radius:999px;transition:width .4s ease}.tracking-search-bar{padding:14px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--duni-line-light)}.seg-tracking-filter{display:flex;background:var(--duni-paper);border:1px solid var(--duni-line);border-radius:12px;padding:3px;gap:4px}.seg-tracking-filter button{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:700;color:var(--duni-muted);border-radius:8px;cursor:pointer;transition:all .2s}.seg-tracking-filter button.active{background:var(--duni-white);color:var(--duni-primary);box-shadow:0 2px 6px #531f2014}.tracking-search-input{position:relative;min-width:220px}.tracking-search-input i{position:absolute;left:10px;top:10px;color:var(--duni-muted);font-size:12px}.tracking-search-input input{padding:7px 12px 7px 30px;font-size:12px;border:1px solid var(--duni-line);border-radius:8px;outline:none;width:100%}.tracking-table-wrapper{max-height:400px;overflow-y:auto}.tracking-table{width:100%;border-collapse:collapse;font-size:13px}.tracking-table th{background:#fdfaf9;color:var(--duni-muted);font-weight:700;padding:14px 22px;text-align:left;border-bottom:1px solid var(--duni-line-light);position:sticky;top:0;z-index:10}.tracking-table td{padding:13px 22px;border-bottom:1px solid var(--duni-line-light);color:var(--duni-ink)}.staff-cell{display:flex;align-items:center;gap:10px}.staff-avatar{width:32px;height:32px;border-radius:50%;background:var(--duni-primary-soft);color:var(--duni-primary);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}.staff-sub-code{display:block;font-size:11px;color:var(--duni-muted)}.badge-read-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--duni-radius-pill);font-size:11px;font-weight:700}.badge-read-status.read{background:#e8f8f5;color:#1e7e48}.badge-read-status.unread{background:#f1f5f9;color:#94a3b8}.badge-ack{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--duni-radius-pill);font-size:11px;font-weight:700}.badge-ack.ack-yes{background:#e8f5e9;color:#1e7e48}.badge-ack.ack-no{background:#fff8e1;color:#b7791f}.bulletin-board-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px;flex-wrap:wrap}.bulletin-board-header h1{font-size:26px;font-weight:800;color:var(--duni-ink);margin:0 0 6px;display:flex;align-items:center;letter-spacing:-.02em}.bulletin-board-header p{font-size:14px;color:var(--duni-muted);margin:0}.header-search{position:relative;min-width:260px}.header-search i{position:absolute;left:14px;top:13px;color:var(--duni-muted)}.header-search input{width:100%;padding:11px 36px 11px 38px;border:1px solid var(--duni-line);border-radius:14px;background:var(--duni-white);color:var(--duni-ink);font-size:14px;outline:none;box-shadow:0 2px 8px #531f200a;transition:all .2s}.header-search input:focus{border-color:var(--duni-primary);box-shadow:0 0 0 3px #8d2a2c1f}.header-search .btn-clear{position:absolute;right:12px;top:11px;background:transparent;border:none;color:var(--duni-muted);cursor:pointer}.bulletin-tabs-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:24px}.tab-btn{background:#fff;border:1px solid var(--border);color:var(--text-secondary);padding:7px 16px;border-radius:var(--duni-radius-pill);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:var(--transition)}.tab-btn:hover{background:#f8fafc;color:var(--text-primary);border-color:#cbd5e1}.tab-btn.active{background:var(--duni-primary);color:#fff;border-color:var(--duni-primary);box-shadow:0 2px 8px #8d2a2c40}.tab-badge{background:#fff;color:var(--duni-primary);padding:1px 7px;border-radius:var(--duni-radius-pill);font-size:11px;font-weight:800}.tab-btn.active .tab-badge{background:#fff;color:var(--duni-primary)}.bulletin-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.bulletin-user-card{background:var(--duni-white);border:1px solid var(--duni-line);border-radius:22px;overflow:hidden;box-shadow:var(--duni-shadow-card);cursor:pointer;transition:all .25s cubic-bezier(.165,.84,.44,1);display:flex;flex-direction:column;position:relative}.bulletin-user-card:hover{transform:translateY(-4px);box-shadow:var(--duni-shadow-hover);border-color:#d8c7c3}.bulletin-user-card.is-unread{border-top:4px solid var(--duni-primary)}.bulletin-user-card.is-pinned{border-left:5px solid var(--duni-primary)}.card-thumb-container{width:100%;height:175px;position:relative;background:#1f1a1a;overflow:hidden;border-radius:22px 22px 0 0}.card-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.bulletin-user-card:hover .card-thumb-img{transform:scale(1.04)}.thumb-count-badge{position:absolute;bottom:10px;right:10px;background:#211c1cb8;color:#fff;padding:3px 9px;border-radius:var(--duni-radius-pill);font-size:11px;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-inner-body{padding:20px;display:flex;flex-direction:column;flex:1}.card-tag-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.cat-chip{font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--duni-radius-pill);display:inline-flex;align-items:center;gap:5px}.tag-urgent{background:#8d2a2c1f;color:var(--duni-primary);font-size:10px;font-weight:800;padding:3px 8px;border-radius:var(--duni-radius-pill);text-transform:uppercase;letter-spacing:.04em;animation:urgentPulse 1.8s infinite}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.6}}.tag-direct{background:var(--duni-primary-soft);color:var(--duni-primary);border:1px solid rgba(141,42,44,.22);font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--duni-radius-pill)}.tag-pinned{color:var(--duni-primary);font-size:11px}.tag-new{background:var(--duni-primary);color:#fff;font-size:10px;font-weight:800;padding:2px 8px;border-radius:var(--duni-radius-pill);text-transform:uppercase}.card-headline{font-size:17px;font-weight:800;color:var(--duni-ink);margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.015em}.card-excerpt{font-size:13px;color:var(--duni-muted);margin:0 0 16px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer-meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--duni-line-light);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--duni-muted)}.footer-meta-left{display:flex;align-items:center;gap:12px}.footer-meta-left span{display:inline-flex;align-items:center;gap:4px}.footer-meta-right{display:flex;align-items:center;gap:6px}.icon-indicator{font-size:14px;color:var(--duni-muted)}.icon-indicator.ack-done{color:#1e7e48}.icon-indicator.ack-pending{color:#b7791f}.detail-modal-body{padding:30px;overflow-y:auto;max-height:75vh}.detail-title{font-size:24px;font-weight:800;color:var(--duni-ink);margin:0 0 14px;line-height:1.35;letter-spacing:-.02em}.detail-meta-bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--duni-line-light);font-size:13px;color:var(--duni-muted)}.detail-meta-bar .meta-item{display:inline-flex;align-items:center;gap:6px}.detail-summary-highlight{background:var(--duni-primary-soft);border-left:4px solid var(--duni-primary);padding:16px 20px;border-radius:0 14px 14px 0;font-size:14px;color:var(--duni-ink);font-style:italic;margin-bottom:22px}.detail-content-text{font-size:15px;line-height:1.75;color:var(--duni-ink);margin-bottom:28px;word-break:break-word}.detail-content-text p{margin:0 0 12px}.detail-video-wrapper{margin-bottom:28px}.detail-video-wrapper h4{font-size:15px;font-weight:800;color:var(--duni-ink);margin:0 0 12px;display:flex;align-items:center;gap:8px}.iframe-responsive{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:18px;box-shadow:0 6px 20px #531f201a}.iframe-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.html5-video{width:100%;max-height:480px;border-radius:18px;background:#1f1a1a;box-shadow:0 6px 20px #531f201a}.video-card-player{margin-bottom:16px}.video-filename{display:block;font-size:12px;color:var(--duni-muted);margin-top:6px}.detail-gallery-wrapper{margin-bottom:28px}.detail-gallery-wrapper h4{font-size:15px;font-weight:800;color:var(--duni-ink);margin:0 0 12px;display:flex;align-items:center;gap:8px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.gallery-item{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--duni-paper);border:1px solid var(--duni-line)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#211c1c66;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;opacity:0;transition:opacity .2s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:hover .gallery-overlay{opacity:1}.detail-ack-box{background:#fff8e1;border:1px solid #fef3c7;border-radius:18px;padding:20px;margin-top:20px;display:flex;flex-direction:column;gap:14px}.ack-box-info{display:flex;gap:12px;align-items:flex-start}.ack-icon{font-size:24px;color:#b7791f;flex-shrink:0;margin-top:2px}.ack-box-info strong{font-size:14px;color:#744210;display:block;margin-bottom:2px}.ack-box-info p{font-size:13px;color:#975a16;margin:0}.btn-confirm-ack{background:linear-gradient(135deg,#1e7e48,#155724);color:#fff;border:none;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #1e7e484d;transition:all .2s}.btn-confirm-ack:hover:not(:disabled){background:linear-gradient(135deg,#155724,#0f3e1a);transform:translateY(-1px)}.ack-status-confirmed{display:flex;align-items:center;gap:8px;color:#1e7e48;font-size:14px;font-weight:700;padding:10px 16px;background:#e8f8f5;border-radius:10px}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#140f0ff0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.lightbox-close-btn{position:absolute;top:20px;right:24px;background:#ffffff26;border:none;color:#fff;font-size:22px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-close-btn:hover{background:#ffffff4d}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:24px;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-nav-btn:hover{background:#ffffff4d}.lightbox-nav-btn.prev{left:24px}.lightbox-nav-btn.next{right:24px}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:85vh}.lightbox-main-img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:16px;box-shadow:0 16px 40px #0009}.lightbox-caption{margin-top:14px;color:#e9deda;font-size:13px;display:flex;justify-content:space-between;width:100%}.urgent-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#211c1cd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:urgentOverlayFade .3s ease}@keyframes urgentOverlayFade{0%{opacity:0}to{opacity:1}}.urgent-modal-card{background:var(--duni-white);border-radius:var(--duni-radius-modal);width:100%;max-width:680px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #8d2a2c59;border:2px solid var(--duni-primary);display:flex;flex-direction:column;animation:urgentCardPop .35s cubic-bezier(.175,.885,.32,1.275)}@keyframes urgentCardPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.urgent-banner-bar{background:linear-gradient(135deg,var(--duni-primary),var(--duni-primary-dark));color:#fff;padding:20px 26px;display:flex;align-items:center;gap:16px}.urgent-banner-bar .pulse-icon{width:44px;height:44px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:22px;animation:pulseWarning 1.2s infinite}@keyframes pulseWarning{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.urgent-banner-title{margin:0 0 2px;font-size:18px;font-weight:900;letter-spacing:.05em}.urgent-banner-sub{margin:0;font-size:13px;opacity:.9}.urgent-modal-body{padding:26px;overflow-y:auto;max-height:60vh}.urgent-title{font-size:22px;font-weight:800;color:var(--duni-ink);margin:0 0 10px;line-height:1.35;letter-spacing:-.015em}.urgent-meta-line{display:flex;gap:16px;font-size:12px;color:var(--duni-muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--duni-line-light)}.urgent-summary-callout{background:var(--duni-primary-soft);border-left:4px solid var(--duni-primary);padding:12px 18px;border-radius:0 12px 12px 0;font-size:14px;color:var(--duni-primary-dark);margin-bottom:16px;font-weight:700}.urgent-text-content{font-size:14px;line-height:1.7;color:var(--duni-ink);margin-bottom:20px}.urgent-media-strip{display:flex;gap:10px;overflow-x:auto;padding:6px 0}.urgent-media-item{width:120px;height:90px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#1f1a1a;border:1px solid var(--duni-line)}.urgent-media-item img,.urgent-media-item video{width:100%;height:100%;object-fit:cover}.urgent-modal-footer{padding:18px 26px;background:#fdfaf9;border-top:1px solid var(--duni-line-light)}.btn-urgent-confirm{width:100%;background:linear-gradient(135deg,var(--duni-primary),var(--duni-primary-dark));color:#fff;border:none;padding:14px 20px;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #8d2a2c59;transition:all .2s}.btn-urgent-confirm:hover:not(:disabled){background:linear-gradient(135deg,var(--duni-primary-dark),#561618);transform:translateY(-1px)}@media (max-width: 768px){.bulletin-admin-container,.bulletin-board-container{padding:20px 16px 40px;margin:8px auto 24px;border-radius:20px}.bulletin-admin-header,.bulletin-board-header{flex-direction:column;align-items:stretch}.bulletin-btn-create{width:100%;justify-content:center}.header-search{width:100%}.form-row-2{grid-template-columns:1fr}.bulletin-filter-bar{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}.card-top-row{flex-direction:column;align-items:flex-start}.card-actions{width:100%;justify-content:flex-end}.card-meta-row{flex-direction:column;align-items:flex-start}.meta-read-progress{align-items:flex-start;width:100%}.progress-track{width:100%}.detail-title{font-size:20px}.lightbox-nav-btn{display:none}}.management-checkinout-page{max-width:1440px;margin:0 auto;padding:20px 24px 60px!important;min-height:calc(100vh - 60px)}.management-checkinout-page .container{max-width:100%;background:transparent;border:none;box-shadow:none;border-radius:0;padding:0;overflow:visible}.discipline-stats-page{max-width:1360px;margin:16px auto 50px}.discipline-header{margin-bottom:24px}.discipline-header-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--duni-muted)}.discipline-header-breadcrumb .back-link{color:var(--duni-primary);text-decoration:none;font-weight:600;display:flex;align-items:center;gap:4px;transition:opacity .2s}.discipline-header-breadcrumb .back-link:hover{opacity:.8;text-decoration:underline}.discipline-header-breadcrumb .divider{color:#ccc}.discipline-header-breadcrumb .current{font-weight:500;color:var(--duni-ink)}.discipline-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-secondary-action{background:#fff;color:var(--duni-ink);border:1px solid var(--duni-line);padding:10px 18px;border-radius:var(--duni-radius-btn);font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 2px 6px #0000000a;display:flex;align-items:center;transition:all .2s ease}.btn-secondary-action:hover{background:#fdfaf8;border-color:#d5c8c8;transform:translateY(-1px)}.btn-icon-action{background:#fff;color:var(--duni-ink);border:1px solid var(--duni-line);width:40px;height:40px;border-radius:var(--duni-radius-btn);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0000000a;transition:all .2s}.btn-icon-action:hover{background:#fdfaf8;color:var(--duni-primary);border-color:var(--duni-primary)}.discipline-filter-panel{background:#fff;border:1px solid var(--duni-line);border-radius:18px;padding:18px 24px;margin-bottom:24px;box-shadow:0 4px 16px #531f2008;display:flex;flex-direction:column;gap:16px}.time-preset-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.filter-label{font-size:13px;font-weight:700;color:var(--duni-ink);display:flex;align-items:center;gap:6px;white-space:nowrap}.preset-buttons-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.preset-btn{background:#f8f4f3;color:var(--duni-ink);border:1px solid transparent;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.preset-btn:hover{background:#ede3e2}.preset-btn.active{background:var(--duni-primary);color:#fff;box-shadow:0 2px 8px #8d2a2c40}.custom-date-inputs{display:flex;align-items:center;gap:8px}.custom-date-inputs input[type=date]{padding:6px 10px;border:1px solid var(--duni-line);border-radius:8px;font-size:12px;font-family:inherit;color:var(--duni-ink);outline:none}.custom-date-inputs .range-to{font-size:12px;color:var(--duni-muted)}.filter-row-secondary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed var(--duni-line)}.filter-select-item{display:flex;align-items:center;gap:8px}.filter-select-item label{font-size:12px;font-weight:600;color:var(--duni-muted);white-space:nowrap}.filter-select-item select{padding:7px 12px;border:1px solid var(--duni-line);border-radius:10px;background:#fff;font-size:13px;font-family:inherit;color:var(--duni-ink);outline:none;cursor:pointer;transition:border-color .2s}.filter-select-item select:focus{border-color:var(--duni-primary)}.filter-search-box{flex:1;min-width:240px;position:relative;display:flex;align-items:center}.filter-search-box .search-icon{position:absolute;left:14px;color:#a89f9f;font-size:13px}.filter-search-box input{width:100%;padding:8px 36px 8px 38px;border:1px solid var(--duni-line);border-radius:10px;font-size:13px;font-family:inherit;outline:none;transition:all .2s;background:#fff}.filter-search-box input:focus{border-color:var(--duni-primary);box-shadow:0 0 0 3px #8d2a2c14}.filter-search-box .clear-search-btn{position:absolute;right:10px;background:transparent;border:none;color:#999;cursor:pointer;font-size:12px}.discipline-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}.kpi-card{background:#fff;border:1px solid var(--duni-line);border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 14px #531f2008;transition:transform .2s ease,box-shadow .2s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #531f2012}.kpi-icon-wrap{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.kpi-info{display:flex;flex-direction:column}.kpi-value{font-size:24px;font-weight:800;color:var(--duni-ink);line-height:1.1;letter-spacing:-.02em}.kpi-label{font-size:12px;font-weight:700;color:#574e4e;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.kpi-subtext{font-size:11px;color:var(--duni-muted);margin-top:2px}.discipline-analytics-row{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:28px}.analytics-card{background:#fff;border:1px solid var(--duni-line);border-radius:20px;padding:22px 24px;box-shadow:0 4px 16px #531f2008}.analytics-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.analytics-card-header h3{font-size:15px;font-weight:700;margin:0;color:var(--duni-ink);display:flex;align-items:center}.chart-legend{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--duni-muted)}.legend-item{display:flex;align-items:center;gap:6px}.legend-color{width:10px;height:10px;border-radius:3px}.analytics-chart-container{min-height:190px;display:flex;align-items:center;justify-content:center}.chart-empty-state{color:var(--duni-muted);font-size:13px;text-align:center}.svg-chart-wrapper{width:100%}.trend-svg{width:100%;height:190px;overflow:visible}.chart-bar{transition:opacity .2s;cursor:pointer}.chart-bar:hover{opacity:.85}.rankings-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:100%}.rankings-subcol{display:flex;flex-direction:column}.subcol-title{font-size:13px;font-weight:700;color:var(--duni-ink);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--duni-line)}.ranking-list{display:flex;flex-direction:column;gap:8px}.ranking-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#faf6f5;transition:all .2s ease}.ranking-item.clickable:hover{background:#f0e6e4;cursor:pointer;transform:translate(2px)}.rank-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;background:#ddd;color:#555}.rank-badge.rank-1{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.rank-badge.rank-2{background:linear-gradient(135deg,#bdc3c7,#95a5a6);color:#fff}.rank-badge.rank-3{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff}.rank-badge.rank-warn{background:#c0392b26;color:#c0392b}.rank-info{flex:1;min-width:0}.rank-name{display:block;font-size:12px;font-weight:700;color:var(--duni-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-role{display:block;font-size:10px;color:var(--duni-muted)}.rank-count{font-size:12px;font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap}.gold-count{background:#b7791f26;color:#b7791f}.red-count{background:#c0392b26;color:#c0392b}.empty-sublist{font-size:12px;color:var(--duni-muted);text-align:center;padding:20px 0;font-style:italic}.discipline-view-tabs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px}.tab-buttons{display:flex;align-items:center;background:#eee8e8;padding:4px;border-radius:12px;gap:4px}.tab-toggle-btn{background:transparent;color:#635858;border:none;padding:9px 18px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center}.tab-toggle-btn:hover{color:var(--duni-ink)}.tab-toggle-btn.active{background:#fff;color:var(--duni-primary);box-shadow:0 2px 8px #0000000f}.staff-sort-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sort-label{font-size:12px;color:var(--duni-muted);font-weight:600}.sort-pill{background:#fff;border:1px solid var(--duni-line);color:var(--duni-ink);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.sort-pill.active{border-color:var(--duni-primary);color:var(--duni-primary);background:#fcf6f6}.discipline-table-wrap{background:#fff;border:1px solid var(--duni-line);border-radius:20px;overflow-x:auto;box-shadow:0 6px 20px #531f2008}.discipline-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.discipline-table th{background:#fbf8f8;color:#635858;font-weight:700;padding:14px 18px;border-bottom:1px solid var(--duni-line);white-space:nowrap;letter-spacing:.02em}.discipline-table td{padding:14px 18px;border-bottom:1px solid #f6f0f0;vertical-align:middle;color:var(--duni-ink)}.discipline-table tr.staff-row:hover,.discipline-table tr.incident-row:hover{background:#fdfaf9}.staff-cell-info{display:flex;align-items:center;gap:12px}.staff-avatar-badge{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;flex-shrink:0;box-shadow:0 2px 6px #0000001a}.staff-name-title{font-weight:700;color:var(--duni-ink);font-size:14px}.staff-id-sub{font-size:11px;color:var(--duni-muted)}.role-tag{background:#f2ecec;color:#554848;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.count-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-weight:800;font-size:12px}.count-chip.zero-chip{background:#f4efef;color:#999}.count-chip.violation-chip{background:#c0392b1f;color:#c0392b}.count-chip.violation-chip.severe{background:#c0392b;color:#fff}.count-chip.reward-chip{background:#b7791f24;color:#b7791f}.urgent-tag{font-size:10px;font-weight:600;opacity:.9}.ack-status-box{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:8px}.ack-status-box.success{background:#1e7e481a;color:#1e7e48}.ack-status-box.pending{background:#d977061f;color:#d97706}.evaluation-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}.btn-view-profile{background:#fff;border:1px solid var(--duni-line);color:var(--duni-primary);padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-view-profile:hover{background:var(--duni-primary);color:#fff;border-color:var(--duni-primary)}.incident-date-cell{font-size:12px;color:var(--duni-ink);font-weight:600}.incident-cat-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.incident-prio-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}.incident-prio-badge.prio-normal{background:#f0e9e9;color:#635858}.incident-prio-badge.prio-important{background:#b7791f24;color:#b7791f}.incident-prio-badge.prio-urgent{background:#8d2a2c26;color:#8d2a2c}.incident-content-cell{display:flex;flex-direction:column;gap:3px}.incident-title{font-size:13px;font-weight:700;color:var(--duni-ink);cursor:pointer;transition:color .2s}.incident-title:hover{color:var(--duni-primary);text-decoration:underline}.incident-summary{font-size:12px;color:var(--duni-muted)}.incident-author{font-size:11px;color:#999}.target-pill.all{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;background:#f2ecec;padding:3px 8px;border-radius:6px}.target-recipients-chips{display:flex;flex-wrap:wrap;gap:5px}.recipient-chip{background:#f6efee;color:#574646;font-size:11px;padding:2px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.incident-progress-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.progress-text{font-size:11px;font-weight:600;color:#554848}.progress-track-sm{width:100px;height:6px;background:#eee4e4;border-radius:999px;overflow:hidden}.progress-fill-sm{height:100%;border-radius:999px;transition:width .3s ease}.ack-text{font-size:10px;color:#726969}.btn-view-incident{background:#fdf8f8;border:1px solid var(--duni-line);color:var(--duni-ink);padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:5px}.btn-view-incident:hover{background:var(--duni-primary);color:#fff;border-color:var(--duni-primary)}.staff-profile-modal{max-width:820px;width:90%}.modal-header-staff-profile{display:flex;align-items:center;gap:16px}.staff-profile-avatar{width:54px;height:54px;border-radius:16px;color:#fff;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.staff-meta-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--duni-muted);margin-top:4px}.staff-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.mini-kpi-item{background:#fbf8f8;border:1px solid var(--duni-line);border-radius:12px;padding:12px;text-align:center}.mini-kpi-item .num{display:block;font-size:20px;font-weight:800;color:var(--duni-ink)}.mini-kpi-item .lbl{font-size:11px;font-weight:600;color:var(--duni-muted);text-transform:uppercase;margin-top:2px}.mini-kpi-item.red .num{color:#c0392b}.mini-kpi-item.gold .num{color:#b7791f}.mini-kpi-item.green .num{color:#1e7e48}.mini-kpi-item.orange .num{color:#d97706}.timeline-section-title{font-size:15px;font-weight:700;color:var(--duni-ink);margin:0 0 16px;display:flex;align-items:center}.empty-staff-timeline{text-align:center;padding:30px 20px;background:#faf6f5;border-radius:16px;color:var(--duni-muted)}.staff-timeline-feed{position:relative;display:flex;flex-direction:column;gap:18px;padding-left:28px}.staff-timeline-feed:before{content:"";position:absolute;left:10px;top:6px;bottom:6px;width:2px;background:#e2d7d7}.timeline-feed-item{position:relative}.feed-dot{position:absolute;left:-28px;top:14px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;background:#fff;border:2px solid #ccc;box-shadow:0 2px 6px #00000014}.timeline-feed-item.is-violation .feed-dot{border-color:#c0392b;color:#c0392b}.timeline-feed-item.is-reward .feed-dot{border-color:#b7791f;color:#b7791f}.feed-card{background:#fff;border:1px solid var(--duni-line);border-radius:14px;padding:16px;box-shadow:0 2px 8px #531f2008}.feed-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:6px}.feed-tags{display:flex;align-items:center;gap:6px}.feed-cat-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.feed-cat-badge.danger{background:#c0392b1f;color:#c0392b}.feed-cat-badge.gold{background:#b7791f24;color:#b7791f}.feed-prio-urgent{background:#8d2a2c26;color:#8d2a2c;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px}.feed-prio-important{background:#b7791f26;color:#b7791f;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px}.feed-date{font-size:11px;color:var(--duni-muted)}.feed-title{font-size:14px;font-weight:700;color:var(--duni-ink);margin:0 0 4px}.feed-summary{font-size:12px;color:var(--duni-muted);margin:0 0 8px}.feed-content-snippet{font-size:12px;color:#443c3c;line-height:1.5;white-space:pre-wrap;background:#fbf8f8;padding:10px;border-radius:8px;margin-bottom:10px}.feed-attachments{margin-bottom:10px}.attach-lbl{font-size:11px;font-weight:600;color:var(--duni-muted);display:block;margin-bottom:4px}.attach-list{display:flex;flex-wrap:wrap;gap:6px}.attach-link-chip{background:#f0e8e8;color:var(--duni-primary);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.attach-link-chip:hover{background:#e2d2d2}.feed-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--duni-line);padding-top:10px;margin-top:6px;font-size:11px;flex-wrap:wrap;gap:8px}.feed-user-tracking{display:flex;align-items:center;gap:8px}.track-pill{padding:2px 8px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.track-pill.read{background:#1e7e481a;color:#1e7e48}.track-pill.unread{background:#eee;color:#777}.track-pill.acknowledged{background:#1e7e4826;color:#1e7e48}.track-pill.pending{background:#d9770626;color:#d97706}.feed-author{color:var(--duni-muted);font-style:italic}.staff-modal-body{max-height:70vh;overflow-y:auto;padding:20px 24px}@media print{.navigation,.bulletin-admin-header,.discipline-filter-panel,.discipline-header-actions,.tab-buttons,.staff-sort-options,.btn-view-profile,.btn-view-incident,.bulletin-modal-backdrop{display:none!important}.discipline-stats-page{box-shadow:none!important;border:none!important;margin:0!important;padding:0!important;max-width:100%!important}.discipline-kpi-grid{grid-template-columns:repeat(5,1fr)!important}.discipline-table-wrap{box-shadow:none!important;border:1px solid #ccc!important}body{background:#fff!important;color:#000!important}}@media (max-width: 900px){.discipline-analytics-row,.rankings-columns{grid-template-columns:1fr}.staff-mini-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.discipline-header-actions{width:100%;justify-content:flex-start}.tab-buttons{width:100%;flex-direction:column}.tab-toggle-btn{width:100%;justify-content:center}}.task-status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.2px}.task-status-badge.status-pending{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.task-status-badge.status-in_progress{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.task-status-badge.status-completed{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.task-status-badge.status-cancelled{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.tag-dept{display:inline-flex;align-items:center;gap:5px;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;border-radius:6px;font-size:11.5px;font-weight:700;padding:3px 8px}.card-task-panel{border-top:1px dashed var(--duni-line);margin-top:12px;padding-top:10px;display:flex;flex-direction:column;gap:8px}.card-task-due{font-size:12px;color:#b45309;font-weight:600;display:flex;align-items:center;gap:6px}.task-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.task-sub-status{font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}.task-sub-status.text-amber{color:#d97706}.btn-claim-task{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px #2563eb40;transition:all .2s}.btn-claim-task:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.card-task-in-progress-mine{display:flex;flex-direction:column;gap:6px;width:100%}.task-user-assigned-box{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;flex-wrap:wrap}.task-my-badge{font-size:12px;font-weight:700;color:#2563eb;background:#2563eb14;padding:4px 10px;border-radius:6px;border:1px solid rgba(37,99,235,.2);display:flex;align-items:center;gap:5px}.task-btn-row{display:flex;align-items:center;gap:6px}.btn-complete-task{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px;box-shadow:0 2px 6px #16a34a40;transition:all .2s}.btn-complete-task:hover{background:linear-gradient(135deg,#15803d,#166534);transform:translateY(-1px)}.btn-unclaim-task{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1;padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.btn-unclaim-task:hover:not(:disabled){background:#e2e8f0;color:#334155}.task-other-assigned-box{font-size:12.5px;color:#475569;display:flex;align-items:center;gap:6px}.task-completed-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 12px;font-size:13px;color:#166534}.task-done-title{font-weight:600;display:flex;align-items:center;gap:6px}.task-done-note{margin:4px 0 0;font-size:12px;color:#15803d;font-style:italic}.detail-task-workflow-container{margin:16px 0 20px}.detail-task-box{padding:16px 20px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.detail-task-box.status-pending{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a}.detail-task-box.status-in-progress-mine{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.detail-task-box.status-in-progress-other{background:#f8fafc;border:1px solid #e2e8f0}.detail-task-box.status-completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.task-box-left{display:flex;align-items:center;gap:14px}.task-big-icon{font-size:28px;color:#64748b}.task-big-icon.text-primary{color:#2563eb}.task-big-icon.text-success{color:#16a34a}.task-box-left strong{font-size:15px;color:#1e293b;display:block}.task-box-left p{margin:2px 0 0;font-size:13px;color:#64748b}.task-box-actions-mine{display:flex;align-items:center;gap:8px}.btn-claim-task-big{padding:12px 22px;font-size:14px;font-weight:800;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px #2563eb4d;transition:all .2s}.btn-claim-task-big:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 6px 18px #2563eb66}.btn-complete-task-big{padding:10px 18px;font-size:13.5px;font-weight:700;border-radius:8px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:0 4px 12px #16a34a40;transition:all .2s}.btn-complete-task-big:hover{background:linear-gradient(135deg,#15803d,#166534);transform:translateY(-1px)}.btn-unclaim-task-subtle{padding:10px 14px;font-size:13px;font-weight:600;border-radius:8px;background:#fff;color:#64748b;border:1px solid #cbd5e1;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn-unclaim-task-subtle:hover:not(:disabled){background:#f8fafc;color:#1e293b}.task-detail-completion-note{width:100%;margin-top:10px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #86efac;color:#166534;font-size:13.5px}.checkinout-page{width:100%;max-width:800px;margin:0 auto}.checkinout-page .container{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}@media (max-width: 768px){.checkinout-page{padding:0!important;width:100%!important;max-width:100%!important}.checkinout-page form{padding:16px 12px!important;border-radius:14px!important;margin:0 auto!important;width:100%!important;box-sizing:border-box!important}.checkinout-page .header{padding:0 4px!important;margin-bottom:8px!important}.checkinout-page .header h1{margin:4px 0 10px!important;font-size:18px!important}.checkinout-page button.camera-icon-btn{min-height:36px!important;max-height:36px!important;min-width:36px!important;max-width:36px!important;width:36px!important;height:36px!important;padding:0!important;border-radius:50%!important;font-size:13px!important;box-sizing:border-box!important}.checkinout-page button.media-delete-btn{min-height:24px!important;max-height:24px!important;min-width:24px!important;max-width:24px!important;width:24px!important;height:24px!important;padding:0!important;border-radius:50%!important;font-size:11px!important;box-sizing:border-box!important}.checkinout-page button.shutter-btn{min-height:36px!important;max-height:40px!important;padding:8px 12px!important;font-size:12px!important;white-space:nowrap!important;flex:1!important;box-sizing:border-box!important}.checkinout-page .action-mini-btn{min-height:28px!important;font-size:12px!important;padding:4px 10px!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#0f172a;line-height:1.5}#root{min-height:100vh}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}img{max-width:100%;height:auto}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8d2a2c;outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.no-print{display:none!important}.print-break{page-break-before:always}}
