@font-face{font-family:DMSans;font-weight:400;font-display:swap;src:url(/fonts/DMSans-Regular.ttf)format("truetype")}@font-face{font-family:DMSans;font-weight:500;font-display:swap;src:url(/fonts/DMSans-Medium.ttf)format("truetype")}@font-face{font-family:DMSans;font-weight:700;font-display:swap;src:url(/fonts/DMSans-Bold.ttf)format("truetype")}@font-face{font-family:NotoSansJP;font-weight:400;font-display:swap;src:url(/fonts/NotoSansJP-Regular.ttf)format("truetype");unicode-range:U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:NotoSansJP;font-weight:700;font-display:swap;src:url(/fonts/NotoSansJP-Bold.ttf)format("truetype");unicode-range:U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}:root{--green-1:#009844;--green-2:#6fb92c;--green-3:#c3d600;--green-1-dark:#007a37;--green-tint:#eef6f1;--text:#000;--muted:#4a4a4a;--border:#e0e0e0;--bg:#f6f7f6;--surface:#fff;--error:#c62828;--error-bg:#fdecec;--warn-bg:#f7fadf;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:DMSans,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic,Meiryo,NotoSansJP,Helvetica,Arial,sans-serif}body{background:var(--bg);margin:0}h1{color:var(--green-1);margin:0 0 4px;font-size:26px;font-weight:700}.muted{color:var(--muted)}.error{color:var(--error)}code{background:#0000000f;border-radius:4px;padding:1px 5px;font-size:.92em}button,select,input{font:inherit}button{border:1px solid var(--green-1);background:var(--green-1);color:#fff;cursor:pointer;border-radius:6px;padding:8px 16px;font-weight:500}button:hover:not(:disabled){background:var(--green-1-dark);border-color:var(--green-1-dark)}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--surface);color:var(--green-1)}button.secondary:hover:not(:disabled){background:var(--green-tint);color:var(--green-1-dark)}button.link{color:var(--green-1);background:0 0;border:none;padding:2px 4px;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.link:disabled{color:var(--text);opacity:1;font-weight:700}select,input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:7px 10px}select:focus,input:focus,button:focus-visible{outline:2px solid var(--green-2);outline-offset:1px}.center{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;padding:16px;display:flex}.signin h1{margin:0}.signin button{margin-top:12px}.logo{align-items:center;gap:.32em;line-height:1;display:inline-flex}.logo img{width:auto;height:100%;display:block}.logo span{color:var(--green-1);letter-spacing:-.01em;font-weight:700}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.page-header p{margin:0}.actions{flex-wrap:wrap;gap:8px;display:flex}.banner{background:var(--warn-bg);border:1px solid var(--green-3);border-radius:6px;margin-bottom:16px;padding:10px 14px}.banner.error{background:var(--error-bg);border-color:var(--error);color:var(--error)}.lang-switch{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.lang-switch button{background:var(--surface);color:var(--text);border:none;border-radius:0;padding:4px 12px;font-size:13px;font-weight:500}.lang-switch button+button{border-left:1px solid var(--border)}.lang-switch button.on{background:var(--green-tint);color:var(--green-1)}.lang-switch button:hover:not(.on){background:var(--bg)}.signin .lang-switch{margin-top:20px}a.button{border:1px solid var(--green-1);background:var(--green-1);color:#fff;border-radius:6px;align-items:center;padding:8px 16px;font-weight:500;text-decoration:none;display:inline-flex}a.button.secondary{background:var(--surface);color:var(--green-1)}a.button.secondary:hover{background:var(--green-tint)}.no-access{max-width:560px}.shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:240px;height:100vh;transition:width .18s;display:flex;overflow:hidden}.brand{box-sizing:border-box;flex-shrink:0;align-items:center;height:64px;padding:0 20px;display:flex}.sidebar nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex;overflow-y:auto}.sidebar nav a{color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:12px;padding:9px 12px;font-weight:500;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:var(--green-tint);color:var(--green-1)}.sidebar nav a svg{flex-shrink:0}.nav-section{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin:16px 12px 6px;font-size:11px;font-weight:700}.sidebar .collapse{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;margin:8px 12px 14px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.sidebar .collapse:hover:not(:disabled){background:var(--bg);color:var(--green-1)}.when-full{display:contents}.when-compact{display:none}.main{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex}.content{box-sizing:border-box;flex:1;min-height:0;padding:24px 32px 28px;overflow:auto}.topbar{box-sizing:border-box;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:64px;padding:0 24px 0 16px;display:flex}.topbar .menu,.topbar-logo{display:none}.topbar .menu{color:var(--text);background:0 0;border:none;padding:4px 8px;font-size:20px}.user-menu{margin-left:auto;position:relative}.user-button{color:var(--text);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;font-weight:500;display:flex}.user-button:hover:not(:disabled),.user-button[aria-expanded=true]{background:var(--bg);border-color:var(--border)}.avatar{background:var(--green-1);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-grid}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.user-popover{z-index:40;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:14px;width:280px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 28px #0000001f}.user-id{flex-direction:column;min-width:0;display:flex}.user-id span{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-row{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.backdrop{display:none}.tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;display:flex}.tile:hover{border-color:var(--green-1);box-shadow:0 2px 10px #0098441f}.tile-icon{background:var(--green-tint);width:40px;height:40px;color:var(--green-1);border-radius:8px;place-items:center;margin-bottom:4px;display:inline-grid}@media (width>=641px){.collapsed .sidebar{width:64px}.collapsed .when-full{display:none}.collapsed .when-compact{display:contents}.collapsed .brand{justify-content:center;padding:0}.collapsed .sidebar nav{padding:8px 10px}.collapsed .sidebar nav a{justify-content:center;padding:10px 0}.collapsed .sidebar nav a span,.collapsed .sidebar .collapse span{display:none}.collapsed .nav-section{border-top:1px solid var(--border);margin:12px 8px;font-size:0}.collapsed .sidebar .collapse{justify-content:center;margin:8px 10px 14px;padding:8px 0}}@media (width<=640px){.sidebar{z-index:30;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.nav-open .sidebar{transform:none}.nav-open .backdrop{z-index:20;background:#0000004d;display:block;position:fixed;inset:0}.sidebar .collapse{display:none}.topbar{height:56px;padding:0 12px}.topbar .menu,.topbar-logo{display:inline-flex}.user-name{display:none}.user-button{padding:2px}.content{padding:20px 16px}}
