:root{color-scheme:dark;--bg:#0b1220;--panel:#111a2b;--border:#293750;--text:#e7edf6;--muted:#93a4bd;--blue:#3b82f6;--danger:#dc2626}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 30%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI","Noto Sans JP",sans-serif}
button,input,select,textarea{font:inherit}.shell{width:min(1540px,calc(100% - 40px));margin:auto;padding:38px 0 64px}
.header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 6px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2{margin:0}.description,.muted{color:var(--muted)}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.summary article,.card{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent),var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 44px rgba(0,0,0,.16)}.summary article{padding:18px 20px}.summary span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.summary strong{font-size:28px}
.filters{display:grid;grid-template-columns:1fr 220px;gap:12px;padding:16px;margin-bottom:18px}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;color:var(--text);background:#0d1626;border:1px solid #31425f;border-radius:11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.14)}
.table-card{overflow:hidden}.table-scroll{overflow:auto}table{width:100%;min-width:1480px;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;font-size:13px}th{background:#121d30;color:#c9d5e6}td.notes{min-width:220px;max-width:320px;white-space:normal}.empty{padding:38px;text-align:center;color:var(--muted)}
.button{border:0;border-radius:10px;padding:10px 15px;min-height:42px;color:white;font-weight:700;cursor:pointer}.primary{background:var(--blue)}.secondary{background:#233047}.danger{background:var(--danger)}.small-button{padding:6px 10px;min-height:34px;font-size:12px}.row-actions{display:flex;gap:8px}
.badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.active{color:#86efac;background:rgba(34,197,94,.14)}.internal{color:#93c5fd;background:rgba(59,130,246,.14)}.planned,.ending{color:#fcd34d;background:rgba(245,158,11,.14)}.ended{color:#cbd5e1;background:rgba(148,163,184,.14)}
.message{padding:12px 14px;border-radius:10px;background:rgba(220,38,38,.15);color:#fecaca;border:1px solid rgba(220,38,38,.4)}
.modal{position:fixed;inset:0;display:none;place-items:center;z-index:50}.modal.open{display:grid}.backdrop{position:absolute;inset:0;background:rgba(2,6,23,.8);backdrop-filter:blur(4px)}.panel{position:relative;width:min(900px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.45)}.panel.small{width:min(520px,calc(100% - 32px))}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.icon{width:38px;height:38px;border:0;border-radius:10px;background:#223149;color:white;font-size:24px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}label{font-size:13px;font-weight:700}label input,label select,label textarea{margin-top:7px}.wide{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:780px){.shell{width:calc(100% - 24px);padding-top:24px}.header{align-items:stretch;flex-direction:column}.summary,.filters,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}
