:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;font-size:14px;line-height:1.5;color:#1f2937;background-color:#f3f4f6}*{box-sizing:border-box}body{margin:0;min-height:100vh}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}th,td{padding:6px 10px;border:1px solid #e5e7eb;text-align:left}th{background-color:#f9fafb;font-weight:600}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:18px;color:#6b7280}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background-color:#1f2937;color:#f9fafb;padding:16px;display:flex;flex-direction:column}.sidebar h1{font-size:16px;margin:0 0 24px}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar nav a{color:#d1d5db;text-decoration:none;padding:8px 12px;border-radius:6px}.sidebar nav a:hover,.sidebar nav a.active{background-color:#374151;color:#fff}.sidebar .userbox{margin-top:auto;font-size:12px;color:#9ca3af;border-top:1px solid #374151;padding-top:12px}.sidebar .userbox button{background:transparent;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;padding:4px 10px;margin-top:8px;width:100%}.main-content{flex:1;padding:24px;overflow-x:auto}.card{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:16px}.btn{padding:6px 14px;border-radius:6px;border:1px solid transparent;font-size:14px}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:#fff;color:#1f2937;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background-color:#b91c1c}input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;outline:none;background-color:#fff}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f3f4f6}.auth-card{background-color:#fff;padding:32px;border-radius:8px;width:360px;box-shadow:0 4px 12px #00000014}.auth-card h1{font-size:18px;margin:0 0 24px;text-align:center}.auth-card label{display:block;font-size:13px;margin-bottom:4px;color:#4b5563}.auth-card input{width:100%;margin-bottom:16px}.auth-card .btn{width:100%;padding:10px}.auth-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:8px;margin-bottom:12px;font-size:13px}.auth-link{text-align:center;margin-top:12px;font-size:13px}.tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.tab{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:14px}.tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:500}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.summary-tile{background-color:#f9fafb;padding:12px;border-radius:6px}.summary-tile .label{font-size:12px;color:#6b7280}.summary-tile .value{font-size:20px;font-weight:600;color:#1f2937}.toolbar{display:flex;gap:8px;margin-bottom:12px;align-items:center;flex-wrap:wrap}
