*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:Arial,Segoe UI,Roboto,sans-serif;background:#f8f9fa;-webkit-text-size-adjust:100%;overscroll-behavior:none}.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.topbar{gap:10px;padding:7px 12px;background:#fff;border-bottom:1px solid #dadce0}.topbar,.topbar .logo{display:flex;align-items:center}.topbar h1{font-size:17px;font-weight:500;color:#1f1f1f;white-space:nowrap}.topbar .spacer{flex:1 1}.btn{font-size:13px;padding:7px 14px;border:1px solid #dadce0;border-radius:18px;background:#fff;color:#202124;cursor:pointer;white-space:nowrap}.btn:hover{background:#f1f3f4}.btn.primary{background:#1a73e8;border-color:#1a73e8;color:#fff;font-weight:500}.btn.primary:hover{background:#1765cc}.btn.danger{color:#d93025}.btn.danger:hover{background:#fce8e6}.btn:disabled{opacity:.55;cursor:default}.snackbar{position:fixed;left:16px;bottom:52px;z-index:50;max-width:min(560px,calc(100vw - 32px));background:#202124;color:#e8eaed;font-size:13px;line-height:1.4;padding:12px 16px;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.3)}.formulabar{display:flex;align-items:center;height:30px;background:#fff;border-bottom:1px solid #dadce0;padding:0 8px 0 0}.formulabar .cellref{width:70px;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#444746;border-right:1px solid #e0e0e0}.formulabar .fx{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:13px;color:#5f6368;padding:0 12px}.formulabar input{flex:1 1;height:100%;border:none;outline:none;background:transparent;font-size:12px;font-family:Arial,sans-serif;color:#202124}.grid-wrap{flex:1 1;min-height:0}.ag-header-group-cell{font-size:10px;font-weight:500;color:#5f6368}.ag-header-group-cell .ag-header-cell-comp-wrapper{flex:1 1 auto;justify-content:center!important}.ag-header-cell{background:#dfe1e5}.ag-header-cell.rownum-header{background:#f8f9fa}.ag-header-cell-label{justify-content:center}.ag-header-cell-text{font-size:11px;font-weight:700;color:#202124;text-transform:uppercase}.ag-cell{display:flex;align-items:center;justify-content:center}.ag-cell,.ag-cell-value{text-align:center;overflow:hidden}.ag-cell-value{flex:1 1 auto;min-width:0;max-height:100%;white-space:normal;word-break:break-word;line-height:1.2}.ag-cell-wrapper{flex:1 1;justify-content:center}.ag-cell-focus:not(.ag-cell-inline-editing){border:2px solid #0b57d0!important;box-shadow:none!important;outline:none}.dd-cell:after{content:"▾";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:9px;color:#5f6368;pointer-events:none}.dd-cell.ag-cell-inline-editing:after{display:none}.rownum-cell{background:#f8f9fa;color:#575b5f;font-size:11px;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid #c0c3c6!important}.rownum-cell .ag-cell-value{flex:0 0 auto}.ag-row-selected .rownum-cell{background:#c9ddfb;color:#0b57d0;font-weight:700}.ag-row.day-0{background-color:#E3F2FD}.ag-row.day-1{background-color:#F3E5F5}.ag-row.day-2{background-color:#E8F5E9}.ag-row.day-3{background-color:#FFF3E0}.ag-row.day-4{background-color:#FCE4EC}.ag-row.day-5{background-color:#F1F8E9}.ag-row.day-6{background-color:#E0F2F1}.ag-row.day-7{background-color:#FFF9C4}.ag-row-selected{background-color:#cfe0fb!important}.sheetbar{display:flex;align-items:stretch;height:36px;background:#f8f9fa;border-top:1px solid #dadce0}.sheetbar .tabs{display:flex;flex:1 1;overflow-x:auto;scrollbar-width:thin}.sheetbar .tab{flex:0 0 auto;border:none;border-right:1px solid #e0e0e0;background:transparent;padding:0 16px;font-size:13px;color:#444746;white-space:nowrap;cursor:pointer}.sheetbar .tab:hover{background:#eceff1}.sheetbar .tab.active{background:#fff;color:#0b57d0;font-weight:700;box-shadow:inset 0 -3px 0 #0b57d0}.sheetbar .count{display:flex;align-items:center;padding:0 12px;font-size:12px;color:#5f6368;white-space:nowrap;border-left:1px solid #e0e0e0}.hide-sm{display:inline}.show-sm{display:none}@media (max-width:768px){.hide-sm{display:none}.show-sm{display:inline}.topbar{gap:6px;padding:6px 8px}.topbar h1{font-size:15px}.btn{padding:7px 10px;font-size:13px}.formulabar{display:none}.grid-wrap .ag-root-wrapper{--ag-font-size:13px}.ag-header-cell-text{font-size:10px}.ag-cell-inline-editing input,.ag-cell-inline-editing select,.ag-picker-field-display,.ag-text-field-input{font-size:16px!important}.sheetbar{height:38px}.sheetbar .tab{padding:0 12px}}