:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#172033;background:#f5f7fb;line-height:1.55;--nav:#14243b;--accent:#1677ff;--line:#dfe5ee}*{box-sizing:border-box}body{margin:0}a{color:#1266c5}.app-shell{min-height:100vh;padding-left:244px}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:244px;background:var(--nav);color:#fff;display:flex;flex-direction:column;box-shadow:3px 0 16px #0b172733}.brand{height:92px;padding:20px 22px;border-bottom:1px solid #ffffff17;display:grid;gap:2px}.brand span{font-size:.68rem;letter-spacing:.2em;color:#72b7ff}.brand strong{font-size:1.06rem}.sidebar nav{padding:16px 12px;display:grid;gap:5px}.sidebar nav a{color:#dbe6f5;text-decoration:none;padding:11px 12px;border-radius:8px;display:flex;align-items:center;gap:12px;font-weight:600}.sidebar nav a:hover{background:#ffffff13;color:#fff}.sidebar nav i{font-style:normal;width:27px;height:27px;display:grid;place-items:center;border-radius:7px;background:#ffffff14;font-size:.78rem}.logout{margin:auto 22px 22px;color:#c8d3e2;text-decoration:none}.content{max-width:1440px;margin:0 auto;padding:30px 38px 60px}.page-head{margin-bottom:22px}.page-head small{color:#778398}.page-head h1{font-size:1.65rem;margin:3px 0}.public-header{background:var(--nav);color:#fff;padding:18px 26px}.public-content{max-width:720px;margin:35px auto;padding:0 20px}h2{font-size:1.18rem;margin-top:28px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.card{background:#fff;border:1px solid #e7ebf1;border-radius:11px;padding:21px;text-decoration:none;box-shadow:0 3px 12px #1720330a;display:grid;gap:7px}.card strong{color:#1c2a3e;font-size:1.06rem}.card span{color:#667286;font-size:.91rem}form{max-width:980px;background:#fff;padding:23px;border:1px solid #e5eaf1;border-radius:10px;display:grid;gap:18px;box-shadow:0 2px 8px #17203308}.form-grid,.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px 20px}label{display:grid;gap:6px;font-weight:600;font-size:.91rem}input,select,textarea{width:100%;font:inherit;padding:9px 11px;border:1px solid #bfc9d6;border-radius:6px;background:#fff;color:#172033}input:focus,select:focus,textarea:focus{outline:2px solid #bddcff;border-color:#5da5fa}input[type=checkbox]{width:19px;height:19px}.check{display:flex;align-items:center;gap:9px}textarea{min-height:90px}button,.button{width:max-content;border:0;border-radius:6px;background:var(--accent);color:#fff;padding:10px 18px;text-decoration:none;cursor:pointer;font-weight:650}button.secondary,.button.secondary{background:#e8f2ff;color:#1266c5}button:disabled{background:#aab4c1;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid #e7ebf1;text-align:left;white-space:nowrap}th{background:#f0f4f9;color:#435169;font-size:.83rem}tbody tr:hover{background:#f8fbff}td input,td select{min-width:130px}.small{min-width:72px!important;width:72px}.error{background:#fee8e8;color:#991b1b;padding:12px;border-radius:6px}.filter{padding:15px;margin-bottom:16px;max-width:420px}.help{color:#677487;background:#f2f6fb;padding:10px 13px;border-radius:6px;font-size:.9rem}fieldset{border:1px solid #cdd6e2;border-radius:7px;padding:16px;display:grid;gap:12px}legend{padding:0 7px;font-weight:700}@media(max-width:820px){.app-shell{padding-left:0;padding-top:67px}.sidebar{inset:0 0 auto;width:auto;height:67px;display:block;overflow-x:auto;white-space:nowrap}.brand{height:67px;width:185px;padding:12px 16px;display:inline-grid;vertical-align:top}.sidebar nav{display:inline-flex;padding:8px;gap:3px}.sidebar nav a{padding:8px 10px;display:inline-flex}.sidebar nav i{display:none}.logout{display:none}.content{padding:22px 16px 45px}.form-grid,.mapping-grid{grid-template-columns:1fr}}@media(max-width:520px){.brand{width:145px}.brand strong{font-size:.9rem}.brand span{font-size:.58rem}.sidebar nav a{font-size:.84rem}.content{padding-top:18px}th,td{padding:9px}.cards{grid-template-columns:1fr}}
