:root{--primary-50:#f1f5f9;--primary-100:#e2e8f0;--primary-200:#c5d2e0;--primary-500:#2c5282;--primary-600:#1f4e79;--primary-700:#13345c;--n-0:#fff;--n-50:#fafaf9;--n-100:#f5f5f4;--n-200:#e7e5e4;--n-300:#d6d3d1;--n-500:#68625c;--n-600:#57534e;--n-700:#44403c;--n-800:#292524;--n-900:#1c1917;--canvas:#eef2f8;--warning-50:#fef7ed;--warning-100:#fdedd3;--warning-700:#92400e;--error-50:#fef2f2;--error-100:#fee2e2;--error-600:#991b1b;--success-50:#f7f9ec;--success-100:#ebf1d1;--success-700:#485f1a;--font-sans:"Inter Tight", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--n-800);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}a{color:var(--primary-500);text-decoration:none}a:hover{color:var(--primary-600);text-decoration:underline}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}h1{color:var(--n-900);margin:0;font-size:20px;font-weight:600}h2{color:var(--n-900);margin:0;font-size:15px;font-weight:600}p{margin:0}.mono{font-family:var(--font-mono);font-size:12.5px}.skip-link{position:absolute;top:0;left:-9999px}.skip-link:focus{z-index:20;background:var(--n-0);border:1px solid var(--primary-500);border-radius:6px;padding:6px 10px;top:8px;left:8px}.header{background:var(--n-0);border-bottom:1px solid var(--n-300);z-index:10;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px 24px;max-width:1080px;min-height:52px;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--primary-700);white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.brand img{width:auto;height:25px;display:block}.who{color:var(--n-600);align-items:center;gap:12px;min-width:0;font-size:13px;display:flex}.who-contract{color:var(--n-800);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600;overflow:hidden}.who-name{white-space:nowrap}.main{max-width:1080px;margin:0 auto;padding:20px 24px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.page-head .sub{color:var(--n-600);font-size:13px}.card{background:var(--n-0);border:1px solid var(--n-300);border-radius:8px;padding:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.card p{color:var(--n-700)}.card-title{margin-bottom:8px;font-size:17px}.card-actions{margin-top:12px}.chip{white-space:nowrap;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:600;line-height:1.7;display:inline-block}.chip.muted{background:var(--n-100);color:var(--n-600)}.chip.info{background:var(--primary-100);color:var(--primary-700)}.chip.ok{background:var(--success-100);color:var(--success-700)}.chip.warn{background:var(--warning-100);color:var(--warning-700)}.t-muted{color:var(--n-500)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:16px;display:grid}.empty{color:var(--n-500);padding:12px 0 4px}.table-wrap{margin-top:12px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th,.table td{text-align:left;border-bottom:1px solid var(--n-200);vertical-align:top;white-space:nowrap;padding:8px 10px}.table th{color:var(--n-600);background:var(--n-50);font-size:12.5px;font-weight:600}.table td.td-note{white-space:normal;min-width:200px;color:var(--n-700)}.table td.td-actions{text-align:right}.table td.td-actions form{display:inline}.form{gap:12px;margin-top:12px;display:grid}.field{gap:4px;display:grid}.field label{color:var(--n-800);font-size:13px;font-weight:600}.field input,.field textarea{font:inherit;border:1px solid var(--n-300);background:var(--n-0);color:var(--n-900);border-radius:6px;width:100%;padding:7px 10px}.field textarea{resize:vertical;min-height:72px}.field input:focus,.field textarea:focus{border-color:var(--primary-500);outline:2px solid var(--primary-100)}.field .help{color:var(--n-500);font-size:12.5px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;display:flex}.btn.small{min-height:28px;padding:3px 10px;font-size:12.5px}.notice.ok{border-left-color:var(--success-700);background:var(--success-50)}.search{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.search input[type=search]{font:inherit;border:1px solid var(--n-300);background:var(--n-0);color:var(--n-900);border-radius:6px;flex:220px;max-width:420px;min-height:34px;padding:6px 10px}.search input[type=search]:focus{border-color:var(--primary-500);outline:2px solid var(--primary-100)}.doc-title{color:var(--n-900);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:inline-flex}.doc-desc{margin-top:2px;font-size:12.5px}.table td.doc-actions{white-space:nowrap}.table td.doc-actions a+a{margin-left:6px}.btn{font:inherit;border:1px solid var(--primary-500);background:var(--primary-500);color:var(--n-0);cursor:pointer;border-radius:6px;align-items:center;min-height:34px;padding:6px 14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--primary-600);color:var(--n-0);text-decoration:none}.btn.ghost{background:var(--n-0);color:var(--primary-600);border-color:var(--n-300)}.btn.ghost:hover{background:var(--primary-50)}.notice{border:1px solid var(--n-300);background:var(--n-0);text-align:left;border-left-width:4px;border-radius:6px;margin-bottom:12px;padding:10px 14px}.notice.warn{border-left-color:var(--warning-700);background:var(--warning-50)}.notice.bad{border-left-color:var(--error-600);background:var(--error-50)}.center{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:24px 0;display:flex}.center .card.welcome{text-align:center;width:100%;max-width:460px;padding:32px 28px}.welcome img{width:auto;height:50px;margin:0 auto 20px;display:block}.welcome p{color:var(--n-700)}@media (max-width:720px){.header-inner{flex-wrap:wrap;gap:8px 12px;padding:8px 16px}.who{flex-wrap:wrap;flex:1 0 100%;justify-content:space-between;gap:8px}.who-contract{max-width:100%}.main{padding:16px 16px 40px}.center .card.welcome{padding:24px 16px}.field-row{grid-template-columns:1fr}}
