.install-app-button { color:#bce9d6; border-color:#3c6758; background:#1b3730; }
.install-app-button:hover { background:#294d40; }
.phone-app-installed .install-app-button { display:none; }
.main { min-height:100dvh; }
.phone-app-card { display:flex; align-items:center; gap:17px; padding:17px; background:#101c26; border:1px solid var(--border); border-radius:10px; }
.phone-app-card img { border-radius:15px; flex-shrink:0; }
.phone-app-card h3 { font-size:19px; margin-bottom:3px; }
.phone-app-card p { color:var(--muted); font-size:12px; }
.phone-app-tag { display:inline-block; font-size:9px; margin-top:7px; color:#ade0c2; background:#223e30; padding:4px 7px; border-radius:4px; }
.phone-platforms { display:flex; gap:5px; padding:5px; border:1px solid var(--border); border-radius:8px; background:#101922; margin:21px 0; }
.phone-platforms button { flex:1; padding:11px 12px; color:#a1b2c1; border-radius:5px; font-size:12px; }
.phone-platforms button[aria-pressed="true"] { color:#c6eedb; background:#25443d; font-weight:600; }
.phone-install-steps { list-style:none; margin:0; padding:0; display:grid; gap:22px; }
.phone-install-steps li { display:flex; align-items:flex-start; gap:13px; }
.phone-step-number { display:grid; place-items:center; flex-shrink:0; width:27px; height:27px; background:#243b35; border:1px solid #3b5d4b; border-radius:50%; font-size:11px; font-weight:600; color:#b5ddbf; }
.phone-install-steps strong { font-size:13px; color:#dfedf3; display:block; margin-top:2px; }
.phone-install-steps p { color:#a1b2bf; font-size:11px; margin-top:5px; line-height:1.8; }
.phone-native-install { padding:15px; border:1px solid #456b56; background:#1c3429; border-radius:8px; margin-bottom:20px; }
.phone-native-install p { color:#c0dec6; font-size:11px; margin-bottom:10px; }
.phone-data-note { display:flex; gap:9px; margin-top:24px; font-size:11px; }
.phone-data-note .icon { flex-shrink:0; margin-top:3px; width:15px; height:15px; }
.phone-install-footnote { color:var(--subtle); font-size:10px; line-height:1.8; margin-top:13px; }
.phone-copy-link { display:grid; gap:8px; margin-top:18px; }
.phone-copy-link label { color:var(--muted); font-size:11px; }
.phone-copy-link input { width:100%; background:#101923; border:1px solid var(--border); color:var(--text); border-radius:6px; padding:12px; font-size:12px; }
@media(display-mode:standalone) {
  .install-app-button { display:none; }
  .main { padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
  .sidebar { padding-top:calc(32px + env(safe-area-inset-top)); padding-bottom:calc(22px + env(safe-area-inset-bottom)); }
  .toast { bottom:calc(25px + env(safe-area-inset-bottom)); }
}
@media(max-width:750px) {
  .top-right>span.small { display:none; }
  .main-grid>div, .main-grid>.aside { min-width:0; }
  .panel { min-width:0; max-width:100%; }
  .table-wrap { max-width:100%; }
  .breadcrumb>span, .breadcrumb>.icon { display:none; }
  .install-app-button { font-size:11px; min-height:36px; padding:8px 10px; }
  .install-app-button .icon { width:15px; height:15px; }
  .field input, .field select, .filterbar input, .filterbar select,
  .rule-edit-row input, .year-select select, .calendar-jump select,
  .phone-copy-link input { font-size:16px; }
  .date-range input { font-size:14px; width:128px; }
  .calendar-jump .tiny { display:none; }
  .calendar-jump select { max-width:210px; }
  .phone-app-card { padding:13px; }
  .phone-install-steps { gap:20px; }
  .phone-install-steps p { font-size:12px; }
  .phone-platforms button { min-height:42px; }
  .modal-foot .btn { min-height:42px; }
  dialog { max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .modal-body { max-height:calc(100dvh - 200px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
}
@media(max-width:500px) {
  .employee-filters { display:grid; grid-template-columns:1fr; }
  .employee-filters>.field:last-child { min-width:0; }
  .month-picker input { min-width:0; flex:1; }
  .period-actions { justify-content:flex-start; width:100%; }
  .date-range { max-width:100%; }
  .calendar-jump select { max-width:190px; }
}
@media(pointer:coarse) {
  .btn { min-height:44px; }
  .icon-btn { min-width:36px; min-height:36px; }
  .calendar-tools .icon-btn { min-width:30px; min-height:30px; }
  .month-assignment { min-height:34px; }
}
.native-phone-app .install-app-button { display:none; }
@media print { .install-app-button { display:none; } }
