:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
.task-info{min-width:0}
.task-actions{flex-shrink:0}
.task-actions .decrease{background:#f6f7f2;color:#8a927e;border-color:#e3e7db}
@media(max-width:760px){.task-actions{gap:5px}.task-actions button{width:29px;height:31px}.task-row{gap:10px}}
.resource-actions{display:flex;flex-direction:column;align-items:center;gap:1px}
.resource-actions .mini-action{white-space:nowrap}
.resource-actions .text-button{font-size:10px;padding:2px 4px}
.setting-info{flex:1;min-width:0;overflow-wrap:anywhere}
.setting-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.move-button{height:29px;width:27px;padding:0;border:1px solid #e2e8da;border-radius:5px;background:#f7faf3;color:#7d926b;font-size:14px}
.balance-previous{font-size:12px;color:#899680;margin-bottom:18px}
body{min-height:100dvh;-webkit-text-size-adjust:100%}
.login-screen{min-height:100dvh}
.pwa-install-button{position:fixed;right:25px;bottom:18px;z-index:6;border:1px solid #dce4d2;border-radius:20px;padding:9px 14px;background:#f8faf3;color:#6e835d;font-size:11px;box-shadow:0 3px 12px #263b3208}
.connection-banner,.update-banner{position:fixed;top:calc(10px + var(--safe-top));left:50%;transform:translateX(-50%);z-index:30;max-width:calc(100% - 28px);padding:10px 16px;border-radius:8px;background:#fff0dc;color:#8a653c;box-shadow:0 4px 20px #263b3220;font-size:12px}
.update-banner{top:auto;bottom:calc(24px + var(--safe-bottom));background:#31513e;color:white;display:flex;gap:14px;align-items:center}
.update-banner button{border:1px solid #a8be99;background:none;color:white;border-radius:5px;white-space:nowrap;padding:5px 11px}
#install-help{padding:26px;max-height:calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom));overflow-y:auto}
.install-icon{border-radius:15px;margin-bottom:10px}
.install-steps{padding-left:22px;color:#738268;font-size:13px;line-height:2}
.install-steps li{margin:12px 0;padding-left:3px}
#install-help .primary{margin-top:22px;width:100%}
#install-help .field-hint{line-height:1.9;margin-top:12px}
.offline-screen{display:grid;place-items:center;padding:calc(30px + var(--safe-top)) 25px calc(30px + var(--safe-bottom));min-height:100dvh}
.offline-card{margin:0;min-height:0;max-width:460px;text-align:center;padding:35px 0}
.offline-card img{border-radius:18px;margin-bottom:23px}
.offline-card h1{font-size:27px;margin:12px 0 22px}
.offline-card .muted{font-size:13px;line-height:2}
.offline-card .primary{margin-top:28px}
.offline-card small{display:block;color:#9ca394;font-size:10px;margin-top:25px}
dialog{max-height:calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom));overflow:auto;overscroll-behavior:contain}
@media(max-width:760px){
  .sidebar{height:calc(67px + var(--safe-bottom));padding-bottom:var(--safe-bottom);padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}
  main{padding-bottom:calc(67px + var(--safe-bottom))}
  .topbar{height:calc(55px + var(--safe-top));padding-top:var(--safe-top)}
  .page{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
  .login-form{padding-top:calc(15svh + var(--safe-top));padding-bottom:calc(90px + var(--safe-bottom))}
  input:not([type=checkbox]),select{font-size:16px}
  .date-control input{font-size:13px}
  .pwa-install-button{bottom:calc(76px + var(--safe-bottom));right:16px;font-size:10px;padding:8px 11px}
  body:has(#app[hidden]) .pwa-install-button{bottom:calc(22px + var(--safe-bottom));left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}
  .update-banner{bottom:calc(120px + var(--safe-bottom));font-size:11px;width:calc(100% - 32px)}
  .offline-card{padding-bottom:0}
}
@media(display-mode:standalone){.pwa-install-button{display:none}.sidebar{-webkit-user-select:none;user-select:none}body{overscroll-behavior-y:none}#toast{bottom:calc(85px + var(--safe-bottom))}}
