.app-shell{background:linear-gradient(160deg,#060f1e 0%,#0a1628 50%,#0d2030 100%);width:100%;min-height:100vh;position:relative;overflow-x:hidden}.ambient-orb{pointer-events:none;z-index:0;filter:blur(120px);border-radius:50%;position:fixed}.orb-1{background:radial-gradient(circle,#00bcd414 0%,#0000 70%);width:600px;height:600px;top:-150px;left:-150px}.orb-2{background:radial-gradient(circle,#00bcd412 0%,#0000 70%);width:500px;height:500px;bottom:-100px;right:-100px}.orb-3{background:radial-gradient(circle,#00bcd40d 0%,#0000 70%);width:400px;height:400px;top:30%;right:40%}.grid-overlay{pointer-events:none;z-index:0;background-image:linear-gradient(#00bcd406 1px,#0000 1px),linear-gradient(90deg,#00bcd406 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.sidebar{z-index:100;-webkit-backdrop-filter:blur(24px);background:#0a1628cc;border-right:1px solid #00bcd41a;flex-direction:column;width:240px;height:100vh;transition:width .25s,transform .25s;display:flex;position:fixed;top:0;left:0}.app-shell.sidebar-collapsed .sidebar{width:76px}.sidebar-inner{flex-direction:column;height:100%;padding:20px 14px;display:flex;overflow-y:auto}.sidebar-logo{border-bottom:1px solid #00bcd414;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:20px;display:flex}.logo-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;overflow:hidden;box-shadow:0 4px 14px #00bcd459}.logo-icon svg{width:100%;height:100%;display:block}.brand-mark{position:relative}.brand-mark-custom{z-index:1;object-fit:contain;border-radius:inherit;background:#fff;width:100%;height:100%;position:absolute;inset:0}.profile-avatar-button{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;transition:transform .15s,filter .15s;display:inline-flex}.profile-avatar-button:hover{filter:brightness(1.15);transform:scale(1.08)}.logo-name{font-family:var(--font-heading);color:var(--ink-primary);font-size:15px;font-weight:700;line-height:1.2}.logo-sub{letter-spacing:.12em;color:var(--ink-muted);margin-top:2px;font-size:9px;font-weight:600}.sidebar-close{display:flex}.app-shell.sidebar-collapsed .sidebar-logo{justify-content:center}.app-shell.sidebar-collapsed .logo-icon,.app-shell.sidebar-collapsed .sidebar-logo>div:not(.logo-icon){display:none}.app-shell.sidebar-collapsed .sidebar-close{display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-group{margin-bottom:16px}.nav-group-label{letter-spacing:.1em;color:var(--ink-muted);text-transform:uppercase;margin-bottom:4px;padding:0 12px;font-size:10px;font-weight:600}.nav-item{color:var(--ink-secondary);border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.nav-item:hover{color:var(--ink-primary);background:#00bcd412}.nav-item.active{color:var(--aqua-300);background:#00bcd41f;border-color:#00bcd433}.app-shell.sidebar-collapsed .nav-group-label,.app-shell.sidebar-collapsed .nav-item span{display:none}.app-shell.sidebar-collapsed .nav-item{justify-content:center;padding:10px}.app-shell.sidebar-collapsed .sidebar-nav{align-items:stretch}.sidebar-user{border-top:1px solid #00bcd414;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:var(--ink-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--ink-muted);text-transform:capitalize;font-size:11px}.app-shell.sidebar-collapsed .sidebar-user{justify-content:center;padding:12px 0}.app-shell.sidebar-collapsed .sidebar-user-info,.app-shell.sidebar-collapsed .sidebar-user .btn-icon{display:none}.topbar{z-index:90;-webkit-backdrop-filter:blur(24px);background:#0a1628cc;border-bottom:1px solid #00bcd41a;justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 24px;display:flex;position:fixed;top:0;left:240px;right:0}.topbar-left{align-items:center;gap:12px;display:flex}.hamburger{display:none}.topbar-breadcrumb{align-items:center;gap:8px;display:flex}.breadcrumb-root{color:var(--ink-muted);font-size:13px}.breadcrumb-link{color:var(--ink-muted);font-size:13px;text-decoration:none}.breadcrumb-link:hover{color:var(--aqua-400)}.breadcrumb-page{font-family:var(--font-heading);color:var(--ink-primary);font-size:18px;font-weight:600}.topbar-right{align-items:center;gap:8px;display:flex}.app-shell.sidebar-collapsed .topbar{left:76px}.impersonation-exit-btn{color:#ffcc80;white-space:nowrap;background:#ff98001f;border:1px solid #ffb74d59;height:34px;padding:0 12px}.impersonation-exit-btn:hover{background:#ff98002e;box-shadow:0 0 14px #ff98001f}.impersonation-exit-icon{color:#ffcc80;border-color:#ffb74d47}.impersonation-banner{z-index:89;color:#ffcc80;-webkit-backdrop-filter:blur(18px);background:#3f250aeb;border-bottom:1px solid #ffb74d47;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:8px 24px;display:flex;position:fixed;top:60px;left:240px;right:0}.app-shell.sidebar-collapsed .impersonation-banner{left:76px}.impersonation-banner-copy{align-items:center;gap:9px;min-width:0;font-size:13px;font-weight:600;display:flex}.impersonation-banner-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.impersonation-banner-copy strong{color:var(--ink-primary)}.impersonation-origin{color:#ffcc80bf}.impersonation-banner-exit{color:#ffe0b2;white-space:nowrap;background:#ffcc801a;border:1px solid #ffcc804d;height:28px;padding:0 10px;font-size:12px}.impersonation-banner-exit:hover{background:#ffcc8029}.main-content{z-index:1;min-height:calc(100vh - 60px);margin-top:60px;margin-left:240px;padding:28px;position:relative}.app-shell.sidebar-collapsed .main-content{margin-left:76px}.app-shell.impersonating .main-content{min-height:calc(100vh - 104px);margin-top:104px}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:none;position:fixed;inset:0}@media (width<=767px){.app-shell.sidebar-collapsed .sidebar,.sidebar{width:240px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.topbar,.app-shell.sidebar-collapsed .topbar{left:0}.impersonation-banner{min-height:50px;padding:8px 12px;left:0}.app-shell.sidebar-collapsed .impersonation-banner{left:0}.impersonation-banner-copy{font-size:12px}.impersonation-origin{display:none}.impersonation-banner-exit{color:#0000;flex-shrink:0;gap:0;width:34px;padding:0;overflow:hidden}.impersonation-banner-exit svg{color:#ffe0b2;flex-shrink:0}.hamburger{display:flex}.impersonation-exit-btn{color:#0000;gap:0;width:34px;padding:0;overflow:hidden}.impersonation-exit-btn svg{color:#ffcc80;flex-shrink:0}.main-content{margin-left:0;padding:16px}.app-shell.sidebar-collapsed .main-content{margin-left:0}.app-shell.impersonating .main-content{margin-top:110px}}.badge-ongoing{color:var(--aqua-300);background:#00bcd41a;border-color:#00bcd440}.badge-closed{color:var(--red-400);background:#ef535014;border-color:#ef535033}.badge-paused{color:#ffb74d;background:#ff98001a;border-color:#ff980040}.badge-planned{color:var(--ink-secondary);background:#4a7a8a1a;border-color:#4a7a8a33}.details-timeline{margin-top:16px;padding-left:28px;position:relative}.details-timeline:before{content:"";background:#00bcd41f;width:2px;position:absolute;top:6px;bottom:6px;left:8px}.timeline-item{margin-bottom:24px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{border:2px solid var(--bg-2);z-index:2;border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:-26px}.timeline-dot.ongoing{background-color:var(--aqua-500);box-shadow:0 0 8px var(--aqua-500)}.timeline-dot.completed{background-color:var(--green-500)}.timeline-dot.closed{background-color:var(--red-500)}.timeline-dot.paused{background-color:var(--orange-500)}.timeline-dot.planned{background-color:var(--ink-muted)}.timeline-content{flex-direction:column;gap:2px;display:flex}.timeline-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.timeline-title{font-family:var(--font-heading);color:var(--ink-primary);font-size:14px;font-weight:600}.timeline-time{font-size:11px;font-family:var(--font-mono);color:var(--ink-muted)}.timeline-desc{color:var(--ink-secondary);margin-top:4px;font-size:12.5px}.activity-stream{flex-direction:column;gap:16px;display:flex}.activity-item{align-items:flex-start;gap:12px;display:flex}.activity-info{flex:1}.activity-text{color:var(--ink-secondary);font-size:13px}.activity-date{font-size:11px;font-family:var(--font-mono);color:var(--ink-muted);margin-top:2px}.details-grid{grid-template-columns:2fr 1fr;gap:16px;margin-top:16px;display:grid}.details-main{flex-direction:column;gap:16px;min-width:0;display:flex}.details-main>*{min-width:0}.details-sidebar{flex-direction:column;gap:16px;min-width:0;display:flex}.details-sidebar>*{min-width:0}@media (width<=1024px){.details-grid{grid-template-columns:1fr}}.overview-grid{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=1200px){.overview-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.overview-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=440px){.overview-grid{grid-template-columns:1fr}}.details-hero{box-shadow:var(--glass-shadow);background:linear-gradient(135deg,#060f1ecc,#0a1628cc);border:1px solid #00bcd426;border-radius:16px;margin-bottom:24px;padding:24px;position:relative;overflow:hidden}.details-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#00bcd414,#0000 50%);position:absolute;inset:0}.hero-content{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.hero-meta{flex-direction:column;gap:6px;margin-top:16px;display:flex}.hero-pocs{border-top:1px solid #00bcd414;grid-template-columns:2fr 1fr;gap:24px;margin-top:20px;padding-top:20px;display:grid}@media (width<=768px){.hero-content{flex-direction:column;align-items:stretch}.hero-actions-container{border-top:1px solid #00bcd40f;justify-content:flex-start;width:100%;margin-top:8px;padding-top:16px}}@media (width<=680px){.hero-pocs{grid-template-columns:1fr;gap:20px}}.poc-box{flex-direction:column;gap:4px;display:flex}.poc-label{text-transform:uppercase;color:var(--ink-muted);letter-spacing:.07em;font-size:11px;font-weight:600;font-family:var(--font-mono)}.poc-value{color:var(--ink-primary);font-size:14px;font-weight:600}.services-selector-container{background:#060f1e66;border:1px solid #00bcd41a;border-radius:12px;margin-top:8px;padding:12px 16px;box-shadow:inset 0 0 10px #00bcd405}.services-pill-selector{gap:10px;padding-bottom:4px;display:flex}.scroller-horizontal{scrollbar-width:thin;scrollbar-color:#00bcd433 transparent;overflow-x:auto}.scroller-horizontal::-webkit-scrollbar{height:4px}.scroller-horizontal::-webkit-scrollbar-track{background:0 0}.scroller-horizontal::-webkit-scrollbar-thumb{background:#00bcd433;border-radius:2px}.service-pill{cursor:pointer;background:#0d1e3580;border:1px solid #00bcd41f;border-radius:8px;flex-shrink:0;align-items:center;gap:10px;min-width:140px;padding:8px 14px;transition:all .2s;display:flex}.service-pill:hover{background:#00bcd40d;border-color:#00bcd440;transform:translateY(-1px)}.service-pill.active{border-color:var(--aqua-400);background:linear-gradient(135deg,#00bcd426,#00bcd40a);box-shadow:0 0 12px #00bcd426}.pill-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pill-status-dot.ongoing{background-color:var(--aqua-400);box-shadow:0 0 5px var(--aqua-400)}.pill-status-dot.completed{background-color:var(--green-400);box-shadow:0 0 5px var(--green-400)}.pill-status-dot.closed{background-color:var(--red-400)}.pill-status-dot.paused{background-color:#ffb74d}.pill-status-dot.planned{background-color:var(--ink-muted)}.service-pill .pill-name{color:var(--ink-primary);text-align:left;font-size:12.5px;font-weight:700;display:block}.service-pill .pill-dept{color:var(--ink-muted);text-align:left;font-size:10.5px;font-family:var(--font-mono);margin-top:1px;display:block}.service-pill.active .pill-name{color:var(--aqua-300)}.selected-service-panel{margin-top:16px;animation:.25s ease-out fadeIn}.selected-service-grid{grid-template-columns:1.25fr 1fr;gap:16px;display:grid}@media (width<=900px){.selected-service-grid{grid-template-columns:1fr}}.service-progress-container{background:#ffffff0d;border-radius:3px;width:100%;height:6px;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.service-progress-bar{background:linear-gradient(90deg, var(--aqua-400), var(--aqua-300));height:100%;box-shadow:0 0 8px var(--aqua-400);border-radius:3px;transition:width .4s ease-out}.meta-details-list div{border-bottom:1px solid #ffffff05;padding:4px 0}.meta-details-list div:last-child{border-bottom:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.add-service-modal{min-height:0;max-height:calc(100dvh - 40px);display:flex}.add-service-modal-card{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;width:100%;min-height:0;max-height:calc(100dvh - 40px);overflow-y:auto}@media (height<=700px),(width<=520px){.add-service-backdrop{align-items:center;padding:12px}.add-service-modal,.add-service-modal-card{max-height:calc(100dvh - 24px)}}@media (width<=520px){.form-group-row{grid-template-columns:1fr;gap:14px}}.form-select,.form-date,.form-time{appearance:none;background-color:#060f1e99;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238bb8c8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:36px}.form-textarea{resize:none;min-height:80px}.form-readonly.service-description-scroll{pointer-events:auto;cursor:default;overscroll-behavior:contain;resize:none;scrollbar-gutter:stable;touch-action:pan-y;-webkit-user-select:text;user-select:text;overflow-y:scroll}.btn-cancel{color:var(--ink-secondary);background:0 0;border:1px solid #ffffff1a!important}.btn-cancel:hover{color:var(--ink-primary);background:#ffffff0d}.details-container{max-width:1440px;margin:0 auto}option{color:var(--ink-primary);background-color:#060f1e}select::-ms-expand{display:none}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(72%)sepia(21%)saturate(541%)hue-rotate(152deg)brightness(92%)contrast(85%);cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{filter:invert(72%)sepia(21%)saturate(541%)hue-rotate(152deg)brightness(92%)contrast(85%);cursor:pointer}.drawer-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1100;background:#040a1499;justify-content:flex-end;animation:.2s ease-out drawerFadeIn;display:flex;position:fixed;inset:0}.drawer-container{-webkit-backdrop-filter:blur(20px);background:#060f1ee6;border-left:1px solid #00bcd433;flex-direction:column;width:440px;max-width:100%;height:100vh;padding:24px;animation:.25s cubic-bezier(.16,1,.3,1) drawerSlideIn;display:flex;overflow-y:hidden;box-shadow:-10px 0 40px #0009}.drawer-header{border-bottom:1px solid #00bcd41a;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.drawer-body{flex:1;overflow-y:auto}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.details-main-full{flex-direction:column;gap:20px;width:100%;display:flex}.service-status-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.btn-status-action{cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-body);white-space:nowrap;background:#ffffff0a;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;transition:all .18s;display:inline-flex}.btn-status-action:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn-status-action.status-btn-start{color:#66bb6a;background:#66bb6a14;border-color:#66bb6a59}.btn-status-action.status-btn-start:hover{background:#66bb6a29;box-shadow:0 0 10px #66bb6a33}.btn-status-action.status-btn-pause{color:#ffb74d;background:#ffb74d12;border-color:#ffb74d59}.btn-status-action.status-btn-pause:hover{background:#ffb74d26;box-shadow:0 0 10px #ffb74d33}.btn-status-action.status-btn-complete{color:var(--aqua-300);background:#00bcd40f;border-color:#00bcd44d}.btn-status-action.status-btn-complete:hover{background:#00bcd424;box-shadow:0 0 10px #00bcd42e}.btn-status-action.status-btn-stop{color:#ef5350;background:#ef535012;border-color:#ef53504d}.btn-status-action.status-btn-stop:hover{background:#ef535026;box-shadow:0 0 10px #ef535033}.timeline-desc em{color:var(--ink-secondary);font-style:italic}.project-notes-card{margin:20px 0 2px;position:relative;overflow:hidden;background:linear-gradient(115deg,#091c30f5,#08182bd1)!important;border-color:#26c6da33!important;padding:0!important}.project-notes-card:before{content:"";background:linear-gradient(180deg, var(--aqua-400), var(--teal-500));width:3px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 18px #26c6da80}.project-notes-card:after{content:"";filter:blur(8px);pointer-events:none;background:#00bcd412;border-radius:50%;width:180px;height:180px;position:absolute;top:-110px;right:-70px}.project-notes-heading{z-index:1;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 12px 20px;display:flex;position:relative}.project-notes-title-group{align-items:center;gap:11px;min-width:0;display:flex}.project-notes-icon{width:36px;height:36px;color:var(--aqua-300);background:#00bcd41a;border:1px solid #00bcd433;border-radius:10px;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff0d}.project-notes-heading h3{margin-bottom:2px;font-size:15px}.project-notes-heading span,.project-notes-empty,.notes-editor-help,.notes-editor-count{color:var(--ink-muted);font-size:11.5px}.project-notes-edit{z-index:1;color:var(--aqua-300);cursor:pointer;background:#00bcd414;border:1px solid #00bcd438;border-radius:9px;flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;position:relative}.project-notes-edit:hover{background:#00bcd426;border-color:#26c6da66;transform:translateY(-1px)}.project-notes-content{z-index:1;background:#030d1b61;border:1px solid #8bb8c814;border-radius:9px;margin:0 18px 16px 68px;padding:10px 12px;position:relative}.project-notes-content.is-empty{border-style:dashed;padding:9px 12px}.project-notes-preview{color:var(--ink-secondary);white-space:pre-wrap;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.project-note-link{color:#14d990;overflow-wrap:anywhere;text-decoration:underline}.project-note-link:hover{color:#5ee7ae}.project-notes-more{color:var(--aqua-400);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:11.5px;font-weight:700}.project-notes-more span{transition:transform .15s;display:inline-block}.project-notes-more:hover span{transform:translate(3px)}.project-notes-empty{margin:0}.modal-container.notes-modal{width:min(900px,100vw - 32px);max-width:900px}.project-notes-full{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh;color:var(--ink-primary);padding-right:8px;font-size:14px;line-height:1.65;overflow-y:auto}.form-textarea.notes-editor{resize:vertical;white-space:pre-wrap;width:100%;height:52vh;min-height:52vh;max-height:68vh;padding:16px 18px;font-size:14px;line-height:1.65}.notes-editor-help{margin-top:4px}.notes-editor-count{text-align:right;margin-top:5px}.notes-rich-editor .rich-editor-surface{height:52vh;max-height:68vh}@media (width<=520px){.project-notes-heading{align-items:flex-start}.project-notes-heading span{display:none}.project-notes-content{margin-left:20px}.form-textarea.notes-editor{height:58vh;min-height:58vh}}.selected-service-description{color:var(--ink-secondary);margin-bottom:16px;font-size:13.5px;line-height:1.6}.project-notes-card{border-radius:15px;margin:24px 0 18px;background:linear-gradient(125deg,#0a1d32f5,#071628e6)!important;border:1px solid #00bcd429!important;padding:22px 24px!important;box-shadow:0 10px 35px #0000002e!important}.project-notes-card:before{width:4px}.project-notes-heading{align-items:center;padding:0}.project-notes-title-group{gap:14px}.project-notes-icon{border-radius:12px;width:44px;height:44px}.project-notes-eyebrow{font-family:var(--font-mono);letter-spacing:.13em;margin-bottom:3px;font-weight:700;display:block;color:var(--aqua-400)!important;font-size:9px!important}.project-notes-heading h3{margin:0;font-size:16px;line-height:1.25}.project-notes-heading p{color:var(--ink-muted);margin-top:4px;font-size:11.5px}.project-notes-content{background:#020c1980;border:1px solid #8bb8c817;border-radius:10px;min-height:54px;margin:17px 0 0 58px;padding:14px 16px}.project-notes-content.is-empty{border-style:dashed;align-items:center;display:flex}.project-notes-preview{font-size:12.5px;line-height:1.55}.project-notes-edit{padding:9px 13px}.project-notes-more{margin-top:8px}@media (width<=650px){.project-notes-card{padding:18px!important}.project-notes-heading{align-items:flex-start}.project-notes-heading p{display:none}.project-notes-content{margin-left:0}}:root{--aqua-300:#4dd0e1;--aqua-400:#26c6da;--aqua-500:#00bcd4;--aqua-600:#00acc1;--teal-500:#009688;--ink-primary:#e8f4f8;--ink-secondary:#8bb8c8;--ink-muted:#4a7a8a;--bg-1:#060f1e;--bg-2:#0a1628;--bg-3:#0d2030;--red-400:#ef5350;--red-500:#f44336;--green-400:#66bb6a;--green-500:#4caf50;--yellow-500:#ffeb3b;--orange-500:#ff9800;--glass-bg:#0d1e3599;--glass-border:#00bcd41f;--glass-border-hover:#00bcd447;--glass-shadow:0 8px 32px #0006;--glass-shadow-hover:0 12px 40px #00bcd440;--glass-inset:inset 0 1px 0 #ffffff0f;--glass-inset-hover:inset 0 1px 0 #ffffff1a;--glass-blur:blur(20px);--font-heading:"Syne", system-ui, -apple-system, sans-serif;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--sidebar-w:240px;--topbar-h:60px;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-1);color:var(--ink-secondary);min-height:100vh;line-height:1.5;overflow-x:hidden}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--ink-primary);font-weight:700}.input{width:100%;font-family:var(--font-body);color:var(--ink-primary);-webkit-backdrop-filter:var(--glass-blur);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0d1e3566;border:1px solid #00bcd426;border-radius:10px;padding:10px 14px;font-size:13.5px}.input:focus{border-color:var(--aqua-500);outline:none;box-shadow:0 0 0 3px #00bcd41f}.input::placeholder{color:var(--ink-muted)}.btn{font-family:var(--font-body);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--aqua-500), var(--teal-500));color:#fff;box-shadow:0 4px 16px #00bcd44d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00bcd466}.btn-primary:active{transform:translateY(0)}.btn-icon{width:34px;height:34px;color:var(--ink-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#0d1e3566;border:1px solid #00bcd41a;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{color:var(--ink-primary);background:#00bcd414;border-color:#00bcd447;transform:translateY(-1px)}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);transition:border-color var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:16px;position:relative;overflow:hidden}.glass-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(#ffffff0f,#0000);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-card.hoverable:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover);transform:translateY(-1px)}.glass-card.clickable{cursor:pointer}.badge{font-family:var(--font-mono);text-transform:capitalize;border:1px solid #0000;border-radius:6px;align-items:center;padding:2.5px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-todo{color:var(--ink-secondary);background:#4a7a8a1a;border-color:#4a7a8a33}.badge-in_progress{color:var(--aqua-300);background:#00bcd41a;border-color:#00bcd440}.badge-in_review{color:#e040fb;background:#9c27b01f;border-color:#9c27b040}.badge-blocked{color:var(--red-400);background:#ef53501a;border-color:#ef535040}.badge-completed{color:var(--green-400);background:#66bb6a1a;border-color:#66bb6a40}.badge-cancelled{color:var(--ink-muted);background:#4a7a8a0f;border-color:#4a7a8a26}.badge-active{color:var(--aqua-300);background:#00bcd41a;border-color:#00bcd440}.badge-on_hold{color:#ffb74d;background:#ff98001a;border-color:#ff980040}.badge-low{color:var(--ink-secondary);background:#4a7a8a14;border-color:#4a7a8a2e}.badge-medium{color:#4db6ac;background:#0096881a;border-color:#00968840}.badge-high{color:#ffb74d;background:#ff98001a;border-color:#ff980040}.badge-critical{color:var(--red-400);background:#ef53501f;border-color:#ef53504d;font-weight:600}.progress-track{background:#0d1e35cc;border:1px solid #00bcd40d;border-radius:10px;width:100%;height:5px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--aqua-500), var(--teal-500));height:100%;transition:width var(--transition-normal);border-radius:10px}.scroller,div,aside,main{--scrollbar-thumb:var(--aqua-600);--scrollbar-track:var(--bg-3);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--aqua-600);border-radius:4px}::-webkit-scrollbar-track{background:var(--bg-3)}}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ink-muted);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:600;font-family:var(--font-body);border-bottom:1px solid #00bcd414;padding:12px 16px}td{border-bottom:1px solid #00bcd40f;padding:14px 16px}tr:last-child td{border-bottom:none}tr.table-row-hover:hover{background:#00bcd40a}.skeleton{background:linear-gradient(90deg,#0d1e3599 25%,#00bcd41f 37%,#0d1e3599 63%) 0 0/400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0%}}.proj-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=1100px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.proj-grid{grid-template-columns:1fr}}.task-sheet-table{border-collapse:collapse;width:100%;font-family:var(--font-body)}.task-sheet-table th{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;z-index:1;background:#060f1e66;border-bottom:1px solid #00bcd41a;padding:9px 14px;font-size:10.5px;font-weight:700;position:sticky;top:0}.task-sheet-table td{vertical-align:middle;border-bottom:1px solid #00bcd40d;padding:10px 14px}.task-sheet-row{transition:background .14s}.task-sheet-row:hover{background:#00bcd409}.task-sheet-row:nth-child(2n){background:#060f1e40}.task-sheet-row:nth-child(2n):hover{background:#00bcd40d}.task-sheet-row:last-child td{border-bottom:none}.month-pill-strip{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.month-pill-strip::-webkit-scrollbar{height:3px}.month-pill-strip::-webkit-scrollbar-track{background:0 0}.month-pill-strip::-webkit-scrollbar-thumb{background:#00bcd42e;border-radius:4px}.month-pill{cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--font-body);color:var(--ink-muted);background:#0d1e3566;border:1px solid #00bcd426;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 14px;transition:all .16s;display:inline-flex}.month-pill:hover{color:var(--ink-secondary);background:#00bcd40f;border-color:#00bcd459}.month-pill.active{color:var(--aqua-300);background:#00bcd41f;border-color:#00bcd473;box-shadow:0 0 10px #00bcd41f}.month-pill:last-child{border-style:dashed}.month-pill:last-child.active{border-style:solid}.task-client-chip{vertical-align:middle;align-items:center;max-width:108px;display:inline-flex;overflow:hidden}.rich-editor{background:#05101fb8;border:1px solid #00bcd438;border-radius:10px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.rich-editor:focus-within{border-color:var(--aqua-400);box-shadow:0 0 0 2px #00bcd41a}.rich-editor-toolbar{background:#0d1e35bf;border-bottom:1px solid #00bcd421;flex-wrap:wrap;align-items:center;gap:3px;padding:7px 8px;display:flex}.rich-editor-toolbar button{width:30px;height:28px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.rich-editor-toolbar button:hover{color:var(--aqua-300);background:#00bcd41f}.rich-editor-toolbar .rich-toolbar-clean{width:auto;color:var(--aqua-300);background:#00bcd414;border:1px solid #00bcd424;gap:5px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.rich-editor-toolbar select{height:28px;color:var(--ink-secondary);background-color:#060f1ed9;border:0;border-radius:6px;padding:0 25px 0 8px;font-size:12px}.rich-toolbar-separator{background:#8bb8c826;width:1px;height:19px;margin:0 3px}.rich-editor-surface{color:var(--ink-primary);overflow-wrap:anywhere;outline:none;padding:14px 16px;font-size:14px;line-height:1.65;overflow-y:auto}.rich-editor-surface:empty:before{content:attr(data-placeholder);color:var(--ink-muted);pointer-events:none}.rich-text-content{white-space:normal;overflow-wrap:anywhere}.rich-text-content p{margin:0 0 8px}.rich-text-content p:last-child{margin-bottom:0}.rich-text-content ul,.rich-text-content ol{margin:6px 0;padding-left:22px}.rich-text-content blockquote{border-left:3px solid var(--aqua-500);color:var(--ink-secondary);margin:8px 0;padding-left:12px}.rich-text-content pre{white-space:pre-wrap;background:#030a14a6;border-radius:7px;padding:10px}.rich-text-content a{color:#14d990;text-decoration:underline}.service-description-cell{max-width:460px;max-height:76px;color:var(--ink-secondary);font-size:12.5px;line-height:1.45;overflow:hidden}.rolling-text{white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.rolling-text-inner{white-space:nowrap;display:inline-block}.rolling-text-long .rolling-text-inner{animation:7s ease-in-out infinite alternate rollingText}@keyframes rollingText{0%,22%{transform:translate(0)}78%,to{transform:translateX(calc(-1 * var(--rolling-distance,0px)))}}.filter-bar{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.filter-bar-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.filter-search-box{background:#0a162c8c;border:1px solid #ffffff14;border-radius:10px;flex:none;align-items:center;gap:8px;min-width:200px;height:52px;padding:0 14px;transition:border-color .16s;display:flex}.filter-search-box:focus-within{border-color:#00bcd44d}.filter-search-box input{box-shadow:none;color:var(--ink-primary);background:0 0;border:none;outline:none;width:100%;padding:0;font-size:13px}.filter-search-box input::placeholder{color:var(--ink-muted)}.filter-search-hint{color:var(--ink-muted);white-space:nowrap;font-size:10px;font-family:var(--font-mono);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:5px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;display:flex}.filter-labeled-select{cursor:pointer;background:#0a162c8c;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;min-width:130px;height:52px;padding:0;transition:border-color .16s;display:flex;position:relative}.filter-labeled-select:hover,.filter-labeled-select:focus-within{border-color:#00bcd44d}.filter-labeled-select .fls-label{z-index:1;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);pointer-events:none;margin-bottom:4px;font-size:10px;font-weight:600;line-height:1;position:absolute;top:10px;left:14px}.filter-labeled-select select{appearance:none;box-shadow:none;color:var(--ink-primary);font-size:13.5px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;outline:none;width:100%;height:100%;padding:22px 38px 6px 14px;line-height:1.2;position:absolute;inset:0}.searchable-select{width:100%;min-width:0;position:relative}.searchable-select-trigger{cursor:pointer;width:100%;min-height:42px;color:var(--ink-primary);text-align:left;background:#0a162c8c;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.searchable-select-trigger:focus,.searchable-select-trigger[aria-expanded=true]{border-color:#00bcd466;outline:none}.searchable-select-trigger:disabled{opacity:.55;cursor:not-allowed}.searchable-select-placeholder{color:var(--ink-muted)}.searchable-select-menu{z-index:1500;background:#09182a;border:1px solid #00bcd438;border-radius:10px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 36px #00000080}.searchable-select-input-wrap{color:var(--ink-muted);border:1px solid #ffffff1a;border-radius:7px;align-items:center;gap:7px;padding:8px 9px;display:flex}.searchable-select-input-wrap:focus-within{border-color:#00bcd466}.searchable-select-input-wrap input{width:100%;min-width:0;color:var(--ink-primary);background:0 0;border:0;outline:0;font-size:13px}.searchable-select-options{max-height:220px;margin-top:6px;overflow-y:auto}.searchable-select-option{width:100%;color:var(--ink-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:8px;padding:8px 9px;display:flex}.searchable-select-option:hover{color:var(--ink-primary);background:#00bcd417}.searchable-select-empty{color:var(--ink-muted);text-align:center;padding:14px 9px;font-size:12px}.multi-select-chips{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.multi-select-chip{color:var(--aqua-300);background:#00bcd41a;border-radius:7px;align-items:center;gap:5px;padding:4px 7px;font-size:11px;display:inline-flex}.multi-select-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.time-wheel{width:100%;position:relative}.time-wheel-input-wrap{min-height:42px;color:var(--ink-muted);cursor:text;background:#0a162c8c;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:flex}.time-wheel-input-wrap:focus-within{border-color:#00bcd473}.time-wheel-input-wrap input{width:100%;min-width:0;color:var(--ink-primary);background:0 0;border:0;outline:0;font-size:13px}.time-wheel-input-wrap input::placeholder{color:var(--ink-muted)}.time-wheel-input-wrap button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:2px;display:flex}.time-wheel-popover{z-index:1800;background:#fff;border:1px solid #dfe4ec;border-radius:8px;width:270px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 38px #00000059}.time-wheel-columns{grid-template-columns:1fr 1fr 1fr;gap:5px;height:190px;display:grid}.time-wheel-column{scroll-snap-type:y proximity;padding:70px 3px;overflow-y:auto}.time-wheel-column button{color:#697386;cursor:pointer;scroll-snap-align:center;background:0 0;border:0;border-radius:17px;width:100%;height:34px;padding:0;font-size:13px;display:block}.time-wheel-column button:hover{background:#f2f5f8}.time-wheel-column button.selected{color:#ec2c7c;background:#fff0f6;font-size:16px;font-weight:700}.time-wheel-meridiem{flex-direction:column;justify-content:center;padding:0 3px;display:flex;overflow:visible}.time-wheel-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:20px;padding:12px 7px 2px;display:flex}.time-wheel-actions button{color:#ec2c7c;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:4px;font-size:11px;font-weight:700}.filter-labeled-select .filter-native-select{color:#0000}.filter-select-display{z-index:1;color:var(--ink-primary);font-size:13.5px;font-weight:600;font-family:var(--font-body);pointer-events:none;line-height:1.2;position:absolute;bottom:7px;left:14px;right:38px}.filter-labeled-select select option{background:var(--bg-2);color:var(--ink-primary)}.filter-labeled-select:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--ink-muted);pointer-events:none;width:0;height:0;transition:border-top-color .16s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.filter-labeled-select:hover:after,.filter-labeled-select:focus-within:after{border-top-color:var(--aqua-400)}.modal-backdrop{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#040a14bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.main-content:has(.modal-backdrop){z-index:1100}.main-content:has(.modal-backdrop) .modal-backdrop{z-index:1100}.modal-container{width:100%;max-width:540px;animation:.2s cubic-bezier(.16,1,.3,1) modalSlideUp}.scrollable-modal{max-height:90vh;overflow-y:auto}.modal-glass-card{border:1px solid #00bcd440!important;box-shadow:0 20px 50px #0009,0 0 20px #00bcd40d!important}.modal-header{border-bottom:1px solid #00bcd41a;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.modal-title-text{font-family:var(--font-heading);color:var(--ink-primary);background:linear-gradient(135deg, var(--ink-primary), var(--aqua-300));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px;font-weight:700}.modal-form{flex-direction:column;gap:16px;display:flex}.form-group-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=520px){.form-group-row{grid-template-columns:1fr;gap:14px}}.form-field{flex-direction:column;gap:6px;display:flex}.form-label{text-transform:uppercase;color:var(--ink-muted);letter-spacing:.06em;font-size:11px;font-weight:600;font-family:var(--font-mono)}.form-control-input{color:var(--ink-primary);font-size:13.5px;font-family:var(--font-body);background:#060f1e99;border:1px solid #00bcd426;border-radius:8px;outline:none;padding:10px 14px;transition:all .15s}.form-control-input:focus{border-color:var(--aqua-400);box-shadow:0 0 8px #00bcd426}.form-select,.form-date,.form-time{appearance:none;color:var(--ink-primary);background-color:#060f1e99;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238bb8c8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border:1px solid #00bcd426;border-radius:8px;outline:none;padding:10px 36px 10px 14px;font-size:13.5px}.form-date,.form-time{background-image:none;padding-right:14px}.form-textarea{resize:none;min-height:80px;color:var(--ink-primary);font-size:13.5px;font-family:var(--font-body);background:#060f1e99;border:1px solid #00bcd426;border-radius:8px;outline:none;padding:10px 14px}.form-textarea:focus{border-color:var(--aqua-400)}.form-readonly{opacity:.75;cursor:not-allowed;pointer-events:none;background-color:#060f1e59}.modal-actions{border-top:1px solid #00bcd41a;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:16px;display:flex}.btn-cancel{cursor:pointer;background:0 0;border-radius:8px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .15s;color:var(--ink-secondary)!important;border:1px solid #ffffff1a!important}.btn-cancel:hover{background:#ffffff0d;color:var(--ink-primary)!important;border-color:#fff3!important}.sort-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s;position:relative}.sort-header:hover{color:var(--aqua-400)!important}.sort-indicator{vertical-align:middle;margin-left:6px;font-size:9px;display:inline-block}.permission-cell{min-width:90px;font-family:var(--font-mono);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.permission-yes{color:var(--green-400);background:#66bb6a1a;border:1px solid #66bb6a38}.permission-no{color:var(--ink-muted);background:#4a7a8a14;border:1px solid #4a7a8a29}.permission-limited{color:#ffcc80;background:#ff98001a;border:1px solid #ff980038}
