@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--sidebar-width:285px;--sidebar-collapsed-width:78px;--current-sidebar-width:285px;--bg-color:#070a13;--sidebar-bg:#0b1120;--sidebar-border:#ffffff14;--surface-color:#0f172ac7;--surface-border:#ffffff17;--surface-card:#0f172a;--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-glow:#2563eb73;--primary-gradient:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--accent-cyan:#06b6d4;--accent-indigo:#6366f1;--accent-orange:#f97316;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--danger-color:#ef4444;--danger-hover:#dc2626;--success-color:#10b981;--warning-color:#f59e0b}.sidebar-collapsed{--current-sidebar-width:78px}@media (width<=1024px){:root,.sidebar-collapsed{--current-sidebar-width:0px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);background-image:radial-gradient(at 0 0,#2563eb26 0,#0000 55%),radial-gradient(at 100% 0,#6366f11f 0,#0000 50%),radial-gradient(at 50% 100%,#06b6d414 0,#0000 55%);background-attachment:fixed;min-height:100vh;font-family:Outfit,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}.pms-layout{background-color:var(--bg-color);min-height:100vh;display:flex;position:relative;overflow-x:hidden}.pms-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:1050;flex-direction:column;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:visible;box-shadow:6px 0 30px #00000080}.pms-sidebar.collapsed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}.pms-collapse-floating-btn{color:#cbd5e1;cursor:pointer;z-index:1060;background:#151f33;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:24px;right:-13px;box-shadow:0 4px 12px #00000080}.pms-collapse-floating-btn:hover{background:var(--primary-color);color:#fff;border-color:#3b82f6;transform:scale(1.15);box-shadow:0 0 14px #2563ebb3}@media (width<=1024px){.pms-collapse-floating-btn{display:none}}.pms-sidebar-header{border-bottom:1px solid var(--sidebar-border);background:#0f172a66;align-items:center;gap:.85rem;padding:1.25rem 1.1rem;display:flex;position:relative}.pms-sidebar-logo-box{background:#fff;border:2px solid #f9731699;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;transition:transform .2s;display:flex;overflow:hidden;box-shadow:0 4px 15px #00000059,0 0 10px #f9731640}.pms-sidebar-logo-box:hover{transform:scale(1.05)}.pms-sidebar-logo-img{object-fit:cover;border-radius:9px;width:100%;height:100%}.pms-sidebar-brand{white-space:nowrap;flex:1;overflow:hidden}.pms-sidebar-brand-title{letter-spacing:.03em;color:#fff;align-items:center;gap:.4rem;font-size:1.05rem;font-weight:800;line-height:1.2;display:flex}.pms-sidebar-brand-sub{color:#38bdf8;letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-size:.75rem;font-weight:600}.pms-sidebar.collapsed .pms-sidebar-header{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.85rem .5rem}.pms-sidebar.collapsed .pms-sidebar-logo-box{width:38px;height:38px}.pms-sidebar-nav{flex-direction:column;flex:1;gap:1.25rem;padding:1rem .75rem;display:flex;overflow:hidden auto}.pms-sidebar-nav::-webkit-scrollbar{width:4px}.pms-sidebar-nav::-webkit-scrollbar-track{background:0 0}.pms-sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.pms-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#3b82f680}.pms-nav-group-header{text-transform:uppercase;letter-spacing:.08em;color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.4rem;padding:0 .5rem;font-size:.68rem;font-weight:700;overflow:hidden}.pms-nav-group-items{flex-direction:column;gap:.25rem;display:flex}.pms-nav-btn{color:#94a3b8;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.pms-nav-btn:hover{color:#f8fafc;background:#ffffff0d;transform:translate(3px)}.pms-sidebar.collapsed .pms-nav-btn:hover{transform:none}.pms-nav-btn.active{color:#fff;background:linear-gradient(135deg,#2563eb47 0%,#1e40af33 100%);border-color:#3b82f666;font-weight:600;box-shadow:0 4px 15px #2563eb33}.pms-nav-btn.active:before{content:"";background:#38bdf8;border-radius:0 4px 4px 0;width:4px;height:70%;position:absolute;top:15%;left:0;box-shadow:0 0 10px #38bdf8}.pms-nav-icon-wrapper{width:32px;height:32px;color:inherit;background:#ffffff0a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.pms-nav-btn:hover .pms-nav-icon-wrapper{color:#60a5fa;background:#3b82f626}.pms-nav-btn.active .pms-nav-icon-wrapper{background:var(--primary-color);color:#fff;box-shadow:0 0 12px #2563eb99}.pms-nav-label-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.pms-nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pms-nav-num-badge{color:#94a3b8;background:#ffffff12;border-radius:6px;flex-shrink:0;margin-left:auto;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.pms-nav-btn.active .pms-nav-num-badge{color:#93c5fd;background:#3b82f659;border:1px solid #3b82f64d}.pms-sidebar-footer{border-top:1px solid var(--sidebar-border);background:#0b1120d9;align-items:center;gap:.75rem;padding:1rem;display:flex}.pms-user-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:flex;position:relative;box-shadow:0 4px 10px #0000004d}.pms-user-avatar-online{border:2px solid var(--sidebar-bg);background:#10b981;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.pms-user-info-text{flex:1;overflow:hidden}.pms-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.pms-user-role-badge{text-transform:uppercase;color:#38bdf8;background:#38bdf81f;border-radius:4px;margin-top:2px;padding:.1rem .4rem;font-size:.65rem;font-weight:600;display:inline-block}.pms-sidebar-logout-btn{color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.pms-sidebar-logout-btn:hover{background:var(--danger-color);color:#fff;box-shadow:0 0 15px #ef444466}.pms-main-wrapper{min-width:0;margin-left:var(--current-sidebar-width);width:calc(100% - var(--current-sidebar-width));flex-direction:column;flex:1;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);display:flex}.pms-topbar{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--surface-border);z-index:100;box-sizing:border-box;background:#0b1120e6;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:56px;padding:.6rem 1.25rem;display:flex;position:sticky;top:0}.pms-topbar-left{flex-shrink:0;align-items:center;gap:.65rem;min-width:0;display:flex}.pms-topbar-icon-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.pms-topbar-icon-btn:hover{color:#fff;background:#2563eb40;border-color:#3b82f6}.pms-topbar-switcher{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9px;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.pms-topbar-switcher-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex-shrink:0;align-items:center;gap:.4rem;padding:.32rem .65rem;font-size:.78rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.pms-topbar-switcher-btn:hover{color:#fff;background:#ffffff14}.pms-topbar-switcher-btn.active{color:#93c5fd;background:#2563eb40;border:1px solid #3b82f659;font-weight:700}.pms-mobile-menu-btn{color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;padding:.4rem;display:none}.pms-topbar-breadcrumb{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;min-width:0;font-size:.88rem;display:flex;overflow:hidden}.pms-topbar-mod-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.pms-topbar-badge{color:#60a5fa;letter-spacing:.04em;background:#2563eb33;border:1px solid #2563eb4d;border-radius:6px;flex-shrink:0;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.pms-topbar-right{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.pms-user-chip{color:#cbd5e1;background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:.5rem;padding:.35rem .8rem;font-size:.82rem;display:flex}.pms-user-chip-dot{background:#10b981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #10b981}.pms-page-header{background:linear-gradient(135deg,#0f172ad9 0%,#141e37bf 100%);border:1px solid #ffffff17;border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;margin:1.5rem 2rem;padding:1.5rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000059}.pms-page-header:after{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#3b82f626 0%,#0000 70%);width:300px;height:100%;position:absolute;top:0;right:0}.pms-header-info{z-index:1;flex:1}.pms-badge-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.pms-status-pill{color:#93c5fd;letter-spacing:.06em;background:linear-gradient(135deg,#2563eb40,#3b82f626);border:1px solid #3b82f666;border-radius:20px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.pulse-dot{background:#38bdf8;border-radius:50%;width:6px;height:6px;animation:2s infinite pulseDot;box-shadow:0 0 8px #38bdf8}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.pms-badge-text{letter-spacing:.05em;color:#94a3b8;text-transform:uppercase;font-size:.72rem;font-weight:600}.pms-title-heading{background:linear-gradient(90deg,#fff 30%,#93c5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:1.85rem;font-weight:800;line-height:1.2}.pms-active-subbar{color:#cbd5e1;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem;font-size:.92rem;display:flex}.pms-module-pill{color:#60a5fa;background:#2563eb2e;border:1px solid #3b82f659;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.pms-module-name{color:#fff;font-weight:700}.pms-sub-divider{color:#64748b}.pms-module-desc{color:#94a3b8;font-size:.85rem}.pms-header-actions{z-index:1}.pms-content-area{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:100%;padding:0 2rem 3rem;overflow-x:hidden}.pms-mobile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;background:#000000a6;display:none;position:fixed;inset:0}@media (width<=1024px){.hide-on-mobile,.pms-topbar-icon-btn,.pms-topbar-switcher-btn span{display:none!important}.pms-topbar-switcher-btn{padding:.35rem .5rem}.pms-sidebar{transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:-100%}.pms-sidebar.mobile-open{left:0}.pms-mobile-overlay.active{display:block}.pms-mobile-menu-btn{display:flex}.pms-page-header{flex-direction:column;align-items:stretch;gap:1rem;margin:1rem .85rem;padding:1.25rem 1rem}.pms-header-actions{width:100%}.pms-header-actions button{justify-content:center;width:100%}.pms-title-heading{font-size:1.45rem}.pms-topbar{gap:.4rem;padding:.5rem .75rem}.pms-topbar-breadcrumb,.pms-user-chip-role{display:none!important}.pms-content-area{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0 .85rem 2rem}}@media (width<=640px){.pms-breadcrumb-prefix,.pms-breadcrumb-sep,.pms-topbar-badge,.pms-user-chip-role{display:none!important}.pms-user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:100px;padding:.25rem .5rem;font-size:.76rem;overflow:hidden}.pms-topbar-logout-btn{padding:.35rem .5rem}.pms-title-heading{font-size:1.25rem}.pms-badge-row{gap:.4rem}}.pms-topbar-logout-btn{color:#f87171;cursor:pointer;background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.pms-topbar-logout-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 0 12px #ef444466}.pms-user-chip-role{color:#60a5fa;background:#3b82f640;border-radius:4px;margin-left:.35rem;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.pms-kpi-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;width:100%;margin-bottom:2rem;display:grid}@media (width<=640px){.pms-kpi-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}}.pms-mid-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.5rem;width:100%;margin-bottom:2.5rem;display:grid}@media (width<=900px){.pms-mid-grid{grid-template-columns:1fr;gap:1.25rem}}.pms-roadmap-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;width:100%;display:grid}@media (width<=640px){.pms-roadmap-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (width<=380px){.pms-roadmap-grid{grid-template-columns:1fr}}.pms-deadline-item{cursor:pointer;box-sizing:border-box;background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;transition:all .2s;display:flex}.pms-deadline-item:hover{background:#3b82f60a;border-color:#3b82f6}.pms-deadline-item-left{flex:1;min-width:0;overflow:hidden}.pms-deadline-ref{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.pms-deadline-name{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.78rem;overflow:hidden}.pms-deadline-agency{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.72rem;overflow:hidden}.pms-deadline-item-right{text-align:right;flex-shrink:0}@media (width<=480px){.pms-deadline-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.pms-deadline-item-right{text-align:left;border-top:1px dashed #ffffff12;justify-content:space-between;align-items:center;width:100%;margin-top:.25rem;padding-top:.35rem;display:flex}.pms-deadline-date{margin-top:0!important}}.pms-table-responsive{scrollbar-width:thin;scrollbar-color:#3b82f6 #0f172acc;position:relative;-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;display:block!important;overflow-x:auto!important}.pms-table-responsive::-webkit-scrollbar{height:8px!important;display:block!important}.pms-table-responsive::-webkit-scrollbar-track{border-radius:4px;background:#0f172acc!important}.pms-table-responsive::-webkit-scrollbar-thumb{border-radius:4px;background:#3b82f6!important}.pms-table-responsive::-webkit-scrollbar-thumb:hover{background:#60a5fa!important}.pms-table-responsive table{border-collapse:collapse!important;width:100%!important}.pms-table-responsive th,.pms-table-responsive td{white-space:nowrap!important}.pms-scroll-guide{color:#93c5fd;background:#3b82f614;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.45rem 1rem;font-size:.76rem;font-weight:600;display:none}@media (width<=900px){.pms-scroll-guide{display:flex}}.pms-details-container{padding:2rem}@media (width<=768px){.pms-details-container{padding:1.25rem .75rem}}.pms-login-container{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1rem;display:flex}.pms-login-card{text-align:center;box-sizing:border-box;background:#0d1424;border:1px solid #ffffff17;border-radius:20px;width:100%;max-width:460px;padding:3rem 2.5rem;position:relative;overflow:hidden;box-shadow:0 20px 50px #000000a6}.pms-login-card:before{content:"";background:linear-gradient(90deg,#2563eb,#38bdf8,#f97316);height:3px;position:absolute;top:0;left:0;right:0}.pms-login-logo-box{background:#fff;border:2px solid #2563eb99;border-radius:50%;justify-content:center;align-items:center;width:86px;height:86px;margin:0 auto 1.25rem;transition:transform .2s;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000080,0 0 20px #2563eb40}.pms-login-logo-box:hover{transform:scale(1.05)}.pms-login-logo-img{object-fit:cover;width:100%;height:100%}.pms-login-title{color:#fff;letter-spacing:-.01em;font-size:1.65rem;font-weight:800;line-height:1.25}.pms-login-subtitle{color:#94a3b8;margin-top:.6rem;font-size:.95rem;line-height:1.4}.pms-login-form{text-align:left;margin-top:2rem}.pms-login-label{color:#cbd5e1;align-items:center;gap:.45rem;margin-bottom:.45rem;font-size:.92rem;font-weight:600;display:flex}.pms-login-input{color:#fff;box-sizing:border-box;background:#080c16d9;border:1px solid #ffffff1f;border-radius:10px;width:100%;padding:.85rem 1rem;font-family:inherit;font-size:.98rem;transition:all .2s}.pms-login-input:focus{background:#0b1120f2;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f640}.pms-login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:.95rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 15px #2563eb66}.pms-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2563eb99}.pms-login-btn:disabled{opacity:.6;cursor:not-allowed}.pms-glass-card{border:1px solid var(--surface-border);background:#0d1424;border-radius:16px;padding:1.5rem;box-shadow:0 10px 30px #00000073}.app-container{width:100%;max-width:1000px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:3rem;animation:.8s ease-out fadeInDown}.header h1{background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.header p{color:var(--text-muted);font-size:1.1rem}.glass-panel{border:1px solid var(--surface-border);background:#0d1424;border-radius:16px;padding:2rem;animation:.3s ease-out fadeIn;box-shadow:0 10px 30px #00000073}.upload-zone{border:2px dashed var(--surface-border);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;transition:all .3s;display:flex}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--primary-color);box-shadow:0 0 20px var(--primary-glow);background:#3b82f60d}.upload-icon{color:var(--primary-color);width:48px;height:48px;margin-bottom:1rem}.btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 0 15px var(--primary-glow);transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger-color)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);box-shadow:0 0 15px #ef444480}.btn-success{background:var(--success-color)}.btn-success:hover:not(:disabled){background:#059669;box-shadow:0 0 15px #10b98180}.form-group{text-align:left;width:100%;margin-bottom:1.5rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;display:block}.form-control{border:1px solid var(--surface-border);width:100%;color:var(--text-main);background:#0003;border-radius:8px;padding:.75rem 1rem;font-family:Outfit,sans-serif;font-size:1rem;transition:border-color .2s}.form-control:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3b82f640}.attachment-list{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.attachment-item{border:1px solid var(--surface-border);background:#ffffff08;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:transform .2s;display:flex}.attachment-item:hover{background:#ffffff0f;transform:translate(5px)}.attachment-sno{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.attachment-info{flex-grow:1;overflow:hidden}.attachment-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-weight:600;overflow:hidden}.attachment-meta{color:var(--text-muted);font-size:.8rem}.file-input-hidden{display:none}.compile-section{text-align:center;border-top:1px solid var(--surface-border);margin-top:3rem;padding-top:2rem}.add-attachment-panel{border:1px dashed var(--surface-border);background:#0003;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.flex-row{gap:1rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}.loading-spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.attachment-actions{gap:.5rem;display:flex}.icon-btn{color:var(--text-main);cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.icon-btn:hover:not(:disabled){background:#fff3}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn.danger:hover{background:var(--danger-color);color:#fff}@media (width<=768px){.app-container{padding:1rem}.header h1{font-size:1.8rem}.glass-panel{padding:1.25rem}.upload-zone{padding:2rem 1rem}.flex-row{flex-direction:column;gap:.5rem}.attachment-item{flex-wrap:wrap}.attachment-info{width:calc(100% - 50px)}.attachment-actions{border-top:1px solid #ffffff0d;justify-content:flex-end;width:100%;margin-top:.5rem;padding-top:.5rem}.add-attachment-panel .btn{width:100%}}.fixed-bottom-bar{bottom:0!important;left:var(--current-sidebar-width)!important;width:calc(100% - var(--current-sidebar-width))!important;-webkit-backdrop-filter:blur(14px)!important;z-index:1000!important;box-sizing:border-box!important;background:#0b1120fa!important;border-top:1px solid #ffffff1f!important;justify-content:center!important;align-items:center!important;padding:1rem 2rem!important;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)!important;display:flex!important;position:fixed!important;right:0!important;box-shadow:0 -8px 30px #000000b3!important}.fixed-bottom-bar>button,.fixed-bottom-bar>a{flex:1;width:100%!important;max-width:500px!important}.app-container{padding-bottom:120px!important}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer section .overlaidText{width:0;height:0;display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:0;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer .highlight{--highlight-bg-color:#b400aa40;--highlight-selected-bg-color:#00640040;--highlight-backdrop-filter:none;--highlight-selected-backdrop-filter:none;background-color:var(--highlight-bg-color);-webkit-backdrop-filter:var(--highlight-backdrop-filter);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px;margin:-1px;padding:1px}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);-webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);backdrop-filter:var(--highlight-selected-backdrop-filter)}.textLayer ::selection{background:#0000ff40}@supports (background:color-mix(in srgb, AccentColor, transparent 75%)){.textLayer ::selection{background:color-mix(in srgb, AccentColor, transparent 75%)}}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}
