.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#fff!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif}.login-card{width:100%;max-width:360px;background:transparent!important;padding:0;color:#000;border:none!important;box-shadow:none!important}.login-header{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:48px;text-align:center}.login-logo{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#000;border-radius:18px}.login-logo img{width:52px;height:52px;object-fit:contain;display:block;filter:invert(0)}.login-title{margin:0;font-size:32px;font-weight:600;letter-spacing:-.03em;color:#000!important}.login-subtitle{margin:6px 0 0;font-size:16px;color:#00000080!important;font-weight:400}.login-form{margin-top:0;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#0009!important;letter-spacing:-.01em}.login-form .form-input{border-radius:12px;border:1px solid rgba(0,0,0,.15)!important;background:#00000008!important;padding:16px 18px;font-size:16px;color:#000!important;outline:none;transition:all .2s ease;font-family:inherit}.login-form .form-input::placeholder{color:#00000059!important}.login-form .form-input:hover{border-color:#00000040!important;background:#0000000d!important}.login-form .form-input:focus{border-color:#000!important;background:#fff!important;box-shadow:none!important}.form-error{margin:0;padding:14px 18px;font-size:14px;color:#000!important;background:#0000000d!important;border-radius:12px;border:1px solid rgba(0,0,0,.15)!important;text-align:center}.login-button{margin-top:12px;border:none!important;border-radius:12px;padding:16px 24px;font-size:16px;font-weight:600;background:#000!important;color:#fff!important;cursor:pointer;width:100%;transition:all .2s ease;font-family:inherit;letter-spacing:-.01em;box-shadow:none!important}.login-button:hover:not(:disabled){background:#000000d9!important;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0);background:#000000bf!important}.login-button:disabled{opacity:.5;cursor:default}.login-helper{margin-top:12px;font-size:14px;text-align:center;color:#00000073!important}.login-link{color:#000!important;text-decoration:none;font-weight:500;transition:opacity .2s ease}.login-link:hover{opacity:.6;filter:none!important}@media(max-width:480px){.login-page{padding:20px}.login-header{margin-bottom:40px}.login-title{font-size:28px}.login-logo{width:64px;height:64px}.login-logo img{width:46px;height:46px}}.admin-btn{font-family:inherit;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .12s ease,opacity .12s ease,filter .12s ease}.admin-btn-primary{width:100%;padding:9px 12px;font-size:14px;font-weight:600;border:none;background:var(--btn-gradient);color:#fff;box-shadow:0 12px 30px #9b8cff99}.admin-btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 16px 40px #9b8cffa6}.admin-btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 8px 22px #9b8cff73}.admin-btn-primary:disabled{opacity:.6;cursor:default;box-shadow:none}.admin-btn-secondary{padding:4px 10px;font-size:12px;border-radius:999px;border:1px solid var(--admin-btn-secondary-border);background:var(--admin-btn-secondary-bg);color:var(--admin-btn-secondary-text);margin-right:6px}.admin-btn-secondary:hover:not(:disabled){background:var(--admin-btn-secondary-bg-hover);border-color:var(--admin-btn-secondary-border-hover);transform:translateY(-1px)}.admin-btn-small-primary{padding:4px 10px;font-size:12px;border-radius:999px;border:none;margin-right:6px;background:var(--btn-gradient);color:#fff;box-shadow:0 8px 18px #9b8cff73}.admin-btn-small-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 12px 26px #9b8cff8c}.admin-btn-ghost{padding:4px 10px;font-size:12px;border-radius:999px;border:1px solid var(--admin-btn-ghost-border);background:transparent;color:var(--admin-btn-ghost-text);margin-right:6px}.admin-btn-ghost:hover:not(:disabled){background:var(--admin-btn-ghost-hover-bg);border-color:var(--admin-btn-ghost-border-hover);transform:translateY(-1px)}.admin-btn-danger{padding:4px 10px;font-size:12px;border-radius:999px;border:1px solid var(--admin-btn-danger-border);background:var(--admin-btn-danger-bg);color:var(--admin-btn-danger-text)}.admin-btn-danger:hover:not(:disabled){background:var(--admin-btn-danger-bg-hover);border-color:var(--admin-btn-danger-border-hover);transform:translateY(-1px)}.admin-btn-disabled,.admin-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.admin-users{display:flex;flex-direction:column;gap:14px}.admin-users-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-users .admin-users-table{border-radius:14px;overflow:hidden}.admin-users .admin-users-table table tbody tr:hover{background:#94a3b81f}.admin-users .admin-users-table table tbody tr:nth-child(2n){background:#94a3b80a}.admin-users .admin-users-table table tbody tr:nth-child(2n):hover{background:#94a3b824}:root{--phantom-primary: #9B8CFF;--phantom-primary-hover: #8A7CF6;--phantom-primary-active: #7A6DED;--phantom-secondary: #00D1B2;--phantom-secondary-hover: #00BFA3;--phantom-bg-dark: #F5F2FF;--phantom-bg-dark-alt: #151E2F;--phantom-bg-light: #F8FAFC;--phantom-bg-card: #FDFCFE;--phantom-text-primary: #3C315B;--phantom-text-secondary: #3C315B;--phantom-text-muted: #3C315B;--phantom-text-dark: #3C315B;--phantom-border-default: #25304A;--phantom-border-muted: #1E293B;--phantom-success: #22C55E;--phantom-warning: #F59E0B;--phantom-error: #EF4444;--phantom-info: #38BDF8;--phantom-overlay: rgba(0, 0, 0, .8);--phantom-gradient-primary: linear-gradient( 135deg, #9B8CFF 0%, #7C6CF5 100% );--phantom-gradient-accent: linear-gradient( 135deg, #00D1B2 0%, #00BFA3 100% );--mode: dark;--primary: var(--phantom-primary);--page-bg: #F5F2FF;--card-bg: var(--phantom-bg-card);--card-radius: 24px;--text-primary: var(--phantom-text-primary);--text-main: var(--phantom-text-primary);--text-muted: var(--phantom-text-muted);--border-subtle: rgba(60, 49, 91, .08);--input-bg: var(--phantom-bg-dark-alt);--btn-gradient: var(--phantom-gradient-primary);--btn-gradient2: var(--phantom-gradient-accent);--btn-gradient3: var(--phantom-gradient-primary);--card-shadow: 0 18px 38px rgba(60, 49, 91, .16);--header-blur-bg: rgba(15, 23, 42, .85);--admin-btn-secondary-bg: rgba(24, 33, 56, .95);--admin-btn-secondary-bg-hover: rgba(24, 33, 56, 1);--admin-btn-secondary-border: rgba(37, 41, 58, .75);--admin-btn-secondary-border-hover: rgba(37, 41, 58, .95);--admin-btn-secondary-text: var(--phantom-text-primary);--admin-btn-ghost-text: var(--phantom-text-primary);--admin-btn-ghost-border: rgba(37, 41, 58, .75);--admin-btn-ghost-border-hover: rgba(37, 41, 58, .95);--admin-btn-ghost-hover-bg: rgba(24, 33, 56, .9);--table-header-bg: rgba(21, 41, 67, .8);--table-row-border: rgba(37, 41, 58, .9);--user-status-active-bg: rgba(34, 197, 94, .2);--user-status-active-text: var(--phantom-success);--user-status-blocked-bg: rgba(239, 68, 68, .15);--user-status-blocked-text: var(--phantom-error);--admin-btn-danger-bg: rgba(239, 68, 68, .25);--admin-btn-danger-bg-hover: rgba(239, 68, 68, .35);--admin-btn-danger-border: rgba(239, 68, 68, .7);--admin-btn-danger-border-hover: rgba(239, 68, 68, .9);--admin-btn-danger-text: #fee2e2;--text-error: var(--phantom-error);--text-success: var(--phantom-success);--warning-bg: rgba(245, 158, 11, .12);--warning-border: rgba(245, 158, 11, .5);--warning-text: var(--phantom-warning);--avatar-bg: rgba(15, 23, 42, .8);--avatar-text: var(--phantom-text-primary);--profile-role-bg: rgba(59, 130, 246, .15);--profile-role-text: #facc15;--profile-dept-bg: rgba(148, 163, 184, .2);--profile-dept-text: var(--phantom-text-primary)}.pboard-modal{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.6) transparent}.pboard-modal::-webkit-scrollbar{width:10px}.pboard-modal::-webkit-scrollbar-track{background:transparent;border-radius:999px}.pboard-modal::-webkit-scrollbar-thumb{background:#94a3b899;border-radius:999px;border:2px solid transparent;background-clip:padding-box}body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif}.app-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--page-bg);z-index:9999}.app-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(148,163,184,.35);border-top-color:var(--primary);animation:spin .9s linear infinite;box-shadow:var(--card-shadow)}@keyframes spin{to{transform:rotate(360deg)}}input,select,textarea{max-width:100%;box-sizing:border-box}select{-webkit-appearance:none;appearance:none;background-image:none;box-shadow:none;background:var(--input-bg) url("data:image/svg+xml,%3Csvg width='14' height='9' viewBox='0 0 14 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5 7 7.5 13 1.5' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:32px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--page-bg);font-family:inherit}.login-card{width:100%;max-width:420px;background:var(--card-bg);border-radius:var(--card-radius);padding:28px 24px 24px;box-shadow:var(--card-shadow);color:var(--text-primary);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-label{font-size:13px;color:var(--text-muted)}.form-input{width:100%;max-width:100%;border-radius:10px;border:1px solid var(--border-subtle);background:var(--input-bg);padding:8px 10px;font-size:14px;color:var(--text-primary);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form-input::placeholder{color:#6b7280}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 1px #818cf8cc}.login-button{margin-top:8px;border:none;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:600;background:var(--btn-gradient);color:#fff;cursor:pointer;width:100%;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 12px 30px #9b8cff8c}.board-scroll::-webkit-scrollbar{height:10px;width:10px}.board-scroll::-webkit-scrollbar:horizontal{height:10px}.board-scroll::-webkit-scrollbar-track{background:var(--card-bg);border-radius:999px}.board-scroll::-webkit-scrollbar-track-piece{background:var(--card-bg);border-radius:999px}.board-scroll::-webkit-scrollbar-thumb{background:var(--phantom-gradient-primary);background-color:var(--phantom-primary);border-radius:999px;border:2px solid var(--card-bg);background-clip:padding-box}.board-scroll::-webkit-scrollbar-thumb:horizontal{background:var(--phantom-gradient-primary);background-color:var(--phantom-primary);border-radius:999px;border:2px solid var(--card-bg);background-clip:padding-box}.board-scroll::-webkit-scrollbar-thumb:hover{background:var(--phantom-gradient-accent)}.board-scroll{scrollbar-width:thin;scrollbar-color:var(--phantom-primary) var(--card-bg)}.boards-panel{scrollbar-width:none;-ms-overflow-style:none}.boards-panel::-webkit-scrollbar{width:0;height:0}@media(max-width:1024px){.pboard-columns{--pboard-column-width: 48%}}@media(max-width:900px){.pboard-header{flex-direction:column;align-items:flex-start}.pboard-new-column{width:100%;flex-wrap:wrap}.pboard-new-column input{width:100%!important;max-width:100%!important}.pboard-columns{--pboard-column-width: 100%;justify-content:center}.pboard-column{width:100%}.boards-panel{right:12px!important;bottom:12px!important}}.checklist-item:hover .item-delete-btn{opacity:1!important}.attachment-card{transition:transform .2s ease,box-shadow .2s ease}.attachment-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}
