:root{
  --bg:#f5f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;
  --primary:#111827;--soft:#f3f4f6;--ok:#0f766e;--warn:#b45309;--danger:#b91c1c;
  --radius:20px;--shadow:0 10px 30px rgba(17,24,39,.08)
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
body{min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
.shell{max-width:820px;margin:0 auto;min-height:100vh;padding-bottom:96px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(245,247,251,.94);backdrop-filter:blur(14px);padding:16px;border-bottom:1px solid rgba(229,231,235,.8)}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:44px;height:44px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900;font-size:19px;box-shadow:var(--shadow)}
.brand h1{margin:0;font-size:20px}
.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}
.content{padding:14px 16px 32px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:14px}
.card h2,.card h3{margin:0 0 14px}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.muted{color:var(--muted)} .small{font-size:12px}
.center{text-align:center}
.setup-wrap,.login-wrap{max-width:520px;margin:0 auto;padding:38px 16px}
.hero{text-align:center;margin-bottom:22px}
.hero .logo{width:74px;height:74px;border-radius:24px;margin:0 auto 14px;font-size:31px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}
.field input,.field select,.text-input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;outline:none}
.field input:focus,.field select:focus,.text-input:focus{border-color:#9ca3af;box-shadow:0 0 0 3px rgba(156,163,175,.15)}
.btn{width:100%;border:0;border-radius:14px;padding:14px 16px;font-weight:900}
.btn.primary{background:var(--primary);color:white}
.btn.secondary{background:#eef0f3;color:var(--text)}
.btn.ok{background:#ecfdf5;color:var(--ok)}
.btn.warn{background:#fff7ed;color:var(--warn)}
.btn.danger{background:#fef2f2;color:var(--danger)}
.btn.ghost{background:transparent;border:1px solid var(--line)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.status-box{border-radius:18px;padding:16px;background:#f9fafb;border:1px solid var(--line);margin-bottom:14px}
.status-main{font-size:28px;font-weight:900;letter-spacing:-.02em}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.metric{background:#f9fafb;border:1px solid var(--line);border-radius:16px;padding:14px}
.metric .value{font-size:24px;font-weight:900;margin-top:4px}
.metric .label{color:var(--muted);font-size:12px}
.project-card{border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:10px}
.project-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.project-name{font-weight:900}
.inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.inline-field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.inline-field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px}
.timeline{display:grid;gap:8px}
.timeline-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#f9fafb;border:1px solid var(--line);font-size:13px}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(820px,100%);display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:30}
.nav-btn{border:0;background:transparent;border-radius:12px;padding:10px 6px;color:var(--muted);font-size:12px;font-weight:900}
.nav-btn.active{background:var(--soft);color:var(--text)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
th{color:var(--muted);font-weight:900}
.row{display:flex;gap:10px;align-items:center}
.row>*{flex:1}
.pill{display:inline-block;padding:6px 9px;border-radius:999px;background:var(--soft);font-size:11px;font-weight:900}
.pill.ok{background:#ecfdf5;color:var(--ok)}
.pill.warn{background:#fff7ed;color:var(--warn)}
.pill.danger{background:#fef2f2;color:var(--danger)}
.empty{text-align:center;padding:28px 12px;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:94px;transform:translateX(-50%);background:#111827;color:white;padding:11px 14px;border-radius:12px;font-size:13px;z-index:100;box-shadow:var(--shadow);max-width:90%}
.link-btn{border:0;background:transparent;color:var(--muted);font-weight:800;padding:0}
.notice{padding:14px;border:1px solid #fde68a;background:#fffbeb;border-radius:14px;color:#92400e;font-size:13px;line-height:1.7}
.success{padding:14px;border:1px solid #a7f3d0;background:#ecfdf5;border-radius:14px;color:#065f46;font-size:13px;line-height:1.7}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.tab{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-weight:900}
.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.staff-actions{display:flex;gap:8px;align-items:center}
.staff-actions select{border:1px solid var(--line);border-radius:10px;padding:8px}
.toggle{display:flex;align-items:center;gap:6px;font-size:12px}
code.inline{background:#f3f4f6;border-radius:7px;padding:2px 6px}
@media(min-width:680px){.content{padding-left:24px;padding-right:24px}.metric-grid{grid-template-columns:repeat(4,1fr)}}


/* v0.4: supplied Ayumi Connect logo + smartphone refinements */
body {
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}
.brand-logo {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  flex: 0 0 auto;
}
.hero-logo {
  display: block;
  width: 176px;
  height: 176px;
  object-fit: contain;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #fff;
}
.topbar {
  padding-top: calc(14px + env(safe-area-inset-top));
}
.bottom-nav {
  min-height: 70px;
}
.nav-btn {
  min-height: 48px;
  font-size: 13px;
}
.btn {
  min-height: 52px;
  touch-action: manipulation;
}
input, select {
  min-height: 48px;
}
.install-note {
  padding: 13px 14px;
  border-radius: 14px;
  background: #f9fafb;
  border: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}
.mobile-only { display: none; }

@media (max-width: 520px) {
  .shell { width: 100%; }
  .topbar { padding-left: 14px; padding-right: 14px; }
  .brand h1 { font-size: 18px; }
  .brand p { max-width: 250px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .content { padding: 12px 12px 26px; }
  .card { border-radius: 17px; padding: 15px; margin-bottom: 11px; }
  .card h2 { font-size: 21px; }
  .card h3 { font-size: 18px; }
  .status-main { font-size: 26px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric { padding: 12px; min-width: 0; }
  .metric .value { font-size: 22px; overflow-wrap: anywhere; }
  .inputs { grid-template-columns: 1fr 1fr; }
  .project-card { padding: 13px; }
  .section-title { align-items: flex-start; }
  .setup-wrap, .login-wrap { padding: 22px 12px calc(24px + env(safe-area-inset-bottom)); }
  .hero-logo { width: 148px; height: 148px; }
  .table-wrap { margin: 0 -3px; }
  th, td { padding: 10px 7px; }
  .timeline-item { align-items: flex-start; }
  .staff-actions { flex-direction: column; align-items: flex-end; }
  .row { align-items: stretch; }
  .bottom-nav { padding-left: 7px; padding-right: 7px; }
  .mobile-only { display: block; }
}

@media (max-width: 370px) {
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 7px; }
  .metric .value { font-size: 20px; }
  .inputs { gap: 7px; }
}


/* ===== v0.5 社内運用機能 ===== */
.bottom-nav {
  grid-template-columns: repeat(var(--nav-count, 4), minmax(0, 1fr));
}
.nav-btn {
  min-width: 0;
  padding-left: 3px;
  padding-right: 3px;
}
.admin-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 14px;
}
.admin-tab {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  padding: 10px 5px;
  font-size: 12px;
  font-weight: 900;
  color: var(--muted);
}
.admin-tab.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.actions-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.request-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 10px;
  background: #fff;
}
.request-head {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
}
.request-meta {
  font-size: 12px;
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.6;
}
.request-note {
  margin-top: 10px;
  background: #f9fafb;
  border-radius: 11px;
  padding: 10px;
  font-size: 13px;
  white-space: pre-wrap;
}
.pill.pending { background: #fff7ed; color: #b45309; }
.pill.approved { background: #ecfdf5; color: #0f766e; }
.pill.rejected { background: #fef2f2; color: #b91c1c; }
.pill.incomplete { background: #fef2f2; color: #b91c1c; }
.month-picker-row {
  display: flex;
  gap: 8px;
  align-items: end;
}
.month-picker-row .field { flex: 1; margin-bottom: 0; }
.csv-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}
.subtle {
  background: #f9fafb;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
}
.stack { display: grid; gap: 10px; }
.table-note {
  margin-top: 8px;
  font-size: 11px;
  color: var(--muted);
  line-height: 1.6;
}
.danger-text { color: var(--danger); }
.approval-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}
.approval-actions .btn { min-height: 42px; padding: 10px; }
.compact-field { margin-bottom: 10px; }
.compact-field label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 5px;
}
.compact-field input,
.compact-field select,
.compact-field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px;
  background: #fff;
  font: inherit;
}
.compact-field textarea {
  min-height: 86px;
  resize: vertical;
}
.history-day-status {
  display: inline-flex;
  margin-left: 5px;
  vertical-align: middle;
}

@media (max-width: 520px) {
  .admin-tabs { grid-template-columns: repeat(2, 1fr); }
  .actions-grid, .csv-buttons { grid-template-columns: 1fr; }
  .nav-btn { font-size: 11px; }
  .request-head { flex-direction: column; }
  .month-picker-row { align-items: stretch; flex-direction: column; }
}


/* ===== v0.6 勤怠・給与・シフト強化 ===== */
.admin-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.v06-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.v06-summary .metric { min-width:0; }
.v06-kpi {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.v06-kpi > div {
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  font-size:12px;
}
.v06-kpi strong {
  display:block;
  margin-top:3px;
  font-size:17px;
}
.v06-shift-card {
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  margin-bottom:9px;
  background:#fff;
}
.v06-shift-date {
  font-weight:900;
  font-size:14px;
}
.v06-shift-detail {
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.v06-grid-3 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.v06-grid-4 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.v06-form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.v06-announcement {
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  margin-bottom:10px;
  background:#fff;
}
.v06-announcement.important {
  border-color:#f59e0b;
  background:#fffbeb;
}
.v06-announcement-title {
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:900;
}
.v06-announcement-body {
  white-space:pre-wrap;
  margin-top:8px;
  font-size:13px;
  line-height:1.7;
}
.v06-payroll-note {
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:13px;
  padding:12px;
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
}
.v06-rule {
  border-left:4px solid #111827;
  padding:8px 12px;
  background:#f9fafb;
  border-radius:0 12px 12px 0;
  font-size:12px;
  line-height:1.7;
}
.v06-badge {
  display:inline-block;
  border-radius:999px;
  padding:4px 7px;
  font-size:10px;
  font-weight:900;
  background:#f3f4f6;
}
.v06-badge.warn {background:#fff7ed;color:#b45309}
.v06-badge.ok {background:#ecfdf5;color:#0f766e}
.v06-badge.danger {background:#fef2f2;color:#b91c1c}
.v06-tabs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-bottom:14px;
}
.v06-tab {
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:#fff;
  font-weight:900;
}
.v06-tab.active {background:#111827;color:#fff}
.v06-money {
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.v06-scroll-x {overflow-x:auto}
.v06-inline-actions {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.v06-inline-actions .btn {
  width:auto;
  min-height:38px;
  padding:8px 11px;
  font-size:12px;
}
.v06-compact {
  font-size:12px;
  color:var(--muted);
  line-height:1.6;
}
.v06-list {
  display:grid;
  gap:8px;
}
.v06-list-item {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  padding:9px 0;
}
.v06-list-item:last-child {border-bottom:0}
@media (max-width: 620px) {
  .admin-tabs {grid-template-columns:repeat(2,1fr)}
  .v06-grid-3,.v06-grid-4 {grid-template-columns:repeat(2,1fr)}
  .v06-form-row {grid-template-columns:1fr}
  .v06-kpi {grid-template-columns:1fr}
}


/* ===== v0.6.1 月間シフト一括入力 ===== */
.v061-bulk-tools {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}
.v061-shift-head,
.v061-shift-row {
  display:grid;
  grid-template-columns:72px 70px 105px 105px 130px minmax(220px,1fr);
  gap:8px;
  align-items:center;
}
.v061-shift-head {
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  padding:0 8px 7px;
}
.v061-shift-list {
  display:grid;
  gap:6px;
}
.v061-shift-row {
  border:1px solid var(--line);
  border-radius:13px;
  padding:8px;
  background:#fff;
}
.v061-shift-row input[type="time"],
.v061-shift-row select {
  width:100%;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:9px;
  padding:7px;
  background:#fff;
}
.v061-date-cell {
  display:flex;
  gap:5px;
  align-items:center;
}
.v061-weekday {
  color:var(--muted);
  font-size:11px;
}
.v061-off-label {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  white-space:nowrap;
}
.v061-custom-break {
  display:flex;
  align-items:center;
  gap:5px;
}
.v061-custom-break input { min-width:88px; }

@media(max-width:760px){
  .v061-shift-head { display:none; }
  .v061-shift-row {
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .v061-date-cell {
    grid-column:1 / -1;
    font-size:15px;
  }
  .v061-custom-break {
    grid-column:1 / -1;
  }
  .v061-bulk-tools {
    grid-template-columns:1fr;
  }
}


/* ===== v0.6.2 スタッフ月間シフト提出 ===== */
.v062-request-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-bottom:14px;
}
.v062-month-head,
.v062-submit-row {
  display:grid;
  grid-template-columns:155px 70px 120px 120px 150px minmax(220px,1fr);
  gap:8px;
  align-items:center;
}
.v062-month-head {
  padding:0 8px 7px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
}
.v062-month-list {
  display:grid;
  gap:6px;
}
.v062-submit-row {
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  padding:8px;
}
.v062-submit-row select {
  width:100%;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  padding:7px;
}
.v062-date { font-size:13px; }
.v062-off {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  white-space:nowrap;
}
.v062-custom {
  display:flex;
  align-items:center;
  gap:5px;
}
.v062-custom select { min-width:90px; }

.v062-admin-month-preview {
  display:grid;
  gap:4px;
  margin-top:9px;
  max-height:300px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px;
  background:#f9fafb;
}
.v062-admin-month-preview > div {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  border-bottom:1px solid var(--line);
  padding:6px 0;
}
.v062-admin-month-preview > div:last-child {border-bottom:0}

@media(max-width:760px){
  .v062-request-tabs { grid-template-columns:1fr; }
  .v062-month-head { display:none; }
  .v062-submit-row { grid-template-columns:1fr 1fr; }
  .v062-date {
    grid-column:1 / -1;
    font-size:15px;
    padding-bottom:2px;
  }
  .v062-custom { grid-column:1 / -1; }
}


/* ===== v0.6.3 平日一括反映 ===== */
.v063-bulk-box {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border:1px solid var(--line);
  background:#f9fafb;
  border-radius:14px;
  padding:12px;
  margin-bottom:12px;
}
.v063-bulk-box .btn {
  width:auto;
  min-width:230px;
}
@media(max-width:760px){
  .v063-bulk-box {
    flex-direction:column;
    align-items:stretch;
  }
  .v063-bulk-box .btn {
    width:100%;
    min-width:0;
  }
}


/* ===== v0.6.4 管理者 月間シフト一覧 ===== */
.v064-legend {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:10px;
  font-size:12px;
  color:var(--muted);
}
.v064-legend span {
  display:flex;
  align-items:center;
  gap:5px;
}
.v064-legend i {
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}
.v064-legend i.pending { background:#f59e0b; }
.v064-legend i.approved { background:#10b981; }
.v064-legend i.official { background:#6b7280; }

.v064-matrix-wrap {
  overflow:auto;
  max-height:68vh;
  border:1px solid var(--line);
  border-radius:14px;
}
.v064-matrix {
  border-collapse:separate;
  border-spacing:0;
  min-width:max-content;
  width:100%;
  font-size:12px;
}
.v064-matrix th,
.v064-matrix td {
  min-width:145px;
  padding:9px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  text-align:center;
  vertical-align:middle;
}
.v064-matrix thead th {
  position:sticky;
  top:0;
  z-index:4;
  background:#f9fafb;
  font-weight:900;
}
.v064-matrix .v064-date-col {
  position:sticky;
  left:0;
  z-index:3;
  min-width:130px;
  background:#f9fafb;
  text-align:left;
  font-weight:900;
}
.v064-matrix thead .v064-date-col {
  z-index:5;
}
.v064-weekday {
  color:var(--muted);
  font-size:11px;
  margin-left:3px;
}
.v064-cell-content {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.v064-status {
  display:inline-block;
  padding:3px 6px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
}
.v064-status.pending {
  background:#fff7ed;
  color:#b45309;
}
.v064-status.approved {
  background:#ecfdf5;
  color:#0f766e;
}
.v064-status.official {
  background:#f3f4f6;
  color:#4b5563;
}
.v064-empty {
  color:#9ca3af;
  font-size:11px;
}
@media(max-width:760px){
  .v064-matrix th,
  .v064-matrix td {
    min-width:125px;
    padding:8px;
  }
  .v064-matrix .v064-date-col {
    min-width:112px;
  }
}


/* ===== v0.6.6 Googleシート連携 ===== */
.v066-google-box {
  border:1px solid var(--line);
  background:#f9fafb;
  border-radius:14px;
  padding:12px;
  margin-bottom:12px;
}
.v066-google-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.v066-google-actions .btn {
  width:auto;
}
@media(max-width:760px){
  .v066-google-actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .v066-google-actions .btn {
    width:100%;
  }
}


/* ===== v0.6.7 スタッフ並び順 ===== */
.v067-order-note {
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  margin-bottom:10px;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}
.v067-order-number {
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f3f4f6;
  font-size:11px;
  font-weight:900;
}
.v067-order-actions {
  display:flex;
  gap:5px;
}
.v067-arrow {
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:760px){
  .v067-order-actions {
    flex-direction:column;
  }
  .v067-arrow {
    width:38px;
    height:30px;
  }
}


/* ===== v0.7.3 シフトUI / 分割勤務 / 曜日色 ===== */
.v073-month-list,
.v073-admin-shift-list {
  display:grid;
  gap:10px;
}

.v073-submit-card,
.v073-admin-shift-card {
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px;
  min-width:0;
  overflow:hidden;
}

.v073-submit-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.v073-date {
  font-size:14px;
  font-weight:900;
}

.v073-off {
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-size:12px;
  font-weight:800;
}

.v073-field-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  min-width:0;
}

.v073-field {
  display:grid;
  gap:5px;
  min-width:0;
}

.v073-field > span {
  font-size:11px;
  font-weight:800;
  color:var(--muted);
}

.v073-field select,
.v073-field input[type="time"] {
  width:100%;
  min-width:0;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  padding:7px;
  box-sizing:border-box;
}

.v073-range {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:5px;
  min-width:0;
}

.v073-range b {
  color:var(--muted);
  font-size:11px;
}

.v073-saturday .v073-date strong,
.v073-date-sat,
.v073-date-sat .v064-weekday {
  color:#2563eb !important;
}

.v073-sunday .v073-date strong,
.v073-date-sun,
.v073-date-sun .v064-weekday {
  color:#dc2626 !important;
}

.v073-saturday {
  border-left:4px solid #93c5fd;
}

.v073-sunday {
  border-left:4px solid #fca5a5;
}

/* 管理一覧の日付背景はそのまま、文字だけ曜日色 */
.v064-matrix .v073-date-sat,
.v064-matrix .v073-date-sun {
  background:#f9fafb;
}

/* 旧横長ヘッダーを使わない */
.v062-month-head,
.v061-shift-head {
  display:none !important;
}

@media(max-width:760px){
  .v073-field-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:500px){
  .v073-field-grid {
    grid-template-columns:1fr;
  }

  .v073-submit-card,
  .v073-admin-shift-card {
    padding:10px;
  }
}


/* ===== v0.7.5 お知らせ未読バッジ ===== */
.nav-btn {
  position:relative;
}

.v075-nav-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  margin-left:5px;
  vertical-align:middle;
  box-shadow:0 0 0 2px #fff;
}

.bottom-nav .v075-nav-badge {
  position:absolute;
  top:5px;
  right:calc(50% - 34px);
  margin:0;
}

.v075-ann-head-actions {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.v075-admin-note {
  border:1px solid var(--line);
  background:#f9fafb;
  border-radius:12px;
  padding:10px;
  margin-bottom:12px;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}


/* ===== v0.7.6 案件実績カード ===== */
.v076-result-note {
  border:1px solid var(--line);
  background:#f9fafb;
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:14px;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}

.v076-project-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.v076-project-card {
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:#fff;
  min-width:0;
}

.v076-project-card.inactive {
  background:#f9fafb;
  opacity:.72;
}

.v076-project-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:13px;
}

.v076-project-title-wrap {
  min-width:0;
}

.v076-project-name {
  font-size:16px;
  font-weight:900;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.v076-project-kana {
  margin-top:3px;
  font-size:10px;
  color:var(--muted);
}

.v076-status {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.v076-status.active {
  background:#ecfdf5;
  color:#047857;
}

.v076-status.inactive {
  background:#f3f4f6;
  color:#6b7280;
}

.v076-field {
  display:grid;
  gap:5px;
  min-width:0;
}

.v076-field > span,
.v076-mini-field > span {
  font-size:11px;
  font-weight:800;
  color:var(--muted);
}

.v076-field input,
.v076-field select,
.v076-mini-field input {
  width:100%;
  min-width:0;
  min-height:42px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:8px 10px;
  font-size:14px;
}

.v076-number-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:9px;
}

.v076-metrics {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.v076-metrics > div {
  border:1px solid var(--line);
  border-radius:11px;
  background:#f9fafb;
  padding:9px;
  min-width:0;
}

.v076-metrics span {
  display:block;
  font-size:10px;
  color:var(--muted);
  line-height:1.3;
}

.v076-metrics strong {
  display:block;
  margin-top:4px;
  font-size:17px;
}

/* 管理者 案件登録 */
.v076-admin-project-create {
  display:grid;
  grid-template-columns:1.2fr 1.2fr .8fr auto;
  gap:9px;
  align-items:end;
  padding:12px;
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:14px;
  margin-bottom:13px;
}

.v076-admin-project-create select {
  width:100%;
  min-height:42px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:8px;
}

.v076-admin-project-create .btn {
  min-height:42px;
  width:auto;
}

.v076-admin-project-list {
  display:grid;
  gap:8px;
}

.v076-admin-project-row {
  display:grid;
  grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) 110px auto;
  gap:9px;
  align-items:end;
  border:1px solid var(--line);
  border-radius:13px;
  padding:11px;
  background:#fff;
}

.v076-admin-project-main {
  align-self:center;
  min-width:0;
}

.v076-admin-project-main strong {
  margin-right:6px;
}

.v076-mini-field {
  display:grid;
  gap:4px;
  min-width:0;
}

.v076-project-actions {
  display:flex;
  gap:6px;
  align-items:center;
}

.v076-project-actions .btn {
  width:auto;
  min-height:40px;
  padding:7px 10px;
  font-size:11px;
}

@media(max-width:900px){
  .v076-project-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v076-admin-project-create {
    grid-template-columns:1fr 1fr;
  }

  .v076-admin-project-row {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .v076-project-grid {
    grid-template-columns:1fr;
  }

  .v076-admin-project-create,
  .v076-admin-project-row {
    grid-template-columns:1fr;
  }

  .v076-project-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .v076-project-actions .btn {
    width:100%;
  }
}


/* ===== v0.7.8 実績 日次・月次アコーディオン ===== */
.v078-filter-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v078-accordion {
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  margin-bottom:10px;
  overflow:hidden;
}

.v078-accordion summary {
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  user-select:none;
  position:relative;
}

.v078-accordion summary::-webkit-details-marker {
  display:none;
}

.v078-accordion summary::after {
  content:"＋";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
  font-weight:800;
  color:var(--muted);
}

.v078-accordion[open] summary::after {
  content:"−";
}

.v078-accordion summary > div {
  display:grid;
  gap:3px;
  padding-right:34px;
}

.v078-accordion summary strong {
  font-size:15px;
}

.v078-accordion summary span {
  font-size:11px;
  color:var(--muted);
}

.v078-accordion-body {
  border-top:1px solid var(--line);
  padding:14px;
}

.v078-secondary summary {
  background:#fafafa;
}

.v078-total-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.v078-total-metric {
  border:1px solid var(--line);
  border-radius:12px;
  background:#f9fafb;
  padding:11px;
  min-width:0;
}

.v078-total-metric span {
  display:block;
  font-size:10px;
  color:var(--muted);
  line-height:1.35;
}

.v078-total-metric strong {
  display:block;
  margin-top:5px;
  font-size:18px;
}

.v078-results-table th,
.v078-results-table td {
  white-space:nowrap;
}

.v078-project-cell {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:170px;
}

.v078-inactive-row {
  background:#fafafa;
  color:#6b7280;
}

@media(max-width:760px){
  .v078-filter-grid {
    grid-template-columns:1fr;
  }

  .v078-total-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:460px){
  .v078-total-grid {
    grid-template-columns:1fr;
  }
}


/* ===== v0.7.9 管理者シフト 月切替・開閉 ===== */
.v079-month-controls {
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto;
  gap:10px;
  align-items:end;
  margin-bottom:8px;
}

.v079-month-buttons {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.v079-month-buttons .btn {
  width:auto;
  min-width:72px;
}

.v079-admin-shift-accordion {
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  margin-bottom:14px;
}

.v079-admin-shift-accordion summary {
  list-style:none;
  cursor:pointer;
  padding:15px 16px;
  position:relative;
  user-select:none;
}

.v079-admin-shift-accordion summary::-webkit-details-marker {
  display:none;
}

.v079-admin-shift-accordion summary::after {
  content:"＋";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
  font-weight:900;
  color:var(--muted);
}

.v079-admin-shift-accordion[open] summary::after {
  content:"−";
}

.v079-admin-shift-accordion summary > div {
  display:grid;
  gap:3px;
  padding-right:34px;
}

.v079-admin-shift-accordion summary strong {
  font-size:16px;
}

.v079-admin-shift-accordion summary span {
  font-size:11px;
  color:var(--muted);
}

.v079-admin-shift-body {
  border-top:1px solid var(--line);
  padding:14px;
}

@media(max-width:700px){
  .v079-month-controls {
    grid-template-columns:1fr;
  }

  .v079-month-buttons {
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }

  .v079-month-buttons .btn {
    width:100%;
    min-width:0;
  }
}


/* ===== v0.8.0 歩みコネクト ブランドテーマ ===== */
:root{
  --bg:#f4f8f2;
  --card:#ffffff;
  --text:#17301a;
  --muted:#68766a;
  --line:#dce8d9;
  --primary:#1f5424;
  --soft:#eaf3e8;
  --ok:#2d7a38;
  --warn:#b7791f;
  --danger:#a52a2a;
  --brand-green:#1f5424;
  --brand-green-dark:#143d18;
  --brand-green-soft:#edf6eb;
  --brand-red:#7b1618;
  --brand-red-soft:#fbefef;
  --shadow:0 10px 30px rgba(31,84,36,.08);
}

html,body{
  background:
    radial-gradient(circle at 8% 0%, rgba(31,84,36,.09), transparent 30%),
    radial-gradient(circle at 94% 7%, rgba(123,22,24,.045), transparent 25%),
    linear-gradient(180deg,#f8fbf7 0%,#f3f7f1 100%);
}

.topbar{
  background:rgba(248,251,247,.95);
  border-bottom:1px solid rgba(31,84,36,.13);
}

.brand h1{
  color:var(--brand-green-dark);
  letter-spacing:.01em;
}

.brand-logo{
  border:1px solid rgba(123,22,24,.16);
  box-shadow:0 4px 14px rgba(31,84,36,.10);
}

.card,
.v078-accordion,
.v079-admin-shift-accordion{
  border-color:var(--line);
  box-shadow:var(--shadow);
}

.card h2,
.card h3,
.v078-accordion summary strong,
.v079-admin-shift-accordion summary strong{
  color:var(--brand-green-dark);
}

.btn.primary{
  background:linear-gradient(180deg,#2b6a31 0%,#1f5424 100%);
  color:#fff;
  box-shadow:0 7px 18px rgba(31,84,36,.16);
}

.btn.primary:hover{
  filter:brightness(.98);
}

.attendance-start{
  background:linear-gradient(180deg,#43a653 0%,#2f833b 100%) !important;
  color:#fff !important;
  border:1px solid rgba(21,91,34,.28) !important;
  box-shadow:0 8px 20px rgba(47,131,59,.24) !important;
  font-size:16px;
  letter-spacing:.03em;
}

.status-box{
  background:linear-gradient(180deg,#f7fbf5 0%,#eef6ec 100%);
  border-color:#d5e7d1;
}

.metric,
.v078-total-metric{
  background:#f8fbf7;
  border-color:#dce8d9;
}

.field input:focus,
.field select:focus,
.text-input:focus,
.compact-field input:focus,
.compact-field select:focus{
  border-color:#6ba972 !important;
  box-shadow:0 0 0 3px rgba(71,132,78,.13) !important;
  outline:none;
}

.nav-btn.active{
  background:#e5f1e3 !important;
  color:var(--brand-green-dark) !important;
}

.tab.active,
.admin-tab.active,
.v06-tab.active{
  background:var(--brand-green) !important;
  border-color:var(--brand-green) !important;
  color:#fff !important;
}

.bottom-nav{
  background:rgba(255,255,255,.96);
  border-top:1px solid #dbe7d8;
  box-shadow:0 -8px 24px rgba(31,84,36,.05);
}

.pill.ok,
.v076-status.active{
  background:#e7f5e7 !important;
  color:#267233 !important;
}

.v06-rule{
  border-left-color:var(--brand-green) !important;
  background:#f5faf3 !important;
}

.v078-accordion summary,
.v079-admin-shift-accordion summary{
  background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%);
}

.v080-filter-help{
  margin-top:5px;
  font-size:10px;
  line-height:1.45;
  color:var(--muted);
}

.v080-summary-label{
  margin-top:13px;
  font-size:11px;
  font-weight:900;
  color:var(--brand-green);
  letter-spacing:.02em;
}

/* ロゴの赤を細いアクセントとして使用 */
.topbar::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,var(--brand-green),rgba(31,84,36,.08) 68%,rgba(123,22,24,.38));
  pointer-events:none;
}


/* ===== v0.8.1 月次サマリー拡張 ===== */
.v081-summary-grid .metric{
  min-height: 86px;
}
.v081-summary-grid .metric .value{
  line-height: 1.1;
}
@media(min-width: 680px){
  .v081-summary-grid{
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}
@media(min-width: 980px){
  .v081-summary-grid{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}


/* ===== v0.8.2 シフト開始前の早打刻除外 ===== */
.v082-note{
  margin-left:5px;
  font-size:9px;
  color:var(--muted);
  font-weight:600;
}


/* ===== v0.8.3 アカウント設定 ===== */
.v083-current-account{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}

.v083-current-account > div{
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:12px;
  padding:11px;
  min-width:0;
}

.v083-current-account span{
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:4px;
}

.v083-current-account strong{
  display:block;
  font-size:13px;
  overflow-wrap:anywhere;
}

.v083-setting-accordion{
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  margin-bottom:10px;
  box-shadow:var(--shadow);
}

.v083-setting-accordion summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  position:relative;
  user-select:none;
}

.v083-setting-accordion summary::-webkit-details-marker{
  display:none;
}

.v083-setting-accordion summary::after{
  content:"＋";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
  color:var(--muted);
  font-weight:900;
}

.v083-setting-accordion[open] summary::after{
  content:"−";
}

.v083-setting-accordion summary > div{
  display:grid;
  gap:3px;
  padding-right:34px;
}

.v083-setting-accordion summary strong{
  color:var(--brand-green-dark);
  font-size:15px;
}

.v083-setting-accordion summary span{
  color:var(--muted);
  font-size:11px;
}

.v083-setting-body{
  border-top:1px solid var(--line);
  padding:14px;
}

.v083-setting-body .btn{
  margin-top:10px;
}

.v083-password-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v083-security-note{
  border:1px solid #d7e6d3;
  background:#f4faf2;
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
  margin-bottom:12px;
}

.v083-account-table th,
.v083-account-table td{
  white-space:nowrap;
}

.v083-password-admin{
  display:flex;
  align-items:center;
  gap:10px;
}

.v083-password-admin > span{
  color:var(--muted);
  font-size:11px;
}

.v083-password-admin .link-btn{
  color:var(--brand-green);
  cursor:pointer;
}

.v083-logout{
  border-color:#d8b7b8 !important;
  color:#8e1f21 !important;
  background:#fff7f7 !important;
}

@media(max-width:700px){
  .v083-current-account{
    grid-template-columns:1fr;
  }

  .v083-password-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v0.8.4 設定画面 ホーム追加案内 ===== */
.v084-install-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:12px;
  border:1px solid #d7e6d3;
  background:linear-gradient(180deg,#f6fbf4 0%,#edf6eb 100%);
  border-radius:13px;
  padding:11px 12px;
}

.v084-install-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#fff;
  border:1px solid #d5e7d1;
  color:var(--brand-green);
  font-size:18px;
  font-weight:900;
}

.v084-install-note strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:13px;
  line-height:1.4;
}

.v084-install-note p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.6;
}


/* ===== v0.8.5 案件修正・安全削除・月別インセンティブ ===== */
.v085-incentive-form{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1.3fr;
  gap:9px;
  align-items:end;
}

.v085-incentive-list{
  display:grid;
  gap:7px;
  margin-top:12px;
}

.v085-incentive-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:9px 11px;
  background:#f9fbf8;
}

.v085-project-actions{
  flex-wrap:wrap;
}

.v085-delete-project{
  background:#fff7f7 !important;
  color:#a1282a !important;
  border:1px solid #e7caca !important;
}

.v076-admin-project-row{
  grid-template-columns:minmax(160px,1.2fr) minmax(150px,1fr) minmax(150px,1fr) 100px auto;
}

@media(max-width:1000px){
  .v085-incentive-form{
    grid-template-columns:1fr 1fr;
  }

  .v076-admin-project-row{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .v085-incentive-form{
    grid-template-columns:1fr;
  }

  .v085-incentive-row{
    grid-template-columns:1fr auto;
  }

  .v085-incentive-row .danger-text{
    grid-column:1/-1;
    justify-self:start;
  }

  .v076-admin-project-row{
    grid-template-columns:1fr;
  }
}


/* ===== v0.8.6 管理者は時間計上なし・件数のみ ===== */
.v086-admin-home-note,
.v086-admin-record-note{
  border:1px solid #d7e6d3;
  background:#f3faf1;
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
  line-height:1.65;
  color:var(--muted);
  margin-bottom:12px;
}

.v086-admin-record-note strong{
  color:var(--brand-green-dark);
}

.v086-no-time-box{
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbf7;
  padding:9px 10px;
  display:grid;
  gap:3px;
  min-height:42px;
}

.v086-no-time-box span{
  font-size:11px;
  color:var(--muted);
  font-weight:800;
}

.v086-no-time-box strong{
  color:var(--brand-green-dark);
  font-size:16px;
}

.v086-no-time-box small{
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}


/* ===== v0.8.7 稼働・報酬出力 ===== */
.v087-export-hero{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) 1.6fr;
  gap:12px;
  align-items:end;
  margin-top:12px;
}

.v087-export-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.v087-export-summary > div{
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:11px;
  padding:10px;
}

.v087-export-summary span{
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:4px;
}

.v087-export-summary strong{
  color:var(--brand-green-dark);
  font-size:13px;
}

.v087-export-example{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:12px;
  border:1px solid #d7e6d3;
  background:#f4faf2;
  border-radius:12px;
  font-size:11px;
  color:var(--muted);
}

.v087-export-example > strong{
  color:var(--brand-green-dark);
}

.v087-example-cell{
  min-width:82px;
  padding:8px 12px;
  border:1px solid #bfd5ba;
  background:#fff;
  border-radius:8px;
  color:#111;
  font-weight:800;
  line-height:1.5;
  text-align:center;
}

.v087-export-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:14px;
}

.v087-sheet-link{
  display:inline-block;
  margin-top:12px;
  color:var(--brand-green);
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.v087-layout-guide{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0 12px;
}

.v087-layout-guide > div{
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px;
  display:grid;
  gap:4px;
}

.v087-layout-guide strong{
  color:var(--brand-green-dark);
}

.v087-layout-guide span{
  color:var(--muted);
  font-size:11px;
}

@media(max-width:760px){
  .v087-export-hero{
    grid-template-columns:1fr;
  }

  .v087-export-summary,
  .v087-layout-guide{
    grid-template-columns:1fr;
  }

  .v087-export-example{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* 管理者6メニュー時に少し詰める */
.bottom-nav[style*="--nav-count:6"] .nav-btn{
  padding-left:4px;
  padding-right:4px;
  font-size:11px;
}


/* ===== v0.8.8 出力メニュー集約 ===== */
.v088-output-intro{
  border:1px solid #d7e6d3;
  background:#f4faf2;
  border-radius:12px;
  padding:11px 12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
  margin-top:10px;
}

.v088-connection-card{
  border-top:3px solid var(--brand-green);
}

.v088-connection-actions{
  margin-top:10px;
  display:flex;
  justify-content:flex-start;
}

.v088-connection-actions .btn{
  width:auto;
  min-width:180px;
}

.v088-export-section{
  position:relative;
  overflow:hidden;
}

.v088-export-section::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--brand-green),rgba(31,84,36,.18));
}

.v088-shift-export-controls{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) 1.2fr;
  gap:10px;
  align-items:end;
  margin-top:10px;
}

.v088-month-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

@media(max-width:760px){
  .v088-shift-export-controls{
    grid-template-columns:1fr;
  }

  .v088-connection-actions .btn{
    width:100%;
  }
}


/* ===== v0.9.0 月間実績出力 ===== */
.v090-results-export::before{
  background:linear-gradient(180deg,#356f3d,rgba(53,111,61,.16));
}

.v090-results-controls{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) 1.25fr;
  gap:12px;
  align-items:end;
  margin-top:10px;
}

.v090-results-summary{
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:11px;
  padding:10px 12px;
  display:grid;
  gap:4px;
}

.v090-results-summary span{
  color:var(--muted);
  font-size:10px;
}

.v090-results-summary strong{
  color:var(--brand-green-dark);
  font-size:13px;
}

@media(max-width:760px){
  .v090-results-controls{
    grid-template-columns:1fr;
  }
}


/* ===== v0.9.2 スタッフ書類・請求書 ===== */
.v092-doc-intro{
  border:1px solid #d7e6d3;
  background:#f4faf2;
  border-radius:12px;
  padding:10px 12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}

.v092-doc-accordion{
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  margin-bottom:14px;
  box-shadow:var(--shadow);
}

.v092-doc-accordion summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  position:relative;
}

.v092-doc-accordion summary::-webkit-details-marker{
  display:none;
}

.v092-doc-accordion summary::after{
  content:"＋";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:20px;
  font-weight:900;
}

.v092-doc-accordion[open] summary::after{
  content:"−";
}

.v092-doc-accordion summary > div{
  display:grid;
  gap:3px;
  padding-right:32px;
}

.v092-doc-accordion summary strong{
  color:var(--brand-green-dark);
}

.v092-doc-accordion summary span{
  color:var(--muted);
  font-size:11px;
}

.v092-doc-body{
  border-top:1px solid var(--line);
  padding:14px;
}

.v092-profile-grid,
.v092-invoice-meta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v092-invoice-meta-grid{
  grid-template-columns:1fr 1fr 1fr;
}

.v092-textarea{
  width:100%;
  min-height:88px;
  resize:vertical;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:12px;
  font:inherit;
  outline:none;
}

.v092-textarea:focus{
  border-color:#6ba972;
  box-shadow:0 0 0 3px rgba(71,132,78,.13);
}

.v092-invoice-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.v092-invoice-summary > div{
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px;
  background:#f8fbf7;
}

.v092-invoice-summary span{
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:4px;
}

.v092-invoice-summary strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:18px;
}

.v092-items-table th,
.v092-items-table td{
  vertical-align:middle;
}

.v092-num{
  text-align:right;
}

.v092-invoice-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:14px;
}

.v092-saved-list{
  display:grid;
  gap:7px;
}

.v092-saved-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  background:#f9fbf8;
  border-radius:11px;
  padding:10px 12px;
}

.v092-saved-row > div:first-child{
  display:grid;
  gap:3px;
}

.v092-saved-row span{
  color:var(--muted);
  font-size:11px;
}

.v092-saved-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.v092-saved-actions .link-btn{
  color:var(--brand-green);
  cursor:pointer;
}

/* 印刷用請求書 */
#v092PrintRoot{
  display:none;
}

.v092-paper{
  width:100%;
  background:#fff;
  color:#111;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}

.v092-print-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  border-bottom:4px solid #15558f;
  padding-bottom:8px;
}

.v092-print-head h1{
  margin:0;
  font-size:30px;
  letter-spacing:.08em;
}

.v092-print-meta{
  display:grid;
  gap:5px;
  min-width:240px;
}

.v092-print-meta > div{
  display:grid;
  grid-template-columns:90px 1fr;
  border-bottom:1px solid #999;
  padding:2px 0;
  font-size:11px;
}

.v092-print-meta span{
  color:#555;
}

.v092-print-to{
  margin:20px 0 14px;
  border-bottom:1px solid #444;
  padding-bottom:8px;
  max-width:65%;
}

.v092-print-label{
  font-size:10px;
  color:#555;
}

.v092-print-to-name{
  font-size:20px;
  font-weight:800;
}

.v092-print-issuer{
  margin-left:auto;
  width:55%;
  display:grid;
  gap:5px;
  margin-bottom:18px;
}

.v092-print-issuer > div{
  display:grid;
  grid-template-columns:95px 1fr;
  gap:8px;
  font-size:10px;
  border-bottom:1px solid #bbb;
  padding-bottom:3px;
}

.v092-print-issuer span{
  color:#555;
}

.v092-preline{
  white-space:pre-line;
}

.v092-print-table{
  width:100%;
  border-collapse:collapse;
  font-size:10px;
  margin-top:12px;
}

.v092-print-table th{
  background:#a50000;
  color:#fff;
  font-weight:800;
  padding:7px 6px;
  border:1px solid #222;
}

.v092-print-table td{
  padding:7px 6px;
  border:1px solid #333;
}

.v092-print-table th:first-child,
.v092-print-table td:first-child{
  width:42%;
}

.v092-print-table td:not(:first-child),
.v092-print-table th:not(:first-child){
  text-align:right;
}

.v092-empty-row{
  height:30px;
}

.v092-print-total{
  margin:16px 0 20px auto;
  width:45%;
  display:grid;
}

.v092-print-total > div{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:1px solid #333;
  padding:7px 5px;
  font-size:11px;
}

.v092-print-total .grand{
  border:2px solid #15558f;
  margin-top:8px;
  font-size:14px;
  font-weight:900;
}

.v092-print-note{
  border:1px solid #333;
  min-height:70px;
  padding:8px;
  font-size:10px;
}

.v092-print-note > span{
  display:block;
  color:#555;
  margin-bottom:6px;
  font-weight:800;
}

@media(max-width:700px){
  .v092-profile-grid,
  .v092-invoice-meta-grid,
  .v092-invoice-summary{
    grid-template-columns:1fr;
  }

  .v092-invoice-actions{
    grid-template-columns:1fr;
  }

  .v092-saved-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media print{
  @page{
    size:A4;
    margin:13mm 14mm;
  }

  html,
  body{
    background:#fff !important;
    margin:0 !important;
    padding:0 !important;
  }

  body > *:not(#v092PrintRoot){
    display:none !important;
  }

  #v092PrintRoot{
    display:block !important;
    position:static !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .v092-paper{
    display:block !important;
    page-break-inside:avoid;
  }
}


/* ===== v0.9.3 請求書 銀行情報分割・請求者名編集 ===== */
.v093-field-help{
  margin-top:5px;
  font-size:10px;
  line-height:1.5;
  color:var(--muted);
}

.v093-bank-section{
  margin-top:12px;
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:13px;
  padding:12px;
}

.v093-bank-title{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  margin-bottom:10px;
}

.v093-bank-title strong{
  color:var(--brand-green-dark);
  font-size:14px;
}

.v093-bank-title span{
  color:var(--muted);
  font-size:10px;
}

.v093-bank-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v093-bank-holder{
  grid-column:1 / -1;
}

.v093-old-bank-note{
  margin-top:10px;
  border:1px solid #eadfbd;
  background:#fffaf0;
  color:#8a6725;
  border-radius:10px;
  padding:9px 10px;
  font-size:10px;
  line-height:1.6;
}

@media(max-width:700px){
  .v093-bank-grid{
    grid-template-columns:1fr;
  }

  .v093-bank-holder{
    grid-column:auto;
  }

  .v093-bank-title{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* ===== v0.9.4 請求書PDF デザイン ===== */
.v094-fixed-recipient{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f4f8f2;
  color:var(--brand-green-dark);
  font-weight:900;
}

.v094-date-help{
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}

.v094-paper{
  --invoice-green:#153f1a;
  --invoice-green-2:#2f6c3a;
  --invoice-soft:#edf6ed;
  --invoice-soft-2:#dcebdd;
  --invoice-line:#bfd2c1;

  position:relative;
  overflow:hidden;
  width:100%;
  min-height:267mm;
  box-sizing:border-box;
  background:#fff;
  color:#172018;
  padding:6mm 6mm 3mm;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  -webkit-print-color-adjust:exact !important;
  print-color-adjust:exact !important;
}

.v094-top-curve{
  position:absolute;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  transform:rotate(9deg);
}

.v094-top-curve-a{
  width:145mm;
  height:33mm;
  right:-48mm;
  top:-23mm;
  border:7mm solid rgba(47,108,58,.17);
}

.v094-top-curve-b{
  width:132mm;
  height:28mm;
  right:-42mm;
  top:-19mm;
  border:2.7mm solid rgba(21,63,26,.32);
}

.v094-header{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(74mm,.9fr);
  gap:9mm;
  align-items:start;
}

.v094-header-left{
  padding-top:8mm;
}

.v094-title-row{
  display:flex;
  align-items:center;
  gap:7mm;
}

.v094-title-row h1{
  margin:0;
  color:var(--invoice-green);
  font-size:27px;
  letter-spacing:.22em;
  white-space:nowrap;
}

.v094-title-row span{
  height:1px;
  background:var(--invoice-green-2);
  flex:1;
}

.v094-recipient{
  display:inline-block;
  margin-top:14mm;
  padding:0 0 3mm;
  min-width:78%;
  color:var(--invoice-green);
  border-bottom:1.2px solid var(--invoice-green-2);
  font-size:17px;
  font-weight:900;
  letter-spacing:.03em;
}

.v094-greeting{
  margin:5mm 0 0;
  font-size:10px;
  line-height:1.8;
}

.v094-amount-card{
  width:78%;
  margin-top:10mm;
  border-radius:4mm;
  padding:5mm 6mm;
  background:linear-gradient(135deg,#edf6ed 0%,#f7fbf7 70%,#e4f0e4 100%);
  border:1px solid #d5e6d7;
}

.v094-amount-label{
  display:block;
  color:var(--invoice-green);
  font-size:12px;
  font-weight:900;
}

.v094-amount-card > strong{
  display:block;
  margin-top:2mm;
  color:var(--invoice-green);
  font-size:27px;
  letter-spacing:.03em;
}

.v094-due{
  margin-top:4mm;
  padding-top:3mm;
  border-top:1px solid #9bb59e;
  display:grid;
  gap:1.2mm;
}

.v094-due span{
  color:var(--invoice-green);
  font-size:9.5px;
  font-weight:900;
}

.v094-due b{
  font-size:10px;
}

.v094-header-right{
  position:relative;
  z-index:2;
  padding-top:2mm;
}

.v094-invoice-logo{
  display:block;
  width:31mm;
  height:31mm;
  object-fit:contain;
  margin:0 0 5mm auto;
  background:#fff;
  border-radius:50%;
}

.v094-issuer-meta{
  display:grid;
  gap:1.5mm;
  padding-left:2mm;
}

.v094-issuer-meta > div{
  display:grid;
  grid-template-columns:25mm 1fr;
  gap:2mm;
  align-items:start;
  font-size:8.8px;
  line-height:1.45;
}

.v094-issuer-meta span{
  color:var(--invoice-green);
  font-weight:900;
}

.v094-issuer-meta b{
  font-weight:600;
  overflow-wrap:anywhere;
}

.v094-section{
  position:relative;
  z-index:1;
  margin-top:9mm;
}

.v094-section-title{
  display:flex;
  align-items:center;
  gap:4mm;
  margin-bottom:3mm;
}

.v094-section-title strong{
  color:var(--invoice-green);
  font-size:13px;
  letter-spacing:.04em;
}

.v094-section-title span{
  flex:1;
  height:1px;
  background:var(--invoice-green-2);
}

.v094-detail-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:8.5px;
}

.v094-detail-table th{
  padding:3mm 2mm;
  color:var(--invoice-green);
  background:linear-gradient(180deg,#e7f2e7,#f2f8f2);
  border:1px solid var(--invoice-line);
  font-weight:900;
}

.v094-detail-table td{
  padding:2.7mm 2mm;
  border:1px solid var(--invoice-line);
  vertical-align:middle;
}

.v094-detail-table th:nth-child(1){width:26%}
.v094-detail-table th:nth-child(2){width:28%}
.v094-detail-table th:nth-child(3){width:13%}
.v094-detail-table th:nth-child(4){width:15%}
.v094-detail-table th:nth-child(5){width:18%}

.v094-detail-table td:nth-child(n+3),
.v094-detail-table th:nth-child(n+3){
  text-align:right;
}

.v094-empty-row{
  height:8mm;
}

.v094-total-box{
  width:45%;
  margin:0 0 0 auto;
}

.v094-total-box > div{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  border:1px solid var(--invoice-line);
  border-top:0;
  min-height:9mm;
  font-size:9px;
}

.v094-total-box span{
  padding:2.5mm 3mm;
  text-align:right;
  color:var(--invoice-green);
  font-weight:900;
  background:#f4f8f4;
}

.v094-total-box b{
  padding:2.5mm 3mm;
  text-align:right;
}

.v094-total-box .grand{
  background:linear-gradient(90deg,#e3f0e3,#eef6ee);
}

.v094-total-box .grand span{
  background:transparent;
  font-size:11px;
}

.v094-total-box .grand b{
  color:var(--invoice-green);
  font-size:16px;
}

.v094-bank-section{
  margin-top:8mm;
}

.v094-bank-table{
  border:1px solid var(--invoice-line);
  border-radius:2.5mm;
  overflow:hidden;
}

.v094-bank-table > div{
  display:grid;
  grid-template-columns:30mm 1fr;
  min-height:7.5mm;
  border-bottom:1px solid var(--invoice-line);
  font-size:8.8px;
}

.v094-bank-table > div:last-child{
  border-bottom:0;
}

.v094-bank-table span{
  padding:2mm 3mm;
  background:linear-gradient(90deg,#e8f2e8,#f2f7f2);
  color:var(--invoice-green);
  font-weight:900;
}

.v094-bank-table b{
  padding:2mm 3mm;
  font-weight:600;
}

.v094-old-bank{
  margin-top:2mm;
  padding:2mm;
  border:1px dashed var(--invoice-line);
  font-size:8px;
}

.v094-note{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:30mm 1fr;
  min-height:15mm;
  margin-top:6mm;
  border:1px solid var(--invoice-line);
  border-radius:2.5mm;
  overflow:hidden;
  font-size:8.5px;
}

.v094-note-label{
  padding:3mm;
  color:var(--invoice-green);
  font-weight:900;
  background:linear-gradient(90deg,#e8f2e8,#f4f8f4);
}

.v094-note-body{
  padding:3mm;
}

.v094-footer{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:4mm;
  margin-top:8mm;
  color:var(--invoice-green);
  font-size:8.5px;
}

.v094-footer span{
  height:1px;
  background:var(--invoice-green-2);
  flex:1;
}

@media print{
  @page{
    size:A4;
    margin:9mm 11mm;
  }

  .v094-paper{
    display:block !important;
    width:188mm !important;
    min-height:277mm !important;
    padding:4mm 5mm 2mm !important;
    page-break-inside:avoid;
  }

  .v094-invoice-logo{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
}


/* ===== v0.9.5 業務委託契約書 ===== */
.v095-document-nav-card{
  padding-bottom:12px;
}

.v095-document-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.v095-document-tab{
  border:1px solid var(--line);
  background:#f6f8f5;
  color:var(--muted);
  border-radius:12px;
  padding:12px 10px;
  font-weight:900;
  cursor:pointer;
}

.v095-document-tab.active{
  background:var(--brand-green);
  border-color:var(--brand-green);
  color:#fff;
}

.v095-contract-date-card{
  margin-top:12px;
  border:1px solid #d7e6d3;
  background:#f4faf2;
  border-radius:12px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 12px;
  align-items:center;
}

.v095-contract-date-card span{
  color:var(--muted);
  font-size:10px;
}

.v095-contract-date-card strong{
  color:var(--brand-green-dark);
}

.v095-contract-date-card small{
  grid-column:1/-1;
  color:var(--muted);
  font-size:9px;
}

.v095-contract-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v095-address-field{
  grid-column:1/-1;
}

.v095-contract-details{
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--shadow);
  margin-bottom:14px;
}

.v095-contract-details summary{
  cursor:pointer;
  padding:14px 16px;
  color:var(--brand-green-dark);
  font-weight:900;
  list-style:none;
}

.v095-contract-details summary::-webkit-details-marker{
  display:none;
}

.v095-contract-details summary::after{
  content:"＋";
  float:right;
  color:var(--muted);
  font-size:19px;
}

.v095-contract-details[open] summary::after{
  content:"−";
}

.v095-contract-body{
  border-top:1px solid var(--line);
  padding:16px;
  max-height:620px;
  overflow:auto;
}

.v095-contract-intro{
  margin:0 0 18px;
  line-height:1.9;
  font-weight:700;
}

.v095-contract-clause{
  margin:0 0 18px;
}

.v095-contract-clause h4{
  margin:0 0 7px;
  color:var(--brand-green-dark);
  font-size:13px;
}

.v095-contract-clause p,
.v095-contract-clause li{
  margin:3px 0;
  color:#29342b;
  font-size:11px;
  line-height:1.75;
}

.v095-contract-clause ul,
.v095-contract-clause ol{
  padding-left:22px;
  margin:5px 0;
}

.v095-contract-parties{
  border-top:1px solid var(--line);
  margin-top:20px;
  padding-top:15px;
}

.v095-party-block{
  margin-top:14px;
}

.v095-party-block p{
  margin:4px 0;
  font-size:11px;
}

.v095-signature-box{
  margin-top:12px;
  border:2px solid #bfd5ba;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

#contractSignatureCanvas{
  display:block;
  width:100%;
  height:150px;
  cursor:crosshair;
  touch-action:none;
}

.v095-contract-agree{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:15px;
  padding:11px 12px;
  border:1px solid #d7e6d3;
  border-radius:11px;
  background:#f6faf5;
  font-size:12px;
  line-height:1.6;
}

.v095-contract-agree input{
  margin-top:3px;
}

.v095-contract-actions{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:8px;
  margin-top:12px;
}

.v095-signed-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}

.v095-signed-summary > div{
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:10px;
  padding:10px;
  min-width:0;
}

.v095-signed-summary span{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-bottom:4px;
}

.v095-signed-summary strong{
  overflow-wrap:anywhere;
}

.v095-admin-contract-counts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.v095-admin-contract-counts > div{
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:10px;
  padding:10px;
}

.v095-admin-contract-counts span{
  display:block;
  color:var(--muted);
  font-size:9px;
}

.v095-admin-contract-counts strong{
  color:var(--brand-green-dark);
  font-size:20px;
}

/* 契約書印刷 */
#v095ContractPrintRoot{
  display:none;
}

.v095-contract-paper{
  width:100%;
  box-sizing:border-box;
  color:#111;
  background:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Yu Gothic","Meiryo",serif;
  font-size:10.5px;
  line-height:1.8;
}

.v095-contract-print-header{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  margin-bottom:12mm;
  padding-bottom:5mm;
  border-bottom:1px solid #333;
}

.v095-contract-print-header img{
  position:absolute;
  left:0;
  width:22mm;
  height:22mm;
  object-fit:contain;
  border-radius:50%;
}

.v095-contract-print-header h1{
  margin:0;
  font-size:22px;
  letter-spacing:.12em;
}

.v095-contract-intro-print{
  margin:0 0 8mm;
  text-indent:1em;
}

.v095-contract-print-clause{
  margin-bottom:6mm;
  break-inside:avoid-page;
}

.v095-contract-print-clause h4{
  margin:0 0 2.5mm;
  font-size:11px;
  font-weight:700;
}

.v095-contract-print-clause p{
  margin:1mm 0;
}

.v095-contract-print-clause ul,
.v095-contract-print-clause ol{
  margin:2mm 0 2mm 7mm;
  padding-left:4mm;
}

.v095-contract-print-clause li{
  margin:1mm 0;
}

.v095-contract-print-parties{
  margin-top:10mm;
  break-inside:avoid-page;
  page-break-inside:avoid;
}

.v095-contract-date-line{
  margin-bottom:6mm;
}

.v095-contract-date-line strong{
  display:inline-block;
  width:28mm;
}

.v095-party-block{
  margin:5mm 0 0;
}

.v095-signature-print{
  display:flex;
  align-items:flex-end;
  gap:4mm;
  min-height:20mm;
  margin-top:2mm;
}

.v095-signature-print img{
  max-width:62mm;
  max-height:18mm;
  object-fit:contain;
}

@media(max-width:700px){
  .v095-contract-form-grid,
  .v095-signed-summary,
  .v095-admin-contract-counts{
    grid-template-columns:1fr;
  }

  .v095-address-field{
    grid-column:auto;
  }

  .v095-contract-actions{
    grid-template-columns:1fr;
  }

  .v095-document-tabs{
    grid-template-columns:1fr 1fr;
  }
}

@media print{
  body > *:not(#v092PrintRoot):not(#v095ContractPrintRoot){
    display:none !important;
  }

  #v095ContractPrintRoot{
    display:block !important;
    position:static !important;
    width:auto !important;
  }

  #v095ContractPrintRoot .v095-contract-paper{
    display:block !important;
  }
}


/* ===== v0.9.7 最新版更新通知 ===== */
.ayumi-update-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(10,25,13,.58);
  backdrop-filter:blur(4px);
}

.ayumi-update-card{
  width:min(100%,460px);
  max-height:calc(100vh - 36px);
  overflow:auto;
  box-sizing:border-box;
  border:1px solid #dbe8d9;
  border-radius:20px;
  padding:22px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.ayumi-update-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#edf6eb;
  color:var(--brand-green-dark);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.ayumi-update-card h2{
  margin:10px 0 8px;
  color:var(--brand-green-dark);
  font-size:22px;
}

.ayumi-update-lead{
  margin:0;
  color:#445046;
  font-size:12px;
  line-height:1.8;
}

.ayumi-update-steps{
  margin:15px 0;
  padding:13px 14px;
  border:1px solid #d9e8d6;
  border-radius:13px;
  background:#f6faf4;
  color:#28372b;
  font-size:11px;
  line-height:1.8;
}

.ayumi-update-steps strong{
  display:block;
  margin-bottom:4px;
  color:var(--brand-green-dark);
}

.ayumi-update-steps ol{
  margin:0;
  padding-left:20px;
}

.ayumi-update-main,
.ayumi-update-later{
  width:100%;
}

.ayumi-update-later{
  margin-top:8px;
}

.ayumi-update-help{
  margin-top:13px;
  border-top:1px solid var(--line);
  padding-top:11px;
  color:var(--muted);
  font-size:10px;
  line-height:1.7;
}

.ayumi-update-help summary{
  cursor:pointer;
  color:var(--brand-green-dark);
  font-weight:900;
}

.ayumi-update-help > div{
  margin-top:8px;
}


/* ===== v0.9.8 アプリ内業務マニュアル ===== */

/* 7メニュー時は少し詰める */
.bottom-nav[style*="--nav-count:7"] .nav-btn{
  padding-left:2px;
  padding-right:2px;
  font-size:10px;
}

.v098-manual-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:4px solid var(--brand-green);
  background:linear-gradient(135deg,#ffffff 0%,#f4faf2 100%);
}

.v098-manual-hero > div{
  min-width:0;
}

.v098-manual-hero img{
  width:82px;
  height:82px;
  object-fit:contain;
  border-radius:50%;
  flex:0 0 auto;
}

.v098-manual-kicker{
  display:inline-block;
  margin-bottom:5px;
  color:var(--brand-green);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}

.v098-manual-hero h2{
  margin:0 0 7px;
  color:var(--brand-green-dark);
}

.v098-manual-hero p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
}

.v098-manual-jumps{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}

.v098-manual-jumps button{
  border:1px solid #d6e5d3;
  background:#f7fbf6;
  color:var(--brand-green-dark);
  border-radius:999px;
  padding:8px 10px;
  font-size:10px;
  font-weight:900;
}

.v098-manual-section{
  scroll-margin-top:78px;
  margin-bottom:11px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.v098-manual-section summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:15px 16px;
}

.v098-manual-section summary::-webkit-details-marker{
  display:none;
}

.v098-manual-section summary > div{
  min-width:0;
}

.v098-manual-section summary strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:14px;
}

.v098-manual-section summary span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:9.5px;
  line-height:1.5;
}

.v098-manual-section summary::after{
  content:"＋";
  flex:0 0 auto;
  color:var(--brand-green);
  font-size:20px;
  font-weight:700;
}

.v098-manual-section[open] summary::after{
  content:"−";
}

.v098-manual-body{
  padding:0 16px 17px;
  border-top:1px solid #eef2ed;
  color:#28332a;
  font-size:11.5px;
  line-height:1.8;
}

.v098-manual-body > p:first-child{
  margin-top:14px;
}

.v098-manual-body p{
  margin:10px 0;
}

.v098-manual-body ul,
.v098-manual-body ol{
  margin:10px 0;
  padding-left:22px;
}

.v098-manual-body li{
  margin:6px 0;
}

.v098-manual-subtitle{
  margin:17px 0 8px;
  padding-left:9px;
  border-left:4px solid var(--brand-green);
  color:var(--brand-green-dark);
  font-size:13px;
  font-weight:900;
}

.v098-highlight,
.v098-caution,
.v098-note{
  margin:13px 0;
  padding:12px 13px;
  border-radius:12px;
}

.v098-highlight{
  border:1px solid #d5e7d1;
  background:#f4faf2;
}

.v098-caution{
  border:1px solid #f0ddb2;
  background:#fff9eb;
  color:#765318;
}

.v098-note{
  border:1px solid #d9e3ea;
  background:#f7fafc;
  color:#51606b;
  font-size:10.5px;
}

.v098-step-list{
  counter-reset:v098-step;
  list-style:none;
  padding-left:0 !important;
}

.v098-step-list li{
  counter-increment:v098-step;
  position:relative;
  padding:10px 10px 10px 39px;
  border:1px solid #e1e9df;
  border-radius:11px;
  background:#fbfdfb;
}

.v098-step-list li::before{
  content:counter(v098-step);
  position:absolute;
  left:10px;
  top:9px;
  width:21px;
  height:21px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--brand-green);
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.v098-inline-btn{
  width:100%;
  margin:10px 0 4px;
}

.v098-tool{
  margin:12px 0;
  padding:12px 13px;
  border:1px solid #e0e7df;
  border-radius:12px;
  background:#fbfdfb;
}

.v098-tool strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:12px;
}

.v098-tool p{
  margin:5px 0;
}

.v098-tool a{
  display:inline-block;
  margin-top:3px;
  color:var(--brand-green);
  font-weight:900;
  overflow-wrap:anywhere;
}

@media(max-width:520px){
  .v098-manual-hero img{
    width:66px;
    height:66px;
  }

  .v098-manual-hero p{
    font-size:11px;
  }

  .v098-manual-section summary{
    padding:14px;
  }

  .v098-manual-body{
    padding-left:14px;
    padding-right:14px;
  }
}



/* ===== v1.0.0 マニュアル内 ステータス早見表 ===== */
.v100-manual-top-card{
  padding-bottom:12px;
}

.v100-manual-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.v100-manual-tab{
  border:1px solid var(--line);
  background:#f6f8f5;
  color:var(--muted);
  border-radius:12px;
  padding:12px 10px;
  font-weight:900;
  cursor:pointer;
}

.v100-manual-tab.active{
  background:var(--brand-green);
  border-color:var(--brand-green);
  color:#fff;
}

.v100-status-intro h3{
  margin-top:0;
  color:var(--brand-green-dark);
}

.v100-status-intro p{
  margin:6px 0 0;
  color:#435046;
  font-size:11.5px;
  line-height:1.75;
}

.v100-status-section{
  margin-bottom:15px;
}

.v100-status-section-title{
  margin:4px 2px 8px;
  color:var(--brand-green-dark);
  font-size:13px;
  font-weight:900;
}

.v100-status-card{
  display:grid;
  grid-template-columns:132px 1fr;
  margin-bottom:7px;
  border:1px solid #dfe6df;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 2px 8px rgba(20,45,25,.04);
}

.v100-status-label{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:10px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-align:center;
}

.v100-status-body{
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  color:#28332a;
  font-size:10.5px;
  line-height:1.55;
}

.v100-status-line{
  overflow-wrap:anywhere;
}

.v100-status-label.blue{background:#83b8d3;color:#143243}
.v100-status-label.teal{background:#78aab6;color:#102d35}
.v100-status-label.yellow{background:#e6c96a;color:#40320c}
.v100-status-label.orange{background:#ebb07a;color:#4d2908}
.v100-status-label.brown{background:#80642f}
.v100-status-label.green{background:#20763e}
.v100-status-label.lime{background:#65a95a}
.v100-status-label.pink{background:#e88c87;color:#4f1613}
.v100-status-label.purple{background:#8257a8}
.v100-status-label.red{background:#c71919}
.v100-status-label.navy{background:#11325d}
.v100-status-label.lightblue{background:#c5d6e8;color:#183146}
.v100-status-label.dark{background:#444}

@media(max-width:640px){
  .v100-status-card{
    grid-template-columns:1fr;
  }

  .v100-status-label{
    min-height:auto;
    justify-content:flex-start;
    text-align:left;
    padding:9px 12px;
  }

  .v100-status-body{
    padding:10px 12px 12px;
  }
}


/* ===== v1.0.1 対応可能案件 ===== */
.v101-manual-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.v101-project-list{
  display:grid;
  gap:7px;
  margin:10px 0 14px;
}

.v101-project-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #dde8db;
  border-radius:11px;
  background:#fbfdfb;
}

.v101-project-main,
.v101-project-row > div{
  min-width:0;
}

.v101-project-row strong{
  display:block;
  color:var(--brand-green-dark);
}

.v101-project-row small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  overflow-wrap:anywhere;
}

.v101-compat{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 9px;
  border-radius:999px;
  background:#eaf4e7;
  color:var(--brand-green-dark);
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.v101-add-project{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(120px,.7fr);
  gap:9px;
  align-items:end;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid var(--line);
}

.v101-note-field{
  grid-column:1/-1;
}

.v101-add-project > .btn{
  grid-column:1/-1;
}

.v101-account-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v101-analysis-block{
  margin:0 0 18px;
}

.v101-analysis-block > strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:12px;
}

.v101-analysis-block > span{
  display:block;
  margin:3px 0 8px;
  color:var(--muted);
  font-size:9.5px;
}

.v101-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.v101-check-item{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:39px;
  padding:8px 10px;
  border:1px solid #dde7db;
  border-radius:10px;
  background:#fafdfa;
  font-size:10.5px;
  cursor:pointer;
}

.v101-check-item:has(input:checked){
  border-color:#96bc91;
  background:#eef7ec;
  color:var(--brand-green-dark);
  font-weight:900;
}

.v101-admin-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0 14px;
}

.v101-admin-info-grid > div{
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafcfa;
}

.v101-admin-info-grid span,
.v101-analysis-readonly > div > span{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:9px;
}

.v101-admin-info-grid strong{
  display:block;
  overflow-wrap:anywhere;
}

.v101-analysis-readonly{
  display:grid;
  gap:10px;
}

.v101-analysis-readonly > div{
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafcfa;
}

.v101-analysis-readonly p{
  margin:0;
  white-space:pre-wrap;
}

.v101-chip-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.v101-chip{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 8px;
  border-radius:999px;
  background:#eaf4e7;
  color:var(--brand-green-dark);
  font-size:9px;
  font-weight:900;
}

@media(max-width:700px){
  .v101-manual-tabs{
    grid-template-columns:1fr;
  }

  .v101-project-row{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .v101-project-row .danger{
    grid-column:1/-1;
    justify-self:end;
  }

  .v101-add-project,
  .v101-account-grid,
  .v101-check-grid,
  .v101-admin-info-grid{
    grid-template-columns:1fr;
  }

  .v101-note-field,
  .v101-add-project > .btn{
    grid-column:auto;
  }
}


/* ===== v1.0.2 自由帳 ===== */

/* 8メニュー時 */
.bottom-nav[style*="--nav-count:8"] .nav-btn{
  padding-left:1px;
  padding-right:1px;
  font-size:9px;
}

.v102-header-card{
  border-top:4px solid var(--brand-green);
}

.v102-layout{
  display:grid;
  grid-template-columns:minmax(210px,.55fr) minmax(0,1.8fr);
  gap:12px;
  align-items:start;
}

.v102-list-card{
  position:sticky;
  top:72px;
  max-height:calc(100vh - 160px);
  overflow:auto;
}

.v102-list-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  color:var(--brand-green-dark);
}

.v102-list-title span{
  color:var(--muted);
  font-size:9px;
}

.v102-note-list{
  display:grid;
  gap:7px;
}

.v102-note-card{
  width:100%;
  border:1px solid #dfe8dd;
  border-radius:11px;
  background:#fbfdfb;
  padding:10px;
  text-align:left;
  cursor:pointer;
}

.v102-note-card.active{
  border-color:#82ac7c;
  background:#eef7ec;
  box-shadow:0 0 0 1px #82ac7c inset;
}

.v102-note-card strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.v102-note-card span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8.5px;
}

.v102-note-card small{
  display:block;
  margin-top:5px;
  color:#546257;
  font-size:9px;
  line-height:1.5;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.v102-editor-card{
  min-width:0;
}

.v102-editor-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}

.v102-editor-actions{
  display:flex;
  gap:7px;
}

.v102-mode-bar{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  margin:13px 0 7px;
}

.v102-mode-btn,
.v102-clear-btn{
  min-height:35px;
  border-radius:10px;
  border:1px solid #d7e3d5;
  background:#f7faf6;
  color:#526054;
  padding:0 12px;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.v102-mode-btn.active{
  border-color:var(--brand-green);
  background:var(--brand-green);
  color:#fff;
}

.v102-clear-btn{
  margin-left:auto;
  background:#fff;
}

.v102-mode-help{
  margin-bottom:8px;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}

.v102-paper-wrap{
  overflow:auto;
  border:1px solid #d8e2d6;
  border-radius:14px;
  background:#edf3eb;
  padding:12px;
}

.v102-paper-wrap.disabled{
  opacity:.55;
  pointer-events:none;
}

.v102-paper{
  position:relative;
  width:100%;
  min-width:520px;
  height:680px;
  overflow:hidden;
  border-radius:5px;
  background:
    linear-gradient(to right,rgba(81,120,80,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(81,120,80,.07) 1px,transparent 1px),
    #fffef9;
  background-size:28px 28px;
  box-shadow:0 4px 16px rgba(31,54,34,.08);
}

.v102-text-layer{
  position:absolute;
  inset:0;
  z-index:1;
  box-sizing:border-box;
  padding:22px 24px;
  outline:none;
  color:#162019;
  font-size:16px;
  line-height:1.75;
  white-space:pre-wrap;
  overflow:auto;
  overflow-wrap:anywhere;
}

.v102-text-layer:empty::before{
  content:attr(data-placeholder);
  color:#9aa49a;
  pointer-events:none;
}

.v102-text-layer.drawing-mode{
  user-select:none;
  caret-color:transparent;
}

.v102-draw-layer{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
  touch-action:none;
}

.v102-editor-footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  color:var(--muted);
  font-size:8.5px;
}

@media(max-width:820px){
  .v102-layout{
    grid-template-columns:1fr;
  }

  .v102-list-card{
    position:static;
    max-height:none;
  }

  .v102-note-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v102-editor-top{
    grid-template-columns:1fr;
  }

  .v102-editor-actions{
    width:100%;
  }

  .v102-editor-actions .btn{
    flex:1;
  }
}

@media(max-width:560px){
  .v102-note-list{
    grid-template-columns:1fr;
  }

  .v102-paper-wrap{
    padding:7px;
  }

  .v102-paper{
    min-width:0;
    width:100%;
    height:610px;
  }

  .v102-text-layer{
    padding:18px;
    font-size:15px;
  }

  .v102-clear-btn{
    width:100%;
    margin-left:0;
  }

  .v102-editor-footer{
    flex-direction:column;
  }
}


/* ===== v1.0.3 自由帳 undo / redo ===== */
.v103-history-actions{
  display:flex;
  gap:6px;
}

.v103-history-btn{
  min-height:35px;
  border-radius:10px;
  border:1px solid #cfdccc;
  background:#fff;
  color:var(--brand-green-dark);
  padding:0 11px;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.v103-history-btn:hover:not(:disabled){
  background:#f0f7ee;
  border-color:#9fbd9a;
}

.v103-history-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
}

@media(max-width:560px){
  .v103-history-actions{
    flex:1;
  }

  .v103-history-btn{
    flex:1;
  }
}


/* ===== v1.0.4 管理者共有マニュアル ===== */
.v104-manual-admin-card{
  border-top:4px solid var(--brand-green);
  margin-bottom:12px;
}

.v104-manual-admin-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.v104-manual-admin-form .v104-full{
  grid-column:1/-1;
}

.v104-admin-manual-list{
  display:grid;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.v104-admin-manual-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px;
  border:1px solid #dce7da;
  border-radius:11px;
  background:#fbfdfb;
}

.v104-order-actions{
  display:flex;
  gap:4px;
}

.v104-admin-manual-main{
  min-width:0;
}

.v104-admin-manual-main strong{
  display:block;
  color:var(--brand-green-dark);
}

.v104-admin-manual-main > span,
.v104-admin-manual-main small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
  overflow-wrap:anywhere;
}

.v104-admin-manual-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}

.v104-important-badge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  margin-right:5px;
  padding:0 6px;
  border-radius:999px;
  background:#f6e6b8;
  color:#75510c;
  font-size:8px;
  font-weight:900;
  vertical-align:middle;
}

.v104-shared-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin:15px 3px 8px;
}

.v104-shared-heading strong{
  color:var(--brand-green-dark);
  font-size:14px;
}

.v104-shared-heading span{
  color:var(--muted);
  font-size:9px;
}

.v104-dynamic-manual.important{
  border-color:#e0c77e;
  box-shadow:0 0 0 1px rgba(224,199,126,.25),var(--shadow);
}

.v104-update-summary{
  display:grid;
  gap:3px;
  margin:13px 0;
  padding:10px 11px;
  border:1px solid #d7e7d3;
  border-radius:10px;
  background:#f4faf2;
}

.v104-update-summary strong{
  color:var(--brand-green-dark);
  font-size:10px;
}

.v104-update-summary span{
  font-size:10.5px;
  line-height:1.6;
}

.v104-manual-text{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.85;
}

.v104-manual-updated{
  margin-top:13px;
  padding-top:8px;
  border-top:1px solid #edf1ec;
  color:var(--muted);
  font-size:8.5px;
}

@media(max-width:760px){
  .v104-manual-admin-form{
    grid-template-columns:1fr;
  }

  .v104-manual-admin-form .v104-full{
    grid-column:auto;
  }

  .v104-admin-manual-row{
    grid-template-columns:auto minmax(0,1fr);
  }

  .v104-admin-manual-actions{
    grid-column:1/-1;
    justify-content:stretch;
  }

  .v104-admin-manual-actions .btn{
    flex:1 1 45%;
  }
}


/* ===== v1.1.0 Web Push ===== */
.v110-push-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding:11px 12px;
  border:1px solid #dce8da;
  border-radius:11px;
  background:#f7fbf6;
}

.v110-push-status span{
  color:var(--muted);
  font-size:10px;
}

.v110-push-status strong{
  color:var(--brand-green-dark);
}


/* ===== v1.1.2 ホーム画面に追加 ===== */
.v112-install-box{
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid #dce8da;
  border-radius:12px;
  background:#f7fbf6;
}

.v112-install-box > strong{
  color:var(--brand-green-dark);
  font-size:12px;
}

.v112-install-box p{
  margin:0;
  color:#526056;
  font-size:10.5px;
  line-height:1.7;
}

.v112-install-steps{
  margin:0;
  padding-left:22px;
  color:#314037;
  font-size:10.5px;
  line-height:1.9;
}

.v112-install-ok{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #cfe2cb;
  border-radius:12px;
  background:#eef8ec;
}

.v112-install-ok strong{
  color:var(--brand-green-dark);
}

.v112-install-ok span{
  color:var(--muted);
  font-size:10px;
}


/* ===== v1.1.4 時給履歴・請求書診断 ===== */
.v114-wage-current{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:8px 12px;
  align-items:center;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid #dce7da;
  border-radius:11px;
  background:#f7fbf6;
}

.v114-wage-current span{
  color:var(--muted);
  font-size:9px;
}

.v114-wage-current strong{
  color:var(--brand-green-dark);
}

.v114-wage-form{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(140px,.8fr) minmax(120px,.7fr) auto;
  gap:9px;
  align-items:end;
}

.v114-wage-help{
  margin-top:10px;
  padding:9px 10px;
  border-radius:9px;
  background:#fafcf9;
  color:var(--muted);
  font-size:9px;
  line-height:1.65;
}

.v114-wage-history{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}

.v114-wage-history-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}

.v114-wage-history-title strong{
  color:var(--brand-green-dark);
}

.v114-wage-history-title span{
  color:var(--muted);
  font-size:9px;
}

.v114-wage-history-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e0e8de;
  border-radius:10px;
  background:#fff;
  margin-top:6px;
}

.v114-wage-history-row > div{
  display:flex;
  align-items:baseline;
  gap:9px;
}

.v114-wage-history-row span{
  color:var(--muted);
  font-size:9px;
}

.v114-missing-wage-notice{
  display:grid;
  gap:8px;
}

.v114-missing-wage-dates{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.v114-missing-wage-dates span{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  font-size:9px;
  font-weight:800;
}

@media(max-width:760px){
  .v114-wage-current{
    grid-template-columns:auto 1fr;
  }

  .v114-wage-form{
    grid-template-columns:1fr;
  }

  .v114-wage-history-row > div{
    display:grid;
    gap:2px;
  }
}


/* ===== v1.1.5 時給適用説明 ===== */
.v115-wage-rule{
  margin:-2px 0 12px;
  padding:9px 11px;
  border-left:3px solid #8eb38a;
  border-radius:0 9px 9px 0;
  background:#f7fbf6;
  color:#566259;
  font-size:9px;
  line-height:1.7;
}

.v115-wage-rule strong{
  color:var(--brand-green-dark);
}

.v115-current-wage-badge{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  margin-left:6px;
  padding:0 6px;
  border-radius:999px;
  background:#dcefd9;
  color:#1d5b25;
  font-size:7.5px;
  font-style:normal;
  font-weight:900;
  vertical-align:middle;
}


/* ===== v1.1.5 請求書 A4 1ページ最適化 ===== */
@media print{
  @page{
    size:A4 portrait;
    margin:0 !important;
  }

  html,
  body{
    width:210mm !important;
    height:297mm !important;
    max-height:297mm !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  #v092PrintRoot{
    width:210mm !important;
    height:297mm !important;
    max-height:297mm !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .v094-paper{
    width:210mm !important;
    height:297mm !important;
    min-height:0 !important;
    max-height:297mm !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    padding:7mm 10mm 5mm !important;
    page-break-before:avoid !important;
    page-break-after:avoid !important;
    page-break-inside:avoid !important;
    break-inside:avoid-page !important;
  }

  .v094-header{
    grid-template-columns:minmax(0,1.18fr) minmax(67mm,.82fr) !important;
    gap:6mm !important;
  }

  .v094-header-left{
    padding-top:3mm !important;
  }

  .v094-title-row h1{
    font-size:24px !important;
  }

  .v094-recipient{
    margin-top:8mm !important;
    padding-bottom:2mm !important;
    font-size:15px !important;
  }

  .v094-greeting{
    margin-top:3mm !important;
    font-size:8.7px !important;
    line-height:1.5 !important;
  }

  .v094-amount-card{
    margin-top:5mm !important;
    padding:3.5mm 5mm !important;
  }

  .v094-amount-card > strong{
    margin-top:1mm !important;
    font-size:24px !important;
  }

  .v094-due{
    margin-top:2.5mm !important;
    padding-top:2mm !important;
  }

  .v094-invoice-logo{
    width:25mm !important;
    height:25mm !important;
    margin-bottom:3mm !important;
  }

  .v094-issuer-meta{
    gap:.8mm !important;
  }

  .v094-issuer-meta > div{
    grid-template-columns:22mm 1fr !important;
    gap:1.5mm !important;
    font-size:7.8px !important;
    line-height:1.3 !important;
  }

  .v094-section{
    margin-top:5mm !important;
  }

  .v094-section-title{
    margin-bottom:2mm !important;
  }

  .v094-section-title strong{
    font-size:11px !important;
  }

  .v094-detail-table{
    font-size:7.7px !important;
  }

  .v094-detail-table th{
    padding:2mm 1.6mm !important;
  }

  .v094-detail-table td{
    padding:2mm 1.6mm !important;
  }

  .v094-empty-row{
    height:6mm !important;
  }

  .v094-total-box > div{
    min-height:7mm !important;
    font-size:8px !important;
  }

  .v094-total-box span,
  .v094-total-box b{
    padding:1.7mm 2.3mm !important;
  }

  .v094-total-box .grand span{
    font-size:9px !important;
  }

  .v094-total-box .grand b{
    font-size:14px !important;
  }

  .v094-bank-section{
    margin-top:4.5mm !important;
  }

  .v094-bank-table > div{
    min-height:5.8mm !important;
    font-size:7.8px !important;
  }

  .v094-bank-table span,
  .v094-bank-table b{
    padding:1.3mm 2.2mm !important;
  }

  .v094-note{
    min-height:10mm !important;
    margin-top:4mm !important;
    font-size:7.8px !important;
  }

  .v094-note-label,
  .v094-note-body{
    padding:2mm !important;
  }

  .v094-footer{
    margin-top:4mm !important;
    font-size:7.5px !important;
  }

  .v094-top-curve-a{
    width:132mm !important;
    height:28mm !important;
    right:-45mm !important;
    top:-21mm !important;
  }

  .v094-top-curve-b{
    width:120mm !important;
    height:24mm !important;
    right:-40mm !important;
    top:-18mm !important;
  }
}


/* ===== v1.1.7 お知らせPush送信履歴 ===== */
.v117-push-history{
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:5px 7px;
  margin-top:10px;
  padding:8px 10px;
  border:1px solid #dce7da;
  border-radius:10px;
  background:#f8fbf7;
  font-size:9px;
}

.v117-push-history strong{
  color:var(--brand-green-dark);
}

.v117-push-history > span:last-of-type{
  justify-self:end;
  color:var(--muted);
}

.v117-push-history small{
  grid-column:2 / -1;
  color:#725a5a;
  line-height:1.45;
}

.v117-push-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
  background:#9aa39c;
}

.v117-push-dot.sent{
  background:#2f7a38;
}

.v117-push-dot.partial{
  background:#c88913;
}

.v117-push-dot.no_devices,
.v117-push-dot.unknown{
  background:#8a928c;
}

.v117-push-dot.error{
  background:#b13a3a;
}

.v117-push-history.partial{
  background:#fffaf0;
  border-color:#ead9af;
}

.v117-push-history.error{
  background:#fff6f6;
  border-color:#e7c2c2;
}

@media(max-width:640px){
  .v117-push-history{
    grid-template-columns:auto 1fr;
  }

  .v117-push-history > span:last-of-type{
    grid-column:2;
    justify-self:start;
  }

  .v117-push-history small{
    grid-column:1 / -1;
  }
}


/* ===== v1.1.9 契約書印刷修正 ===== */

/*
  請求書はA4 1ページ固定だが、契約書は複数ページ。
  契約書印刷中だけ請求書用の height:297mm / overflow:hidden を打ち消す。
*/
@media print{
  html.v095-printing-contract,
  html.v095-printing-contract body{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  html.v095-printing-contract body > *{
    display:none !important;
  }

  html.v095-printing-contract body > #v095ContractPrintRoot{
    display:block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
  }

  html.v095-printing-contract #v095ContractPrintRoot .v095-contract-paper{
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:0 !important;
  }

  html.v095-printing-contract .v095-contract-print-clause{
    break-inside:avoid-page !important;
    page-break-inside:avoid !important;
  }

  html.v095-printing-contract .v095-contract-print-parties{
    break-inside:avoid-page !important;
    page-break-inside:avoid !important;
  }
}

/* Chrome/Edgeでは最後に宣言された@pageが使われるため、
   契約書はブラウザ側の標準余白も利用できるレイアウトにする */
@media print{
  html.v095-printing-contract #v095ContractPrintRoot{
    padding:12mm 14mm !important;
    box-sizing:border-box !important;
  }
}


/* ===== v1.1.9 管理者 請求書管理 ===== */
.v119-invoice-toolbar{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin-top:12px;
}

.v119-invoice-toolbar .compact-field{
  width:min(100%,240px);
}

.v119-admin-invoice-counts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.v119-admin-invoice-counts > div{
  border:1px solid var(--line);
  background:#f8fbf7;
  border-radius:10px;
  padding:10px;
}

.v119-admin-invoice-counts span{
  display:block;
  color:var(--muted);
  font-size:9px;
}

.v119-admin-invoice-counts strong{
  display:block;
  margin-top:2px;
  color:var(--brand-green-dark);
  font-size:18px;
}

.v119-admin-invoice-table td{
  vertical-align:middle;
}

@media(max-width:760px){
  .v119-admin-invoice-counts{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== v1.1.10 契約書PDF 余白・位置調整 ===== */

/*
  契約書だけ名前付きページを使い、
  請求書の @page margin:0 の影響を受けないようにする。
*/
@page ayukoneContract {
  size:A4 portrait;
  margin:17mm 18mm 18mm 18mm;
}

@media print{
  html.v095-printing-contract #v095ContractPrintRoot{
    page:ayukoneContract !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  html.v095-printing-contract #v095ContractPrintRoot .v095-contract-paper{
    page:ayukoneContract !important;
    width:100% !important;
    max-width:174mm !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  html.v095-printing-contract .v095-contract-print-header{
    display:grid !important;
    grid-template-columns:25mm 1fr 25mm !important;
    align-items:center !important;
    gap:4mm !important;
    min-height:25mm !important;
    margin:0 0 9mm !important;
    padding:0 0 4mm !important;
  }

  html.v095-printing-contract .v095-contract-print-header img{
    position:static !important;
    grid-column:1 !important;
    justify-self:start !important;
    align-self:center !important;
    width:21mm !important;
    height:21mm !important;
    max-width:21mm !important;
    max-height:21mm !important;
    margin:0 !important;
  }

  html.v095-printing-contract .v095-contract-print-header h1{
    grid-column:2 !important;
    justify-self:center !important;
    align-self:center !important;
    margin:0 !important;
    line-height:1.2 !important;
  }

  html.v095-printing-contract .v095-contract-intro-print,
  html.v095-printing-contract .v095-contract-print-clause,
  html.v095-printing-contract .v095-contract-print-parties{
    text-align:left !important;
  }
}


/* ===== v1.1.10 管理者 請求書 月別折りたたみ ===== */

.v1110-invoice-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.v1110-invoice-overview > div{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8fbf7;
}

.v1110-invoice-overview span{
  display:block;
  color:var(--muted);
  font-size:9px;
}

.v1110-invoice-overview strong{
  display:block;
  margin-top:2px;
  color:var(--brand-green-dark);
  font-size:18px;
}

.v1110-invoice-tools{
  display:flex;
  gap:8px;
  margin-top:12px;
  flex-wrap:wrap;
}

.v1110-month-stack{
  display:grid;
  gap:10px;
}

.v1110-invoice-month{
  padding:0 !important;
  overflow:hidden;
}

.v1110-invoice-month-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  cursor:pointer;
  user-select:none;
  background:#fff;
}

.v1110-invoice-month-summary::-webkit-details-marker{
  display:none;
}

.v1110-invoice-month[open] > .v1110-invoice-month-summary{
  border-bottom:1px solid var(--line);
  background:#f8fbf7;
}

.v1110-month-title{
  display:grid;
  gap:3px;
}

.v1110-month-title strong{
  color:var(--brand-green-dark);
  font-size:18px;
}

.v1110-month-title span{
  color:var(--muted);
  font-size:10px;
}

.v1110-month-summary-right{
  display:flex;
  align-items:center;
  gap:12px;
  flex:none;
}

.v1110-month-summary-right > strong{
  color:var(--brand-green-dark);
  font-size:17px;
}

.v1110-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--brand-green-dark);
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
}

.v1110-invoice-month[open] .v1110-chevron{
  transform:rotate(180deg);
}

.v1110-month-body{
  padding:14px 18px 18px;
}

.v1110-invoice-table-wrap{
  margin-top:14px;
}

@media(max-width:760px){
  .v1110-invoice-overview{
    grid-template-columns:1fr;
  }

  .v1110-invoice-month-summary{
    align-items:flex-start;
    padding:14px;
  }

  .v1110-month-summary-right{
    gap:7px;
  }

  .v1110-month-summary-right > strong{
    font-size:14px;
  }

  .v1110-month-body{
    padding:12px 14px 16px;
  }
}


/* ===== v1.1.11 スマホの案件カードを1行3件表示 ===== */
@media(max-width:600px){
  .v076-project-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .v076-project-card{
    padding:7px !important;
    border-radius:11px !important;
    margin:0 !important;
    min-width:0 !important;
  }

  .v076-project-head{
    display:block !important;
    margin-bottom:7px !important;
  }

  .v076-project-name{
    font-size:11px !important;
    line-height:1.25 !important;
    min-height:28px;
  }

  .v076-project-kana{
    display:none !important;
  }

  .v076-status{
    margin-top:4px;
    padding:2px 5px !important;
    font-size:7px !important;
  }

  .v076-field{
    gap:2px !important;
  }

  .v076-field > span,
  .v076-mini-field > span{
    font-size:7.5px !important;
    line-height:1.2 !important;
  }

  .v076-field input,
  .v076-field select,
  .v076-mini-field input{
    min-height:32px !important;
    padding:4px 4px !important;
    border-radius:7px !important;
    font-size:11px !important;
  }

  .v076-number-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:4px !important;
    margin-top:5px !important;
  }

  .v076-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:4px !important;
    margin-top:5px !important;
  }

  .v076-metrics > div{
    padding:5px 3px !important;
    border-radius:7px !important;
  }

  .v076-metrics span{
    font-size:6.5px !important;
    line-height:1.15 !important;
  }

  .v076-metrics strong{
    margin-top:2px !important;
    font-size:10px !important;
  }

  .v086-no-time-box{
    padding:5px !important;
    border-radius:7px !important;
  }

  .v086-no-time-box span,
  .v086-no-time-box small{
    font-size:6.5px !important;
  }

  .v086-no-time-box strong{
    font-size:11px !important;
  }
}

@media(max-width:370px){
  .v076-project-grid{
    gap:4px !important;
  }

  .v076-project-card{
    padding:6px !important;
  }

  .v076-project-name{
    font-size:10px !important;
  }

  .v076-field input,
  .v076-field select{
    font-size:10px !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }
}


/* ===== v1.1.12 管理者専用 記録・データ削除 ===== */
.v1112-delete-card{
  border-color:#ead5d5 !important;
}

.v1112-delete-user{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  gap:10px;
  align-items:end;
}

.v1112-selected-user{
  min-height:58px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbf7;
}

.v1112-selected-user span,
.v1112-selected-user small{
  color:var(--muted);
  font-size:8.5px;
}

.v1112-selected-user strong{
  color:var(--brand-green-dark);
}

.v1112-delete-section{
  margin-top:14px;
  padding:14px;
  border:1px solid #e1e8df;
  border-radius:12px;
  background:#fbfcfb;
}

.v1112-delete-section > div:first-child > strong{
  color:var(--brand-green-dark);
  font-size:12px;
}

.v1112-delete-section p{
  margin:5px 0 0;
  color:#5e6861;
  font-size:9.5px;
  line-height:1.65;
}

.v1112-range-form{
  display:grid;
  grid-template-columns:minmax(140px,.7fr) minmax(140px,.7fr) auto;
  align-items:end;
  gap:8px;
  margin-top:12px;
}

.v1112-danger-zone{
  border-color:#e3bebe;
  background:#fff8f8;
}

.v1112-danger-zone > div:first-child > strong{
  color:#8e2525;
}

.v1112-delete-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}

.v1112-delete-list span{
  display:inline-flex;
  padding:5px 8px;
  border:1px solid #ead0d0;
  border-radius:999px;
  background:#fff;
  color:#795454;
  font-size:8.5px;
}

.v1112-confirm-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto;
  align-items:end;
  gap:8px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #ead0d0;
}

.v1112-confirm-box label{
  color:#6f4b4b;
  font-size:9.5px;
  line-height:1.55;
}

.v1112-confirm-box .btn:disabled{
  opacity:.42;
  cursor:not-allowed;
}

@media(max-width:760px){
  .v1112-delete-user,
  .v1112-range-form,
  .v1112-confirm-box{
    grid-template-columns:1fr;
  }
}


/* ===== v1.1.13 案件実績の記録者内訳 ===== */
.v1113-project-note{
  margin:8px 0 12px;
  padding:9px 11px;
  border:1px solid #dce7da;
  border-radius:10px;
  background:#f8fbf7;
  color:#59655c;
  font-size:9px;
  line-height:1.6;
}

.v1113-source-details{
  min-width:110px;
}

.v1113-source-details summary{
  cursor:pointer;
  color:var(--brand-green-dark);
  font-weight:800;
  white-space:nowrap;
}

.v1113-source-list{
  display:grid;
  gap:6px;
  min-width:320px;
  margin-top:8px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.v1113-source-row{
  display:grid;
  grid-template-columns:minmax(120px,1.2fr) auto auto auto;
  gap:6px 10px;
  align-items:center;
  padding:7px 8px;
  border-radius:8px;
  background:#f8fbf7;
  font-size:8.5px;
}

.v1113-source-row > div:first-child{
  display:grid;
}

.v1113-source-row > div:first-child span{
  color:var(--muted);
  font-size:7.5px;
}

.v1113-source-dates{
  grid-column:1 / -1;
  color:var(--muted);
  font-size:7.5px;
}

.v1113-admin-reset-note{
  margin-top:13px;
  padding:10px 12px;
  border:1px solid #ead0d0;
  border-radius:10px;
  background:#fff;
  color:#795454;
  font-size:9px;
  line-height:1.65;
}

@media(max-width:700px){
  .v1113-source-list{
    min-width:245px;
  }

  .v1113-source-row{
    grid-template-columns:1fr 1fr;
  }

  .v1113-source-row > div:first-child,
  .v1113-source-dates{
    grid-column:1 / -1;
  }
}


/* ===== v1.1.14 管理者専用 案件台帳 ===== */

.v1114-average-wage-card,
.v1114-project-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.v1114-average-wage-card > div,
.v1114-project-summary > div{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8fbf7;
}

.v1114-average-wage-card span,
.v1114-project-summary span{
  display:block;
  color:var(--muted);
  font-size:8.5px;
}

.v1114-average-wage-card strong,
.v1114-project-summary strong{
  display:block;
  margin-top:2px;
  color:var(--brand-green-dark);
  font-size:17px;
}

.v1114-average-wage-note{
  margin-top:9px;
  color:var(--muted);
  font-size:8.5px;
  line-height:1.55;
}

.v1114-create-project{
  padding:0 !important;
  overflow:hidden;
}

.v1114-create-project > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 18px;
  cursor:pointer;
}

.v1114-create-project > summary::-webkit-details-marker{
  display:none;
}

.v1114-create-project > summary strong{
  color:var(--brand-green-dark);
  font-size:17px;
}

.v1114-create-project > summary span{
  color:var(--muted);
  font-size:9px;
}

.v1114-create-project[open] > summary{
  border-bottom:1px solid var(--line);
  background:#f8fbf7;
}

.v1114-create-body{
  padding:16px 18px 18px;
}

.v1114-project-form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px 10px;
}

.v1114-span-2{
  grid-column:span 2;
}

.v1114-hidden{
  display:none !important;
}

.v1114-auto-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
  margin-top:14px;
}

.v1114-auto-grid > div{
  min-width:0;
  padding:9px 8px;
  border:1px solid #dbe6d8;
  border-radius:10px;
  background:#f7fbf6;
}

.v1114-auto-grid span,
.v1114-auto-grid small{
  display:block;
  color:var(--muted);
  font-size:7.5px;
  line-height:1.35;
}

.v1114-auto-grid strong{
  display:block;
  margin:3px 0 2px;
  color:var(--brand-green-dark);
  font-size:13px;
  word-break:break-word;
}

.v1114-create-button{
  width:100%;
  margin-top:13px;
}

.v1114-project-list{
  display:grid;
  gap:9px;
  margin-top:12px;
}

.v1114-project-ledger{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.v1114-project-ledger > summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(0,1.7fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  cursor:pointer;
  user-select:none;
}

.v1114-project-ledger > summary::-webkit-details-marker{
  display:none;
}

.v1114-project-ledger[open] > summary{
  background:#f8fbf7;
  border-bottom:1px solid var(--line);
}

.v1114-ledger-title{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.v1114-ledger-title strong{
  color:var(--brand-green-dark);
  overflow:hidden;
  text-overflow:ellipsis;
}

.v1114-ledger-summary-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px 12px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:8.5px;
}

.v1114-ledger-summary-meta strong{
  color:#23672c;
}

.v1114-ledger-summary-meta .v1114-negative,
.v1114-negative{
  color:#a02e2e !important;
}

.v1114-ledger-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--brand-green-dark);
  transition:transform .18s ease;
}

.v1114-project-ledger[open] .v1114-ledger-chevron{
  transform:rotate(180deg);
}

.v1114-ledger-body{
  padding:14px;
}

.v1114-project-actions{
  margin-top:13px;
}

@media(max-width:900px){
  .v1114-project-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v1114-auto-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .v1114-project-summary,
  .v1114-average-wage-card{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .v1114-project-form-grid{
    grid-template-columns:1fr;
  }

  .v1114-span-2{
    grid-column:auto;
  }

  .v1114-auto-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v1114-project-ledger > summary{
    grid-template-columns:1fr auto;
  }

  .v1114-ledger-summary-meta{
    grid-column:1 / -1;
    justify-content:flex-start;
  }

  .v1114-project-summary,
  .v1114-average-wage-card{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== v1.1.15 案件進捗・管理値補正 ===== */

/* 自動計算カードの補足文字を読みやすくする */
.v1114-auto-grid span,
.v1114-auto-grid small{
  color:#47564b !important;
  opacity:1 !important;
  font-weight:600;
}

.v1114-auto-grid span{
  font-size:8px !important;
}

.v1114-auto-grid small{
  font-size:7.5px !important;
}

.v1115-auto-grid{
  grid-template-columns:repeat(9,minmax(0,1fr));
}

.v1115-goal-card{
  background:#eef7ec !important;
  border-color:#bfd7bb !important;
}

.v1115-goal-card b{
  display:block;
  margin:3px 0 2px;
  color:#163f1c;
  font-size:12px;
}

.v1115-field-hint{
  display:block;
  margin-top:3px;
  color:#506054;
  font-size:8px;
  line-height:1.35;
}

.v1115-override-note{
  margin-top:9px;
  padding:8px 10px;
  border:1px solid #d6e3d3;
  border-radius:9px;
  background:#f7fbf6;
  color:#415046;
  font-size:8.5px;
  line-height:1.6;
}

/* 閉じた状態でも状況を確認しやすく */
.v1115-ledger-summary-meta{
  justify-content:flex-start !important;
  gap:5px !important;
}

.v1115-summary-chip{
  display:inline-flex !important;
  align-items:center;
  min-height:25px;
  padding:4px 7px;
  border:1px solid #dce6d9;
  border-radius:999px;
  background:#f7faf6;
  color:#334239 !important;
  font-size:9px !important;
  font-weight:700;
  white-space:nowrap;
}

.v1115-goal-summary{
  background:#edf7eb;
  border-color:#bcd7b7;
  color:#174b20 !important;
}

.v1114-ledger-summary-meta{
  color:#3f4d43 !important;
  font-size:9.5px !important;
}

.v1114-create-project > summary span,
.v1114-average-wage-note,
.v1114-project-summary span,
.v1114-average-wage-card span{
  color:#4c5b50 !important;
}

/* 閉じた案件カードを少し広く使う */
.v1114-project-ledger > summary{
  grid-template-columns:minmax(145px,.6fr) minmax(0,2.4fr) auto !important;
  align-items:start !important;
}

@media(max-width:1100px){
  .v1115-auto-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .v1115-auto-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .v1114-project-ledger > summary{
    grid-template-columns:1fr auto !important;
  }

  .v1115-ledger-summary-meta{
    grid-column:1 / -1;
  }

  .v1115-summary-chip{
    font-size:8.5px !important;
  }
}

@media(max-width:480px){
  .v1115-auto-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v1115-summary-chip{
    white-space:normal;
  }
}


/* ===== v1.1.16 案件補正方式・開いた画面の簡素化 ===== */

.v1116-adjust-field{
  background:#f8fbf7;
  border:1px solid #dce8d9;
  border-radius:10px;
  padding:8px;
}

.v1116-adjust-field input{
  background:#fff;
}

.v1116-adjust-field .v1115-field-hint{
  color:#33463a !important;
  font-weight:700;
  line-height:1.5;
}

.v1116-adjust-explanation{
  display:flex;
  gap:7px;
  align-items:flex-start;
  margin-top:12px;
  padding:9px 11px;
  border:1px solid #d7e5d4;
  border-radius:10px;
  background:#f5faf4;
  color:#36473a;
  font-size:8.5px;
  line-height:1.55;
}

.v1116-adjust-explanation strong{
  flex:none;
  color:#174d20;
}

.v1115-summary-chip{
  color:#26382c !important;
  border-color:#cddcc9 !important;
  background:#fafcf9 !important;
}

.v1115-goal-summary{
  background:#eaf6e8 !important;
  color:#123f19 !important;
  border-color:#aacda4 !important;
}

/* v1.1.16では開いた案件内の重複集計カードは表示しない。
   数字確認は閉じた案件カードに集約。 */
.v1114-ledger-summary-meta{
  line-height:1.35;
}

@media(max-width:600px){
  .v1116-adjust-explanation{
    display:block;
  }

  .v1116-adjust-explanation strong{
    display:block;
    margin-bottom:3px;
  }
}


/* ===== v1.1.17 閉じた案件カードに概算人件費 ===== */
.v1117-labor-chip{
  background:#f3f6f2 !important;
  border-color:#cbd8c8 !important;
  color:#33443a !important;
}


/* ===== v1.1.18 管理者 経費管理 ===== */

.v1118-month-head{
  display:grid;
  grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);
  gap:10px;
  align-items:end;
  margin-top:10px;
}

.v1118-current-admin{
  display:grid;
  gap:2px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8fbf7;
}

.v1118-current-admin span,
.v1118-current-admin small{
  color:#4a5b4f;
  font-size:8.5px;
}

.v1118-current-admin strong{
  color:var(--brand-green-dark);
  font-size:14px;
}

.v1118-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.v1118-summary-grid > div{
  padding:11px 12px;
  border:1px solid #d9e6d6;
  border-radius:11px;
  background:#f8fbf7;
}

.v1118-summary-grid span{
  display:block;
  color:#405146;
  font-size:8.5px;
  font-weight:700;
}

.v1118-summary-grid strong{
  display:block;
  margin-top:3px;
  color:var(--brand-green-dark);
  font-size:17px;
}

.v1118-zoom-card{
  border-color:#c7dcbf !important;
}

.v1118-always{
  display:inline-flex;
  align-items:center;
  margin-left:5px;
  padding:2px 6px;
  border-radius:999px;
  background:#e7f4e2;
  color:#276632;
  font-size:8px;
  vertical-align:middle;
}

.v1118-zoom-form{
  display:grid;
  grid-template-columns:150px 150px minmax(180px,1fr) auto auto;
  gap:8px;
  align-items:end;
}

.v1118-entry-grid{
  display:grid;
  grid-template-columns:150px minmax(180px,1fr) 160px minmax(180px,1.2fr);
  gap:9px;
  align-items:end;
}

.v1118-note-field{
  min-width:0;
}

.v1118-form-actions{
  display:flex;
  gap:8px;
  margin-top:12px;
}

.v1118-selected-total{
  text-align:right;
}

.v1118-selected-total span{
  display:block;
  color:#4c5b50;
  font-size:8px;
}

.v1118-selected-total strong{
  display:block;
  color:var(--brand-green-dark);
  font-size:16px;
}

.v1118-owner-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:10px 0 12px;
}

.v1118-owner-tab{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:7px 11px;
  color:#435148;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

.v1118-owner-tab.active{
  border-color:var(--primary);
  background:var(--primary);
  color:#fff;
}

.v1118-admin-breakdown{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:12px;
}

.v1118-admin-breakdown > div{
  padding:9px 10px;
  border:1px solid #dde7da;
  border-radius:10px;
  background:#fafcf9;
}

.v1118-admin-breakdown span,
.v1118-admin-breakdown small{
  display:block;
  color:#4b5b50;
  font-size:8px;
}

.v1118-admin-breakdown strong{
  display:block;
  margin:2px 0;
  color:#173e1d;
  font-size:13px;
}

.v1118-expense-table td{
  vertical-align:middle;
}

.v1118-zoom-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border:1px solid #bcd7b6;
  border-radius:999px;
  background:#edf7ea;
  color:#1f6029;
  font-size:8.5px;
  font-weight:800;
}

.v1118-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.v1118-history-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.v1118-history-month{
  width:100%;
  text-align:left;
  border:1px solid #dce6d9;
  border-radius:11px;
  background:#fafcf9;
  padding:10px 11px;
  cursor:pointer;
}

.v1118-history-month.active{
  border-color:#8dbc87;
  background:#f0f8ee;
}

.v1118-history-month span,
.v1118-history-month small{
  display:block;
  color:#46564b;
  font-size:8.5px;
}

.v1118-history-month strong{
  display:block;
  margin:3px 0;
  color:#173f1d;
  font-size:15px;
}

@media(max-width:900px){
  .v1118-summary-grid,
  .v1118-admin-breakdown{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v1118-zoom-form,
  .v1118-entry-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v1118-note-field{
    grid-column:span 2;
  }

  .v1118-history-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .v1118-month-head{
    grid-template-columns:1fr;
  }

  .v1118-summary-grid,
  .v1118-admin-breakdown{
    grid-template-columns:1fr 1fr;
  }

  .v1118-zoom-form,
  .v1118-entry-grid{
    grid-template-columns:1fr;
  }

  .v1118-note-field{
    grid-column:auto;
  }

  .v1118-form-actions{
    flex-direction:column;
  }

  .v1118-history-grid{
    grid-template-columns:1fr;
  }

  .v1118-table-wrap{
    overflow-x:auto;
  }

  .v1118-expense-table{
    min-width:760px;
  }
}


/* ===== v1.1.19 月次損益出力 ===== */
.v1119-profit-loss-export{
  border-color:#d9c7cc !important;
}
.v1119-profit-loss-export .section-title h3{
  color:#5f2d3d;
}


/* ===== v1.1.21 出力の自動タイミング表示 ===== */
.v1121-export-badges{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  flex:none;
}

.v1121-auto-schedule{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 8px;
  border:1px solid #d6e3d2;
  border-radius:999px;
  background:#f7faf6;
  color:#39503f;
  font-size:8.5px;
  font-weight:800;
  white-space:nowrap;
}

.v1121-timing-note strong{
  color:#1d5726;
}

@media(max-width:600px){
  .v1121-export-badges{
    align-items:flex-start;
    margin-top:6px;
  }

  .v1121-auto-schedule{
    white-space:normal;
  }
}


/* ===== v1.1.25 マニュアル配置 + 直近7日間実績 ===== */
.v1125-position-help,
.v1125-position-label{
  color:#405047 !important;
  font-weight:700;
}

.v1125-seven-days{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.v1125-day-detail{
  border:1px solid #d9e5d6;
  border-radius:12px;
  background:#fbfdfb;
  overflow:hidden;
}

.v1125-day-detail > summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  cursor:pointer;
  list-style:none;
  background:#f6faf5;
}

.v1125-day-detail > summary::-webkit-details-marker{display:none;}
.v1125-day-detail > summary div{display:grid;gap:2px;}
.v1125-day-detail > summary strong{color:#173f1d;font-size:13px;}
.v1125-day-detail > summary span{color:#4b5b50;font-size:9px;}

.v1125-day-count{
  flex:none;
  padding:4px 7px;
  border-radius:999px;
  background:#e7f4e3;
  color:#24642d !important;
  font-weight:800;
}

.v1125-day-body{
  display:grid;
  gap:9px;
  padding:10px;
}

.v1125-project-day-block{
  border:1px solid #dce6d9;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

.v1125-project-day-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  background:#f1f7ef;
}

.v1125-project-day-head strong{
  color:#163f1c;
}

.v1125-project-day-head span{
  color:#44554a;
  font-size:8.5px;
  font-weight:700;
}

.v1125-project-staff-table{
  min-width:480px;
}

.v1125-role{
  display:inline-flex;
  padding:3px 6px;
  border-radius:999px;
  font-size:8px;
  font-weight:800;
}

.v1125-role.staff{
  background:#edf6eb;
  color:#25632e;
}

.v1125-role.admin{
  background:#f3edf0;
  color:#6a3345;
}

@media(max-width:600px){
  .v1125-day-detail > summary{
    align-items:flex-start;
  }
  .v1125-project-day-head{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ============================================================
   v1.1.26 DB容量整理 / 長期保管
   ============================================================ */
.v1126-storage-tab{
  color:#a51d1d !important;
  border-color:#efcaca !important;
}

.v1126-storage-tab.active{
  background:#fff1f1 !important;
  color:#8f1717 !important;
  border-color:#d99a9a !important;
}

.v1126-storage-title{
  align-items:flex-start;
}

.v1126-owner-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:6px;
  padding:4px 8px;
  border:1px solid #efb7b7;
  border-radius:999px;
  background:#fff1f1;
  color:#9c1d1d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
}

.v1126-storage-owner-card h2{
  margin-top:0;
}

.v1126-storage-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.v1126-storage-metrics > div{
  display:grid;
  gap:4px;
  padding:13px;
  border:1px solid #dfe8dc;
  border-radius:13px;
  background:#f8fbf7;
}

.v1126-storage-metrics span{
  color:#637067;
  font-size:10px;
  font-weight:700;
}

.v1126-storage-metrics strong{
  color:#173f1d;
  font-size:18px;
}

.v1126-storage-progress{
  height:10px;
  margin:14px 0 10px;
  overflow:hidden;
  border-radius:999px;
  background:#edf1ec;
  border:1px solid #dde4db;
}

.v1126-storage-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#4f8b58,#b48836,#b42318);
}

.v1126-capacity-message{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #dce6d9;
  background:#f7faf6;
}

.v1126-capacity-message strong{
  flex:none;
}

.v1126-capacity-message.ok strong{color:#267033;}
.v1126-capacity-message.warn strong{color:#9b6411;}
.v1126-capacity-message.danger strong{color:#b42318;}

.v1126-owner-warning{
  display:grid;
  gap:4px;
  margin:12px 0;
  padding:11px 12px;
  border-left:4px solid #b42318;
  border-radius:10px;
  background:#fff5f5;
}

.v1126-owner-warning strong{
  color:#a11d1d;
}

.v1126-owner-warning span{
  color:#5f4a4a;
  font-size:10px;
}

.v1126-retention-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);
  gap:12px;
  align-items:end;
}

.v1126-cutoff-summary{
  min-height:64px;
  display:grid;
  gap:3px;
  align-content:center;
  padding:10px 12px;
  border:1px solid #dce6d9;
  border-radius:12px;
  background:#f8fbf7;
}

.v1126-cutoff-summary span,
.v1126-cutoff-summary small{
  color:#68736b;
  font-size:9px;
}

.v1126-cutoff-summary strong{
  color:#173f1d;
}

.v1126-preview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.v1126-preview-grid > div{
  display:grid;
  gap:3px;
  padding:10px;
  border:1px solid #e1e8df;
  border-radius:10px;
  background:#fff;
}

.v1126-preview-grid span{
  color:#6b756d;
  font-size:9px;
}

.v1126-preview-grid strong{
  color:#173f1d;
}

.v1126-total-target{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:10px 0;
  padding:10px 12px;
  border-radius:10px;
  background:#f2f7f0;
}

.v1126-total-target span{
  font-size:10px;
  color:#59665d;
}

.v1126-total-target strong{
  color:#173f1d;
  font-size:17px;
}

.btn.v1126-danger-action{
  background:#fff !important;
  color:#b42318 !important;
  border:1px solid #d96b64 !important;
  box-shadow:none !important;
  font-weight:900 !important;
}

.btn.v1126-danger-action:hover:not(:disabled){
  background:#fff2f1 !important;
}

.btn.v1126-danger-action:disabled{
  color:#b9a1a1 !important;
  border-color:#e2d4d4 !important;
  background:#faf7f7 !important;
}

.v1126-main-cleanup-button{
  width:100%;
  margin-top:10px;
  min-height:48px;
}

.v1126-cleanup-safety{
  display:grid;
  gap:4px;
  margin:10px 0;
  padding:10px 12px;
  border-radius:10px;
  background:#fff9ef;
  border:1px solid #efd9af;
}

.v1126-cleanup-safety strong{color:#7c5316;}
.v1126-cleanup-safety span,
.v1126-cleanup-safety small{color:#6d604d;font-size:9px;}

.v1126-processing-note,
.v1126-archived-pending{
  display:grid;
  gap:6px;
  margin:10px 0;
  padding:11px 12px;
  border:1px solid #d7e6d2;
  border-radius:11px;
  background:#f3f9f1;
}

.v1126-processing-note strong,
.v1126-archived-pending strong{
  color:#245d2a;
}

.v1126-processing-note span,
.v1126-archived-pending span{
  font-size:10px;
  color:#566158;
}

.v1126-inline-manual summary{
  cursor:pointer;
  color:#173f1d;
}

.v1126-inline-manual > div{
  padding-top:10px;
}

.v1126-inline-manual ol{
  margin:0;
  padding-left:20px;
}

.v1126-inline-manual li{
  margin:7px 0;
  line-height:1.6;
}

.v1126-manual-caution{
  margin-top:10px;
  padding:10px;
  border-radius:9px;
  background:#fff6f4;
  border:1px solid #efd4cf;
  color:#684845;
  font-size:10px;
  line-height:1.6;
}

.v1126-job-list{
  display:grid;
  gap:8px;
}

.v1126-job-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e0e7dd;
  border-radius:10px;
  background:#fff;
}

.v1126-job-row.failed{
  border-color:#efd0d0;
  background:#fff8f8;
}

.v1126-job-row > div{
  display:grid;
  gap:2px;
}

.v1126-job-row span,
.v1126-job-row small{
  font-size:9px;
  color:#657067;
}

.v1126-job-error{
  color:#aa2828 !important;
}

.v1126-manual-owner-note{
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid #efc2c2;
  border-radius:10px;
  background:#fff4f4;
  color:#6e3d3d;
}

.v1126-manual-owner-note strong{
  color:#a31f1f;
}

.v1126-manual-danger-jump{
  color:#a31f1f !important;
  border-color:#e8bebe !important;
}

@media(max-width:760px){
  .v1126-storage-metrics,
  .v1126-preview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v1126-retention-row{
    grid-template-columns:1fr;
  }
}


/* v1.1.30 manual full ordering */
.v1130-manual-order-card{
  border:1px solid #cbdcc8;
}
.v1130-order-help,
.v1130-order-form-note{
  font-size:12px;
  line-height:1.7;
  color:#516153;
  background:#f4f8f2;
  border:1px solid #dce8d8;
  border-radius:10px;
  padding:9px 11px;
  margin-top:8px;
}
.v1130-manual-order-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:12px;
}
.v1130-manual-order-row{
  display:grid;
  grid-template-columns:auto 34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #e0e8de;
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.v1130-order-index{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:800;
  font-size:12px;
  color:#24552b;
  background:#edf6ea;
}
.v1130-fixed-badge,
.v1130-custom-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:2px 7px;
  font-size:10px;
  font-weight:800;
}
.v1130-fixed-badge{
  color:#5a4300;
  background:#fff2bd;
}
.v1130-custom-badge{
  color:#1e5627;
  background:#e3f3df;
}
.v1130-hidden-manuals{
  margin-top:14px;
  border-top:1px solid #e1e8df;
  padding-top:10px;
}
.v1130-hidden-manuals summary{
  cursor:pointer;
  font-weight:700;
  color:#7a2a2a;
}
.v1130-hidden-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}
.v1130-hidden-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:1px dashed #ddcaca;
  border-radius:10px;
  background:#fffafa;
}
@media (max-width:700px){
  .v1130-manual-order-row{
    grid-template-columns:auto 28px minmax(0,1fr);
  }
  .v1130-manual-order-row .v104-admin-manual-actions{
    grid-column:1 / -1;
  }
}


/* ===== v1.1.31 リマインド ===== */
.bottom-nav[style*="--nav-count:9"] .nav-btn{
  padding-left:0;
  padding-right:0;
  font-size:8px;
}

.v1131-reminder-create{
  border-top:4px solid var(--brand-green);
}
.v1131-alarm-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fafcf9;
  cursor:pointer;
}
.v1131-alarm-toggle input{
  width:22px;
  height:22px;
  flex:0 0 auto;
}
.v1131-alarm-toggle span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.v1131-alarm-toggle small{
  color:var(--muted);
  font-size:11px;
}
.v1131-current-sound{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  margin-bottom:10px;
  border-radius:12px;
  background:#f4f8f2;
  border:1px solid #dce8d8;
  font-size:12px;
}
.v1131-reminder-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}
.v1131-reminder-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.v1131-reminder-card{
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px;
  background:#fff;
}
.v1131-reminder-card.completed{
  background:#fafafa;
  opacity:.94;
}
.v1131-reminder-head{
  display:flex;
  gap:10px;
  justify-content:space-between;
  align-items:flex-start;
}
.v1131-reminder-head strong{
  font-size:15px;
}
.v1131-reminder-time{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.v1131-reminder-note{
  margin:10px 0;
  padding:10px 11px;
  border-radius:10px;
  background:#f8faf8;
  border:1px solid #e8eee6;
  font-size:12px;
  line-height:1.7;
  overflow-wrap:anywhere;
}
.v1131-reschedule{
  margin:10px 0;
  padding:10px;
  border:1px dashed #cdd9ca;
  border-radius:11px;
  background:#fbfdfb;
}
.v1131-reschedule .btn{
  margin-top:8px;
}
.v1131-sound-note{
  line-height:1.7;
}
@media(max-width:520px){
  .bottom-nav[style*="--nav-count:9"] .nav-btn{
    font-size:7.5px;
    padding-left:0;
    padding-right:0;
  }
  .v1131-reminder-head{
    align-items:flex-start;
  }
}


/* v1.1.32 - reminder alarm visibility fix */
.v1132-reminder-alarm-overlay{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(8,22,10,.56);
  backdrop-filter:blur(3px);
  animation:v1132AlarmFade .16s ease-out;
}
.v1132-reminder-alarm-card{
  width:min(520px,94vw);
  border-radius:24px;
  background:#fff;
  border:3px solid #a32222;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  padding:26px 22px 20px;
  text-align:center;
  animation:v1132AlarmPop .28s ease-out;
}
.v1132-reminder-alarm-icon{
  font-size:38px;
  line-height:1;
  animation:v1132AlarmBell .8s ease-in-out 3;
}
.v1132-reminder-alarm-kicker{
  margin-top:10px;
  font-weight:900;
  font-size:20px;
  color:#a32222;
}
.v1132-reminder-alarm-card h2{
  margin:8px 0 4px;
  font-size:28px;
  line-height:1.35;
  color:#17301a;
}
.v1132-reminder-alarm-time{
  font-weight:800;
  color:#4d5b50;
  margin-top:4px;
}
.v1132-reminder-alarm-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  text-align:left;
  background:#f4f8f2;
  border:1px solid #dce8d8;
  line-height:1.7;
}
.v1132-reminder-alarm-actions{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@keyframes v1132AlarmFade{
  from{opacity:0}to{opacity:1}
}
@keyframes v1132AlarmPop{
  from{transform:scale(.92);opacity:.5}to{transform:scale(1);opacity:1}
}
@keyframes v1132AlarmBell{
  0%,100%{transform:rotate(0)}
  25%{transform:rotate(-14deg)}
  75%{transform:rotate(14deg)}
}
@media(max-width:560px){
  .v1132-reminder-alarm-card{
    padding:22px 16px 16px;
  }
  .v1132-reminder-alarm-card h2{
    font-size:24px;
  }
  .v1132-reminder-alarm-actions{
    grid-template-columns:1fr;
  }
}


/* ===== v1.1.33 横スクロール下部メニュー ===== */

/* 以前のnav-count依存の縮小指定を上書き */
.bottom-nav{
  display:block !important;
  width:min(820px,100%);
  padding:0 !important;
  min-height:76px;
  overflow:visible;
  position:fixed;
}

.v1133-nav-scroll{
  display:flex;
  align-items:stretch;
  gap:2px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:9px 42px calc(10px + env(safe-area-inset-bottom));
  touch-action:pan-x;
}
.v1133-nav-scroll::-webkit-scrollbar{
  display:none;
}

.bottom-nav .nav-btn,
.bottom-nav[style*="--nav-count:6"] .nav-btn,
.bottom-nav[style*="--nav-count:7"] .nav-btn,
.bottom-nav[style*="--nav-count:8"] .nav-btn{
  flex:0 0 84px;
  min-width:84px;
  min-height:50px;
  padding:10px 8px !important;
  font-size:12.5px !important;
  line-height:1.15;
  white-space:nowrap;
  position:relative;
}

.v1133-nav-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-58%);
  z-index:5;
  width:34px;
  height:42px;
  border:1px solid #cbdcc8;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#1f5424;
  font-size:30px;
  font-weight:900;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 3px 12px rgba(31,84,36,.18);
  cursor:pointer;
  transition:opacity .18s ease,transform .18s ease;
}
.v1133-nav-arrow-left{
  left:5px;
}
.v1133-nav-arrow-right{
  right:5px;
}
.v1133-nav-arrow.is-hidden{
  opacity:.16;
  pointer-events:none;
}

.v1133-nav-hint{
  position:absolute;
  left:50%;
  top:-22px;
  transform:translateX(-50%);
  z-index:4;
  border:1px solid #d8e7d5;
  background:rgba(247,251,246,.97);
  color:#557059;
  border-radius:999px;
  padding:3px 10px;
  font-size:10px;
  font-weight:800;
  line-height:1.25;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(31,84,36,.07);
  pointer-events:none;
}

.v1133-nav-scroll::before,
.v1133-nav-scroll::after{
  content:"";
  flex:0 0 1px;
}

@media(max-width:520px){
  .bottom-nav{
    min-height:78px;
  }
  .v1133-nav-scroll{
    padding-left:40px;
    padding-right:40px;
  }
  .bottom-nav .nav-btn{
    flex-basis:88px;
    min-width:88px;
    font-size:13px !important;
  }
  .v1133-nav-arrow{
    width:32px;
    height:40px;
    font-size:28px;
  }
  .v1133-nav-hint{
    font-size:10px;
    top:-21px;
  }
}


/* ===== v1.1.34 下部メニュー微調整 ===== */
.v1133-nav-scroll{
  padding-left:26px !important;
  padding-right:26px !important;
}

.bottom-nav .nav-btn{
  flex:0 0 76px !important;
  min-width:76px !important;
  min-height:48px !important;
  padding:9px 6px !important;
  font-size:11.5px !important;
  line-height:1.15 !important;
}

.v1133-nav-arrow{
  width:17px !important;
  height:28px !important;
  font-size:18px !important;
  font-weight:800 !important;
  border-radius:999px !important;
  border:1px solid rgba(203,220,200,.75) !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 1px 5px rgba(31,84,36,.08) !important;
  pointer-events:none !important;
  opacity:.75;
}
.v1133-nav-arrow-left{
  left:3px !important;
}
.v1133-nav-arrow-right{
  right:3px !important;
}
.v1133-nav-arrow.is-hidden{
  opacity:.08 !important;
}

.v1133-nav-hint{
  font-size:9px !important;
  padding:2px 8px !important;
  top:-19px !important;
  opacity:.92;
}

@media(max-width:520px){
  .v1133-nav-scroll{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .bottom-nav .nav-btn{
    flex-basis:76px !important;
    min-width:76px !important;
    font-size:11.5px !important;
  }
  .v1133-nav-arrow{
    width:16px !important;
    height:26px !important;
    font-size:17px !important;
  }
}


/* ===== v1.1.39 30分目標の見える化 ===== */
.v1139-target30-chip{
  font-weight:800;
  border-color:#b8d8b6 !important;
  background:#f2f8ef !important;
  color:#255b2b !important;
}

.v1139-record-target{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  border:1px solid #b9d8b7;
  border-radius:999px;
  background:#f2f8ef;
  color:#285e2d;
  line-height:1.15;
  max-width:100%;
}

.v1139-record-target span{
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  opacity:.82;
}

.v1139-record-target strong{
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}

@media(max-width:520px){
  .v1139-record-target{
    margin-top:6px;
    padding:5px 8px;
  }
  .v1139-record-target strong{
    font-size:12.5px;
  }
}


/* ===== v1.1.40 30分目標 スマホ表示調整 ===== */

/* 管理の案件一覧側 */
.v1139-target30-chip{
  max-width:100%;
  min-width:0;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.25;
}

/* 記録画面側 */
.v1139-record-target{
  box-sizing:border-box;
  width:fit-content;
  max-width:100%;
  min-width:0;
  flex-wrap:wrap;
  row-gap:2px;
  overflow:hidden;
}

.v1139-record-target span,
.v1139-record-target strong{
  min-width:0;
  max-width:100%;
}

.v1139-record-target strong{
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* 案件名側自体も縮められるよう明示 */
.v076-project-title-wrap{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

@media(max-width:520px){
  .v1139-record-target{
    gap:5px;
    padding:4px 7px;
    border-radius:12px;
  }

  .v1139-record-target span{
    font-size:9.5px;
  }

  .v1139-record-target strong{
    font-size:12px;
  }
}

/* ===== v1.1.41 社単位 / 件数調整 ===== */
.v1141-project-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
.v1141-adjust-date-row{margin-top:14px;display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:14px;align-items:end}
.v1141-adjust-help{border:1px solid #dce8d8;background:#f6faf4;border-radius:14px;padding:11px 13px;font-size:12px;line-height:1.6;color:#4d6250}
.v1141-adjust-list{display:grid;gap:12px}
.v1141-adjust-card{border:1px solid #dce8d8;border-radius:16px;padding:14px;background:#fff}
.v1141-adjust-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.v1141-adjust-head strong{font-size:15px}
.v1141-company-badge{flex:0 0 auto;border-radius:999px;padding:4px 9px;background:#f4edf0;border:1px solid #decbd1;color:#7a2f44;font-size:10px;font-weight:900}
.v1141-adjust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.v1141-auto-count{min-height:64px;border:1px solid #e1e8de;border-radius:12px;padding:10px;background:#fafcf9;display:flex;flex-direction:column;justify-content:center;gap:3px}
.v1141-auto-count span{font-size:10px;color:#69776a;font-weight:700}
.v1141-auto-count strong{font-size:18px;color:#244d29}
.v1141-company-field{grid-column:span 2;border:1px solid #ddcbd1;background:#fff8fa;border-radius:12px;padding:10px}
.v1141-adjust-actions{display:flex;justify-content:flex-end;margin-top:10px}
.v1141-company-summary{border-color:#ddcbd1!important;background:#fff7f9!important;color:#7a2f44!important;font-weight:900}
@media(max-width:700px){.v1141-adjust-date-row{grid-template-columns:1fr}.v1141-adjust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v1141-company-field{grid-column:1/-1}}
@media(max-width:440px){.v1141-adjust-grid{grid-template-columns:1fr 1fr;gap:8px}.v1141-adjust-card{padding:11px}.v1141-auto-count strong{font-size:16px}}


/* ===== v1.1.42 件数調整：正しい件数を直接入力 ===== */
.v1142-correct-field{
  border:1px solid #cfe0cc;
  background:#f8fbf6;
  border-radius:12px;
  padding:9px;
}

.v1142-correct-field input{
  font-weight:800;
}

.v1142-correct-field .v1115-field-hint strong{
  color:#285e2d;
  font-weight:900;
}


/* ===== v1.1.43 管理補正を管理側集計へ反映 ===== */
.v1143-admin-note{
  margin:8px 0 12px;
  padding:9px 11px;
  border:1px solid #d9e5d6;
  border-radius:12px;
  background:#f7faf5;
  color:#526255;
  font-size:11px;
  line-height:1.6;
}

.v1143-adjustment-row td{
  background:#fffaf0 !important;
  font-weight:700;
}

.v1143-adjustment-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid #ead8ae;
  background:#fff7df;
  color:#745b20;
  border-radius:999px;
  padding:3px 7px;
  font-size:10px;
  font-weight:800;
}

.v1143-source-adjustment{
  background:#fffaf0;
  border-color:#ead8ae !important;
}


/* ===== v1.1.44 管理者固定給 ===== */
.v1144-admin-salary-card{border-color:#d9dfcf}
.v1144-fixed-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.v1144-fixed-total span{font-size:10px;color:#6a766b;font-weight:700}
.v1144-fixed-total strong{font-size:18px;color:#17301a}
.v1144-month-selector{max-width:260px;margin-bottom:12px}
.v1144-admin-salary-list{display:grid;gap:10px}
.v1144-admin-salary-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,.8fr) minmax(180px,1.2fr) auto;gap:10px;align-items:end;border:1px solid #dfe7db;border-radius:14px;padding:12px;background:#fbfcfa}
.v1144-admin-name{align-self:center;display:flex;flex-direction:column;gap:2px}
.v1144-admin-name strong{font-size:14px}
.v1144-admin-name span{font-size:10px;color:#69766a}
.v1144-admin-salary-help{margin-top:12px;padding:9px 11px;border-radius:12px;background:#f5f8f2;color:#566259;font-size:11px;line-height:1.6}
.v1144-admin-salary-history{margin-top:12px;border-top:1px solid #e1e7de;padding-top:10px}
.v1144-admin-salary-history summary{cursor:pointer;font-size:12px;font-weight:800}
.v1144-history-list{margin-top:8px;display:grid;gap:6px}
.v1144-history-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 10px;border:1px solid #e4e9e1;border-radius:10px}
.v1144-history-list small{grid-column:1/-1;color:#69766a}
.v1144-monthly-admin-total{font-size:18px;color:#17301a}
.v1144-monthly-admin-list{display:grid;gap:7px}
.v1144-monthly-admin-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #e0e7dd;border-radius:11px;background:#fafcf9}
@media(max-width:760px){.v1144-admin-salary-row{grid-template-columns:1fr 1fr}.v1144-admin-salary-note{grid-column:1/-1}}
@media(max-width:520px){.v1144-admin-salary-row{grid-template-columns:1fr}.v1144-admin-salary-note{grid-column:auto}.v1144-fixed-total{align-items:flex-start}}


/* ===== v1.1.45 退勤後の記録リマインド ===== */
.v1145-clockout-overlay{
  position:fixed;
  inset:0;
  z-index:10100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(9,26,12,.52);
  backdrop-filter:blur(3px);
}
.v1145-clockout-card{
  width:min(470px,94vw);
  border-radius:22px;
  background:#fff;
  border:2px solid #b9d6b7;
  box-shadow:0 24px 70px rgba(0,0,0,.30);
  padding:24px 20px 18px;
  text-align:center;
}
.v1145-clockout-icon{
  width:46px;
  height:46px;
  margin:0 auto 10px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eef7eb;
  color:#27602d;
  font-size:24px;
  font-weight:900;
}
.v1145-clockout-card h2{margin:0;color:#17301a;font-size:21px}
.v1145-clockout-card p{margin:9px 0 18px;font-size:17px;font-weight:900;color:#7b293f}
.v1145-clockout-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(max-width:520px){
  .v1145-clockout-card{padding:21px 16px 16px}
  .v1145-clockout-card h2{font-size:19px}
  .v1145-clockout-card p{font-size:16px}
  .v1145-clockout-actions{grid-template-columns:1fr}
}


/* ===== v1.1.46 全体日次・横スクロール・再描画位置 ===== */

/* 個人日次 / 全体日次とも、横スクロール時に案件名を左へ固定 */
.v078-results-table th:first-child,
.v078-results-table td:first-child{
  position:sticky;
  left:0;
  min-width:160px;
  z-index:2;
  background:#fff;
  box-shadow:6px 0 8px -8px rgba(0,0,0,.35);
}

.v078-results-table thead th:first-child{
  z-index:4;
  background:#fff;
}

.v078-results-table .v078-inactive-row td:first-child{
  background:#fafafa;
}

.v1146-admin-daily-filter{
  grid-template-columns:minmax(220px,360px);
}

.v1146-no-daily-record{
  margin-bottom:10px;
}

@media(max-width:520px){
  .v078-results-table th:first-child,
  .v078-results-table td:first-child{
    min-width:145px;
    max-width:170px;
  }

  .v078-results-table .v078-project-cell{
    min-width:0;
    max-width:155px;
  }

  .v078-results-table .v078-project-cell strong{
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.35;
  }
}


/* ===== v1.1.48 管理者の直接記録を平均値から除外 ===== */
.v1148-average-note{
  margin-top:10px;
  padding:8px 10px;
  border:1px solid #dce7d8;
  border-radius:11px;
  background:#f8faf6;
  color:#58665a;
  font-size:10.5px;
  line-height:1.55;
}

.v1148-average-note strong{
  color:#28552f;
}


/* ===== v1.1.49 各ページの項目を自由に開閉 ===== */

.v1149-collapse-header{
  gap:8px;
}

.v1149-collapse-toggle{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:28px;
  margin-left:auto;
  padding:4px 8px;
  border:1px solid #d7e1d4;
  border-radius:999px;
  background:#f7faf5;
  color:#526256;
  font:inherit;
  font-size:10px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.v1149-collapse-toggle:hover{
  background:#edf4ea;
}

.v1149-collapse-toggle span:first-child{
  font-size:9px;
}

/* h2 / h3 がそのままカード見出しのケース */
h2.v1149-collapse-header,
h3.v1149-collapse-header{
  display:flex;
  align-items:center;
  width:100%;
}

/* 閉じた時は見出しだけ残す */
.v1149-collapse-card.v1149-is-collapsed > :not([data-v1149-collapse-header="1"]){
  display:none !important;
}

.v1149-collapse-card.v1149-is-collapsed{
  padding-bottom:12px;
}

/* 既存のsection-titleは右側に他ボタンがあるケースでも崩れにくくする */
.section-title.v1149-collapse-header{
  flex-wrap:wrap;
}

/* マニュアル管理は閲覧本文の後ろに置く */
#v104SharedManualArea{
  margin-top:14px;
}

.v1130-manual-order-card{
  margin-bottom:24px;
}

@media(max-width:520px){
  .v1149-collapse-toggle{
    min-height:26px;
    padding:4px 7px;
    font-size:9.5px;
  }
}


/* ===== v1.1.50 開閉UIを ＋ / − に統一 ===== */

.v1149-collapse-toggle{
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  padding:0;
  border-radius:50%;
  font-size:19px;
  font-weight:900;
  line-height:1;
}

/* 独自記号が無かったdetailsも＋/−へ統一 */
.v1125-day-detail > summary,
.v1114-create-project > summary,
.v1126-inline-manual > summary,
.v1130-hidden-manuals > summary,
.v1144-admin-salary-history > summary,
.v1113-source-details > summary{
  list-style:none;
  position:relative;
}

.v1125-day-detail > summary::-webkit-details-marker,
.v1114-create-project > summary::-webkit-details-marker,
.v1126-inline-manual > summary::-webkit-details-marker,
.v1130-hidden-manuals > summary::-webkit-details-marker,
.v1144-admin-salary-history > summary::-webkit-details-marker,
.v1113-source-details > summary::-webkit-details-marker{
  display:none;
}

.v1125-day-detail > summary::after,
.v1114-create-project > summary::after,
.v1126-inline-manual > summary::after,
.v1130-hidden-manuals > summary::after,
.v1144-admin-salary-history > summary::after,
.v1113-source-details > summary::after{
  content:"＋";
  margin-left:auto;
  color:var(--muted);
  font-size:18px;
  font-weight:900;
  line-height:1;
}

.v1125-day-detail[open] > summary::after,
.v1114-create-project[open] > summary::after,
.v1126-inline-manual[open] > summary::after,
.v1130-hidden-manuals[open] > summary::after,
.v1144-admin-salary-history[open] > summary::after,
.v1113-source-details[open] > summary::after{
  content:"−";
}

/* 案件一覧の旧⌄アイコンも＋/−に統一 */
.v1114-ledger-chevron{
  transform:none !important;
  font-size:0;
}

.v1114-ledger-chevron::before{
  content:"＋";
  font-size:18px;
  font-weight:900;
  line-height:1;
}

.v1114-project-ledger[open] .v1114-ledger-chevron::before{
  content:"−";
}

/* ===== v1.1.50 直近7日間をコンパクト表示 ===== */

.v1150-recent-card .section-title{
  margin-bottom:4px;
}

.v1150-seven-days{
  gap:7px;
}

.v1150-day-detail > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  background:#f6faf5;
}

.v1150-day-detail > summary strong{
  font-size:13px;
  color:#173f1d;
}

.v1150-day-body{
  display:grid;
  gap:9px;
  padding:10px 12px 12px;
}

.v1150-project-group{
  padding:3px 0 5px;
}

.v1150-project-name{
  color:#173f1d;
  font-size:13px;
  font-weight:900;
  line-height:1.35;
}

.v1150-project-users{
  display:grid;
  gap:2px;
  margin-top:3px;
  padding-left:13px;
}

.v1150-user-name{
  position:relative;
  color:#526056;
  font-size:11px;
  font-weight:700;
  line-height:1.45;
}

.v1150-user-name::before{
  content:"";
  position:absolute;
  left:-9px;
  top:.68em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#9aaa9a;
}

@media(max-width:520px){
  .v1149-collapse-toggle{
    width:28px;
    height:28px;
    min-width:28px;
    min-height:28px;
    font-size:18px;
  }

  .v1150-day-body{
    padding:9px 11px 11px;
  }

  .v1150-project-name{
    font-size:12.5px;
  }

  .v1150-user-name{
    font-size:10.5px;
  }
}


/* ===== v1.1.51 直近7日：実績表 + 案件名/名前固定 ===== */

.v1151-day-body{
  padding:8px 0 12px;
}

.v1151-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #e1e8df;
  border-radius:12px;
  background:#fff;
}

.v1151-recent-table{
  width:100%;
  min-width:790px;
  border-collapse:separate;
  border-spacing:0;
  font-size:11px;
}

.v1151-recent-table th,
.v1151-recent-table td{
  padding:9px 10px;
  border-right:1px solid #edf0eb;
  border-bottom:1px solid #e8ece6;
  text-align:center;
  white-space:nowrap;
  background:#fff;
}

.v1151-recent-table th{
  position:sticky;
  top:0;
  z-index:4;
  background:#f6faf5;
  color:#536156;
  font-size:10px;
  font-weight:900;
}

.v1151-recent-table tbody tr:last-child td{
  border-bottom:none;
}

/* 案件名は一番左に固定 */
.v1151-recent-table .v1151-sticky-project{
  position:sticky;
  left:0;
  z-index:3;
  width:150px;
  min-width:150px;
  max-width:150px;
  text-align:left;
  background:#f9fbf8;
  box-shadow:5px 0 8px -8px rgba(0,0,0,.45);
}

/* 人名は案件名の隣で固定 */
.v1151-recent-table .v1151-sticky-user{
  position:sticky;
  left:150px;
  z-index:3;
  width:125px;
  min-width:125px;
  max-width:125px;
  text-align:left;
  background:#fff;
  box-shadow:5px 0 8px -8px rgba(0,0,0,.32);
}

/* ヘッダーは本文より上へ */
.v1151-recent-table thead .v1151-sticky-project,
.v1151-recent-table thead .v1151-sticky-user{
  z-index:6;
  background:#eef5ec;
}

.v1151-project-cell{
  vertical-align:top;
}

.v1151-project-cell strong{
  display:block;
  white-space:normal;
  overflow-wrap:anywhere;
  color:#173f1d;
  font-size:12.5px;
  line-height:1.35;
}

.v1151-user-cell strong{
  display:inline-block;
  max-width:88px;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
  color:#4d5b50;
  font-size:11px;
}

.v1151-admin-badge{
  display:inline-flex;
  align-items:center;
  margin-left:4px;
  padding:2px 5px;
  border:1px solid #decbd1;
  border-radius:999px;
  background:#fff7f9;
  color:#7a4050;
  font-size:8px;
  font-weight:900;
  vertical-align:middle;
}

@media(max-width:520px){
  .v1151-recent-table{
    min-width:720px;
    font-size:10.5px;
  }

  .v1151-recent-table th,
  .v1151-recent-table td{
    padding:8px 8px;
  }

  .v1151-recent-table .v1151-sticky-project{
    width:125px;
    min-width:125px;
    max-width:125px;
  }

  .v1151-recent-table .v1151-sticky-user{
    left:125px;
    width:105px;
    min-width:105px;
    max-width:105px;
  }

  .v1151-project-cell strong{
    font-size:11.5px;
  }

  .v1151-user-cell strong{
    max-width:72px;
    font-size:10.5px;
  }
}


/* ===== v1.1.52 直近7日：案件見出し + 人名行 ===== */

.v1152-day-body{
  padding:8px 0 12px;
}

.v1152-day-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #e1e8df;
  border-radius:12px;
  background:#fff;
}

/* 案件ごとに1つの表。
   外側のスクロールを共通化することで、日付内は1回の横スクロールで済む */
.v1152-project-table{
  width:100%;
  min-width:720px;
  border-collapse:separate;
  border-spacing:0;
  font-size:11px;
  background:#fff;
}

.v1152-project-table + .v1152-project-table{
  border-top:1px solid #cfd9cd;
}

.v1152-project-table th,
.v1152-project-table td{
  padding:8px 10px;
  border-right:1px solid #edf0eb;
  border-bottom:1px solid #e8ece6;
  text-align:center;
  white-space:nowrap;
  background:#fff;
}

.v1152-project-table th{
  background:#f5f9f4;
  color:#566258;
  font-size:10px;
  font-weight:900;
}

/* 左端は案件名 / 人名とも同じ1列を固定 */
.v1152-project-table .v1152-sticky-label{
  position:sticky;
  left:0;
  z-index:4;
  width:170px;
  min-width:170px;
  max-width:170px;
  text-align:left;
  box-shadow:6px 0 9px -9px rgba(0,0,0,.5);
}

/* 案件名行 */
.v1152-project-table .v1152-project-heading{
  z-index:6;
  background:#edf5eb;
  color:#173f1d;
  font-size:12.5px;
  font-weight:900;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
}

/* 名前は案件名より少し小さく、少し下げる */
.v1152-project-table .v1152-user-label{
  background:#fff;
  color:#566258;
  font-size:10.5px;
  font-weight:700;
}

.v1152-user-label strong{
  display:inline-block;
  max-width:118px;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}

.v1152-user-indent{
  display:inline-block;
  margin-right:4px;
  color:#a2aea3;
  font-size:9px;
  vertical-align:middle;
}

/* 最終行の境界線を少し軽く */
.v1152-project-table tbody tr:last-child td{
  border-bottom:none;
}

@media(max-width:520px){
  .v1152-project-table{
    min-width:660px;
    font-size:10.5px;
  }

  .v1152-project-table th,
  .v1152-project-table td{
    padding:7px 8px;
  }

  .v1152-project-table .v1152-sticky-label{
    width:135px;
    min-width:135px;
    max-width:135px;
  }

  .v1152-project-table .v1152-project-heading{
    font-size:11.5px;
  }

  .v1152-project-table .v1152-user-label{
    font-size:10px;
  }

  .v1152-user-label strong{
    max-width:88px;
  }
}


/* ===== v1.1.53 合計日次：管理者記録数を小さく併記 ===== */
.v1153-admin-count-label{
  display:inline-block;
  margin-left:3px;
  color:#7a867c;
  font-size:8.5px;
  font-weight:700;
  line-height:1.15;
  vertical-align:baseline;
  white-space:nowrap;
}

.v1153-admin-count-value{
  display:inline-block;
  margin-left:4px;
  color:#718075;
  font-size:.56em;
  font-weight:800;
  line-height:1;
  vertical-align:baseline;
  white-space:nowrap;
}

@media(max-width:520px){
  .v1153-admin-count-label{
    display:block;
    margin:2px 0 0;
    font-size:8px;
  }

  .v1153-admin-count-value{
    margin-left:3px;
    font-size:.52em;
  }
}


/* ===== v1.1.54 月次 / 給与分離 + 月次集計 ===== */

.v1154-month-list{
  display:grid;
  gap:9px;
}

.v1154-month-detail{
  border:1px solid #dde6da;
  border-radius:13px;
  background:#fff;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.v1154-month-detail > summary{
  list-style:none;
  cursor:pointer;
  min-width:720px;
  background:#f6faf5;
}

.v1154-month-detail > summary::-webkit-details-marker{
  display:none;
}

.v1154-month-detail > summary::after{
  content:"＋";
  position:absolute;
  right:14px;
  top:13px;
  color:#526256;
  font-size:18px;
  font-weight:900;
  line-height:1;
}

.v1154-month-detail[open] > summary::after{
  content:"−";
}

.v1154-month-detail > summary{
  position:relative;
  padding-right:42px;
}

.v1154-grid-row{
  display:grid;
  grid-template-columns:170px repeat(5,110px);
  min-width:720px;
  align-items:stretch;
}

.v1154-grid-row > div{
  padding:9px 10px;
  border-right:1px solid #edf0eb;
  border-bottom:1px solid #e8ece6;
  text-align:center;
  white-space:nowrap;
  background:#fff;
}

.v1154-month-summary > div{
  background:#f6faf5;
}

.v1154-sticky-label{
  position:sticky;
  left:0;
  z-index:4;
  text-align:left !important;
  box-shadow:6px 0 9px -9px rgba(0,0,0,.5);
}

.v1154-month-label{
  background:#edf5eb !important;
  color:#173f1d;
  display:flex;
  align-items:center;
}

.v1154-month-label strong{
  font-size:13px;
}

.v1154-metric-cell{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}

.v1154-metric-cell span{
  color:#68736a;
  font-size:8.5px;
  font-weight:800;
}

.v1154-metric-cell strong{
  color:#1f3d23;
  font-size:12px;
}

.v1154-user-row .v1154-person-label{
  background:#fff;
  color:#526056;
  font-size:10.5px;
}

.v1154-person-label strong{
  display:inline-block;
  max-width:110px;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}

.v1154-project-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #dde6da;
  border-radius:13px;
  background:#fff;
}

.v1154-project-group + .v1154-project-group{
  border-top:2px solid #d5ded2;
}

.v1154-project-summary > div{
  background:#f5f9f4;
}

.v1154-project-label{
  background:#edf5eb !important;
  color:#173f1d;
  display:flex;
  align-items:center;
}

.v1154-project-label strong{
  font-size:12.5px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
}

.v1154-project-users .v1154-grid-row:last-child > div,
.v1154-month-users .v1154-grid-row:last-child > div{
  border-bottom:none;
}

@media(max-width:520px){
  .v1154-grid-row{
    grid-template-columns:135px repeat(5,102px);
    min-width:645px;
  }

  .v1154-month-detail > summary{
    min-width:645px;
  }

  .v1154-grid-row > div{
    padding:8px 8px;
  }

  .v1154-month-label strong{
    font-size:12px;
  }

  .v1154-project-label strong{
    font-size:11.5px;
  }

  .v1154-user-row .v1154-person-label{
    font-size:10px;
  }

  .v1154-person-label strong{
    max-width:82px;
  }
}


/* ===== v1.1.55 月次全体サマリー ===== */
.v1155-month-total-grid{
  margin-top:12px;
}


/* ===== v1.1.56 日本の祝日：シフトでは日曜と同じ赤表示 ===== */

.v1156-holiday .v073-date strong,
.v1156-date-holiday,
.v1156-date-holiday .v064-weekday,
.v1156-date-holiday .v1156-matrix-holiday{
  color:#dc2626 !important;
}

.v1156-holiday{
  border-left:4px solid #fca5a5;
}

.v1156-holiday-name{
  display:inline-block;
  margin-left:6px;
  color:#dc2626;
  font-size:9.5px;
  font-weight:800;
  line-height:1.2;
}

.v1156-matrix-holiday{
  display:block;
  margin-top:2px;
  font-size:8px;
  font-weight:800;
  line-height:1.15;
  white-space:normal;
}

/* 管理シフト一覧でも背景は他の日と合わせ、文字を赤にする */
.v064-matrix .v1156-date-holiday{
  background:#f9fafb;
}


/* ===== v1.1.57 勤怠修正履歴 ===== */

.v1157-history-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:8px;
}

.v1157-history-count{
  margin-bottom:10px;
  color:#6d786f;
  font-size:10px;
  font-weight:800;
  text-align:right;
}

.v1157-history-list{
  display:grid;
  gap:10px;
}

.v1157-history-item{
  padding:12px;
  border:1px solid #e0e7de;
  border-radius:12px;
  background:#fbfcfa;
}

.v1157-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.v1157-history-head > div{
  display:grid;
  gap:2px;
}

.v1157-history-head strong{
  color:#173f1d;
  font-size:12px;
}

.v1157-history-head > div > span{
  color:#6b766d;
  font-size:10px;
  font-weight:700;
}

.v1157-source-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}

.v1157-source-badge.admin{
  border:1px solid #d4dfd1;
  background:#f0f6ee;
  color:#315d37;
}

.v1157-source-badge.request{
  border:1px solid #d9d4e6;
  background:#f6f3fb;
  color:#5d4e78;
}

.v1157-diff-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}

.v1157-diff-item{
  min-width:0;
  padding:8px;
  border:1px solid #e7ebe5;
  border-radius:9px;
  background:#fff;
}

.v1157-diff-item > span{
  display:block;
  margin-bottom:4px;
  color:#7a847c;
  font-size:8px;
  font-weight:800;
}

.v1157-diff-item > div{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  white-space:nowrap;
}

.v1157-diff-item b{
  color:#7b837d;
  font-size:9.5px;
  font-weight:700;
}

.v1157-diff-item i{
  color:#9da59f;
  font-size:9px;
  font-style:normal;
}

.v1157-diff-item strong{
  color:#34463a;
  font-size:10px;
}

.v1157-diff-item.changed{
  border-color:#d7e4d4;
  background:#f8fbf7;
}

.v1157-diff-item.changed strong{
  color:#1c5a27;
}

.v1157-history-reason{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px dashed #dde3db;
}

.v1157-history-reason span{
  color:#7a847c;
  font-size:8.5px;
  font-weight:800;
}

.v1157-history-reason strong{
  color:#475148;
  font-size:10px;
  line-height:1.45;
  font-weight:700;
}

.v1157-history-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 14px;
  margin-top:8px;
  color:#778078;
  font-size:8.5px;
}

.v1157-history-meta b{
  color:#59635b;
  font-weight:800;
}

@media(max-width:600px){
  .v1157-history-filters{
    grid-template-columns:1fr;
  }

  .v1157-diff-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* ===== v1.1.59 案件：請求換算時間 ===== */
.v1159-billing-hours-chip{
  border-color:#d7e2d4 !important;
  background:#f3f8f1 !important;
  color:#24542b !important;
}


/* ===== v1.1.61 管理者のh案件時間記録 ===== */
.v1161-admin-hour-field small{
  display:block;
  margin-top:4px;
  color:#6f7d72;
  font-size:9px;
  font-weight:700;
}


/* ============================================================
   v1.1.62 個人テーマカラー
   default = これまでの「あゆこねグリーン」
   ============================================================ */

:root,
html[data-ayumi-theme="default"]{
  --theme-primary:#1f5424;
  --theme-primary-light:#2b6a31;
  --theme-dark:#143d18;
  --theme-soft:#eaf3e8;
  --theme-soft-2:#edf6eb;
  --theme-line:#dce8d9;
  --theme-page-1:#f8fbf7;
  --theme-page-2:#f3f7f1;
  --theme-card-soft:#f8fbf7;
  --theme-rgb:31,84,36;
  --theme-light-rgb:43,106,49;
  --theme-focus:#6ba972;
  --theme-focus-rgb:71,132,78;
}

html[data-ayumi-theme="blue"]{
  --theme-primary:#2563a8;
  --theme-primary-light:#3979be;
  --theme-dark:#173f72;
  --theme-soft:#e8f1fb;
  --theme-soft-2:#edf5fd;
  --theme-line:#d7e4f2;
  --theme-page-1:#f7faff;
  --theme-page-2:#f0f5fb;
  --theme-card-soft:#f6f9fd;
  --theme-rgb:37,99,168;
  --theme-light-rgb:57,121,190;
  --theme-focus:#6a9dd1;
  --theme-focus-rgb:106,157,209;
}

html[data-ayumi-theme="navy"]{
  --theme-primary:#243b67;
  --theme-primary-light:#35517f;
  --theme-dark:#172849;
  --theme-soft:#e9edf5;
  --theme-soft-2:#eef1f7;
  --theme-line:#d9deea;
  --theme-page-1:#f8f9fc;
  --theme-page-2:#f2f4f8;
  --theme-card-soft:#f7f8fb;
  --theme-rgb:36,59,103;
  --theme-light-rgb:53,81,127;
  --theme-focus:#7283aa;
  --theme-focus-rgb:114,131,170;
}

html[data-ayumi-theme="purple"]{
  --theme-primary:#6d4aa2;
  --theme-primary-light:#805db5;
  --theme-dark:#4b3374;
  --theme-soft:#f0eafa;
  --theme-soft-2:#f4effb;
  --theme-line:#e2d8ef;
  --theme-page-1:#fbf9fd;
  --theme-page-2:#f5f1fa;
  --theme-card-soft:#faf7fc;
  --theme-rgb:109,74,162;
  --theme-light-rgb:128,93,181;
  --theme-focus:#9a7bc4;
  --theme-focus-rgb:154,123,196;
}

html[data-ayumi-theme="rose"]{
  --theme-primary:#a34466;
  --theme-primary-light:#b65a78;
  --theme-dark:#743047;
  --theme-soft:#f8e9ee;
  --theme-soft-2:#faeef2;
  --theme-line:#efd8e0;
  --theme-page-1:#fff9fb;
  --theme-page-2:#faf2f5;
  --theme-card-soft:#fdf7f9;
  --theme-rgb:163,68,102;
  --theme-light-rgb:182,90,120;
  --theme-focus:#cb819a;
  --theme-focus-rgb:203,129,154;
}

html[data-ayumi-theme="orange"]{
  --theme-primary:#b76324;
  --theme-primary-light:#c97a3b;
  --theme-dark:#7d4319;
  --theme-soft:#faeee3;
  --theme-soft-2:#fcf3ea;
  --theme-line:#ecdccf;
  --theme-page-1:#fffaf6;
  --theme-page-2:#f8f3ed;
  --theme-card-soft:#fcf8f4;
  --theme-rgb:183,99,36;
  --theme-light-rgb:201,122,59;
  --theme-focus:#d59869;
  --theme-focus-rgb:213,152,105;
}

html[data-ayumi-theme="teal"]{
  --theme-primary:#17756f;
  --theme-primary-light:#278a83;
  --theme-dark:#104f4b;
  --theme-soft:#e4f3f1;
  --theme-soft-2:#eaf7f5;
  --theme-line:#d4e8e5;
  --theme-page-1:#f6fbfa;
  --theme-page-2:#eff7f5;
  --theme-card-soft:#f5faf9;
  --theme-rgb:23,117,111;
  --theme-light-rgb:39,138,131;
  --theme-focus:#63aaa5;
  --theme-focus-rgb:99,170,165;
}

html[data-ayumi-theme="charcoal"]{
  --theme-primary:#414751;
  --theme-primary-light:#555d68;
  --theme-dark:#292e36;
  --theme-soft:#eceef1;
  --theme-soft-2:#f0f1f3;
  --theme-line:#dde0e4;
  --theme-page-1:#fafafa;
  --theme-page-2:#f3f4f5;
  --theme-card-soft:#f8f8f9;
  --theme-rgb:65,71,81;
  --theme-light-rgb:85,93,104;
  --theme-focus:#858c96;
  --theme-focus-rgb:133,140,150;
}

/* 既存ブランド変数を個人テーマへ接続 */
html[data-ayumi-theme]{
  --bg:var(--theme-page-2);
  --primary:var(--theme-primary);
  --soft:var(--theme-soft);
  --line:var(--theme-line);
  --brand-green:var(--theme-primary);
  --brand-green-dark:var(--theme-dark);
  --brand-green-soft:var(--theme-soft-2);
  --shadow:0 10px 30px rgba(var(--theme-rgb),.08);
}

html[data-ayumi-theme],
html[data-ayumi-theme] body{
  background:
    radial-gradient(
      circle at 8% 0%,
      rgba(var(--theme-rgb),.10),
      transparent 30%
    ),
    radial-gradient(
      circle at 94% 7%,
      rgba(var(--theme-light-rgb),.05),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      var(--theme-page-1) 0%,
      var(--theme-page-2) 100%
    ) !important;
}

html[data-ayumi-theme] .topbar{
  background:color-mix(
    in srgb,
    var(--theme-page-1) 95%,
    transparent
  ) !important;
  border-bottom-color:rgba(var(--theme-rgb),.14) !important;
}

html[data-ayumi-theme] .topbar::after{
  background:linear-gradient(
    90deg,
    var(--theme-primary),
    rgba(var(--theme-rgb),.08) 68%,
    rgba(var(--theme-light-rgb),.35)
  ) !important;
}

html[data-ayumi-theme] .brand h1,
html[data-ayumi-theme] .card h2,
html[data-ayumi-theme] .card h3,
html[data-ayumi-theme] .v083-setting-accordion summary strong{
  color:var(--theme-dark) !important;
}

html[data-ayumi-theme] .btn.primary{
  background:linear-gradient(
    180deg,
    var(--theme-primary-light) 0%,
    var(--theme-primary) 100%
  ) !important;
  box-shadow:0 7px 18px rgba(var(--theme-rgb),.18) !important;
}

html[data-ayumi-theme] .nav-btn.active{
  background:var(--theme-soft) !important;
  color:var(--theme-dark) !important;
}

html[data-ayumi-theme] .tab.active,
html[data-ayumi-theme] .admin-tab.active,
html[data-ayumi-theme] .v06-tab.active{
  background:var(--theme-primary) !important;
  border-color:var(--theme-primary) !important;
}

html[data-ayumi-theme] .metric,
html[data-ayumi-theme] .v078-total-metric,
html[data-ayumi-theme] .status-box,
html[data-ayumi-theme] .v083-current-account > div{
  background:var(--theme-card-soft) !important;
  border-color:var(--theme-line) !important;
}

html[data-ayumi-theme] .field input:focus,
html[data-ayumi-theme] .field select:focus,
html[data-ayumi-theme] .text-input:focus,
html[data-ayumi-theme] .compact-field input:focus,
html[data-ayumi-theme] .compact-field select:focus,
html[data-ayumi-theme] textarea:focus{
  border-color:var(--theme-focus) !important;
  box-shadow:
    0 0 0 3px rgba(var(--theme-focus-rgb),.15) !important;
}

html[data-ayumi-theme] .v06-rule{
  border-left-color:var(--theme-primary) !important;
  background:var(--theme-card-soft) !important;
}

html[data-ayumi-theme] .v080-summary-label,
html[data-ayumi-theme] .v083-password-admin .link-btn{
  color:var(--theme-primary) !important;
}

/* 設定：テーマ選択 */
.v1162-theme-note{
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid var(--theme-line);
  border-radius:11px;
  background:var(--theme-card-soft);
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
}

.v1162-theme-note strong{
  color:var(--theme-dark);
}

.v1162-theme-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}

.v1162-theme-option{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:10px 7px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--text);
  cursor:pointer;
}

.v1162-theme-option:hover{
  border-color:var(--theme-focus);
}

.v1162-theme-option.selected{
  border:2px solid var(--theme-primary);
  padding:9px 6px;
  background:var(--theme-soft);
  box-shadow:0 5px 14px rgba(var(--theme-rgb),.10);
}

.v1162-theme-swatch{
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--swatch);
  border:3px solid #fff;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.09),
    0 4px 10px rgba(0,0,0,.10);
}

.v1162-theme-option strong{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}

.v1162-theme-option small{
  min-height:11px;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}

@media(max-width:560px){
  .v1162-theme-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v1162-theme-option strong{
    font-size:10.5px;
  }
}


/* ============================================================
   v1.1.63 テーマカラー：アプリ内部まで反映
   ============================================================ */

/* カード・補助ボックス・一覧背景 */
html[data-ayumi-theme] .v083-security-note,
html[data-ayumi-theme] .v084-install-note,
html[data-ayumi-theme] .v086-no-time-box,
html[data-ayumi-theme] .v087-export-summary > div,
html[data-ayumi-theme] .v087-export-example,
html[data-ayumi-theme] .v088-output-intro,
html[data-ayumi-theme] .v090-results-summary,
html[data-ayumi-theme] .v092-doc-intro,
html[data-ayumi-theme] .v092-invoice-summary > div,
html[data-ayumi-theme] .v093-bank-section,
html[data-ayumi-theme] .v095-contract-date-card,
html[data-ayumi-theme] .v095-contract-agree,
html[data-ayumi-theme] .v095-signed-summary > div,
html[data-ayumi-theme] .v095-admin-contract-counts > div,
html[data-ayumi-theme] .v098-manual-hero,
html[data-ayumi-theme] .v098-highlight,
html[data-ayumi-theme] .v104-update-summary,
html[data-ayumi-theme] .v117-push-history,
html[data-ayumi-theme] .v119-admin-invoice-counts > div,
html[data-ayumi-theme] .v1110-invoice-overview > div,
html[data-ayumi-theme] .v1110-invoice-month[open] > .v1110-invoice-month-summary,
html[data-ayumi-theme] .v1112-selected-user,
html[data-ayumi-theme] .v1113-project-note,
html[data-ayumi-theme] .v1113-source-row,
html[data-ayumi-theme] .v1114-average-wage-card > div,
html[data-ayumi-theme] .v1114-project-summary > div,
html[data-ayumi-theme] .v1114-create-project[open] > summary,
html[data-ayumi-theme] .v1114-project-ledger[open] > summary,
html[data-ayumi-theme] .v1116-adjust-field,
html[data-ayumi-theme] .v1118-current-admin,
html[data-ayumi-theme] .v1118-summary-grid > div,
html[data-ayumi-theme] .v1126-storage-metrics > div,
html[data-ayumi-theme] .v1126-cutoff-summary,
html[data-ayumi-theme] .v1130-order-help,
html[data-ayumi-theme] .v1130-order-form-note,
html[data-ayumi-theme] .v1131-current-sound,
html[data-ayumi-theme] .v1132-reminder-alarm-note,
html[data-ayumi-theme] .v1157-diff-item.changed,
html[data-ayumi-theme] .v1159-billing-hours-chip{
  background:var(--theme-card-soft) !important;
  border-color:var(--theme-line) !important;
}

/* 各種見出し・案件名・強調文字 */
html[data-ayumi-theme] .v1118-history-month strong,
html[data-ayumi-theme] .v1125-day-detail > summary strong,
html[data-ayumi-theme] .v1126-storage-metrics strong,
html[data-ayumi-theme] .v1126-cutoff-summary strong,
html[data-ayumi-theme] .v1126-preview-grid strong,
html[data-ayumi-theme] .v1126-total-target strong,
html[data-ayumi-theme] .v1126-inline-manual summary,
html[data-ayumi-theme] .v1150-day-detail > summary strong,
html[data-ayumi-theme] .v1150-project-name,
html[data-ayumi-theme] .v1151-project-cell strong,
html[data-ayumi-theme] .v1152-project-table .v1152-project-heading,
html[data-ayumi-theme] .v1154-month-label,
html[data-ayumi-theme] .v1154-project-label,
html[data-ayumi-theme] .v1157-history-head strong,
html[data-ayumi-theme] .v1157-diff-item.changed strong,
html[data-ayumi-theme] .v1130-order-index{
  color:var(--theme-dark) !important;
}

/* 日次・月次の見出し背景 */
html[data-ayumi-theme] .v1125-day-detail > summary,
html[data-ayumi-theme] .v1150-day-detail > summary,
html[data-ayumi-theme] .v1151-recent-table th,
html[data-ayumi-theme] .v1152-project-table th,
html[data-ayumi-theme] .v1154-month-detail > summary,
html[data-ayumi-theme] .v1154-month-summary > div,
html[data-ayumi-theme] .v1154-project-summary > div{
  background:var(--theme-card-soft) !important;
  border-color:var(--theme-line) !important;
}

html[data-ayumi-theme] .v1152-project-table .v1152-project-heading,
html[data-ayumi-theme] .v1154-month-label,
html[data-ayumi-theme] .v1154-project-label{
  background:var(--theme-soft-2) !important;
}

/* ステータス・バッジも選択色へ */
html[data-ayumi-theme] .pill.ok,
html[data-ayumi-theme] .v076-status.active,
html[data-ayumi-theme] .v1125-role.staff,
html[data-ayumi-theme] .v1130-custom-badge,
html[data-ayumi-theme] .ayumi-update-badge{
  background:var(--theme-soft-2) !important;
  color:var(--theme-dark) !important;
}

html[data-ayumi-theme] .v1130-order-index{
  background:var(--theme-soft-2) !important;
}

/* 各種アクセント */
html[data-ayumi-theme] .v1131-reminder-create{
  border-top-color:var(--theme-primary) !important;
}

html[data-ayumi-theme] .v1133-nav-arrow{
  color:var(--theme-primary) !important;
  border-color:var(--theme-line) !important;
  box-shadow:0 3px 12px rgba(var(--theme-rgb),.18) !important;
}

html[data-ayumi-theme] .v1159-billing-hours-chip{
  color:var(--theme-dark) !important;
}

/* 打刻ボタンもテーマカラーへ */
html[data-ayumi-theme] .attendance-start{
  background:linear-gradient(
    180deg,
    var(--theme-primary-light) 0%,
    var(--theme-primary) 100%
  ) !important;
  border-color:rgba(var(--theme-rgb),.30) !important;
  box-shadow:0 8px 20px rgba(var(--theme-rgb),.24) !important;
}

/* ============================================================
   v1.1.63 更新情報
   ============================================================ */
.v1163-version-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding:13px 14px;
  border:1px solid var(--theme-line);
  border-radius:13px;
  background:linear-gradient(
    135deg,
    var(--theme-soft-2) 0%,
    var(--theme-card-soft) 100%
  );
}

.v1163-version-hero > div{
  display:grid;
  gap:3px;
}

.v1163-version-hero span{
  color:var(--muted);
  font-size:9.5px;
  font-weight:800;
}

.v1163-version-hero strong{
  color:var(--theme-dark);
  font-size:22px;
  letter-spacing:.02em;
}

.v1163-version-hero small{
  color:var(--muted);
  font-size:9px;
  font-weight:700;
}

.v1163-changelog-list{
  display:grid;
  gap:8px;
  margin-bottom:10px;
}

.v1163-changelog-entry{
  border:1px solid var(--theme-line);
  border-radius:11px;
  background:#fff;
  overflow:hidden;
}

.v1163-changelog-entry > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  cursor:pointer;
  background:var(--theme-card-soft);
}

.v1163-changelog-entry > summary::-webkit-details-marker{
  display:none;
}

.v1163-changelog-entry > summary > div{
  display:flex;
  align-items:baseline;
  gap:8px;
}

.v1163-changelog-entry > summary strong{
  color:var(--theme-dark) !important;
  font-size:12px !important;
}

.v1163-changelog-entry > summary span{
  color:var(--muted);
  font-size:9px;
  font-weight:700;
}

.v1163-changelog-entry > summary b{
  padding:3px 7px;
  border-radius:999px;
  background:var(--theme-soft-2);
  color:var(--theme-dark);
  font-size:8px;
}

.v1163-changelog-body{
  display:grid;
  gap:6px;
  padding:10px 12px 12px;
}

.v1163-change-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:4px;
  color:#4f5b51;
  font-size:10px;
  line-height:1.55;
}

.v1163-change-item > span{
  color:var(--theme-primary);
  font-weight:900;
}

.v1163-change-item p{
  margin:0;
}

/* テーマ設定自体も中まで色が変わる */
html[data-ayumi-theme] .v1162-theme-note{
  background:var(--theme-card-soft) !important;
  border-color:var(--theme-line) !important;
}

html[data-ayumi-theme] .v1162-theme-option.selected{
  border-color:var(--theme-primary) !important;
  background:var(--theme-soft) !important;
  box-shadow:0 5px 14px rgba(var(--theme-rgb),.12) !important;
}

@media(max-width:520px){
  .v1163-version-hero{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}


/* ============================================================
   v1.1.64 テレアポタイピング ミニゲーム
   ============================================================ */

.v1164-topbar-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.v1164-game-button{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:5px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 10px;
  background:#fff;
  color:var(--brand-green-dark);
  box-shadow:0 4px 13px rgba(0,0,0,.05);
  font-size:10px;
  cursor:pointer;
}

.v1164-game-button span{
  font-size:14px;
}

.v1164-game-button strong{
  white-space:nowrap;
}

.v1164-game-button.active{
  background:var(--brand-green);
  border-color:var(--brand-green);
  color:#fff;
}

.v1164-game-shell{
  display:grid;
  gap:12px;
}

.v1164-page-head{
  display:flex;
  align-items:center;
  gap:12px;
}

.v1164-page-head h1{
  margin:0;
  color:var(--brand-green-dark);
  font-size:20px;
}

.v1164-page-head p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:10px;
}

.v1164-back-button{
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  padding:8px 10px;
  font-weight:800;
  font-size:10px;
}

.v1164-profile-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:13px;
  align-items:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  box-shadow:var(--shadow);
}

.v1164-level-badge{
  width:72px;
  height:72px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(
    160deg,
    var(--brand-green-soft),
    var(--soft)
  );
  border:1px solid var(--line);
}

.v1164-level-badge span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}

.v1164-level-badge strong{
  color:var(--brand-green-dark);
  font-size:26px;
  line-height:1;
  margin-top:2px;
}

.v1164-level-badge small{
  color:var(--muted);
  font-size:7px;
  margin-top:2px;
}

.v1164-profile-main{
  min-width:0;
}

.v1164-title-row{
  display:flex;
  align-items:baseline;
  gap:8px;
}

.v1164-title-row span{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}

.v1164-title-row strong{
  color:var(--brand-green-dark);
  font-size:14px;
}

.v1164-xp-row{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-top:8px;
  color:var(--muted);
  font-size:8.5px;
  font-weight:800;
}

.v1164-xp-bar{
  position:relative;
  height:7px;
  margin-top:5px;
  border-radius:999px;
  overflow:hidden;
  background:var(--soft);
}

.v1164-xp-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    var(--brand-green),
    var(--theme-primary-light,var(--brand-green))
  );
  transition:width .25s ease;
}

.v1164-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}

.v1164-tabs button{
  min-width:0;
  border:1px solid var(--line);
  border-radius:11px;
  padding:10px 6px;
  background:#fff;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
}

.v1164-tabs button.active{
  background:var(--brand-green);
  border-color:var(--brand-green);
  color:#fff;
}

.v1164-play-card,
.v1164-ranking-card,
.v1164-book-card{
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}

.v1164-game-intro{
  text-align:center;
}

.v1164-game-icon{
  width:52px;
  height:52px;
  margin:0 auto 8px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:var(--brand-green-soft);
  color:var(--brand-green-dark);
  font-size:24px;
}

.v1164-game-intro h2{
  margin:0;
  color:var(--brand-green-dark);
  font-size:18px;
}

.v1164-game-intro p{
  max-width:500px;
  margin:7px auto 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.65;
}

.v1164-rule-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:14px 0;
}

.v1164-rule-grid > div{
  display:grid;
  gap:3px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--theme-card-soft,#f8fbf7);
}

.v1164-rule-grid span{
  color:var(--muted);
  font-size:7.5px;
  font-weight:800;
}

.v1164-rule-grid strong{
  color:var(--brand-green-dark);
  font-size:10px;
}

.v1164-rule-grid small{
  color:var(--muted);
  font-size:7px;
  line-height:1.45;
}

.v1164-start-button{
  margin-top:2px;
}

.v1164-rarity-note{
  margin-top:10px;
  color:var(--muted);
  font-size:8px;
  line-height:1.55;
  text-align:center;
}

.v1164-running-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:center;
}

.v1164-timer{
  min-width:92px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:2px;
  padding:10px;
  border-radius:14px;
  background:var(--brand-green-soft);
  color:var(--brand-green-dark);
}

.v1164-timer span,
.v1164-timer small{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}

.v1164-timer strong{
  font-size:25px;
  line-height:1;
}

.v1164-timer strong.is-ending{
  color:#b91c1c;
}

.v1164-live-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}

.v1164-live-stats > div{
  padding:9px 7px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--theme-card-soft,#f8fbf7);
}

.v1164-live-stats span{
  display:block;
  color:var(--muted);
  font-size:7px;
  font-weight:800;
}

.v1164-live-stats strong{
  display:block;
  margin-top:2px;
  color:var(--brand-green-dark);
  font-size:16px;
}

.v1164-word-stage{
  margin-top:15px;
  padding:18px 14px 15px;
  border:2px solid var(--line);
  border-radius:17px;
  text-align:center;
  background:linear-gradient(
    180deg,
    #fff,
    var(--theme-card-soft,#f8fbf7)
  );
}

.v1164-word-stage.is-correct{
  animation:v1164CorrectFlash .24s ease;
}

@keyframes v1164CorrectFlash{
  0%{border-color:var(--line)}
  45%{border-color:var(--brand-green);transform:scale(1.01)}
  100%{border-color:var(--line);transform:scale(1)}
}

.v1164-current-no{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}

.v1164-current-word{
  margin:5px 0 15px;
  color:var(--brand-green-dark);
  font-size:clamp(24px,7vw,36px);
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.v1164-game-input{
  width:100%;
  border:2px solid var(--line);
  border-radius:13px;
  padding:12px 13px;
  background:#fff;
  color:var(--text);
  text-align:center;
  font-size:17px;
  font-weight:800;
  outline:none;
}

.v1164-game-input:focus{
  border-color:var(--brand-green);
  box-shadow:0 0 0 3px rgba(var(--theme-rgb,31,84,36),.12);
}

.v1164-game-input.is-error{
  border-color:#b91c1c !important;
  background:#fff5f5;
  color:#991b1b;
  animation:v1164Shake .16s linear;
}

@keyframes v1164Shake{
  0%,100%{transform:translateX(0)}
  35%{transform:translateX(-4px)}
  70%{transform:translateX(4px)}
}

.v1164-input-help{
  margin-top:7px;
  color:var(--muted);
  font-size:8px;
}

.v1164-result-card{
  text-align:center;
}

.v1164-result-kicker{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
}

.v1164-result-card h2{
  margin:5px 0 13px;
  color:var(--brand-green-dark);
  font-size:24px;
}

.v1164-result-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}

.v1164-result-grid > div{
  padding:10px 6px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--theme-card-soft,#f8fbf7);
}

.v1164-result-grid span{
  display:block;
  color:var(--muted);
  font-size:7px;
}

.v1164-result-grid strong{
  display:block;
  margin-top:3px;
  color:var(--brand-green-dark);
  font-size:17px;
}

.v1164-result-level{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:10px;
  border-radius:11px;
  background:var(--brand-green-soft);
}

.v1164-result-level span{
  color:var(--muted);
  font-size:8px;
}

.v1164-result-level strong{
  color:var(--brand-green-dark);
  font-size:12px;
}

.v1164-result-level b{
  padding:3px 7px;
  border-radius:999px;
  background:var(--brand-green);
  color:#fff;
  font-size:8px;
}

.v1164-result-book{
  margin-top:8px;
  color:var(--muted);
  font-size:9px;
}

.v1164-result-book strong{
  color:var(--brand-green-dark);
}

.v1164-result-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  margin-top:13px;
}

.v1164-result-actions .btn{
  padding:10px 6px;
  font-size:9px;
}

.v1164-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
}

.v1164-section-head h2{
  margin:0;
  color:var(--brand-green-dark);
  font-size:16px;
}

.v1164-section-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:8px;
}

.v1164-ranking-list{
  display:grid;
  gap:8px;
}

.v1164-ranking-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--theme-card-soft,#f8fbf7);
}

.v1164-ranking-row.rank-1{
  border-color:#e5c660;
  background:#fffaf0;
}

.v1164-rank-medal{
  font-size:24px;
}

.v1164-rank-person{
  min-width:0;
}

.v1164-rank-person strong{
  display:block;
  color:var(--text);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.v1164-rank-person span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:8px;
}

.v1164-rank-score{
  display:flex;
  align-items:baseline;
  gap:2px;
  color:var(--brand-green-dark);
}

.v1164-rank-score strong{
  font-size:22px;
}

.v1164-rank-score span{
  font-size:8px;
}

.v1164-ranking-note{
  margin-top:9px;
  color:var(--muted);
  font-size:8px;
  text-align:center;
}

.v1164-book-rate{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:var(--brand-green-soft);
  color:var(--brand-green-dark);
  font-size:10px;
  font-weight:900;
}

.v1164-book-guide{
  margin-bottom:11px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--theme-card-soft,#f8fbf7);
  color:var(--muted);
  font-size:8px;
  line-height:1.55;
}

.v1164-wordbook-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.v1164-word-card{
  min-width:0;
  min-height:61px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}

.v1164-word-card.locked{
  background:#f7f7f7;
  opacity:.72;
}

.v1164-word-no{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  color:var(--muted);
  font-size:7px;
  font-weight:900;
}

.v1164-word-no span{
  padding:2px 4px;
  border-radius:999px;
  background:var(--soft);
  color:var(--muted);
  font-size:6px;
}

.v1164-word-card.unlocked .v1164-word-no span{
  background:var(--brand-green-soft);
  color:var(--brand-green-dark);
}

.v1164-word-card strong{
  min-width:0;
  color:var(--brand-green-dark);
  font-size:9px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.v1164-word-card.locked strong{
  color:#9ca3af;
  letter-spacing:.08em;
}

/* 個人テーマと連動 */
html[data-ayumi-theme] .v1164-game-button.active,
html[data-ayumi-theme] .v1164-tabs button.active,
html[data-ayumi-theme] .v1164-result-level b{
  background:var(--theme-primary) !important;
  border-color:var(--theme-primary) !important;
}

html[data-ayumi-theme] .v1164-level-badge,
html[data-ayumi-theme] .v1164-game-icon,
html[data-ayumi-theme] .v1164-timer,
html[data-ayumi-theme] .v1164-result-level,
html[data-ayumi-theme] .v1164-book-rate,
html[data-ayumi-theme] .v1164-word-card.unlocked .v1164-word-no span{
  background:var(--theme-soft-2) !important;
}

html[data-ayumi-theme] .v1164-level-badge strong,
html[data-ayumi-theme] .v1164-title-row strong,
html[data-ayumi-theme] .v1164-current-word,
html[data-ayumi-theme] .v1164-live-stats strong,
html[data-ayumi-theme] .v1164-result-card h2,
html[data-ayumi-theme] .v1164-result-grid strong,
html[data-ayumi-theme] .v1164-result-level strong,
html[data-ayumi-theme] .v1164-section-head h2,
html[data-ayumi-theme] .v1164-rank-score,
html[data-ayumi-theme] .v1164-word-card.unlocked strong{
  color:var(--theme-dark) !important;
}

@media(max-width:600px){
  .v1164-game-button{
    padding:7px 8px;
  }

  .v1164-game-button strong{
    font-size:9px;
  }

  .v1164-rule-grid{
    grid-template-columns:1fr;
  }

  .v1164-running-head{
    grid-template-columns:1fr;
  }

  .v1164-result-grid{
    grid-template-columns:1fr 1fr;
  }

  .v1164-result-actions{
    grid-template-columns:1fr;
  }

  .v1164-wordbook-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:390px){
  .v1164-game-button strong{
    display:none;
  }

  .v1164-game-button{
    width:38px;
    height:38px;
    justify-content:center;
    padding:0;
  }

  .v1164-game-button span{
    font-size:17px;
  }
}


/* ============================================================
   v1.1.65 スマホ専用 / ひらがな入力 / BGM
   ============================================================ */
.v1165-pc-only-note{
  max-width:560px;
  margin:4px auto;
  padding:20px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--theme-card-soft,#f8fbf7);
  text-align:center;
}
.v1165-pc-icon{font-size:34px;margin-bottom:6px}
.v1165-pc-only-note h2{margin:0;color:var(--brand-green-dark);font-size:18px}
.v1165-pc-only-note p{margin:9px 0;color:var(--muted);font-size:10px;line-height:1.7}
.v1165-pc-only-note strong{display:block;color:var(--brand-green-dark);font-size:11px;line-height:1.6}
.v1165-pc-view-note{margin-top:10px;text-align:center;color:var(--muted);font-size:9px}
.v1165-bgm-row{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-bottom:10px;color:var(--muted);font-size:8px;font-weight:800}
.v1165-bgm-toggle{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand-green-dark);padding:6px 9px;font-size:8px;font-weight:900;cursor:pointer}
.v1165-current-reading{margin:6px 0 2px;color:var(--muted);font-size:14px;font-weight:900;letter-spacing:.04em;overflow-wrap:anywhere}
.v1165-current-reading + .v1164-current-word{margin-top:1px}
html[data-ayumi-theme] .v1165-pc-only-note h2,
html[data-ayumi-theme] .v1165-pc-only-note strong,
html[data-ayumi-theme] .v1165-bgm-toggle{color:var(--theme-dark)!important}
@media(max-width:600px){
  .v1165-current-reading{font-size:13px}
  .v1164-current-word{font-size:clamp(26px,8vw,36px)}
}


/* ============================================================
   v1.1.66 テレアポタイピング 操作確定版
   ============================================================ */
.v1166-play-guide{
  display:flex;align-items:center;gap:7px;
  margin:8px 0 12px;padding:8px 10px;
  border:1px solid var(--line);border-radius:11px;background:#fff;
  color:var(--muted);font-size:8.5px;line-height:1.45;
}
.v1166-play-guide b{color:var(--brand-green-dark);white-space:nowrap}
.v1166-play-guide kbd{
  font:inherit;font-weight:900;background:var(--soft);
  border:1px solid var(--line);border-radius:6px;padding:2px 5px;
  color:var(--brand-green-dark);
}
.v1166-running-actions{
  display:flex;justify-content:center;align-items:center;gap:8px;
  flex-wrap:wrap;margin-top:10px;
}
.v1166-cancel-button{
  border:1px solid #e4bcbc;background:#fff;color:#9b1c1c;
  border-radius:999px;padding:7px 13px;font-size:8.5px;font-weight:900;cursor:pointer;
}
html[data-ayumi-theme] .v1166-play-guide b,
html[data-ayumi-theme] .v1166-play-guide kbd{color:var(--theme-dark)!important}
@media(max-width:600px){
  .v1166-play-guide{font-size:8px}
  .v1166-running-actions{margin-top:9px}
}


/* ===== v1.1.67 探索ゲーム・ポイント基盤 ===== */
.v1167-point-card{border:1px solid color-mix(in srgb,var(--theme-primary,#1f5424) 25%,#d9e4da)}
.v1167-point-head{align-items:flex-start;gap:12px}
.v1167-balance{min-width:86px;text-align:right;background:var(--theme-soft,#edf6ed);border-radius:14px;padding:9px 11px}
.v1167-balance span{display:block;font-size:10px;color:#6b7280;font-weight:700}
.v1167-balance strong{font-size:24px;color:var(--theme-primary,#1f5424);line-height:1.1}
.v1167-point-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.v1167-point-summary>div{border:1px solid #d9e4da;border-radius:12px;padding:9px 10px}
.v1167-point-summary span{display:block;font-size:10px;color:#6b7280}
.v1167-point-summary strong{font-size:17px;color:var(--theme-primary,#1f5424)}
.v1167-grant-details{margin-top:8px;border-top:1px solid #e5e7eb;padding-top:10px}
.v1167-grant-details summary{cursor:pointer;font-weight:800;color:var(--theme-primary,#1f5424)}
.v1167-grant-list{display:grid;gap:10px;margin-top:10px}
.v1167-grant-item{border:1px solid #e1e8e2;border-radius:14px;padding:11px;background:#fff}
.v1167-grant-date{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}
.v1167-grant-total{font-weight:900;color:var(--theme-primary,#1f5424)}
.v1167-grant-lines{display:grid;gap:5px}
.v1167-grant-lines>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.v1167-grant-lines strong{color:var(--theme-primary,#1f5424);white-space:nowrap}
.v1167-point-note{font-size:10px;color:#6b7280;line-height:1.5;margin-top:10px}
.v1167-incentive-list{display:grid;gap:8px}
.v1167-incentive-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e8e2;border-radius:12px;padding:10px 12px}
.v1167-incentive-row>div{display:grid;gap:2px}
.v1167-incentive-row span{font-size:11px;color:#6b7280}
.v1167-admin-toolbar,.v1167-recalc-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.v1167-admin-toolbar .compact-field{min-width:180px;flex:1}
.v1167-settings-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:12px 0}
.v1167-settings-grid .compact-field{position:relative}
.v1167-settings-grid .compact-field span{font-size:11px;color:#6b7280}
.v1167-recalc-row input{min-height:42px}
@media(max-width:720px){
  .v1167-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v1167-grant-date{align-items:flex-start}
  .v1167-grant-lines>div{font-size:11px}
}

/* ============================================================
   v1.1.68 ミニゲームハブ / アユコネクエスト
   ============================================================ */
.v1168-hub-shell{max-width:760px;margin:0 auto;padding-bottom:24px}
.v1168-hub-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.v1168-hub-head h1{margin:0;color:var(--theme-primary,#1f5424);font-size:24px}
.v1168-hub-head p{margin:3px 0 0;color:#6b7280;font-size:13px}
.v1168-game-grid,.v1168-admin-choice-grid{display:grid;grid-template-columns:1fr;gap:12px}
.v1168-game-card{width:100%;display:grid;grid-template-columns:62px 1fr 24px;gap:13px;align-items:center;text-align:left;border:1px solid #d9e4da;background:#fff;border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(0,0,0,.045);color:#203025}
.v1168-game-card:active,.v1168-admin-choice:active{transform:scale(.99)}
.v1168-quest-card{border-color:color-mix(in srgb,var(--theme-primary,#1f5424) 26%,#d9e4da)}
.v1168-game-icon{width:58px;height:58px;border-radius:16px;background:#edf6ed;display:grid;place-items:center;font-size:30px}
.v1168-game-copy{display:flex;flex-direction:column;gap:5px}
.v1168-game-copy strong{font-size:18px;color:var(--theme-primary,#1f5424)}
.v1168-game-copy small{font-size:12px;color:#6b7280;line-height:1.5}
.v1168-game-arrow{font-size:31px;color:#94a3b8;font-weight:300;text-align:right}
.v1168-hub-note,.v1168-admin-only-note{margin-top:14px;padding:11px 13px;border-radius:12px;background:#f3f7f3;color:#5d6d60;font-size:12px;line-height:1.6}
.v1168-admin-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v1168-admin-choice{border:1px solid #d9e4da;background:#fff;border-radius:18px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:#203025;box-shadow:0 8px 24px rgba(0,0,0,.045)}
.v1168-admin-choice strong{font-size:18px;color:var(--theme-primary,#1f5424)}
.v1168-admin-choice small{font-size:12px;color:#6b7280;line-height:1.5}
.v1168-choice-icon{font-size:38px}
.v1168-dev-choice{background:linear-gradient(180deg,#fff,#f6faf6)}
.v1168-quest-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.v1168-quest-status>div{background:#fff;border:1px solid #d9e4da;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.v1168-quest-status span{font-size:11px;color:#6b7280}
.v1168-quest-status strong{font-size:15px;color:var(--theme-primary,#1f5424)}
.v1168-quest-preview{background:#fff;border:1px solid #d9e4da;border-radius:20px;padding:16px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.045)}
.v1168-quest-preview h2{margin:14px 0 6px;color:var(--theme-primary,#1f5424)}
.v1168-quest-preview p{font-size:13px;line-height:1.7;color:#6b7280;max-width:520px;margin:0 auto}
.v1168-preview-map{height:235px;border-radius:16px;overflow:hidden;position:relative;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 24px),linear-gradient(135deg,#4f7b45 0 28%,#678f50 28% 46%,#7aa467 46% 62%,#52773f 62% 100%);image-rendering:pixelated}
.v1168-preview-map:before{content:"";position:absolute;left:16%;top:20%;width:24%;height:34%;background:#315c37;clip-path:polygon(0 38%,20% 10%,42% 29%,62% 0,100% 35%,86% 100%,26% 90%);opacity:.8}
.v1168-preview-map:after{content:"";position:absolute;right:5%;bottom:6%;width:42%;height:34%;background:#4a88a6;clip-path:polygon(12% 0,100% 18%,86% 100%,0 77%);opacity:.85}
.v1168-preview-fog{position:absolute;background:rgba(25,35,27,.72);filter:blur(5px);border-radius:44%}
.v1168-preview-fog.fog-a{width:49%;height:53%;left:-8%;bottom:-14%}
.v1168-preview-fog.fog-b{width:42%;height:47%;right:-5%;top:-9%}
.v1168-preview-player{position:absolute;left:46%;top:46%;font-size:31px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.v1168-preview-chest{position:absolute;left:63%;top:29%;font-size:27px;color:#d89b35;text-shadow:0 2px #5a3b18}
.v1168-preview-rule{display:inline-flex;gap:9px;align-items:center;margin-top:13px;background:#edf6ed;border-radius:999px;padding:8px 14px;color:var(--theme-primary,#1f5424);font-size:13px;font-weight:800}
.v1168-dev-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v1168-dev-nav>div{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.v1168-dev-nav strong{color:var(--theme-primary,#1f5424)}
.v1168-dev-nav span{font-size:10px;color:#6b7280}
@media(max-width:560px){
  .v1168-admin-choice-grid{grid-template-columns:1fr}
  .v1168-hub-head{align-items:flex-start}
  .v1168-hub-head h1{font-size:21px}
  .v1168-game-card{grid-template-columns:54px 1fr 20px;padding:14px}
  .v1168-game-icon{width:50px;height:50px;font-size:26px}
  .v1168-game-copy strong{font-size:16px}
  .v1168-preview-map{height:210px}
  .v1168-dev-nav{align-items:flex-start}
}

/* ============================================================
   v1.1.69 アユコネクエスト：キャラ / タイルマップ / 移動
   ============================================================ */
.v1169-wide-shell{max-width:1120px}
.v1169-head{max-width:900px;margin-left:auto;margin-right:auto}
.v1169-hud,.v1169-player-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.v1169-hud>div,.v1169-player-hud>div{background:#fff;border:1px solid #d9e4da;border-radius:13px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.v1169-hud span,.v1169-player-hud span{font-size:10px;color:#6b7280}.v1169-hud strong,.v1169-player-hud strong{font-size:14px;color:var(--theme-primary,#1f5424);overflow:hidden;text-overflow:ellipsis}
.v1169-player-hud .v1169-player-char{display:flex;flex-direction:row;align-items:center;gap:7px;padding:5px 9px}.v1169-player-char canvas{width:46px;height:46px;image-rendering:pixelated;flex:none}.v1169-player-char>div{display:flex;flex-direction:column;min-width:0}
.v1169-join-intro{background:linear-gradient(135deg,#f3f8f2,#fff);border:1px solid #d9e4da;border-radius:14px;padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:3px}.v1169-join-intro strong{color:var(--theme-primary,#1f5424)}.v1169-join-intro span{font-size:12px;color:#617064;line-height:1.5}
.v1169-section{margin-bottom:12px}.v1169-step-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 2px 8px}.v1169-step-title h3{margin:0;color:#243027}.v1169-step-title span{font-size:11px;color:#6b7280}
.v1169-char-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.v1169-char-card{border:2px solid #e2e8e2;background:#fff;border-radius:14px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;color:#263328}.v1169-char-card canvas{width:52px;height:52px;image-rendering:pixelated}.v1169-char-card strong{font-size:12px;color:var(--theme-primary,#1f5424)}.v1169-char-card span{font-size:10px;color:#69766b}.v1169-char-card small{font-size:9px;color:#8a958c}.v1169-char-card.is-selected{border-color:#e4b735;background:#fffbea;box-shadow:0 0 0 2px rgba(228,183,53,.18)}.v1169-char-card.is-taken{opacity:.42;filter:grayscale(.65)}
.v1169-map-card{background:#fff;border:1px solid #d7e1d8;border-radius:18px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.045)}
.v1169-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.v1169-map-toolbar>div:first-child{display:flex;flex-direction:column}.v1169-map-toolbar strong{color:#29382d}.v1169-map-toolbar span{font-size:10px;color:#6b7280}.v1169-map-actions{display:flex;gap:5px;align-items:center}.v1169-map-actions button{border:1px solid #d4ded5;background:#f8fbf8;color:#345239;border-radius:9px;min-width:36px;height:34px;padding:0 9px;font-weight:800}.v1169-map-actions #v1169Fullscreen{font-size:11px;min-width:auto}
.v1169-map-stage{height:min(64dvh,620px);min-height:430px;position:relative;overflow:hidden;border-radius:13px;background:#101913;border:1px solid #26362a;touch-action:none;user-select:none;-webkit-user-select:none}.v1169-map-stage>canvas#v1169MapCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.v1169-map-stage>canvas#v1169MapCanvas:active{cursor:grabbing}.v1169-map-hint{position:absolute;left:10px;bottom:10px;background:rgba(12,22,15,.76);color:#e7eee9;padding:6px 9px;border-radius:999px;font-size:9px;pointer-events:none}.v1169-minimap{position:absolute;right:10px;bottom:10px;width:100px;height:120px;border:2px solid rgba(255,255,255,.82);border-radius:8px;background:#152019;box-shadow:0 3px 10px rgba(0,0,0,.35);cursor:pointer}.v1169-full-close{display:none;position:absolute;z-index:8;top:max(10px,env(safe-area-inset-top));right:10px;border:0;border-radius:999px;padding:9px 12px;background:rgba(15,24,17,.86);color:#fff;font-weight:800}
.v1169-map-card.is-fullscreen{position:fixed;z-index:10020;inset:0;background:#0c130e;border:0;border-radius:0;padding:0;margin:0}.v1169-map-card.is-fullscreen .v1169-map-toolbar{display:none}.v1169-map-card.is-fullscreen .v1169-map-stage{height:100dvh;min-height:0;border:0;border-radius:0}.v1169-map-card.is-fullscreen .v1169-full-close{display:block}.v1169-map-card.is-fullscreen .v1169-minimap{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:112px;height:134px}.v1169-map-card.is-fullscreen .v1169-map-hint{left:12px;bottom:max(12px,env(safe-area-inset-bottom))}.v1169-map-open{overflow:hidden!important}
.v1169-start-choice{margin:8px auto 0;width:max-content;max-width:100%;background:#fff9df;border:1px solid #eed271;color:#6c5720;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800}.v1169-join-btn{width:100%;min-height:48px;font-weight:900}
.v1169-play-bottom{display:grid;grid-template-columns:190px 1fr;gap:12px;align-items:center;margin-top:12px}.v1169-dpad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,48px);gap:4px;justify-content:center}.v1169-dpad button{border:1px solid #cfdacf;background:#fff;border-radius:12px;color:var(--theme-primary,#1f5424);font-size:20px;font-weight:900;box-shadow:0 3px 8px rgba(0,0,0,.06)}.v1169-dpad button:active{transform:translateY(1px);background:#edf6ed}.v1169-dpad button:disabled{opacity:.45}.v1169-dpad>div{border-radius:12px;background:#eef5ee;display:grid;place-items:center;text-align:center;color:#315838;font-size:12px;font-weight:900;line-height:1.05}.v1169-dpad>div small{font-size:8px}.v1169-play-help{border:1px solid #e1e8e2;background:#fff;border-radius:14px;padding:12px 14px}.v1169-play-help strong{color:#355b3a}.v1169-play-help p{margin:5px 0 0;color:#6b7280;font-size:11px;line-height:1.5}
.v1169-admin-preview-note{display:flex;gap:10px;align-items:center;background:#fff8df;border:1px solid #ead382;border-radius:12px;padding:9px 11px;margin-bottom:9px}.v1169-admin-preview-note>span{font-size:11px;font-weight:900;color:#725c16;white-space:nowrap}.v1169-admin-preview-note p{margin:0;flex:1;font-size:10px;color:#746b4d}.v1169-admin-preview-note button{border:1px solid #dbc66f;border-radius:9px;background:#fffef5;padding:7px 10px;font-size:10px;font-weight:800;color:#6d5818}
@media(max-width:720px){
 .v1169-wide-shell{max-width:none}.v1169-head{margin-bottom:9px}.v1169-hud,.v1169-player-hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.v1169-char-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.v1169-char-card{padding:6px 1px;border-radius:10px}.v1169-char-card canvas{width:42px;height:42px}.v1169-char-card strong{font-size:9px}.v1169-char-card span{font-size:8px}.v1169-char-card small{font-size:7px}.v1169-map-card{padding:6px;border-radius:14px}.v1169-map-toolbar{align-items:flex-end}.v1169-map-toolbar>div:first-child span{display:none}.v1169-map-actions{gap:3px}.v1169-map-actions button{min-width:32px;height:32px;padding:0 7px}.v1169-map-actions #v1169Fullscreen{font-size:9px}.v1169-map-stage{height:66dvh;min-height:470px;border-radius:10px}.v1169-minimap{width:82px;height:99px;right:7px;bottom:7px}.v1169-map-hint{left:7px;bottom:7px;font-size:8px}.v1169-play-bottom{grid-template-columns:1fr}.v1169-dpad{grid-template-columns:repeat(3,62px);grid-template-rows:repeat(3,50px)}.v1169-play-help{display:none}.v1169-step-title{align-items:flex-start;flex-direction:column;gap:2px}.v1169-admin-preview-note{align-items:flex-start;flex-wrap:wrap}.v1169-admin-preview-note p{min-width:180px}
}
@media(max-width:390px){.v1169-char-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.v1169-char-card canvas{width:36px;height:36px}.v1169-map-stage{min-height:440px}.v1169-player-hud .v1169-player-char canvas{width:38px;height:38px}}
/* v1.1.96 アユコネクエスト自動運用 */
.v1196-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.v1196-schedule>div,.v1196-status-grid>div{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fafafa}.v1196-schedule span,.v1196-status-grid span{display:block;font-size:12px;color:#64748b}.v1196-schedule strong,.v1196-status-grid strong{display:block;margin:4px 0}.v1196-schedule small,.v1196-status-grid small{display:block;color:#64748b;line-height:1.45}.v1196-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v1196-badge{display:inline-block!important;width:max-content;padding:3px 8px;border-radius:999px;font-size:12px!important}.v1196-badge.success{background:#dcfce7;color:#166534}.v1196-badge.failed{background:#fee2e2;color:#991b1b}.v1196-badge.running{background:#fef3c7;color:#92400e}.v1196-badge.none{background:#e2e8f0;color:#475569}.v1196-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:650px){.v1196-schedule,.v1196-status-grid{grid-template-columns:1fr}}

/* v1.2.03 AyuQuest exit / stability */
.v1169-head{position:relative}.v1203-quest-title{min-width:0}.v1203-quest-exit{margin-left:auto;flex:0 0 auto;border:0;border-radius:999px;background:#8c2e2e;color:#fff;font-weight:900;padding:9px 13px;box-shadow:0 3px 10px rgba(90,20,20,.18)}
.v1203-quest-exit:active{transform:translateY(1px)}
@media(max-width:520px){.v1169-head{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.v1169-head .v1164-back-button{font-size:10px;padding:8px 9px}.v1203-quest-title h1{font-size:17px!important;white-space:nowrap}.v1203-quest-title p{display:none}.v1203-quest-exit{padding:8px 10px;font-size:11px}}

/* v1.2.04 AyuQuest header controls */
.v1204-quest-actions{margin-left:auto;display:flex;align-items:center;gap:7px;flex:0 0 auto}
.v1204-quest-actions .v1171-quest-sound,.v1204-quest-actions .v1203-quest-exit{margin:0;min-height:36px}
@media(max-width:520px){
  .v1169-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:6px!important}
  .v1204-quest-actions{gap:5px}
  .v1204-quest-actions .v1171-quest-sound{font-size:9px;padding:7px 8px;min-height:34px}
  .v1204-quest-actions .v1203-quest-exit{font-size:10px;padding:7px 9px;min-height:34px}
  .v1203-quest-title h1{font-size:15px!important;overflow:hidden;text-overflow:ellipsis}
}


/* v1.2.05 AyuQuest test controls / map edge */
.v1205-manual-grant{display:grid;grid-template-columns:minmax(160px,1fr) 130px minmax(180px,1.2fr) auto;gap:9px;align-items:end}
.v1205-manual-grant .compact-field{min-width:0}.v1205-manual-grant select,.v1205-manual-grant input{width:100%}
.v1205-manual-grant .btn{min-height:42px;white-space:nowrap}
.v1171-quest-sound.v1171-floating{display:none!important}
@media(max-width:720px){.v1205-manual-grant{grid-template-columns:1fr 1fr}.v1205-grant-note{grid-column:1/-1}.v1205-manual-grant .btn{grid-column:1/-1;width:100%}}
@media(max-width:430px){
  .v1204-quest-actions{gap:4px!important}
  .v1204-quest-actions .v1171-quest-sound{font-size:8px!important;padding:6px 7px!important}
  .v1204-quest-actions .v1203-quest-exit{font-size:9px!important;padding:6px 8px!important}
}


/* v1.2.06 AyuQuest mobile viewport / visible animation */
@media(max-width:720px){
  .v1169-player-hud{gap:4px!important;margin-bottom:5px!important}
  .v1169-player-hud>div{padding:6px 8px!important;border-radius:10px!important;gap:1px!important}
  .v1169-player-hud span{font-size:9px!important}
  .v1169-player-hud strong{font-size:12px!important}
  .v1169-player-hud .v1169-player-char{padding:3px 6px!important}
  .v1169-player-hud .v1169-player-char canvas{width:34px!important;height:34px!important}
  .v1206-play-map{padding:4px!important}
  .v1206-play-map .v1169-map-toolbar{margin-bottom:4px!important}
  .v1206-play-map .v1169-map-toolbar strong{font-size:12px!important}
  .v1206-play-map .v1169-map-actions button{height:28px!important;min-width:28px!important;padding:0 6px!important;font-size:11px!important}
  .v1206-play-map .v1169-map-stage{height:clamp(240px,38dvh,340px)!important;min-height:0!important}
  .v1206-play-map .v1169-minimap{width:64px!important;height:76px!important}
  .v1206-play-map .v1169-map-hint{font-size:7px!important;padding:4px 6px!important}
  .v1169-play-bottom{margin-top:5px!important}
  .v1169-dpad{grid-template-columns:repeat(3,54px)!important;grid-template-rows:repeat(3,40px)!important;gap:3px!important}
  .v1169-dpad button{font-size:18px!important;border-radius:10px!important}
  .v1169-dpad>div{font-size:11px!important;border-radius:10px!important}
}
@media(max-width:430px){
  .v1206-play-map .v1169-map-stage{height:clamp(230px,36dvh,310px)!important}
  .v1169-dpad{grid-template-columns:repeat(3,50px)!important;grid-template-rows:repeat(3,38px)!important}
}
@media(max-height:760px) and (max-width:720px){
  .v1206-play-map .v1169-map-stage{height:32dvh!important;min-height:215px!important;max-height:270px!important}
  .v1169-player-hud .v1169-player-char canvas{width:30px!important;height:30px!important}
  .v1169-dpad{grid-template-rows:repeat(3,36px)!important}
}

/* ============================================================
   v1.2.10 アユコネクエスト 開始地点ガイド / 遊び方説明書
   ============================================================ */
.v1210-quest-guide-entry{margin:12px 0 0;padding:12px;border:1px solid #d9e4da;border-radius:14px;background:linear-gradient(135deg,#f7fbf6,#fff);display:grid;gap:5px;text-align:center}
.v1210-quest-guide-entry button{border:0;border-radius:12px;background:#244f2b;color:#fff;padding:12px 14px;font-size:14px;font-weight:900;box-shadow:0 4px 12px rgba(36,79,43,.16)}
.v1210-quest-guide-entry small{font-size:10px;line-height:1.5;color:#69766b}
.v1210-quest-guide-btn{border:1px solid #d4ded5;background:#f8fbf8;color:#345239;border-radius:999px;width:36px;height:36px;padding:0;font-size:17px;font-weight:900;display:grid;place-items:center}
.v1204-quest-actions .v1210-quest-guide-btn{margin:0;flex:0 0 auto}

.v1210-start-guide{margin:0 0 10px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#fff8d8,#fffdf2);border:2px solid #edd36f;box-shadow:0 5px 14px rgba(90,71,13,.08)}
.v1210-start-guide-head{display:flex;gap:10px;align-items:flex-start}.v1210-start-guide-head>span{width:34px;height:34px;border-radius:999px;background:#e0ad1f;color:#fff;font-size:18px;font-weight:900;display:grid;place-items:center;flex:none}
.v1210-start-guide-head h3{margin:0;color:#4b3c12;font-size:18px;line-height:1.25}.v1210-start-guide-head p{margin:4px 0 0;color:#665927;font-size:13px;line-height:1.65}.v1210-start-guide-head strong{color:#8a6400}
.v1210-start-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.v1210-start-steps>div{background:#fff;border:1px solid #ead889;border-radius:12px;padding:9px 6px;text-align:center;display:grid;gap:4px}.v1210-start-steps b{width:24px;height:24px;border-radius:999px;background:#385e3c;color:#fff;display:grid;place-items:center;margin:auto;font-size:12px}.v1210-start-steps span{font-size:11px;font-weight:800;color:#4f5a50;line-height:1.35}
.v1210-start-note{margin-top:10px;padding:9px 10px;border-radius:11px;background:#fff;border:1px dashed #dac66d;color:#645b35;font-size:11px;line-height:1.6}.v1210-start-note b{color:#9b512d}
.v1210-start-map-badge{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:5;max-width:calc(100% - 28px);background:rgba(32,48,35,.9);color:#fff7bc;border:1px solid rgba(255,230,110,.75);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;white-space:nowrap;pointer-events:none;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.v1210-start-choice{font-size:13px!important;padding:10px 14px!important;border-radius:12px!important;width:100%!important;text-align:center;background:#fff8d8!important}

.v1210-guide-open{overflow:hidden!important}.v1210-guide-overlay{position:fixed;inset:0;z-index:12000;background:#edf4ed;overflow:auto;-webkit-overflow-scrolling:touch;color:#263128}.v1210-guide-page{max-width:760px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top)) 12px calc(28px + env(safe-area-inset-bottom))}
.v1210-guide-top{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:rgba(237,244,237,.94);backdrop-filter:blur(10px);padding:8px 0 10px;border-bottom:1px solid #d8e3d9}.v1210-guide-top button{border:1px solid #cfdbd0;background:#fff;color:#315238;border-radius:11px;padding:9px 11px;font-weight:800}.v1210-guide-top span{display:block;font-size:9px;letter-spacing:.14em;color:#78907b;font-weight:900}.v1210-guide-top h2{margin:1px 0 0;font-size:18px;color:#244f2b}
.v1210-guide-hero{margin:14px 0 10px;border-radius:18px;background:linear-gradient(135deg,#254f2c,#3f7448);color:#fff;padding:16px;display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;box-shadow:0 8px 22px rgba(27,64,34,.18)}.v1210-guide-hero-icon{font-size:40px}.v1210-guide-hero h3{margin:0;font-size:16px;line-height:1.45;color:#fff}.v1210-guide-hero p{margin:5px 0 0;font-size:11px;line-height:1.6;color:#e4f2e6}
.v1210-guide-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:18px}.v1210-guide-quick>div{background:#fff;border:1px solid #dbe5dc;border-radius:12px;padding:9px 5px;text-align:center;display:grid;gap:4px}.v1210-guide-quick b{width:24px;height:24px;border-radius:999px;background:#d6ad38;color:#fff;display:grid;place-items:center;margin:auto;font-size:11px}.v1210-guide-quick span{font-size:9px;line-height:1.3;font-weight:800;color:#536458}
.v1210-guide-section-title{margin:20px 2px 8px;font-size:16px;color:#244f2b}.v1210-guide-card{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;background:#fff;border:1px solid #dbe5dc;border-radius:15px;padding:12px;margin-bottom:8px;box-shadow:0 3px 12px rgba(0,0,0,.025)}.v1210-guide-icon{width:42px;height:42px;border-radius:12px;background:#eff6ef;display:grid;place-items:center;font-size:23px}.v1210-guide-copy h3{margin:0 0 4px;font-size:14px;color:#2e5434}.v1210-guide-copy p{margin:0 0 4px;font-size:11px;line-height:1.65;color:#5f6c62}.v1210-guide-copy strong{color:#284f31}.v1210-guide-example{font-size:10px!important;color:#7c877e!important;background:#f6f8f6;border-radius:8px;padding:6px 8px}
.v1210-guide-callout{border-radius:14px;padding:12px 13px;margin:9px 0 12px}.v1210-guide-callout strong{display:block;font-size:13px;margin-bottom:3px}.v1210-guide-callout p{margin:0;font-size:10.5px;line-height:1.6}.v1210-guide-callout.green{background:#e7f4e9;border:1px solid #bcd8c0;color:#315b38}.v1210-guide-callout.amber{background:#fff4cf;border:1px solid #ebd889;color:#70591c}
.v1210-guide-summary{background:#fff;border:1px solid #dbe5dc;border-radius:15px;padding:12px 14px}.v1210-guide-summary p{margin:6px 0;font-size:12px;font-weight:700;color:#455648}
.v1210-guide-bottom-close{width:100%;margin-top:16px;border:0;border-radius:14px;background:#244f2b;color:#fff;padding:14px;font-size:14px;font-weight:900;box-shadow:0 5px 14px rgba(36,79,43,.18)}
@media(max-width:520px){
  .v1204-quest-actions{gap:3px!important}.v1210-quest-guide-btn{width:32px;height:32px;font-size:15px}.v1204-quest-actions .v1171-quest-sound{max-width:74px;overflow:hidden;white-space:nowrap}.v1204-quest-actions .v1203-quest-exit{white-space:nowrap}
  .v1210-start-guide{padding:12px 10px}.v1210-start-guide-head h3{font-size:17px}.v1210-start-guide-head p{font-size:12px}.v1210-start-steps{gap:4px}.v1210-start-steps>div{padding:8px 3px}.v1210-start-steps span{font-size:10px}.v1210-start-map-badge{top:7px;font-size:10px;padding:7px 10px}
  .v1210-guide-page{padding-left:10px;padding-right:10px}.v1210-guide-top h2{font-size:15px}.v1210-guide-top button{font-size:10px;padding:8px 9px}.v1210-guide-quick{gap:4px}.v1210-guide-quick span{font-size:8px}.v1210-guide-card{grid-template-columns:38px 1fr;padding:10px;gap:8px}.v1210-guide-icon{width:38px;height:38px;font-size:21px}.v1210-guide-section-title{font-size:15px}
}


/* v1.2.11 アユコネクエスト 宝箱コレクション */
.v1211-dpad-column{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.v1211-chest-collection{width:100%;border:1px solid #dde7de;background:linear-gradient(180deg,#fff,#f8fbf8);border-radius:15px;padding:10px;box-shadow:0 3px 10px rgba(25,70,35,.05)}
.v1211-chest-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px}.v1211-chest-head>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.v1211-chest-head strong{font-size:12px;color:#294c31}.v1211-chest-head span{font-size:10px;font-weight:900;background:#e8f3e9;color:#315b39;border-radius:999px;padding:3px 7px}.v1211-chest-head small{font-size:9px;color:#89948b;white-space:nowrap}
.v1211-chest-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.v1211-chest-counts>div{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:3px;border:1px solid #e2e8e3;border-radius:10px;padding:4px 5px;background:#fff}.v1211-chest-counts img{grid-row:1/3;width:24px;height:24px;object-fit:contain;image-rendering:pixelated}.v1211-chest-counts span{font-size:8px;color:#778279}.v1211-chest-counts b{font-size:11px;color:#2f4935}
.v1211-chest-list{display:flex;gap:6px;overflow-x:auto;padding:8px 1px 2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.v1211-chest-item{flex:0 0 105px;display:flex;align-items:center;gap:5px;border:1px solid #e2e7e2;background:#fff;border-radius:11px;padding:5px}.v1211-chest-item img{width:35px;height:35px;object-fit:contain;image-rendering:pixelated}.v1211-chest-item div{min-width:0}.v1211-chest-item strong{display:block;font-size:8px;color:#48544a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v1211-chest-item span{display:block;font-size:10px;font-weight:900;color:#31593a;margin-top:2px}.v1211-chest-empty{font-size:9px;color:#8a958c;background:#f4f7f4;border-radius:9px;padding:8px;text-align:center;margin-top:7px}
@media(max-width:699px){.v1211-chest-collection{max-width:300px}.v1211-chest-head{align-items:center}.v1211-chest-head small{display:none}.v1211-chest-counts>div{grid-template-columns:22px 1fr;padding:3px}.v1211-chest-counts img{width:22px;height:22px}.v1211-chest-item{flex-basis:96px}}

/* ===== v1.2.24 案件状況 ===== */
.v1223-project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.v1223-project-card{
  min-width:0;
  border:1px solid #d9e3ea;
  border-radius:16px;
  background:#fff;
  padding:14px;
  box-shadow:0 3px 12px rgba(15,23,42,.04);
}
.v1223-project-card.inactive{opacity:.72;background:#f8fafc}
.v1223-status-list{display:grid;gap:8px;margin-top:12px}
.v1223-status-row{
  min-width:0;
  padding:10px 11px;
  border-radius:12px;
  background:#f7fafc;
  border:1px solid #e5edf2;
}
.v1223-status-row>span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  margin-bottom:3px;
}
.v1223-status-row>strong{
  display:block;
  min-width:0;
  font-size:14px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.v1223-goal-row{background:#f2f8fa}
.v1223-goal-row>strong{font-size:16px}
.v1223-update-source{
  display:inline-flex;
  margin-top:6px;
  padding:3px 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  background:#e8f2f5;
  color:#315466;
}
.v1223-update-source.admin_correction{background:#fff1e8;color:#9a4d18}
.v1223-update-source.admin_record{background:#eef0ff;color:#4b4f9a}
.v1223-update-source.staff_record{background:#e9f8ef;color:#267044}
@media(max-width:900px){
  .v1223-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .v1223-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .v1223-project-card{padding:9px;border-radius:13px}
  .v1223-project-card .v076-project-name{font-size:13px}
  .v1223-project-card .v076-project-kana{font-size:9px}
  .v1223-project-card .v076-status{font-size:9px;padding:3px 5px}
  .v1223-status-list{gap:6px;margin-top:8px}
  .v1223-status-row{padding:7px 7px;border-radius:9px}
  .v1223-status-row>span{font-size:8px;margin-bottom:2px}
  .v1223-status-row>strong{font-size:10px}
  .v1223-goal-row>strong{font-size:11px}
  .v1223-update-source{font-size:8px;padding:2px 5px;margin-top:4px}
}


/* ===== v1.2.24 案件状況：ノルマ表示整列 ===== */
.v1223-goal-row{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.v1224-goal-value{
  display:flex !important;
  flex-direction:column;
  gap:1px;
  line-height:1.25 !important;
  font-variant-numeric:tabular-nums;
}
.v1224-goal-line{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
.v1224-goal-sub{font-weight:800}
@media(max-width:620px){
  .v1223-goal-row{min-height:70px}
  .v1224-goal-value{line-height:1.22 !important;gap:1px}
  .v1224-goal-line{white-space:nowrap}
}


/* ============================================================
   v1.2.27 テレアポタイピング：スマホキーボード表示時の入力欄位置改善
   ============================================================ */
@media(max-width:600px){
  html.v1227-typing-active .v1164-page-head,
  html.v1227-typing-active .v1164-profile-card,
  html.v1227-typing-active .v1164-tabs,
  html.v1227-typing-active .v1166-play-guide{
    display:none !important;
  }

  html.v1227-typing-active .v1164-game-shell{
    gap:4px;
  }

  html.v1227-typing-active .v1164-play-card{
    padding:8px 10px 10px;
    scroll-margin-top:max(6px,env(safe-area-inset-top));
  }

  html.v1227-typing-active .v1164-running-head{
    grid-template-columns:82px minmax(0,1fr) !important;
    gap:6px;
    align-items:center;
  }

  html.v1227-typing-active .v1164-timer{
    min-width:0;
    padding:7px 5px;
    border-radius:11px;
  }

  html.v1227-typing-active .v1164-timer strong{
    font-size:20px;
  }

  html.v1227-typing-active .v1164-live-stats{
    gap:4px;
  }

  html.v1227-typing-active .v1164-live-stats > div{
    padding:5px 3px;
    border-radius:9px;
  }

  html.v1227-typing-active .v1164-live-stats strong{
    font-size:14px;
  }

  html.v1227-typing-active .v1164-word-stage{
    margin-top:6px;
    padding:9px 10px 8px;
    border-radius:14px;
    scroll-margin-top:max(6px,env(safe-area-inset-top));
  }

  html.v1227-typing-active .v1164-current-no{
    font-size:7px;
  }

  html.v1227-typing-active .v1165-current-reading{
    margin-top:1px;
    font-size:12px;
  }

  html.v1227-typing-active .v1164-current-word{
    margin:1px 0 7px;
    font-size:clamp(23px,7vw,32px);
    line-height:1.15;
  }

  html.v1227-typing-active .v1164-game-input{
    padding:10px 11px;
    font-size:16px;
  }

  html.v1227-typing-active .v1164-input-help{
    margin-top:4px;
    font-size:7px;
    line-height:1.25;
  }

  html.v1227-typing-active .v1166-running-actions{
    margin-top:5px;
  }
}


/* ===== v1.2.32 Google出力ステータス ===== */
.v1232-export-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 12px;padding:9px 11px;border-radius:12px;background:#f7faf6;border:1px solid #e2ebe0;font-size:12px;color:#445046}
.v1232-export-status.success{background:#f1f8f1;border-color:#d4e7d2}.v1232-export-status.error{background:#fff4f3;border-color:#f0d3cf}.v1232-export-status small{flex-basis:100%;color:#9a3931}
.v1232-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap}.v1232-status-pill.success{background:#e1f2e3;color:#236432}.v1232-status-pill.error{background:#f9dfdc;color:#a3362e}.v1232-status-pill.neutral{background:#edf0ed;color:#657067}
.v1232-status-overview{border:1px solid #dfe8dd;background:linear-gradient(180deg,#fbfdfb,#f5f9f4)}
.v1232-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.v1232-status-tile{padding:10px;border-radius:12px;border:1px solid #e3e9e1;background:#fff;display:flex;flex-direction:column;gap:3px;min-width:0}.v1232-status-tile span{font-size:10px;color:#778078}.v1232-status-tile strong{font-size:13px;color:#39423a}.v1232-status-tile small{font-size:9px;color:#7c857d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v1232-status-tile.success{border-color:#d3e6d1;background:#f6fbf5}.v1232-status-tile.success strong{color:#296737}.v1232-status-tile.error{border-color:#efcfcc;background:#fff7f6}.v1232-status-tile.error strong{color:#aa3f37}
.v1232-daily-results-export{border-color:#d9e7d7}
@media(max-width:720px){.v1232-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v1232-export-status{align-items:flex-start}}

/* ===== v1.2.33 管理 > 稼働状況 ===== */
.v1233-status-head{align-items:center;gap:12px}
.v1233-refresh{width:auto;min-width:84px;flex:0 0 auto}
.v1233-status-filter{margin-top:12px}
.v1233-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.v1233-summary{border:1px solid var(--line);border-radius:14px;padding:10px 8px;background:#fff;text-align:center}
.v1233-summary span{display:block;font-size:11px;color:var(--muted);font-weight:800;margin-bottom:3px}
.v1233-summary strong{font-size:22px;font-variant-numeric:tabular-nums}
.v1233-summary.working{background:#f0fdf4;border-color:#bbf7d0}
.v1233-summary.break{background:#fffbeb;border-color:#fde68a}
.v1233-summary.done{background:#f8fafc;border-color:#cbd5e1}
.v1233-summary.off{background:#f9fafb}
.v1233-attention{margin-top:12px;border:1px solid #fecaca;background:#fff7f7;color:#b91c1c;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:900}
.v1233-status-list{display:grid;gap:10px}
.v1233-status-row{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}
.v1233-status-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v1233-status-name{font-size:15px}
.v1233-state{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;white-space:nowrap;background:#f3f4f6;color:#4b5563}
.v1233-state.working{background:#dcfce7;color:#166534}
.v1233-state.break{background:#fef3c7;color:#92400e}
.v1233-state.done{background:#111827;color:#fff}
.v1233-state.missing{background:#fee2e2;color:#b91c1c}
.v1233-state.notstarted,.v1233-state.scheduled,.v1233-state.none,.v1233-state.off{background:#f3f4f6;color:#4b5563}
.v1233-punch-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px;font-size:13px}
.v1233-label{font-size:11px;color:var(--muted);font-weight:900;margin-right:2px}
.v1233-slash{color:#cbd5e1}
.v1233-subline{display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:8px;font-size:11px;color:var(--muted)}
.v1233-correction{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:3px 7px;font-weight:800}
.v1233-mini-alert{background:#fff7ed;color:#c2410c;border-radius:999px;padding:3px 7px;font-weight:800}
@media(max-width:520px){
  .v1233-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v1233-status-row{padding:13px 12px}
  .v1233-punch-line{gap:6px;font-size:12px}
  .v1233-status-head{align-items:flex-start}
}

/* v1.2.38 稼働状況: 中抜け開始/終了の実打刻 */
.v1238-break-line,.v1238-break-block{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px}
.v1238-break-items{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.v1238-break-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 9px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-variant-numeric:tabular-nums}
.v1238-break-chip.open{background:#fffbeb;border-color:#fde68a;color:#92400e}
.v1238-break-chip small{font-size:9px;opacity:.75;margin-left:2px}
.v1238-break-none{color:var(--muted);font-weight:700}
@media(max-width:640px){.v1238-break-block{display:block}.v1238-break-block>.v1233-label{display:block;margin-bottom:6px}.v1238-break-items{display:grid;grid-template-columns:1fr}.v1238-break-chip{justify-content:flex-start;width:fit-content;max-width:100%}}

/* ===== v1.2.39 稼働状況：出勤予定/打刻済・当欠 ===== */
.v1233-summary.v139-presence{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;min-height:92px}
.v1233-summary.v139-presence strong{font-size:26px;line-height:1.15}
.v1233-summary.v139-presence strong small{font-size:12px;margin:0 2px;color:inherit}
.v1233-summary.v139-presence em{display:block;margin-top:5px;font-size:10px;font-style:normal;font-weight:800;color:#64748b}
.v1233-summary.v139-presence.ok{background:#f0fdf4;border-color:#86efac;color:#166534}
.v1233-summary.v139-presence.warn{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.v1233-summary.v139-presence.neutral{background:#f8fafc;border-color:#cbd5e1;color:#334155}
.v1233-state.absence{background:#fee2e2;color:#b91c1c}
.v139-absence-row{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fffafa)}
.v139-absence-note{background:#fee2e2;color:#b91c1c;border-radius:999px;padding:3px 7px;font-weight:900}
.v139-late-pill{background:#ffedd5;color:#c2410c;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900}
.v139-row-footer{display:flex;justify-content:flex-end;margin-top:10px}
.v139-absence-btn{display:inline-flex;align-items:center;justify-content:center;min-width:66px;border:1px solid #fecaca;border-radius:999px;padding:6px 11px;background:#fff7f7;color:#b91c1c;font-size:11px;font-weight:900;cursor:pointer}
.v139-absence-btn:hover:not(:disabled){background:#fee2e2}
.v139-absence-btn.active{background:#b91c1c;border-color:#b91c1c;color:#fff}
.v139-absence-btn:disabled{opacity:.35;cursor:not-allowed}
.v139-setup-note{margin-top:10px;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:12px;padding:9px 11px;font-size:11px;font-weight:800}
@media(max-width:520px){
  .v1233-summary.v139-presence{grid-column:span 2;min-height:86px}
  .v1233-summary.v139-presence strong{font-size:24px}
}

/* ===== v1.2.41 件数調整UI / 管理者調整の月次内訳 ===== */
.v1241-adjust-list{gap:10px}
.v1241-adjust-project{border:1px solid #dce8d8;border-radius:15px;background:#fff;overflow:hidden}
.v1241-adjust-project>summary{list-style:none}
.v1241-adjust-project>summary::-webkit-details-marker{display:none}
.v1241-adjust-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;user-select:none}
.v1241-adjust-summary:hover{background:#f8fbf7}
.v1241-adjust-project-title{min-width:0;display:flex;flex-direction:column;gap:2px}
.v1241-adjust-project-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1241-adjust-project-title span{font-size:10px;color:#728074;font-weight:700}
.v1241-adjust-mini{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.v1241-adjust-mini span{font-size:10px;font-weight:800;color:#536457;background:#f3f7f1;border:1px solid #e0e9dd;border-radius:999px;padding:3px 7px}
.v1241-adjust-toggle{width:28px;height:28px;border-radius:9px;border:1px solid #cad9c7;background:#f7faf5;position:relative;display:block}
.v1241-adjust-toggle:before,.v1241-adjust-toggle:after{content:"";position:absolute;left:7px;right:7px;top:13px;height:2px;background:#315f36;border-radius:2px}
.v1241-adjust-toggle:after{transform:rotate(90deg);transition:transform .15s ease}
.v1241-adjust-project[open] .v1241-adjust-toggle:after{transform:rotate(0deg)}
.v1241-adjust-body{border-top:1px solid #e3ebe0;padding:13px 14px 14px;background:#fbfdfb}
.v1241-record-base{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e9df;background:#fff;border-radius:11px;padding:8px 10px;margin-bottom:11px}
.v1241-record-base span{font-size:10px;color:#758077;font-weight:800}
.v1241-record-base b{font-size:11px;color:#36493a;text-align:right}
.v1241-simple-adjust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v1241-simple-adjust-block{border:1px solid #dbe6d8;background:#fff;border-radius:13px;padding:11px;display:grid;gap:7px}
.v1241-simple-adjust-block h4{margin:0;font-size:12px;color:#2f5033}
.v1241-simple-adjust-block select,.v1241-simple-adjust-block input{width:100%;min-width:0}
.v1241-simple-adjust-block small{font-size:10px;color:#718075;font-weight:700}
.v1241-company-field{margin-top:10px}
.v1241-final-preview{margin-top:10px;border-radius:11px;background:#eef6ec;border:1px solid #d4e4d0;padding:9px 10px;font-size:11px;color:#425a46}
.v1241-final-preview b{color:#235429}
.v1241-management-adjustment{grid-template-columns:minmax(140px,1.2fr) repeat(3,minmax(70px,.65fr)) minmax(160px,1fr)}
.v1241-adjust-date-list{grid-column:1/-1;display:grid;gap:5px;margin-top:4px;padding-top:7px;border-top:1px dashed #e1d1aa}
.v1241-adjust-date-row{display:grid;grid-template-columns:minmax(85px,.7fr) repeat(3,minmax(90px,1fr));gap:7px;font-size:10px;color:#6b5b37}
.v1241-adjust-date-row span:first-child{font-weight:900;color:#554725}
.v1241-adjust-badge{display:inline-flex!important;align-items:center;border-radius:999px;padding:2px 6px;background:#fff2cf;color:#7a5b08;font-size:9px!important;font-weight:900!important}
.v1241-month-adjust-row{background:#fffaf0!important;border-top:1px solid #ead8ae;color:#66542b}
.v1241-month-adjust-row>div{font-weight:800}

@media(max-width:760px){
  .v1241-adjust-summary{grid-template-columns:minmax(0,1fr) 30px}
  .v1241-adjust-mini{grid-column:1/2;justify-content:flex-start}
  .v1241-adjust-toggle{grid-column:2;grid-row:1/3;align-self:center}
  .v1241-simple-adjust-grid{grid-template-columns:1fr}
  .v1241-management-adjustment{grid-template-columns:1fr 1fr}
  .v1241-management-adjustment>.v1113-source-dates{grid-column:1/-1}
  .v1241-adjust-date-row{grid-template-columns:1fr 1fr}
  .v1241-record-base{align-items:flex-start;flex-direction:column}
  .v1241-record-base b{text-align:left}
}

/* ============================================================
   v1.2.43 アユコネクエスト フルブラウザ
   ============================================================ */
html.v1243-quest-immersive,body.v1243-quest-immersive{width:100%;height:100%;overflow:hidden!important;background:#09110c!important;overscroll-behavior:none!important}
body.v1243-quest-immersive .topbar,body.v1243-quest-immersive .bottom-nav{display:none!important}
body.v1243-quest-immersive .shell{max-width:none!important;width:100%!important;min-height:100dvh!important;padding:0!important;margin:0!important}
body.v1243-quest-immersive .content{padding:0!important;width:100%!important;height:100dvh!important;overflow:hidden!important}
body.v1243-quest-immersive #main{width:100%!important;height:100dvh!important;padding:0!important;margin:0!important;overflow:hidden!important}
body.v1243-quest-immersive .v1168-hub-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.v1243-quest-immersive .v1169-head,body.v1243-quest-immersive .v1169-player-hud,body.v1243-quest-immersive .v1169-play-bottom{display:none!important}
body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map{position:fixed!important;z-index:12000!important;inset:0!important;width:100vw!important;height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#09110c!important;box-shadow:none!important}
body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map .v1169-map-toolbar{display:none!important}
body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map .v1169-map-stage{height:100dvh!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important;background:#09110c!important}
body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map .v1169-full-close,body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map .v1169-map-hint{display:none!important}
body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map .v1169-minimap{z-index:9!important;right:max(10px,env(safe-area-inset-right))!important;top:calc(max(10px,env(safe-area-inset-top)) + 32px)!important;bottom:auto!important;width:76px!important;height:91px!important;opacity:.72!important;border-width:1px!important}
body.v1243-quest-immersive #v1169MapCard.v1243-immersive-map .v1179-live-badge{left:max(10px,env(safe-area-inset-left))!important;top:max(10px,env(safe-area-inset-top))!important;opacity:.78!important}
#v1243QuestControls{position:fixed;z-index:12020;inset:0;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.v1243-dpad{position:absolute;left:calc(12px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,42px);gap:3px;pointer-events:auto;opacity:.66;filter:drop-shadow(0 3px 8px rgba(0,0,0,.34));touch-action:none;user-select:none;-webkit-user-select:none}
.v1243-dpad button{border:1px solid rgba(255,255,255,.36);border-radius:12px;background:rgba(14,24,17,.78);color:#fff;font-size:17px;font-weight:900;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);touch-action:none;user-select:none;-webkit-user-select:none;padding:0}
.v1243-dpad button:active{background:rgba(236,246,224,.88);color:#25442d;transform:scale(.96)}
.v1243-dpad i{display:block;width:32px;height:32px;place-self:center;border-radius:50%;background:rgba(16,27,19,.34);border:1px solid rgba(255,255,255,.12)}
.v1243-menu-button{position:absolute;right:calc(14px + env(safe-area-inset-right));bottom:calc(17px + env(safe-area-inset-bottom));pointer-events:auto;border:1px solid rgba(255,255,255,.42);border-radius:14px;padding:11px 13px;background:rgba(14,24,17,.80);color:#fff;font-size:11px;font-weight:1000;letter-spacing:.09em;box-shadow:0 4px 15px rgba(0,0,0,.34);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.v1243-menu-button:active{transform:scale(.96);background:rgba(33,62,40,.92)}
.v1243-menu-overlay{position:fixed;z-index:12040;inset:0;display:none;place-items:center;padding:calc(16px + env(safe-area-inset-top)) 15px calc(16px + env(safe-area-inset-bottom));background:rgba(3,8,5,.66);pointer-events:auto;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.v1243-menu-overlay.is-open{display:grid}
.v1243-menu-panel{width:min(430px,100%);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;border:2px solid rgba(225,215,157,.78);border-radius:19px;padding:16px;background:linear-gradient(180deg,rgba(20,31,23,.98),rgba(9,17,12,.98));color:#f3f7ef;box-shadow:0 26px 80px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.035)}
.v1243-menu-kicker{font-size:8px;letter-spacing:.22em;color:#c7b96d;font-weight:900;margin-bottom:3px}
.v1243-menu-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.v1243-menu-title-row h2{margin:0;font-size:24px;letter-spacing:.06em}.v1243-menu-title-row p{margin:2px 0 0;font-size:10px;color:#aab7ac}.v1243-menu-close{width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);color:#fff;font-size:23px;line-height:1}
.v1243-menu-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.v1243-menu-metrics>div{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);border-radius:13px;padding:11px}.v1243-menu-metrics span{display:block;font-size:9px;color:#aab7ac;margin-bottom:3px}.v1243-menu-metrics strong{display:block;font-size:21px;color:#fff5af}
.v1243-progress-card,.v1243-chest-card{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:14px;padding:11px;margin-top:8px}.v1243-progress-head,.v1243-section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px}.v1243-progress-head span,.v1243-section-head span{font-weight:900;color:#f0f5ef}.v1243-progress-head b,.v1243-section-head b{font-size:11px;color:#d7dfd5}.v1243-progress-track{height:10px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;margin-top:9px}.v1243-progress-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8eb462,#e7d06d)}.v1243-progress-pct{text-align:right;font-size:9px;color:#aebaaa;margin-top:3px}
.v1243-chest-history{display:grid;gap:5px;margin-top:8px;max-height:180px;overflow:auto}.v1243-chest-history>div{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07)}.v1243-chest-history span{font-size:10px;color:#cbd5cc}.v1243-chest-history strong{font-size:12px;color:#fff0a6;white-space:nowrap}.v1243-menu-empty{font-size:10px;text-align:center;color:#9dab9f;padding:14px 8px 5px}
.v1243-return-app{width:100%;margin-top:12px;border:1px solid rgba(255,255,255,.17);border-radius:13px;padding:12px;background:rgba(242,248,238,.94);color:#193321;font-weight:1000;font-size:13px}
@media(max-width:380px){.v1243-dpad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,38px);left:calc(8px + env(safe-area-inset-left));bottom:calc(9px + env(safe-area-inset-bottom))}.v1243-menu-button{right:calc(9px + env(safe-area-inset-right));bottom:calc(11px + env(safe-area-inset-bottom));padding:10px 11px}.v1243-menu-panel{padding:13px}.v1243-menu-metrics strong{font-size:18px}}

/* ===== v1.2.50 スタッフ新ホーム（テスト公開） ===== */
body.v1250-home-preview-active .topbar,
body.v1250-home-preview-active .bottom-nav{display:none!important}
body.v1250-home-preview-active .shell{padding-bottom:0!important;background:#f8fbff!important}
body.v1250-home-preview-active .content{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
body.v1250-home-preview-active{background:#f8fbff!important}

.v1250-loading{padding:42px 18px;text-align:center;color:#6b7280;font-weight:700}
.v1250-home{max-width:760px;margin:0 auto;padding:18px 14px calc(82px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fff 0,#f8fbff 100%);min-height:100vh;color:#0d2854}
.v1250-home button{font:inherit}
.v1250-home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 14px}
.v1250-logo-wrap strong{display:block;font-size:27px;line-height:1.05;letter-spacing:.02em;color:#143c76}
.v1250-logo-wrap strong em{font-style:normal;color:#0aa582}
.v1250-logo-wrap small{display:block;margin-top:6px;color:#65748c;letter-spacing:.08em;font-weight:700;font-size:12px}
.v1250-user-head{display:flex;align-items:center;gap:8px}
.v1250-bell{width:42px;height:42px;border:0;border-radius:14px;background:#eff5ff;color:#214d86;font-size:0;position:relative;cursor:pointer}
.v1250-bell:before{content:'🔔';font-size:20px;filter:saturate(.65)}
.v1250-bell:after{content:'';position:absolute;right:5px;top:4px;width:8px;height:8px;background:#ff6c75;border-radius:50%;border:2px solid white}
.v1250-user-name{border:0;background:transparent;color:#18345d;font-weight:800;font-size:13px;padding:8px 2px;white-space:nowrap;cursor:pointer}

.v1250-hero{position:relative;overflow:hidden;border-radius:27px;background:linear-gradient(135deg,#ff7875,#ff9b8e 58%,#ffd2c4);min-height:270px;box-shadow:0 15px 35px rgba(255,116,105,.18);padding:25px 24px 20px;display:flex;align-items:stretch}
.v1250-hero-copy{position:relative;z-index:2;width:58%;display:flex;flex-direction:column;align-items:flex-start}
.v1250-hero-copy>span{color:white;font-size:24px;font-weight:900;letter-spacing:.02em}
.v1250-hero-copy>strong{color:white;font-size:64px;line-height:1.05;margin-top:5px;letter-spacing:-.04em;text-shadow:0 2px 0 rgba(255,255,255,.08)}
.v1250-hero-action{margin-top:auto;width:100%}
.v1250-kone-clock{position:absolute;z-index:1;right:-4px;top:18px;width:46%;max-width:330px;height:auto;border-radius:24px;mix-blend-mode:normal}
.v1250-att-main,.v1250-att-done{width:100%;min-height:66px;border:0;border-radius:34px;background:rgba(255,255,255,.95);color:#f14e59;font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 16px rgba(130,40,40,.1);cursor:pointer}
.v1250-att-main b{font-size:34px;line-height:1}.v1250-att-main span{font-size:28px}.v1250-att-done{font-size:16px;color:#9a5e62}
.v1250-att-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.v1250-att-split button{min-height:62px;border:0;border-radius:28px;background:rgba(255,255,255,.92);color:#a6484f;font-size:18px;font-weight:900;cursor:pointer}

.v1250-two-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.v1250-summary-card{position:relative;text-align:left;border:0;border-radius:25px;padding:18px 18px 15px;min-height:225px;cursor:pointer;overflow:hidden;box-shadow:0 10px 28px rgba(36,78,120,.06)}
.v1250-summary-card.blue{background:linear-gradient(145deg,#eaf5ff,#f6fbff 70%,#e1f1ff)}
.v1250-summary-card.green{background:linear-gradient(145deg,#e9fff4,#f5fff9 70%,#e3f7ef)}
.v1250-card-title{display:grid;grid-template-columns:36px 1fr 18px;align-items:center;gap:8px;color:#153568}
.v1250-card-title>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:white;background:#2f91ed;font-size:17px;font-weight:900}
.v1250-summary-card.green .v1250-card-title>span{background:#24af75}
.v1250-card-title strong{font-size:18px;line-height:1.15}.v1250-card-title>b{font-size:28px;font-weight:500}
.v1250-card-value{margin-top:16px;color:#0d2e66;font-size:43px;line-height:1;font-weight:950;letter-spacing:-.03em;white-space:nowrap}
.v1250-card-value small{font-size:18px;margin-left:3px}.v1250-card-value.money{font-size:36px}
.v1250-card-sub{margin-top:7px;font-size:13px;font-weight:700;color:#405b7a}
.v1250-progress{margin-top:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:13px;font-weight:900;color:#183a6b}
.v1250-progress:before{content:'';grid-column:1;grid-row:1;height:12px;border-radius:99px;background:#d8e9fb}
.v1250-progress i{grid-column:1;grid-row:1;height:12px;border-radius:99px;background:linear-gradient(90deg,#2b91f0,#4bb5ff);display:block;z-index:1}
.v1250-progress span{grid-column:2;grid-row:1}
.v1250-card-foot{position:absolute;left:18px;right:18px;bottom:14px;border-top:1px solid rgba(17,54,96,.08);padding-top:10px;color:#2c547d;font-size:11px;font-weight:800}
.v1250-coins{position:absolute;right:17px;bottom:42px;color:#ffb928;letter-spacing:-7px;font-size:24px;text-shadow:7px 8px 0 #ffc94d}

.v1250-project-card{margin-top:14px;background:linear-gradient(145deg,#fff0d2,#fff8e8);border-radius:25px;padding:18px;box-shadow:0 10px 28px rgba(118,80,44,.07)}
.v1250-section-head{display:flex;justify-content:space-between;align-items:center}.v1250-section-head strong{font-size:22px;color:#12315d}
.v1250-project-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.v1250-project-metrics>div{background:white;border-radius:18px;padding:13px 6px;text-align:center;box-shadow:0 4px 14px rgba(70,58,44,.05)}
.v1250-project-metrics small{display:block;color:#42546b;font-weight:800;font-size:11px;min-height:28px}.v1250-project-metrics b{display:inline-block;margin-top:6px;color:#0e2d61;font-size:30px;line-height:1}.v1250-project-metrics span{font-size:11px;font-weight:800;margin-left:2px}
.v1250-project-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.v1250-project-buttons button{border:0;border-radius:18px;padding:13px 8px;font-weight:900;color:#1763b8;background:#dcebff;cursor:pointer}.v1250-project-buttons button+button{color:#6c4fd1;background:#eee7ff}

.v1250-lower-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:12px;margin-top:14px}.v1250-shift-card,.v1250-manage-card{border:0;border-radius:25px;padding:16px;text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(70,80,100,.06)}
.v1250-shift-card{background:linear-gradient(145deg,#fff7e9,#fffdf5)}.v1250-manage-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#f3edff,#faf8ff);min-height:176px}
.v1250-lower-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.v1250-lower-title strong,.v1250-manage-card strong{font-size:21px;color:#183765}.v1250-lower-title span{font-size:10px;color:#1d76cc;font-weight:900}
.v1250-week-label{margin-top:8px;font-size:11px;font-weight:900;color:#52657f}
.v1250-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:7px}.v1250-week-cell{border-radius:11px;background:#ecf8ef;min-height:92px;text-align:center;padding:6px 2px;display:flex;flex-direction:column;align-items:center}.v1250-week-cell b{font-size:13px}.v1250-week-cell small{font-size:9px;margin-top:2px}.v1250-week-cell span{margin-top:8px;font-size:8px;line-height:1.35;color:#1d5d46;font-weight:900}.v1250-week-cell.off{background:#fff0ed}.v1250-week-cell.off span{color:#d85455}.v1250-week-cell.sun b,.v1250-week-cell.sun small{color:#e64d54}.v1250-week-cell.sat b,.v1250-week-cell.sat small{color:#286eca}.v1250-week-cell.today{outline:2px solid #ffae35;outline-offset:-2px}
.v1250-manage-card>div{position:relative;z-index:2;display:flex;flex-direction:column}.v1250-manage-card span{margin-top:6px;font-size:12px;color:#485c7c;font-weight:700}.v1250-manage-card img{position:absolute;right:-6px;bottom:-7px;width:94%;max-width:210px;border-radius:20px}

.v1250-bottom-nav{position:fixed;z-index:60;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid #e5ebf3;box-shadow:0 -6px 22px rgba(20,50,80,.08)}
.v1250-bottom-nav button{border:0;background:transparent;color:#566274;padding:4px 2px;display:flex;flex-direction:column;gap:2px;align-items:center;font-size:22px;font-weight:900;cursor:pointer}.v1250-bottom-nav button span{font-size:10px}.v1250-bottom-nav button.active{color:#ff5b5e}

.v1250-sheet-backdrop{position:fixed;z-index:9999;inset:0;background:rgba(11,26,49,.45);display:flex;align-items:flex-end;justify-content:center;padding-top:60px}
.v1250-sheet{width:min(760px,100%);max-height:86vh;background:#fff;border-radius:26px 26px 0 0;overflow:hidden;box-shadow:0 -18px 50px rgba(10,30,60,.2)}
.v1250-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #e9eef5;color:#15355f}.v1250-sheet-head strong{font-size:18px}.v1250-sheet-close{border:0;background:#eef3f8;width:34px;height:34px;border-radius:50%;font-size:24px;color:#42566f;cursor:pointer}
.v1250-sheet-body{padding:14px 14px 28px;overflow:auto;max-height:calc(86vh - 68px)}
.v1250-detail-list{display:flex;flex-direction:column;gap:8px}.v1250-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:#f7f9fc;border-radius:16px;padding:13px}.v1250-detail-row>div:first-child{min-width:0}.v1250-detail-row strong{display:block;color:#18365f}.v1250-detail-row span{display:block;margin-top:4px;font-size:11px;color:#718096}.v1250-detail-row-right{text-align:right;white-space:nowrap}.v1250-detail-row-right b{font-size:13px;color:#143769}
.v1250-empty{padding:24px;text-align:center;color:#718096;font-weight:700}
.v1250-result-table{overflow-x:auto}.v1250-result-th,.v1250-result-tr{display:grid;grid-template-columns:minmax(110px,1.5fr) repeat(4,minmax(54px,.65fr));gap:4px;align-items:center;min-width:430px;padding:10px 8px}.v1250-result-th{font-size:10px;color:#708198;font-weight:900;background:#eff5fb;border-radius:12px}.v1250-result-tr{border-bottom:1px solid #edf1f5;font-size:12px;color:#304965}.v1250-result-tr strong{color:#16365e}
.v1250-month-calendar{margin-bottom:22px}.v1250-month-calendar h4{margin:0 0 10px;color:#173864;font-size:17px}.v1250-cal-head,.v1250-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.v1250-cal-head span{text-align:center;font-size:10px;color:#63768f;font-weight:900}.v1250-cal-cell{min-height:72px;border-radius:10px;background:#f3faf5;padding:5px;text-align:center}.v1250-cal-cell b{display:block;font-size:11px;color:#2d4766}.v1250-cal-cell .v1250-cal-holiday-name{display:block;margin-top:3px;font-style:normal;font-size:8px;line-height:1.2;font-weight:900;color:#e44b53}.v1250-cal-cell span{display:block;margin-top:4px;font-size:8px;line-height:1.25;color:#35624c;font-weight:800}.v1250-cal-cell.off{background:#fff0ee}.v1250-cal-cell.off span{color:#d34b4b}.v1250-cal-cell.sun b,.v1250-cal-cell.holiday b{color:#e44b53}.v1250-cal-cell.sat b{color:#2d71c7}.v1250-cal-cell.blank{background:transparent}

.v1250-preview-admin-card{margin-top:14px}.v1250-preview-list{display:flex;flex-direction:column;gap:8px}.v1250-preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#f7f9fc;border-radius:14px}.v1250-preview-row span{display:flex;flex-direction:column;gap:3px}.v1250-preview-row small{color:#7a8798}.v1250-preview-row input{width:24px;height:24px}

@media (max-width:620px){
  .v1250-home{padding-left:10px;padding-right:10px}
  .v1250-logo-wrap strong{font-size:23px}.v1250-logo-wrap small{font-size:10px}.v1250-user-name{font-size:12px}
  .v1250-hero{min-height:220px;padding:20px 16px 16px;border-radius:22px}.v1250-hero-copy>span{font-size:20px}.v1250-hero-copy>strong{font-size:53px}.v1250-kone-clock{width:49%;right:-8px;top:20px}.v1250-att-main{min-height:58px;font-size:19px}.v1250-att-split button{min-height:55px;font-size:15px}
  .v1250-summary-card{padding:15px 13px;min-height:205px}.v1250-card-title{grid-template-columns:32px 1fr 14px;gap:6px}.v1250-card-title>span{width:32px;height:32px}.v1250-card-title strong{font-size:14px}.v1250-card-value{font-size:36px}.v1250-card-value.money{font-size:27px}.v1250-card-value small{font-size:14px}.v1250-card-sub{font-size:10px}.v1250-card-foot{left:13px;right:13px;font-size:9px}.v1250-coins{font-size:20px}
  .v1250-project-card{padding:14px}.v1250-section-head strong{font-size:20px}.v1250-project-metrics{gap:5px}.v1250-project-metrics>div{padding:10px 3px}.v1250-project-metrics small{font-size:9px}.v1250-project-metrics b{font-size:25px}.v1250-project-buttons button{font-size:13px}
  .v1250-lower-grid{grid-template-columns:1.75fr 1fr;gap:8px}.v1250-shift-card,.v1250-manage-card{padding:12px}.v1250-lower-title strong,.v1250-manage-card strong{font-size:17px}.v1250-lower-title span{font-size:8px}.v1250-week-cell{min-height:78px;padding:5px 1px}.v1250-week-cell span{font-size:7px}.v1250-manage-card span{font-size:9px}.v1250-manage-card img{width:115%;right:-28px}
}

@media (max-width:380px){
  .v1250-two-cards{gap:8px}.v1250-card-value{font-size:31px}.v1250-card-value.money{font-size:23px}
  .v1250-project-metrics b{font-size:22px}.v1250-hero-copy>strong{font-size:47px}
}

/* v1.2.51 new home preview refinements */
.v1250-user-head{gap:10px;align-items:center}
.v1250-notice-group{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;cursor:pointer}
.v1250-bell{width:42px;height:42px;border-radius:14px;background:#eff5ff;position:relative;display:grid;place-items:center;flex:0 0 auto}
.v1250-bell:before{content:'🔔';font-size:20px;filter:saturate(.9)}
.v1250-bell:after{content:'';display:none;position:absolute;right:5px;top:4px;width:10px;height:10px;background:#ff6c75;border-radius:50%;border:2px solid #fff}
.v1250-bell.has-unread:after{display:block}
.v1250-notice-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;color:#18345d}
.v1250-notice-copy strong{font-size:12px;font-weight:900;white-space:nowrap}
.v1250-notice-copy small{font-size:13px;font-weight:800;color:#4e6484;margin-top:4px}
.v1250-user-name{font-weight:800;font-size:14px;color:#18345d;white-space:nowrap;padding-left:8px;border-left:1px solid #dfe8f4}

.v1250-hero{padding-right:20px}
.v1250-hero-copy{width:56%}
.v1250-hero-visual{position:absolute;right:-8px;top:2px;bottom:-34px;width:48%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;overflow:visible}
.v1250-hero-visual::after{display:none!important;content:none!important}
.v1250-kone-clock{position:static!important;width:104%!important;max-width:320px;height:auto;border-radius:0;background:transparent;filter:drop-shadow(0 10px 18px rgba(16,51,101,.12));transform:translate(2px,46px) scale(1.06);transform-origin:center bottom;z-index:1}


.v1250-summary-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:208px}
.v1250-card-title{min-height:42px;align-items:flex-start}
.v1250-card-title strong{display:block}
.v1250-card-value{margin-top:18px;min-height:43px;display:flex;align-items:flex-end}
.v1250-card-value.money{min-height:43px;display:flex;align-items:flex-end}
.v1250-card-sub{min-height:34px;display:flex;align-items:flex-start}
.v1250-progress{margin-top:auto}
.v1250-money-icon{display:none!important}
.v1250-card-foot{display:none!important}

.v1250-lower-grid{grid-template-columns:1.7fr 1fr}
.v1250-shift-card,.v1250-minigame-card{border:0;border-radius:25px;padding:16px;text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(70,80,100,.06)}
.v1250-shift-card{background:linear-gradient(145deg,#fff7e9,#fffdf5)}
.v1250-minigame-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#f3edff,#faf8ff);min-height:176px;display:flex;align-items:flex-start}
.v1250-lower-title strong,.v1250-minigame-card strong{font-size:21px;color:#183765}
.v1250-minigame-card>div{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-start;width:100%;max-width:100%;padding-top:0}
.v1250-minigame-card strong{display:block;line-height:1.05;margin:0 0 4px;white-space:nowrap}
.v1250-minigame-card span{display:block;width:56%;margin-top:5px;font-size:11px;color:#485c7c;font-weight:700;line-height:1.35}
.v1250-minigame-card img{position:absolute;z-index:1;right:-8px;bottom:-10px;width:68%;max-width:142px;height:auto;filter:drop-shadow(0 8px 14px rgba(20,40,80,.12))}

.v1251-ann-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.v1251-ann-title{font-weight:900;color:#173864}
.v1251-ann-markall{border:0;border-radius:999px;background:#ecf4ff;color:#1b61b5;font-weight:900;padding:8px 12px;cursor:pointer}
.v1251-ann-list{display:flex;flex-direction:column;gap:10px}
.v1251-ann-item{background:#f7f9fc;border-radius:16px;padding:13px;border:1px solid transparent}
.v1251-ann-item.unread{border-color:#cfe4ff;background:#fafdff}
.v1251-ann-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.v1251-ann-item-title{font-weight:900;color:#16365e;line-height:1.5}
.v1251-ann-important{display:inline-flex;align-items:center;border-radius:999px;background:#fff1d8;color:#a86c10;font-size:10px;padding:3px 7px;margin-right:6px;vertical-align:middle}
.v1251-ann-body{margin-top:8px;color:#42566f;font-size:13px;line-height:1.65;white-space:normal;word-break:break-word}
.v1251-ann-date{margin-top:8px;font-size:11px;color:#7a8798}
.v1251-ann-read{border:0;border-radius:999px;background:#e8f4ea;color:#257a49;font-weight:900;font-size:11px;padding:7px 10px;cursor:pointer;white-space:nowrap}
.v1251-ann-read.done{background:#eef2f6;color:#6b7789;cursor:default}

@media (max-width:640px){
  .v1250-notice-copy strong{font-size:11px}
  .v1250-notice-copy small{font-size:12px}
  .v1250-user-name{font-size:12px;padding-left:6px}
  .v1250-hero{min-height:220px;padding:20px 16px 16px;border-radius:22px}
  .v1250-hero-copy{width:55%}
  .v1250-hero-visual{right:-10px;top:0;bottom:-30px;width:49%;overflow:visible}
  .v1250-kone-clock{width:108%!important;transform:translate(0,40px) scale(1.08)}
  .v1250-summary-card{min-height:198px;padding:15px 13px}
  .v1250-card-title{min-height:40px}
  .v1250-card-value{font-size:34px}
  .v1250-card-value.money{font-size:31px}
  .v1250-card-sub{min-height:32px;font-size:10px}
    .v1250-lower-grid{grid-template-columns:1.75fr 1fr;gap:8px}
  .v1250-shift-card,.v1250-minigame-card{padding:12px}
  .v1250-lower-title strong,.v1250-minigame-card strong{font-size:17px}
  .v1250-lower-title span{font-size:8px}
  .v1250-minigame-card>div{width:100%;max-width:100%;padding-top:0}
  .v1250-minigame-card strong{font-size:17px;line-height:1;margin-top:0}
  .v1250-minigame-card span{width:54%;margin-top:6px;font-size:8px;line-height:1.3}
  .v1250-minigame-card img{width:72%;max-width:118px;right:-9px;bottom:-7px}
}

/* ===== v1.2.58 新ホーム：シフトカレンダーから直接編集 ===== */
.v1258-shift-guide{margin:-2px 0 16px;padding:13px 14px;border-radius:16px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;line-height:1.45}
.v1258-shift-guide.open{background:#eef9f2;border:1px solid #cfead9;color:#245c3d}
.v1258-shift-guide.closed{background:#fff7e8;border:1px solid #f3dfb7;color:#76541f}
.v1258-shift-guide strong{font-size:14px}
.v1258-shift-guide span{font-size:12px;font-weight:800}
.v1258-shift-guide small{width:100%;font-size:11px;color:#64748b;font-weight:700;margin-top:2px}
.v1258-month-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v1258-month-head h4{margin:0!important}
.v1258-edit-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e8f3ff;color:#1768b9;font-size:10px;font-weight:900;padding:6px 9px;white-space:nowrap}
.v1258-editable-month .v1250-cal-cell.editable{cursor:pointer;box-shadow:inset 0 0 0 1px rgba(37,99,235,.08);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.v1258-editable-month .v1250-cal-cell.editable:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(35,76,125,.09),inset 0 0 0 1px rgba(37,99,235,.16)}
.v1258-editable-month .v1250-cal-cell.unset{background:#fff8e8}
.v1258-editable-month .v1250-cal-cell.unset span{color:#ae741d}
.v1258-shift-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.v1258-shift-actions .btn{margin:0;min-height:46px}
.v1258-shift-footnote{font-size:11px;color:#758399;line-height:1.6;padding:4px 2px 2px}

.v1258-day-editor{display:flex;flex-direction:column;gap:14px}
.v1258-day-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#173864}
.v1258-day-title strong{font-size:19px}
.v1258-day-title span{font-size:11px;font-weight:900;color:#df4f54;background:#fff0f0;padding:5px 8px;border-radius:999px}
.v1258-day-status{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v1258-day-status button{border:1px solid #dbe5f0;background:#f8fafc;color:#52657f;border-radius:14px;padding:12px;font-weight:900;cursor:pointer}
.v1258-day-status button.active{border-color:#4a99ec;background:#eaf4ff;color:#1767b7;box-shadow:inset 0 0 0 1px #4a99ec}
.v1258-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.v1258-editor-fields.disabled{opacity:.45}
.v1258-editor-fields label{display:flex;flex-direction:column;gap:6px;min-width:0}
.v1258-editor-fields label.wide{grid-column:1/-1}
.v1258-editor-fields label>span{font-size:11px;font-weight:900;color:#53667f}
.v1258-editor-fields select{width:100%;min-width:0;border:1px solid #d9e3ef;border-radius:12px;background:white;padding:11px 10px;color:#1b385f;font-weight:800}
.v1258-time-range{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}
.v1258-time-range b{color:#8390a3}
.v1258-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.v1258-editor-actions .btn{margin:0;min-height:46px}
.v1258-editor-note{font-size:11px;color:#748297;line-height:1.55}

@media (max-width:640px){
  .v1250-sheet-head{padding:14px 15px}
  .v1250-sheet-body{padding:12px 10px 26px}
  .v1258-shift-guide{margin-top:0;padding:11px 12px;border-radius:14px}
  .v1258-shift-guide strong{font-size:13px}
  .v1258-shift-guide span{font-size:11px}
  .v1258-month-head{align-items:flex-start}
  .v1258-month-head h4{font-size:15px!important}
  .v1258-edit-badge{font-size:9px;padding:5px 7px}
  .v1258-editable-month .v1250-cal-cell{min-height:70px;padding:4px 2px}
  .v1258-editable-month .v1250-cal-cell b{font-size:11px}
  .v1258-editable-month .v1250-cal-cell .v1250-cal-holiday-name{font-size:7px;line-height:1.1;min-height:15px}
  .v1258-editable-month .v1250-cal-cell span{font-size:7px}
  .v1258-shift-actions{grid-template-columns:1fr}
  .v1258-editor-fields{grid-template-columns:1fr}
  .v1258-editor-fields label.wide{grid-column:auto}
  .v1258-editor-actions{grid-template-columns:1fr}
}
.v1258-shift-sheet-head{align-items:center!important;min-height:84px;padding-top:12px!important;padding-bottom:12px!important}
.v1258-shift-head-copy{display:flex;flex-direction:column;min-width:0;gap:2px;line-height:1.3}
.v1258-shift-head-copy>strong{font-size:17px!important;color:#15355f}
.v1258-shift-head-copy>span{font-size:12px;font-weight:900;color:#285f98}
.v1258-shift-head-copy>small{font-size:10px;font-weight:800;color:#6b7c91}
.v1258-shift-sheet-head .v1250-sheet-close{flex:0 0 auto}
@media (max-width:640px){
  .v1258-shift-sheet-head{min-height:82px;padding:10px 12px!important}
  .v1258-shift-head-copy>strong{font-size:16px!important}
  .v1258-shift-head-copy>span{font-size:11px}
  .v1258-shift-head-copy>small{font-size:9px}
}


/* ===== v1.2.59 打刻漏れ申請 / シフト期間テスト開放 ===== */
.v1259-missed-punch-btn{width:100%;margin-top:7px;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;cursor:pointer;backdrop-filter:blur(5px)}
.v1259-missed-punch-btn:active{transform:translateY(1px)}
.v1259-missed-form{display:flex;flex-direction:column;gap:12px}
.v1259-missed-intro{padding:11px 12px;border-radius:14px;background:#f4f8ff;color:#42566f;font-size:12px;line-height:1.65;font-weight:700}
.v1259-missed-form>label{display:flex;flex-direction:column;gap:6px}
.v1259-missed-form>label>span{font-size:12px;color:#52657f;font-weight:900}
.v1259-missed-form input,.v1259-missed-form select,.v1259-missed-form textarea{width:100%;box-sizing:border-box;border:1px solid #dfe6ef;border-radius:12px;background:#fff;color:#173864;padding:11px;font:inherit}
.v1259-missed-form textarea{min-height:72px;resize:vertical}
.v1259-punch-summary{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #edf1f5}
.v1259-punch-summary span{display:block;font-size:10px;color:#7a8798;font-weight:900;margin-bottom:4px}
.v1259-punch-summary b{display:block;font-size:11px;color:#29476a;line-height:1.5}
@media(max-width:640px){.v1259-missed-punch-btn{font-size:11px;padding:6px 8px;margin-top:6px}.v1259-missed-intro{font-size:11px}}

/* ===== v1.2.60 新ホームシフト編集 ===== */
.v1260-copy-start{white-space:normal!important;line-height:1.35!important;padding:10px 12px!important}
.v1260-copy-apply{background:#e84c55!important;border-color:#e84c55!important;color:#fff!important;font-weight:900!important;box-shadow:0 7px 16px rgba(232,76,85,.22)}
.v1260-copy-cancel{grid-column:1/-1;border:0;background:transparent;color:#6b7c91;font-weight:900;font-size:11px;padding:3px 6px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.v1260-copy-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff0f1;color:#d43e48;font-size:10px;font-weight:900;padding:6px 9px;white-space:nowrap}
.v1258-editable-month .v1250-cal-cell.copy-mode{cursor:pointer}
.v1258-editable-month .v1250-cal-cell.copy-selected{background:#ffe8ea!important;box-shadow:inset 0 0 0 2px #e84c55!important;transform:translateY(-1px)}
.v1258-editable-month .v1250-cal-cell.copy-source{background:#e9f4ff!important;box-shadow:inset 0 0 0 2px #378bdc!important;position:relative}
.v1260-copy-source-label{position:absolute;right:4px;top:4px;display:grid!important;place-items:center;width:17px;height:17px;margin:0!important;border-radius:50%;background:#378bdc;color:#fff!important;font-size:9px!important;font-weight:900!important}
.v1260-shift-actions{align-items:stretch}
@media(max-width:640px){
  .v1260-copy-start{font-size:12px!important;min-height:50px!important}
  .v1260-copy-badge{font-size:9px;padding:5px 7px}
  .v1260-copy-source-label{width:15px;height:15px;font-size:8px;right:2px;top:2px}
}


/* ===== v1.2.61 任意の設定済みシフトをコピー ===== */
.v1258-editable-month .v1250-cal-cell.copy-source-mode.copy-source-candidate{
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(55,139,220,.34);
}
.v1258-editable-month .v1250-cal-cell.copy-source-mode.copy-source-candidate:hover{
  background:#eef7ff!important;
  box-shadow:inset 0 0 0 2px #378bdc!important;
}
.v1258-editable-month .v1250-cal-cell.copy-source-mode.copy-source-unavailable{
  opacity:.42;
  cursor:default;
}
.v1261-copy-wait{opacity:.8!important;cursor:default!important}
.v1261-copy-help{
  margin-top:8px;
  padding:9px 11px;
  border-radius:12px;
  background:#f7f9fc;
  color:#52657f;
  font-size:11px;
  line-height:1.55;
  font-weight:800;
}
@media(max-width:640px){.v1261-copy-help{font-size:10px;padding:8px 9px}}

/* ===== v1.2.62 シフト自動保存 ===== */
.v1262-autosave-note{margin-top:8px;padding:9px 11px;border-radius:12px;background:#eef9f3;color:#287150;font-size:11px;line-height:1.45;font-weight:900;display:flex;align-items:center;gap:6px}
.v1262-autosave-note span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#39ad78;color:#fff;font-size:11px;flex:0 0 auto}
.v1262-autosave-note.saving{background:#f1f6ff;color:#3e6394}.v1262-autosave-note.saving span{background:#5c8fd1}
.v1262-autosave-note.error{background:#fff0f0;color:#b24d4d}.v1262-autosave-note.error span{background:#d95d5d}
@media(max-width:640px){.v1262-autosave-note{font-size:10px;padding:8px 9px}}


/* ===== v1.2.63 新ホーム微調整 ===== */
/* 設定済みシフトコピーを明確な青ボタンに */
.v1260-copy-start{
  background:#2f86df!important;
  border-color:#2f86df!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 7px 16px rgba(47,134,223,.24)!important;
}
.v1260-copy-start:hover{background:#2475c8!important;border-color:#2475c8!important}

/* ミニゲームカード：ゲーミングなレインボー縁取り */
.v1250-minigame-card{
  border:3px solid transparent!important;
  background:
    linear-gradient(145deg,#f3edff,#faf8ff) padding-box,
    conic-gradient(from 0deg,#ff4f7b,#ffae37,#f8f34c,#4de087,#41b9ff,#7667ff,#d95cff,#ff4f7b) border-box!important;
  box-shadow:0 10px 28px rgba(70,80,100,.08),0 0 14px rgba(108,97,255,.12)!important;
  animation:v1263GamingBorderGlow 5s linear infinite;
}
@keyframes v1263GamingBorderGlow{
  0%{filter:hue-rotate(0deg)}
  100%{filter:hue-rotate(360deg)}
}
@media (prefers-reduced-motion: reduce){
  .v1250-minigame-card{animation:none}
}


/* ===== v1.2.64 bottom sheet: background lock + swipe-down close ===== */
html.v1264-sheet-open,
body.v1264-sheet-open{
  overscroll-behavior:none;
}
.v1250-sheet-backdrop{
  --v1264-drag-progress:0;
  overflow:hidden;
  overscroll-behavior:none;
  background:rgba(11,26,49,calc(.45 - (var(--v1264-drag-progress) * .18)));
}
.v1250-sheet{
  position:relative;
  will-change:transform;
  overscroll-behavior:contain;
}
.v1264-sheet-grab-area{
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  background:#fff;
}
.v1264-sheet-grab-area:active{cursor:grabbing}
.v1264-sheet-grab{
  display:block;
  width:46px;
  height:5px;
  border-radius:999px;
  background:#c9d2df;
}
.v1250-sheet-head{
  padding-top:10px;
}
.v1250-sheet-body{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  max-height:calc(86vh - 94px);
}
.v1250-sheet.v1264-dragging{
  transition:none!important;
}
.v1250-sheet.v1264-swipe-reset,
.v1250-sheet.v1264-swipe-closing{
  transition:transform .18s cubic-bezier(.2,.8,.2,1)!important;
}
@media(max-width:620px){
  .v1264-sheet-grab-area{height:28px}
  .v1264-sheet-grab{width:48px;height:5px}
  .v1250-sheet-body{max-height:calc(86vh - 92px)}
}
@media(prefers-reduced-motion:reduce){
  .v1250-sheet.v1264-swipe-reset,
  .v1250-sheet.v1264-swipe-closing{transition:none!important}
}


/* ===== v1.2.65 bottom sheet polish ===== */
.v1250-sheet-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:21px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.v1250-cal-cell .v1250-cal-holiday-name{
  margin-top:3px;
}
.v1250-sheet-backdrop.v1265-sheet-opening{
  animation:v1265BackdropIn .36s ease-out both;
}
.v1250-sheet-backdrop.v1265-sheet-opening .v1250-sheet{
  animation:v1265SheetUp .48s cubic-bezier(.22,.82,.24,1) both;
}
@keyframes v1265SheetUp{
  from{transform:translate3d(0,100%,0)}
  to{transform:translate3d(0,0,0)}
}
@keyframes v1265BackdropIn{
  from{background:rgba(11,26,49,0)}
  to{background:rgba(11,26,49,.45)}
}

/* ===== v1.2.66 bottom sheet opening motion ===== */
/* Opening motion intentionally ignores prefers-reduced-motion per app UX setting. */


/* ===== v1.2.67 bottom sheet release physics ===== */
/* Gesture settle animations intentionally ignore prefers-reduced-motion, matching the sheet opening UX. */
.v1250-sheet.v1267-swipe-closing{
  transition:transform .34s cubic-bezier(.20,.72,.18,1)!important;
}
.v1250-sheet.v1267-swipe-reset{
  transition:transform .30s cubic-bezier(.22,.82,.24,1)!important;
}
.v1250-sheet-backdrop.v1267-backdrop-closing{
  transition:background .34s ease-out!important;
}
.v1250-sheet-backdrop.v1267-backdrop-reset{
  transition:background .30s ease-out!important;
}

/* ===== v1.2.69 テスト対象：案件入力をプルダウン式へ ===== */
.v1269-project-entry-card{max-width:680px;margin-left:auto;margin-right:auto}
.v1269-project-entry-head h2{margin:0 0 3px}
.v1269-project-select-label{display:block;margin:8px 0 7px;font-size:12px;font-weight:900;color:#38513e}
.v1269-project-select-wrap{position:relative}
.v1269-project-select{width:100%;min-height:50px;border:1px solid #cfdbd1;border-radius:14px;background:#fff;padding:0 42px 0 14px;font-size:15px;font-weight:800;color:#203d28;appearance:auto}
.v1269-project-fields{margin-top:16px;border-top:1px solid #e3ebe4;padding-top:14px}
.v1269-project-fields[hidden]{display:none!important}
.v1269-entry-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;border-bottom:1px solid #edf2ee}
.v1269-entry-row>span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:#324a38;white-space:nowrap}
.v1269-entry-row>span b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eef6ef;color:#2b6435;font-size:11px}
.v1269-entry-control{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:125px}
.v1269-entry-control input,.v1269-entry-control select{height:42px;border:1px solid #cfdbd1;border-radius:11px;background:#fff;font-size:15px;font-weight:900;color:#203d28;text-align:right}
.v1269-entry-control input{width:92px;padding:0 11px}
.v1269-entry-control select{min-width:124px;padding:0 10px;text-align:left}
.v1269-entry-control em{font-style:normal;font-size:12px;font-weight:800;color:#6f7d72}
.v1269-save{width:100%;margin-top:18px;min-height:48px;border-radius:13px}
@media(max-width:520px){.v1269-project-entry-card{margin-left:0;margin-right:0}.v1269-entry-row{gap:8px}.v1269-entry-row>span{font-size:12px}.v1269-entry-control{min-width:112px}.v1269-entry-control input{width:80px}.v1269-entry-control select{min-width:112px;font-size:14px}}

/* ===== v1.2.70 新ホーム共通デザイン：案件記録 ===== */
body.v1270-project-entry-active{background:#f8fbff!important}
.v1270-project-page{position:relative}
.v1270-project-page-head{margin-bottom:2px}
.v1270-brand-home{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}
.v1270-brand-home .v1250-logo-wrap{pointer-events:none}
.v1270-project-main{display:flex;flex-direction:column;gap:14px}
.v1270-project-intro{display:flex;align-items:center;gap:13px;padding:12px 4px 2px}
.v1270-project-icon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#e7f2ff,#f5f9ff);color:#246abb;font-size:22px;box-shadow:0 8px 20px rgba(38,91,157,.08)}
.v1270-project-intro span{display:block;font-size:11px;font-weight:900;color:#71829a;letter-spacing:.08em}
.v1270-project-intro h2{margin:1px 0 0;font-size:27px;line-height:1.05;color:#12345f}
.v1270-project-intro p{margin:5px 0 0;color:#6d7c91;font-size:12px;font-weight:800}
.v1270-project-form-card{border-radius:26px;padding:18px;background:linear-gradient(145deg,#f4f9ff,#ffffff);box-shadow:0 12px 34px rgba(32,68,111,.07);border:1px solid rgba(218,230,244,.78)}
.v1270-field-block>label{display:block;color:#153763;font-size:15px;font-weight:900;margin-bottom:9px}
.v1270-field-block>small{display:block;margin-top:8px;color:#7b899c;font-size:10px;font-weight:800}
.v1270-select-shell{position:relative}
.v1270-select-shell select{appearance:none;-webkit-appearance:none;width:100%;border:2px solid #dce8f5;border-radius:18px;background:#fff;padding:16px 48px 16px 15px;color:#17375f;font:inherit;font-size:15px;font-weight:900;outline:none;box-shadow:0 4px 14px rgba(48,82,123,.05)}
.v1270-select-shell select:focus{border-color:#79ace8;box-shadow:0 0 0 4px rgba(84,147,218,.12)}
.v1270-select-shell>span{position:absolute;right:17px;top:50%;transform:translateY(-54%);font-size:21px;color:#4c72a1;pointer-events:none;font-weight:1000}
.v1270-entry-fields{margin-top:18px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease}
.v1270-entry-fields[hidden]{display:none!important}
.v1270-entry-fields.is-visible{opacity:1;transform:none}
.v1270-selected-project{padding:13px 15px;border-radius:17px;background:#eaf4ff;color:#174f8f;font-size:14px;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1270-entry-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:82px;padding:13px 14px;border-radius:20px;background:#fff;box-shadow:0 5px 18px rgba(33,70,112,.055);border:1px solid #edf2f8}
.v1270-entry-copy{display:flex;align-items:center;gap:10px;min-width:0}
.v1270-entry-number{width:35px;height:35px;border-radius:12px;background:#eff6ff;color:#2d73bd;display:grid;place-items:center;font-size:10px;font-weight:1000;flex:0 0 auto}
.v1270-entry-copy strong{display:block;color:#17375f;font-size:14px;font-weight:1000}
.v1270-entry-copy small{display:block;margin-top:4px;color:#8490a1;font-size:9px;font-weight:700;white-space:nowrap}
.v1270-entry-control{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto}
.v1270-entry-control input,.v1270-entry-control select{height:44px;border:1px solid #dbe6f2;border-radius:13px;background:#f8fbff;color:#133964;font:inherit;font-weight:1000;font-size:18px;text-align:right;outline:none}
.v1270-entry-control input{width:78px;padding:0 11px}
.v1270-entry-control select{max-width:124px;padding:0 9px;font-size:13px}
.v1270-entry-control input:focus,.v1270-entry-control select:focus{border-color:#79ace8;box-shadow:0 0 0 3px rgba(84,147,218,.11)}
.v1270-entry-control em{font-style:normal;color:#526781;font-size:12px;font-weight:900}
.v1270-save{width:100%;min-height:56px;margin-top:3px;border:0;border-radius:18px;padding:0 16px;background:linear-gradient(135deg,#1d79d5,#1765b8);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;font:inherit;font-weight:1000;font-size:15px;box-shadow:0 10px 24px rgba(29,108,190,.2);cursor:pointer}
.v1270-save b{position:absolute;right:18px;font-size:24px;line-height:1}
.v1270-save:disabled{opacity:.58;cursor:default}
.v1270-empty-projects,.v1270-load-error{padding:34px 16px;text-align:center;color:#6f7f94;font-weight:900;background:#fff;border-radius:20px}
.v1270-load-error{margin-top:16px}.v1270-load-error small{display:block;margin-top:8px;font-weight:700;color:#8b96a4}
@media(max-width:620px){
  .v1270-project-form-card{padding:14px;border-radius:22px}
  .v1270-project-intro{padding-left:2px}.v1270-project-intro h2{font-size:24px}
  .v1270-entry-card{padding:12px 11px;gap:8px}.v1270-entry-copy{gap:8px}.v1270-entry-number{width:31px;height:31px;border-radius:10px}
  .v1270-entry-copy strong{font-size:13px}.v1270-entry-copy small{font-size:8px}
  .v1270-entry-control input{width:65px;font-size:17px}.v1270-entry-control select{max-width:108px;font-size:12px;padding-left:5px;padding-right:5px}
}
@media(max-width:375px){
  .v1270-entry-copy small{display:none}
  .v1270-entry-control input{width:60px}.v1270-entry-control select{max-width:96px}
}


/* ===== v1.2.71 記録画面・最近の案件・入力改善 ===== */
.v1271-recent-block{padding-bottom:2px}
.v1271-recent-block .v1270-select-shell select:disabled{color:#9aa8b9;background:#f5f8fb;cursor:default}
.v1270-field-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:#98a6b8;font-size:9px;font-weight:900}
.v1270-field-divider::before,.v1270-field-divider::after{content:"";height:1px;background:#e7eef6;flex:1}
.v1270-entry-control input::placeholder{color:#aebccc;opacity:.72;font-weight:900}

/* ===== v1.2.72 本人別・本日記録済み一覧 ===== */
.v1272-recorded-section{margin-bottom:20px}
.v1272-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:9px}
.v1272-section-head strong{display:block;color:#153763;font-size:15px;font-weight:1000}
.v1272-section-head small{display:block;margin-top:4px;color:#8897a9;font-size:9px;font-weight:800}
.v1272-recorded-table{overflow:hidden;border:1px solid #e2ebf5;border-radius:18px;background:#fff;box-shadow:0 4px 14px rgba(48,82,123,.035)}
.v1272-recorded-head,.v1272-recorded-row{display:grid;grid-template-columns:minmax(0,1fr) 52px 52px 72px;align-items:center;column-gap:6px}
.v1272-recorded-head{min-height:34px;padding:0 12px;background:#f2f7fd;color:#7890aa;font-size:9px;font-weight:1000}
.v1272-recorded-head span:nth-child(n+2){text-align:center}
.v1272-recorded-row{width:100%;min-height:50px;padding:7px 12px;border-top:1px solid #edf2f8;background:#fff;color:#17375f;font:inherit;text-align:left}
.v1272-recorded-project{display:flex;align-items:center;gap:9px;min-width:0}
.v1272-recorded-project b{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#edf5ff;color:#2b70ba;font-size:10px;font-weight:1000}
.v1272-recorded-project em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:13px;font-weight:1000}
.v1272-recorded-num{text-align:center;color:#27496f;font-size:13px;font-weight:1000}

.v1274-edit-record{justify-self:end;border:1px solid #cfe0f3;border-radius:10px;background:#f4f9ff;color:#2367aa;padding:7px 9px;font:inherit;font-size:10px;font-weight:1000;line-height:1;white-space:nowrap;cursor:pointer}
.v1274-edit-record:hover,.v1274-edit-record:active{background:#eaf4ff;border-color:#b9d3ee}
.v1272-recorded-empty{padding:18px 12px;text-align:center;color:#92a0b0;font-size:10px;font-weight:900}
.v1272-recent-block{padding-top:1px}
@media(max-width:375px){
  .v1272-recorded-head,.v1272-recorded-row{grid-template-columns:minmax(0,1fr) 45px 45px 66px;padding-left:9px;padding-right:9px}
  .v1272-recorded-project{gap:6px}.v1272-recorded-project b{width:22px;height:22px}.v1272-recorded-project em{font-size:12px}
}

@media(max-width:390px){.v1274-edit-record{padding:7px 7px;font-size:9px}}

/* ===== v1.2.76 記録画面：案件選択を横並び + 最近案件も五十音順 ===== */
.v1276-project-pickers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;margin-top:2px}
.v1276-picker-block{min-width:0;padding:0}
.v1276-picker-block>label{min-height:18px;margin-bottom:7px;font-size:12px;line-height:1.35;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1276-picker-block .v1270-select-shell select{min-width:0;padding:14px 34px 14px 11px;border-radius:16px;font-size:12px}
.v1276-picker-block .v1270-select-shell>span{right:11px;font-size:18px}
.v1272-section-head small{display:none!important}
@media(max-width:420px){
  .v1276-project-pickers{gap:7px}
  .v1276-picker-block>label{font-size:10.5px;letter-spacing:-.05em}
  .v1276-picker-block .v1270-select-shell select{padding:13px 27px 13px 9px;font-size:11px}
  .v1276-picker-block .v1270-select-shell>span{right:8px;font-size:16px}
}

/* ===== v1.2.78 新ホーム：ツールハブ ===== */
.v1278-wrench-icon{
  width:24px;
  height:24px;
  display:block;
  flex:0 0 auto;
}
.v1250-bottom-nav button .v1278-wrench-icon{
  width:23px;
  height:23px;
}
.v1278-tools-page{
  position:relative;
  background:linear-gradient(180deg,#fff 0,#fbfdfb 100%);
}
.v1278-tools-head{
  padding-left:4px;
  padding-right:4px;
}
.v1278-brand-home{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  color:inherit;
  cursor:pointer;
}
.v1278-tools-main{
  margin:0 -14px;
}
.v1278-tools-art{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#fff;
}
.v1278-tools-art img{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}
.v1278-hotspot{
  position:absolute;
  z-index:2;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  border-radius:22px;
  -webkit-tap-highlight-color:transparent;
}
.v1278-hotspot:focus-visible{
  outline:3px solid rgba(32,173,104,.62);
  outline-offset:-4px;
}
.v1278-hotspot:active{
  background:rgba(255,255,255,.12);
}
/* Percentages are tied to the approved v1.2.78 tool artwork crop. */
.v1278-hotspot.manual{left:2.8%;top:9.3%;width:45.8%;height:35.8%}
.v1278-hotspot.remind{left:50.2%;top:9.3%;width:46.2%;height:35.8%}
.v1278-hotspot.notebook{left:2.8%;top:46.2%;width:57.6%;height:24.7%}
.v1278-hotspot.counter{left:2.8%;top:72.5%;width:94%;height:27.1%}
.v1278-tools-page .v1250-bottom-nav button.active{
  color:#20ad68;
}
.v1278-tools-page .v1250-bottom-nav button.active{
  background:#effbef;
  border-radius:18px;
}
.v1278-tools-error{
  margin:40px 16px;
  padding:22px;
  border:1px solid #e4ebea;
  border-radius:18px;
  background:#fff;
  text-align:center;
  color:#536274;
  font-weight:800;
}
@media(max-width:520px){
  .v1278-tools-main{margin-left:-10px;margin-right:-10px}
  .v1278-hotspot{border-radius:16px}
}

/* ===== v1.2.79 新ホーム：マニュアル ===== */
.v1279-manual-page{
  position:relative;
  background:linear-gradient(180deg,#fff 0,#f8fbff 58%,#f7faf8 100%);
}
.v1279-manual-head{padding-left:4px;padding-right:4px}
.v1279-title-row{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin:2px 0 12px;
  padding:0 2px;
}
.v1279-title-row>button{
  border:1px solid #dce7ef;
  border-radius:999px;
  background:#fff;
  color:#31546f;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(34,72,94,.05);
}
.v1279-title-row>div{min-width:0}
.v1279-title-row span{
  display:block;
  color:#8ca099;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.14em;
}
.v1279-title-row h1{
  margin:2px 0 0;
  color:#173b57;
  font-size:27px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.v1279-manual-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  grid-template-rows:1fr 1fr;
  gap:8px;
  min-height:205px;
  margin:0 -2px 10px;
}
.v1279-menu-card{
  position:relative;
  min-width:0;
  border:1px solid rgba(34,81,103,.08);
  border-radius:22px;
  padding:15px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-align:left;
  color:#153b55;
  cursor:pointer;
  box-shadow:0 9px 24px rgba(36,70,92,.07);
  overflow:hidden;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.v1279-menu-card:active{transform:scale(.985)}
.v1279-menu-card>div{position:relative;z-index:2;min-width:0}
.v1279-menu-card small{
  display:block;
  margin-bottom:5px;
  color:#77918f;
  font-size:8px;
  font-weight:1000;
  letter-spacing:.09em;
}
.v1279-menu-card strong{
  display:block;
  color:inherit;
  font-size:17px;
  line-height:1.15;
  font-weight:1000;
  letter-spacing:-.04em;
}
.v1279-menu-card span{
  display:block;
  margin-top:9px;
  color:#536b78;
  font-size:10px;
  line-height:1.35;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v1279-menu-card>b{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.72);
  box-shadow:0 3px 10px rgba(42,74,88,.08);
  font-size:20px;
  font-weight:700;
}
.v1279-business{
  grid-row:1 / 3;
  background:linear-gradient(145deg,#e9f8ee,#f9fdf9 70%,#e5f3e7);
  align-items:center;
}
.v1279-business:before{
  content:'BOOK';
  position:absolute;
  right:-8px;
  bottom:-4px;
  font-size:58px;
  font-weight:1000;
  letter-spacing:-.08em;
  color:rgba(28,130,75,.055);
}
.v1279-status{background:linear-gradient(145deg,#eef6ff,#fbfdff)}
.v1279-capabilities{background:linear-gradient(145deg,#fff5e8,#fffbf4)}
.v1279-menu-card.active{
  border-color:#5cbf86;
  box-shadow:0 0 0 2px rgba(78,183,123,.12),0 10px 26px rgba(48,126,82,.10);
}
.v1279-status.active{border-color:#63aeea;box-shadow:0 0 0 2px rgba(72,159,228,.12),0 10px 26px rgba(48,112,165,.10)}
.v1279-capabilities.active{border-color:#efb15e;box-shadow:0 0 0 2px rgba(235,165,73,.12),0 10px 26px rgba(170,111,36,.09)}

.v1279-manual-picker{
  position:absolute;
  z-index:90;
  left:0;
  top:calc(100% + 6px);
  width:min(390px,calc(100vw - 34px));
  max-height:min(420px,58vh);
  border:1px solid #dce9e1;
  border-radius:19px;
  overflow:hidden;
  background:rgba(255,255,255,.985);
  box-shadow:0 20px 48px rgba(26,67,49,.18);
  backdrop-filter:blur(15px);
}
.v1279-manual-picker[hidden]{display:none!important}
.v1279-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  border-bottom:1px solid #ebf1ed;
  background:#f8fcf9;
}
.v1279-picker-head strong{color:#1d5138;font-size:13px}
.v1279-picker-head button{
  width:28px;height:28px;border:0;border-radius:50%;background:#e9f3ec;color:#456454;font-size:20px;line-height:1;cursor:pointer
}
.v1279-picker-list{max-height:min(365px,50vh);overflow:auto;padding:6px}
.v1279-picker-list button{
  width:100%;border:0;border-radius:12px;background:transparent;padding:10px 10px;text-align:left;color:#23465a;cursor:pointer
}
.v1279-picker-list button+button{border-top:1px solid #f0f3f1;border-radius:0}
.v1279-picker-list button:active,.v1279-picker-list button:hover{background:#eff8f1;border-radius:12px}
.v1279-picker-list span{display:block;font-size:12px;font-weight:950;line-height:1.35}
.v1279-picker-list small{display:block;margin-top:3px;color:#7b8d96;font-size:9px;font-weight:700;line-height:1.35}

.v1279-manual-content{
  position:relative;
  min-height:410px;
  margin:0 -2px;
  padding:12px;
  border:1px solid #e5ebee;
  border-radius:23px;
  background:#fff;
  box-shadow:0 10px 28px rgba(28,59,78,.055);
  scroll-margin-top:12px;
}
.v1279-empty-manual{
  min-height:380px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#71828d;
  padding:24px;
}
.v1279-empty-manual strong{color:#3d5c6d;font-size:16px}
.v1279-empty-manual span{margin-top:7px;font-size:11px;line-height:1.6;font-weight:700}
.v1279-manual-article{color:#263f4d}
.v1279-article-head{
  padding:4px 4px 13px;
  border-bottom:1px solid #edf1f2;
  margin-bottom:12px;
}
.v1279-article-head>span{color:#2ca46c;font-size:9px;font-weight:1000;letter-spacing:.12em}
.v1279-article-head h2{margin:4px 0 0;color:#183b55;font-size:21px;line-height:1.25;letter-spacing:-.03em}
.v1279-article-head p{margin:4px 0 0;color:#758694;font-size:10px;font-weight:750}
.v1279-manual-content .v098-manual-body{padding:2px 2px 6px}
.v1279-manual-content .v098-manual-body>p:first-child{margin-top:0}
.v1279-manual-content .card{box-shadow:none;border:1px solid #edf0f2;margin-bottom:10px}
.v1279-manual-content .v100-status-intro{margin-top:0}
.v1279-manual-content .v100-status-section{margin-top:12px}
.v1279-manual-content.v1279-capability-content{padding:10px;background:#fbfcfd}
.v1279-manual-content.v1279-capability-content>.card:first-child{margin-top:0}
.v1279-bottom-nav button.active{color:#20ad68;background:#effbef;border-radius:18px}

@media(max-width:520px){
  .v1279-title-row{margin-bottom:10px}
  .v1279-title-row h1{font-size:24px}
  .v1279-title-row>button{padding:7px 10px;font-size:10px}
  .v1279-manual-grid{gap:7px;min-height:188px;margin-left:-1px;margin-right:-1px}
  .v1279-menu-card{border-radius:18px;padding:12px 10px}
  .v1279-menu-card strong{font-size:14px}
  .v1279-menu-card small{font-size:7px}
  .v1279-menu-card span{font-size:9px;margin-top:7px}
  .v1279-menu-card>b{width:29px;height:29px;font-size:17px}
  .v1279-business:before{font-size:45px}
  .v1279-manual-content{border-radius:19px;padding:9px;min-height:390px}
  .v1279-empty-manual{min-height:350px}
  .v1279-article-head h2{font-size:18px}
}

/* ===== v1.2.80 対応可能案件：コンパクト登録 + 登録済みボトムシート ===== */
.v1280-capability-content{padding:10px!important}
.v1280-capability-top{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:10px;
  align-items:stretch;
  padding:4px 2px 2px;
}
.v1280-capability-fields{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.v1280-capability-fields .compact-field{margin:0}
.v1280-capability-fields .compact-field label{font-size:10px;font-weight:900;color:#526776;margin-bottom:4px}
.v1280-capability-fields select{min-height:42px}
.v1280-cap-save{min-height:40px;margin-top:1px}
.v1280-registered-btn{
  appearance:none;border:1px solid #e9d7be;background:linear-gradient(145deg,#fff7eb,#fffdf8);
  border-radius:18px;padding:16px 13px;min-width:0;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;text-align:left;color:#714721;box-shadow:0 8px 20px rgba(138,91,33,.08)
}
.v1280-registered-btn:active{transform:scale(.985)}
.v1280-registered-btn span{font-size:14px;font-weight:950;line-height:1.35}
.v1280-registered-btn strong{margin-top:8px;font-size:24px;line-height:1;color:#c47424}
.v1280-registered-btn b{align-self:flex-end;margin-top:auto;font-size:24px;line-height:1;color:#c58a4d}
.v1280-cap-divider{height:1px;background:#dfe7eb;margin:14px -2px 12px}
.v1280-cap-note-card{padding:12px!important;margin-bottom:10px!important}
.v1280-cap-note-card .compact-field{margin:0}
.v1280-registered-table{padding:2px 0 12px}
.v1280-registered-head,.v1280-registered-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(70px,.7fr) minmax(86px,.8fr);gap:8px;align-items:center}
.v1280-registered-head{padding:0 8px 8px;color:#84919a;font-size:9px;font-weight:900;border-bottom:1px solid #edf0f2}
.v1280-registered-row{padding:12px 8px;border-bottom:1px solid #edf0f2}
.v1280-registered-name{min-width:0}
.v1280-registered-name strong{display:block;font-size:12px;color:#28485a;line-height:1.35;overflow-wrap:anywhere}
.v1280-registered-name small{display:block;margin-top:3px;font-size:8px;color:#8a979f;line-height:1.4}
.v1280-registered-compat{font-size:10px;font-weight:900;color:#4d6a5b}
.v1280-registered-date{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:9px;color:#6c7a83}
.v1280-registered-date button{border:0;background:transparent;color:#c56c6c;font-size:8px;font-weight:900;padding:0}
.v1280-registered-empty{padding:28px 12px;text-align:center;color:#8b989f;font-size:11px;font-weight:750}
@media(max-width:430px){
  .v1280-capability-top{gap:8px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
  .v1280-registered-btn{padding:13px 10px;border-radius:16px}
  .v1280-registered-btn span{font-size:12px}
  .v1280-registered-btn strong{font-size:21px}
  .v1280-registered-head,.v1280-registered-row{grid-template-columns:minmax(0,1.25fr) minmax(60px,.7fr) minmax(78px,.85fr);gap:6px}
}

/* ===== v1.2.82 マニュアル：自己分析 / アカウント一覧を独立メニュー化 ===== */
.v1279-manual-grid{
  grid-template-rows:1fr 1fr auto;
}
.v1282-manual-extra-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(0,.95fr);
  gap:8px;
  min-width:0;
}
.v1282-manual-extra-row .v1279-menu-card{
  min-height:62px;
  border-radius:18px;
  padding:11px 13px;
}
.v1282-manual-extra-row .v1279-menu-card strong{font-size:14px}
.v1282-manual-extra-row .v1279-menu-card small{font-size:7px;margin-bottom:3px}
.v1282-manual-extra-row .v1279-menu-card>b{width:29px;height:29px;font-size:17px}
.v1282-analysis{background:linear-gradient(145deg,#f3f4ff,#fbfbff)}
.v1282-accounts{background:linear-gradient(145deg,#eff9ff,#fbfdff)}
.v1282-analysis.active{border-color:#8b92db;box-shadow:0 0 0 2px rgba(104,112,205,.12),0 10px 24px rgba(81,88,159,.08)}
.v1282-accounts.active{border-color:#77b8db;box-shadow:0 0 0 2px rgba(80,165,207,.12),0 10px 24px rgba(52,126,163,.08)}
.v1282-profile-panel .card{margin:0}
.v1282-profile-panel .v101-account-grid{margin-top:2px}
.v1282-profile-panel .v101-analysis-block:first-child{margin-top:0}

@media(max-width:520px){
  .v1279-manual-grid{min-height:252px}
  .v1282-manual-extra-row{gap:7px;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr)}
  .v1282-manual-extra-row .v1279-menu-card{min-height:56px;padding:9px 10px;border-radius:16px}
  .v1282-manual-extra-row .v1279-menu-card strong{font-size:12px}
  .v1282-manual-extra-row .v1279-menu-card small{font-size:6px}
  .v1282-manual-extra-row .v1279-menu-card>b{width:26px;height:26px;font-size:15px}
}


/* ===== v1.2.83 自己分析：2列レイアウト + その他必須入力 ===== */
.v1283-analysis-card{padding:14px!important}
.v1283-analysis-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.v1283-analysis-pane{
  min-width:0;
  padding:12px;
  border:1px solid #e1e6ed;
  border-radius:16px;
  background:#fbfcff;
}
.v1283-analysis-pane + .v1283-analysis-pane{border-left-color:#d8dfe9}
.v1283-analysis-pane h3,.v1283-analysis-calltype h3{
  margin:0 0 10px;
  color:#344a62;
  font-size:13px;
  font-weight:950;
  line-height:1.3;
}
.v1283-analysis-pane .v101-check-grid{grid-template-columns:1fr;gap:6px}
.v1283-analysis-pane .v101-check-item{min-height:34px;padding:7px 8px;font-size:9.5px}
.v1283-analysis-divider{height:1px;background:#dce3e9;margin:15px 0}
.v1283-analysis-calltype{padding:2px 2px 0}
.v1283-analysis-calltype .v101-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v1283-other-input{margin-top:9px;padding-top:9px;border-top:1px dashed #dfe5eb}
.v1283-other-input[hidden]{display:none!important}
.v1283-other-input label{display:block;margin-bottom:5px;font-size:9px;font-weight:900;color:#5b6872}
.v1283-other-input label b{margin-left:4px;color:#d35f5f;font-size:8px}
.v1283-other-input .text-input{width:100%;min-width:0}
.v1283-analysis-save{width:100%;min-height:44px;font-weight:950}
@media(max-width:430px){
  .v1283-analysis-card{padding:11px!important}
  .v1283-analysis-pair{gap:7px}
  .v1283-analysis-pane{padding:9px;border-radius:14px}
  .v1283-analysis-pane h3,.v1283-analysis-calltype h3{font-size:11px;margin-bottom:8px}
  .v1283-analysis-pane .v101-check-item{min-height:31px;padding:6px 7px;font-size:8.5px;gap:5px}
  .v1283-analysis-calltype .v101-check-item{min-height:34px;padding:7px 8px;font-size:9px}
}


/* v1.2.84 new-home reminder */
.v1284-reminder-page{padding-bottom:94px}
.v1284-reminder-head{padding-left:4px;padding-right:4px}
.v1284-reminder-main{padding:10px 12px 20px;max-width:760px;margin:0 auto}
.v1284-title-row{display:flex;align-items:center;gap:10px;margin:2px 0 10px}
.v1284-title-row>button{border:0;background:#eef9f2;color:#218b58;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;cursor:pointer}
.v1284-title-row>div{min-width:0}.v1284-title-row span{display:block;color:#43b975;font-size:8px;font-weight:1000;letter-spacing:.14em}.v1284-title-row h1{margin:1px 0 0;color:#203c50;font-size:24px;line-height:1.1;letter-spacing:-.035em}
.v1284-create-card,.v1284-list-card{border:1px solid #edf0f1;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(51,77,91,.07)}
.v1284-create-card{padding:12px;background:linear-gradient(145deg,#fffaf5 0%,#ffffff 46%,#f4fff8 100%)}
.v1284-create-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
.v1284-create-head>div strong{display:block;color:#3e4f5a;font-size:15px;font-weight:1000}.v1284-create-head>div small{display:block;margin-top:2px;color:#93a0a6;font-size:8px;font-weight:800}
.v1284-create-head>span{flex:none;background:#fff0dd;color:#e28a32;border:1px solid #ffe1bb;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:1000}
.v1284-field{display:block;margin:0 0 8px}.v1284-field>span,.v1284-split-fields label>span{display:block;margin:0 0 4px;color:#647985;font-size:9px;font-weight:950}
.v1284-field input,.v1284-field textarea,.v1284-split-fields input{width:100%;box-sizing:border-box;border:1px solid #e4e9eb;background:rgba(255,255,255,.92);border-radius:12px;color:#263e4b;font:inherit;font-size:12px;font-weight:750;outline:none}
.v1284-field input{height:38px;padding:0 10px}.v1284-field textarea{min-height:52px;padding:9px 10px;resize:vertical;line-height:1.45}
.v1284-field input:focus,.v1284-field textarea:focus,.v1284-split-fields input:focus{border-color:#77d5a1;box-shadow:0 0 0 3px rgba(78,194,127,.11)}
.v1284-split-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v1284-date-fields{margin-bottom:8px}.v1284-split-fields label{display:block;margin:0}.v1284-split-fields input{height:38px;padding:0 8px}
.v1284-control-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed #e8eceb;border-bottom:1px dashed #e8eceb;padding:8px 1px;margin:2px 0 9px}
.v1284-alarm-toggle{display:flex;align-items:center;gap:7px;min-width:0;cursor:pointer}.v1284-alarm-toggle input{appearance:auto!important;-webkit-appearance:checkbox!important;width:15px!important;height:15px!important;min-width:15px!important;margin:0!important;accent-color:#ff956d}.v1284-alarm-toggle span{display:block}.v1284-alarm-toggle strong{display:block;color:#d76b50;font-size:10px;font-weight:1000;line-height:1.1}.v1284-alarm-toggle small{display:block;margin-top:2px;color:#9b9fa3;font-size:7px;font-weight:800}
.v1284-sound-mini{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;font-size:7px;color:#839097;font-weight:800}.v1284-sound-mini>span{white-space:nowrap}.v1284-sound-mini strong{color:#516774}.v1284-sound-mini button{border:1px solid #dce7e1;background:#f7fbf8;color:#348d60;border-radius:999px;padding:4px 6px;font-size:7px;font-weight:950;cursor:pointer}
.v1284-save{width:100%;height:38px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff8e77,#ffa883);color:#fff;font-size:11px;font-weight:1000;box-shadow:0 7px 16px rgba(232,111,81,.18);cursor:pointer}.v1284-save:active{transform:translateY(1px)}
.v1284-list-card{margin-top:10px;padding:9px}.v1284-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f5f7f7;border-radius:12px;padding:4px}.v1284-tabs button{border:0;background:transparent;color:#809098;border-radius:9px;padding:7px 4px;font-size:9px;font-weight:950;cursor:pointer}.v1284-tabs button b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:3px;border-radius:999px;background:#e6ebec;font-size:8px}.v1284-tabs button.active{background:#fff;color:#2b7d57;box-shadow:0 2px 8px rgba(49,82,66,.08)}.v1284-tabs button.active b{background:#e7f8ee;color:#248353}
.v1284-reminder-list{margin-top:8px}.v1284-reminder-item{position:relative;border:1px solid #edf0f0;border-radius:15px;background:#fff;padding:10px;margin-top:7px}.v1284-reminder-item.completed{background:#fafbfb}.v1284-reminder-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.v1284-reminder-copy{min-width:0}.v1284-reminder-copy>strong{display:block;color:#2b414d;font-size:12px;font-weight:1000;line-height:1.3;word-break:break-word}.v1284-date-time-pills{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.v1284-date-time-pills span{display:inline-flex;align-items:center;background:#f2f8fb;color:#527487;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:900}.v1284-date-time-pills span+span{background:#fff3e9;color:#c97842}
.v1284-alarm-pill{flex:none;border-radius:999px;background:#f1f3f3;color:#8b969b;padding:4px 6px;font-size:7px;font-weight:950}.v1284-alarm-pill.on{background:#fff0eb;color:#e36b4e}.v1284-reminder-note{margin-top:7px;padding:7px 8px;border-radius:9px;background:#fafcfc;color:#667b85;font-size:9px;font-weight:700;line-height:1.5}
.v1284-delete{margin-top:7px;border:0;background:transparent;color:#d96c6c;font-size:8px;font-weight:900;padding:2px 0;cursor:pointer}.v1284-reschedule-box{margin-top:8px;padding:8px;border-radius:11px;background:#f7faf9;border:1px solid #e9efec}.v1284-reschedule-box .v1284-split-fields{gap:6px}.v1284-reschedule-box .v1284-split-fields input{height:34px;font-size:10px}.v1284-reschedule-box .v1284-split-fields label>span{font-size:8px}.v1284-mini-action{width:100%;margin-top:7px;border:1px solid #cfe5d8;background:#fff;color:#34875c;border-radius:10px;height:32px;font-size:9px;font-weight:950;cursor:pointer}
.v1284-empty{padding:26px 8px;text-align:center;color:#98a5ab;font-size:10px;font-weight:800}.v1284-load-error{margin:30px 14px;padding:18px;border:1px solid #ffd8d0;border-radius:18px;background:#fff8f6;color:#a85b4c;font-weight:850;text-align:center}.v1284-bottom-nav button.active{color:#20ad68;background:#effbef;border-radius:18px}
@media(max-width:520px){.v1284-reminder-main{padding:8px 9px 18px}.v1284-create-card{padding:10px}.v1284-control-row{gap:5px}.v1284-sound-mini{gap:3px}.v1284-sound-mini>span{display:none}.v1284-title-row h1{font-size:22px}}


/* ===== v1.2.86 reminder compact schedule + editable reminder times ===== */
.v1285-schedule-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(92px,.72fr);gap:7px;align-items:start;margin:3px 0 7px}
.v1285-schedule-field,.v1285-alarm-field{display:block;min-width:0;margin:0}
.v1285-schedule-field>span,.v1285-alarm-field>span{display:block;margin:0 0 4px;color:#647985;font-size:9px;font-weight:950;white-space:nowrap}
.v1285-schedule-field input{width:100%;height:38px;box-sizing:border-box;border:1px solid #e4e9eb;background:rgba(255,255,255,.94);border-radius:11px;color:#263e4b;font:inherit;font-size:11px;font-weight:800;outline:none;padding:0 7px}
.v1285-schedule-field input:focus{border-color:#77d5a1;box-shadow:0 0 0 3px rgba(78,194,127,.11)}
.v1285-alarm-field{min-height:58px;height:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;overflow:visible}
.v1285-alarm-field>span{font-size:8px;line-height:1.2;white-space:normal;min-height:0}
.v1285-alarm-field input{appearance:auto!important;-webkit-appearance:checkbox!important;width:15px!important;height:15px!important;min-width:15px!important;margin:8px 0 0 2px!important;accent-color:#ff956d;cursor:pointer}
.v1285-sound-row{display:flex;align-items:center;justify-content:space-between;gap:7px;border-top:1px dashed #e8eceb;border-bottom:1px dashed #e8eceb;padding:6px 1px;margin:1px 0 8px;color:#839097;font-size:8px;font-weight:850}
.v1285-sound-row>span{white-space:nowrap}.v1285-sound-row>span strong{color:#516774}.v1285-sound-row .v1284-sound-mini{margin-left:auto}
.v1285-history-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.v1285-history-buttons button{min-height:52px;border:1px solid #e8eeee;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(48,73,87,.06);padding:8px 10px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;color:#314b58;cursor:pointer;text-align:left}
.v1285-history-buttons button:first-child{background:linear-gradient(145deg,#f3fff8,#fff);border-color:#dcefe4}.v1285-history-buttons button:last-child{background:linear-gradient(145deg,#fff8f3,#fff);border-color:#f1e2d8}
.v1285-history-buttons span{font-size:11px;font-weight:1000}.v1285-history-buttons b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#e8f7ee;color:#2e8b5a;font-size:9px}.v1285-history-buttons button:last-child b{background:#fff0e7;color:#ca7040}.v1285-history-buttons i{font-style:normal;font-size:20px;font-weight:700;color:#9aa8ae;line-height:1}
.v1285-sheet-list{padding-bottom:4px}.v1250-sheet-body .v1284-reminder-item:first-child{margin-top:0}
@media(max-width:520px){
  .v1285-schedule-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.82fr) minmax(76px,.62fr);gap:5px}
  .v1285-schedule-field input{height:36px;font-size:10px;padding:0 5px}
  .v1285-alarm-field{min-height:56px;height:auto}.v1285-alarm-field>span{font-size:7px;line-height:1.15}.v1285-alarm-field input{width:14px!important;height:14px!important;min-width:14px!important;margin-top:7px!important}
  .v1285-sound-row{padding:5px 1px}.v1285-history-buttons{gap:6px}.v1285-history-buttons button{min-height:48px;padding:7px 8px}.v1285-history-buttons span{font-size:10px}
}

/* v1.2.86 reminder list actions */
.v1286-item-actions{display:flex;align-items:center;gap:7px;margin-top:8px}
.v1286-edit-trigger{border:1px solid #cfe5d8;background:#f4fff8;color:#2f8c5e;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:1000;cursor:pointer}
.v1286-item-actions .v1284-delete{margin:0 0 0 auto;padding:4px 2px}
.v1286-time-editor{margin-top:8px;padding:8px;border-radius:12px;background:#f7faf9;border:1px solid #e5eeea}
.v1286-time-editor[hidden]{display:none!important}
.v1286-time-editor .v1284-split-fields{gap:6px}
.v1286-time-editor .v1284-split-fields input{height:34px;font-size:10px}
.v1286-time-editor .v1284-split-fields label>span{font-size:8px}
@media(max-width:520px){.v1286-edit-trigger{padding:5px 8px;font-size:7.5px}}


/* ===== v1.2.87 tools reminder hit area + alarm alignment ===== */
/* リマインドカードは右側の変形カード全体をタップ対象にする */
.v1278-hotspot.remind{left:50.2%;top:9.3%;width:46.2%;height:61.6%}

/* アラーム見出しの真下中央にチェックを置き、日付/時間入力の高さ中央へ揃える */
.v1285-alarm-field{
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  grid-template-rows:auto 38px;
  align-items:start!important;
  justify-items:stretch;
  overflow:visible;
}
.v1285-alarm-field>span{
  width:100%;
  margin:0 0 4px!important;
  text-align:center;
  font-size:8px;
  line-height:1.2;
  white-space:normal;
}
.v1285-alarm-field input{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin:0!important;
  align-self:center;
  justify-self:center;
  accent-color:#ff956d;
  cursor:pointer;
}
@media(max-width:520px){
  .v1285-alarm-field{grid-template-rows:auto 36px}
  .v1285-alarm-field>span{font-size:7px;line-height:1.15}
  .v1285-alarm-field input{width:14px!important;height:14px!important;min-width:14px!important;margin:0!important}
}


/* ===== v1.2.88 tools subpage common heading rule ===== */
.v1288-tool-back{
  border:0!important;
  background:#eef9f2!important;
  color:#218b58!important;
  box-shadow:none!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  min-height:34px!important;
  line-height:1!important;
  font-size:10px!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.v1288-tool-back:hover{background:#e4f6eb!important}
.v1288-tool-breadcrumb{
  color:#43b975!important;
  font-weight:1000!important;
  letter-spacing:.14em!important;
}

/* ===== v1.2.90 new-home notebook ===== */
body.v1290-notebook-page-active{background:#f7fbf7}
.v1290-notebook-page{min-height:100vh;padding-bottom:88px;background:linear-gradient(180deg,#fff 0,#f8fcf8 34%,#f4faf5 100%)}
.v1290-notebook-main{width:min(760px,100%);margin:0 auto;padding:10px 13px 24px;box-sizing:border-box}
.v1290-title-row{display:flex;align-items:center;gap:12px;margin:2px 0 10px}
.v1290-title-row>div{min-width:0}.v1290-title-row h1{margin:1px 0 0;color:#173d2a;font-size:27px;line-height:1.05;font-weight:1000}
.v1290-title-row .v1288-tool-back{flex:none;border-radius:999px!important;padding:8px 11px!important;font-size:10px!important;font-weight:1000!important;cursor:pointer}
.v1290-notebook-card{border:1px solid #e1eee4;border-radius:21px;background:rgba(255,255,255,.96);padding:11px;box-shadow:0 12px 28px rgba(41,89,58,.07)}
.v1290-saved-trigger{width:100%;border:1px solid #d7eadc;border-radius:15px;background:linear-gradient(135deg,#effbf2,#fff);padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;color:#244d34}
.v1290-saved-trigger>span:first-child{display:flex;flex-direction:column;gap:1px}.v1290-saved-trigger small{font-size:7px;letter-spacing:.12em;color:#60b47d;font-weight:1000}.v1290-saved-trigger strong{font-size:13px;font-weight:1000}.v1290-saved-meta{display:flex;align-items:center;gap:7px}.v1290-saved-meta b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 4px;border-radius:999px;background:#dff4e5;color:#2c9058;font-size:9px}.v1290-saved-meta i{font-style:normal;font-size:22px;color:#70a881;line-height:1}
.v1290-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:9px 0 5px}
.v1290-toolbar button{min-width:0;height:46px;border:1px solid #dfe9e1;border-radius:13px;background:#fff;color:#587063;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;font-weight:900;box-sizing:border-box}
.v1290-toolbar button>span{font-size:18px;line-height:1}.v1290-toolbar button>small{font-size:7px;white-space:nowrap;font-weight:950}
.v1290-toolbar .v1290-mode.active{background:#e8f8ed;border-color:#9fd4af;color:#188b4d}.v1290-toolbar .v1290-history{background:#f8fbf9;color:#365d46}.v1290-toolbar .v1290-history:disabled{opacity:.35;cursor:not-allowed}.v1290-toolbar .v1290-clear{color:#a06d55;background:#fffaf6;border-color:#f0dfd4}
.v1290-mode-help{height:14px;margin:0 2px 5px;color:#8a9990;font-size:7px;font-weight:800;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v1290-paper-wrap{border:1px solid #dce9df;border-radius:16px;background:#eaf3ec;padding:7px;overflow:hidden}
.v1290-paper{position:relative;width:100%;height:min(55vh,570px);min-height:390px;overflow:hidden;border-radius:10px;background:linear-gradient(to right,rgba(71,129,83,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(71,129,83,.055) 1px,transparent 1px),#fffefa;background-size:26px 26px;box-shadow:0 5px 18px rgba(31,65,40,.08)}
.v1290-text-layer{padding:18px 19px!important;font-size:15px!important;line-height:1.72!important}
.v1290-title-field{display:block;margin-top:10px}.v1290-title-field>span{display:block;margin:0 0 4px;color:#5a7463;font-size:9px;font-weight:1000}.v1290-title-field input{width:100%;height:40px;box-sizing:border-box;border:1px solid #dce8df;border-radius:12px;background:#fff;padding:0 11px;color:#263e2c;font:inherit;font-size:12px;font-weight:800;outline:none}.v1290-title-field input:focus{border-color:#7acb97;box-shadow:0 0 0 3px rgba(69,184,113,.10)}
.v1290-actions{display:grid;grid-template-columns:1fr .52fr;gap:7px;margin-top:8px}.v1290-actions button{height:40px;border-radius:12px;font-size:11px;font-weight:1000;cursor:pointer}.v1290-save{border:0;background:linear-gradient(135deg,#2fbc72,#67cf8d);color:#fff;box-shadow:0 7px 16px rgba(47,188,114,.18)}.v1290-delete{border:1px solid #f1d8d2;background:#fff8f6;color:#d16d5f}.v1290-delete:disabled{opacity:.38;cursor:not-allowed}
.v1290-saved-list{display:flex;flex-direction:column;gap:7px}.v1290-saved-item{width:100%;border:1px solid #e1e9e3;border-radius:15px;background:#fafdfb;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.v1290-saved-item.active{border-color:#9dd3ad;background:#effaf2}.v1290-saved-item>div{min-width:0}.v1290-saved-item strong{display:block;color:#274d35;font-size:12px;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v1290-saved-item small{display:block;margin-top:2px;color:#96a39a;font-size:7px;font-weight:800}.v1290-saved-item span{display:block;margin-top:5px;color:#627368;font-size:9px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v1290-saved-item>b{flex:none;font-size:22px;color:#7eaa8a}.v1290-saved-empty{padding:28px 10px;text-align:center;color:#91a097;font-size:10px;font-weight:850}.v1290-bottom-nav button.active{color:#20ad68;background:#effbef;border-radius:18px}
@media(max-width:520px){
  .v1290-notebook-main{padding:8px 9px 20px}.v1290-title-row h1{font-size:23px}.v1290-notebook-card{padding:9px;border-radius:18px}.v1290-toolbar{gap:4px}.v1290-toolbar button{height:43px;border-radius:11px}.v1290-toolbar button>span{font-size:17px}.v1290-toolbar button>small{font-size:6.5px}.v1290-paper{height:52vh;min-height:360px}.v1290-text-layer{padding:15px!important;font-size:14px!important}.v1290-actions button{height:38px}
}

/* v1.2.92 notebook saved-list vertical full-page thumbnails */
.v1291-new-note{width:100%;min-height:58px;margin:0 0 9px;border:1px solid #9ed7ae;border-radius:16px;background:linear-gradient(135deg,#e9f9ee,#f8fff9);padding:9px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:#216b3f;cursor:pointer;box-shadow:0 7px 18px rgba(47,188,114,.08)}
.v1291-new-note .v1291-new-plus{flex:none;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#34b96d;color:#fff;font-size:22px;font-weight:800;line-height:1}
.v1291-new-note>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:1px}.v1291-new-note small{font-size:6.5px;letter-spacing:.12em;color:#5da977;font-weight:1000}.v1291-new-note strong{font-size:12px;font-weight:1000}.v1291-new-note>b{margin-left:auto;font-size:21px;color:#69a27b}
.v1291-saved-list{gap:8px}.v1291-saved-item{display:grid;grid-template-columns:minmax(0,1fr) 60px 14px;align-items:center;gap:9px;padding:9px 10px}.v1291-saved-copy{min-width:0}.v1291-saved-copy strong{font-size:12px}.v1291-saved-copy small{margin-top:4px}
.v1291-note-thumb{width:60px;height:86px;border:1px solid #d8e5dc;border-radius:9px;background:#edf3ee;padding:3px;box-sizing:border-box;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.v1291-note-thumb-paper{position:relative;width:100%;height:100%;overflow:hidden;border-radius:6px;background:linear-gradient(to right,rgba(71,129,83,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(71,129,83,.06) 1px,transparent 1px),#fffefa;background-size:9px 9px}
.v1291-note-thumb-paper img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:.72}.v1291-note-thumb-paper span{position:absolute;inset:5px;display:block;overflow:hidden;color:#52665a;font-size:5.5px;line-height:1.35;font-weight:700;white-space:normal;word-break:break-all;text-shadow:0 1px 0 rgba(255,255,255,.8)}.v1291-note-thumb-paper .v1291-thumb-empty{color:#a3afa7;font-style:italic}
@media(max-width:420px){.v1291-saved-item{grid-template-columns:minmax(0,1fr) 54px 12px;gap:7px}.v1291-note-thumb{width:54px;height:78px}.v1291-new-note{min-height:54px}}


/* ===== v1.2.93 tools nav alignment + work slogan ===== */
.v1250-bottom-nav button .v1278-wrench-icon + span{
  transform:translateY(4px);
}
.v1250-bottom-nav button .v1278-wrench-icon{
  transform:translateY(1px);
}
.v1293-tools-slogan{
  position:absolute;
  z-index:4;
  top:2.1%;
  right:2.2%;
  width:37.5%;
  height:5.8%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55em;
  padding:0 1.2% 0 2.2%;
  background:linear-gradient(90deg,rgba(255,255,255,0),#fff 14%,#fff 100%);
  color:#7b6d6a;
  font-size:clamp(10px,2.15vw,16px);
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  pointer-events:none;
  white-space:nowrap;
}
.v1293-tools-slogan b{font-size:1.22em;line-height:1;font-weight:400}
@media(max-width:420px){
  .v1293-tools-slogan{right:1.8%;width:39.5%;gap:.4em;font-size:clamp(9px,2.35vw,11px);letter-spacing:.04em}
}

/* ===== v1.2.95 customizable counter tool ===== */
.v1295-counter-page{padding-bottom:92px}.v1295-counter-main{max-width:760px;margin:0 auto;padding:8px 14px 24px}.v1295-title-row{display:flex;align-items:center;gap:11px;margin:5px 0 12px}.v1295-title-row h1{margin:1px 0 0;font-size:25px;color:#173864}.v1295-board-list{display:flex;flex-direction:column;gap:12px}.v1295-board{border:1px solid #e3e9e5;border-radius:20px;background:#fff;padding:12px;box-shadow:0 8px 24px rgba(34,70,52,.06)}.v1295-board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.v1295-board-head>div:first-child{min-width:0;display:flex;flex-direction:column}.v1295-board-head small{font-size:7px;letter-spacing:.16em;color:#74a585;font-weight:1000}.v1295-board-head strong{font-size:17px;color:#244f39;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v1295-board-actions{display:flex;gap:5px;flex:none}.v1295-board-actions button{border:1px solid #dbe7df;background:#f7fbf8;color:#557063;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:900;cursor:pointer}.v1295-counter-grid{display:grid;grid-template-columns:repeat(var(--v1295-cols),minmax(0,1fr));gap:8px}.v1295-count-button{min-width:0;border:0;border-radius:17px;background:var(--v1295-color);color:var(--v1295-text);min-height:112px;padding:11px 5px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 7px 16px rgba(20,40,60,.08);transition:transform .08s ease,filter .08s ease}.v1295-count-button:active{transform:scale(.97);filter:brightness(.97)}.v1295-count-button span{font-size:11px;font-weight:1000}.v1295-count-button b{font-size:39px;line-height:1.15;margin:4px 0 2px;font-variant-numeric:tabular-nums}.v1295-count-button b.pop{animation:v1295CountPop .18s ease-out}.v1295-count-button small{font-size:7px;font-weight:900;opacity:.75}@keyframes v1295CountPop{50%{transform:scale(1.16)}}.v1295-add-board{width:100%;margin-top:12px;border:1px dashed #9fcdb0;border-radius:16px;background:linear-gradient(135deg,#eefaf2,#fbfffc);color:#28764a;min-height:50px;font-weight:1000;cursor:pointer}.v1295-config{display:flex;flex-direction:column;gap:12px}.v1295-config label{display:flex;flex-direction:column;gap:5px}.v1295-config label>span{font-size:10px;color:#5e7468;font-weight:1000}.v1295-config input[type=text],.v1295-config select{width:100%;box-sizing:border-box;border:1px solid #d8e4dc;border-radius:12px;background:#fff;padding:10px 11px;color:#284d38;font-weight:800}.v1295-config-button-row{display:grid;grid-template-columns:minmax(0,1fr) 66px;gap:8px;padding:9px;border-radius:14px;background:#f7faf8;margin-top:7px}.v1295-color-field input[type=color]{width:100%;height:40px;border:1px solid #d8e4dc;border-radius:10px;background:#fff;padding:3px}.v1295-config-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.v1295-config-actions button{border:0;border-radius:12px;min-height:42px;padding:0 16px;font-weight:1000;cursor:pointer}.v1295-config-actions .primary{background:#32b66b;color:#fff}.v1295-config-actions .danger{background:#fff0ef;color:#c95353}.v1295-counter-error{margin-top:14px;border-radius:18px;background:#fff7ed;border:1px solid #f4d9b5;padding:18px;color:#8a5c2b;font-weight:900;text-align:center}.v1295-counter-error small{display:block;margin-top:7px;font-weight:700;font-size:10px;word-break:break-word}@media(max-width:520px){.v1295-counter-main{padding-left:10px;padding-right:10px}.v1295-title-row h1{font-size:23px}.v1295-board{padding:10px}.v1295-counter-grid{gap:6px}.v1295-count-button{min-height:100px;border-radius:14px}.v1295-count-button span{font-size:10px}.v1295-count-button b{font-size:35px}.v1295-counter-grid[style*="--v1295-cols:4"] .v1295-count-button span{font-size:8px}.v1295-counter-grid[style*="--v1295-cols:4"] .v1295-count-button b{font-size:29px}.v1295-config-button-row{grid-template-columns:minmax(0,1fr) 58px}}


/* ===== v1.2.96 counter +/- controls ===== */
.v1295-count-card{min-width:0;border:0;border-radius:17px;background:var(--v1295-color);color:var(--v1295-text);min-height:136px;padding:11px 7px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 7px 16px rgba(20,40,60,.08)}
.v1295-count-card>span{font-size:11px;font-weight:1000;text-align:center;line-height:1.25}
.v1295-count-card>b{font-size:39px;line-height:1.12;margin:4px 0 7px;font-variant-numeric:tabular-nums}
.v1295-count-card>b.pop{animation:v1295CountPop .18s ease-out}
.v1296-step-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.v1296-step-grid button{min-width:0;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:9px;background:rgba(255,255,255,.78);color:#274457;font-size:10px;font-weight:1000;cursor:pointer;box-shadow:0 2px 6px rgba(20,40,60,.06)}
.v1296-step-grid button:active{transform:scale(.96);filter:brightness(.97)}
@media(max-width:520px){.v1295-count-card{min-height:126px;border-radius:14px;padding:9px 5px 7px}.v1295-count-card>span{font-size:10px}.v1295-count-card>b{font-size:35px}.v1296-step-grid{gap:4px}.v1296-step-grid button{height:26px;font-size:9px}.v1295-counter-grid[style*="--v1295-cols:4"] .v1295-count-card>span{font-size:8px}.v1295-counter-grid[style*="--v1295-cols:4"] .v1295-count-card>b{font-size:29px}.v1295-counter-grid[style*="--v1295-cols:4"] .v1296-step-grid{grid-template-columns:1fr}.v1295-counter-grid[style*="--v1295-cols:4"] .v1296-step-grid button{height:22px;font-size:8px}}


/* ===== v1.2.97 counter global tap mode ===== */
.v1297-mode-wrap{margin:0 0 12px;padding:9px 10px;border:1px solid #dfe9e2;border-radius:16px;background:linear-gradient(135deg,#f8fcf9,#ffffff);box-shadow:0 6px 18px rgba(34,70,52,.04)}
.v1297-mode-wrap>small{display:block;margin:0 0 6px;font-size:8px;letter-spacing:.12em;color:#6c8a78;font-weight:1000}
.v1297-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.v1297-mode-grid button{height:38px;border:1px solid #d7e4da;border-radius:11px;background:#fff;color:#50675a;font-size:13px;font-weight:1000;cursor:pointer;box-shadow:0 2px 7px rgba(28,55,40,.04);transition:transform .08s ease,background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease}
.v1297-mode-grid button:active{transform:scale(.96)}
.v1297-mode-grid button.active{background:#2fb86d;color:#fff;border-color:#2fb86d;box-shadow:0 5px 14px rgba(47,184,109,.22)}
.v1295-count-card.v1297-count-tap{appearance:none;-webkit-appearance:none;width:100%;cursor:pointer;min-height:112px;padding:11px 6px;border:0;text-align:center}
.v1295-count-card.v1297-count-tap:active{transform:scale(.97);filter:brightness(.97)}
.v1295-count-card.v1297-count-tap>b{margin:5px 0 2px}
.v1295-count-card.v1297-count-tap>small{font-size:7px;font-weight:900;opacity:.65;letter-spacing:.06em}
.v1296-step-grid{display:none!important}
@media(max-width:520px){.v1297-mode-wrap{margin-bottom:10px;padding:8px}.v1297-mode-grid{gap:5px}.v1297-mode-grid button{height:35px;font-size:12px}.v1295-count-card.v1297-count-tap{min-height:100px}}


/* ===== v1.2.98 counter polish + five button types ===== */
.v1295-title-row .v1288-tool-back{
  flex:none;
  border-radius:999px!important;
  padding:8px 12px!important;
}
@media(max-width:520px){
  .v1295-counter-grid[style*="--v1295-cols:5"]{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .v1295-counter-grid[style*="--v1295-cols:5"] .v1295-count-card.v1297-count-tap{
    min-height:94px;
  }
  .v1295-counter-grid[style*="--v1295-cols:5"] .v1295-count-card>span{font-size:9px}
  .v1295-counter-grid[style*="--v1295-cols:5"] .v1295-count-card>b{font-size:31px}
}


/* ===== v1.2.99 counter six buttons + new documents hub ===== */
@media(max-width:520px){
  .v1295-counter-grid[style*="--v1295-cols:6"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v1295-counter-grid[style*="--v1295-cols:6"] .v1295-count-card.v1297-count-tap{min-height:94px}
  .v1295-counter-grid[style*="--v1295-cols:6"] .v1295-count-card>span{font-size:9px}
  .v1295-counter-grid[style*="--v1295-cols:6"] .v1295-count-card>b{font-size:31px}
}

.v1299-documents-page{padding-bottom:92px}
.v1299-documents-main{max-width:760px;margin:0 auto;padding:10px 14px 26px;box-sizing:border-box}
.v1299-documents-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 2px 16px}
.v1299-documents-title>div{display:flex;flex-direction:column}
.v1299-documents-title span,.v1299-doc-detail-title span{color:#43b975;font-size:9px;font-weight:1000;letter-spacing:.16em}
.v1299-documents-title h1,.v1299-doc-detail-title h1{margin:2px 0 0;color:#173864;font-size:27px;line-height:1.1}
.v1299-documents-title p{margin:0 0 2px;color:#82909f;font-size:10px;font-weight:800}
.v1299-doc-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.v1299-doc-choice{appearance:none;-webkit-appearance:none;min-width:0;height:min(53vh,430px);min-height:330px;border:1px solid #e2e8ed;border-radius:26px;background:#fff;padding:18px;display:flex;flex-direction:column;text-align:left;cursor:pointer;box-shadow:0 12px 32px rgba(35,61,83,.08);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;overflow:hidden;position:relative}
.v1299-doc-choice:active{transform:scale(.985)}
.v1299-doc-choice:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(35,61,83,.11)}
.v1299-doc-choice.invoice{background:linear-gradient(155deg,#f5fbff 0%,#fff 48%,#eef8ff 100%);border-color:#dceaf3}
.v1299-doc-choice.contract{background:linear-gradient(155deg,#f8fff9 0%,#fff 48%,#eefaf2 100%);border-color:#dcebe1}
.v1299-doc-choice-top small{display:block;font-size:8px;letter-spacing:.16em;color:#7f9eaa;font-weight:1000;margin-bottom:5px}
.v1299-doc-choice.contract .v1299-doc-choice-top small{color:#79a388}
.v1299-doc-choice-top strong{font-size:25px;color:#173864;font-weight:1000}
.v1299-doc-choice-icon{flex:1;display:grid;place-items:center;color:#6daed2}
.v1299-doc-choice.contract .v1299-doc-choice-icon{color:#67af80}
.v1299-doc-choice-icon svg{width:min(44%,126px);height:auto;filter:drop-shadow(0 8px 16px rgba(55,85,110,.08))}
.v1299-doc-choice-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid rgba(120,145,160,.15)}
.v1299-doc-choice-foot span{max-width:68%;font-size:10px;color:#71808d;font-weight:800;line-height:1.5}
.v1299-doc-choice-foot b{font-size:11px;color:#4789b1;white-space:nowrap}
.v1299-doc-choice.contract .v1299-doc-choice-foot b{color:#398b59}

.v1299-documents-detail-main{padding-top:7px}
.v1299-doc-detail-title{display:flex;align-items:center;gap:11px;margin:4px 0 13px}
.v1299-doc-back{flex:none;border:0;border-radius:999px;background:#eef9f2;color:#218b58;padding:8px 12px;font-size:10px;font-weight:1000;cursor:pointer}
.v1299-documents-detail-main>.card,.v1299-documents-detail-main>.v092-doc-accordion,.v1299-documents-detail-main>.v095-contract-details{border:1px solid #e7ece9!important;border-radius:22px!important;background:#fff!important;box-shadow:0 8px 24px rgba(34,70,52,.055)!important;overflow:hidden}
.v1299-documents-detail-main>.card{padding:15px!important}
.v1299-documents-detail-main>.v092-doc-accordion{margin-top:11px}
.v1299-documents-detail-main .v092-doc-accordion summary{padding:14px 15px;background:#f8fbf9}
.v1299-documents-detail-main .v092-doc-body{padding:14px}
.v1299-documents-detail-main .compact-field input,.v1299-documents-detail-main .compact-field select,.v1299-documents-detail-main .compact-field textarea,.v1299-documents-detail-main .text-input{border-radius:12px!important;border-color:#dfe7e2!important;background:#fff!important}
.v1299-documents-detail-main .btn{border-radius:12px!important;min-height:42px;font-weight:1000}
.v1299-documents-detail-main .v095-contract-date-card{border-radius:15px;background:#f7fbf8;border-color:#dfeae2}
.v1299-documents-detail-main .v095-signature-box{border-radius:16px}
.v1299-documents-detail-main .v095-contract-details{margin-top:12px;padding:0}
.v1299-documents-detail-main .v095-contract-details>summary{padding:14px 15px;background:#f8fbf9;font-weight:1000;color:#315b43;cursor:pointer}

@media(max-width:520px){
  .v1299-documents-main{padding-left:10px;padding-right:10px}
  .v1299-documents-title{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:12px}
  .v1299-documents-title h1{font-size:24px}.v1299-documents-title p{font-size:9px}
  .v1299-doc-choice-grid{gap:9px}
  .v1299-doc-choice{height:54vh;min-height:315px;border-radius:21px;padding:13px}
  .v1299-doc-choice-top strong{font-size:20px}.v1299-doc-choice-top small{font-size:7px}
  .v1299-doc-choice-icon svg{width:min(62%,100px)}
  .v1299-doc-choice-foot{display:block}.v1299-doc-choice-foot span{display:block;max-width:none;font-size:8px}.v1299-doc-choice-foot b{display:block;margin-top:5px;font-size:9px}
  .v1299-doc-detail-title h1{font-size:23px}
  .v1299-documents-detail-main>.card{padding:11px!important}
}


/* ===== v1.3.00 compact invoice profile ===== */
.v1299-documents-detail-main .v1300-invoice-profile-details>summary{display:none!important}
.v1299-documents-detail-main .v1300-invoice-profile-details{margin-top:10px!important}
.v1299-documents-detail-main .v1300-invoice-profile-details .v092-doc-body{border-top:0!important;padding:10px!important}
.v1300-invoice-profile{display:block}
.v1300-invoice-columns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px;width:100%}
.v1300-invoice-column{min-width:0;border-right:1px solid #e5ebe7;padding:1px 10px 2px 2px}
.v1300-invoice-column:last-child{border-right:0;padding-right:2px;padding-left:10px}
.v1300-invoice-column h3{margin:0 0 7px;color:#315b43;font-size:13px;font-weight:1000}
.v1300-invoice-row{display:block;margin:0 0 6px;min-width:0}
.v1300-invoice-row>span{display:block;margin:0 0 2px;color:#6c7a72;font-size:8px;line-height:1.2;font-weight:1000;white-space:nowrap}
.v1299-documents-detail-main .v1300-invoice-row input,
.v1299-documents-detail-main .v1300-invoice-row select,
.v1299-documents-detail-main .v1300-invoice-row textarea{width:100%;height:32px!important;min-height:32px!important;padding:6px 8px!important;border-radius:9px!important;font-size:11px!important;box-sizing:border-box}
.v1299-documents-detail-main .v1300-invoice-row textarea{height:47px!important;min-height:47px!important;resize:none!important;line-height:1.35}
.v1299-documents-detail-main .v1300-invoice-row input[disabled]{background:#f6f8f7!important;color:#6e7a74!important;-webkit-text-fill-color:#6e7a74!important;opacity:1}
.v1300-service-hidden{display:none!important}
.v1300-invoice-profile-save{margin-top:8px;padding-top:9px;border-top:1px solid #e2e8e4;text-align:center}
.v1299-documents-detail-main .v1300-invoice-profile-save #saveInvoiceProfile{width:min(190px,72%);min-height:36px!important;height:36px;border-radius:11px!important;background:#eef9f2!important;border:0!important;color:#218b58!important;box-shadow:none!important;font-size:11px;font-weight:1000}
@media(max-width:420px){
  .v1300-invoice-columns{gap:7px}
  .v1300-invoice-column{padding-right:7px}.v1300-invoice-column:last-child{padding-left:7px}
  .v1300-invoice-column h3{font-size:12px;margin-bottom:6px}
  .v1300-invoice-row{margin-bottom:5px}
  .v1300-invoice-row>span{font-size:7.5px}
  .v1299-documents-detail-main .v1300-invoice-row input,.v1299-documents-detail-main .v1300-invoice-row select,.v1299-documents-detail-main .v1300-invoice-row textarea{height:30px!important;min-height:30px!important;padding:5px 6px!important;font-size:9.5px!important}
  .v1299-documents-detail-main .v1300-invoice-row textarea{height:43px!important;min-height:43px!important}
}


/* ===== v1.3.01 invoice two-column fix ===== */
.v1300-invoice-columns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important}
@media(max-width:520px){
  .v1300-invoice-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important}
  .v1300-invoice-column{min-width:0!important}
}

/* ===== v1.3.02 invoice basic-info flow ===== */
.v1302-basic-info-launch-wrap{margin:8px 0 12px}
.v1302-basic-info-launch{appearance:none;-webkit-appearance:none;width:100%;min-height:48px;border:1px solid #cfe8d8;border-radius:16px;background:linear-gradient(135deg,#eefaf2,#fbfffc);color:#216b3f;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:1000;cursor:pointer;box-shadow:0 7px 18px rgba(47,188,114,.07)}
.v1302-basic-info-launch b{font-size:22px;line-height:1;color:#63a77b;font-weight:700}
.v1302-basic-info-launch:active{transform:scale(.99)}
.v1302-basic-info-sheet{padding:1px 0 4px}
.v1302-basic-info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.v1302-basic-info-grid>section{min-width:0;border:1px solid #e1eae4;border-radius:16px;background:#fbfdfb;padding:11px}
.v1302-basic-info-grid h4{margin:0 0 8px;color:#315b43;font-size:12px;font-weight:1000}
.v1302-basic-info-row{padding:6px 0;border-top:1px solid #edf1ee;min-width:0}
.v1302-basic-info-row:first-of-type{border-top:0;padding-top:0}
.v1302-basic-info-row span{display:block;margin-bottom:2px;color:#7b8981;font-size:7.5px;font-weight:1000}
.v1302-basic-info-row b{display:block;color:#30483a;font-size:10.5px;line-height:1.45;font-weight:900;word-break:break-word}
.v1302-basic-edit{width:100%;margin-top:11px!important;border-radius:13px!important;background:#2fb86d!important;border-color:#2fb86d!important;color:#fff!important}
.v1302-basic-info-edit{padding:1px 0 4px}
.v1302-sheet-columns{gap:9px!important}
.v1302-basic-info-edit .v1300-invoice-column{min-width:0}
.v1302-basic-info-edit .v1300-invoice-column h3{margin:0 0 7px;color:#315b43;font-size:12px;font-weight:1000}
.v1302-basic-info-edit .v1300-invoice-row{display:block;margin:0 0 6px;min-width:0}
.v1302-basic-info-edit .v1300-invoice-row>span{display:block;margin:0 0 2px;color:#6c7a72;font-size:8px;line-height:1.2;font-weight:1000;white-space:nowrap}
.v1302-basic-info-edit .v1300-invoice-row input,
.v1302-basic-info-edit .v1300-invoice-row select,
.v1302-basic-info-edit .v1300-invoice-row textarea{width:100%;height:34px;min-height:34px;padding:6px 8px;border:1px solid #dfe7e2;border-radius:9px;background:#fff;color:#263d30;font-size:11px;box-sizing:border-box}
.v1302-basic-info-edit .v1300-invoice-row textarea{height:50px;min-height:50px;resize:none;line-height:1.35}
.v1302-basic-edit-actions{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e5ebe7}
.v1302-basic-edit-actions .btn{margin:0!important;min-height:40px!important;border-radius:12px!important;font-size:11px!important;font-weight:1000!important}
@media(max-width:420px){
  .v1302-basic-info-grid{gap:7px}
  .v1302-basic-info-grid>section{padding:9px 8px;border-radius:13px}
  .v1302-basic-info-grid h4{font-size:11px}
  .v1302-basic-info-row span{font-size:7px}.v1302-basic-info-row b{font-size:9px}
  .v1302-sheet-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important}
  .v1302-basic-info-edit .v1300-invoice-column{padding-right:7px}.v1302-basic-info-edit .v1300-invoice-column:last-child{padding-left:7px}
  .v1302-basic-info-edit .v1300-invoice-row input,.v1302-basic-info-edit .v1300-invoice-row select,.v1302-basic-info-edit .v1300-invoice-row textarea{height:31px;min-height:31px;padding:5px 6px;font-size:9.5px}
  .v1302-basic-info-edit .v1300-invoice-row textarea{height:44px;min-height:44px}
}


/* ===== v1.3.03 invoice creation compact month/date/summary ===== */
.v1303-invoice-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-top:10px}
.v1303-target-month,.v1303-fixed-meta{min-width:0;border:1px solid #e0e8e3;border-radius:13px;background:#fbfdfb;padding:9px 10px;box-sizing:border-box}
.v1303-target-month>span,.v1303-fixed-meta>span,.v1303-invoice-number>span{display:block;color:#77847c;font-size:9px;font-weight:1000;margin-bottom:4px}
.v1303-target-month input{width:100%;height:32px;border:0;background:transparent;padding:0;color:#284534;font-size:12px;font-weight:1000;outline:none;box-sizing:border-box}
.v1303-fixed-meta{display:flex;flex-direction:column;justify-content:center}
.v1303-fixed-meta strong{color:#284534;font-size:13px;font-weight:1000;line-height:1.3}
.v1303-invoice-number{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-bottom:1px solid #e2e8e4}
.v1303-invoice-number>span{margin:0}.v1303-invoice-number strong{color:#315b43;font-size:13px;font-weight:1000;letter-spacing:.04em}
.v1303-invoice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.v1303-invoice-summary>div{border:1px solid #e0e8e3;border-radius:12px;padding:10px;background:#f8fbf7;min-width:0}
.v1303-invoice-summary span{display:block;font-size:9px;color:#75827a;margin-bottom:3px;font-weight:900}
.v1303-invoice-summary strong{display:block;color:#315b43;font-size:17px;line-height:1.25;font-weight:1000;white-space:nowrap}
@media(max-width:420px){
  .v1303-invoice-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px}
  .v1303-target-month,.v1303-fixed-meta{padding:8px}
  .v1303-target-month>span,.v1303-fixed-meta>span,.v1303-invoice-number>span{font-size:7.5px}
  .v1303-target-month input{font-size:10.5px;height:28px}
  .v1303-fixed-meta strong,.v1303-invoice-number strong{font-size:10.5px}
  .v1303-invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .v1303-invoice-summary>div{padding:8px}
  .v1303-invoice-summary span{font-size:7.5px}
  .v1303-invoice-summary strong{font-size:14px}
}


/* ===== v1.3.04 invoice meta + drilldown sheets ===== */
.v1304-invoice-meta{display:flex;flex-direction:column;margin-top:10px;border-top:1px solid #e7ece9}
.v1304-meta-row{min-height:48px;display:grid;grid-template-columns:42% minmax(0,1fr);align-items:center;gap:8px;padding:7px 2px;border-bottom:1px solid #e7ece9;box-sizing:border-box}
.v1304-meta-row>span:first-child{color:#6f7d74;font-size:10px;font-weight:1000}
.v1304-fixed-row strong{font-size:13px;color:#315b43;font-weight:1000;text-align:left}
.v1304-month-control{position:relative;display:block;min-width:0}
.v1304-month-control input{width:100%;height:34px;padding:5px 30px 5px 9px;border:1px solid #d9e5dd;border-radius:10px;background:#fff;color:#315b43;font-size:12px;font-weight:1000;box-sizing:border-box}
.v1304-month-control b{position:absolute;right:9px;top:50%;transform:translateY(-54%);font-size:15px;color:#64a87d;pointer-events:none;line-height:1}
.v1304-invoice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.v1304-summary-card{position:relative;min-width:0;min-height:68px;border:1px solid #e0e8e3;border-radius:13px;padding:10px;background:#f8fbf7;text-align:left;box-sizing:border-box;color:inherit}
button.v1304-summary-card{cursor:pointer;appearance:none;font:inherit}
button.v1304-summary-card:active{transform:scale(.985)}
.v1304-summary-card>span{display:block;padding-right:18px;font-size:9px;color:#75827a;margin-bottom:5px;font-weight:900}
.v1304-summary-card>strong{display:block;color:#315b43;font-size:17px;line-height:1.25;font-weight:1000;white-space:nowrap}
.v1304-summary-card>b{position:absolute;right:10px;top:7px;color:#5ca176;font-size:19px;line-height:1;font-weight:700}
.v1304-summary-total{cursor:default;background:#f4f8f5}
.v1304-detail-list,.v1304-detail-pay,.v1304-incentive-list{display:flex;flex-direction:column;gap:0}
.v1304-detail-row,.v1304-incentive-row{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:10px;padding:11px 3px;border-bottom:1px solid #edf1ee}
.v1304-detail-row span,.v1304-incentive-row>span{color:#718078;font-size:11px;font-weight:900}
.v1304-detail-row strong{text-align:right;color:#315b43;font-size:13px}
.v1304-detail-pay-head,.v1304-detail-pay-row{display:grid;grid-template-columns:54px 58px minmax(74px,1fr) minmax(74px,1fr);gap:5px;align-items:center}
.v1304-detail-pay-head{padding:3px 3px 8px;color:#849087;font-size:8px;font-weight:1000}
.v1304-detail-pay-row{padding:10px 3px;border-bottom:1px solid #edf1ee;font-size:10px;color:#586860}
.v1304-detail-pay-row strong{text-align:right;color:#315b43;font-size:11px}
.v1304-incentive-row{grid-template-columns:48px minmax(0,1fr) auto}
.v1304-incentive-row>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.v1304-incentive-row>div strong{font-size:11px;color:#315b43;white-space:normal;word-break:break-word}
.v1304-incentive-row>div small{font-size:7px;color:#64a87d;font-weight:1000}
.v1304-incentive-row>b{font-size:12px;color:#315b43;white-space:nowrap}
.v1304-detail-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 3px 3px;color:#315b43}
.v1304-detail-total span{font-size:10px;font-weight:1000}.v1304-detail-total strong{font-size:15px;font-weight:1000}
.v1304-detail-empty{padding:22px 8px;text-align:center;color:#839087;font-size:11px}
@media(max-width:420px){
  .v1304-meta-row{grid-template-columns:40% minmax(0,1fr);min-height:45px;padding:6px 1px}.v1304-meta-row>span:first-child{font-size:9px}.v1304-fixed-row strong{font-size:11px}.v1304-month-control input{height:32px;font-size:10.5px}
  .v1304-invoice-summary{gap:7px}.v1304-summary-card{min-height:62px;padding:8px}.v1304-summary-card>span{font-size:7.5px}.v1304-summary-card>strong{font-size:14px}.v1304-summary-card>b{right:8px;top:6px;font-size:17px}
}

/* ===== v1.3.05 contract basic information ===== */
.v1305-contract-basic-card{padding:14px 15px!important}
.v1305-contract-basic-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:11px}
.v1305-contract-basic-head>div{min-width:0}.v1305-contract-basic-head span{display:block;font-size:8px;letter-spacing:.14em;font-weight:1000;color:#49ad70;margin-bottom:2px}.v1305-contract-basic-head h3{margin:0!important;font-size:18px;color:#183765}.v1305-contract-basic-head>b{flex:none;border-radius:999px;background:#eaf8ef;color:#278653;padding:5px 8px;font-size:9px}
.v1305-contract-basic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.v1305-contract-basic-field{display:flex;flex-direction:column;gap:4px;min-width:0}.v1305-contract-basic-field.wide{grid-column:1/-1}.v1305-contract-basic-field>span{font-size:9px;font-weight:950;color:#63738a}.v1305-contract-basic-field .text-input{min-width:0;height:37px;padding:7px 9px;border-radius:10px;font-size:12px}
.v1305-contract-basic-actions{display:flex;justify-content:center;border-top:1px solid #e7edf1;margin-top:11px;padding-top:10px}.v1305-contract-basic-actions .btn{width:min(260px,100%);min-height:38px;border-radius:13px;margin:0;font-size:11px}
.v1305-contract-basic-note{margin-top:7px;text-align:center;font-size:8px;line-height:1.45;color:#8793a2}
@media(max-width:420px){.v1305-contract-basic-card{padding:12px!important}.v1305-contract-basic-grid{gap:7px}.v1305-contract-basic-field .text-input{height:35px;font-size:11px}.v1305-contract-basic-head h3{font-size:17px}}


/* ===== v1.3.06 contract basic-info sheet + wage-change resign ===== */
.v1306-contract-basic-launch-card{padding:8px 10px!important}
.v1306-contract-basic-launch{width:100%;min-height:48px;border:0;border-radius:15px;background:linear-gradient(135deg,#eef9f2,#f9fffb);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:#255c3e;text-align:left;cursor:pointer}
.v1306-contract-basic-launch>span{display:flex;flex-direction:column;gap:2px}.v1306-contract-basic-launch small{font-size:7px;letter-spacing:.14em;color:#55ad76;font-weight:1000}.v1306-contract-basic-launch strong{font-size:13px}.v1306-contract-basic-launch>b{font-size:23px;color:#62a77a;line-height:1}
.v1306-contract-basic-sheet{display:flex;flex-direction:column;gap:13px}.v1306-contract-basic-confirm{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v1306-contract-basic-confirm>div{background:#f7faf8;border:1px solid #e3ebe6;border-radius:13px;padding:10px;min-width:0}.v1306-contract-basic-confirm>div.wide{grid-column:1/-1}.v1306-contract-basic-confirm span{display:block;font-size:8px;font-weight:950;color:#718078;margin-bottom:4px}.v1306-contract-basic-confirm strong{display:block;font-size:12px;color:#253d31;line-height:1.45;word-break:break-word}
.v1306-contract-basic-edit{align-self:center;width:min(240px,100%);border-radius:13px!important;background:#eef9f2!important;color:#268153!important}.v1306-contract-basic-sheet-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;border-top:1px solid #e8eeea;padding-top:11px}.v1306-contract-basic-sheet-actions .btn{margin:0;min-height:40px;border-radius:12px}
.v1306-wage-change-alert{margin:0 0 12px;border:1px solid #f3d3a7;border-radius:19px;background:linear-gradient(135deg,#fff8e9,#fffdf8);padding:13px 14px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px 11px;box-shadow:0 8px 22px rgba(127,82,18,.07)}
.v1306-wage-change-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eda94e;color:#fff;font-weight:1000;font-size:18px;grid-row:1}
.v1306-wage-change-copy{min-width:0;display:flex;flex-direction:column;gap:4px;align-self:center}.v1306-wage-change-copy strong{font-size:12px;line-height:1.45;color:#80561e}.v1306-wage-change-copy span{font-size:9px;font-weight:900;color:#a8793b}
.v1306-new-contract-btn{grid-column:1/-1;border:0;border-radius:13px;background:#e99c38;color:#fff;min-height:41px;padding:9px 12px;font-size:11px;font-weight:1000;cursor:pointer;box-shadow:0 5px 13px rgba(181,112,25,.16)}.v1306-new-contract-btn:disabled{opacity:.55;cursor:wait}
@media(max-width:420px){.v1306-contract-basic-confirm{gap:7px}.v1306-contract-basic-confirm>div{padding:9px}.v1306-wage-change-alert{padding:11px 12px;border-radius:17px}.v1306-wage-change-copy strong{font-size:11px}}

/* ===== v1.3.07 contract confirmation + re-sign sheet + print flow ===== */
.v1307-contract-launch-card{padding:8px 10px!important}
.v1307-contract-launch{width:100%;min-height:48px;border:0;border-radius:15px;background:linear-gradient(135deg,#f4f7ff,#fbfcff);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:#31537b;text-align:left;cursor:pointer}
.v1307-contract-launch>span{display:flex;flex-direction:column;gap:2px}.v1307-contract-launch small{font-size:7px;letter-spacing:.14em;color:#6d91bb;font-weight:1000}.v1307-contract-launch strong{font-size:13px}.v1307-contract-launch>b{font-size:23px;color:#7595b9;line-height:1}
.v1307-contract-sheet{display:flex;flex-direction:column;gap:10px}.v1307-contract-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:14px;background:#eef7f1;padding:10px 12px;color:#315b43}.v1307-contract-sheet-top span{font-size:9px;font-weight:950}.v1307-contract-sheet-top strong{font-size:12px;font-weight:1000;white-space:nowrap}
.v1307-contract-sheet-body{border:1px solid #e4e9e6;border-radius:16px;background:#fff;padding:13px 12px;color:#25352c;font-size:11px;line-height:1.7}.v1307-contract-sheet-body .v095-contract-intro{font-size:11px}.v1307-contract-sheet-body .v095-contract-clause{font-size:10.5px}.v1307-contract-sheet-body .v095-contract-parties{margin-top:18px}.v1307-contract-sheet-body .v095-signature-print{display:none!important}
.v1307-contract-resign-warning{border:1px solid #efb2b2!important;background:#fff2f2!important;color:#a12d2d!important;border-radius:15px;padding:13px!important;display:flex!important;flex-direction:column;gap:6px;line-height:1.5}.v1307-contract-resign-warning strong{font-size:12px;color:#a12d2d}.v1307-contract-resign-warning small{font-size:8.5px;color:#b66666;font-weight:850}.v1307-contract-resign-warning>span{font-size:9px;color:#a84a4a;font-weight:950}.v1307-contract-resign-warning button{margin-top:4px;border:0;border-radius:12px;min-height:40px;background:#d94747;color:#fff;font-size:11px;font-weight:1000;cursor:pointer;box-shadow:0 5px 14px rgba(180,45,45,.16)}
.v1307-renew-sign{margin-top:12px;border-top:1px solid #e6ebe8;padding-top:13px;display:flex;flex-direction:column;gap:9px}.v1307-renew-sign-head{display:flex;flex-direction:column;gap:2px}.v1307-renew-sign-head strong{font-size:14px;color:#243d30}.v1307-renew-sign-head span{font-size:9px;color:#738078;font-weight:800}.v1307-renew-sign canvas{width:100%;height:132px;border:1px solid #d8e1dc;border-radius:14px;background:#fff;touch-action:none;box-sizing:border-box}.v1307-sign-clear{align-self:flex-end;border:0;border-radius:999px;background:#eef3f0;color:#5d7065;padding:7px 10px;font-size:9px;font-weight:950;cursor:pointer}.v1307-renew-agree{display:flex;align-items:flex-start;gap:8px;border-radius:12px;background:#f6f9f7;padding:10px;font-size:10px;color:#43584b;font-weight:850}.v1307-renew-agree input{margin-top:1px}.v1307-renew-submit{border:0;border-radius:14px;min-height:45px;background:#d94747;color:#fff;font-size:12px;font-weight:1000;cursor:pointer}.v1307-renew-submit:disabled{opacity:.55;cursor:wait}
.v1307-print-sheet{display:flex;flex-direction:column;gap:12px}.v1307-print-note{border-radius:13px;background:#eef7f1;color:#41604e;padding:10px 12px;font-size:10px;line-height:1.6;font-weight:800}.v1307-print-mini{max-height:42vh;overflow:auto;border:1px solid #e4e9e6;border-radius:15px;padding:8px;background:#fafcfb}.v1307-print-mini .v1307-contract-sheet-top{display:none}.v1307-print-mini .v1307-contract-sheet-body{border:0;padding:4px;background:transparent;font-size:9px}.v1307-print-action{border:0;border-radius:14px;min-height:44px;background:#315b43;color:#fff;font-size:12px;font-weight:1000;cursor:pointer}
@media(max-width:420px){.v1307-contract-sheet-body{padding:11px 10px;font-size:10px}.v1307-contract-sheet-body .v095-contract-clause{font-size:9.5px}.v1307-contract-resign-warning strong{font-size:11px}.v1307-renew-sign canvas{height:118px}}


/* ===== v1.3.08 submitted contract signature in confirmation sheet ===== */
.v1307-contract-sheet.has-signature .v095-signature-print{
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:64px;
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #e1e9e4;
  border-radius:12px;
  background:#f8fbf9;
}
.v1307-contract-sheet.has-signature .v095-signature-print>span{
  flex:none;
  font-size:10px;
  font-weight:950;
  color:#53675b;
}
.v1307-contract-sheet.has-signature .v095-signature-print img{
  display:block;
  width:auto;
  max-width:min(220px,70%);
  max-height:72px;
  object-fit:contain;
}
@media(max-width:420px){
  .v1307-contract-sheet.has-signature .v095-signature-print{min-height:56px;padding:8px 9px}
  .v1307-contract-sheet.has-signature .v095-signature-print img{max-width:72%;max-height:62px}
}

/* ===== v1.3.09 submitted signature + reliable contract print preview ===== */
/* The old embedded signature row is hidden in the compact confirmation view.
   A dedicated saved-signature card below is used instead. */
.v1307-contract-sheet-body .v095-signature-print{display:none!important}
.v1309-saved-signature{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid #e3ebe6;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.v1309-saved-signature-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.v1309-saved-signature-head span{font-size:7px;letter-spacing:.14em;font-weight:1000;color:#63a47a}
.v1309-saved-signature-head strong{font-size:11px;color:#30493a}
.v1309-saved-signature-image{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dde7e0;
  border-radius:13px;
  background:#fff;
  padding:8px 10px;
  overflow:hidden;
}
.v1309-saved-signature-image img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:96px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Build the print document before the user presses the final print button.
   Keeping it laid out off-screen prevents Chromium from snapshotting a
   just-created display:none node as a blank print preview. */
html.v095-printing-contract body > #v095ContractPrintRoot.v1309-print-ready,
body > #v095ContractPrintRoot.v1309-print-ready{
  display:block!important;
  position:absolute!important;
  left:-100000px!important;
  top:0!important;
  width:210mm!important;
  min-height:297mm!important;
  background:#fff!important;
  pointer-events:none!important;
}
@media print{
  html.v095-printing-contract body > #v095ContractPrintRoot.v1309-print-ready{
    display:block!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    min-height:0!important;
    pointer-events:auto!important;
    visibility:visible!important;
    opacity:1!important;
  }
  html.v095-printing-contract #v095ContractPrintRoot.v1309-print-ready,
  html.v095-printing-contract #v095ContractPrintRoot.v1309-print-ready *{
    visibility:visible!important;
  }
  html.v095-printing-contract #v095ContractPrintRoot.v1309-print-ready .v095-signature-print{
    display:flex!important;
  }
}
@media(max-width:420px){
  .v1309-saved-signature-image{min-height:70px;padding:7px 8px}
  .v1309-saved-signature-image img{max-height:82px!important}
}
/* v1.3.09: prevent the legacy inline signature from duplicating the dedicated saved-signature card. */
.v1307-contract-sheet.has-signature .v1307-contract-sheet-body .v095-signature-print{display:none!important}


/* ===== v1.3.11 new-home settings + default/dark mode ===== */
.v1311-settings-main{padding:12px 16px 98px;max-width:760px;margin:0 auto}
.v1311-page-title{margin:3px 0 12px}.v1311-page-title>span{display:block;color:#4bb878;font-size:9px;font-weight:1000;letter-spacing:.16em}.v1311-page-title h1{margin:2px 0 0;color:#17375f;font-size:27px;line-height:1.1}
.v1311-account-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.55fr);gap:8px;padding:11px;border:1px solid #e3ebf1;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(35,61,83,.06)}
.v1311-account-card>div{min-width:0;padding:8px 10px;border-radius:14px;background:#f7fafc}.v1311-account-card>div.wide{grid-column:1/-1}.v1311-account-card small{display:block;color:#8190a2;font-size:8px;font-weight:900;letter-spacing:.06em}.v1311-account-card strong{display:block;margin-top:4px;color:#203b5e;font-size:13px;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1311-settings-block{margin-top:12px;padding:13px;border:1px solid #e3ebf1;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(35,61,83,.05)}
.v1311-block-title{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:9px}.v1311-block-title strong{color:#24405f;font-size:13px}.v1311-block-title small{color:#8c99a8;font-size:8px;text-align:right}
.v1311-version-card{border-radius:16px;background:#f6faf7;padding:11px}.v1311-version-top{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.v1311-version-top small{display:block;color:#6a8e76;font-size:8px;font-weight:900}.v1311-version-top strong{display:block;margin-top:2px;color:#21633e;font-size:22px;line-height:1}.v1311-version-top>span{color:#8d9b91;font-size:9px;font-weight:800}.v1311-version-items{margin:9px 0 8px}.v1311-version-items p{margin:4px 0;color:#5a6e61;font-size:9px;line-height:1.5;font-weight:700}
.v1311-row-button{appearance:none;-webkit-appearance:none;width:100%;min-height:56px;margin-top:12px;border:1px solid #dfe9e3;border-radius:17px;background:#fff;color:#294a38;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 7px 20px rgba(35,61,83,.05);cursor:pointer;text-align:left}.v1311-row-button.compact{min-height:40px;margin-top:7px;background:transparent;border:0;border-top:1px solid #deebe2;border-radius:0;padding:8px 2px 0;box-shadow:none}.v1311-row-button>span{min-width:0;display:flex;flex-direction:column}.v1311-row-button>span>small{font-size:7px;color:#64aa7d;font-weight:1000;letter-spacing:.15em}.v1311-row-button>span>strong,.v1311-row-button>span:not(:has(strong)){font-size:13px;font-weight:1000}.v1311-row-button>b{font-size:22px;color:#75a486;line-height:1}
.v1311-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v1311-mode-grid button{height:58px;border:1px solid #dfe7ed;border-radius:15px;background:#f8fafc;color:#576b7f;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;cursor:pointer}.v1311-mode-grid button>span{font-size:18px}.v1311-mode-grid button.active{border-color:#66bd85;background:#edf9f1;color:#247346;box-shadow:inset 0 0 0 1px #66bd85}
.v1311-logout{width:100%;height:43px;margin-top:18px;border:1px solid #e9d7d7;border-radius:15px;background:#fff8f8;color:#a84f4f;font-weight:900;cursor:pointer}
.v1311-history-list{display:flex;flex-direction:column;gap:9px}.v1311-history-item{padding:11px;border:1px solid #e2e9e4;border-radius:15px;background:#fbfdfb}.v1311-history-item>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.v1311-history-item strong{color:#28563b;font-size:13px}.v1311-history-item small{color:#8a9990;font-size:8px}.v1311-history-item p{margin:5px 0 0;color:#5d6b62;font-size:9px;line-height:1.55}
.v1311-basic-confirm{display:flex;flex-direction:column;gap:8px}.v1311-basic-row{padding:11px 12px;border:1px solid #e1e9e4;border-radius:14px;background:#fafcfb}.v1311-basic-row span{display:block;color:#7d8d82;font-size:8px;font-weight:900}.v1311-basic-row strong{display:block;margin-top:3px;color:#263f31;font-size:13px;word-break:break-all}.v1311-basic-row small{display:block;margin-top:4px;color:#9aa49e;font-size:7.5px}.v1311-primary{width:100%;height:42px;border:0;border-radius:14px;background:#39ad6b;color:#fff;font-weight:1000;cursor:pointer}
.v1311-basic-edit{display:flex;flex-direction:column;gap:10px}.v1311-basic-edit section{padding:11px;border:1px solid #e1e9e4;border-radius:15px;background:#fafcfb}.v1311-basic-edit h4{margin:0 0 7px;color:#2c4938;font-size:12px}.v1311-basic-edit input{width:100%;height:39px;margin:0 0 7px;border:1px solid #d9e4dd;border-radius:11px;background:#fff;padding:0 10px;color:#24372c;font-size:12px;box-sizing:border-box}.v1311-basic-edit button{width:100%;height:38px;border:0;border-radius:11px;background:#e8f6ed;color:#227247;font-weight:900;cursor:pointer}

@media(max-width:420px){.v1311-settings-main{padding:9px 10px 92px}.v1311-page-title h1{font-size:24px}.v1311-account-card,.v1311-settings-block{border-radius:17px}.v1311-account-card{grid-template-columns:minmax(0,1fr) 88px;gap:6px;padding:8px}.v1311-account-card>div{padding:7px 8px}.v1311-block-title{align-items:flex-start;flex-direction:column;gap:2px}.v1311-mode-grid button{height:52px}.v1311-row-button{min-height:52px}}

/* dark mode is limited to the new-home experience */
html[data-ayukone-mode="dark"] body.v1250-home-preview-active,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active #app,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active #main{background:#11161a!important;color:#edf2ef!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-home{background:#11161a!important;color:#edf2ef!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-home-head{background:#171d21!important;border-color:#2a343a!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-logo-wrap strong,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-user-name,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active h1,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active h2,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active h3,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active h4{color:#f1f6f3!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-logo-wrap small,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-notice-copy small,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-notice-copy strong{color:#aebcc4!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-bottom-nav{background:rgba(20,26,30,.97)!important;border-top-color:#2c373e!important;box-shadow:0 -8px 26px rgba(0,0,0,.26)!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-bottom-nav button{color:#9eabb3!important}html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-bottom-nav button.active{color:#71d39a!important}
html[data-ayukone-mode="dark"] .v1250-sheet-backdrop{background:rgba(0,0,0,.62)!important}html[data-ayukone-mode="dark"] .v1250-sheet{background:#1a2126!important;color:#edf3ef!important;border-color:#303b42!important}html[data-ayukone-mode="dark"] .v1250-sheet-head{border-color:#303b42!important}html[data-ayukone-mode="dark"] .v1250-sheet-head strong{color:#f1f5f2!important}html[data-ayukone-mode="dark"] .v1250-sheet-close{background:#273139!important;color:#dce5df!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active input,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active select,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active textarea,
html[data-ayukone-mode="dark"] .v1250-sheet input,
html[data-ayukone-mode="dark"] .v1250-sheet select,
html[data-ayukone-mode="dark"] .v1250-sheet textarea{background:#20292f!important;color:#edf3ef!important;border-color:#39464f!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active input::placeholder,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active textarea::placeholder{color:#87949c!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-summary-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-project-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-shift-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1250-minigame-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1270-project-form-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1270-entry-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1279-menu-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1279-manual-article,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1284-create-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1284-reminder-item,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1290-notebook-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1295-board,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1299-doc-choice,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-account-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-settings-block,
html[data-ayukone-mode="dark"] .v1311-history-item,
html[data-ayukone-mode="dark"] .v1311-basic-row,
html[data-ayukone-mode="dark"] .v1311-basic-edit section{background:#1a2126!important;border-color:#303b42!important;color:#edf3ef!important;box-shadow:0 10px 28px rgba(0,0,0,.16)!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1270-select-shell,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1290-saved-trigger,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1297-mode-wrap,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-version-card,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-account-card>div{background:#20292f!important;border-color:#39464f!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-account-card strong,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-block-title strong,
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-version-top strong,
html[data-ayukone-mode="dark"] .v1311-basic-row strong,
html[data-ayukone-mode="dark"] .v1311-basic-edit h4,
html[data-ayukone-mode="dark"] .v1311-history-item strong{color:#e8f5ed!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-version-items p,
html[data-ayukone-mode="dark"] .v1311-history-item p{color:#b4c1b9!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-mode-grid button{background:#20292f!important;border-color:#39464f!important;color:#b6c1c8!important}html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-mode-grid button.active{background:#1e3a2b!important;border-color:#5cb77d!important;color:#8de2ac!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-row-button{background:#1a2126!important;border-color:#303b42!important;color:#d9ebe0!important}html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-row-button.compact{background:transparent!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-logout{background:#2a1d20!important;border-color:#57343b!important;color:#f1a3ae!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1278-tools-art img{filter:brightness(.72) contrast(.95)!important}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1299-doc-choice.invoice{background:linear-gradient(145deg,#19232a,#202b33)!important}html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1299-doc-choice.contract{background:linear-gradient(145deg,#20221b,#2a2b20)!important}

.v1311-recovery-note{margin:0 0 10px;padding:10px 12px;border:1px solid #cfe4ff;border-radius:14px;background:#f0f7ff;color:#2e5f91;font-size:9px;font-weight:800;line-height:1.6}
html[data-ayukone-mode="dark"] body.v1250-home-preview-active .v1311-recovery-note{background:#172638!important;border-color:#31506f!important;color:#a9d4ff!important}


/* ===== v1.3.12 dark mode navy-text readability ===== */
html[data-ayukone-mode="dark"] body.v1250-home-preview-active :is(
  .v1250-progress,
  .v1250-lower-title strong,
  .v1250-manage-card strong,
  .v1250-detail-row strong,
  .v1250-detail-row-right b,
  .v1250-result-tr,
  .v1250-result-tr strong,
  .v1250-month-calendar h4,
  .v1250-cal-cell b,
  .v1251-ann-title,
  .v1251-ann-item-title,
  .v1258-day-title,
  .v1270-select-shell select,
  .v1270-entry-copy strong,
  .v1272-recorded-row,
  .v1279-manual-article,
  .v1279-article-head h2,
  .v1290-title-row h1,
  .v1290-title-field input,
  .v1295-title-row h1,
  .v1295-board-head strong,
  .v1299-documents-title h1,
  .v1299-doc-detail-title h1,
  .v1299-doc-choice-top strong,
  .v1299-documents-detail-main .v095-contract-details>summary,
  .v1300-invoice-column h3,
  .v1302-basic-info-grid h4,
  .v1302-basic-info-edit .v1300-invoice-column h3,
  .v1303-invoice-number strong,
  .v1303-invoice-summary strong,
  .v1304-fixed-row strong,
  .v1304-month-control input,
  .v1304-summary-card>strong,
  .v1304-detail-row strong,
  .v1304-detail-pay-row strong,
  .v1304-incentive-row>div strong,
  .v1304-incentive-row>b,
  .v1304-detail-total,
  .v1305-contract-basic-head h3,
  .v1306-contract-basic-confirm strong,
  .v1307-contract-launch,
  .v1307-contract-sheet-top,
  .v1307-contract-sheet-body,
  .v1307-renew-sign-head strong,
  .v1311-page-title h1
){color:#e7ecef!important}

html[data-ayukone-mode="dark"] body.v1250-home-preview-active :is(
  .v1250-card-sub,
  .v1250-detail-row span,
  .v1250-result-th,
  .v1250-cal-head span,
  .v1279-manual-article p,
  .v1279-manual-article li,
  .v1295-board-actions button,
  .v1304-meta-row>span:first-child,
  .v1304-detail-row span,
  .v1304-detail-pay-row,
  .v1306-contract-basic-confirm span,
  .v1307-renew-sign-head span
){color:#aeb9c0!important}

html[data-ayukone-mode="dark"] body.v1250-home-preview-active :is(
  .v1250-detail-row,
  .v1250-result-th,
  .v1250-cal-cell,
  .v1272-recorded-row,
  .v1304-summary-card,
  .v1306-contract-basic-confirm>div,
  .v1307-contract-sheet-top,
  .v1307-contract-sheet-body
){border-color:#344049!important}

html[data-ayukone-mode="dark"] body.v1250-home-preview-active :is(
  .v1250-detail-row,
  .v1250-result-th,
  .v1250-cal-cell,
  .v1272-recorded-row,
  .v1304-summary-card,
  .v1306-contract-basic-confirm>div,
  .v1307-contract-sheet-top,
  .v1307-contract-sheet-body
){background:#20292f!important}


/* ===== v1.3.13 dark mode comprehensive readability fix ===== */
/* Keep this block intentionally less dependent on page body classes so PWA/mobile views stay consistent. */
html[data-ayukone-mode="dark"] :is(
  .v1250-card-title,
  .v1250-card-title strong,
  .v1250-card-title>b,
  .v1250-card-value,
  .v1250-card-value small,
  .v1250-section-head strong,
  .v1250-project-metrics small,
  .v1250-project-metrics b,
  .v1250-project-metrics span,
  .v1250-progress,
  .v1250-lower-title strong,
  .v1250-week-label,
  .v1250-manage-card strong,
  .v1250-manage-card span,
  .v1270-project-intro h2,
  .v1270-project-intro span,
  .v1270-project-intro p,
  .v1272-section-head strong,
  .v1270-field-block>label,
  .v1270-select-shell select,
  .v1270-select-shell>span,
  .v1272-recorded-row,
  .v1272-recorded-project em,
  .v1272-recorded-num,
  .v1299-documents-title h1,
  .v1299-documents-title p,
  .v1299-doc-choice-top strong,
  .v1299-doc-choice-foot span,
  .v1299-doc-detail-title h1,
  .v1295-title-row h1,
  .v1295-board-head strong
){color:#e7ecef!important}

html[data-ayukone-mode="dark"] :is(
  .v1250-card-sub,
  .v1272-recorded-head,
  .v1272-recorded-empty,
  .v1270-field-block>small,
  .v1299-doc-choice-top small,
  .v1299-documents-title span,
  .v1299-doc-detail-title span
){color:#aeb9c0!important}

html[data-ayukone-mode="dark"] .v1250-project-metrics>div{
  background:#20292f!important;
  border:1px solid #344049!important;
  box-shadow:none!important;
}
html[data-ayukone-mode="dark"] .v1272-recorded-head{
  background:#20292f!important;
  border-color:#344049!important;
}
html[data-ayukone-mode="dark"] .v1272-recorded-table{
  border-color:#344049!important;
  background:#1a2126!important;
}
html[data-ayukone-mode="dark"] .v1270-select-shell select{
  background:#20292f!important;
  border-color:#39464f!important;
}

/* The slogan masks the old text baked into the image. Match the dimmed white image area instead of using pure white. */
html[data-ayukone-mode="dark"] .v1293-tools-slogan{
  background:linear-gradient(90deg,rgba(184,184,184,0),rgba(184,184,184,.96) 14%,rgba(184,184,184,.96) 100%)!important;
  color:#384047!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
html[data-ayukone-mode="dark"] .v1293-tools-slogan b{filter:saturate(.78) brightness(.82)}

/* Explicit mobile overrides: these used to inherit older navy declarations on some installed PWAs. */
@media(max-width:640px){
  html[data-ayukone-mode="dark"] .v1299-doc-choice-top strong,
  html[data-ayukone-mode="dark"] .v1299-documents-title h1,
  html[data-ayukone-mode="dark"] .v1250-card-title strong,
  html[data-ayukone-mode="dark"] .v1250-card-value,
  html[data-ayukone-mode="dark"] .v1250-section-head strong,
  html[data-ayukone-mode="dark"] .v1272-section-head strong,
  html[data-ayukone-mode="dark"] .v1270-field-block>label{color:#eef2f4!important}
}


/* ===== v1.3.16 confirmed-shift correction requests ===== */
.v1316-correction-cell{cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px rgba(73,139,210,.12)}
.v1316-correction-cell:hover{box-shadow:inset 0 0 0 2px rgba(73,139,210,.24)}
.v1316-correction-label{display:block!important;margin-top:3px!important;font-size:6.5px!important;line-height:1!important;color:#3379bd!important;font-weight:1000!important;white-space:nowrap}
.v1316-correction-pending{background:#f2f7ff!important;box-shadow:inset 0 0 0 1px #b8d8f7!important}.v1316-correction-pending .v1316-correction-label{color:#176bb6!important}
.v1316-correction-form{display:flex;flex-direction:column;gap:12px}.v1316-current-shift{padding:11px 12px;border-radius:15px;background:#f1f7ff;border:1px solid #d7e7f8}.v1316-current-shift span,.v1316-current-shift small{display:block;color:#6d8198;font-size:8px;font-weight:900}.v1316-current-shift strong{display:block;margin:4px 0;color:#244a74;font-size:17px}.v1316-correction-times{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v1316-correction-times label,.v1316-correction-reason{display:flex;flex-direction:column;gap:5px}.v1316-correction-times span,.v1316-correction-reason>span{font-size:9px;font-weight:1000;color:#52677d}.v1316-correction-times input,.v1316-correction-reason textarea{width:100%;box-sizing:border-box;border:1px solid #d7e2ec;border-radius:12px;background:#fff;color:#203b5e;padding:10px;font:inherit}.v1316-correction-reason textarea{resize:vertical}.v1316-correction-note{padding:9px 10px;border-radius:12px;background:#fff8e9;color:#7c622e;font-size:9px;font-weight:800;line-height:1.55}.v1316-correction-status{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v1316-correction-status>div{padding:10px;border-radius:13px;background:#f7fafc;border:1px solid #e1e8ed}.v1316-correction-status>div.wide,.v1316-correction-status>p,.v1316-correction-status>button{grid-column:1/-1}.v1316-correction-status span{display:block;color:#8190a0;font-size:8px;font-weight:900}.v1316-correction-status strong{display:block;margin-top:3px;color:#263f5b;font-size:12px;white-space:pre-wrap}.v1316-correction-status>p{margin:2px 0 0;color:#6c7d8e;font-size:9px;line-height:1.55}.v1316-cancel-request{height:39px;border:1px solid #efcece;border-radius:12px;background:#fff7f7;color:#b25353;font-weight:900;cursor:pointer}

/* ===== v1.3.16 settings push + notification sound ===== */
.v1316-push-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-radius:14px;background:#f7fafc;border:1px solid #e2e9ee}.v1316-push-toggle-row>div{min-width:0}.v1316-push-toggle-row strong{display:block;color:#29445f;font-size:11px}.v1316-push-toggle-row small{display:block;margin-top:3px;color:#8694a1;font-size:8px;line-height:1.35}.v1316-push-toggle{position:relative;flex:none;width:47px;height:27px;border:0;border-radius:999px;background:#c9d1d8;padding:3px;cursor:pointer;transition:.18s}.v1316-push-toggle span{display:block;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.15);transition:.18s}.v1316-push-toggle.active{background:#45b876}.v1316-push-toggle.active span{transform:translateX(20px)}.v1316-push-toggle:disabled{opacity:.45;cursor:not-allowed}.v1316-sound-setting{margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.v1316-sound-setting label{display:flex;flex-direction:column;gap:4px}.v1316-sound-setting label>span{font-size:8px;color:#788999;font-weight:900}.v1316-sound-setting select{height:38px;border:1px solid #dce5ea;border-radius:11px;background:#fff;color:#2d455d;padding:0 9px;font-weight:800}.v1316-sound-setting>div{display:flex;gap:5px}.v1316-sound-setting button{height:38px;border:0;border-radius:11px;padding:0 10px;background:#edf7f0;color:#2d7950;font-size:9px;font-weight:900;cursor:pointer}
html[data-ayukone-mode="dark"] .v1316-correction-cell{box-shadow:inset 0 0 0 1px rgba(110,170,226,.22)}html[data-ayukone-mode="dark"] .v1316-correction-pending{background:#172739!important;box-shadow:inset 0 0 0 1px #345a7e!important}html[data-ayukone-mode="dark"] .v1316-correction-label{color:#93c7f5!important}html[data-ayukone-mode="dark"] .v1316-current-shift,html[data-ayukone-mode="dark"] .v1316-correction-status>div,html[data-ayukone-mode="dark"] .v1316-push-toggle-row{background:#20292f!important;border-color:#39464f!important}html[data-ayukone-mode="dark"] .v1316-current-shift strong,html[data-ayukone-mode="dark"] .v1316-correction-status strong,html[data-ayukone-mode="dark"] .v1316-push-toggle-row strong{color:#e7ecef!important}html[data-ayukone-mode="dark"] .v1316-correction-times span,html[data-ayukone-mode="dark"] .v1316-correction-reason>span,html[data-ayukone-mode="dark"] .v1316-current-shift span,html[data-ayukone-mode="dark"] .v1316-current-shift small,html[data-ayukone-mode="dark"] .v1316-correction-status span,html[data-ayukone-mode="dark"] .v1316-correction-status>p,html[data-ayukone-mode="dark"] .v1316-push-toggle-row small,html[data-ayukone-mode="dark"] .v1316-sound-setting label>span{color:#aeb9c1!important}html[data-ayukone-mode="dark"] .v1316-correction-times input,html[data-ayukone-mode="dark"] .v1316-correction-reason textarea,html[data-ayukone-mode="dark"] .v1316-sound-setting select{background:#151c20!important;border-color:#39464f!important;color:#edf2f5!important}html[data-ayukone-mode="dark"] .v1316-correction-note{background:#31291b!important;color:#e9cc8a!important}html[data-ayukone-mode="dark"] .v1316-sound-setting button{background:#1e3a2b!important;color:#8de2ac!important}
@media(max-width:420px){.v1316-sound-setting{grid-template-columns:1fr}.v1316-sound-setting>div{display:grid;grid-template-columns:1fr 1fr}.v1316-sound-setting button{width:100%}.v1316-correction-label{font-size:6px!important}}


/* ===== v1.3.17 Konemaru guide page ===== */
.v1317-konemaru-main{padding:12px 16px 100px;max-width:760px;margin:0 auto;box-sizing:border-box}
.v1317-konemaru-title-row{display:flex;align-items:center;gap:12px;margin:4px 0 14px}
.v1317-konemaru-title-row>div{min-width:0}.v1317-konemaru-title-row>div>span{display:block;color:#43b975;font-size:8px;font-weight:1000;letter-spacing:.16em}
.v1317-konemaru-title-row h1{margin:2px 0 0;color:#17375f;font-size:25px;line-height:1.1}
.v1317-konemaru-back{flex:none;border-radius:999px!important;padding:8px 12px!important;white-space:nowrap}
.v1317-konemaru-guide{margin:0;border:1px solid #e2ebf1;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(28,55,77,.08)}
.v1317-konemaru-guide img{display:block;width:100%;height:auto;margin:0 auto}
.v1317-konemaru-entry{margin-top:10px}
@media(max-width:420px){
  .v1317-konemaru-main{padding:9px 10px 92px}.v1317-konemaru-title-row{gap:8px;margin-bottom:10px;align-items:flex-start;flex-direction:column}.v1317-konemaru-title-row h1{font-size:22px}.v1317-konemaru-guide{border-radius:16px}
}
html[data-ayukone-mode="dark"] .v1317-konemaru-title-row h1{color:#e7ecef!important}
html[data-ayukone-mode="dark"] .v1317-konemaru-guide{background:#fff!important;border-color:#344149!important;box-shadow:0 12px 34px rgba(0,0,0,.25)!important}

/* ===== v1.3.18 new-home mini game hub ===== */
.v1318-mini-hub-active{background:#f6f8fc}
.v1318-page{min-height:100dvh;padding-bottom:88px;background:linear-gradient(180deg,#f8fbff 0,#f6f8fc 44%,#f8fafc 100%);color:#183765}
.v1318-head{width:min(760px,100%);margin:0 auto;padding:22px 18px 8px;display:flex;align-items:flex-start;gap:13px;box-sizing:border-box}
.v1318-back{flex:none;border:0;border-radius:999px;background:#edf7f1;color:#248454;padding:9px 13px;font-size:11px;font-weight:1000;cursor:pointer;box-shadow:none}
.v1318-title span{display:block;color:#7688a3;font-size:9px;font-weight:1000;letter-spacing:.16em;margin-bottom:3px}.v1318-title h1{margin:0;color:#183765;font-size:27px;line-height:1.08;font-weight:1000}.v1318-title p{margin:5px 0 0;color:#7b8a9f;font-size:11px;font-weight:800}
.v1318-main{width:min(760px,100%);margin:0 auto;padding:12px 18px 30px;box-sizing:border-box}
.v1318-game-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin:8px 0 12px!important}
.v1318-game-card{position:relative;min-height:252px;border:0;border-radius:25px;padding:0;overflow:hidden;text-align:left;cursor:pointer;box-shadow:0 13px 30px rgba(35,60,95,.09);transition:transform .15s ease,box-shadow .15s ease;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;color:#183765}
.v1318-game-card:active{transform:scale(.985)}.v1318-game-card:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}
.v1318-game-card.typing{background:linear-gradient(145deg,#e8f7ff 0%,#f7fcff 58%,#fff 100%)}.v1318-game-card.quest{background:linear-gradient(145deg,#eee9ff 0%,#fbf9ff 58%,#fff 100%)}
.v1318-game-art{position:absolute;inset:0 0 auto;height:132px;overflow:hidden}.v1318-game-art:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-22px;top:-24px;background:rgba(255,255,255,.55)}
.v1318-phone-icon{position:absolute;left:21px;top:27px;font-size:52px;transform:rotate(-8deg);filter:drop-shadow(0 8px 10px rgba(26,94,139,.12))}.v1318-keyboard{position:absolute;right:23px;top:55px;font-size:42px;filter:drop-shadow(0 8px 10px rgba(26,94,139,.1))}
.v1318-map-icon{position:absolute;left:18px;top:25px;font-size:58px;filter:drop-shadow(0 8px 10px rgba(73,56,143,.12))}.v1318-chest-icon{position:absolute;right:21px;top:57px;font-size:42px;filter:drop-shadow(0 8px 10px rgba(73,56,143,.12))}
.v1318-game-copy{position:relative;z-index:2;padding:18px 18px 20px}.v1318-game-copy small{display:block;font-size:7px;letter-spacing:.14em;font-weight:1000;color:#6e87a5;margin-bottom:5px}.v1318-game-copy strong{display:block;font-size:22px;line-height:1.05;font-weight:1000;color:#183765}.v1318-game-copy p{margin:7px 26px 0 0;color:#64758e;font-size:9px;line-height:1.4;font-weight:800}.v1318-game-card>b{position:absolute;right:16px;bottom:18px;font-size:27px;font-weight:500;color:#66809e}
.v1318-guide{width:100%;border:1px solid #e3e9f1;border-radius:18px;background:#fff;padding:13px 15px;display:flex;align-items:center;gap:11px;text-align:left;color:#183765;cursor:pointer;box-shadow:0 7px 18px rgba(30,55,88,.045)}.v1318-guide>span{font-size:24px}.v1318-guide>div{min-width:0;flex:1}.v1318-guide strong{display:block;font-size:12px;font-weight:1000}.v1318-guide small{display:block;margin-top:2px;color:#7b889a;font-size:8px;font-weight:800}.v1318-guide>b{font-size:22px;color:#7890aa;font-weight:500}
.v1318-note{margin-top:10px;padding:10px 12px;border-radius:14px;background:#f1f5fa;color:#75859a;font-size:8.5px;line-height:1.55;font-weight:800}
.v1318-phone-note{margin:4px 0 12px;padding:14px 15px;border:1px solid #dce5f0;border-radius:18px;background:#fff;display:flex;align-items:flex-start;gap:11px}.v1318-phone-note>span{font-size:27px}.v1318-phone-note strong{display:block;font-size:13px;color:#183765}.v1318-phone-note p{margin:3px 0 0;color:#78869a;font-size:10px;line-height:1.5;font-weight:700}
.v1318-mini-hub-active .v1244-access-banner{margin:0 0 12px;border-radius:16px;background:#eef8f2;border-color:#d7eadf;color:#315b43;box-shadow:none}.v1318-mini-hub-active .v1244-access-banner.lock{background:#fff2f0;border-color:#f1d7d2}.v1318-mini-hub-active .v1244-access-banner small{color:#718078}
.v1318-runtime{min-height:100dvh;background:#f7f9fc}.v1318-runtime-main{width:min(760px,100%);margin:0 auto;padding:18px;box-sizing:border-box}
@media(max-width:420px){.v1318-head{padding:17px 12px 6px}.v1318-main{padding:9px 11px 25px}.v1318-game-grid{gap:8px!important}.v1318-game-card{min-height:223px;border-radius:21px}.v1318-game-art{height:118px}.v1318-phone-icon{left:15px;top:27px;font-size:44px}.v1318-keyboard{right:14px;top:54px;font-size:35px}.v1318-map-icon{left:13px;top:27px;font-size:49px}.v1318-chest-icon{right:13px;top:58px;font-size:35px}.v1318-game-copy{padding:15px 13px 17px}.v1318-game-copy strong{font-size:18px}.v1318-game-copy p{font-size:7.5px;margin-right:18px}.v1318-game-card>b{right:11px;bottom:14px}.v1318-title h1{font-size:24px}}
html[data-ayukone-mode="dark"] .v1318-mini-hub-active,html[data-ayukone-mode="dark"] .v1318-page{background:#12171e;color:#e7ecef}html[data-ayukone-mode="dark"] .v1318-title h1,html[data-ayukone-mode="dark"] .v1318-game-copy strong,html[data-ayukone-mode="dark"] .v1318-guide,html[data-ayukone-mode="dark"] .v1318-phone-note strong{color:#edf1f4}html[data-ayukone-mode="dark"] .v1318-title span,html[data-ayukone-mode="dark"] .v1318-title p,html[data-ayukone-mode="dark"] .v1318-game-copy small,html[data-ayukone-mode="dark"] .v1318-game-copy p,html[data-ayukone-mode="dark"] .v1318-guide small,html[data-ayukone-mode="dark"] .v1318-note,html[data-ayukone-mode="dark"] .v1318-phone-note p{color:#aeb8c4}html[data-ayukone-mode="dark"] .v1318-game-card.typing{background:linear-gradient(145deg,#17303b,#202932 62%,#242a31)}html[data-ayukone-mode="dark"] .v1318-game-card.quest{background:linear-gradient(145deg,#28213d,#262933 62%,#242a31)}html[data-ayukone-mode="dark"] .v1318-guide,html[data-ayukone-mode="dark"] .v1318-phone-note{background:#20262d;border-color:#343c46}html[data-ayukone-mode="dark"] .v1318-note{background:#1c2229;color:#aeb8c4}html[data-ayukone-mode="dark"] .v1318-runtime{background:#12171e}html[data-ayukone-mode="dark"] .v1318-mini-hub-active .v1244-access-banner{background:#1d3026;border-color:#304b3a;color:#d9e8de}html[data-ayukone-mode="dark"] .v1318-mini-hub-active .v1244-access-banner.lock{background:#382321;border-color:#5b3632;color:#f1d9d6}

/* ===== v1.3.19 home project month selector ===== */
.v1319-project-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v1319-month-picker{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 10px;border:1px solid rgba(199,111,37,.18);border-radius:12px;background:rgba(255,255,255,.62);box-shadow:0 3px 10px rgba(115,73,31,.04)}
.v1319-month-picker>span{font-size:8px;font-weight:900;color:#9a704c;white-space:nowrap}
.v1319-month-picker input{width:112px;min-width:0;border:0;background:transparent;color:#704c33;font-size:11px;font-weight:1000;outline:0;padding:2px 0;cursor:pointer}
.v1250-project-card.v1319-loading .v1250-project-metrics,.v1250-project-card.v1319-loading .v1250-project-buttons{opacity:.38;pointer-events:none;transition:opacity .15s ease}
body.v1311-dark .v1319-month-picker{background:#283039;border-color:#414b55;box-shadow:none}
body.v1311-dark .v1319-month-picker>span{color:#aeb8c2}
body.v1311-dark .v1319-month-picker input{color:#eef2f5;color-scheme:dark}
@media(max-width:420px){
  .v1319-project-head{align-items:center}
  .v1319-month-picker{gap:4px;padding:4px 6px 4px 8px;border-radius:10px}
  .v1319-month-picker>span{display:none}
  .v1319-month-picker input{width:104px;font-size:10px}
}


/* ===== v1.3.20 reminder push registration guard ===== */
.v1320-reminder-push-note{margin:6px 1px 2px;padding:7px 9px;border-radius:10px;background:#f5f9ff;border:1px solid #dce9f5;color:#6b7f91;font-size:8px;font-weight:750;line-height:1.45}
html[data-ayukone-mode="dark"] .v1320-reminder-push-note{background:#27313a;border-color:#3a4650;color:#c8d1d8}

/* v1.3.22 approved attendance corrections become the canonical displayed punch */
.v1322-adjusted-pill{display:inline-flex!important;align-items:center;margin:0 0 0 5px!important;padding:2px 6px;border-radius:999px;background:#eaf2ff;color:#1d4ed8;font-size:9px!important;font-style:normal;font-weight:900;vertical-align:1px}
.v1322-today-correction{margin-top:7px;font-size:11px;color:#57705d;font-weight:800;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.v1322-today-correction b{color:#214f2c;font-size:12px}.v1322-today-correction span{background:#eaf2ff;color:#1d4ed8;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900}
body.v1311-dark .v1322-today-correction{color:#bfc8c1}body.v1311-dark .v1322-today-correction b{color:#e7ecef}body.v1311-dark .v1322-adjusted-pill,body.v1311-dark .v1322-today-correction span{background:#233653;color:#bfd3ff}
