/* STARTERS CONNECT 業務アプリ 共通デザイン（5アプリ共通） */
:root{--ink:#23303a;--muted:#5a6772;--bg:#f8f7f6;--card:#fff;--line:#e6dfd9;--brand:#1e3147;--brand-d:#283993;--brand-l:#e8edf7;--rose:#a8374c;--rose-l:#fcebee;--warn-l:#fff6df;--warn:#7a5600;--ok-l:#e4f4e8;--ok:#1d5b2b;--bad-l:#fdecea;--bad:#8a2218;--radius:14px;
 font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}[hidden]{display:none!important}
header.app-header{background:linear-gradient(90deg,#1e3147 0%,#283993 100%);color:#fff;padding:10px 16px 8px}
header.app-header .top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;max-width:920px;margin:auto}
header.app-header a{color:#fff;text-decoration:none;font-weight:700}
header.app-header .back{display:inline-flex;align-items:center;min-height:44px}
header.app-header .brand{font-size:.72rem;letter-spacing:.14em;opacity:.9}
.appnav{display:flex;gap:6px;flex-wrap:wrap;max-width:920px;margin:2px auto 0;padding:0;list-style:none}
.appnav a{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border-radius:20px;background:#ffffff26;font-size:.86rem}
.appnav a[aria-current=page]{background:#fff;color:var(--brand-d)}
main{max-width:920px;margin:auto;padding:18px 14px 80px}
h1{margin:4px 0 6px;font-size:1.6rem;line-height:1.3}h2{font-size:1.12rem;margin:0 0 12px}h3{font-size:1rem}
.sub{color:var(--muted);margin:0 0 10px}.muted{font-size:.84rem;color:var(--muted)}
.note{padding:12px 14px;background:var(--brand-l);border-radius:10px;color:#1e3147;font-size:.88rem;margin:12px 0;line-height:1.7}
.note:empty{display:none}.note.bad,.bad{background:var(--bad-l);color:var(--bad)}.note.warn{background:var(--warn-l);color:var(--warn)}.note.ok{background:var(--ok-l);color:var(--ok)}
details.guide,details.fold{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:0 16px}
details.guide{border-color:#c4cde6;background:#f3f6fc}
details summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
details .body{padding:0 0 14px;font-size:.92rem}details ol{margin:6px 0 0;padding-left:1.3em}details li{margin:5px 0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:12px 0;box-shadow:0 6px 18px #5a3a2a0a}
label{display:block;font-size:.88rem;font-weight:700}
input,select,textarea{display:block;width:100%;font:inherit;font-size:16px;color:var(--ink);border:1px solid #b8aea6;border-radius:10px;padding:11px 12px;margin-top:5px;background:#fff;min-height:46px}
textarea{min-height:88px;resize:vertical}
button,.btn{border:0;border-radius:10px;padding:11px 18px;background:var(--brand);color:#fff;font:inherit;font-weight:700;cursor:pointer;min-height:46px}
button:hover{background:var(--brand-d)}
button.secondary{background:#ece6e1;color:#2f3a42}button.secondary:hover{background:#e0d8d2}
button.danger{background:var(--rose-l);color:var(--rose)}button.danger:hover{background:#f8d9df}
button:disabled,button[aria-disabled=true]{background:#d9d4d0;color:#6c6c6c;cursor:not-allowed}
.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:14px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form .wide{grid-column:1/-1}
.toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.toolbar>label{flex:1;min-width:180px}
.list{list-style:none;margin:0;padding:0}.list li{border-bottom:1px solid #eee7e1}.list li:last-child{border:0}
.list button.item{width:100%;text-align:left;background:none;color:inherit;font-weight:400;padding:13px 6px;border-radius:8px;display:block}
.list button.item:hover{background:#f6f1ed}.list .nm{font-weight:700;font-size:1.04rem}.list .meta{font-size:.84rem;color:var(--muted);margin-top:3px}
.last{background:var(--warn-l);border:1px solid #efd9a0;border-radius:12px;padding:14px;margin:12px 0}.last h3{margin:0 0 6px}
.caution{background:var(--rose-l);border:1px solid #f1c2cb;border-radius:12px;padding:12px 14px;margin:12px 0;color:#6b1c2b}
dl{margin:0;display:grid;grid-template-columns:7em 1fr;gap:8px 10px;font-size:.94rem}dt{color:var(--muted);font-weight:700}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.visit{border:1px solid var(--line);border-radius:12px;padding:13px;margin:10px 0}.visit .hd{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:700}
.visit p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.93rem}
.empty{color:var(--muted);padding:12px 0}
.badge{display:inline-block;font-size:.76rem;font-weight:700;padding:3px 10px;border-radius:20px;margin-right:6px}
.b-before{background:var(--brand-l);color:#1e3147}.b-due{background:#fff3cd;color:var(--warn)}.b-over{background:var(--bad-l);color:var(--bad)}.b-done{background:var(--ok-l);color:var(--ok)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.chips button{min-height:44px;padding:8px 14px}
.chips button[aria-pressed=true]{background:var(--brand);color:#fff}
.err{color:var(--bad);font-size:.85rem;margin-top:5px;display:block}
.out{min-height:200px}.count{text-align:right}
.check{display:flex;gap:10px;align-items:flex-start;min-height:44px}.check input{width:24px;height:24px;min-height:0;margin:2px 0 0;flex:none}.check label{font-weight:400}
fieldset{border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:10px 14px}legend{font-weight:700;font-size:.88rem;padding:0 6px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat small{display:block;color:var(--muted);font-size:.8rem}.stat b{font-size:1.4rem;display:block;overflow-wrap:anywhere}
.stat.hero{background:var(--brand);color:#fff;border-color:var(--brand)}.stat.hero small{color:#d3dcf2}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#23303a;color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;z-index:50;max-width:92vw;box-shadow:0 8px 24px #0004}
.toast.bad{background:var(--bad);color:#fff}
.rec{background:#b3261e;color:#fff;border-radius:10px;padding:12px 16px;font-weight:700;margin:12px 0}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{border-bottom:1px solid #eee7e1;text-align:left;padding:10px 6px;vertical-align:top}.num{text-align:right;white-space:nowrap}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #609fff;outline-offset:2px}
@media(max-width:560px){main{padding:14px 12px 80px}.form{grid-template-columns:1fr}dl{grid-template-columns:1fr;gap:2px}dt{margin-top:8px}.actions>button{flex:1 1 auto}h1{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
