:root{--blue:#17324d;--blue2:#1f5f8b;--gold:#c9a34a;--bg:#f4f7fb;--card:#fff;--text:#1f2937;--muted:#667085;--line:#dbe3ee;--shadow:0 8px 24px rgba(22,38,60,.10)}*{box-sizing:border-box}body{font-family:Segoe UI,Arial,Helvetica,sans-serif;background:var(--bg);margin:0;color:var(--text)}.topbar{background:linear-gradient(90deg,var(--blue),#234c73);color:white;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px rgba(0,0,0,.18);position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none}.brand small{display:block;color:#d7e4f0;font-size:12px;margin-top:2px}.brand-mark{background:var(--gold);color:#13283e;border-radius:10px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.brand-mark.big{width:56px;height:56px;font-size:20px;margin:auto}.nav{display:flex;gap:8px;align-items:center}.nav a{color:white;text-decoration:none;padding:8px 12px;border-radius:8px}.nav a:hover{background:rgba(255,255,255,.13)}.page{padding:28px;max-width:1280px;margin:0 auto}.footer{text-align:center;color:var(--muted);padding:22px}.page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.page-header h1{margin:2px 0 6px;font-size:34px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--blue2);font-weight:700;margin:0 0 4px}.muted{color:var(--muted);margin-top:4px}.card,.tile{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.login{max-width:440px;margin:55px auto}.login-brand{text-align:center;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.tile{text-decoration:none;color:var(--text);display:block;transition:.16s}.tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,38,60,.16)}.app-tile{display:flex;gap:16px;align-items:flex-start}.app-tile h2,.tile h2{margin:0 0 6px}.app-icon{font-size:28px;background:#edf4fb;color:var(--blue2);border-radius:14px;min-width:52px;height:52px;display:flex;align-items:center;justify-content:center}.admin-grid .tile{min-height:132px}label{display:block;margin-top:14px;margin-bottom:5px;font-weight:700}input,select{width:100%;padding:11px;border:1px solid #c8d3e1;border-radius:10px;background:#fff;font-size:15px}button,.button{background:var(--blue2);color:white;border:0;border-radius:10px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:700}.button.secondary,button.secondary-btn,.secondary{background:#e8eef5;color:#17324d}.small{padding:7px 10px;font-size:13px}.full{width:100%;margin-top:18px}.actions,.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.form-actions{margin-top:18px}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;background:white}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:middle}th{background:#eef3f8;color:#24364a;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.matrix th,.matrix td{text-align:center;white-space:nowrap}.matrix .employee-col{text-align:left;position:sticky;left:0;background:white;z-index:1;min-width:240px}.matrix thead .employee-col{background:#eef3f8;z-index:2}.check{width:20px;height:20px;accent-color:var(--blue2)}.toolbar-form{display:flex;align-items:end;gap:14px}.toolbar-form label{margin:0;min-width:160px}.toolbar-form select{max-width:420px}.alert{background:#fee2e2;color:#991b1b;padding:12px;border-radius:10px;margin:12px 0}.badge{border-radius:999px;padding:5px 9px;font-weight:700;font-size:12px}.badge.ok{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.badge.warn{background:#fef3c7;color:#92400e}.action-cell form{display:inline}.empty-state{text-align:center;grid-column:1/-1}.form-card{max-width:720px}.success-card{max-width:620px;margin:35px auto}@media(max-width:760px){.topbar,.page-header{flex-direction:column;align-items:stretch}.nav{flex-wrap:wrap}.page{padding:18px}.toolbar-form{display:block}.page-header h1{font-size:28px}}
.access-picker{display:grid;grid-template-columns:1fr 1fr;gap:18px}.permission-editor{max-width:900px}.editor-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.notice{background:#eef6ff;border:1px solid #bdd7f0;border-radius:12px;padding:12px;margin:12px 0;color:#17324d}.permission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:18px 0}.permission-row{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;gap:12px;align-items:flex-start;background:white;margin:0}.permission-row input{width:auto;margin-top:3px}.permission-row small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.admin-permission{border-color:#c9a34a;background:#fffaf0}@media(max-width:760px){.access-picker{grid-template-columns:1fr}}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.checkbox-row{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.page-actions{display:flex;gap:10px;align-items:center}.action-cell{display:flex;gap:6px;flex-wrap:wrap}.action-cell form{display:inline}.button.small,button.small{padding:6px 10px;font-size:.85rem}.danger-zone{margin-top:20px}.notice.error{border-left:4px solid #b91c1c;background:#fee2e2;color:#7f1d1d;padding:12px;margin:14px 0}

/* v1.4 System Access UI cleanup */
.system-access-card { margin-top: 1.25rem; }
.system-access-card h2 { margin-bottom: .35rem; }
.permission-section { border-top: 1px solid #e3e8ef; padding-top: 1rem; margin-top: 1rem; }
.permission-section h3 { margin: 0 0 .25rem 0; font-size: 1rem; color: #163b59; }
.muted { color: #64748b; }
.radio-stack { display: grid; gap: .65rem; margin-top: .75rem; }
.radio-row, .check-row { display: flex; align-items: flex-start; gap: .7rem; padding: .8rem; border: 1px solid #dbe4ee; border-radius: 12px; background: #fff; }
.radio-row input, .check-row input { margin-top: .25rem; }
.radio-row strong, .check-row strong { display: block; color: #10283d; }
.radio-row small, .check-row small { display: block; color: #64748b; margin-top: .15rem; line-height: 1.35; }
.checkbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .65rem; margin-top: .8rem; }
.checkbox-grid label { display: flex; align-items: center; gap: .5rem; padding: .65rem .75rem; border: 1px solid #dbe4ee; border-radius: 10px; background: #fff; font-weight: 600; color: #10283d; }
.danger-zone { border-top-color: #f1c7c7; }
.check-row.danger { border-color: #efb8b8; background: #fff7f7; }

/* v1.5 modular admin refinements */
.form-section { margin-bottom: 1.75rem; }
.form-section h2 { margin: 0 0 .35rem; }
.access-layout { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin-top: 1rem; }
.access-box { border: 1px solid #d9e2ef; border-radius: 14px; padding: 1rem; background: #f8fafc; }
.access-box h3 { margin: 0 0 .25rem; color: #17345c; }
.radio-card { display: flex; gap: .7rem; align-items: flex-start; border: 1px solid #d9e2ef; background: white; padding: .75rem; border-radius: 12px; margin: .55rem 0; cursor: pointer; }
.radio-card:hover, .check-card:hover { border-color: #8fb2df; box-shadow: 0 2px 8px rgba(23,52,92,.08); }
.radio-card input { margin-top: .25rem; }
.radio-card span { display: grid; gap: .15rem; }
.radio-card small, .check-card span { color: #64748b; font-size: .9rem; }
.check-card.compact { margin: .55rem 0; }
.platform-admin-box { margin-top: 1rem; }
.danger-card { border-color: #f2b8b5; background: #fff8f7; margin-top: 1rem; }
.alert { border-radius: 12px; padding: .8rem 1rem; margin-bottom: 1rem; }
.alert.success { background: #ecfdf3; border: 1px solid #abefc6; color: #05603a; }
.alert.error { background: #fff1f3; border: 1px solid #fecdd6; color: #9f1239; }
.table-wrap { overflow-x: auto; }
.button.small { padding: .35rem .6rem; font-size: .9rem; }

/* v1.6 User edit / System Access cleanup */
.user-profile-form.form-card,
.form-card.card {
  max-width: 1080px;
}
.system-access-panel {
  border-top: 1px solid var(--line);
  padding-top: 1.25rem;
}
.platform-admin-callout {
  margin: 1rem 0 1.25rem;
}
.platform-admin-toggle {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: .85rem;
  align-items: start;
  border: 1px solid #f0c779;
  background: #fff9eb;
  border-radius: 14px;
  padding: 1rem;
  margin: 0;
}
.platform-admin-toggle input {
  width: auto;
  margin-top: .25rem;
}
.platform-admin-toggle strong,
.clean-row strong {
  display: block;
  color: #10283d;
}
.platform-admin-toggle small,
.clean-row small {
  display: block;
  color: #64748b;
  font-weight: 400;
  margin-top: .2rem;
  line-height: 1.35;
}
.employee-management-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
  transition: opacity .15s ease;
}
.employee-management-section.is-disabled-by-platform-admin {
  opacity: .45;
}
.clean-row.radio-card,
.clean-row.check-card {
  display: grid !important;
  grid-template-columns: 28px 1fr;
  gap: .7rem;
  align-items: start;
  margin: .7rem 0;
}
.clean-row input {
  width: auto;
  margin-top: .25rem;
}
.check-card.clean-row.compact {
  padding: .8rem;
}
.employee-actions-box .check-card,
.employee-scope-box .radio-card {
  background: white;
}

/* Application-specific permission groups */
.permission-section { margin-top: 1.5rem; }
.permission-section > h3 { margin: 0 0 .75rem; }
.permission-section + .permission-section { border-top: 1px solid var(--border, #d9dee7); padding-top: 1.25rem; }

.quick-punch-card{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:6px solid var(--blue2)}.quick-punch-card[hidden]{display:none}.quick-punch-card h2{margin:2px 0 5px}.quick-punch-copy{min-width:0}.quick-punch-button{min-width:210px;min-height:74px;font-size:24px;border-radius:14px;box-shadow:0 6px 16px rgba(22,38,60,.16)}.quick-punch-button.clock-in{background:#198754}.quick-punch-button.clock-out{background:#b42318}.quick-punch-button:disabled{opacity:.65;cursor:wait}.quick-punch-message{font-weight:700;margin:8px 0 0;color:#166534}.quick-punch-message.error{color:#991b1b}@media(max-width:760px){.quick-punch-card{flex-direction:column;align-items:stretch}.quick-punch-button{width:100%;min-width:0}}
