@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.28qi1ga78_w_1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.2cu9iw-l3ih8o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.28qi1ga78_w_1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.2cu9iw-l3ih8o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.28qi1ga78_w_1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.2cu9iw-l3ih8o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Fallback;src:local(Times New Roman);ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:136.86%}.cinzel_eea0a3b6-module__VHUu-W__className{font-family:Cinzel,Cinzel Fallback;font-style:normal}.cinzel_eea0a3b6-module__VHUu-W__variable{--font-cinzel:"Cinzel", "Cinzel Fallback"}
@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a1e5f881e1ca6a9a-s.3r71i8beaaw7i.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2efc0c479abd2474-s.02-h3o5cqnryq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70963ccca14000df-s.3dxjtj6-bs-2c.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a146d0fd3ff96e4-s.3pzgmnk57caz1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0474ff9f7224a0da-s.0_mk8de7o781e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f48d461c03e0a8ec-s.p.3rqg0w444aekk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes Fallback;src:local(Arial);ascent-override:124.79%;descent-override:58.8%;line-gap-override:0.0%;size-adjust:68.19%}.great_vibes_f48636d8-module__NU3dkG__className{font-family:Great Vibes,Great Vibes Fallback;font-style:normal;font-weight:400}.great_vibes_f48636d8-module__NU3dkG__variable{--font-script:"Great Vibes", "Great Vibes Fallback"}
:root{--ink:#4b3d39;--ink-deep:#3a2e2b;--gold:#a68e6b;--gold-light:#c4b08a;--cream:#f9f7f4;--cream-dark:#f0ebe4;--primary:#4b3d39;--primary-dark:#3a2e2b;--primary-light:#6b564f;--secondary:#a68e6b;--secondary-dk:#8c7354;--danger:#e74c3c;--danger-dk:#c0392b;--warning:#e67e22;--success:#27ae60;--info:#2980b9;--bg:#f6f3ef;--bg-home:#f3eee8;--surface:#fff;--border:#e4ddd4;--border-light:#f3eee8;--text:#4b3d39;--text-muted:#7a6a62;--text-light:#b5a79c;--navbar-h:96px;--radius-sm:3px;--radius:4px;--radius-lg:8px;--shadow-sm:0 1px 3px #00000014;--shadow:0 2px 8px #0000001f;--shadow-lg:0 8px 32px #00000029;--transition:.18s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-body{min-height:calc(100vh - var(--navbar-h));flex:1;display:flex}.app-body:has(.login-shell){min-height:100vh}.main-content:has(.login-shell){overflow:hidden}.app-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;gap:6px;width:104px;padding:16px 8px;display:flex}.app-sidebar-item{color:var(--text);transition:background var(--transition);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;text-decoration:none;display:flex;position:relative}.app-sidebar-item:hover,.app-sidebar-item.is-active{background:var(--cream)}.app-sidebar-item.is-soon{opacity:.55;cursor:default}.app-sidebar-icon{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.app-sidebar-label{text-align:center;font-size:11px;font-weight:600;line-height:1.2}.app-sidebar-soon{color:#6b7280;background:#e5e7eb;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:6px;right:8px}.main-content{flex:1;min-width:0;padding:0}.page-pad{padding:20px 24px}.navbar{height:var(--navbar-h);z-index:1000;background:linear-gradient(105deg,#2a211e 0%,#3a2e2b 18%,#5c4638 40%,#8b6f4e 58%,#6b5644 76%,#322724 100%);border-bottom:1px solid #a68e6b73;align-items:stretch;gap:0;padding:0 20px 0 40px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #3a2e2b47}.navbar-left{flex:1;align-self:stretch;align-items:center;gap:4px;min-width:0;display:flex}.navbar-right{align-self:stretch;align-items:center;gap:10px;display:flex}.navbar-logo-cutout{background-color:var(--cream);background-image:radial-gradient(#4b3d390e .7px,#0000 .7px);background-size:3px 3px;border:1px solid #a68e6b38;border-bottom:none;border-radius:22px 22px 0 0;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:188px;height:86px;margin:0 18px -1px 12px;padding:0;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:0 -4px 14px #3a2e2b29,inset 0 1px #ffffffb3}.navbar-logo-img{object-fit:contain;object-position:center center}.navbar-grid-btn{color:#f9f7f4d1;width:36px;height:36px;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.navbar-grid-btn:hover{color:var(--cream);background:#f9f7f41f}.navbar-brand{color:var(--cream);flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:5px;margin:0 16px 0 2px;text-decoration:none;display:flex}.navbar-brand-name{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.2em;color:var(--cream);text-shadow:0 1px #00000047,0 0 12px #c4b08a1f;font-size:24px;font-weight:700;line-height:1}.navbar-brand-rule{background:linear-gradient(90deg, var(--gold-light), var(--gold) 60%, transparent);width:56px;height:1px;display:block;box-shadow:0 1px #ffffff1f}.navbar-brand-tagline{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.24em;color:var(--gold-light);font-size:12px;font-weight:400;line-height:1}.navbar-brand-icon{object-fit:cover;border-radius:6px}.navbar-brand:hover{color:var(--cream)}.navbar-brand:hover .navbar-brand-name{color:#fff}.navbar-divider{background:#fff3;width:1px;height:20px;margin:0 6px}.navbar-nav{gap:2px;display:flex}.nav-link{color:#ffffffd9;border-radius:var(--radius);transition:background var(--transition);align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.nav-link:hover{color:#fff;background:#ffffff26}.navbar-icon-btn{color:#f9f7f4e0;width:44px;height:44px;transition:background var(--transition), color var(--transition), border-color var(--transition);background:#f9f7f414;border:1px solid #c4b08a38;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.navbar-icon-btn:hover{color:var(--cream);background:#f9f7f429;border-color:#c4b08a73}.badge{background:var(--danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:3px;right:3px}.grid-menu-wrapper{position:relative}.grid-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:2000;grid-template-columns:repeat(4,1fr);gap:8px;min-width:380px;padding:12px;animation:.15s fadeDown;display:grid;position:absolute;top:calc(100% + 10px);left:0}.grid-dropdown-item{border-radius:var(--radius);color:var(--text);text-align:center;transition:background var(--transition);flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:500;line-height:1.2;text-decoration:none;display:flex}.grid-dropdown-item:hover{background:var(--bg)}.grid-dropdown-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 6px #00000014}.grid-dropdown-icon img{object-fit:cover;border-radius:10px;width:40px;height:40px}.navbar-tabs{gap:4px;margin-left:20px;display:flex}.navbar-tab{color:#f9f7f4b8;border-radius:var(--radius);transition:all var(--transition);align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.navbar-tab:hover{color:var(--cream);background:#f9f7f41a}.navbar-tab-active{color:var(--cream);background:#a68e6b47;font-weight:600}.navbar-tab-count{color:#fff;background:#f86126;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.user-menu-wrapper{position:relative}.user-avatar-btn{color:var(--cream);transition:background var(--transition), border-color var(--transition);background:#f9f7f41a;border:1px solid #c4b08a47;border-radius:999px;align-items:center;gap:10px;padding:5px 14px 5px 5px;display:flex}.user-avatar-btn:hover{background:#f9f7f429;border-color:#c4b08a80}.user-pill-meta{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.user-pill-name{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13.5px;font-weight:600;overflow:hidden}.user-pill-role{color:var(--gold-light);letter-spacing:.04em;font-size:11px}.user-pill-divider{background:#c4b08a59;width:1px;height:26px;margin:0 2px}.user-logout-btn{width:28px;height:28px;color:var(--gold-light);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.user-logout-btn:hover{color:#fff;background:#f9f7f41f}.user-avatar{width:36px;height:36px;color:var(--cream);background:#a68e6b73;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-avatar-lg{background:var(--primary);width:40px;height:40px;font-size:16px}.user-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:2000;min-width:220px;animation:.15s fadeDown;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{border-bottom:1px solid var(--border-light);background:#fafafa;gap:12px;padding:14px 16px;display:flex}.user-name{font-size:13px;font-weight:600}.user-email{color:var(--text-muted);margin-bottom:4px;font-size:11px}.user-role-badge{color:#fff;border-radius:12px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.user-dropdown-divider{background:var(--border-light);height:1px}.user-dropdown-item{width:100%;color:var(--text);text-align:left;transition:background var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:9px 16px;font-size:13px;display:flex}.user-dropdown-item:hover{background:var(--bg)}.user-dropdown-logout{color:var(--danger)}.user-dropdown-logout:hover{background:#fff5f5}.home-page{min-height:calc(100vh - var(--navbar-h));background:var(--bg-home);justify-content:center;align-items:flex-start;padding:48px 24px 64px;display:flex}.modules-grid{grid-template-columns:repeat(auto-fill,120px);place-content:start center;gap:16px;width:100%;max-width:900px;display:grid}.module-tile{border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;align-items:center;gap:10px;padding:16px 8px;text-decoration:none;display:flex}.module-tile:hover{box-shadow:var(--shadow);background:#fffc;transform:translateY(-2px)}.module-icon{width:72px;height:72px;transition:transform var(--transition);border-radius:14px;justify-content:center;align-items:center;display:flex}.module-tile:hover .module-icon{transform:scale(1.05)}.module-label{color:var(--text);text-align:center;font-size:12px;font-weight:500}.login-shell{color:#fff;--login-split:54%;--login-card-offset:clamp(16px, 2vw, 32px);background:#0c1219;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-brand-panel{z-index:3;width:var(--login-split);clip-path:polygon(0 0,100% 0,calc(100% - clamp(120px,14vw,200px)) 50%,100% 100%,0 100%);background:linear-gradient(165deg,#0a101cf0 0%,#1a1412eb 55%,#0a101cf5 100%);flex-direction:column;min-width:0;max-width:none;padding:0;display:flex;position:relative}.login-brand-panel-bg{opacity:.9;pointer-events:none;clip-path:inherit;background:radial-gradient(circle at 20% 80%,#a68e6b1f 0%,#0000 45%),radial-gradient(circle at 80% 20%,#4b3d3959 0%,#0000 50%);position:absolute;inset:0}.login-brand-center{z-index:4;flex:1;justify-content:flex-start;align-items:center;min-height:100%;padding:32px clamp(96px,12vw,156px) 32px clamp(12px,2vw,28px);display:flex;position:relative}.login-brand-content{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:540px;margin:0 auto 0 0;display:flex;transform:translate(clamp(-8px,-1vw,-20px))}.login-brand-name{font-family:var(--font-cinzel), "Cinzel", serif;letter-spacing:.12em;text-indent:.12em;color:var(--gold-light);width:100%;margin:0 0 8px;font-size:clamp(36px,4.5vw,52px);font-weight:700;line-height:1.15}.login-brand-subtitle{letter-spacing:.28em;text-indent:.28em;color:#ffffffc7;text-transform:uppercase;justify-content:center;align-items:center;gap:16px;width:100%;margin-top:16px;font-size:clamp(12px,1.2vw,14px);display:flex}.login-brand-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:48px;height:1px;display:block}.login-brand-tagline{letter-spacing:.26em;text-indent:.26em;color:#c4b08ae6;width:100%;margin:22px 0 36px;font-size:clamp(11px,1.1vw,13px)}.login-feature-grid{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:clamp(8px,1.2vw,16px);width:100%;margin:0;padding:0;list-style:none;display:flex}.login-feature-item{flex-direction:column;flex:none;align-items:center;gap:10px;min-width:64px;max-width:80px;display:flex}.login-feature-icon{width:48px;height:48px;color:var(--gold-light);border:1px solid #c4b08a66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.login-feature-label{letter-spacing:.04em;color:#ffffffb8;text-transform:uppercase;text-align:center;white-space:normal;width:100%;font-size:9px;line-height:1.35}.login-brand-footer{text-align:center;margin-top:40px}.login-brand-motto{letter-spacing:.26em;color:var(--gold);margin:0;font-size:clamp(11px,1.1vw,13px)}.login-brand-script{font-family:var(--font-script), "Great Vibes", cursive;letter-spacing:.02em;color:var(--gold-light);margin:14px 0 0;font-size:clamp(28px,3.2vw,40px);font-style:normal;font-weight:400;line-height:1.2}.login-hero-panel{z-index:0;position:absolute;inset:0;overflow:hidden}.login-hero-image{background-color:#2a2420;background-image:linear-gradient(90deg,#0c1219a6 0%,#0c12191f 50%,#0c12190d 100%),url(/login-hero.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.login-glass-card{z-index:10;left:calc(50% + var(--login-card-offset));-webkit-backdrop-filter:blur(18px);background:#0c121cc7;border:1px solid #c4b08a61;border-radius:18px;width:min(400px,100vw - 48px);padding:36px 36px 32px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #00000073,inset 0 1px #ffffff0f}.login-card-title{text-align:center;color:#fff;margin:0;font-size:24px;font-weight:700}.login-card-subtitle{text-align:center;color:#ffffff8c;margin:8px 0 28px;font-size:13px}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field-label{color:#ffffffbf;font-size:12px;font-weight:500}.login-input-wrap{position:relative}.login-input-icon{color:#fff6;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input{color:#fff;width:100%;transition:border-color var(--transition), box-shadow var(--transition);background:#00000059;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:12px 14px 12px 42px;font-size:14px}.login-input::placeholder{color:#ffffff59}.login-input:focus{border-color:#c4b08aa6;box-shadow:0 0 0 3px #a68e6b26}.login-input-has-action{padding-right:42px}.login-input-action{color:#ffffff73;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-form-row{justify-content:space-between;align-items:center;gap:12px;margin-top:-4px;display:flex}.login-remember{color:#ffffffa6;cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.login-remember input{width:14px;height:14px;accent-color:var(--gold)}.login-forgot{color:var(--gold-light);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:none}.login-forgot:hover{text-decoration:underline}.login-submit-btn{color:#1a1410;letter-spacing:.14em;cursor:pointer;width:100%;transition:filter var(--transition), transform var(--transition);background:linear-gradient(135deg,#c4b08a 0%,#a68e6b 48%,#8c7354 100%);border:none;border-radius:8px;margin-top:4px;padding:13px 20px;font-size:14px;font-weight:800}.login-submit-btn:hover:not(:disabled){filter:brightness(1.05)}.login-submit-btn:active:not(:disabled){transform:translateY(1px)}.login-submit-btn:disabled{opacity:.75;cursor:not-allowed}.login-divider{color:#fff6;align-items:center;gap:14px;margin:24px 0 18px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.login-social-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.login-social-btn{width:44px;height:44px;color:var(--gold-light);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition), color var(--transition);background:#00000059;border:1px solid #c4b08a66;border-radius:50%;justify-content:center;align-items:center;display:flex}.login-social-btn:hover{border-color:var(--gold-light);color:#fff;background:#a68e6b2e;transform:translateY(-1px);box-shadow:0 8px 20px #00000047}.login-page-footer{z-index:12;color:#ffffff61;white-space:nowrap;font-size:11px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (max-width:1100px){.login-shell{--login-split:52%;--login-card-offset:clamp(10px, 1.5vw, 20px)}.login-brand-center{padding-right:clamp(72px,10vw,120px)}.login-brand-content{max-width:480px}.login-feature-item{min-width:56px;max-width:72px}.login-feature-icon{width:44px;height:44px}.login-feature-label{font-size:8.5px}}@media (max-width:860px){.login-shell{--login-card-offset:0px;flex-direction:column}.login-brand-panel{clip-path:none;width:100%;min-width:0;max-width:none;min-height:52vh;padding:0}.login-brand-center{justify-content:center;padding:12px 24px}.login-brand-content{max-width:min(480px,92%);margin:0 auto;transform:none}.login-feature-grid{flex-wrap:wrap;gap:16px 14px;max-width:320px}.login-feature-item{min-width:80px;max-width:96px}.login-feature-icon{width:48px;height:48px}.login-feature-label{white-space:normal;font-size:9px}.login-hero-panel{min-height:100%;position:absolute;inset:0}.login-glass-card{left:calc(50% + var(--login-card-offset,24px));width:min(420px,100% - 32px);position:absolute;top:50%;transform:translate(-50%,-50%)}.login-brand-footer{margin-top:28px}}@media (max-width:480px){.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px}.login-feature-icon{width:38px;height:38px}.login-glass-card{padding:28px 22px 24px}}.input-icon-wrap{position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-icon-right{color:var(--text-muted);cursor:pointer;background:0 0;border:none;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.form-control-icon{padding-left:34px!important}.form-control-icon-right{padding-right:34px!important}.btn-block{justify-content:center;gap:8px;width:100%;margin-top:4px;padding:11px;font-size:14px}.hint-role{color:#fff;border-radius:12px;padding:1px 7px;font-size:10px;font-weight:700}.hint-role.admin{background:var(--danger)}.hint-role.manager{background:var(--info)}.hint-role.user{background:var(--success)}.global-loader-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.global-loader-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:12px;padding:24px 32px;display:flex}.loader-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.loader-message{color:var(--text-muted);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border-style:solid;border-color:#0000;border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spinner-primary{border-top-color:var(--primary)}.spinner-white{border-top-color:#fff}.spinner-sm{border-width:2px;width:14px;height:14px}.spinner-md{border-width:2px;width:20px;height:20px}.spinner-lg{border-width:3px;width:28px;height:28px}.btn-inline-spinner{vertical-align:-2px;margin-right:4px;animation:.7s linear infinite spin;display:inline-block}.btn .btn-inline-spinner{margin-right:6px}.toast-container{z-index:9000;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;top:60px;right:16px}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:var(--surface);border-left:4px solid;align-items:flex-start;gap:10px;padding:12px 14px;animation:.2s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-success{border-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-warning{border-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-color:var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{flex:1}.toast-title{margin-bottom:2px;font-size:13px;font-weight:600}.toast-message{color:var(--text-muted);font-size:12px}.toast-close{color:var(--text-muted);background:0 0;border:none;flex-shrink:0;margin-left:4px;display:flex}.toast-close:hover{color:var(--text)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), box-shadow var(--transition), border-color var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--secondary);color:#fff;border-color:var(--secondary)}.btn-primary:hover:not(:disabled){background:var(--secondary-dk);border-color:var(--secondary-dk)}.btn-secondary{color:var(--text);border-color:var(--border);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-dk)}.btn-success{color:#fff;background:#059669;border-color:#059669}.btn-success:hover:not(:disabled){background:#047857;border-color:#047857}.odoo-page{flex-direction:column;display:flex}.page-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;padding:8px 0 0;display:flex}.page-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.page-header-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.new-btn{background:var(--primary);border-color:var(--primary);font-weight:600}.new-btn:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.page-title{color:var(--text);align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.page-title-icon{color:var(--text-muted);display:flex}.selection-info{color:var(--text-muted);font-size:12px}.search-box{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:9px}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:200px;height:32px;transition:border-color var(--transition);outline:none;padding:0 28px 0 30px;font-size:13px}.search-input:focus{border-color:var(--primary)}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;display:flex;position:absolute;right:7px}.search-clear:hover{color:var(--text)}.toolbar-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);color:var(--text);transition:background var(--transition);align-items:center;gap:5px;padding:6px 10px;font-size:12px;display:inline-flex}.toolbar-btn:hover{background:var(--bg)}.view-switcher{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.view-btn{background:var(--surface);border:none;border-right:1px solid var(--border);width:32px;height:30px;color:var(--text-muted);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;display:flex}.view-btn:last-child{border-right:none}.view-btn:hover{background:var(--bg);color:var(--text)}.view-btn-active{background:var(--primary);color:#fff}.view-btn-active:hover{background:var(--primary-dark)}.record-count-bar{border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;margin-top:6px;padding:6px 12px;font-size:12px;display:flex}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-info{color:var(--text-muted);font-size:12px}.page-size-select{border:1px solid var(--border);border-radius:var(--radius-sm);height:26px;color:var(--text);cursor:pointer;background:#fff;font-size:12px}.quick-filter-bar{align-items:center;gap:12px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.quick-filter-bar::-webkit-scrollbar{display:none}.quick-filter-group{border:1px solid var(--border);background-color:var(--surface);border-radius:6px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.quick-filter-divider{background-color:var(--border);flex-shrink:0;width:1px;height:24px;margin:0 4px}.quick-filter-btn{border:none;border-right:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background-color:#0000;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.quick-filter-btn:last-child{border-right:none}.quick-filter-btn:hover:not(.active){background-color:var(--bg)}.quick-filter-btn.active{background-color:var(--primary);color:#fff;box-shadow:inset 0 1px 2px #0000001a}.page-nav-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text);transition:background var(--transition);justify-content:center;align-items:center;font-size:16px;display:flex}.page-nav-btn:hover:not(:disabled){background:var(--bg)}.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.view-content{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;overflow:auto}.list-view-container{overflow-x:auto}.odoo-table{border-collapse:collapse;width:100%}.odoo-table th,.odoo-table td{text-align:left;border-bottom:1px solid var(--border-light);padding:10px 14px;font-size:13px}.odoo-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;background:#fafbfc;font-size:12px;font-weight:600}.odoo-table tbody tr:hover td{background:#f5f6fa}.odoo-table tr.row-selected td{background:#f0eaf3}.odoo-table input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:14px;height:14px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--primary)}.th-content{align-items:center;gap:4px;display:flex}.sort-icons{opacity:.4;flex-direction:column;display:flex}.active-sort{opacity:1;color:var(--primary)}.empty-state{text-align:center;color:var(--text-muted);padding:40px;font-size:14px}.status-active{color:var(--success);align-items:center;gap:4px;font-weight:500;display:inline-flex}.status-inactive{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.kanban-view-wrap{background:#fff}.kanban-toolbar{background:#fafafa;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.kanban-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kanban-toolbar-meta{color:#888;margin-left:6px;font-size:12px}.kanban-container{align-items:flex-start;gap:14px;min-height:400px;padding:14px;display:flex;overflow-x:auto}.kanban-column{background:#f5f6f8;border-radius:8px;flex-shrink:0;min-width:280px;max-width:300px}.kanban-col-header{border-top:3px solid;border:1px solid var(--border);border-top-width:3px;border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:10px 12px;display:flex}.kanban-col-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.kanban-col-count{color:#555;background:#e8e8ec;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.kanban-add-btn{color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:2px;display:flex}.kanban-add-btn:hover{background:var(--border-light);color:var(--primary)}.kanban-cards{flex-direction:column;gap:8px;max-height:calc(100vh - 280px);padding:8px;display:flex;overflow-y:auto}.kanban-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition), transform var(--transition);border-radius:8px;padding:12px 12px 10px 14px;position:relative}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #714b6724}.kanban-card-rich{flex-direction:column;gap:6px;display:flex}.kanban-card-accent{border-radius:8px 0 0 8px;width:3px;position:absolute;top:0;bottom:0;left:0}.kanban-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.kanban-card-title{color:#1f2937;font-size:13px;font-weight:650;line-height:1.3}.kanban-card-subtitle{color:#6b7280;align-items:center;gap:5px;font-size:12px;display:flex}.kanban-tag{white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:650;display:inline-flex}.kanban-rate-badge{color:#714b67;background:#f7f1f5;border-radius:6px;align-items:baseline;gap:6px;width:fit-content;padding:5px 8px;font-size:13px;font-weight:700;display:inline-flex}.kanban-rate-badge span{color:#9a7a90;font-size:10px;font-weight:500}.kanban-card-details{flex-direction:column;gap:3px;display:flex}.kanban-detail-row{justify-content:space-between;gap:8px;font-size:11px;display:flex}.kanban-detail-label{color:#9ca3af;flex-shrink:0}.kanban-detail-value{color:#374151;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kanban-card-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;display:flex}.kanban-card-actions{color:#d1d5db;gap:8px;display:flex}.kanban-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.odoo-analytics-view{background:#fff;min-height:420px;padding:12px 14px 18px}.analytics-toolbar{border-bottom:1px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.analytics-toolbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.view-ctrl-label{color:#6b7280;font-size:12px;font-weight:500}.view-ctrl-select{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;min-width:120px;padding:6px 10px;font-size:13px}.view-ctrl-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.view-ctrl-btn-primary{color:#fff;background:#714b67;border-color:#714b67}.view-ctrl-icon-btn{color:#374151;cursor:pointer;background:#f9fafb;border:none;border-radius:4px;padding:6px;display:inline-flex}.view-ctrl-icon-btn:hover,.view-ctrl-btn:hover{background:#f3f0f2}.view-ctrl-btn-primary:hover{background:#5a3c52}.view-dropdown{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:180px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.view-dropdown-item{text-align:left;color:#374151;cursor:pointer;background:#fff;border:none;width:100%;padding:8px 12px;font-size:13px;display:block}.view-dropdown-item:hover,.view-dropdown-item.active{color:#714b67;background:#f7f1f5}.analytics-meta{color:#6b7280;margin-bottom:12px;font-size:12px}.analytics-empty{color:#9ca3af;justify-content:center;align-items:center;height:320px;display:flex}.graph-view-container{padding:16px}.graph-toolbar{gap:8px;margin-bottom:16px;display:flex}.graph-type-switch{border:1px solid #d1d5db;border-radius:4px;display:flex;overflow:hidden}.graph-type-btn{color:#6b7280;cursor:pointer;background:#f9fafb;border:none;border-left:1px solid #d1d5db;align-items:center;gap:6px;padding:6px 12px;display:flex}.graph-type-btn:first-child{border-left:none}.graph-type-btn:hover{background:#f3f0f2}.graph-type-btn.active{color:#714b67;background:#e8e0ee}.graph-canvas{width:100%;display:block}.pivot-container{padding:16px;overflow:auto}.pivot-scroll{border:1px solid #e5e7eb;border-radius:4px;overflow-x:auto}.pivot-table-odoo{border-collapse:collapse;color:#374151;text-align:right;width:100%;min-width:560px;font-size:13px}.pivot-table-odoo th,.pivot-table-odoo td{border:1px solid #e5e7eb;padding:8px 10px}.pivot-table-odoo thead{background:#f9fafb}.pivot-corner-cell{min-width:140px}.pivot-group-head{background:#f3f0f2;font-weight:600;text-align:left!important}.pivot-col-label{font-weight:500;text-align:left!important}.pivot-measure-head{color:#6b7280;font-size:12px;font-weight:400;text-align:center!important}.pivot-row-label{font-weight:500;text-align:left!important;padding-left:20px!important}.pivot-total-row td{background:#fcfcfc;font-weight:600}.pivot-toggle{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.pivot-table{border-collapse:collapse;font-size:13px}.pivot-table th,.pivot-table td{border:1px solid var(--border);text-align:right;padding:8px 14px}.pivot-corner{text-align:center;color:var(--text-muted);background:#f8f9fa;font-size:11px}.pivot-col-header{text-align:center;background:#f8f9fa;font-size:12px;font-weight:600}.pivot-row-header{text-align:left;background:#f8f9fa;font-weight:600}.pivot-cell{color:var(--text-muted)}.pivot-totals-row td{color:var(--primary);background:#f0eaf3;font-weight:600}.pivot-grand-total{color:var(--primary);font-weight:700}.calendar-container{padding:16px}.calendar-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.cal-title{text-align:center;min-width:180px;font-size:16px;font-weight:600}.cal-nav-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:30px;height:30px;transition:background var(--transition);justify-content:center;align-items:center;display:flex}.cal-nav-btn:hover{background:var(--bg)}.cal-today-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);transition:background var(--transition);margin-left:auto;padding:4px 12px;font-size:12px}.cal-today-btn:hover{background:var(--bg)}.calendar-grid{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-day-name{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;background:#fafbfc;padding:8px 4px;font-size:11px;font-weight:600}.cal-cell{border:1px solid var(--border-light);background:var(--surface);vertical-align:top;min-height:90px;transition:background var(--transition);padding:6px}.cal-cell:hover,.cal-cell-empty{background:#fafbfc}.cal-cell-today{background:#f0eaf3}.cal-cell-today .cal-date-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.cal-date-num{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600}.cal-events{flex-direction:column;gap:2px;display:flex}.cal-event{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:2px 5px;font-size:10px;overflow:hidden}.cal-more{color:var(--text-muted);padding:1px 4px;font-size:10px}.activity-container{padding:16px}.activity-item{gap:14px;display:flex}.activity-icon-col{flex-direction:column;align-items:center;display:flex}.activity-icon{background:var(--bg);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.activity-line{background:var(--border);flex:1;width:1px;min-height:20px;margin:4px 0}.activity-content{flex:1;padding-bottom:20px}.activity-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.activity-title{font-size:13px;font-weight:600}.activity-date{color:var(--text-muted);margin-left:auto;font-size:11px}.activity-desc{color:var(--text-muted);font-size:12px}.activity-status-badge{color:#fff;border-radius:10px;padding:2px 7px;font-size:11px;font-weight:500}.status-done{background:var(--success)}.status-pending{background:var(--warning)}.status-overdue{background:var(--danger)}.status-scheduled{background:var(--info)}.status-active{background:var(--success)}.status-inactive{background:var(--text-muted)}.modal-overlay{z-index:8000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.18s fadeDown;display:flex}.modal-lg{max-width:680px}.modal-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-title{flex:1;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.modal-close-btn{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:2px;display:flex}.modal-close-btn:hover{background:var(--bg);color:var(--text)}.modal-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-group-full{grid-column:1/-1}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.required-star{color:var(--danger)}.form-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:34px;transition:border-color var(--transition);outline:none;padding:0 10px;font-size:13px}.form-control:focus{border-color:var(--primary)}.form-control-error{border-color:var(--danger)}textarea.form-control{resize:vertical;height:auto;padding:8px 10px}.form-error{color:var(--danger);margin-top:2px;font-size:11px}.import-info{border-radius:var(--radius);color:#1a5276;background:#ebf5fb;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.import-file-input{display:none}.import-error{border-radius:var(--radius);color:var(--danger);background:#fdedec;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.import-preview{flex-direction:column;gap:8px;display:flex}.import-preview-title{color:var(--success);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.export-section{flex-direction:column;gap:8px;display:flex}.export-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.export-radio-group{flex-direction:column;gap:6px;display:flex}.export-radio{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.export-cols-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.export-col-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.odoo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.em-placeholder{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:360px;padding:48px 24px;display:flex}.em-placeholder-icon{width:56px;height:56px;color:var(--gold);background:var(--cream-dark);border-radius:14px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.em-placeholder-title{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.12em;color:var(--ink);font-size:22px;font-weight:700}.em-placeholder-copy{color:var(--text-muted);font-size:13px}.em-layout{padding:0 24px 20px}.crm-tabs.em-page-tabs{margin:0}.em-page-tabs .crm-tab{gap:8px;padding:14px 22px;font-size:16px;font-weight:500;text-decoration:none}.em-page-tabs .crm-tab-active{font-weight:700}.em-tab-body{padding-top:8px}.projects-layout{padding:0 24px 20px}.projects-layout .projects-page-tabs{margin:0}.projects-tab-body{padding-top:12px}.em-status-cell{align-items:center;gap:8px;display:inline-flex}.em-status-badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.em-complete-btn{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.em-complete-btn:hover{background:#d1fae5}.em-date-filter{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.em-date-scope{border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;height:32px;color:var(--ink);background:#fff;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.em-date-period{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:8px;height:32px;padding:0 8px;display:inline-flex}.em-date-nav{width:24px;height:24px;color:var(--ink);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.em-date-nav:hover{background:var(--cream-dark)}.em-date-period-label{letter-spacing:.04em;color:var(--ink);white-space:nowrap;font-size:12px;font-weight:700}.em-date-range{border:1px solid var(--border);height:32px;color:var(--text-muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:12px;font-weight:600;display:inline-flex}.em-date-range-field{color:var(--ink);align-items:center;gap:6px;display:inline-flex;position:relative}.em-date-range-field input[type=date]{color:var(--ink);letter-spacing:.02em;background:0 0;border:none;width:118px;min-width:0;padding:0;font-size:12px;font-weight:700}.em-date-range-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.em-date-range-to{color:var(--text-muted);letter-spacing:.06em;font-size:11px;font-weight:700}.em-date-range-clear{width:22px;height:22px;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.em-date-range-clear:hover{background:var(--cream-dark);color:var(--ink)}.em-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:920px;margin:0 auto;display:grid}.em-tile{background:var(--surface);border:1px solid var(--border);min-height:220px;box-shadow:var(--shadow-sm);color:var(--ink);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px 20px;text-decoration:none;display:flex}.em-tile:hover{box-shadow:var(--shadow);border-color:var(--gold);transform:translateY(-3px)}.em-tile-icon{width:72px;height:72px;color:var(--gold);background:var(--cream-dark);border-radius:18px;justify-content:center;align-items:center;display:flex}.em-tile-label{font-family:var(--font-cinzel), "Cinzel", Georgia, serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:16px;font-weight:700}@media (max-width:768px){.em-tiles{grid-template-columns:1fr}}.stat-card{align-items:center;gap:16px;display:flex}.stat-icon{opacity:.85}.stat-value{font-size:26px;font-weight:300;line-height:1.1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:11px}@media (max-width:768px){.navbar-nav,.navbar-brand{display:none}.navbar-logo-cutout{border-radius:16px 16px 0 0;width:140px;height:72px;margin:0 8px -1px}.user-pill-meta,.user-pill-divider{display:none}.user-avatar-btn{padding:4px}.form-grid{grid-template-columns:1fr}.modules-grid{grid-template-columns:repeat(auto-fill,100px)}.page-header{flex-direction:column;align-items:flex-start}.page-header-right{width:100%}}.home-apps-wrap{width:100%;max-width:920px}.modules-grid-home{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));place-content:start center;gap:28px 16px;max-width:920px;margin:0 auto;display:grid}.module-tile-home{border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition), transform var(--transition);flex-direction:column;align-items:center;gap:10px;padding:12px 8px;text-decoration:none;display:flex;position:relative}.module-tile-home:hover{background:#ffffffb3;transform:translateY(-2px)}.module-img{object-fit:contain;width:70px;height:70px;box-shadow:none;transition:transform var(--transition);background:0 0;border-radius:0}.module-tile-home:hover .module-img{box-shadow:none;transform:scale(1.06)}.module-label-home{color:var(--text);text-align:center;letter-spacing:.1px;font-size:13px;font-weight:500;line-height:1.25}.module-tile-soon{opacity:.7;cursor:default}.module-img-soon{filter:grayscale(.15);opacity:.9}.module-soon-badge{text-transform:uppercase;letter-spacing:.04em;color:#985184;background:#fff;border:1px solid #e5d0df;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:8px;right:12px}.masters-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.masters-title{color:var(--primary);align-items:center;gap:8px;margin:0 0 4px;font-size:22px;font-weight:700;display:flex}.masters-subtitle{color:var(--text-muted);margin:0;font-size:13px}.masters-hint{color:#9a3412;border-radius:var(--radius);background:#fff7ed;border:1px solid #fed7aa;align-items:center;gap:8px;max-width:360px;padding:10px 12px;font-size:12px;display:flex}.masters-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.masters-tab{color:var(--text-muted);border-radius:var(--radius);transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;padding:8px 12px;font-size:13px;font-weight:500}.masters-tab:hover{color:var(--text);background:#fff}.masters-tab-active{color:var(--primary);border-color:var(--border);box-shadow:var(--shadow-sm);background:#fff}.masters-icon-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;margin:8px 0 14px;padding-bottom:14px;display:flex}.masters-icon-tab{min-width:84px;color:var(--text-muted);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 10px;display:flex}.masters-icon-tab:hover{color:var(--primary);background:#fff;border-color:#e8dde5}.masters-icon-tab-active{color:var(--primary);background:#fff;border-color:#d7c4d2;box-shadow:0 2px 8px #714b671f}.masters-icon-tab-glyph{color:#714b67;background:linear-gradient(145deg,#f7f1f5 0%,#efe4ec 100%);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.masters-icon-tab-active .masters-icon-tab-glyph{color:#fff;background:linear-gradient(145deg,#714b67 0%,#875a7b 100%)}.masters-icon-tab-label{letter-spacing:.02em;font-size:11px;font-weight:600}.masters-tab-desc{color:var(--text-muted);margin:0 0 14px;font-size:12px}.masters-form-title-row{align-items:center;gap:16px;margin-bottom:8px;display:flex}.masters-form-id{color:#6b7280;white-space:nowrap;font-size:16px;font-weight:700}.masters-form-id-new{color:#985184;background:#f7f1f5;border-radius:999px;padding:4px 10px;font-size:12px}.masters-form-hint{color:var(--text-muted);margin:0 0 18px;font-size:12px}.masters-form-badge{color:#6b7280;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;font-size:12px}.masters-textarea{resize:vertical;min-height:72px;padding-top:8px!important;padding-bottom:8px!important}.masters-field-full{grid-column:1/-1}.masters-audit-box{color:#374151;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:24px;margin-top:24px;padding-top:16px;font-size:13px;display:flex}.enquiry-drawing-box{background:#fbf8fa;border:1px dashed #d7c4d2;border-radius:8px;margin-top:20px;padding:14px 16px}.enquiry-drawing-head{color:#714b67;align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.enquiry-drawing-meta{color:#6b7280;margin-top:8px;font-size:12px}.enquiry-drawing-meta a{color:#714b67;font-weight:600}.enquiry-upload-zone{cursor:pointer;background:linear-gradient(#fbf8fa 0%,#f7f1f5 100%);border:1.5px dashed #d7c4d2;border-radius:10px;align-items:center;gap:14px;margin-top:20px;padding:18px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.enquiry-upload-zone:hover,.enquiry-upload-zone.is-dragover{background:#f3eaf1;border-color:#714b67;box-shadow:0 0 0 3px #714b6714}.enquiry-upload-zone.has-file{border-style:solid;border-color:#c4a7bc}.enquiry-upload-input{display:none}.enquiry-upload-icon{color:#fff;background:#714b67;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.enquiry-upload-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.enquiry-upload-copy strong{color:#374151;font-size:14px}.enquiry-upload-copy span,.enquiry-upload-copy em{color:#6b7280;font-size:12px;font-style:normal}.enquiry-upload-filename,.enquiry-upload-link{align-items:center;gap:5px;margin-top:4px;font-size:12px;font-weight:600;display:inline-flex;color:#714b67!important}.enquiry-upload-btn{color:#714b67;cursor:pointer;background:#fff;border:1px solid #714b67;border-radius:6px;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:700}.enquiry-upload-btn:hover{color:#fff;background:#714b67}.enquiry-checklist{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:14px 16px;font-size:13px}.enquiry-checklist-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.enquiry-checklist-head span{color:#6b7280;font-size:12px;font-weight:600}.enquiry-checklist-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.enquiry-checklist-list li{color:#6b7280;align-items:center;gap:8px;display:flex}.enquiry-checklist-list li.done{color:#047857;font-weight:600}.enquiry-status-legend{color:#6b7280;margin-bottom:10px;font-size:12px;line-height:1.45}.enquiry-status-pills{flex-wrap:wrap;gap:6px;display:flex}.enquiry-status-pill{color:#6b7280;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.enquiry-status-pill.active{color:#fff;background:#714b67;border-color:#714b67}.enquiry-status-pill.is-locked{opacity:.55;cursor:not-allowed}.stage-convert-btn{color:#c2410c;cursor:pointer;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;gap:5px;margin-right:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.stage-convert-btn:hover{background:#ffedd5}.enquiry-row-btn{color:#c2410c;cursor:pointer;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.enquiry-row-btn:hover{background:#ffedd5}.enquiry-row-btn-done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.enquiry-row-btn-done:hover{background:#d1fae5}.ml-auto{margin-left:auto}.nav-link-active{font-weight:600;color:#fff!important;background:#ffffff2e!important}.btn-new{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn-new:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-sm{padding:5px 10px;font-size:12px}.inline-new-row{border-left:3px solid var(--primary);background:#fef9ff}.inline-new-row td{padding:6px 8px!important}.inline-new-cell{min-width:120px}.inline-cell-input{border:1px solid var(--primary);border-radius:var(--radius-sm);background:#fff;outline:none;width:100%;height:30px;padding:0 8px;font-size:13px}.inline-cell-input:focus{box-shadow:0 0 0 2px #714b6733}.inline-cell-static{color:var(--text-muted)}.inline-new-actions{white-space:nowrap;gap:4px;display:flex}.inline-save-btn,.inline-discard-btn{border-radius:var(--radius-sm);cursor:pointer;width:26px;height:26px;transition:background var(--transition);border:none;justify-content:center;align-items:center;display:flex}.inline-save-btn{background:var(--success);color:#fff}.inline-save-btn:hover{background:#219a52}.inline-discard-btn{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.inline-discard-btn:hover{background:var(--border)}.data-row{cursor:pointer}.status-done{color:var(--success);align-items:center;gap:4px;font-weight:500;display:inline-flex}.crm-form-page{min-height:calc(100vh - var(--navbar-h));flex-direction:column;display:flex}.crm-topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;padding:8px 0;display:flex}.crm-topbar-left{flex:1;align-items:center;gap:8px;display:flex}.crm-topbar-right{gap:4px;display:flex}.crm-breadcrumb-link{color:var(--primary);font-size:14px;font-weight:500}.crm-breadcrumb-link:hover{text-decoration:underline}.crm-breadcrumb-sep{color:var(--text-muted)}.crm-breadcrumb-cur{color:var(--text-muted);font-size:14px}.crm-action-btn{background:var(--primary);border-radius:var(--radius-sm);cursor:pointer;color:#fff;width:32px;height:32px;transition:opacity var(--transition);border:none;justify-content:center;align-items:center;display:flex}.crm-action-btn:hover{opacity:.85}.crm-action-btn.crm-action-discard{background:var(--danger)}.crm-action-btn.crm-action-discard:hover{opacity:.85}.crm-quick-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;padding:10px 0;display:flex}.crm-qa-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), box-shadow var(--transition);align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.crm-qa-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-qa-btn:hover{box-shadow:var(--shadow-sm)}.crm-stages{align-items:center;margin-left:auto;display:flex}.crm-stage-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:background var(--transition);border-right:none;align-items:center;gap:4px;padding:6px 14px;font-size:13px;display:flex}.crm-stage-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.crm-stage-btn:last-child{border-right:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.crm-stage-btn:hover{background:var(--bg)}.crm-stage-active{font-weight:600;background:var(--bg)!important;border-top-width:2px!important}.stage-arrow{color:var(--border)}.crm-form-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;gap:0;margin-top:8px;display:flex;overflow:hidden}.crm-form-main{flex:1;padding:24px;overflow-y:auto}.crm-chatter{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:300px;max-height:calc(100vh - 180px);display:flex}.crm-title-input{width:100%;color:var(--text);border:none;border-bottom:2px solid var(--border-light);transition:border-color var(--transition);background:0 0;outline:none;margin-bottom:16px;padding:4px 0;font-size:24px;font-weight:300}.crm-title-input:focus{border-bottom-color:var(--secondary)}.crm-title-input::placeholder{color:var(--text-light)}.crm-revenue-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.crm-revenue-field{flex-direction:column;gap:3px;display:flex}.crm-revenue-sep{color:var(--text-muted);margin-top:16px;font-size:18px}.crm-probability{flex-direction:column;gap:3px;margin-left:auto;display:flex}.crm-prob-row{align-items:center;gap:6px;display:flex}.crm-prob-input{width:60px!important}.crm-fields-grid{grid-template-columns:1fr 1fr;gap:0;margin-bottom:16px;display:grid}.crm-fields-col{flex-direction:column;display:flex}.crm-field-row{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:7px 0;display:flex}.crm-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px;font-size:11px;font-weight:600}.crm-field-label-left{min-width:120px;color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;font-size:12px;display:flex}.crm-field-input{height:34px;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);background:0 0;border:none;border-bottom:3px solid #0000000f;outline:none;flex:1;padding:0 6px;font-size:13px}.crm-field-input:focus{border-bottom-color:var(--secondary);box-shadow:0 2px #7c6bb30f}.crm-field-muted{color:var(--text-muted)}.crm-stars{gap:4px;display:flex}.crm-tabs{border-bottom:2px solid var(--border);gap:0;margin:16px 0 0;display:flex}.crm-tab{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 16px;font-size:13px;display:flex}.crm-tab:hover{color:var(--text)}.crm-tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.crm-tab-content{padding:12px 0}.crm-notes-area{border:1px solid var(--border-light);border-radius:var(--radius);width:100%;color:var(--text-muted);resize:vertical;transition:border-color var(--transition);outline:none;padding:10px;font-family:inherit;font-size:13px}.crm-notes-area:focus{border-color:var(--secondary);color:var(--text)}.crm-extra-fields{flex-direction:column;gap:8px;display:flex}.chatter-actions{border-bottom:1px solid var(--border);gap:4px;padding:12px;display:flex}.chatter-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);transition:background var(--transition);align-items:center;gap:5px;padding:6px 12px;font-size:12px;display:inline-flex}.chatter-btn:hover{background:var(--bg)}.chatter-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.chatter-btn-primary:hover{background:var(--primary-dark)}.chatter-log{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.chatter-date-sep{text-align:center;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.chatter-msg{gap:10px;display:flex}.chatter-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.chatter-msg-body{flex:1}.chatter-msg-meta{align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.chatter-author{font-size:12px;font-weight:600}.chatter-time{color:var(--text-muted);font-size:11px}.chatter-text{color:var(--text-muted);font-size:12px}.chatter-input-row{border-top:1px solid var(--border);gap:6px;padding:10px 12px;display:flex}.chatter-input{border:1px solid var(--border);border-radius:var(--radius-sm);height:32px;transition:border-color var(--transition);outline:none;flex:1;padding:0 10px;font-size:12px}.chatter-input:focus{border-color:var(--primary)}.navbar-restricted{pointer-events:none;filter:blur(1px);opacity:.7}.odoo-table th,table th{background-color:var(--primary)!important;color:#fff!important}.stages-container{background-color:#f9fafb;align-items:stretch;height:calc(100vh - 130px);margin:-16px;display:flex;overflow:hidden}.stages-sidebar{background-color:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:256px;height:100%;display:flex;overflow-y:auto}.stage-card-actions-pill{background-color:#fff;border:1px solid #e5e7eb;border-radius:9999px;align-items:center;gap:8px;margin-left:12px;padding:6px 12px;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stages-sidebar-header{color:#374151;z-index:10;background-color:#fff;border-bottom:1px solid #f3f4f6;padding:16px;font-weight:600;position:sticky;top:0}.stages-sidebar-menu{flex-direction:column;gap:4px;padding:8px;display:flex}.stage-btn{color:#4b5563;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.stage-btn:hover{background-color:#f3f4f6}.stage-btn.active{color:#7e22ce;background-color:#f3e8ff}.stage-btn-completed.active{color:#15803d;background-color:#dcfce7}.stage-badge{color:#6b7280;background-color:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.stage-btn.active .stage-badge{color:#6b21a8;background-color:#e9d5ff}.stage-btn-completed.active .stage-badge{color:#166534;background-color:#bbf7d0}.stages-content{background-color:#f9fafb;flex:1;padding:24px;overflow-y:auto}.stages-content-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.stages-content-title{color:#1f2937;font-size:20px;font-weight:700}.stages-content-count{color:#6b7280;font-size:14px;font-weight:500}.stages-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;height:256px;display:flex}.stages-grid{flex-direction:column;gap:12px;display:flex}.stage-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:12px;transition:box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000d}.stage-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stage-card-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.stage-card-header-left,.stage-card-header-right{align-items:center;gap:12px;display:flex}.stage-card-id-badge{color:#0369a1;background-color:#e0f2fe;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}.stage-card-title{color:#111827;font-size:16px;font-weight:700}.stage-card-type-badge{color:#0369a1;background-color:#e0f2fe;border-radius:12px;padding:2px 8px;font-size:11px}.stage-card-timer{font-size:12px;font-weight:600}.stage-card-timer.delayed{color:#ef4444}.stage-card-actions{gap:6px;display:flex}.stage-action-icon{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:all .2s;display:flex}.stage-action-icon:hover{color:#111827;background:#f3f4f6;border-color:#e5e7eb}.stage-action-icon.danger:hover{color:#ef4444;background:#fef2f2}.stage-action-icon.success:hover{color:#10b981;background:#ecfdf5}.stage-card-data-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.stage-data-item{align-items:flex-start;gap:6px;display:flex}.stage-data-icon{background-color:#f9fafb;border-radius:6px;margin-top:1px;padding:3px}.stage-data-content{flex-direction:column;display:flex}.stage-data-label{text-transform:uppercase;color:#6b7280;letter-spacing:.05em;margin-bottom:2px;font-size:9px;font-weight:700}.stage-data-value{color:#1f2937;font-size:13px;font-weight:500}.crm-stage-arrow{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);cursor:default;justify-content:center;align-items:center;margin-left:-8px;padding:6px 14px 6px 22px;font-size:12px;font-weight:600;display:flex;position:relative}.crm-stage-arrow:first-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:0;padding-left:16px}.crm-stage-arrow:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);border-top-right-radius:4px;border-bottom-right-radius:4px;padding-right:16px}.crm-stage-arrow.completed,.crm-stage-arrow.active{background-color:var(--primary);color:#fff}.crm-stage-arrow.todo{color:#9ca3af;background-color:#f9fafb}.project-lifecycle{flex-direction:column;gap:8px;display:flex}.project-lifecycle-full{margin-bottom:16px}.crm-form-page>.project-lifecycle-full{margin-bottom:12px}.project-lifecycle-compact{margin-top:-4px}.project-lifecycle-pending-label{color:var(--text-muted,#6b7280);margin:0;font-size:11px}.project-lifecycle-pending-label strong{color:#b45309;font-weight:600}.project-lifecycle-track{scrollbar-width:thin;flex-wrap:nowrap;align-items:stretch;padding-bottom:2px;display:flex;overflow-x:auto}.project-lifecycle-link{flex-shrink:0;margin-left:-7px;text-decoration:none;display:flex}.project-lifecycle-link:first-child{margin-left:0}.project-lifecycle-link-static{pointer-events:none}.project-lifecycle-step{white-space:nowrap;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);justify-content:center;align-items:center;padding:6px 12px 6px 18px;font-size:11px;font-weight:600;line-height:1.2;transition:filter .15s;display:flex;position:relative}.project-lifecycle-full .project-lifecycle-step{padding:8px 16px 8px 22px;font-size:12px}.project-lifecycle-link:first-child .project-lifecycle-step{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-top-left-radius:4px;border-bottom-left-radius:4px;padding-left:14px}.project-lifecycle-full .project-lifecycle-link:first-child .project-lifecycle-step{padding-left:18px}.project-lifecycle-link:last-child .project-lifecycle-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,9px 50%);border-top-right-radius:4px;border-bottom-right-radius:4px;padding-right:14px}.project-lifecycle-full .project-lifecycle-link:last-child .project-lifecycle-step{padding-right:18px}.project-lifecycle-step-completed{background:var(--primary,#985184);color:#fff}.project-lifecycle-link:not(.project-lifecycle-link-static):hover .project-lifecycle-step-completed{filter:brightness(1.08)}.project-lifecycle-step-pending{color:#fff;background:#f59e0b;box-shadow:0 0 0 2px #f59e0b59}.project-lifecycle-link:not(.project-lifecycle-link-static):hover .project-lifecycle-step-pending{filter:brightness(1.05)}.project-lifecycle-step-not_started{color:#9ca3af;background:#f3f4f6}.project-lifecycle-step-future{color:#a1a1aa;opacity:.85;background:#e5e7eb}.purchase-pipeline-roadmap{background:linear-gradient(135deg,#faf8fb 0%,#f5f7fa 100%);border:1px solid #e8e4ec;border-radius:10px;margin:16px 0 20px;padding:14px 16px}.purchase-pipeline-roadmap-hint{color:#6b7280;margin:0 0 10px;font-size:12px}.purchase-pipeline-roadmap-hint strong{color:#b45309;font-weight:600}.purchase-pipeline-track{scrollbar-width:thin;flex-wrap:nowrap;align-items:stretch;gap:0;padding-bottom:4px;display:flex;overflow-x:auto}.purchase-pipeline-link{cursor:pointer;font:inherit;background:0 0;border:none;flex-shrink:0;margin-left:-6px;padding:0;display:flex}.purchase-pipeline-link-first{margin-left:0}.purchase-pipeline-step{white-space:nowrap;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%);justify-content:center;align-items:center;min-width:4.5rem;padding:7px 14px 7px 20px;font-size:11px;font-weight:600;line-height:1.15;transition:filter .15s,transform .12s,box-shadow .15s;display:flex;position:relative}.purchase-pipeline-link-first .purchase-pipeline-step{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);border-top-left-radius:5px;border-bottom-left-radius:5px;padding-left:12px}.purchase-pipeline-link-last .purchase-pipeline-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%);border-top-right-radius:5px;border-bottom-right-radius:5px;padding-right:12px}.purchase-pipeline-link:hover .purchase-pipeline-step{filter:brightness(1.06);transform:translateY(-1px)}.purchase-pipeline-step-completed{background:linear-gradient(180deg, #a86b96 0%, var(--primary,#985184) 100%);color:#fff}.purchase-pipeline-step-pending{color:#fff;z-index:1;background:linear-gradient(#fbbf24 0%,#f59e0b 100%);box-shadow:0 0 0 2px #f59e0b66,0 2px 8px #f59e0b59}.purchase-pipeline-step-not_started{color:#9ca3af;background:#eceef2}.purchase-pipeline-step-viewing{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--primary,#985184);z-index:2}.purchase-pipeline-step-pending.purchase-pipeline-step-viewing{box-shadow:0 0 0 2px #fff,0 0 0 4px #f59e0b,0 2px 10px #f59e0b66}.kanban-action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.kanban-action-btn:hover{background-color:#f3f4f6}.costing-start-guide{background:linear-gradient(#fbf8fa 0%,#fff 100%);border:1px solid #e8dce4;border-radius:10px;flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:20px;padding:16px 20px;display:flex}.costing-start-step{flex:1;align-items:flex-start;gap:12px;min-width:180px;display:flex}.costing-start-num{color:#fff;background:#714b67;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.costing-start-step strong{color:#374151;font-size:13px;display:block}.costing-start-step p{color:#6b7280;margin:2px 0 0;font-size:12px}.costing-start-arrow{color:#714b67;align-self:center;font-size:18px;font-weight:700}.costing-action-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.costing-action-start{color:#fff;background:#005e7a;border-color:#005e7a}.costing-action-start:hover{background:#004a60}.costing-action-open{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.costing-action-open:hover{background:#d1fae5}.costing-roadmap{background:#fafafa;border-bottom:1px solid #eee;flex-wrap:wrap;gap:6px;padding:12px 16px;display:flex}.costing-roadmap-step{color:#9ca3af;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.costing-roadmap-step.done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.costing-roadmap-step.active{color:#fff;background:#714b67;border-color:#714b67}.costing-workspace-tabs{background:#fff;border-bottom:1px solid #eee;padding:0 16px}.costing-page-head{flex-direction:column;flex-shrink:0;gap:2px;margin-bottom:6px;display:flex}.costing-module-head-row{border-bottom:2px solid var(--border);align-items:center;gap:12px;min-height:0;padding-bottom:2px;display:flex}.costing-module-head-row .costing-module-tabs{border-bottom:none;flex-shrink:0;margin:0}.costing-module-roadmap{flex:1;min-width:0;margin:0;padding-bottom:0}.project-lifecycle-inline{gap:0;margin:0}.project-lifecycle-inline .project-lifecycle-track{justify-content:flex-end;padding-bottom:0}.project-lifecycle-inline .project-lifecycle-step{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%);padding:8px 14px 8px 22px;font-size:12px;font-weight:600}.project-lifecycle-inline .project-lifecycle-link{margin-left:-9px}.project-lifecycle-inline .project-lifecycle-link:first-child{margin-left:0}.project-lifecycle-inline .project-lifecycle-link:first-child .project-lifecycle-step{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);padding-left:16px}.project-lifecycle-inline .project-lifecycle-link:last-child .project-lifecycle-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,11px 50%);padding-right:16px}.costing-page-head+.crm-form-body{margin-top:4px}.sales-order-module-tabs{border-bottom:none;flex-shrink:0;margin:0}.sales-order-module-head-row .sales-order-module-help{flex-shrink:0;margin-left:auto}.sales-order-workspace-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px}.sales-order-workspace-title{color:var(--text);align-items:center;gap:6px;margin-right:8px;font-size:14px;font-weight:600;display:inline-flex}.quotation-module-tabs{border-bottom:none;flex-shrink:0;margin:0}.quotation-module-head-row .quotation-module-help{flex-shrink:0;margin-left:auto}.quotation-workspace-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px}.quotation-workspace-title{color:var(--text);align-items:center;gap:6px;margin-right:8px;font-size:14px;font-weight:600;display:inline-flex}.product-library-module-tabs{margin:0}.pl-workspace-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.pl-workspace-title .masters-title{margin:0 0 4px}.pl-workspace-title .masters-subtitle{margin:0}.pl-workspace-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pl-workspace-filters .crm-field-input{max-width:280px}.pl-load-error{background:#fdf0ef;border-color:#f5c6c2;margin-bottom:8px}.pl-workspace-body{margin-top:0}.pl-data-row{cursor:pointer}.pl-data-row:hover td{background:#faf8f6}.pl-row-actions{text-align:right;width:44px}.pl-row-actions .costing-icon-btn{opacity:.55}.pl-data-row:hover .pl-row-actions .costing-icon-btn{opacity:1}.costing-workspace-step-tabs{border-bottom:2px solid var(--border);margin:0}.costing-workspace-step-tabs .crm-tab{gap:5px;padding:8px 12px;font-size:13px;font-weight:500}.costing-workspace-step-tabs .crm-tab-active{font-weight:600}.costing-workspace-step-tabs .costing-ws-tab-completed:not(.crm-tab-active){color:var(--primary,#985184)}.costing-workspace-step-tabs .costing-ws-tab-pending:not(.crm-tab-active){color:#b45309;background:#f59e0b1a;border-radius:8px 8px 0 0}.costing-workspace-step-tabs .costing-ws-tab-not_started{color:#9ca3af}.costing-workspace-step-tabs .costing-ws-tab-completed.crm-tab-active{border-bottom-color:var(--primary,#985184)}.costing-workspace-step-tabs .costing-ws-tab-pending.crm-tab-active{color:#b45309;border-bottom-color:#f59e0b}.costing-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.costing-section-head h3{color:#374151;margin:0;font-size:16px}.costing-section-head span{color:#6b7280;font-size:12px}.costing-table-wrap{background:#fff;border:1px solid #eee;border-radius:8px;overflow-x:auto}.costing-table{border-collapse:collapse;width:100%;font-size:13px}.costing-table thead{color:#fff;background:#714b67}.costing-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600}.costing-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 12px}.costing-table-wide .costing-master-cell{min-width:220px}.costing-table-scroll{overflow-x:auto}.costing-table-scroll .costing-table{min-width:960px}.costing-table-wide .costing-master-cell select{width:100%;margin-bottom:4px}.costing-form-box{background:#fbf8fa;border:1px dashed #d7c4d2;border-radius:8px;margin-top:16px;padding:14px 16px}.costing-form-box h4{color:#714b67;margin:0 0 10px;font-size:13px}.costing-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.costing-form-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.costing-chip-list{flex-wrap:wrap;gap:8px;display:flex}.costing-chip{color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.costing-chip button{cursor:pointer;color:#9ca3af;background:0 0;border:none;font-size:16px;line-height:1}.costing-icon-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px}.costing-icon-btn:hover{color:#dc2626;background:#fee2e2}.costing-icon-btn-save:hover{color:#059669;background:#d1fae5}.costing-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.costing-icon-btn-save{color:#059669}.costing-row-editing{background:#f0fdf4}.costing-summary-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.costing-summary-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:14px}.costing-summary-card span{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:11px;display:block}.costing-summary-card strong{color:#374151;margin-top:4px;font-size:18px;display:block}.costing-summary-total{background:#714b67;border-color:#714b67}.costing-summary-total span,.costing-summary-total strong{color:#fff}.costing-timeline-item{border-bottom:1px solid #f3f4f6;padding:10px 0;font-size:13px}.costing-timeline-item strong{color:#374151;display:block}.costing-timeline-item span{color:#9ca3af;font-size:11px}.costing-hero-actions{flex-wrap:wrap;gap:10px}.costing-help-trigger{color:#714b67;cursor:pointer;background:#fff;border:1px solid #714b67;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.costing-help-trigger:hover{color:#fff;background:#714b67}.costing-help-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.costing-help-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.costing-help-modal-head{color:#fff;background:#714b67;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.costing-help-modal-head h2{align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.costing-help-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;padding:6px}.costing-help-body{color:#374151;padding:20px;font-size:13px;line-height:1.55;overflow-y:auto}.costing-help-body section{margin-bottom:24px}.costing-help-body h3{color:#714b67;margin:0 0 10px;font-size:14px}.costing-help-ol{margin:0;padding-left:20px}.costing-help-ol li{margin-bottom:8px}.costing-help-steps{flex-direction:column;gap:8px;display:flex}.costing-help-step{border:1px solid #eee;border-radius:8px;overflow:hidden}.costing-help-step summary{cursor:pointer;background:#fafafa;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.costing-help-step-num{color:#fff;background:#714b67;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:inline-flex}.costing-help-step-body{border-top:1px solid #eee;padding:12px 16px}.costing-help-step-body p{margin:0 0 6px}.costing-help-note{color:#92400e;background:#fffbeb;border-radius:6px;padding:8px;margin-top:8px!important}.costing-help-table{border-collapse:collapse;width:100%;font-size:12px}.costing-help-table th,.costing-help-table td{text-align:left;border:1px solid #eee;padding:8px 10px}.costing-help-table th{background:#f9fafb}.costing-help-table code{background:#f3f4f6;border-radius:4px;padding:2px 5px;font-size:11px}.costing-help-buttons{margin:0;padding-left:18px}.costing-help-buttons li{margin-bottom:8px}.costing-help-dev ul{margin:0;padding-left:18px;font-family:monospace;font-size:12px}.costing-inline-hint{margin-bottom:10px}.costing-inline-hint-toggle{color:#714b67;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.costing-inline-hint-body{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-top:8px;padding:10px 12px;font-size:12px}.costing-inline-hint-body p{margin:0}.costing-enquiry-context{color:#1e40af;background:#eff6ff;border-bottom:1px solid #bfdbfe;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.costing-enquiry-context code{background:#fff9;border-radius:4px;padding:2px 5px}.costing-enquiry-status{margin-left:auto;font-weight:700}.costing-empty-master{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:10px;padding:16px}.costing-empty-master p{color:#92400e;margin:0 0 10px;font-size:13px}.costing-bulk-box{margin-top:16px}.costing-bulk-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.costing-bulk-head h4{margin:0 0 4px}.costing-bulk-sub{color:#6b7280;margin:0;font-size:12px}.costing-bulk-actions{flex-shrink:0;gap:8px;display:flex}.costing-bulk-table td{vertical-align:top}.costing-component-picks{flex-wrap:wrap;gap:6px 10px;max-width:420px;display:flex}.costing-component-pick{color:#374151;cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.costing-component-pick input{accent-color:#714b67;margin:0}.costing-field-label{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.cost-approval-toolbar{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.cost-approval-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.cost-approval-steps{color:#4b5563;margin:0;padding-left:18px;font-size:13px;line-height:1.6}.cost-approval-status-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cost-approval-status-badge{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.cost-approval-status-badge.approved{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.cost-approval-doc-wrap{background:#e5e7eb;border-radius:8px;padding:24px;overflow-x:auto}.cost-approval-doc{color:#111827;background:#fff;width:210mm;max-width:100%;min-height:297mm;margin:0 auto;padding:14mm 16mm;font-family:Georgia,Times New Roman,Times,serif;font-size:11pt;line-height:1.45;box-shadow:0 4px 24px #0000001f}.cost-approval-doc-header{border-bottom:3px solid #1e3a5f;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.cost-approval-doc-brand{align-items:flex-start;gap:12px;display:flex}.cost-approval-doc-logo{color:#fff;background:linear-gradient(135deg,#714b67,#1e3a5f);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;font-family:system-ui,sans-serif;font-size:22px;font-weight:800;display:flex}.cost-approval-doc-company{letter-spacing:.08em;color:#1e3a5f;margin:0;font-size:20pt;font-weight:700}.cost-approval-doc-tagline{color:#6b7280;margin:2px 0 0;font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-meta{text-align:right;font-family:system-ui,sans-serif}.cost-approval-doc-title{color:#1e3a5f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:11pt;font-weight:700}.cost-approval-doc-meta-table{border-collapse:collapse;font-size:9pt}.cost-approval-doc-meta-table td{text-align:right;padding:2px 0 2px 12px}.cost-approval-doc-meta-table td:first-child{color:#6b7280;padding-left:0}.cost-approval-doc-status{border-radius:4px;padding:2px 8px;font-size:8pt;font-weight:600;display:inline-block}.cost-approval-doc-status--draft{color:#92400e;background:#fef3c7}.cost-approval-doc-status--approved{color:#065f46;background:#d1fae5}.cost-approval-doc-section{page-break-inside:avoid;margin-bottom:16px}.cost-approval-doc-section h2{text-transform:uppercase;letter-spacing:.06em;color:#1e3a5f;border-bottom:1px solid #d1d5db;margin:0 0 8px;padding-bottom:4px;font-family:system-ui,sans-serif;font-size:10pt;font-weight:700}.cost-approval-doc-grid-table,.cost-approval-doc-data-table,.cost-approval-doc-summary-table{border-collapse:collapse;width:100%;font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-grid-table td{vertical-align:top;border:1px solid #e5e7eb;padding:6px 8px}.cost-approval-doc-grid-table td:nth-child(odd){color:#6b7280;background:#f9fafb;width:18%;font-weight:600}.cost-approval-doc-data-table th,.cost-approval-doc-data-table td{text-align:left;vertical-align:top;border:1px solid #d1d5db;padding:6px 8px}.cost-approval-doc-data-table thead th{color:#fff;text-transform:uppercase;letter-spacing:.03em;background:#1e3a5f;font-size:8pt;font-weight:600}.cost-approval-doc-data-table tbody tr:nth-child(2n){background:#f9fafb}.cost-approval-doc-empty{text-align:center;color:#9ca3af;font-style:italic}.cost-approval-doc-summary-wrap{justify-content:flex-end;display:flex}.cost-approval-doc-summary-table{width:72%;min-width:260px}.cost-approval-doc-summary-table td{border:1px solid #e5e7eb;padding:6px 10px}.cost-approval-doc-summary-table td:last-child{text-align:right;white-space:nowrap;font-weight:600}.cost-approval-doc-subtotal td{background:#f3f4f6;font-weight:600}.cost-approval-doc-final td{color:#fff;background:#1e3a5f;font-size:11pt;font-weight:700}.cost-approval-doc-notes{white-space:pre-wrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;margin:0;padding:10px 12px;font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-sig-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.cost-approval-doc-sig-box{font-family:system-ui,sans-serif;font-size:9pt}.cost-approval-doc-sig-role{color:#374151;margin:0 0 8px;font-weight:700}.cost-approval-doc-sig-line{border-bottom:1px solid #374151;height:48px;margin-bottom:8px}.cost-approval-doc-sig-box p{margin:4px 0}.cost-approval-doc-footer{color:#9ca3af;text-align:center;border-top:1px solid #d1d5db;margin-top:20px;padding-top:10px;font-family:system-ui,sans-serif;font-size:8pt}.cost-approval-doc-footer p{margin:2px 0}@media print{body.printing-approval *{visibility:hidden!important}body.printing-approval .cost-approval-doc,body.printing-approval .cost-approval-doc *{visibility:visible!important}body.printing-approval .cost-approval-doc{width:100%;box-shadow:none;margin:0;padding:12mm 14mm;position:absolute;top:0;left:0}body.printing-approval .cost-approval-toolbar,body.printing-approval .cost-approval-status-row,body.printing-approval .crm-topbar,body.printing-approval .crm-quick-actions,body.printing-approval .costing-roadmap,body.printing-approval .costing-workspace-tabs,body.printing-approval .costing-workspace-step-tabs,body.printing-approval .costing-module-head-row,body.printing-approval .crm-chatter,body.printing-approval .costing-section-head,body.printing-approval .costing-enquiry-context{display:none!important}body.printing-quotation *{visibility:hidden!important}body.printing-quotation .cost-approval-doc,body.printing-quotation .cost-approval-doc *{visibility:visible!important}body.printing-quotation .cost-approval-doc{width:100%;box-shadow:none;margin:0;padding:12mm 14mm;position:absolute;top:0;left:0}body.printing-quotation .crm-quick-actions,body.printing-quotation .masters-icon-tabs,body.printing-quotation .crm-topbar,body.printing-quotation .crm-quick-actions,body.printing-quotation .crm-breadcrumb-row,body.printing-quotation .crm-form-main>:not(.cost-approval-doc-wrap){display:none!important}body.printing-sales-order *{visibility:hidden!important}body.printing-sales-order .cost-approval-doc,body.printing-sales-order .cost-approval-doc *{visibility:visible!important}body.printing-sales-order .cost-approval-doc{width:100%;box-shadow:none;margin:0;padding:12mm 14mm;position:absolute;top:0;left:0}body.printing-sales-order .crm-quick-actions,body.printing-sales-order .masters-icon-tabs,body.printing-sales-order .crm-topbar,body.printing-sales-order .crm-form-main>:not(.cost-approval-doc-wrap){display:none!important}}.prj-form-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:16px 18px 22px}.prj-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:20px;padding-bottom:4px;display:flex}.prj-tab{color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;display:inline-flex}.prj-tab:hover{color:var(--text);background:#f4f1fb}.prj-tab-active{color:#5b4d9a;background:#ece8f8;font-weight:700}.prj-grid{grid-template-columns:repeat(4,1fr);gap:14px 18px;display:grid}.prj-outline{z-index:1;background:#fff;border:1px solid #cfc9dc;border-radius:8px;align-items:center;min-height:52px;padding:14px 12px 10px;display:flex;position:relative}.prj-outline-wide{grid-column:1/-1}.prj-outline:focus-within{z-index:3;border-color:#7c6bb3;box-shadow:0 0 0 3px #7c6bb31f}.prj-outline-label{color:#7c6bb3;background:#fff;padding:0 6px;font-size:12px;font-weight:500;line-height:1;position:absolute;top:-8px;left:10px}.prj-outline-control{align-items:center;width:100%;min-height:28px;display:flex;position:relative}.prj-outline-control>div{flex:1;min-width:0}.prj-outline-input{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:14px}.prj-outline-input::placeholder{color:#b5a79c}.prj-outline-textarea{resize:vertical;align-self:stretch;min-height:72px;line-height:1.45}.prj-outline:has(.prj-outline-textarea){align-items:flex-start}.prj-outline-select{appearance:none;cursor:pointer;padding-right:22px}.prj-outline-icon{color:#7c6bb3;pointer-events:none;flex-shrink:0;position:absolute;right:0}.prj-outline-icon-left{color:#7c6bb3;flex-shrink:0;margin-right:8px}.prj-outline-input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:relative}.prj-outline-input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.prj-switch{cursor:pointer;align-items:center;gap:10px;display:flex}.prj-switch-track{width:44px;height:24px;transition:background var(--transition);background:#e5e7eb;border:none;border-radius:999px;padding:0;position:relative}.prj-switch-track.on{background:#7c6bb3}.prj-switch-knob{width:18px;height:18px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.prj-switch-track.on .prj-switch-knob{transform:translate(20px)}.prj-switch-text{color:var(--text-muted);font-size:13px}.prj-toggle{cursor:pointer;background:#eef2ff;border:1px solid #e6e6ff;border-radius:999px;align-items:center;gap:8px;width:72px;height:34px;padding:4px;transition:background .18s,border-color .18s;display:inline-flex;position:relative}.prj-toggle.on{color:#fff;background:linear-gradient(90deg,#7c6bb3 0%,#5b4d9a 100%);border-color:#6b5aa8}.prj-toggle-knob{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .18s;transform:translate(0);box-shadow:0 2px 6px #0000001f}.prj-toggle.on .prj-toggle-knob{transform:translate(36px)}.prj-toggle-label{color:inherit;margin-left:6px;font-size:13px}.prj-select{position:relative}.prj-select .prj-select-icon{pointer-events:none;color:#7c6bb3;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.prj-repeat-list{flex-direction:column;gap:14px;display:flex}.prj-repeat-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:16px}.prj-repeat-head{color:#4f6bed;text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px;font-weight:700;display:flex}.prj-remove-btn{color:var(--danger);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.prj-remove-btn:hover{background:#fef2f2}.prj-add-btn{color:#4f6bed;background:0 0;border:1.5px dashed #c5bdd8;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:14px;font-weight:600;display:flex}.prj-add-btn:hover{background:#f6f4fc;border-color:#7c6bb3}.prj-delete-btn{color:var(--danger);border-color:#f5c6c2}@media (max-width:760px){.prj-grid{grid-template-columns:1fr}}.prj-board-bar{align-items:center;gap:12px;margin:4px 0 18px;display:flex}.prj-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.prj-card{border:1px solid var(--border);transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 8px 24px #4b3d390f}.prj-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #4b3d391a}.prj-card-top{align-items:flex-start;gap:12px;display:flex}.prj-card-avatar{color:#fff;background:linear-gradient(145deg,#714b67 0%,#875a7b 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex}.prj-card-head{flex:1;min-width:0}.prj-card-head h3{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:700;overflow:hidden}.prj-card-head code{color:var(--text-muted);font-size:11px}.prj-status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.prj-card-meta{color:var(--text-muted);grid-template-columns:1fr 1fr;gap:8px 12px;font-size:12px;display:grid}.prj-card-meta span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.prj-card-stats{background:var(--cream);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.prj-card-stats div{text-align:center}.prj-card-stats strong{color:var(--ink);font-size:16px;display:block}.prj-card-stats em{color:var(--text-muted);font-size:11px;font-style:normal}.prj-card-btn{width:100%}.prj-empty{border:1px dashed var(--border);text-align:center;color:var(--text-muted);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.prj-empty h3{color:var(--ink);margin:4px 0 0}.prj-details-hero{border:1px solid var(--border);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:18px 20px;display:flex}.prj-details-hero-copy{flex:1;min-width:180px}.prj-details-hero-copy h1{margin:0;font-size:22px}.prj-details-hero-copy p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.prj-details-actions{gap:8px;margin-left:auto;display:flex}.prj-details-section{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:14px;padding:18px 20px}.prj-details-section h2{color:var(--ink);align-items:center;gap:8px;margin:0 0 14px;font-size:15px;display:flex}.prj-details-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 16px;display:grid}.prj-detail-item{flex-direction:column;gap:4px;display:flex}.prj-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.prj-detail-value{color:var(--ink);font-size:14px}.prj-details-notes{gap:10px;margin-top:14px;display:grid}.prj-details-notes p{background:var(--cream);border-radius:10px;margin:0;padding:12px;font-size:13px;line-height:1.5}.prj-details-notes strong{text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px;display:block}.prj-details-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.prj-mini-card{border:1px solid var(--border);background:var(--cream);border-radius:12px;padding:14px}.prj-mini-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.prj-mini-card p{color:var(--text);margin:0 0 4px;font-size:13px}.prj-mini-line{align-items:center;gap:6px;display:flex;color:var(--text-muted)!important}.home-dashboard{padding:24px 28px 40px}.home-dashboard-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.home-dashboard-head h1{margin:0;font-size:24px}.home-dashboard-head p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.home-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.home-kpi-card{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.home-kpi-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.home-kpi-card strong{font-size:22px;display:block}.home-kpi-card span{color:var(--text-muted);font-size:12px}.home-dash-split{grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px;display:grid}.home-dash-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:18px}.home-dash-card h2{align-items:center;gap:8px;margin:0 0 14px;font-size:15px;display:flex}.home-pipeline{align-items:flex-end;gap:18px;height:140px;display:flex}.home-pipeline-col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.home-pipeline-bar{border-radius:8px 8px 4px 4px;width:36px}.home-pipeline-col span,.home-week-list{color:var(--text-muted);font-size:12px}.home-week-list{gap:10px;list-style:none;display:grid}.home-week-list li{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.home-activity{gap:8px;display:grid}.home-activity-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.home-activity-row strong{font-size:13px;display:block}.home-activity-row span,.home-activity-row em{color:var(--text-muted);font-size:12px;font-style:normal}.prj-workspace-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px 8px;display:grid}@media (max-width:900px){.home-dash-split{grid-template-columns:1fr}.app-sidebar{width:84px}}
