:root{--app-bg: #eaf1f7;--app-bg-alt: #f8fbff;--app-surface: #ffffff;--app-surface-soft: #f4f8fd;--app-border: #d5e1ef;--app-text: #122236;--app-muted: #62768f;--app-primary: #1f6bff;--app-primary-strong: #1555d1;--app-accent: #0ea5a4;--app-radius-lg: 1.1rem;--app-radius-md: .8rem;--app-shadow: 0 14px 34px rgba(19, 40, 73, .08);--app-font-body: "Manrope", "Segoe UI", sans-serif;--app-font-heading: "Sora", "Manrope", sans-serif}body,button,input,select,textarea{font-family:var(--app-font-body)}h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:var(--app-font-heading);letter-spacing:-.01em}body.app-bg{background:radial-gradient(circle at 6% -4%,rgba(31,107,255,.16),transparent 33%),radial-gradient(circle at 94% 0%,rgba(14,165,164,.12),transparent 28%),linear-gradient(180deg,var(--app-bg-alt) 0%,var(--app-bg) 100%);color:var(--app-text);min-height:100vh;overflow-x:hidden}.app-main{position:relative}.app-navbar{background:#ffffffd6;border:1px solid rgba(213,225,239,.9);border-radius:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:.6rem .8rem 0;box-shadow:0 10px 24px #12223614}.app-navbar .navbar-brand{font-size:1.05rem}.app-brand-dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(120deg,var(--app-primary),var(--app-accent));box-shadow:0 0 0 4px #1f6bff29}.offcanvas{border-right:1px solid var(--app-border);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn{border-radius:.75rem;font-weight:600;letter-spacing:.01em}.btn-primary{background:linear-gradient(140deg,var(--app-primary),var(--app-primary-strong));border-color:var(--app-primary-strong)}.btn-primary:hover,.btn-primary:focus{background:linear-gradient(140deg,#296fff,#1049b4);border-color:#1049b4}.btn-outline-primary{border-color:#b9cff8;color:#215ccf}.btn-outline-primary:hover{background:#eaf1ff;border-color:#9fbcf3;color:#1447ad}.form-control,.form-select{border-radius:.72rem;border-color:#ced9e7;background:#fbfdff}.form-control:focus,.form-select:focus{border-color:#8eb2ff;box-shadow:0 0 0 .22rem #1f6bff29;background:#fff}.card{border:1px solid rgba(213,225,239,.9)!important;border-radius:var(--app-radius-lg);background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:var(--app-shadow)}.card-header{border-bottom:1px solid rgba(219,229,240,.72)!important;background:transparent!important}.badge{font-weight:600;letter-spacing:.01em}.project-color{width:14px;height:14px;border-radius:999px;display:inline-block;border:1px solid rgba(8,25,45,.12)}.category-dot{width:8px;height:8px;border-radius:999px;display:inline-block;margin-right:6px}.project-row,.project-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;border-color:#cad9ebcc!important}.project-row:hover,.project-card:hover{transform:translateY(-3px);border-color:#b2c9ea!important;box-shadow:0 18px 34px #13284924!important}.app-stat{background:linear-gradient(145deg,#fffffffa,#f3f8fff2),linear-gradient(120deg,#1f6bff0d,#0ea5a40a)}.activity-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(145deg,var(--app-primary),var(--app-accent));box-shadow:0 0 0 4px #1f6bff1a;margin-top:6px}.kanban-board{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));padding-bottom:.9rem;align-items:start}.kanban-column{min-height:470px;background:linear-gradient(180deg,#fffffff7,#f4f9fff0),var(--app-surface)}.kanban-column .card-header{padding-top:.95rem!important;padding-bottom:.7rem!important}.kanban-list{min-height:96px}.kanban-empty-state{border-style:dashed!important;border-color:#c7d8ed!important;background:#f8fcffeb!important}.kanban-task{border:1px solid #d5e2ef!important;border-radius:var(--app-radius-md);background:linear-gradient(180deg,#fff,#f9fcff);box-shadow:0 7px 20px #14284614;cursor:grab;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kanban-task:hover{transform:translateY(-2px);border-color:#b8ceea!important;box-shadow:0 14px 26px #1025441f}.kanban-task.sortable-ghost{opacity:.48}.kanban-task.sortable-chosen{border-color:var(--app-primary)!important;box-shadow:0 16px 30px #1f6bff2e}.column-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.task-line:last-child,.border-bottom:last-child{border-bottom:0!important}body.modal-open{overflow-y:auto!important;padding-right:0!important}.modal-backdrop.show{opacity:.22}.task-modal .modal-dialog{max-width:min(1180px,100vw - 2rem)}.task-modal .modal-content{border-radius:1.25rem;border:1px solid #d8e4f2;background:linear-gradient(180deg,#fffffffa,#f6fbfff5),var(--app-surface)}.task-modal .modal-header{padding:1.25rem 1.25rem .55rem}.task-modal .modal-body{padding:.75rem 1.25rem 1rem}.task-modal .modal-footer{padding:0 1.25rem 1.25rem}.task-modal__panel{border:1px solid #d5e2ef!important;border-radius:.95rem;background:linear-gradient(180deg,#fff,#f8fbff)}.task-modal__comment-list{max-height:56vh;overflow-y:auto;padding-right:.25rem}.activity-pagination .pagination{margin-bottom:0;gap:.35rem}.activity-pagination .page-link{border-radius:.68rem;border-color:#d4e1ef;color:#1d3d66;min-width:2.2rem;text-align:center;background:#fbfdff}.activity-pagination .page-item.active .page-link{background:linear-gradient(140deg,var(--app-primary),var(--app-primary-strong));border-color:var(--app-primary-strong);color:#fff}.activity-pagination .page-item.disabled .page-link{color:var(--app-muted);background-color:#f5f8fc}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.25rem 0}.login-simple-shell{max-width:560px}.login-auth-card{background:linear-gradient(180deg,#fff,#f6fafe)}.btn-google-auth{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.85rem 1.05rem;border:1px solid #d0dced;border-radius:.78rem;color:var(--app-text);background:#fff;text-decoration:none;transition:all .16s ease}.btn-google-auth:hover{color:var(--app-text);border-color:#b8cae2;background:#f8fbff;transform:translateY(-1px);box-shadow:0 12px 20px #1a345714}.btn-google-auth svg{width:20px;height:20px}@keyframes app-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-card,.project-row{animation:app-fade-up .34s ease both}@media(max-width:1199.98px){.kanban-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));overflow-x:visible;scroll-snap-type:none}}@media(max-width:991.98px){.app-navbar{margin:0;border-radius:0;border-left:0;border-right:0}}@media(max-width:575.98px){.kanban-board{grid-template-columns:1fr}.task-modal .modal-dialog{max-width:calc(100vw - 1rem);margin:.5rem auto}}
