*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--powder-blue: #89CFF0;--dark-navy: #1F3864;--navy-mid: #2d4f8e;--navy-light: #3a6abf;--blue-pale: #d4ecfa;--blue-soft: #b8dcf5;--white: #ffffff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--red-500: #ef4444;--green-600: #16a34a;--font: "Segoe UI", system-ui, -apple-system, sans-serif}body{font-family:var(--font);background:var(--gray-100);color:var(--gray-800);min-height:100vh;font-size:13px;touch-action:manipulation}#root{min-height:100vh;display:flex;flex-direction:column}button,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(137,207,240,.2)}button:active{opacity:.82}input,select,textarea{touch-action:manipulation;font-size:16px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 8px 8px}.table-scroll table{min-width:100%}.table-scroll table th:first-child,.table-scroll table td:first-child{position:sticky;left:0;z-index:2;background:var(--white)}.table-scroll table thead th:first-child{background:var(--dark-navy);z-index:3}.table-scroll table tr:nth-child(2n) td:first-child{background:var(--gray-50)}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.header-topbar{background:linear-gradient(135deg,#1a3060,#243e85 60%,#1f3864);padding:10px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(137,207,240,.15);gap:12px}.header-projectbar{background:#172a55;padding:7px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;border-bottom:1px solid rgba(137,207,240,.1)}.header-nav{background:#1a3060;display:flex;align-items:stretch;border-bottom:2px solid rgba(137,207,240,.1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.header-nav::-webkit-scrollbar{display:none}.tabs-list{display:flex;align-items:stretch;gap:4px;padding:0 24px;flex:1}.action-btns{display:flex;align-items:center;gap:8px;padding:6px 24px 6px 0;flex-shrink:0}.tab-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:13px;font-weight:500;color:#89cff099;letter-spacing:.01em;transition:color .15s,background .15s;border-radius:4px 4px 0 0;margin-bottom:-2px;white-space:nowrap;min-height:44px;font-family:var(--font)}.tab-btn.active{background:#89cff01f;border-bottom-color:var(--powder-blue);font-weight:700;color:var(--white)}.tab-btn:not(.active):hover{color:#89cff0e6;background:#89cff00f}.tab-btn:active{opacity:1}.action-btn{display:flex;align-items:center;gap:7px;padding:7px 16px;border:none;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;min-height:44px;transition:all .15s;font-family:var(--font)}.action-btn:active{opacity:.85}.spinner-overlay{display:flex;align-items:center;justify-content:center;padding:60px 20px;flex-direction:column;gap:16px}.spinner{width:38px;height:38px;border:4px solid var(--gray-200);border-top-color:var(--dark-navy);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1023px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.header-topbar{padding:8px 16px}.header-projectbar{padding:6px 16px}.tabs-list{padding:0 16px}.action-btns{padding:6px 16px 6px 0}.tab-btn{padding:10px 14px;font-size:12px}}@media(max-width:639px){body{font-size:12px}.grid-2col,.grid-3col{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.header-topbar{padding:8px 12px}.header-status{display:none}.header-projectbar{padding:6px 12px;row-gap:2px}.project-sep{display:none}.project-field-wrap{display:flex;align-items:center;gap:6px;width:100%}.header-nav{border-bottom-width:1px}.tabs-list{padding:4px 8px;gap:3px}.action-btns{padding:4px 8px;gap:5px}.tab-btn{padding:9px 10px;font-size:11px;border-radius:6px;border-bottom:none;border:2px solid transparent;margin-bottom:0;flex-shrink:0;min-height:40px}.tab-btn.active{border-color:var(--powder-blue);background:#89cff026}.tab-btn .tab-label,.action-btn .btn-label{display:none}.action-btn{padding:10px;gap:0;min-width:44px;justify-content:center}.main-content{padding:10px!important}.col-hide-mobile{display:none}input[type=number]{min-height:44px}}
